From 74c384ab116da4e4e2d0c42866185969cea72853 Mon Sep 17 00:00:00 2001 From: yuexin Date: Fri, 3 Nov 2023 19:18:09 +0800 Subject: [PATCH] NFTSbt.sol add batchMint method --- .gitignore | 5 +- build/contracts/NFTSbt.json | 19174 ++++++++++++++++----------- contracts/tokens/erc721/NFTSbt.sol | 24 + 3 files changed, 11211 insertions(+), 7992 deletions(-) diff --git a/.gitignore b/.gitignore index b4256b8..efa32f0 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,7 @@ node_modules contract_whole openzeppelin .key -.addr \ No newline at end of file +.addr +.selfaddr +.selfkey +.env \ No newline at end of file diff --git a/build/contracts/NFTSbt.json b/build/contracts/NFTSbt.json index 4689c84..2b8bf6f 100644 --- a/build/contracts/NFTSbt.json +++ b/build/contracts/NFTSbt.json @@ -352,6 +352,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "maxBatchSize", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "name", @@ -462,7 +475,7 @@ }, { "internalType": "bytes", - "name": "_data", + "name": "data", "type": "bytes" } ], @@ -616,12 +629,12 @@ { "inputs": [ { - "internalType": "string", - "name": "baseTokenURI", - "type": "string" + "internalType": "address", + "name": "metaAddress", + "type": "address" } ], - "name": "updateBaseURI", + "name": "updateMetaAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -645,6 +658,30 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "count", + "type": "uint256" + } + ], + "name": "batchMint", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -730,22 +767,30 @@ "type": "function" } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_supplyLimt\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"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\"},{\"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\":[],\"name\":\"BURN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"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\":\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"baseTokenURI\",\"type\":\"string\"}],\"name\":\"updateBaseURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"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`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeMintRole(address)\":{\"details\":\"Remove mint role to address\"},\"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.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setBurnRole(address)\":{\"details\":\"Grant burn role to address\"},\"setMintRole(address)\":{\"details\":\"Grant mint role to address\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"one type nft has same tokenURI\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"updateBaseURI(string)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/NFTSbt.sol\":\"NFTSbt\"},\"evmVersion\":\"london\",\"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/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x11b84bb56dc112a6590bfe3e0efa118aa1b5891132342200d04c4ef544cb93de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbc4803332d45dff58f865ed21c942fe4668e47cc7196c8dfe84102040b1d70f\",\"dweb:/ipfs/QmXhZLsocznRWCSyhjo3vo66Z1VsuuNptAVb6ASPYsWtGx\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xd5fa74b4fb323776fa4a8158800fec9d5ac0fec0d6dd046dd93798632ada265f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33017a30a99cc5411a9e376622c31fc4a55cfc6a335e2f57f00cbf24a817ff3f\",\"dweb:/ipfs/QmWNQtWTPhA7Lo8nbxbc8KFMvZwbFYB8fSeEQ3vuapSV4a\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0x0a79511df8151b10b0a0004d6a76ad956582d32824af4c0f4886bdbdfe5746e5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afbedcf17f31db719e6fdc56caa8f458799c5fa2eb94cb1e94ef18f89af85768\",\"dweb:/ipfs/QmVmqRdBfbgYThpZSoAJ5o9mnAMjx8mCHHjv3Rh8cQAAg3\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x2ccf9d2313a313d41a791505f2b5abfdc62191b5d4334f7f7a82691c088a1c87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a57d0854b2fdce6ebff933a48dca2445643d1eccfc27f00292e937f26c6a58\",\"dweb:/ipfs/QmW45rZooS9TqR4YXUbjRbtf2Bpb5ouSarBvfW1LdGprvV\"]},\"@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\"]},\"project:/contracts/tokens/erc721/NFTSbt.sol\":{\"keccak256\":\"0x0d497bf3a2889ecd93c952ce20f11f7da56e2191619316874b1ad17ceeef5f69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33712cf17460d25c05c2c6a545d14ec3add4af6de6f3ad65c8bdc0b90eb8e228\",\"dweb:/ipfs/QmWUpYzzeQX8P28FJ4UESCsrDdZ3pr3rVnyFW5LQkS8gMH\"]}},\"version\":1}", - "bytecode": "0x60a0604052604051806060016040528060278152602001620047fd60279139600b9080519060200190620000359291906200038e565b503480156200004357600080fd5b506040516200482438038062004824833981810160405281019062000069919062000616565b82828160019080519060200190620000839291906200038e565b5080600290805190602001906200009c9291906200038e565b5050508060808181525050620000dc7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b6200019360201b60201c565b620001117f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b6200019360201b60201c565b620001266000801b33620001f660201b60201c565b620001587f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620001f660201b60201c565b6200018a7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2233620001f660201b60201c565b50505062000715565b6000620001a6836200020c60201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200020882826200022b60201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b6200023d82826200031c60201b60201c565b6200031857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002bd6200038660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200039c90620006df565b90600052602060002090601f016020900481019282620003c057600085556200040c565b82601f10620003db57805160ff19168380011785556200040c565b828001600101855582156200040c579182015b828111156200040b578251825591602001919060010190620003ee565b5b5090506200041b91906200041f565b5090565b5b808211156200043a57600081600090555060010162000420565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620004a7826200045c565b810181811067ffffffffffffffff82111715620004c957620004c86200046d565b5b80604052505050565b6000620004de6200043e565b9050620004ec82826200049c565b919050565b600067ffffffffffffffff8211156200050f576200050e6200046d565b5b6200051a826200045c565b9050602081019050919050565b60005b83811015620005475780820151818401526020810190506200052a565b8381111562000557576000848401525b50505050565b6000620005746200056e84620004f1565b620004d2565b90508281526020810184848401111562000593576200059262000457565b5b620005a084828562000527565b509392505050565b600082601f830112620005c057620005bf62000452565b5b8151620005d28482602086016200055d565b91505092915050565b6000819050919050565b620005f081620005db565b8114620005fc57600080fd5b50565b6000815190506200061081620005e5565b92915050565b60008060006060848603121562000632576200063162000448565b5b600084015167ffffffffffffffff8111156200065357620006526200044d565b5b6200066186828701620005a8565b935050602084015167ffffffffffffffff8111156200068557620006846200044d565b5b6200069386828701620005a8565b9250506040620006a686828701620005ff565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006f857607f821691505b602082108114156200070f576200070e620006b0565b5b50919050565b6080516140be6200073f600039600081816108af01528181610da20152610dc901526140be6000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063530dd0791161010f578063a217fddf116100a2578063c87b56dd11610071578063c87b56dd146105c5578063d5391393146105f5578063d547741f14610613578063e985e9c51461062f576101f0565b8063a217fddf14610551578063a22cb4651461056f578063b88d4fde1461058b578063b930908f146105a7576101f0565b806391d14854116100de57806391d14854146104cb578063931688cb146104fb57806395d89b4114610517578063965f4c6014610535576101f0565b8063530dd0791461041f5780636352211e1461043b5780636a6278421461046b57806370a082311461049b576101f0565b8063248a9ca31161018757806336568abe1161015657806336568abe1461039b57806342842e0e146103b757806342966c68146103d35780634f6ccce7146103ef576101f0565b8063248a9ca3146103035780632f2ff15d146103335780632f745c591461034f578063327ba6151461037f576101f0565b806318160ddd116101c357806318160ddd1461028f57806319d1997a146102ad5780631cf4e3ee146102cb57806323b872dd146102e7576101f0565b806301ffc9a7146101f557806306fdde0314610225578063081812fc14610243578063095ea7b314610273575b600080fd5b61020f600480360381019061020a9190612b00565b61065f565b60405161021c9190612b48565b60405180910390f35b61022d610671565b60405161023a9190612bfc565b60405180910390f35b61025d60048036038101906102589190612c54565b610703565b60405161026a9190612cc2565b60405180910390f35b61028d60048036038101906102889190612d09565b610788565b005b6102976108a0565b6040516102a49190612d58565b60405180910390f35b6102b56108ad565b6040516102c29190612d58565b60405180910390f35b6102e560048036038101906102e09190612d73565b6108d1565b005b61030160048036038101906102fc9190612da0565b6108fe565b005b61031d60048036038101906103189190612e29565b61095e565b60405161032a9190612e65565b60405180910390f35b61034d60048036038101906103489190612e80565b61097d565b005b61036960048036038101906103649190612d09565b6109a6565b6040516103769190612d58565b60405180910390f35b61039960048036038101906103949190612d73565b610a4b565b005b6103b560048036038101906103b09190612e80565b610a78565b005b6103d160048036038101906103cc9190612da0565b610afb565b005b6103ed60048036038101906103e89190612c54565b610b1b565b005b61040960048036038101906104049190612c54565b610baa565b6040516104169190612d58565b60405180910390f35b61043960048036038101906104349190612d73565b610c1b565b005b61045560048036038101906104509190612c54565b610c48565b6040516104629190612cc2565b60405180910390f35b61048560048036038101906104809190612d73565b610cfa565b6040516104929190612d58565b60405180910390f35b6104b560048036038101906104b09190612d73565b610e6a565b6040516104c29190612d58565b60405180910390f35b6104e560048036038101906104e09190612e80565b610f22565b6040516104f29190612b48565b60405180910390f35b61051560048036038101906105109190612f25565b610f8c565b005b61051f610fb8565b60405161052c9190612bfc565b60405180910390f35b61054f600480360381019061054a9190612d73565b61104a565b005b610559611077565b6040516105669190612e65565b60405180910390f35b61058960048036038101906105849190612f9e565b61107e565b005b6105a560048036038101906105a0919061310e565b611094565b005b6105af6110f6565b6040516105bc9190612e65565b60405180910390f35b6105df60048036038101906105da9190612c54565b61111a565b6040516105ec9190612bfc565b60405180910390f35b6105fd611150565b60405161060a9190612e65565b60405180910390f35b61062d60048036038101906106289190612e80565b611174565b005b61064960048036038101906106449190613191565b61119d565b6040516106569190612b48565b60405180910390f35b600061066a82611231565b9050919050565b60606001805461068090613200565b80601f01602080910402602001604051908101604052809291908181526020018280546106ac90613200565b80156106f95780601f106106ce576101008083540402835291602001916106f9565b820191906000526020600020905b8154815290600101906020018083116106dc57829003601f168201915b5050505050905090565b600061070e826112ab565b61074d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610744906132a4565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061079382610c48565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fb90613336565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610823611317565b73ffffffffffffffffffffffffffffffffffffffff16148061085257506108518161084c611317565b61119d565b5b610891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610888906133c8565b60405180910390fd5b61089b838361131f565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6108fb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682611174565b50565b61090f610909611317565b826113d8565b61094e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109459061345a565b60405180910390fd5b6109598383836114b6565b505050565b6000806000838152602001908152602001600020600101549050919050565b6109868261095e565b61099781610992611317565b61171d565b6109a183836117ba565b505050565b60006109b183610e6a565b82106109f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e9906134ec565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a757fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa228261097d565b50565b610a80611317565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae49061357e565b60405180910390fd5b610af7828261189a565b5050565b610b1683838360405180602001604052806000815250611094565b505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22610b4d81610b48611317565b61171d565b610b5e610b58611317565b836113d8565b610b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b94906135ea565b60405180910390fd5b610ba68261197b565b5050565b6000610bb46108a0565b8210610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec9061367c565b60405180910390fd5b60098281548110610c0957610c0861369c565b5b90600052602060002001549050919050565b610c457f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261097d565b50565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce89061373d565b60405180910390fd5b80915050919050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d2e81610d29611317565b61171d565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d95906137a9565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610e3e577f00000000000000000000000000000000000000000000000000000000000000006001610df26108a0565b610dfc91906137f8565b1115610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e349061389a565b60405180910390fd5b5b610e48600c611a98565b6000610e54600c611aae565b9050610e608482611abc565b8092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed29061392c565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b610fa181610f9c611317565b61171d565b8282600b9190610fb29291906129f1565b50505050565b606060028054610fc790613200565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff390613200565b80156110405780601f1061101557610100808354040283529160200191611040565b820191906000526020600020905b81548152906001019060200180831161102357829003601f168201915b5050505050905090565b6110747fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282611174565b50565b6000801b81565b611090611089611317565b8383611ada565b5050565b6110a561109f611317565b836113d8565b6110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110db9061345a565b60405180910390fd5b6110f084848484611c47565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606000611126611ca3565b905060008151116111465760405180602001604052806000815250611148565b805b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61117d8261095e565b61118e81611189611317565b61171d565b611198838361189a565b505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112a457506112a382611d35565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661139283610c48565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006113e3826112ab565b611422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611419906139be565b60405180910390fd5b600061142d83610c48565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061149c57508373ffffffffffffffffffffffffffffffffffffffff1661148484610703565b73ffffffffffffffffffffffffffffffffffffffff16145b806114ad57506114ac818561119d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166114d682610c48565b73ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613a50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390613ae2565b60405180910390fd5b6115a7838383611e17565b6115b260008261131f565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116029190613b02565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461165991906137f8565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611718838383611ecd565b505050565b6117278282610f22565b6117b65761174c8173ffffffffffffffffffffffffffffffffffffffff166014611ed2565b61175a8360001c6020611ed2565b60405160200161176b929190613c0a565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ad9190612bfc565b60405180910390fd5b5050565b6117c48282610f22565b61189657600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061183b611317565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6118a48282610f22565b1561197757600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061191c611317565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061198682610c48565b905061199481600084611e17565b61199f60008361131f565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ef9190613b02565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a9481600084611ecd565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b611ad682826040518060200160405280600081525061210e565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4090613c90565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c3a9190612b48565b60405180910390a3505050565b611c528484846114b6565b611c5e84848484612169565b611c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9490613d22565b60405180910390fd5b50505050565b6060600b8054611cb290613200565b80601f0160208091040260200160405190810160405280929190818152602001828054611cde90613200565b8015611d2b5780601f10611d0057610100808354040283529160200191611d2b565b820191906000526020600020905b815481529060010190602001808311611d0e57829003601f168201915b5050505050905090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611e0057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611e105750611e0f826122f1565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611e7e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611ebd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb490613d8e565b60405180910390fd5b611ec883838361236b565b505050565b505050565b606060006002836002611ee59190613dae565b611eef91906137f8565b67ffffffffffffffff811115611f0857611f07612fe3565b5b6040519080825280601f01601f191660200182016040528015611f3a5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611f7257611f7161369c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611fd657611fd561369c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026120169190613dae565b61202091906137f8565b90505b60018111156120c0577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106120625761206161369c565b5b1a60f81b8282815181106120795761207861369c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806120b990613e08565b9050612023565b5060008414612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fb90613e7e565b60405180910390fd5b8091505092915050565b612118838361247f565b6121256000848484612169565b612164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215b90613d22565b60405180910390fd5b505050565b600061218a8473ffffffffffffffffffffffffffffffffffffffff16612659565b156122e4578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026121b3611317565b8786866040518563ffffffff1660e01b81526004016121d59493929190613ef3565b6020604051808303816000875af192505050801561221157506040513d601f19601f8201168201806040525081019061220e9190613f54565b60015b612294573d8060008114612241576040519150601f19603f3d011682016040523d82523d6000602084013e612246565b606091505b5060008151141561228c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228390613d22565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506122e9565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061236457506123638261267c565b5b9050919050565b6123768383836126e6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123b9576123b4816126eb565b6123f8565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146123f7576123f68382612734565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561243b57612436816128a1565b61247a565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612479576124788282612972565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e690613fcd565b60405180910390fd5b6124f8816112ab565b15612538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252f90614039565b60405180910390fd5b61254460008383611e17565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461259491906137f8565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461265560008383611ecd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161274184610e6a565b61274b9190613b02565b9050600060086000848152602001908152602001600020549050818114612830576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016009805490506128b59190613b02565b90506000600a60008481526020019081526020016000205490506000600983815481106128e5576128e461369c565b5b9060005260206000200154905080600983815481106129075761290661369c565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a600085815260200190815260200160002060009055600980548061295657612955614059565b5b6001900381819060005260206000200160009055905550505050565b600061297d83610e6a565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546129fd90613200565b90600052602060002090601f016020900481019282612a1f5760008555612a66565b82601f10612a3857803560ff1916838001178555612a66565b82800160010185558215612a66579182015b82811115612a65578235825591602001919060010190612a4a565b5b509050612a739190612a77565b5090565b5b80821115612a90576000816000905550600101612a78565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612add81612aa8565b8114612ae857600080fd5b50565b600081359050612afa81612ad4565b92915050565b600060208284031215612b1657612b15612a9e565b5b6000612b2484828501612aeb565b91505092915050565b60008115159050919050565b612b4281612b2d565b82525050565b6000602082019050612b5d6000830184612b39565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b9d578082015181840152602081019050612b82565b83811115612bac576000848401525b50505050565b6000601f19601f8301169050919050565b6000612bce82612b63565b612bd88185612b6e565b9350612be8818560208601612b7f565b612bf181612bb2565b840191505092915050565b60006020820190508181036000830152612c168184612bc3565b905092915050565b6000819050919050565b612c3181612c1e565b8114612c3c57600080fd5b50565b600081359050612c4e81612c28565b92915050565b600060208284031215612c6a57612c69612a9e565b5b6000612c7884828501612c3f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612cac82612c81565b9050919050565b612cbc81612ca1565b82525050565b6000602082019050612cd76000830184612cb3565b92915050565b612ce681612ca1565b8114612cf157600080fd5b50565b600081359050612d0381612cdd565b92915050565b60008060408385031215612d2057612d1f612a9e565b5b6000612d2e85828601612cf4565b9250506020612d3f85828601612c3f565b9150509250929050565b612d5281612c1e565b82525050565b6000602082019050612d6d6000830184612d49565b92915050565b600060208284031215612d8957612d88612a9e565b5b6000612d9784828501612cf4565b91505092915050565b600080600060608486031215612db957612db8612a9e565b5b6000612dc786828701612cf4565b9350506020612dd886828701612cf4565b9250506040612de986828701612c3f565b9150509250925092565b6000819050919050565b612e0681612df3565b8114612e1157600080fd5b50565b600081359050612e2381612dfd565b92915050565b600060208284031215612e3f57612e3e612a9e565b5b6000612e4d84828501612e14565b91505092915050565b612e5f81612df3565b82525050565b6000602082019050612e7a6000830184612e56565b92915050565b60008060408385031215612e9757612e96612a9e565b5b6000612ea585828601612e14565b9250506020612eb685828601612cf4565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112612ee557612ee4612ec0565b5b8235905067ffffffffffffffff811115612f0257612f01612ec5565b5b602083019150836001820283011115612f1e57612f1d612eca565b5b9250929050565b60008060208385031215612f3c57612f3b612a9e565b5b600083013567ffffffffffffffff811115612f5a57612f59612aa3565b5b612f6685828601612ecf565b92509250509250929050565b612f7b81612b2d565b8114612f8657600080fd5b50565b600081359050612f9881612f72565b92915050565b60008060408385031215612fb557612fb4612a9e565b5b6000612fc385828601612cf4565b9250506020612fd485828601612f89565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61301b82612bb2565b810181811067ffffffffffffffff8211171561303a57613039612fe3565b5b80604052505050565b600061304d612a94565b90506130598282613012565b919050565b600067ffffffffffffffff82111561307957613078612fe3565b5b61308282612bb2565b9050602081019050919050565b82818337600083830152505050565b60006130b16130ac8461305e565b613043565b9050828152602081018484840111156130cd576130cc612fde565b5b6130d884828561308f565b509392505050565b600082601f8301126130f5576130f4612ec0565b5b813561310584826020860161309e565b91505092915050565b6000806000806080858703121561312857613127612a9e565b5b600061313687828801612cf4565b945050602061314787828801612cf4565b935050604061315887828801612c3f565b925050606085013567ffffffffffffffff81111561317957613178612aa3565b5b613185878288016130e0565b91505092959194509250565b600080604083850312156131a8576131a7612a9e565b5b60006131b685828601612cf4565b92505060206131c785828601612cf4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061321857607f821691505b6020821081141561322c5761322b6131d1565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061328e602c83612b6e565b915061329982613232565b604082019050919050565b600060208201905081810360008301526132bd81613281565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613320602183612b6e565b915061332b826132c4565b604082019050919050565b6000602082019050818103600083015261334f81613313565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b60006133b2603883612b6e565b91506133bd82613356565b604082019050919050565b600060208201905081810360008301526133e1816133a5565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613444603183612b6e565b915061344f826133e8565b604082019050919050565b6000602082019050818103600083015261347381613437565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006134d6602b83612b6e565b91506134e18261347a565b604082019050919050565b60006020820190508181036000830152613505816134c9565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613568602f83612b6e565b91506135738261350c565b604082019050919050565b600060208201905081810360008301526135978161355b565b9050919050565b7f43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b60006135d4602083612b6e565b91506135df8261359e565b602082019050919050565b60006020820190508181036000830152613603816135c7565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613666602c83612b6e565b91506136718261360a565b604082019050919050565b6000602082019050818103600083015261369581613659565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613727602983612b6e565b9150613732826136cb565b604082019050919050565b600060208201905081810360008301526137568161371a565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f20616464726573730000000000600082015250565b6000613793601b83612b6e565b915061379e8261375d565b602082019050919050565b600060208201905081810360008301526137c281613786565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061380382612c1e565b915061380e83612c1e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613843576138426137c9565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613884601783612b6e565b915061388f8261384e565b602082019050919050565b600060208201905081810360008301526138b381613877565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613916602a83612b6e565b9150613921826138ba565b604082019050919050565b6000602082019050818103600083015261394581613909565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006139a8602c83612b6e565b91506139b38261394c565b604082019050919050565b600060208201905081810360008301526139d78161399b565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613a3a602583612b6e565b9150613a45826139de565b604082019050919050565b60006020820190508181036000830152613a6981613a2d565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613acc602483612b6e565b9150613ad782613a70565b604082019050919050565b60006020820190508181036000830152613afb81613abf565b9050919050565b6000613b0d82612c1e565b9150613b1883612c1e565b925082821015613b2b57613b2a6137c9565b5b828203905092915050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613b77601783613b36565b9150613b8282613b41565b601782019050919050565b6000613b9882612b63565b613ba28185613b36565b9350613bb2818560208601612b7f565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613bf4601183613b36565b9150613bff82613bbe565b601182019050919050565b6000613c1582613b6a565b9150613c218285613b8d565b9150613c2c82613be7565b9150613c388284613b8d565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613c7a601983612b6e565b9150613c8582613c44565b602082019050919050565b60006020820190508181036000830152613ca981613c6d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613d0c603283612b6e565b9150613d1782613cb0565b604082019050919050565b60006020820190508181036000830152613d3b81613cff565b9050919050565b7f546f6b656e206e6f74207472616e7366657261626c6500000000000000000000600082015250565b6000613d78601683612b6e565b9150613d8382613d42565b602082019050919050565b60006020820190508181036000830152613da781613d6b565b9050919050565b6000613db982612c1e565b9150613dc483612c1e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613dfd57613dfc6137c9565b5b828202905092915050565b6000613e1382612c1e565b91506000821415613e2757613e266137c9565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000613e68602083612b6e565b9150613e7382613e32565b602082019050919050565b60006020820190508181036000830152613e9781613e5b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613ec582613e9e565b613ecf8185613ea9565b9350613edf818560208601612b7f565b613ee881612bb2565b840191505092915050565b6000608082019050613f086000830187612cb3565b613f156020830186612cb3565b613f226040830185612d49565b8181036060830152613f348184613eba565b905095945050505050565b600081519050613f4e81612ad4565b92915050565b600060208284031215613f6a57613f69612a9e565b5b6000613f7884828501613f3f565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613fb7602083612b6e565b9150613fc282613f81565b602082019050919050565b60006020820190508181036000830152613fe681613faa565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614023601c83612b6e565b915061402e82613fed565b602082019050919050565b6000602082019050818103600083015261405281614016565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207a1cea97af47bee34c1d8c50f38122a5c27d3cbcfb2223d90cb73d63d4b9999664736f6c634300080a003368747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101f05760003560e01c8063530dd0791161010f578063a217fddf116100a2578063c87b56dd11610071578063c87b56dd146105c5578063d5391393146105f5578063d547741f14610613578063e985e9c51461062f576101f0565b8063a217fddf14610551578063a22cb4651461056f578063b88d4fde1461058b578063b930908f146105a7576101f0565b806391d14854116100de57806391d14854146104cb578063931688cb146104fb57806395d89b4114610517578063965f4c6014610535576101f0565b8063530dd0791461041f5780636352211e1461043b5780636a6278421461046b57806370a082311461049b576101f0565b8063248a9ca31161018757806336568abe1161015657806336568abe1461039b57806342842e0e146103b757806342966c68146103d35780634f6ccce7146103ef576101f0565b8063248a9ca3146103035780632f2ff15d146103335780632f745c591461034f578063327ba6151461037f576101f0565b806318160ddd116101c357806318160ddd1461028f57806319d1997a146102ad5780631cf4e3ee146102cb57806323b872dd146102e7576101f0565b806301ffc9a7146101f557806306fdde0314610225578063081812fc14610243578063095ea7b314610273575b600080fd5b61020f600480360381019061020a9190612b00565b61065f565b60405161021c9190612b48565b60405180910390f35b61022d610671565b60405161023a9190612bfc565b60405180910390f35b61025d60048036038101906102589190612c54565b610703565b60405161026a9190612cc2565b60405180910390f35b61028d60048036038101906102889190612d09565b610788565b005b6102976108a0565b6040516102a49190612d58565b60405180910390f35b6102b56108ad565b6040516102c29190612d58565b60405180910390f35b6102e560048036038101906102e09190612d73565b6108d1565b005b61030160048036038101906102fc9190612da0565b6108fe565b005b61031d60048036038101906103189190612e29565b61095e565b60405161032a9190612e65565b60405180910390f35b61034d60048036038101906103489190612e80565b61097d565b005b61036960048036038101906103649190612d09565b6109a6565b6040516103769190612d58565b60405180910390f35b61039960048036038101906103949190612d73565b610a4b565b005b6103b560048036038101906103b09190612e80565b610a78565b005b6103d160048036038101906103cc9190612da0565b610afb565b005b6103ed60048036038101906103e89190612c54565b610b1b565b005b61040960048036038101906104049190612c54565b610baa565b6040516104169190612d58565b60405180910390f35b61043960048036038101906104349190612d73565b610c1b565b005b61045560048036038101906104509190612c54565b610c48565b6040516104629190612cc2565b60405180910390f35b61048560048036038101906104809190612d73565b610cfa565b6040516104929190612d58565b60405180910390f35b6104b560048036038101906104b09190612d73565b610e6a565b6040516104c29190612d58565b60405180910390f35b6104e560048036038101906104e09190612e80565b610f22565b6040516104f29190612b48565b60405180910390f35b61051560048036038101906105109190612f25565b610f8c565b005b61051f610fb8565b60405161052c9190612bfc565b60405180910390f35b61054f600480360381019061054a9190612d73565b61104a565b005b610559611077565b6040516105669190612e65565b60405180910390f35b61058960048036038101906105849190612f9e565b61107e565b005b6105a560048036038101906105a0919061310e565b611094565b005b6105af6110f6565b6040516105bc9190612e65565b60405180910390f35b6105df60048036038101906105da9190612c54565b61111a565b6040516105ec9190612bfc565b60405180910390f35b6105fd611150565b60405161060a9190612e65565b60405180910390f35b61062d60048036038101906106289190612e80565b611174565b005b61064960048036038101906106449190613191565b61119d565b6040516106569190612b48565b60405180910390f35b600061066a82611231565b9050919050565b60606001805461068090613200565b80601f01602080910402602001604051908101604052809291908181526020018280546106ac90613200565b80156106f95780601f106106ce576101008083540402835291602001916106f9565b820191906000526020600020905b8154815290600101906020018083116106dc57829003601f168201915b5050505050905090565b600061070e826112ab565b61074d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610744906132a4565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061079382610c48565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107fb90613336565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610823611317565b73ffffffffffffffffffffffffffffffffffffffff16148061085257506108518161084c611317565b61119d565b5b610891576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610888906133c8565b60405180910390fd5b61089b838361131f565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6108fb7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682611174565b50565b61090f610909611317565b826113d8565b61094e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109459061345a565b60405180910390fd5b6109598383836114b6565b505050565b6000806000838152602001908152602001600020600101549050919050565b6109868261095e565b61099781610992611317565b61171d565b6109a183836117ba565b505050565b60006109b183610e6a565b82106109f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e9906134ec565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a757fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa228261097d565b50565b610a80611317565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610aed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae49061357e565b60405180910390fd5b610af7828261189a565b5050565b610b1683838360405180602001604052806000815250611094565b505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22610b4d81610b48611317565b61171d565b610b5e610b58611317565b836113d8565b610b9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b94906135ea565b60405180910390fd5b610ba68261197b565b5050565b6000610bb46108a0565b8210610bf5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bec9061367c565b60405180910390fd5b60098281548110610c0957610c0861369c565b5b90600052602060002001549050919050565b610c457f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261097d565b50565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cf1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce89061373d565b60405180910390fd5b80915050919050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610d2e81610d29611317565b61171d565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d95906137a9565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610e3e577f00000000000000000000000000000000000000000000000000000000000000006001610df26108a0565b610dfc91906137f8565b1115610e3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e349061389a565b60405180910390fd5b5b610e48600c611a98565b6000610e54600c611aae565b9050610e608482611abc565b8092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610edb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed29061392c565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b610fa181610f9c611317565b61171d565b8282600b9190610fb29291906129f1565b50505050565b606060028054610fc790613200565b80601f0160208091040260200160405190810160405280929190818152602001828054610ff390613200565b80156110405780601f1061101557610100808354040283529160200191611040565b820191906000526020600020905b81548152906001019060200180831161102357829003601f168201915b5050505050905090565b6110747fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282611174565b50565b6000801b81565b611090611089611317565b8383611ada565b5050565b6110a561109f611317565b836113d8565b6110e4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110db9061345a565b60405180910390fd5b6110f084848484611c47565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606000611126611ca3565b905060008151116111465760405180602001604052806000815250611148565b805b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61117d8261095e565b61118e81611189611317565b61171d565b611198838361189a565b505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806112a457506112a382611d35565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661139283610c48565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006113e3826112ab565b611422576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611419906139be565b60405180910390fd5b600061142d83610c48565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061149c57508373ffffffffffffffffffffffffffffffffffffffff1661148484610703565b73ffffffffffffffffffffffffffffffffffffffff16145b806114ad57506114ac818561119d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166114d682610c48565b73ffffffffffffffffffffffffffffffffffffffff161461152c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152390613a50565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561159c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161159390613ae2565b60405180910390fd5b6115a7838383611e17565b6115b260008261131f565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116029190613b02565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461165991906137f8565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611718838383611ecd565b505050565b6117278282610f22565b6117b65761174c8173ffffffffffffffffffffffffffffffffffffffff166014611ed2565b61175a8360001c6020611ed2565b60405160200161176b929190613c0a565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ad9190612bfc565b60405180910390fd5b5050565b6117c48282610f22565b61189657600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061183b611317565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6118a48282610f22565b1561197757600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061191c611317565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600061198682610c48565b905061199481600084611e17565b61199f60008361131f565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119ef9190613b02565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a9481600084611ecd565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b611ad682826040518060200160405280600081525061210e565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b49576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4090613c90565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611c3a9190612b48565b60405180910390a3505050565b611c528484846114b6565b611c5e84848484612169565b611c9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9490613d22565b60405180910390fd5b50505050565b6060600b8054611cb290613200565b80601f0160208091040260200160405190810160405280929190818152602001828054611cde90613200565b8015611d2b5780601f10611d0057610100808354040283529160200191611d2b565b820191906000526020600020905b815481529060010190602001808311611d0e57829003601f168201915b5050505050905090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611e0057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611e105750611e0f826122f1565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611e7e5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16145b611ebd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eb490613d8e565b60405180910390fd5b611ec883838361236b565b505050565b505050565b606060006002836002611ee59190613dae565b611eef91906137f8565b67ffffffffffffffff811115611f0857611f07612fe3565b5b6040519080825280601f01601f191660200182016040528015611f3a5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611f7257611f7161369c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611fd657611fd561369c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026120169190613dae565b61202091906137f8565b90505b60018111156120c0577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106120625761206161369c565b5b1a60f81b8282815181106120795761207861369c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806120b990613e08565b9050612023565b5060008414612104576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120fb90613e7e565b60405180910390fd5b8091505092915050565b612118838361247f565b6121256000848484612169565b612164576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215b90613d22565b60405180910390fd5b505050565b600061218a8473ffffffffffffffffffffffffffffffffffffffff16612659565b156122e4578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026121b3611317565b8786866040518563ffffffff1660e01b81526004016121d59493929190613ef3565b6020604051808303816000875af192505050801561221157506040513d601f19601f8201168201806040525081019061220e9190613f54565b60015b612294573d8060008114612241576040519150601f19603f3d011682016040523d82523d6000602084013e612246565b606091505b5060008151141561228c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161228390613d22565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506122e9565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061236457506123638261267c565b5b9050919050565b6123768383836126e6565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156123b9576123b4816126eb565b6123f8565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146123f7576123f68382612734565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561243b57612436816128a1565b61247a565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612479576124788282612972565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e690613fcd565b60405180910390fd5b6124f8816112ab565b15612538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252f90614039565b60405180910390fd5b61254460008383611e17565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461259491906137f8565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461265560008383611ecd565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161274184610e6a565b61274b9190613b02565b9050600060086000848152602001908152602001600020549050818114612830576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016009805490506128b59190613b02565b90506000600a60008481526020019081526020016000205490506000600983815481106128e5576128e461369c565b5b9060005260206000200154905080600983815481106129075761290661369c565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a600085815260200190815260200160002060009055600980548061295657612955614059565b5b6001900381819060005260206000200160009055905550505050565b600061297d83610e6a565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546129fd90613200565b90600052602060002090601f016020900481019282612a1f5760008555612a66565b82601f10612a3857803560ff1916838001178555612a66565b82800160010185558215612a66579182015b82811115612a65578235825591602001919060010190612a4a565b5b509050612a739190612a77565b5090565b5b80821115612a90576000816000905550600101612a78565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612add81612aa8565b8114612ae857600080fd5b50565b600081359050612afa81612ad4565b92915050565b600060208284031215612b1657612b15612a9e565b5b6000612b2484828501612aeb565b91505092915050565b60008115159050919050565b612b4281612b2d565b82525050565b6000602082019050612b5d6000830184612b39565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612b9d578082015181840152602081019050612b82565b83811115612bac576000848401525b50505050565b6000601f19601f8301169050919050565b6000612bce82612b63565b612bd88185612b6e565b9350612be8818560208601612b7f565b612bf181612bb2565b840191505092915050565b60006020820190508181036000830152612c168184612bc3565b905092915050565b6000819050919050565b612c3181612c1e565b8114612c3c57600080fd5b50565b600081359050612c4e81612c28565b92915050565b600060208284031215612c6a57612c69612a9e565b5b6000612c7884828501612c3f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612cac82612c81565b9050919050565b612cbc81612ca1565b82525050565b6000602082019050612cd76000830184612cb3565b92915050565b612ce681612ca1565b8114612cf157600080fd5b50565b600081359050612d0381612cdd565b92915050565b60008060408385031215612d2057612d1f612a9e565b5b6000612d2e85828601612cf4565b9250506020612d3f85828601612c3f565b9150509250929050565b612d5281612c1e565b82525050565b6000602082019050612d6d6000830184612d49565b92915050565b600060208284031215612d8957612d88612a9e565b5b6000612d9784828501612cf4565b91505092915050565b600080600060608486031215612db957612db8612a9e565b5b6000612dc786828701612cf4565b9350506020612dd886828701612cf4565b9250506040612de986828701612c3f565b9150509250925092565b6000819050919050565b612e0681612df3565b8114612e1157600080fd5b50565b600081359050612e2381612dfd565b92915050565b600060208284031215612e3f57612e3e612a9e565b5b6000612e4d84828501612e14565b91505092915050565b612e5f81612df3565b82525050565b6000602082019050612e7a6000830184612e56565b92915050565b60008060408385031215612e9757612e96612a9e565b5b6000612ea585828601612e14565b9250506020612eb685828601612cf4565b9150509250929050565b600080fd5b600080fd5b600080fd5b60008083601f840112612ee557612ee4612ec0565b5b8235905067ffffffffffffffff811115612f0257612f01612ec5565b5b602083019150836001820283011115612f1e57612f1d612eca565b5b9250929050565b60008060208385031215612f3c57612f3b612a9e565b5b600083013567ffffffffffffffff811115612f5a57612f59612aa3565b5b612f6685828601612ecf565b92509250509250929050565b612f7b81612b2d565b8114612f8657600080fd5b50565b600081359050612f9881612f72565b92915050565b60008060408385031215612fb557612fb4612a9e565b5b6000612fc385828601612cf4565b9250506020612fd485828601612f89565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61301b82612bb2565b810181811067ffffffffffffffff8211171561303a57613039612fe3565b5b80604052505050565b600061304d612a94565b90506130598282613012565b919050565b600067ffffffffffffffff82111561307957613078612fe3565b5b61308282612bb2565b9050602081019050919050565b82818337600083830152505050565b60006130b16130ac8461305e565b613043565b9050828152602081018484840111156130cd576130cc612fde565b5b6130d884828561308f565b509392505050565b600082601f8301126130f5576130f4612ec0565b5b813561310584826020860161309e565b91505092915050565b6000806000806080858703121561312857613127612a9e565b5b600061313687828801612cf4565b945050602061314787828801612cf4565b935050604061315887828801612c3f565b925050606085013567ffffffffffffffff81111561317957613178612aa3565b5b613185878288016130e0565b91505092959194509250565b600080604083850312156131a8576131a7612a9e565b5b60006131b685828601612cf4565b92505060206131c785828601612cf4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061321857607f821691505b6020821081141561322c5761322b6131d1565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061328e602c83612b6e565b915061329982613232565b604082019050919050565b600060208201905081810360008301526132bd81613281565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613320602183612b6e565b915061332b826132c4565b604082019050919050565b6000602082019050818103600083015261334f81613313565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b60006133b2603883612b6e565b91506133bd82613356565b604082019050919050565b600060208201905081810360008301526133e1816133a5565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613444603183612b6e565b915061344f826133e8565b604082019050919050565b6000602082019050818103600083015261347381613437565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006134d6602b83612b6e565b91506134e18261347a565b604082019050919050565b60006020820190508181036000830152613505816134c9565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613568602f83612b6e565b91506135738261350c565b604082019050919050565b600060208201905081810360008301526135978161355b565b9050919050565b7f43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b60006135d4602083612b6e565b91506135df8261359e565b602082019050919050565b60006020820190508181036000830152613603816135c7565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613666602c83612b6e565b91506136718261360a565b604082019050919050565b6000602082019050818103600083015261369581613659565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613727602983612b6e565b9150613732826136cb565b604082019050919050565b600060208201905081810360008301526137568161371a565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f20616464726573730000000000600082015250565b6000613793601b83612b6e565b915061379e8261375d565b602082019050919050565b600060208201905081810360008301526137c281613786565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061380382612c1e565b915061380e83612c1e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613843576138426137c9565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613884601783612b6e565b915061388f8261384e565b602082019050919050565b600060208201905081810360008301526138b381613877565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b6000613916602a83612b6e565b9150613921826138ba565b604082019050919050565b6000602082019050818103600083015261394581613909565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006139a8602c83612b6e565b91506139b38261394c565b604082019050919050565b600060208201905081810360008301526139d78161399b565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613a3a602583612b6e565b9150613a45826139de565b604082019050919050565b60006020820190508181036000830152613a6981613a2d565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613acc602483612b6e565b9150613ad782613a70565b604082019050919050565b60006020820190508181036000830152613afb81613abf565b9050919050565b6000613b0d82612c1e565b9150613b1883612c1e565b925082821015613b2b57613b2a6137c9565b5b828203905092915050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000613b77601783613b36565b9150613b8282613b41565b601782019050919050565b6000613b9882612b63565b613ba28185613b36565b9350613bb2818560208601612b7f565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000613bf4601183613b36565b9150613bff82613bbe565b601182019050919050565b6000613c1582613b6a565b9150613c218285613b8d565b9150613c2c82613be7565b9150613c388284613b8d565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613c7a601983612b6e565b9150613c8582613c44565b602082019050919050565b60006020820190508181036000830152613ca981613c6d565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613d0c603283612b6e565b9150613d1782613cb0565b604082019050919050565b60006020820190508181036000830152613d3b81613cff565b9050919050565b7f546f6b656e206e6f74207472616e7366657261626c6500000000000000000000600082015250565b6000613d78601683612b6e565b9150613d8382613d42565b602082019050919050565b60006020820190508181036000830152613da781613d6b565b9050919050565b6000613db982612c1e565b9150613dc483612c1e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613dfd57613dfc6137c9565b5b828202905092915050565b6000613e1382612c1e565b91506000821415613e2757613e266137c9565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000613e68602083612b6e565b9150613e7382613e32565b602082019050919050565b60006020820190508181036000830152613e9781613e5b565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000613ec582613e9e565b613ecf8185613ea9565b9350613edf818560208601612b7f565b613ee881612bb2565b840191505092915050565b6000608082019050613f086000830187612cb3565b613f156020830186612cb3565b613f226040830185612d49565b8181036060830152613f348184613eba565b905095945050505050565b600081519050613f4e81612ad4565b92915050565b600060208284031215613f6a57613f69612a9e565b5b6000613f7884828501613f3f565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000613fb7602083612b6e565b9150613fc282613f81565b602082019050919050565b60006020820190508181036000830152613fe681613faa565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614023601c83612b6e565b915061402e82613fed565b602082019050919050565b6000602082019050818103600083015261405281614016565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212207a1cea97af47bee34c1d8c50f38122a5c27d3cbcfb2223d90cb73d63d4b9999664736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"_supplyLimt\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"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\"},{\"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\":[],\"name\":\"BURN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"batchMint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxBatchSize\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"removeMintRole\",\"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\":\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"setMintRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"supplyLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"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\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"metaAddress\",\"type\":\"address\"}],\"name\":\"updateMetaAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"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. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeMintRole(address)\":{\"details\":\"Remove mint role to address\"},\"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`. May emit a {RoleRevoked} event.\"},\"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. May emit a {RoleRevoked} event.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"setBurnRole(address)\":{\"details\":\"Grant burn role to address\"},\"setMintRole(address)\":{\"details\":\"Grant mint role to address\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"one type badge has same tokenURI\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"updateMetaAddress(address)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/NFTSbt.sol\":\"NFTSbt\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x0dd6e52cb394d7f5abe5dca2d4908a6be40417914720932de757de34a99ab87f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dc117ce50ea746cab6b97ed1a1facee17a715ae0cb95d67b943dacbaf15176fb\",\"dweb:/ipfs/QmYRZ2UGNYwsHwfNu7Wjr8L2j1LBZ1mKv6NvbwgterYMXc\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x2c309e7df9e05e6ce15bedfe74f3c61b467fc37e0fae9eab496acf5ea0bbd7ff\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7063b5c98711a98018ba4635ac74cee1c1cfa2ea01099498e062699ed9530005\",\"dweb:/ipfs/QmeJ8rGXkcv7RrqLdAW8PCXPAykxVsddfYY6g5NaTwmRFE\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5bce51e11f7d194b79ea59fe00c9e8de9fa2c5530124960f29a24d4c740a3266\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e66dfde185df46104c11bc89d08fa0760737aa59a2b8546a656473d810a8ea4\",\"dweb:/ipfs/QmXvyqtXPaPss2PD7eqPoSao5Szm2n6UMoiG8TZZDjmChR\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0xa82b58eca1ee256be466e536706850163d2ec7821945abd6b4778cfb3bee37da\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6e75cf83beb757b8855791088546b8337e9d4684e169400c20d44a515353b708\",\"dweb:/ipfs/QmYvPafLfoquiDMEj7CKHtvbgHu7TJNPSVPSCjrtjV8HjV\"]},\"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\":{\"keccak256\":\"0xa8796bd16014cefb8c26449413981a49c510f92a98d6828494f5fd046223ced3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63a5e0bb5a7d182e0d0eef87033f78115eab791de3626a929bc98c157087880a\",\"dweb:/ipfs/QmetkXAu2CJKS4qrZtEQPU8okAPwUwa6HL4XYwk8vrYMk8\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x75b829ff2f26c14355d1cba20e16fe7b29ca58eb5fef665ede48bc0f9c6c74b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0a107160525724f9e1bbbab031defc2f298296dd9e331f16a6f7130cec32146\",\"dweb:/ipfs/QmemujxSd7gX8A9M8UwmNbz4Ms3U9FG9QfudUgxwvTmPWf\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x006dd67219697fe68d7fbfdea512e7c4cb64a43565ed86171d67e844982da6fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2455248c8ddd9cc6a7af76a13973cddf222072427e7b0e2a7d1aff345145e931\",\"dweb:/ipfs/QmfYjnjRbWqYpuxurqveE6HtzsY1Xx323J428AKQgtBJZm\"]},\"@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\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"@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\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c\",\"dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS\"]},\"@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7\",\"dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6\"]},\"project:/contracts/interfaces/IMetaData.sol\":{\"keccak256\":\"0x30907dd89502219f11e6a2584bdcadecd842115ba17db1a86d3e5a43acdb8662\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e719ea33d0f10b6094da881360bc033248e90d0f6c85d590762c6b8e555e8bb2\",\"dweb:/ipfs/Qmf4MV5wH2fsE4nwheutoMKSZmoGghZrnr5pzgWMgm3Q9D\"]},\"project:/contracts/tokens/erc721/NFTSbt.sol\":{\"keccak256\":\"0xbfc94d35851a32d6bcd25efc85467a28d58761478c4eca53e3611ef7baac28f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e7d9399abe068a1de184cda3726f1bc64e4c071c2e06080db6e9629f4bfc1b0\",\"dweb:/ipfs/QmXjuLAcrsVnNC6zAbmEdKsLpH9bfJe5UXybA8kbyvc8Wj\"]}},\"version\":1}", + "bytecode": "0x60a06040526101f4600d553480156200001757600080fd5b5060405162004d2b38038062004d2b83398181016040528101906200003d9190620005ea565b828281600190805190602001906200005792919062000362565b5080600290805190602001906200007092919062000362565b5050508060808181525050620000b07fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b6200016760201b60201c565b620000e57f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b6200016760201b60201c565b620000fa6000801b33620001ca60201b60201c565b6200012c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633620001ca60201b60201c565b6200015e7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2233620001ca60201b60201c565b505050620006e9565b60006200017a83620001e060201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b620001dc8282620001ff60201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b620002118282620002f060201b60201c565b620002ec57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002916200035a60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b8280546200037090620006b3565b90600052602060002090601f016020900481019282620003945760008555620003e0565b82601f10620003af57805160ff1916838001178555620003e0565b82800160010185558215620003e0579182015b82811115620003df578251825591602001919060010190620003c2565b5b509050620003ef9190620003f3565b5090565b5b808211156200040e576000816000905550600101620003f4565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200047b8262000430565b810181811067ffffffffffffffff821117156200049d576200049c62000441565b5b80604052505050565b6000620004b262000412565b9050620004c0828262000470565b919050565b600067ffffffffffffffff821115620004e357620004e262000441565b5b620004ee8262000430565b9050602081019050919050565b60005b838110156200051b578082015181840152602081019050620004fe565b838111156200052b576000848401525b50505050565b6000620005486200054284620004c5565b620004a6565b9050828152602081018484840111156200056757620005666200042b565b5b62000574848285620004fb565b509392505050565b600082601f83011262000594576200059362000426565b5b8151620005a684826020860162000531565b91505092915050565b6000819050919050565b620005c481620005af565b8114620005d057600080fd5b50565b600081519050620005e481620005b9565b92915050565b6000806000606084860312156200060657620006056200041c565b5b600084015167ffffffffffffffff81111562000627576200062662000421565b5b62000635868287016200057c565b935050602084015167ffffffffffffffff81111562000659576200065862000421565b5b62000667868287016200057c565b92505060406200067a86828701620005d3565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620006cc57607f821691505b60208210811415620006e357620006e262000684565b5b50919050565b60805161460a62000721600039600081816108d401528181610c7d01528181610ca401528181610f970152610fbe015261460a6000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80634f6ccce71161011a578063a217fddf116100ad578063b930908f1161007c578063b930908f1461060b578063c87b56dd14610629578063d539139314610659578063d547741f14610677578063e985e9c51461069357610206565b8063a217fddf14610599578063a22cb465146105b7578063b6a6a93d146105d3578063b88d4fde146105ef57610206565b806370a08231116100e957806370a08231146104ff57806391d148541461052f57806395d89b411461055f578063965f4c601461057d57610206565b80634f6ccce714610453578063530dd079146104835780636352211e1461049f5780636a627842146104cf57610206565b8063248a9ca31161019d578063327ba6151161016c578063327ba615146103b357806336568abe146103cf57806342842e0e146103eb57806342966c681461040757806343508b051461042357610206565b8063248a9ca3146103195780632913daa0146103495780632f2ff15d146103675780632f745c591461038357610206565b806318160ddd116101d957806318160ddd146102a557806319d1997a146102c35780631cf4e3ee146102e157806323b872dd146102fd57610206565b806301ffc9a71461020b57806306fdde031461023b578063081812fc14610259578063095ea7b314610289575b600080fd5b61022560048036038101906102209190612e31565b6106c3565b6040516102329190612e79565b60405180910390f35b6102436106d5565b6040516102509190612f2d565b60405180910390f35b610273600480360381019061026e9190612f85565b610767565b6040516102809190612ff3565b60405180910390f35b6102a3600480360381019061029e919061303a565b6107ad565b005b6102ad6108c5565b6040516102ba9190613089565b60405180910390f35b6102cb6108d2565b6040516102d89190613089565b60405180910390f35b6102fb60048036038101906102f691906130a4565b6108f6565b005b610317600480360381019061031291906130d1565b610923565b005b610333600480360381019061032e919061315a565b610983565b6040516103409190613196565b60405180910390f35b6103516109a2565b60405161035e9190613089565b60405180910390f35b610381600480360381019061037c91906131b1565b6109a8565b005b61039d6004803603810190610398919061303a565b6109c9565b6040516103aa9190613089565b60405180910390f35b6103cd60048036038101906103c891906130a4565b610a6e565b005b6103e960048036038101906103e491906131b1565b610a9b565b005b610405600480360381019061040091906130d1565b610b1e565b005b610421600480360381019061041c9190612f85565b610b3e565b005b61043d6004803603810190610438919061303a565b610bc5565b60405161044a91906132af565b60405180910390f35b61046d60048036038101906104689190612f85565b610dd2565b60405161047a9190613089565b60405180910390f35b61049d600480360381019061049891906130a4565b610e43565b005b6104b960048036038101906104b49190612f85565b610e70565b6040516104c69190612ff3565b60405180910390f35b6104e960048036038101906104e491906130a4565b610ef7565b6040516104f69190613089565b60405180910390f35b610519600480360381019061051491906130a4565b61105f565b6040516105269190613089565b60405180910390f35b610549600480360381019061054491906131b1565b611117565b6040516105569190612e79565b60405180910390f35b610567611181565b6040516105749190612f2d565b60405180910390f35b610597600480360381019061059291906130a4565b611213565b005b6105a1611240565b6040516105ae9190613196565b60405180910390f35b6105d160048036038101906105cc91906132fd565b611247565b005b6105ed60048036038101906105e891906130a4565b61125d565b005b61060960048036038101906106049190613472565b6112af565b005b610613611311565b6040516106209190613196565b60405180910390f35b610643600480360381019061063e9190612f85565b611335565b6040516106509190612f2d565b60405180910390f35b610661611429565b60405161066e9190613196565b60405180910390f35b610691600480360381019061068c91906131b1565b61144d565b005b6106ad60048036038101906106a891906134f5565b61146e565b6040516106ba9190612e79565b60405180910390f35b60006106ce82611502565b9050919050565b6060600180546106e490613564565b80601f016020809104026020016040519081016040528092919081815260200182805461071090613564565b801561075d5780601f106107325761010080835404028352916020019161075d565b820191906000526020600020905b81548152906001019060200180831161074057829003601f168201915b5050505050905090565b60006107728261157c565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107b882610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090613608565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108486115c7565b73ffffffffffffffffffffffffffffffffffffffff1614806108775750610876816108716115c7565b61146e565b5b6108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ad9061369a565b60405180910390fd5b6108c083836115cf565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109207f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261144d565b50565b61093461092e6115c7565b82611688565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096a9061372c565b60405180910390fd5b61097e83838361171d565b505050565b6000806000838152602001908152602001600020600101549050919050565b600d5481565b6109b182610983565b6109ba81611a17565b6109c48383611a2b565b505050565b60006109d48361105f565b8210610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c906137be565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a987fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826109a8565b50565b610aa36115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790613850565b60405180910390fd5b610b1a8282611b0b565b5050565b610b39838383604051806020016040528060008152506112af565b505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22610b6881611a17565b610b79610b736115c7565b83611688565b610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906138bc565b60405180910390fd5b610bc182611bec565b5050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bf181611a17565b60008311610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90613928565b60405180910390fd5b600d54831115610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090613994565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610d18577f000000000000000000000000000000000000000000000000000000000000000083610ccc6108c5565b610cd691906139e3565b1115610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90613a85565b60405180910390fd5b5b60008367ffffffffffffffff811115610d3457610d33613347565b5b604051908082528060200260200182016040528015610d625781602001602082028036833780820191505090505b50905060005b84811015610dc657610d7a600c611d3a565b6000610d86600c611d50565b9050610d928782611d5e565b80838381518110610da657610da5613aa5565b5b602002602001018181525050508080610dbe90613ad4565b915050610d68565b50809250505092915050565b6000610ddc6108c5565b8210610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490613b8f565b60405180910390fd5b60098281548110610e3157610e30613aa5565b5b90600052602060002001549050919050565b610e6d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826109a8565b50565b600080610e7c83611d7c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590613bfb565b60405180910390fd5b80915050919050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610f2381611a17565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a90613c67565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115611033577f00000000000000000000000000000000000000000000000000000000000000006001610fe76108c5565b610ff191906139e3565b1115611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990613a85565b60405180910390fd5b5b61103d600c611d3a565b6000611049600c611d50565b90506110558482611d5e565b8092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c790613cf9565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606002805461119090613564565b80601f01602080910402602001604051908101604052809291908181526020018280546111bc90613564565b80156112095780601f106111de57610100808354040283529160200191611209565b820191906000526020600020905b8154815290600101906020018083116111ec57829003601f168201915b5050505050905090565b61123d7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa228261144d565b50565b6000801b81565b6112596112526115c7565b8383611db9565b5050565b6000801b61126a81611a17565b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6112c06112ba6115c7565b83611688565b6112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f69061372c565b60405180910390fd5b61130b84848484611f26565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b606061134082611f82565b61137f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137690613d65565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f666196d30846040518363ffffffff1660e01b81526004016113dc929190613d85565b600060405180830381865afa1580156113f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906114229190613e4f565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61145682610983565b61145f81611a17565b6114698383611b0b565b505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611575575061157482611fc3565b5b9050919050565b61158581611f82565b6115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613bfb565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661164283610e70565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061169483610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116d657506116d5818561146e565b5b8061171457508373ffffffffffffffffffffffffffffffffffffffff166116fc84610767565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661173d82610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90613f0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fa90613f9c565b60405180910390fd5b61181083838360016120a5565b8273ffffffffffffffffffffffffffffffffffffffff1661183082610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613f0a565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a12838383600161215d565b505050565b611a2881611a236115c7565b612163565b50565b611a358282611117565b611b0757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611aac6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611b158282611117565b15611be857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b8d6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611bf782610e70565b9050611c078160008460016120a5565b611c1082610e70565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d3681600084600161215d565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b611d788282604051806020016040528060008152506121e8565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90614008565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f199190612e79565b60405180910390a3505050565b611f3184848461171d565b611f3d84848484612243565b611f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f739061409a565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fa483611d7c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061208e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061209e575061209d826123cb565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061210c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614106565b60405180910390fd5b61215784848484612445565b50505050565b50505050565b61216d8282611117565b6121e45761217a816125a5565b6121888360001c60206125d2565b6040516020016121999291906141fa565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db9190612f2d565b60405180910390fd5b5050565b6121f2838361280e565b6121ff6000848484612243565b61223e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122359061409a565b60405180910390fd5b505050565b60006122648473ffffffffffffffffffffffffffffffffffffffff16612a2c565b156123be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261228d6115c7565b8786866040518563ffffffff1660e01b81526004016122af9493929190614289565b6020604051808303816000875af19250505080156122eb57506040513d601f19601f820116820180604052508101906122e891906142ea565b60015b61236e573d806000811461231b576040519150601f19603f3d011682016040523d82523d6000602084013e612320565b606091505b50600081511415612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d9061409a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506123c3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061243e575061243d82612a4f565b5b9050919050565b61245184848484612ab9565b6001811115612495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248c90614389565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156124dd576124d881612abf565b61251c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461251b5761251a8582612b08565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561255f5761255a81612c75565b61259e565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461259d5761259c8482612d46565b5b5b5050505050565b60606125cb8273ffffffffffffffffffffffffffffffffffffffff16601460ff166125d2565b9050919050565b6060600060028360026125e591906143a9565b6125ef91906139e3565b67ffffffffffffffff81111561260857612607613347565b5b6040519080825280601f01601f19166020018201604052801561263a5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061267257612671613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106126d6576126d5613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261271691906143a9565b61272091906139e3565b90505b60018111156127c0577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061276257612761613aa5565b5b1a60f81b82828151811061277957612778613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806127b990614403565b9050612723565b5060008414612804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127fb90614479565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561287e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612875906144e5565b60405180910390fd5b61288781611f82565b156128c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128be90614551565b60405180910390fd5b6128d56000838360016120a5565b6128de81611f82565b1561291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614551565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612a2860008383600161215d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612b158461105f565b612b1f9190614571565b9050600060086000848152602001908152602001600020549050818114612c04576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612c899190614571565b90506000600a6000848152602001908152602001600020549050600060098381548110612cb957612cb8613aa5565b5b906000526020600020015490508060098381548110612cdb57612cda613aa5565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612d2a57612d296145a5565b5b6001900381819060005260206000200160009055905550505050565b6000612d518361105f565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e0e81612dd9565b8114612e1957600080fd5b50565b600081359050612e2b81612e05565b92915050565b600060208284031215612e4757612e46612dcf565b5b6000612e5584828501612e1c565b91505092915050565b60008115159050919050565b612e7381612e5e565b82525050565b6000602082019050612e8e6000830184612e6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ece578082015181840152602081019050612eb3565b83811115612edd576000848401525b50505050565b6000601f19601f8301169050919050565b6000612eff82612e94565b612f098185612e9f565b9350612f19818560208601612eb0565b612f2281612ee3565b840191505092915050565b60006020820190508181036000830152612f478184612ef4565b905092915050565b6000819050919050565b612f6281612f4f565b8114612f6d57600080fd5b50565b600081359050612f7f81612f59565b92915050565b600060208284031215612f9b57612f9a612dcf565b5b6000612fa984828501612f70565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fdd82612fb2565b9050919050565b612fed81612fd2565b82525050565b60006020820190506130086000830184612fe4565b92915050565b61301781612fd2565b811461302257600080fd5b50565b6000813590506130348161300e565b92915050565b6000806040838503121561305157613050612dcf565b5b600061305f85828601613025565b925050602061307085828601612f70565b9150509250929050565b61308381612f4f565b82525050565b600060208201905061309e600083018461307a565b92915050565b6000602082840312156130ba576130b9612dcf565b5b60006130c884828501613025565b91505092915050565b6000806000606084860312156130ea576130e9612dcf565b5b60006130f886828701613025565b935050602061310986828701613025565b925050604061311a86828701612f70565b9150509250925092565b6000819050919050565b61313781613124565b811461314257600080fd5b50565b6000813590506131548161312e565b92915050565b6000602082840312156131705761316f612dcf565b5b600061317e84828501613145565b91505092915050565b61319081613124565b82525050565b60006020820190506131ab6000830184613187565b92915050565b600080604083850312156131c8576131c7612dcf565b5b60006131d685828601613145565b92505060206131e785828601613025565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61322681612f4f565b82525050565b6000613238838361321d565b60208301905092915050565b6000602082019050919050565b600061325c826131f1565b61326681856131fc565b93506132718361320d565b8060005b838110156132a2578151613289888261322c565b975061329483613244565b925050600181019050613275565b5085935050505092915050565b600060208201905081810360008301526132c98184613251565b905092915050565b6132da81612e5e565b81146132e557600080fd5b50565b6000813590506132f7816132d1565b92915050565b6000806040838503121561331457613313612dcf565b5b600061332285828601613025565b9250506020613333858286016132e8565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61337f82612ee3565b810181811067ffffffffffffffff8211171561339e5761339d613347565b5b80604052505050565b60006133b1612dc5565b90506133bd8282613376565b919050565b600067ffffffffffffffff8211156133dd576133dc613347565b5b6133e682612ee3565b9050602081019050919050565b82818337600083830152505050565b6000613415613410846133c2565b6133a7565b90508281526020810184848401111561343157613430613342565b5b61343c8482856133f3565b509392505050565b600082601f8301126134595761345861333d565b5b8135613469848260208601613402565b91505092915050565b6000806000806080858703121561348c5761348b612dcf565b5b600061349a87828801613025565b94505060206134ab87828801613025565b93505060406134bc87828801612f70565b925050606085013567ffffffffffffffff8111156134dd576134dc612dd4565b5b6134e987828801613444565b91505092959194509250565b6000806040838503121561350c5761350b612dcf565b5b600061351a85828601613025565b925050602061352b85828601613025565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061357c57607f821691505b602082108114156135905761358f613535565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006135f2602183612e9f565b91506135fd82613596565b604082019050919050565b60006020820190508181036000830152613621816135e5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613684603d83612e9f565b915061368f82613628565b604082019050919050565b600060208201905081810360008301526136b381613677565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613716602d83612e9f565b9150613721826136ba565b604082019050919050565b6000602082019050818103600083015261374581613709565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006137a8602b83612e9f565b91506137b38261374c565b604082019050919050565b600060208201905081810360008301526137d78161379b565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061383a602f83612e9f565b9150613845826137de565b604082019050919050565b600060208201905081810360008301526138698161382d565b9050919050565b7f43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b60006138a6602083612e9f565b91506138b182613870565b602082019050919050565b600060208201905081810360008301526138d581613899565b9050919050565b7f746f6b656e49647320746f6f20736d616c6c0000000000000000000000000000600082015250565b6000613912601283612e9f565b915061391d826138dc565b602082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b600061397e601183612e9f565b915061398982613948565b602082019050919050565b600060208201905081810360008301526139ad81613971565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139ee82612f4f565b91506139f983612f4f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a2e57613a2d6139b4565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613a6f601783612e9f565b9150613a7a82613a39565b602082019050919050565b60006020820190508181036000830152613a9e81613a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613adf82612f4f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b1257613b116139b4565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613b79602c83612e9f565b9150613b8482613b1d565b604082019050919050565b60006020820190508181036000830152613ba881613b6c565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613be5601883612e9f565b9150613bf082613baf565b602082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f20616464726573730000000000600082015250565b6000613c51601b83612e9f565b9150613c5c82613c1b565b602082019050919050565b60006020820190508181036000830152613c8081613c44565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613ce3602983612e9f565b9150613cee82613c87565b604082019050919050565b60006020820190508181036000830152613d1281613cd6565b9050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b6000613d4f601f83612e9f565b9150613d5a82613d19565b602082019050919050565b60006020820190508181036000830152613d7e81613d42565b9050919050565b6000604082019050613d9a6000830185612fe4565b613da7602083018461307a565b9392505050565b600067ffffffffffffffff821115613dc957613dc8613347565b5b613dd282612ee3565b9050602081019050919050565b6000613df2613ded84613dae565b6133a7565b905082815260208101848484011115613e0e57613e0d613342565b5b613e19848285612eb0565b509392505050565b600082601f830112613e3657613e3561333d565b5b8151613e46848260208601613ddf565b91505092915050565b600060208284031215613e6557613e64612dcf565b5b600082015167ffffffffffffffff811115613e8357613e82612dd4565b5b613e8f84828501613e21565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613ef4602583612e9f565b9150613eff82613e98565b604082019050919050565b60006020820190508181036000830152613f2381613ee7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f86602483612e9f565b9150613f9182613f2a565b604082019050919050565b60006020820190508181036000830152613fb581613f79565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613ff2601983612e9f565b9150613ffd82613fbc565b602082019050919050565b6000602082019050818103600083015261402181613fe5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614084603283612e9f565b915061408f82614028565b604082019050919050565b600060208201905081810360008301526140b381614077565b9050919050565b7f546f6b656e206e6f74207472616e7366657261626c6500000000000000000000600082015250565b60006140f0601683612e9f565b91506140fb826140ba565b602082019050919050565b6000602082019050818103600083015261411f816140e3565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614167601783614126565b915061417282614131565b601782019050919050565b600061418882612e94565b6141928185614126565b93506141a2818560208601612eb0565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006141e4601183614126565b91506141ef826141ae565b601182019050919050565b60006142058261415a565b9150614211828561417d565b915061421c826141d7565b9150614228828461417d565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061425b82614234565b614265818561423f565b9350614275818560208601612eb0565b61427e81612ee3565b840191505092915050565b600060808201905061429e6000830187612fe4565b6142ab6020830186612fe4565b6142b8604083018561307a565b81810360608301526142ca8184614250565b905095945050505050565b6000815190506142e481612e05565b92915050565b600060208284031215614300576142ff612dcf565b5b600061430e848285016142d5565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614373603583612e9f565b915061437e82614317565b604082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b60006143b482612f4f565b91506143bf83612f4f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143f8576143f76139b4565b5b828202905092915050565b600061440e82612f4f565b91506000821415614422576144216139b4565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614463602083612e9f565b915061446e8261442d565b602082019050919050565b6000602082019050818103600083015261449281614456565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006144cf602083612e9f565b91506144da82614499565b602082019050919050565b600060208201905081810360008301526144fe816144c2565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061453b601c83612e9f565b915061454682614505565b602082019050919050565b6000602082019050818103600083015261456a8161452e565b9050919050565b600061457c82612f4f565b915061458783612f4f565b92508282101561459a576145996139b4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122034b0f9246c7b958d25ef6f0853b392609f669a56a61c0c365bf88cee139d5ec664736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102065760003560e01c80634f6ccce71161011a578063a217fddf116100ad578063b930908f1161007c578063b930908f1461060b578063c87b56dd14610629578063d539139314610659578063d547741f14610677578063e985e9c51461069357610206565b8063a217fddf14610599578063a22cb465146105b7578063b6a6a93d146105d3578063b88d4fde146105ef57610206565b806370a08231116100e957806370a08231146104ff57806391d148541461052f57806395d89b411461055f578063965f4c601461057d57610206565b80634f6ccce714610453578063530dd079146104835780636352211e1461049f5780636a627842146104cf57610206565b8063248a9ca31161019d578063327ba6151161016c578063327ba615146103b357806336568abe146103cf57806342842e0e146103eb57806342966c681461040757806343508b051461042357610206565b8063248a9ca3146103195780632913daa0146103495780632f2ff15d146103675780632f745c591461038357610206565b806318160ddd116101d957806318160ddd146102a557806319d1997a146102c35780631cf4e3ee146102e157806323b872dd146102fd57610206565b806301ffc9a71461020b57806306fdde031461023b578063081812fc14610259578063095ea7b314610289575b600080fd5b61022560048036038101906102209190612e31565b6106c3565b6040516102329190612e79565b60405180910390f35b6102436106d5565b6040516102509190612f2d565b60405180910390f35b610273600480360381019061026e9190612f85565b610767565b6040516102809190612ff3565b60405180910390f35b6102a3600480360381019061029e919061303a565b6107ad565b005b6102ad6108c5565b6040516102ba9190613089565b60405180910390f35b6102cb6108d2565b6040516102d89190613089565b60405180910390f35b6102fb60048036038101906102f691906130a4565b6108f6565b005b610317600480360381019061031291906130d1565b610923565b005b610333600480360381019061032e919061315a565b610983565b6040516103409190613196565b60405180910390f35b6103516109a2565b60405161035e9190613089565b60405180910390f35b610381600480360381019061037c91906131b1565b6109a8565b005b61039d6004803603810190610398919061303a565b6109c9565b6040516103aa9190613089565b60405180910390f35b6103cd60048036038101906103c891906130a4565b610a6e565b005b6103e960048036038101906103e491906131b1565b610a9b565b005b610405600480360381019061040091906130d1565b610b1e565b005b610421600480360381019061041c9190612f85565b610b3e565b005b61043d6004803603810190610438919061303a565b610bc5565b60405161044a91906132af565b60405180910390f35b61046d60048036038101906104689190612f85565b610dd2565b60405161047a9190613089565b60405180910390f35b61049d600480360381019061049891906130a4565b610e43565b005b6104b960048036038101906104b49190612f85565b610e70565b6040516104c69190612ff3565b60405180910390f35b6104e960048036038101906104e491906130a4565b610ef7565b6040516104f69190613089565b60405180910390f35b610519600480360381019061051491906130a4565b61105f565b6040516105269190613089565b60405180910390f35b610549600480360381019061054491906131b1565b611117565b6040516105569190612e79565b60405180910390f35b610567611181565b6040516105749190612f2d565b60405180910390f35b610597600480360381019061059291906130a4565b611213565b005b6105a1611240565b6040516105ae9190613196565b60405180910390f35b6105d160048036038101906105cc91906132fd565b611247565b005b6105ed60048036038101906105e891906130a4565b61125d565b005b61060960048036038101906106049190613472565b6112af565b005b610613611311565b6040516106209190613196565b60405180910390f35b610643600480360381019061063e9190612f85565b611335565b6040516106509190612f2d565b60405180910390f35b610661611429565b60405161066e9190613196565b60405180910390f35b610691600480360381019061068c91906131b1565b61144d565b005b6106ad60048036038101906106a891906134f5565b61146e565b6040516106ba9190612e79565b60405180910390f35b60006106ce82611502565b9050919050565b6060600180546106e490613564565b80601f016020809104026020016040519081016040528092919081815260200182805461071090613564565b801561075d5780601f106107325761010080835404028352916020019161075d565b820191906000526020600020905b81548152906001019060200180831161074057829003601f168201915b5050505050905090565b60006107728261157c565b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006107b882610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610829576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082090613608565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108486115c7565b73ffffffffffffffffffffffffffffffffffffffff1614806108775750610876816108716115c7565b61146e565b5b6108b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ad9061369a565b60405180910390fd5b6108c083836115cf565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6109207f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68261144d565b50565b61093461092e6115c7565b82611688565b610973576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096a9061372c565b60405180910390fd5b61097e83838361171d565b505050565b6000806000838152602001908152602001600020600101549050919050565b600d5481565b6109b182610983565b6109ba81611a17565b6109c48383611a2b565b505050565b60006109d48361105f565b8210610a15576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0c906137be565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610a987fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826109a8565b50565b610aa36115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610b10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0790613850565b60405180910390fd5b610b1a8282611b0b565b5050565b610b39838383604051806020016040528060008152506112af565b505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22610b6881611a17565b610b79610b736115c7565b83611688565b610bb8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610baf906138bc565b60405180910390fd5b610bc182611bec565b5050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610bf181611a17565b60008311610c34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2b90613928565b60405180910390fd5b600d54831115610c79576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7090613994565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610d18577f000000000000000000000000000000000000000000000000000000000000000083610ccc6108c5565b610cd691906139e3565b1115610d17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0e90613a85565b60405180910390fd5b5b60008367ffffffffffffffff811115610d3457610d33613347565b5b604051908082528060200260200182016040528015610d625781602001602082028036833780820191505090505b50905060005b84811015610dc657610d7a600c611d3a565b6000610d86600c611d50565b9050610d928782611d5e565b80838381518110610da657610da5613aa5565b5b602002602001018181525050508080610dbe90613ad4565b915050610d68565b50809250505092915050565b6000610ddc6108c5565b8210610e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1490613b8f565b60405180910390fd5b60098281548110610e3157610e30613aa5565b5b90600052602060002001549050919050565b610e6d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826109a8565b50565b600080610e7c83611d7c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610eee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee590613bfb565b60405180910390fd5b80915050919050565b60007f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610f2381611a17565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8a90613c67565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115611033577f00000000000000000000000000000000000000000000000000000000000000006001610fe76108c5565b610ff191906139e3565b1115611032576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102990613a85565b60405180910390fd5b5b61103d600c611d3a565b6000611049600c611d50565b90506110558482611d5e565b8092505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156110d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c790613cf9565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60606002805461119090613564565b80601f01602080910402602001604051908101604052809291908181526020018280546111bc90613564565b80156112095780601f106111de57610100808354040283529160200191611209565b820191906000526020600020905b8154815290600101906020018083116111ec57829003601f168201915b5050505050905090565b61123d7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa228261144d565b50565b6000801b81565b6112596112526115c7565b8383611db9565b5050565b6000801b61126a81611a17565b81600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6112c06112ba6115c7565b83611688565b6112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f69061372c565b60405180910390fd5b61130b84848484611f26565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b606061134082611f82565b61137f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137690613d65565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f666196d30846040518363ffffffff1660e01b81526004016113dc929190613d85565b600060405180830381865afa1580156113f9573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f820116820180604052508101906114229190613e4f565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61145682610983565b61145f81611a17565b6114698383611b0b565b505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611575575061157482611fc3565b5b9050919050565b61158581611f82565b6115c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bb90613bfb565b60405180910390fd5b50565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661164283610e70565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061169483610e70565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806116d657506116d5818561146e565b5b8061171457508373ffffffffffffffffffffffffffffffffffffffff166116fc84610767565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661173d82610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611793576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178a90613f0a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611803576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117fa90613f9c565b60405180910390fd5b61181083838360016120a5565b8273ffffffffffffffffffffffffffffffffffffffff1661183082610e70565b73ffffffffffffffffffffffffffffffffffffffff1614611886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187d90613f0a565b60405180910390fd5b6005600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611a12838383600161215d565b505050565b611a2881611a236115c7565b612163565b50565b611a358282611117565b611b0757600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611aac6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611b158282611117565b15611be857600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b8d6115c7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611bf782610e70565b9050611c078160008460016120a5565b611c1082610e70565b90506005600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d3681600084600161215d565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b611d788282604051806020016040528060008152506121e8565b5050565b60006003600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611e28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1f90614008565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f199190612e79565b60405180910390a3505050565b611f3184848461171d565b611f3d84848484612243565b611f7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f739061409a565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fa483611d7c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061208e57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061209e575061209d826123cb565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061210c5750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b61214b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214290614106565b60405180910390fd5b61215784848484612445565b50505050565b50505050565b61216d8282611117565b6121e45761217a816125a5565b6121888360001c60206125d2565b6040516020016121999291906141fa565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121db9190612f2d565b60405180910390fd5b5050565b6121f2838361280e565b6121ff6000848484612243565b61223e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122359061409a565b60405180910390fd5b505050565b60006122648473ffffffffffffffffffffffffffffffffffffffff16612a2c565b156123be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261228d6115c7565b8786866040518563ffffffff1660e01b81526004016122af9493929190614289565b6020604051808303816000875af19250505080156122eb57506040513d601f19601f820116820180604052508101906122e891906142ea565b60015b61236e573d806000811461231b576040519150601f19603f3d011682016040523d82523d6000602084013e612320565b606091505b50600081511415612366576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235d9061409a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506123c3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061243e575061243d82612a4f565b5b9050919050565b61245184848484612ab9565b6001811115612495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248c90614389565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156124dd576124d881612abf565b61251c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461251b5761251a8582612b08565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561255f5761255a81612c75565b61259e565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461259d5761259c8482612d46565b5b5b5050505050565b60606125cb8273ffffffffffffffffffffffffffffffffffffffff16601460ff166125d2565b9050919050565b6060600060028360026125e591906143a9565b6125ef91906139e3565b67ffffffffffffffff81111561260857612607613347565b5b6040519080825280601f01601f19166020018201604052801561263a5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061267257612671613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106126d6576126d5613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261271691906143a9565b61272091906139e3565b90505b60018111156127c0577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061276257612761613aa5565b5b1a60f81b82828151811061277957612778613aa5565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806127b990614403565b9050612723565b5060008414612804576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127fb90614479565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561287e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612875906144e5565b60405180910390fd5b61288781611f82565b156128c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128be90614551565b60405180910390fd5b6128d56000838360016120a5565b6128de81611f82565b1561291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614551565b60405180910390fd5b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612a2860008383600161215d565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b50505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612b158461105f565b612b1f9190614571565b9050600060086000848152602001908152602001600020549050818114612c04576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612c899190614571565b90506000600a6000848152602001908152602001600020549050600060098381548110612cb957612cb8613aa5565b5b906000526020600020015490508060098381548110612cdb57612cda613aa5565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612d2a57612d296145a5565b5b6001900381819060005260206000200160009055905550505050565b6000612d518361105f565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612e0e81612dd9565b8114612e1957600080fd5b50565b600081359050612e2b81612e05565b92915050565b600060208284031215612e4757612e46612dcf565b5b6000612e5584828501612e1c565b91505092915050565b60008115159050919050565b612e7381612e5e565b82525050565b6000602082019050612e8e6000830184612e6a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ece578082015181840152602081019050612eb3565b83811115612edd576000848401525b50505050565b6000601f19601f8301169050919050565b6000612eff82612e94565b612f098185612e9f565b9350612f19818560208601612eb0565b612f2281612ee3565b840191505092915050565b60006020820190508181036000830152612f478184612ef4565b905092915050565b6000819050919050565b612f6281612f4f565b8114612f6d57600080fd5b50565b600081359050612f7f81612f59565b92915050565b600060208284031215612f9b57612f9a612dcf565b5b6000612fa984828501612f70565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612fdd82612fb2565b9050919050565b612fed81612fd2565b82525050565b60006020820190506130086000830184612fe4565b92915050565b61301781612fd2565b811461302257600080fd5b50565b6000813590506130348161300e565b92915050565b6000806040838503121561305157613050612dcf565b5b600061305f85828601613025565b925050602061307085828601612f70565b9150509250929050565b61308381612f4f565b82525050565b600060208201905061309e600083018461307a565b92915050565b6000602082840312156130ba576130b9612dcf565b5b60006130c884828501613025565b91505092915050565b6000806000606084860312156130ea576130e9612dcf565b5b60006130f886828701613025565b935050602061310986828701613025565b925050604061311a86828701612f70565b9150509250925092565b6000819050919050565b61313781613124565b811461314257600080fd5b50565b6000813590506131548161312e565b92915050565b6000602082840312156131705761316f612dcf565b5b600061317e84828501613145565b91505092915050565b61319081613124565b82525050565b60006020820190506131ab6000830184613187565b92915050565b600080604083850312156131c8576131c7612dcf565b5b60006131d685828601613145565b92505060206131e785828601613025565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61322681612f4f565b82525050565b6000613238838361321d565b60208301905092915050565b6000602082019050919050565b600061325c826131f1565b61326681856131fc565b93506132718361320d565b8060005b838110156132a2578151613289888261322c565b975061329483613244565b925050600181019050613275565b5085935050505092915050565b600060208201905081810360008301526132c98184613251565b905092915050565b6132da81612e5e565b81146132e557600080fd5b50565b6000813590506132f7816132d1565b92915050565b6000806040838503121561331457613313612dcf565b5b600061332285828601613025565b9250506020613333858286016132e8565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61337f82612ee3565b810181811067ffffffffffffffff8211171561339e5761339d613347565b5b80604052505050565b60006133b1612dc5565b90506133bd8282613376565b919050565b600067ffffffffffffffff8211156133dd576133dc613347565b5b6133e682612ee3565b9050602081019050919050565b82818337600083830152505050565b6000613415613410846133c2565b6133a7565b90508281526020810184848401111561343157613430613342565b5b61343c8482856133f3565b509392505050565b600082601f8301126134595761345861333d565b5b8135613469848260208601613402565b91505092915050565b6000806000806080858703121561348c5761348b612dcf565b5b600061349a87828801613025565b94505060206134ab87828801613025565b93505060406134bc87828801612f70565b925050606085013567ffffffffffffffff8111156134dd576134dc612dd4565b5b6134e987828801613444565b91505092959194509250565b6000806040838503121561350c5761350b612dcf565b5b600061351a85828601613025565b925050602061352b85828601613025565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061357c57607f821691505b602082108114156135905761358f613535565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006135f2602183612e9f565b91506135fd82613596565b604082019050919050565b60006020820190508181036000830152613621816135e5565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613684603d83612e9f565b915061368f82613628565b604082019050919050565b600060208201905081810360008301526136b381613677565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613716602d83612e9f565b9150613721826136ba565b604082019050919050565b6000602082019050818103600083015261374581613709565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b60006137a8602b83612e9f565b91506137b38261374c565b604082019050919050565b600060208201905081810360008301526137d78161379b565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600061383a602f83612e9f565b9150613845826137de565b604082019050919050565b600060208201905081810360008301526138698161382d565b9050919050565b7f43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564600082015250565b60006138a6602083612e9f565b91506138b182613870565b602082019050919050565b600060208201905081810360008301526138d581613899565b9050919050565b7f746f6b656e49647320746f6f20736d616c6c0000000000000000000000000000600082015250565b6000613912601283612e9f565b915061391d826138dc565b602082019050919050565b6000602082019050818103600083015261394181613905565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b600061397e601183612e9f565b915061398982613948565b602082019050919050565b600060208201905081810360008301526139ad81613971565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006139ee82612f4f565b91506139f983612f4f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a2e57613a2d6139b4565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613a6f601783612e9f565b9150613a7a82613a39565b602082019050919050565b60006020820190508181036000830152613a9e81613a62565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613adf82612f4f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613b1257613b116139b4565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613b79602c83612e9f565b9150613b8482613b1d565b604082019050919050565b60006020820190508181036000830152613ba881613b6c565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613be5601883612e9f565b9150613bf082613baf565b602082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f20616464726573730000000000600082015250565b6000613c51601b83612e9f565b9150613c5c82613c1b565b602082019050919050565b60006020820190508181036000830152613c8081613c44565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613ce3602983612e9f565b9150613cee82613c87565b604082019050919050565b60006020820190508181036000830152613d1281613cd6565b9050919050565b7f55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e00600082015250565b6000613d4f601f83612e9f565b9150613d5a82613d19565b602082019050919050565b60006020820190508181036000830152613d7e81613d42565b9050919050565b6000604082019050613d9a6000830185612fe4565b613da7602083018461307a565b9392505050565b600067ffffffffffffffff821115613dc957613dc8613347565b5b613dd282612ee3565b9050602081019050919050565b6000613df2613ded84613dae565b6133a7565b905082815260208101848484011115613e0e57613e0d613342565b5b613e19848285612eb0565b509392505050565b600082601f830112613e3657613e3561333d565b5b8151613e46848260208601613ddf565b91505092915050565b600060208284031215613e6557613e64612dcf565b5b600082015167ffffffffffffffff811115613e8357613e82612dd4565b5b613e8f84828501613e21565b91505092915050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613ef4602583612e9f565b9150613eff82613e98565b604082019050919050565b60006020820190508181036000830152613f2381613ee7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f86602483612e9f565b9150613f9182613f2a565b604082019050919050565b60006020820190508181036000830152613fb581613f79565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613ff2601983612e9f565b9150613ffd82613fbc565b602082019050919050565b6000602082019050818103600083015261402181613fe5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614084603283612e9f565b915061408f82614028565b604082019050919050565b600060208201905081810360008301526140b381614077565b9050919050565b7f546f6b656e206e6f74207472616e7366657261626c6500000000000000000000600082015250565b60006140f0601683612e9f565b91506140fb826140ba565b602082019050919050565b6000602082019050818103600083015261411f816140e3565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614167601783614126565b915061417282614131565b601782019050919050565b600061418882612e94565b6141928185614126565b93506141a2818560208601612eb0565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006141e4601183614126565b91506141ef826141ae565b601182019050919050565b60006142058261415a565b9150614211828561417d565b915061421c826141d7565b9150614228828461417d565b91508190509392505050565b600081519050919050565b600082825260208201905092915050565b600061425b82614234565b614265818561423f565b9350614275818560208601612eb0565b61427e81612ee3565b840191505092915050565b600060808201905061429e6000830187612fe4565b6142ab6020830186612fe4565b6142b8604083018561307a565b81810360608301526142ca8184614250565b905095945050505050565b6000815190506142e481612e05565b92915050565b600060208284031215614300576142ff612dcf565b5b600061430e848285016142d5565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614373603583612e9f565b915061437e82614317565b604082019050919050565b600060208201905081810360008301526143a281614366565b9050919050565b60006143b482612f4f565b91506143bf83612f4f565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156143f8576143f76139b4565b5b828202905092915050565b600061440e82612f4f565b91506000821415614422576144216139b4565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614463602083612e9f565b915061446e8261442d565b602082019050919050565b6000602082019050818103600083015261449281614456565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006144cf602083612e9f565b91506144da82614499565b602082019050919050565b600060208201905081810360008301526144fe816144c2565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061453b601c83612e9f565b915061454682614505565b602082019050919050565b6000602082019050818103600083015261456a8161452e565b9050919050565b600061457c82612f4f565b915061458783612f4f565b92508282101561459a576145996139b4565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122034b0f9246c7b958d25ef6f0853b392609f669a56a61c0c365bf88cee139d5ec664736f6c634300080a0033", "immutableReferences": { - "2435": [ + "3563": [ { "length": 32, - "start": 2223 + "start": 2260 }, { "length": 32, - "start": 3490 + "start": 3197 }, { "length": 32, - "start": 3529 + "start": 3236 + }, + { + "length": 32, + "start": 3991 + }, + { + "length": 32, + "start": 4030 } ] }, @@ -753,22 +798,22 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:4609:15", + "src": "0:4609:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:15", + "src": "47:35:18", "statements": [ { "nodeType": "YulAssignment", - "src": "57:19:15", + "src": "57:19:18", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "73:2:15", + "src": "73:2:18", "type": "", "value": "64" } @@ -776,16 +821,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "67:5:15" + "src": "67:5:18" }, "nodeType": "YulFunctionCall", - "src": "67:9:15" + "src": "67:9:18" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "57:6:15" + "src": "57:6:18" } ] } @@ -797,16 +842,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40:6:15", + "src": "40:6:18", "type": "" } ], - "src": "7:75:15" + "src": "7:75:18" }, { "body": { "nodeType": "YulBlock", - "src": "177:28:15", + "src": "177:28:18", "statements": [ { "expression": { @@ -814,14 +859,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:15", + "src": "194:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:15", + "src": "197:1:18", "type": "", "value": "0" } @@ -829,24 +874,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "187:6:15" + "src": "187:6:18" }, "nodeType": "YulFunctionCall", - "src": "187:12:15" + "src": "187:12:18" }, "nodeType": "YulExpressionStatement", - "src": "187:12:15" + "src": "187:12:18" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "88:117:15" + "src": "88:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "300:28:15", + "src": "300:28:18", "statements": [ { "expression": { @@ -854,14 +899,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "317:1:15", + "src": "317:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "320:1:15", + "src": "320:1:18", "type": "", "value": "0" } @@ -869,24 +914,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "310:6:15" + "src": "310:6:18" }, "nodeType": "YulFunctionCall", - "src": "310:12:15" + "src": "310:12:18" }, "nodeType": "YulExpressionStatement", - "src": "310:12:15" + "src": "310:12:18" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "211:117:15" + "src": "211:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "423:28:15", + "src": "423:28:18", "statements": [ { "expression": { @@ -894,14 +939,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "440:1:15", + "src": "440:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "443:1:15", + "src": "443:1:18", "type": "", "value": "0" } @@ -909,24 +954,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "433:6:15" + "src": "433:6:18" }, "nodeType": "YulFunctionCall", - "src": "433:12:15" + "src": "433:12:18" }, "nodeType": "YulExpressionStatement", - "src": "433:12:15" + "src": "433:12:18" } ] }, "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulFunctionDefinition", - "src": "334:117:15" + "src": "334:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "546:28:15", + "src": "546:28:18", "statements": [ { "expression": { @@ -934,14 +979,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "563:1:15", + "src": "563:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "566:1:15", + "src": "566:1:18", "type": "", "value": "0" } @@ -949,28 +994,28 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "556:6:15" + "src": "556:6:18" }, "nodeType": "YulFunctionCall", - "src": "556:12:15" + "src": "556:12:18" }, "nodeType": "YulExpressionStatement", - "src": "556:12:15" + "src": "556:12:18" } ] }, "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulFunctionDefinition", - "src": "457:117:15" + "src": "457:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "628:54:15", + "src": "628:54:18", "statements": [ { "nodeType": "YulAssignment", - "src": "638:38:15", + "src": "638:38:18", "value": { "arguments": [ { @@ -978,12 +1023,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "656:5:15" + "src": "656:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "663:2:15", + "src": "663:2:18", "type": "", "value": "31" } @@ -991,17 +1036,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "652:3:15" + "src": "652:3:18" }, "nodeType": "YulFunctionCall", - "src": "652:14:15" + "src": "652:14:18" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "672:2:15", + "src": "672:2:18", "type": "", "value": "31" } @@ -1009,25 +1054,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "668:3:15" + "src": "668:3:18" }, "nodeType": "YulFunctionCall", - "src": "668:7:15" + "src": "668:7:18" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "648:3:15" + "src": "648:3:18" }, "nodeType": "YulFunctionCall", - "src": "648:28:15" + "src": "648:28:18" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "638:6:15" + "src": "638:6:18" } ] } @@ -1039,7 +1084,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "611:5:15", + "src": "611:5:18", "type": "" } ], @@ -1047,16 +1092,16 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "621:6:15", + "src": "621:6:18", "type": "" } ], - "src": "580:102:15" + "src": "580:102:18" }, { "body": { "nodeType": "YulBlock", - "src": "716:152:15", + "src": "716:152:18", "statements": [ { "expression": { @@ -1064,14 +1109,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "733:1:15", + "src": "733:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "736:77:15", + "src": "736:77:18", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -1079,13 +1124,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "726:6:15" + "src": "726:6:18" }, "nodeType": "YulFunctionCall", - "src": "726:88:15" + "src": "726:88:18" }, "nodeType": "YulExpressionStatement", - "src": "726:88:15" + "src": "726:88:18" }, { "expression": { @@ -1093,14 +1138,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "830:1:15", + "src": "830:1:18", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "833:4:15", + "src": "833:4:18", "type": "", "value": "0x41" } @@ -1108,13 +1153,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "823:6:15" + "src": "823:6:18" }, "nodeType": "YulFunctionCall", - "src": "823:15:15" + "src": "823:15:18" }, "nodeType": "YulExpressionStatement", - "src": "823:15:15" + "src": "823:15:18" }, { "expression": { @@ -1122,14 +1167,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "854:1:15", + "src": "854:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "857:4:15", + "src": "857:4:18", "type": "", "value": "0x24" } @@ -1137,65 +1182,65 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "847:6:15" + "src": "847:6:18" }, "nodeType": "YulFunctionCall", - "src": "847:15:15" + "src": "847:15:18" }, "nodeType": "YulExpressionStatement", - "src": "847:15:15" + "src": "847:15:18" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "688:180:15" + "src": "688:180:18" }, { "body": { "nodeType": "YulBlock", - "src": "917:238:15", + "src": "917:238:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "927:58:15", + "src": "927:58:18", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "949:6:15" + "src": "949:6:18" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "979:4:15" + "src": "979:4:18" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "957:21:15" + "src": "957:21:18" }, "nodeType": "YulFunctionCall", - "src": "957:27:15" + "src": "957:27:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "945:3:15" + "src": "945:3:18" }, "nodeType": "YulFunctionCall", - "src": "945:40:15" + "src": "945:40:18" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "931:10:15", + "src": "931:10:18", "type": "" } ] @@ -1203,7 +1248,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1096:22:15", + "src": "1096:22:18", "statements": [ { "expression": { @@ -1211,13 +1256,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1098:16:15" + "src": "1098:16:18" }, "nodeType": "YulFunctionCall", - "src": "1098:18:15" + "src": "1098:18:18" }, "nodeType": "YulExpressionStatement", - "src": "1098:18:15" + "src": "1098:18:18" } ] }, @@ -1228,12 +1273,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1039:10:15" + "src": "1039:10:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1051:18:15", + "src": "1051:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -1241,43 +1286,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1036:2:15" + "src": "1036:2:18" }, "nodeType": "YulFunctionCall", - "src": "1036:34:15" + "src": "1036:34:18" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1075:10:15" + "src": "1075:10:18" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1087:6:15" + "src": "1087:6:18" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1072:2:15" + "src": "1072:2:18" }, "nodeType": "YulFunctionCall", - "src": "1072:22:15" + "src": "1072:22:18" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "1033:2:15" + "src": "1033:2:18" }, "nodeType": "YulFunctionCall", - "src": "1033:62:15" + "src": "1033:62:18" }, "nodeType": "YulIf", - "src": "1030:88:15" + "src": "1030:88:18" }, { "expression": { @@ -1285,26 +1330,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "1134:2:15", + "src": "1134:2:18", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "1138:10:15" + "src": "1138:10:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1127:6:15" + "src": "1127:6:18" }, "nodeType": "YulFunctionCall", - "src": "1127:22:15" + "src": "1127:22:18" }, "nodeType": "YulExpressionStatement", - "src": "1127:22:15" + "src": "1127:22:18" } ] }, @@ -1314,41 +1359,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "903:6:15", + "src": "903:6:18", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "911:4:15", + "src": "911:4:18", "type": "" } ], - "src": "874:281:15" + "src": "874:281:18" }, { "body": { "nodeType": "YulBlock", - "src": "1202:88:15", + "src": "1202:88:18", "statements": [ { "nodeType": "YulAssignment", - "src": "1212:30:15", + "src": "1212:30:18", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "1222:18:15" + "src": "1222:18:18" }, "nodeType": "YulFunctionCall", - "src": "1222:20:15" + "src": "1222:20:18" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1212:6:15" + "src": "1212:6:18" } ] }, @@ -1358,24 +1403,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "1271:6:15" + "src": "1271:6:18" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "1279:4:15" + "src": "1279:4:18" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "1251:19:15" + "src": "1251:19:18" }, "nodeType": "YulFunctionCall", - "src": "1251:33:15" + "src": "1251:33:18" }, "nodeType": "YulExpressionStatement", - "src": "1251:33:15" + "src": "1251:33:18" } ] }, @@ -1385,7 +1430,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "1186:4:15", + "src": "1186:4:18", "type": "" } ], @@ -1393,21 +1438,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "1195:6:15", + "src": "1195:6:18", "type": "" } ], - "src": "1161:129:15" + "src": "1161:129:18" }, { "body": { "nodeType": "YulBlock", - "src": "1363:241:15", + "src": "1363:241:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "1468:22:15", + "src": "1468:22:18", "statements": [ { "expression": { @@ -1415,13 +1460,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "1470:16:15" + "src": "1470:16:18" }, "nodeType": "YulFunctionCall", - "src": "1470:18:15" + "src": "1470:18:18" }, "nodeType": "YulExpressionStatement", - "src": "1470:18:15" + "src": "1470:18:18" } ] }, @@ -1430,12 +1475,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "1440:6:15" + "src": "1440:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1448:18:15", + "src": "1448:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -1443,55 +1488,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1437:2:15" + "src": "1437:2:18" }, "nodeType": "YulFunctionCall", - "src": "1437:30:15" + "src": "1437:30:18" }, "nodeType": "YulIf", - "src": "1434:56:15" + "src": "1434:56:18" }, { "nodeType": "YulAssignment", - "src": "1500:37:15", + "src": "1500:37:18", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1530:6:15" + "src": "1530:6:18" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "1508:21:15" + "src": "1508:21:18" }, "nodeType": "YulFunctionCall", - "src": "1508:29:15" + "src": "1508:29:18" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1500:4:15" + "src": "1500:4:18" } ] }, { "nodeType": "YulAssignment", - "src": "1574:23:15", + "src": "1574:23:18", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1586:4:15" + "src": "1586:4:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1592:4:15", + "src": "1592:4:18", "type": "", "value": "0x20" } @@ -1499,16 +1544,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1582:3:15" + "src": "1582:3:18" }, "nodeType": "YulFunctionCall", - "src": "1582:15:15" + "src": "1582:15:18" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "1574:4:15" + "src": "1574:4:18" } ] } @@ -1520,7 +1565,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "1347:6:15", + "src": "1347:6:18", "type": "" } ], @@ -1528,24 +1573,24 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "1358:4:15", + "src": "1358:4:18", "type": "" } ], - "src": "1296:308:15" + "src": "1296:308:18" }, { "body": { "nodeType": "YulBlock", - "src": "1659:258:15", + "src": "1659:258:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1669:10:15", + "src": "1669:10:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1678:1:15", + "src": "1678:1:18", "type": "", "value": "0" }, @@ -1553,7 +1598,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "1673:1:15", + "src": "1673:1:18", "type": "" } ] @@ -1561,7 +1606,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1738:63:15", + "src": "1738:63:18", "statements": [ { "expression": { @@ -1571,21 +1616,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1763:3:15" + "src": "1763:3:18" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1768:1:15" + "src": "1768:1:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1759:3:15" + "src": "1759:3:18" }, "nodeType": "YulFunctionCall", - "src": "1759:11:15" + "src": "1759:11:18" }, { "arguments": [ @@ -1594,42 +1639,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "1782:3:15" + "src": "1782:3:18" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1787:1:15" + "src": "1787:1:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1778:3:15" + "src": "1778:3:18" }, "nodeType": "YulFunctionCall", - "src": "1778:11:15" + "src": "1778:11:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1772:5:15" + "src": "1772:5:18" }, "nodeType": "YulFunctionCall", - "src": "1772:18:15" + "src": "1772:18:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1752:6:15" + "src": "1752:6:18" }, "nodeType": "YulFunctionCall", - "src": "1752:39:15" + "src": "1752:39:18" }, "nodeType": "YulExpressionStatement", - "src": "1752:39:15" + "src": "1752:39:18" } ] }, @@ -1638,41 +1683,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1699:1:15" + "src": "1699:1:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1702:6:15" + "src": "1702:6:18" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1696:2:15" + "src": "1696:2:18" }, "nodeType": "YulFunctionCall", - "src": "1696:13:15" + "src": "1696:13:18" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1710:19:15", + "src": "1710:19:18", "statements": [ { "nodeType": "YulAssignment", - "src": "1712:15:15", + "src": "1712:15:18", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1721:1:15" + "src": "1721:1:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1724:2:15", + "src": "1724:2:18", "type": "", "value": "32" } @@ -1680,16 +1725,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1717:3:15" + "src": "1717:3:18" }, "nodeType": "YulFunctionCall", - "src": "1717:10:15" + "src": "1717:10:18" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1712:1:15" + "src": "1712:1:18" } ] } @@ -1697,15 +1742,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "1692:3:15", + "src": "1692:3:18", "statements": [] }, - "src": "1688:113:15" + "src": "1688:113:18" }, { "body": { "nodeType": "YulBlock", - "src": "1835:76:15", + "src": "1835:76:18", "statements": [ { "expression": { @@ -1715,26 +1760,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1885:3:15" + "src": "1885:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1890:6:15" + "src": "1890:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1881:3:15" + "src": "1881:3:18" }, "nodeType": "YulFunctionCall", - "src": "1881:16:15" + "src": "1881:16:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1899:1:15", + "src": "1899:1:18", "type": "", "value": "0" } @@ -1742,13 +1787,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1874:6:15" + "src": "1874:6:18" }, "nodeType": "YulFunctionCall", - "src": "1874:27:15" + "src": "1874:27:18" }, "nodeType": "YulExpressionStatement", - "src": "1874:27:15" + "src": "1874:27:18" } ] }, @@ -1757,24 +1802,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1816:1:15" + "src": "1816:1:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1819:6:15" + "src": "1819:6:18" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "1813:2:15" + "src": "1813:2:18" }, "nodeType": "YulFunctionCall", - "src": "1813:13:15" + "src": "1813:13:18" }, "nodeType": "YulIf", - "src": "1810:101:15" + "src": "1810:101:18" } ] }, @@ -1784,32 +1829,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1641:3:15", + "src": "1641:3:18", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "1646:3:15", + "src": "1646:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1651:6:15", + "src": "1651:6:18", "type": "" } ], - "src": "1610:307:15" + "src": "1610:307:18" }, { "body": { "nodeType": "YulBlock", - "src": "2018:326:15", + "src": "2018:326:18", "statements": [ { "nodeType": "YulAssignment", - "src": "2028:75:15", + "src": "2028:75:18", "value": { "arguments": [ { @@ -1817,31 +1862,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "2095:6:15" + "src": "2095:6:18" } ], "functionName": { "name": "array_allocation_size_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2053:41:15" + "src": "2053:41:18" }, "nodeType": "YulFunctionCall", - "src": "2053:49:15" + "src": "2053:49:18" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "2037:15:15" + "src": "2037:15:18" }, "nodeType": "YulFunctionCall", - "src": "2037:66:15" + "src": "2037:66:18" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2028:5:15" + "src": "2028:5:18" } ] }, @@ -1851,39 +1896,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "2119:5:15" + "src": "2119:5:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2126:6:15" + "src": "2126:6:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2112:6:15" + "src": "2112:6:18" }, "nodeType": "YulFunctionCall", - "src": "2112:21:15" + "src": "2112:21:18" }, "nodeType": "YulExpressionStatement", - "src": "2112:21:15" + "src": "2112:21:18" }, { "nodeType": "YulVariableDeclaration", - "src": "2142:27:15", + "src": "2142:27:18", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2157:5:15" + "src": "2157:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2164:4:15", + "src": "2164:4:18", "type": "", "value": "0x20" } @@ -1891,16 +1936,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2153:3:15" + "src": "2153:3:18" }, "nodeType": "YulFunctionCall", - "src": "2153:16:15" + "src": "2153:16:18" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "2146:3:15", + "src": "2146:3:18", "type": "" } ] @@ -1908,7 +1953,7 @@ { "body": { "nodeType": "YulBlock", - "src": "2207:83:15", + "src": "2207:83:18", "statements": [ { "expression": { @@ -1916,13 +1961,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "2209:77:15" + "src": "2209:77:18" }, "nodeType": "YulFunctionCall", - "src": "2209:79:15" + "src": "2209:79:18" }, "nodeType": "YulExpressionStatement", - "src": "2209:79:15" + "src": "2209:79:18" } ] }, @@ -1933,38 +1978,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "2188:3:15" + "src": "2188:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2193:6:15" + "src": "2193:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2184:3:15" + "src": "2184:3:18" }, "nodeType": "YulFunctionCall", - "src": "2184:16:15" + "src": "2184:16:18" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2202:3:15" + "src": "2202:3:18" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2181:2:15" + "src": "2181:2:18" }, "nodeType": "YulFunctionCall", - "src": "2181:25:15" + "src": "2181:25:18" }, "nodeType": "YulIf", - "src": "2178:112:15" + "src": "2178:112:18" }, { "expression": { @@ -1972,29 +2017,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "2321:3:15" + "src": "2321:3:18" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "2326:3:15" + "src": "2326:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2331:6:15" + "src": "2331:6:18" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2299:21:15" + "src": "2299:21:18" }, "nodeType": "YulFunctionCall", - "src": "2299:39:15" + "src": "2299:39:18" }, "nodeType": "YulExpressionStatement", - "src": "2299:39:15" + "src": "2299:39:18" } ] }, @@ -2004,19 +2049,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1991:3:15", + "src": "1991:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1996:6:15", + "src": "1996:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2004:3:15", + "src": "2004:3:18", "type": "" } ], @@ -2024,21 +2069,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "2012:5:15", + "src": "2012:5:18", "type": "" } ], - "src": "1923:421:15" + "src": "1923:421:18" }, { "body": { "nodeType": "YulBlock", - "src": "2437:282:15", + "src": "2437:282:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2486:83:15", + "src": "2486:83:18", "statements": [ { "expression": { @@ -2046,13 +2091,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "2488:77:15" + "src": "2488:77:18" }, "nodeType": "YulFunctionCall", - "src": "2488:79:15" + "src": "2488:79:18" }, "nodeType": "YulExpressionStatement", - "src": "2488:79:15" + "src": "2488:79:18" } ] }, @@ -2065,12 +2110,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2465:6:15" + "src": "2465:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2473:4:15", + "src": "2473:4:18", "type": "", "value": "0x1f" } @@ -2078,68 +2123,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2461:3:15" + "src": "2461:3:18" }, "nodeType": "YulFunctionCall", - "src": "2461:17:15" + "src": "2461:17:18" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2480:3:15" + "src": "2480:3:18" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "2457:3:15" + "src": "2457:3:18" }, "nodeType": "YulFunctionCall", - "src": "2457:27:15" + "src": "2457:27:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2450:6:15" + "src": "2450:6:18" }, "nodeType": "YulFunctionCall", - "src": "2450:35:15" + "src": "2450:35:18" }, "nodeType": "YulIf", - "src": "2447:122:15" + "src": "2447:122:18" }, { "nodeType": "YulVariableDeclaration", - "src": "2578:27:15", + "src": "2578:27:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2598:6:15" + "src": "2598:6:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "2592:5:15" + "src": "2592:5:18" }, "nodeType": "YulFunctionCall", - "src": "2592:13:15" + "src": "2592:13:18" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2582:6:15", + "src": "2582:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2614:99:15", + "src": "2614:99:18", "value": { "arguments": [ { @@ -2147,12 +2192,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "2686:6:15" + "src": "2686:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2694:4:15", + "src": "2694:4:18", "type": "", "value": "0x20" } @@ -2160,35 +2205,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2682:3:15" + "src": "2682:3:18" }, "nodeType": "YulFunctionCall", - "src": "2682:17:15" + "src": "2682:17:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2701:6:15" + "src": "2701:6:18" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "2709:3:15" + "src": "2709:3:18" } ], "functionName": { "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "2623:58:15" + "src": "2623:58:18" }, "nodeType": "YulFunctionCall", - "src": "2623:90:15" + "src": "2623:90:18" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "2614:5:15" + "src": "2614:5:18" } ] } @@ -2200,13 +2245,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2415:6:15", + "src": "2415:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2423:3:15", + "src": "2423:3:18", "type": "" } ], @@ -2214,30 +2259,30 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "2431:5:15", + "src": "2431:5:18", "type": "" } ], - "src": "2364:355:15" + "src": "2364:355:18" }, { "body": { "nodeType": "YulBlock", - "src": "2770:32:15", + "src": "2770:32:18", "statements": [ { "nodeType": "YulAssignment", - "src": "2780:16:15", + "src": "2780:16:18", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2791:5:15" + "src": "2791:5:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2780:7:15" + "src": "2780:7:18" } ] } @@ -2249,7 +2294,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2752:5:15", + "src": "2752:5:18", "type": "" } ], @@ -2257,21 +2302,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2762:7:15", + "src": "2762:7:18", "type": "" } ], - "src": "2725:77:15" + "src": "2725:77:18" }, { "body": { "nodeType": "YulBlock", - "src": "2851:79:15", + "src": "2851:79:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "2908:16:15", + "src": "2908:16:18", "statements": [ { "expression": { @@ -2279,14 +2324,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "2917:1:15", + "src": "2917:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2920:1:15", + "src": "2920:1:18", "type": "", "value": "0" } @@ -2294,13 +2339,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "2910:6:15" + "src": "2910:6:18" }, "nodeType": "YulFunctionCall", - "src": "2910:12:15" + "src": "2910:12:18" }, "nodeType": "YulExpressionStatement", - "src": "2910:12:15" + "src": "2910:12:18" } ] }, @@ -2311,44 +2356,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2874:5:15" + "src": "2874:5:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2899:5:15" + "src": "2899:5:18" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "2881:17:15" + "src": "2881:17:18" }, "nodeType": "YulFunctionCall", - "src": "2881:24:15" + "src": "2881:24:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "2871:2:15" + "src": "2871:2:18" }, "nodeType": "YulFunctionCall", - "src": "2871:35:15" + "src": "2871:35:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "2864:6:15" + "src": "2864:6:18" }, "nodeType": "YulFunctionCall", - "src": "2864:43:15" + "src": "2864:43:18" }, "nodeType": "YulIf", - "src": "2861:63:15" + "src": "2861:63:18" } ] }, @@ -2358,41 +2403,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2844:5:15", + "src": "2844:5:18", "type": "" } ], - "src": "2808:122:15" + "src": "2808:122:18" }, { "body": { "nodeType": "YulBlock", - "src": "2999:80:15", + "src": "2999:80:18", "statements": [ { "nodeType": "YulAssignment", - "src": "3009:22:15", + "src": "3009:22:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3024:6:15" + "src": "3024:6:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3018:5:15" + "src": "3018:5:18" }, "nodeType": "YulFunctionCall", - "src": "3018:13:15" + "src": "3018:13:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3009:5:15" + "src": "3009:5:18" } ] }, @@ -2402,19 +2447,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3067:5:15" + "src": "3067:5:18" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "3040:26:15" + "src": "3040:26:18" }, "nodeType": "YulFunctionCall", - "src": "3040:33:15" + "src": "3040:33:18" }, "nodeType": "YulExpressionStatement", - "src": "3040:33:15" + "src": "3040:33:18" } ] }, @@ -2424,13 +2469,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "2977:6:15", + "src": "2977:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "2985:3:15", + "src": "2985:3:18", "type": "" } ], @@ -2438,21 +2483,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2993:5:15", + "src": "2993:5:18", "type": "" } ], - "src": "2936:143:15" + "src": "2936:143:18" }, { "body": { "nodeType": "YulBlock", - "src": "3216:878:15", + "src": "3216:878:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3262:83:15", + "src": "3262:83:18", "statements": [ { "expression": { @@ -2460,13 +2505,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3264:77:15" + "src": "3264:77:18" }, "nodeType": "YulFunctionCall", - "src": "3264:79:15" + "src": "3264:79:18" }, "nodeType": "YulExpressionStatement", - "src": "3264:79:15" + "src": "3264:79:18" } ] }, @@ -2477,26 +2522,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3237:7:15" + "src": "3237:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3246:9:15" + "src": "3246:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3233:3:15" + "src": "3233:3:18" }, "nodeType": "YulFunctionCall", - "src": "3233:23:15" + "src": "3233:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3258:2:15", + "src": "3258:2:18", "type": "", "value": "96" } @@ -2504,21 +2549,21 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "3229:3:15" + "src": "3229:3:18" }, "nodeType": "YulFunctionCall", - "src": "3229:32:15" + "src": "3229:32:18" }, "nodeType": "YulIf", - "src": "3226:119:15" + "src": "3226:119:18" }, { "nodeType": "YulBlock", - "src": "3355:291:15", + "src": "3355:291:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3370:38:15", + "src": "3370:38:18", "value": { "arguments": [ { @@ -2526,12 +2571,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3394:9:15" + "src": "3394:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3405:1:15", + "src": "3405:1:18", "type": "", "value": "0" } @@ -2539,25 +2584,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3390:3:15" + "src": "3390:3:18" }, "nodeType": "YulFunctionCall", - "src": "3390:17:15" + "src": "3390:17:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3384:5:15" + "src": "3384:5:18" }, "nodeType": "YulFunctionCall", - "src": "3384:24:15" + "src": "3384:24:18" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3374:6:15", + "src": "3374:6:18", "type": "" } ] @@ -2565,7 +2610,7 @@ { "body": { "nodeType": "YulBlock", - "src": "3455:83:15", + "src": "3455:83:18", "statements": [ { "expression": { @@ -2573,13 +2618,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "3457:77:15" + "src": "3457:77:18" }, "nodeType": "YulFunctionCall", - "src": "3457:79:15" + "src": "3457:79:18" }, "nodeType": "YulExpressionStatement", - "src": "3457:79:15" + "src": "3457:79:18" } ] }, @@ -2588,12 +2633,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3427:6:15" + "src": "3427:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3435:18:15", + "src": "3435:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -2601,17 +2646,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3424:2:15" + "src": "3424:2:18" }, "nodeType": "YulFunctionCall", - "src": "3424:30:15" + "src": "3424:30:18" }, "nodeType": "YulIf", - "src": "3421:117:15" + "src": "3421:117:18" }, { "nodeType": "YulAssignment", - "src": "3552:84:15", + "src": "3552:84:18", "value": { "arguments": [ { @@ -2619,41 +2664,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3608:9:15" + "src": "3608:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3619:6:15" + "src": "3619:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3604:3:15" + "src": "3604:3:18" }, "nodeType": "YulFunctionCall", - "src": "3604:22:15" + "src": "3604:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3628:7:15" + "src": "3628:7:18" } ], "functionName": { "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "3562:41:15" + "src": "3562:41:18" }, "nodeType": "YulFunctionCall", - "src": "3562:74:15" + "src": "3562:74:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3552:6:15" + "src": "3552:6:18" } ] } @@ -2661,11 +2706,11 @@ }, { "nodeType": "YulBlock", - "src": "3656:292:15", + "src": "3656:292:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3671:39:15", + "src": "3671:39:18", "value": { "arguments": [ { @@ -2673,12 +2718,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3695:9:15" + "src": "3695:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3706:2:15", + "src": "3706:2:18", "type": "", "value": "32" } @@ -2686,25 +2731,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3691:3:15" + "src": "3691:3:18" }, "nodeType": "YulFunctionCall", - "src": "3691:18:15" + "src": "3691:18:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "3685:5:15" + "src": "3685:5:18" }, "nodeType": "YulFunctionCall", - "src": "3685:25:15" + "src": "3685:25:18" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "3675:6:15", + "src": "3675:6:18", "type": "" } ] @@ -2712,7 +2757,7 @@ { "body": { "nodeType": "YulBlock", - "src": "3757:83:15", + "src": "3757:83:18", "statements": [ { "expression": { @@ -2720,13 +2765,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "3759:77:15" + "src": "3759:77:18" }, "nodeType": "YulFunctionCall", - "src": "3759:79:15" + "src": "3759:79:18" }, "nodeType": "YulExpressionStatement", - "src": "3759:79:15" + "src": "3759:79:18" } ] }, @@ -2735,12 +2780,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3729:6:15" + "src": "3729:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3737:18:15", + "src": "3737:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -2748,17 +2793,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "3726:2:15" + "src": "3726:2:18" }, "nodeType": "YulFunctionCall", - "src": "3726:30:15" + "src": "3726:30:18" }, "nodeType": "YulIf", - "src": "3723:117:15" + "src": "3723:117:18" }, { "nodeType": "YulAssignment", - "src": "3854:84:15", + "src": "3854:84:18", "value": { "arguments": [ { @@ -2766,41 +2811,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3910:9:15" + "src": "3910:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3921:6:15" + "src": "3921:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3906:3:15" + "src": "3906:3:18" }, "nodeType": "YulFunctionCall", - "src": "3906:22:15" + "src": "3906:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3930:7:15" + "src": "3930:7:18" } ], "functionName": { "name": "abi_decode_t_string_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "3864:41:15" + "src": "3864:41:18" }, "nodeType": "YulFunctionCall", - "src": "3864:74:15" + "src": "3864:74:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "3854:6:15" + "src": "3854:6:18" } ] } @@ -2808,15 +2853,15 @@ }, { "nodeType": "YulBlock", - "src": "3958:129:15", + "src": "3958:129:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3973:16:15", + "src": "3973:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3987:2:15", + "src": "3987:2:18", "type": "", "value": "64" }, @@ -2824,14 +2869,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3977:6:15", + "src": "3977:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4003:74:15", + "src": "4003:74:18", "value": { "arguments": [ { @@ -2839,41 +2884,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4049:9:15" + "src": "4049:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4060:6:15" + "src": "4060:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4045:3:15" + "src": "4045:3:18" }, "nodeType": "YulFunctionCall", - "src": "4045:22:15" + "src": "4045:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4069:7:15" + "src": "4069:7:18" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "4013:31:15" + "src": "4013:31:18" }, "nodeType": "YulFunctionCall", - "src": "4013:64:15" + "src": "4013:64:18" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "4003:6:15" + "src": "4003:6:18" } ] } @@ -2887,13 +2932,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3170:9:15", + "src": "3170:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "3181:7:15", + "src": "3181:7:18", "type": "" } ], @@ -2901,28 +2946,28 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "3193:6:15", + "src": "3193:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "3201:6:15", + "src": "3201:6:18", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "3209:6:15", + "src": "3209:6:18", "type": "" } ], - "src": "3085:1009:15" + "src": "3085:1009:18" }, { "body": { "nodeType": "YulBlock", - "src": "4128:152:15", + "src": "4128:152:18", "statements": [ { "expression": { @@ -2930,14 +2975,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4145:1:15", + "src": "4145:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4148:77:15", + "src": "4148:77:18", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -2945,13 +2990,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4138:6:15" + "src": "4138:6:18" }, "nodeType": "YulFunctionCall", - "src": "4138:88:15" + "src": "4138:88:18" }, "nodeType": "YulExpressionStatement", - "src": "4138:88:15" + "src": "4138:88:18" }, { "expression": { @@ -2959,14 +3004,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4242:1:15", + "src": "4242:1:18", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4245:4:15", + "src": "4245:4:18", "type": "", "value": "0x22" } @@ -2974,13 +3019,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "4235:6:15" + "src": "4235:6:18" }, "nodeType": "YulFunctionCall", - "src": "4235:15:15" + "src": "4235:15:18" }, "nodeType": "YulExpressionStatement", - "src": "4235:15:15" + "src": "4235:15:18" }, { "expression": { @@ -2988,14 +3033,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4266:1:15", + "src": "4266:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4269:4:15", + "src": "4269:4:18", "type": "", "value": "0x24" } @@ -3003,39 +3048,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4259:6:15" + "src": "4259:6:18" }, "nodeType": "YulFunctionCall", - "src": "4259:15:15" + "src": "4259:15:18" }, "nodeType": "YulExpressionStatement", - "src": "4259:15:15" + "src": "4259:15:18" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "4100:180:15" + "src": "4100:180:18" }, { "body": { "nodeType": "YulBlock", - "src": "4337:269:15", + "src": "4337:269:18", "statements": [ { "nodeType": "YulAssignment", - "src": "4347:22:15", + "src": "4347:22:18", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4361:4:15" + "src": "4361:4:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4367:1:15", + "src": "4367:1:18", "type": "", "value": "2" } @@ -3043,33 +3088,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "4357:3:15" + "src": "4357:3:18" }, "nodeType": "YulFunctionCall", - "src": "4357:12:15" + "src": "4357:12:18" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4347:6:15" + "src": "4347:6:18" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "4378:38:15", + "src": "4378:38:18", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "4408:4:15" + "src": "4408:4:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4414:1:15", + "src": "4414:1:18", "type": "", "value": "1" } @@ -3077,16 +3122,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4404:3:15" + "src": "4404:3:18" }, "nodeType": "YulFunctionCall", - "src": "4404:12:15" + "src": "4404:12:18" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "4382:18:15", + "src": "4382:18:18", "type": "" } ] @@ -3094,22 +3139,22 @@ { "body": { "nodeType": "YulBlock", - "src": "4455:51:15", + "src": "4455:51:18", "statements": [ { "nodeType": "YulAssignment", - "src": "4469:27:15", + "src": "4469:27:18", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4483:6:15" + "src": "4483:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4491:4:15", + "src": "4491:4:18", "type": "", "value": "0x7f" } @@ -3117,16 +3162,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "4479:3:15" + "src": "4479:3:18" }, "nodeType": "YulFunctionCall", - "src": "4479:17:15" + "src": "4479:17:18" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4469:6:15" + "src": "4469:6:18" } ] } @@ -3137,24 +3182,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4435:18:15" + "src": "4435:18:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4428:6:15" + "src": "4428:6:18" }, "nodeType": "YulFunctionCall", - "src": "4428:26:15" + "src": "4428:26:18" }, "nodeType": "YulIf", - "src": "4425:81:15" + "src": "4425:81:18" }, { "body": { "nodeType": "YulBlock", - "src": "4558:42:15", + "src": "4558:42:18", "statements": [ { "expression": { @@ -3162,13 +3207,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "4572:16:15" + "src": "4572:16:18" }, "nodeType": "YulFunctionCall", - "src": "4572:18:15" + "src": "4572:18:18" }, "nodeType": "YulExpressionStatement", - "src": "4572:18:15" + "src": "4572:18:18" } ] }, @@ -3177,19 +3222,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "4522:18:15" + "src": "4522:18:18" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "4545:6:15" + "src": "4545:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4553:2:15", + "src": "4553:2:18", "type": "", "value": "32" } @@ -3197,22 +3242,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "4542:2:15" + "src": "4542:2:18" }, "nodeType": "YulFunctionCall", - "src": "4542:14:15" + "src": "4542:14:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4519:2:15" + "src": "4519:2:18" }, "nodeType": "YulFunctionCall", - "src": "4519:38:15" + "src": "4519:38:18" }, "nodeType": "YulIf", - "src": "4516:84:15" + "src": "4516:84:18" } ] }, @@ -3222,7 +3267,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "4321:4:15", + "src": "4321:4:18", "type": "" } ], @@ -3230,16 +3275,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "4330:6:15", + "src": "4330:6:18", "type": "" } ], - "src": "4286:320:15" + "src": "4286:320:18" } ] }, "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n}\n", - "id": 15, + "id": 18, "language": "Yul", "name": "#utility.yul" } @@ -3248,22 +3293,22 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:41248:15", + "src": "0:45976:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "47:35:15", + "src": "47:35:18", "statements": [ { "nodeType": "YulAssignment", - "src": "57:19:15", + "src": "57:19:18", "value": { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "73:2:15", + "src": "73:2:18", "type": "", "value": "64" } @@ -3271,16 +3316,16 @@ "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "67:5:15" + "src": "67:5:18" }, "nodeType": "YulFunctionCall", - "src": "67:9:15" + "src": "67:9:18" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "57:6:15" + "src": "57:6:18" } ] } @@ -3292,16 +3337,16 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40:6:15", + "src": "40:6:18", "type": "" } ], - "src": "7:75:15" + "src": "7:75:18" }, { "body": { "nodeType": "YulBlock", - "src": "177:28:15", + "src": "177:28:18", "statements": [ { "expression": { @@ -3309,14 +3354,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "194:1:15", + "src": "194:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "197:1:15", + "src": "197:1:18", "type": "", "value": "0" } @@ -3324,24 +3369,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "187:6:15" + "src": "187:6:18" }, "nodeType": "YulFunctionCall", - "src": "187:12:15" + "src": "187:12:18" }, "nodeType": "YulExpressionStatement", - "src": "187:12:15" + "src": "187:12:18" } ] }, "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulFunctionDefinition", - "src": "88:117:15" + "src": "88:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "300:28:15", + "src": "300:28:18", "statements": [ { "expression": { @@ -3349,14 +3394,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "317:1:15", + "src": "317:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "320:1:15", + "src": "320:1:18", "type": "", "value": "0" } @@ -3364,39 +3409,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "310:6:15" + "src": "310:6:18" }, "nodeType": "YulFunctionCall", - "src": "310:12:15" + "src": "310:12:18" }, "nodeType": "YulExpressionStatement", - "src": "310:12:15" + "src": "310:12:18" } ] }, "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulFunctionDefinition", - "src": "211:117:15" + "src": "211:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "378:105:15", + "src": "378:105:18", "statements": [ { "nodeType": "YulAssignment", - "src": "388:89:15", + "src": "388:89:18", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "403:5:15" + "src": "403:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "410:66:15", + "src": "410:66:18", "type": "", "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" } @@ -3404,16 +3449,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "399:3:15" + "src": "399:3:18" }, "nodeType": "YulFunctionCall", - "src": "399:78:15" + "src": "399:78:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "388:7:15" + "src": "388:7:18" } ] } @@ -3425,7 +3470,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "360:5:15", + "src": "360:5:18", "type": "" } ], @@ -3433,21 +3478,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "370:7:15", + "src": "370:7:18", "type": "" } ], - "src": "334:149:15" + "src": "334:149:18" }, { "body": { "nodeType": "YulBlock", - "src": "531:78:15", + "src": "531:78:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "587:16:15", + "src": "587:16:18", "statements": [ { "expression": { @@ -3455,14 +3500,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "596:1:15", + "src": "596:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "599:1:15", + "src": "599:1:18", "type": "", "value": "0" } @@ -3470,13 +3515,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "589:6:15" + "src": "589:6:18" }, "nodeType": "YulFunctionCall", - "src": "589:12:15" + "src": "589:12:18" }, "nodeType": "YulExpressionStatement", - "src": "589:12:15" + "src": "589:12:18" } ] }, @@ -3487,44 +3532,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "554:5:15" + "src": "554:5:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "578:5:15" + "src": "578:5:18" } ], "functionName": { "name": "cleanup_t_bytes4", "nodeType": "YulIdentifier", - "src": "561:16:15" + "src": "561:16:18" }, "nodeType": "YulFunctionCall", - "src": "561:23:15" + "src": "561:23:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "551:2:15" + "src": "551:2:18" }, "nodeType": "YulFunctionCall", - "src": "551:34:15" + "src": "551:34:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "544:6:15" + "src": "544:6:18" }, "nodeType": "YulFunctionCall", - "src": "544:42:15" + "src": "544:42:18" }, "nodeType": "YulIf", - "src": "541:62:15" + "src": "541:62:18" } ] }, @@ -3534,41 +3579,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "524:5:15", + "src": "524:5:18", "type": "" } ], - "src": "489:120:15" + "src": "489:120:18" }, { "body": { "nodeType": "YulBlock", - "src": "666:86:15", + "src": "666:86:18", "statements": [ { "nodeType": "YulAssignment", - "src": "676:29:15", + "src": "676:29:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "698:6:15" + "src": "698:6:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "685:12:15" + "src": "685:12:18" }, "nodeType": "YulFunctionCall", - "src": "685:20:15" + "src": "685:20:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "676:5:15" + "src": "676:5:18" } ] }, @@ -3578,19 +3623,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "740:5:15" + "src": "740:5:18" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "714:25:15" + "src": "714:25:18" }, "nodeType": "YulFunctionCall", - "src": "714:32:15" + "src": "714:32:18" }, "nodeType": "YulExpressionStatement", - "src": "714:32:15" + "src": "714:32:18" } ] }, @@ -3600,13 +3645,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "644:6:15", + "src": "644:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "652:3:15", + "src": "652:3:18", "type": "" } ], @@ -3614,21 +3659,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "660:5:15", + "src": "660:5:18", "type": "" } ], - "src": "615:137:15" + "src": "615:137:18" }, { "body": { "nodeType": "YulBlock", - "src": "823:262:15", + "src": "823:262:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "869:83:15", + "src": "869:83:18", "statements": [ { "expression": { @@ -3636,13 +3681,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "871:77:15" + "src": "871:77:18" }, "nodeType": "YulFunctionCall", - "src": "871:79:15" + "src": "871:79:18" }, "nodeType": "YulExpressionStatement", - "src": "871:79:15" + "src": "871:79:18" } ] }, @@ -3653,26 +3698,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "844:7:15" + "src": "844:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "853:9:15" + "src": "853:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "840:3:15" + "src": "840:3:18" }, "nodeType": "YulFunctionCall", - "src": "840:23:15" + "src": "840:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "865:2:15", + "src": "865:2:18", "type": "", "value": "32" } @@ -3680,25 +3725,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "836:3:15" + "src": "836:3:18" }, "nodeType": "YulFunctionCall", - "src": "836:32:15" + "src": "836:32:18" }, "nodeType": "YulIf", - "src": "833:119:15" + "src": "833:119:18" }, { "nodeType": "YulBlock", - "src": "962:116:15", + "src": "962:116:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "977:15:15", + "src": "977:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "991:1:15", + "src": "991:1:18", "type": "", "value": "0" }, @@ -3706,14 +3751,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "981:6:15", + "src": "981:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "1006:62:15", + "src": "1006:62:18", "value": { "arguments": [ { @@ -3721,41 +3766,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1040:9:15" + "src": "1040:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "1051:6:15" + "src": "1051:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1036:3:15" + "src": "1036:3:18" }, "nodeType": "YulFunctionCall", - "src": "1036:22:15" + "src": "1036:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "1060:7:15" + "src": "1060:7:18" } ], "functionName": { "name": "abi_decode_t_bytes4", "nodeType": "YulIdentifier", - "src": "1016:19:15" + "src": "1016:19:18" }, "nodeType": "YulFunctionCall", - "src": "1016:52:15" + "src": "1016:52:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1006:6:15" + "src": "1006:6:18" } ] } @@ -3769,13 +3814,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "793:9:15", + "src": "793:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "804:7:15", + "src": "804:7:18", "type": "" } ], @@ -3783,20 +3828,20 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "816:6:15", + "src": "816:6:18", "type": "" } ], - "src": "758:327:15" + "src": "758:327:18" }, { "body": { "nodeType": "YulBlock", - "src": "1133:48:15", + "src": "1133:48:18", "statements": [ { "nodeType": "YulAssignment", - "src": "1143:32:15", + "src": "1143:32:18", "value": { "arguments": [ { @@ -3804,31 +3849,31 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "1168:5:15" + "src": "1168:5:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "1161:6:15" + "src": "1161:6:18" }, "nodeType": "YulFunctionCall", - "src": "1161:13:15" + "src": "1161:13:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "1154:6:15" + "src": "1154:6:18" }, "nodeType": "YulFunctionCall", - "src": "1154:21:15" + "src": "1154:21:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "1143:7:15" + "src": "1143:7:18" } ] } @@ -3840,7 +3885,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1115:5:15", + "src": "1115:5:18", "type": "" } ], @@ -3848,16 +3893,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "1125:7:15", + "src": "1125:7:18", "type": "" } ], - "src": "1091:90:15" + "src": "1091:90:18" }, { "body": { "nodeType": "YulBlock", - "src": "1246:50:15", + "src": "1246:50:18", "statements": [ { "expression": { @@ -3865,35 +3910,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1263:3:15" + "src": "1263:3:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1283:5:15" + "src": "1283:5:18" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "1268:14:15" + "src": "1268:14:18" }, "nodeType": "YulFunctionCall", - "src": "1268:21:15" + "src": "1268:21:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1256:6:15" + "src": "1256:6:18" }, "nodeType": "YulFunctionCall", - "src": "1256:34:15" + "src": "1256:34:18" }, "nodeType": "YulExpressionStatement", - "src": "1256:34:15" + "src": "1256:34:18" } ] }, @@ -3903,37 +3948,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1234:5:15", + "src": "1234:5:18", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "1241:3:15", + "src": "1241:3:18", "type": "" } ], - "src": "1187:109:15" + "src": "1187:109:18" }, { "body": { "nodeType": "YulBlock", - "src": "1394:118:15", + "src": "1394:118:18", "statements": [ { "nodeType": "YulAssignment", - "src": "1404:26:15", + "src": "1404:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1416:9:15" + "src": "1416:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1427:2:15", + "src": "1427:2:18", "type": "", "value": "32" } @@ -3941,16 +3986,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1412:3:15" + "src": "1412:3:18" }, "nodeType": "YulFunctionCall", - "src": "1412:18:15" + "src": "1412:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "1404:4:15" + "src": "1404:4:18" } ] }, @@ -3960,19 +4005,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "1478:6:15" + "src": "1478:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "1491:9:15" + "src": "1491:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1502:1:15", + "src": "1502:1:18", "type": "", "value": "0" } @@ -3980,22 +4025,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1487:3:15" + "src": "1487:3:18" }, "nodeType": "YulFunctionCall", - "src": "1487:17:15" + "src": "1487:17:18" } ], "functionName": { "name": "abi_encode_t_bool_to_t_bool_fromStack", "nodeType": "YulIdentifier", - "src": "1440:37:15" + "src": "1440:37:18" }, "nodeType": "YulFunctionCall", - "src": "1440:65:15" + "src": "1440:65:18" }, "nodeType": "YulExpressionStatement", - "src": "1440:65:15" + "src": "1440:65:18" } ] }, @@ -4005,13 +4050,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "1366:9:15", + "src": "1366:9:18", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "1378:6:15", + "src": "1378:6:18", "type": "" } ], @@ -4019,41 +4064,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "1389:4:15", + "src": "1389:4:18", "type": "" } ], - "src": "1302:210:15" + "src": "1302:210:18" }, { "body": { "nodeType": "YulBlock", - "src": "1577:40:15", + "src": "1577:40:18", "statements": [ { "nodeType": "YulAssignment", - "src": "1588:22:15", + "src": "1588:22:18", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "1604:5:15" + "src": "1604:5:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1598:5:15" + "src": "1598:5:18" }, "nodeType": "YulFunctionCall", - "src": "1598:12:15" + "src": "1598:12:18" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "1588:6:15" + "src": "1588:6:18" } ] } @@ -4065,7 +4110,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "1560:5:15", + "src": "1560:5:18", "type": "" } ], @@ -4073,16 +4118,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "1570:6:15", + "src": "1570:6:18", "type": "" } ], - "src": "1518:99:15" + "src": "1518:99:18" }, { "body": { "nodeType": "YulBlock", - "src": "1719:73:15", + "src": "1719:73:18", "statements": [ { "expression": { @@ -4090,39 +4135,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1736:3:15" + "src": "1736:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1741:6:15" + "src": "1741:6:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1729:6:15" + "src": "1729:6:18" }, "nodeType": "YulFunctionCall", - "src": "1729:19:15" + "src": "1729:19:18" }, "nodeType": "YulExpressionStatement", - "src": "1729:19:15" + "src": "1729:19:18" }, { "nodeType": "YulAssignment", - "src": "1757:29:15", + "src": "1757:29:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "1776:3:15" + "src": "1776:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1781:4:15", + "src": "1781:4:18", "type": "", "value": "0x20" } @@ -4130,16 +4175,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1772:3:15" + "src": "1772:3:18" }, "nodeType": "YulFunctionCall", - "src": "1772:14:15" + "src": "1772:14:18" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "1757:11:15" + "src": "1757:11:18" } ] } @@ -4151,13 +4196,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "1691:3:15", + "src": "1691:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1696:6:15", + "src": "1696:6:18", "type": "" } ], @@ -4165,24 +4210,24 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "1707:11:15", + "src": "1707:11:18", "type": "" } ], - "src": "1623:169:15" + "src": "1623:169:18" }, { "body": { "nodeType": "YulBlock", - "src": "1847:258:15", + "src": "1847:258:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "1857:10:15", + "src": "1857:10:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "1866:1:15", + "src": "1866:1:18", "type": "", "value": "0" }, @@ -4190,7 +4235,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "1861:1:15", + "src": "1861:1:18", "type": "" } ] @@ -4198,7 +4243,7 @@ { "body": { "nodeType": "YulBlock", - "src": "1926:63:15", + "src": "1926:63:18", "statements": [ { "expression": { @@ -4208,21 +4253,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "1951:3:15" + "src": "1951:3:18" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1956:1:15" + "src": "1956:1:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1947:3:15" + "src": "1947:3:18" }, "nodeType": "YulFunctionCall", - "src": "1947:11:15" + "src": "1947:11:18" }, { "arguments": [ @@ -4231,42 +4276,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "1970:3:15" + "src": "1970:3:18" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "1975:1:15" + "src": "1975:1:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1966:3:15" + "src": "1966:3:18" }, "nodeType": "YulFunctionCall", - "src": "1966:11:15" + "src": "1966:11:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "1960:5:15" + "src": "1960:5:18" }, "nodeType": "YulFunctionCall", - "src": "1960:18:15" + "src": "1960:18:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "1940:6:15" + "src": "1940:6:18" }, "nodeType": "YulFunctionCall", - "src": "1940:39:15" + "src": "1940:39:18" }, "nodeType": "YulExpressionStatement", - "src": "1940:39:15" + "src": "1940:39:18" } ] }, @@ -4275,41 +4320,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "1887:1:15" + "src": "1887:1:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "1890:6:15" + "src": "1890:6:18" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "1884:2:15" + "src": "1884:2:18" }, "nodeType": "YulFunctionCall", - "src": "1884:13:15" + "src": "1884:13:18" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "1898:19:15", + "src": "1898:19:18", "statements": [ { "nodeType": "YulAssignment", - "src": "1900:15:15", + "src": "1900:15:18", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1909:1:15" + "src": "1909:1:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "1912:2:15", + "src": "1912:2:18", "type": "", "value": "32" } @@ -4317,16 +4362,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "1905:3:15" + "src": "1905:3:18" }, "nodeType": "YulFunctionCall", - "src": "1905:10:15" + "src": "1905:10:18" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "1900:1:15" + "src": "1900:1:18" } ] } @@ -4334,15 +4379,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "1880:3:15", + "src": "1880:3:18", "statements": [] }, - "src": "1876:113:15" + "src": "1876:113:18" }, { "body": { "nodeType": "YulBlock", - "src": "2023:76:15", + "src": "2023:76:18", "statements": [ { "expression": { @@ -4352,26 +4397,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "2073:3:15" + "src": "2073:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2078:6:15" + "src": "2078:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2069:3:15" + "src": "2069:3:18" }, "nodeType": "YulFunctionCall", - "src": "2069:16:15" + "src": "2069:16:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2087:1:15", + "src": "2087:1:18", "type": "", "value": "0" } @@ -4379,13 +4424,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2062:6:15" + "src": "2062:6:18" }, "nodeType": "YulFunctionCall", - "src": "2062:27:15" + "src": "2062:27:18" }, "nodeType": "YulExpressionStatement", - "src": "2062:27:15" + "src": "2062:27:18" } ] }, @@ -4394,24 +4439,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "2004:1:15" + "src": "2004:1:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2007:6:15" + "src": "2007:6:18" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "2001:2:15" + "src": "2001:2:18" }, "nodeType": "YulFunctionCall", - "src": "2001:13:15" + "src": "2001:13:18" }, "nodeType": "YulIf", - "src": "1998:101:15" + "src": "1998:101:18" } ] }, @@ -4421,32 +4466,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "1829:3:15", + "src": "1829:3:18", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "1834:3:15", + "src": "1834:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "1839:6:15", + "src": "1839:6:18", "type": "" } ], - "src": "1798:307:15" + "src": "1798:307:18" }, { "body": { "nodeType": "YulBlock", - "src": "2159:54:15", + "src": "2159:54:18", "statements": [ { "nodeType": "YulAssignment", - "src": "2169:38:15", + "src": "2169:38:18", "value": { "arguments": [ { @@ -4454,12 +4499,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2187:5:15" + "src": "2187:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2194:2:15", + "src": "2194:2:18", "type": "", "value": "31" } @@ -4467,17 +4512,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2183:3:15" + "src": "2183:3:18" }, "nodeType": "YulFunctionCall", - "src": "2183:14:15" + "src": "2183:14:18" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "2203:2:15", + "src": "2203:2:18", "type": "", "value": "31" } @@ -4485,25 +4530,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "2199:3:15" + "src": "2199:3:18" }, "nodeType": "YulFunctionCall", - "src": "2199:7:15" + "src": "2199:7:18" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "2179:3:15" + "src": "2179:3:18" }, "nodeType": "YulFunctionCall", - "src": "2179:28:15" + "src": "2179:28:18" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "2169:6:15" + "src": "2169:6:18" } ] } @@ -4515,7 +4560,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2142:5:15", + "src": "2142:5:18", "type": "" } ], @@ -4523,74 +4568,74 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "2152:6:15", + "src": "2152:6:18", "type": "" } ], - "src": "2111:102:15" + "src": "2111:102:18" }, { "body": { "nodeType": "YulBlock", - "src": "2311:272:15", + "src": "2311:272:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "2321:53:15", + "src": "2321:53:18", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "2368:5:15" + "src": "2368:5:18" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "2335:32:15" + "src": "2335:32:18" }, "nodeType": "YulFunctionCall", - "src": "2335:39:15" + "src": "2335:39:18" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "2325:6:15", + "src": "2325:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "2383:78:15", + "src": "2383:78:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2449:3:15" + "src": "2449:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2454:6:15" + "src": "2454:6:18" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2390:58:15" + "src": "2390:58:18" }, "nodeType": "YulFunctionCall", - "src": "2390:71:15" + "src": "2390:71:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2383:3:15" + "src": "2383:3:18" } ] }, @@ -4602,12 +4647,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "2496:5:15" + "src": "2496:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2503:4:15", + "src": "2503:4:18", "type": "", "value": "0x20" } @@ -4615,73 +4660,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2492:3:15" + "src": "2492:3:18" }, "nodeType": "YulFunctionCall", - "src": "2492:16:15" + "src": "2492:16:18" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "2510:3:15" + "src": "2510:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "2515:6:15" + "src": "2515:6:18" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "2470:21:15" + "src": "2470:21:18" }, "nodeType": "YulFunctionCall", - "src": "2470:52:15" + "src": "2470:52:18" }, "nodeType": "YulExpressionStatement", - "src": "2470:52:15" + "src": "2470:52:18" }, { "nodeType": "YulAssignment", - "src": "2531:46:15", + "src": "2531:46:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "2542:3:15" + "src": "2542:3:18" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "2569:6:15" + "src": "2569:6:18" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "2547:21:15" + "src": "2547:21:18" }, "nodeType": "YulFunctionCall", - "src": "2547:29:15" + "src": "2547:29:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2538:3:15" + "src": "2538:3:18" }, "nodeType": "YulFunctionCall", - "src": "2538:39:15" + "src": "2538:39:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "2531:3:15" + "src": "2531:3:18" } ] } @@ -4693,13 +4738,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2292:5:15", + "src": "2292:5:18", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "2299:3:15", + "src": "2299:3:18", "type": "" } ], @@ -4707,31 +4752,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "2307:3:15", + "src": "2307:3:18", "type": "" } ], - "src": "2219:364:15" + "src": "2219:364:18" }, { "body": { "nodeType": "YulBlock", - "src": "2707:195:15", + "src": "2707:195:18", "statements": [ { "nodeType": "YulAssignment", - "src": "2717:26:15", + "src": "2717:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2729:9:15" + "src": "2729:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2740:2:15", + "src": "2740:2:18", "type": "", "value": "32" } @@ -4739,16 +4784,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2725:3:15" + "src": "2725:3:18" }, "nodeType": "YulFunctionCall", - "src": "2725:18:15" + "src": "2725:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2717:4:15" + "src": "2717:4:18" } ] }, @@ -4760,12 +4805,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2764:9:15" + "src": "2764:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "2775:1:15", + "src": "2775:1:18", "type": "", "value": "0" } @@ -4773,73 +4818,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "2760:3:15" + "src": "2760:3:18" }, "nodeType": "YulFunctionCall", - "src": "2760:17:15" + "src": "2760:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2783:4:15" + "src": "2783:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "2789:9:15" + "src": "2789:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "2779:3:15" + "src": "2779:3:18" }, "nodeType": "YulFunctionCall", - "src": "2779:20:15" + "src": "2779:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "2753:6:15" + "src": "2753:6:18" }, "nodeType": "YulFunctionCall", - "src": "2753:47:15" + "src": "2753:47:18" }, "nodeType": "YulExpressionStatement", - "src": "2753:47:15" + "src": "2753:47:18" }, { "nodeType": "YulAssignment", - "src": "2809:86:15", + "src": "2809:86:18", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "2881:6:15" + "src": "2881:6:18" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "2890:4:15" + "src": "2890:4:18" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "2817:63:15" + "src": "2817:63:18" }, "nodeType": "YulFunctionCall", - "src": "2817:78:15" + "src": "2817:78:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "2809:4:15" + "src": "2809:4:18" } ] } @@ -4851,13 +4896,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "2679:9:15", + "src": "2679:9:18", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "2691:6:15", + "src": "2691:6:18", "type": "" } ], @@ -4865,30 +4910,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "2702:4:15", + "src": "2702:4:18", "type": "" } ], - "src": "2589:313:15" + "src": "2589:313:18" }, { "body": { "nodeType": "YulBlock", - "src": "2953:32:15", + "src": "2953:32:18", "statements": [ { "nodeType": "YulAssignment", - "src": "2963:16:15", + "src": "2963:16:18", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "2974:5:15" + "src": "2974:5:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "2963:7:15" + "src": "2963:7:18" } ] } @@ -4900,7 +4945,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "2935:5:15", + "src": "2935:5:18", "type": "" } ], @@ -4908,21 +4953,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "2945:7:15", + "src": "2945:7:18", "type": "" } ], - "src": "2908:77:15" + "src": "2908:77:18" }, { "body": { "nodeType": "YulBlock", - "src": "3034:79:15", + "src": "3034:79:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3091:16:15", + "src": "3091:16:18", "statements": [ { "expression": { @@ -4930,14 +4975,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "3100:1:15", + "src": "3100:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3103:1:15", + "src": "3103:1:18", "type": "", "value": "0" } @@ -4945,13 +4990,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "3093:6:15" + "src": "3093:6:18" }, "nodeType": "YulFunctionCall", - "src": "3093:12:15" + "src": "3093:12:18" }, "nodeType": "YulExpressionStatement", - "src": "3093:12:15" + "src": "3093:12:18" } ] }, @@ -4962,44 +5007,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3057:5:15" + "src": "3057:5:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3082:5:15" + "src": "3082:5:18" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "3064:17:15" + "src": "3064:17:18" }, "nodeType": "YulFunctionCall", - "src": "3064:24:15" + "src": "3064:24:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "3054:2:15" + "src": "3054:2:18" }, "nodeType": "YulFunctionCall", - "src": "3054:35:15" + "src": "3054:35:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "3047:6:15" + "src": "3047:6:18" }, "nodeType": "YulFunctionCall", - "src": "3047:43:15" + "src": "3047:43:18" }, "nodeType": "YulIf", - "src": "3044:63:15" + "src": "3044:63:18" } ] }, @@ -5009,41 +5054,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3027:5:15", + "src": "3027:5:18", "type": "" } ], - "src": "2991:122:15" + "src": "2991:122:18" }, { "body": { "nodeType": "YulBlock", - "src": "3171:87:15", + "src": "3171:87:18", "statements": [ { "nodeType": "YulAssignment", - "src": "3181:29:15", + "src": "3181:29:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "3203:6:15" + "src": "3203:6:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "3190:12:15" + "src": "3190:12:18" }, "nodeType": "YulFunctionCall", - "src": "3190:20:15" + "src": "3190:20:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3181:5:15" + "src": "3181:5:18" } ] }, @@ -5053,19 +5098,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "3246:5:15" + "src": "3246:5:18" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "3219:26:15" + "src": "3219:26:18" }, "nodeType": "YulFunctionCall", - "src": "3219:33:15" + "src": "3219:33:18" }, "nodeType": "YulExpressionStatement", - "src": "3219:33:15" + "src": "3219:33:18" } ] }, @@ -5075,13 +5120,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3149:6:15", + "src": "3149:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "3157:3:15", + "src": "3157:3:18", "type": "" } ], @@ -5089,21 +5134,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3165:5:15", + "src": "3165:5:18", "type": "" } ], - "src": "3119:139:15" + "src": "3119:139:18" }, { "body": { "nodeType": "YulBlock", - "src": "3330:263:15", + "src": "3330:263:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "3376:83:15", + "src": "3376:83:18", "statements": [ { "expression": { @@ -5111,13 +5156,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "3378:77:15" + "src": "3378:77:18" }, "nodeType": "YulFunctionCall", - "src": "3378:79:15" + "src": "3378:79:18" }, "nodeType": "YulExpressionStatement", - "src": "3378:79:15" + "src": "3378:79:18" } ] }, @@ -5128,26 +5173,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3351:7:15" + "src": "3351:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3360:9:15" + "src": "3360:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "3347:3:15" + "src": "3347:3:18" }, "nodeType": "YulFunctionCall", - "src": "3347:23:15" + "src": "3347:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3372:2:15", + "src": "3372:2:18", "type": "", "value": "32" } @@ -5155,25 +5200,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "3343:3:15" + "src": "3343:3:18" }, "nodeType": "YulFunctionCall", - "src": "3343:32:15" + "src": "3343:32:18" }, "nodeType": "YulIf", - "src": "3340:119:15" + "src": "3340:119:18" }, { "nodeType": "YulBlock", - "src": "3469:117:15", + "src": "3469:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "3484:15:15", + "src": "3484:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "3498:1:15", + "src": "3498:1:18", "type": "", "value": "0" }, @@ -5181,14 +5226,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "3488:6:15", + "src": "3488:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "3513:63:15", + "src": "3513:63:18", "value": { "arguments": [ { @@ -5196,41 +5241,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "3548:9:15" + "src": "3548:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "3559:6:15" + "src": "3559:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "3544:3:15" + "src": "3544:3:18" }, "nodeType": "YulFunctionCall", - "src": "3544:22:15" + "src": "3544:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "3568:7:15" + "src": "3568:7:18" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "3523:20:15" + "src": "3523:20:18" }, "nodeType": "YulFunctionCall", - "src": "3523:53:15" + "src": "3523:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "3513:6:15" + "src": "3513:6:18" } ] } @@ -5244,13 +5289,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "3300:9:15", + "src": "3300:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "3311:7:15", + "src": "3311:7:18", "type": "" } ], @@ -5258,31 +5303,31 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "3323:6:15", + "src": "3323:6:18", "type": "" } ], - "src": "3264:329:15" + "src": "3264:329:18" }, { "body": { "nodeType": "YulBlock", - "src": "3644:81:15", + "src": "3644:81:18", "statements": [ { "nodeType": "YulAssignment", - "src": "3654:65:15", + "src": "3654:65:18", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3669:5:15" + "src": "3669:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "3676:42:15", + "src": "3676:42:18", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffff" } @@ -5290,16 +5335,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "3665:3:15" + "src": "3665:3:18" }, "nodeType": "YulFunctionCall", - "src": "3665:54:15" + "src": "3665:54:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3654:7:15" + "src": "3654:7:18" } ] } @@ -5311,7 +5356,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3626:5:15", + "src": "3626:5:18", "type": "" } ], @@ -5319,41 +5364,41 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3636:7:15", + "src": "3636:7:18", "type": "" } ], - "src": "3599:126:15" + "src": "3599:126:18" }, { "body": { "nodeType": "YulBlock", - "src": "3776:51:15", + "src": "3776:51:18", "statements": [ { "nodeType": "YulAssignment", - "src": "3786:35:15", + "src": "3786:35:18", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3815:5:15" + "src": "3815:5:18" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "3797:17:15" + "src": "3797:17:18" }, "nodeType": "YulFunctionCall", - "src": "3797:24:15" + "src": "3797:24:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "3786:7:15" + "src": "3786:7:18" } ] } @@ -5365,7 +5410,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3758:5:15", + "src": "3758:5:18", "type": "" } ], @@ -5373,16 +5418,16 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "3768:7:15", + "src": "3768:7:18", "type": "" } ], - "src": "3731:96:15" + "src": "3731:96:18" }, { "body": { "nodeType": "YulBlock", - "src": "3898:53:15", + "src": "3898:53:18", "statements": [ { "expression": { @@ -5390,35 +5435,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "3915:3:15" + "src": "3915:3:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "3938:5:15" + "src": "3938:5:18" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "3920:17:15" + "src": "3920:17:18" }, "nodeType": "YulFunctionCall", - "src": "3920:24:15" + "src": "3920:24:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "3908:6:15" + "src": "3908:6:18" }, "nodeType": "YulFunctionCall", - "src": "3908:37:15" + "src": "3908:37:18" }, "nodeType": "YulExpressionStatement", - "src": "3908:37:15" + "src": "3908:37:18" } ] }, @@ -5428,37 +5473,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "3886:5:15", + "src": "3886:5:18", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "3893:3:15", + "src": "3893:3:18", "type": "" } ], - "src": "3833:118:15" + "src": "3833:118:18" }, { "body": { "nodeType": "YulBlock", - "src": "4055:124:15", + "src": "4055:124:18", "statements": [ { "nodeType": "YulAssignment", - "src": "4065:26:15", + "src": "4065:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4077:9:15" + "src": "4077:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4088:2:15", + "src": "4088:2:18", "type": "", "value": "32" } @@ -5466,16 +5511,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4073:3:15" + "src": "4073:3:18" }, "nodeType": "YulFunctionCall", - "src": "4073:18:15" + "src": "4073:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "4065:4:15" + "src": "4065:4:18" } ] }, @@ -5485,19 +5530,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4145:6:15" + "src": "4145:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4158:9:15" + "src": "4158:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4169:1:15", + "src": "4169:1:18", "type": "", "value": "0" } @@ -5505,22 +5550,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4154:3:15" + "src": "4154:3:18" }, "nodeType": "YulFunctionCall", - "src": "4154:17:15" + "src": "4154:17:18" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "4101:43:15" + "src": "4101:43:18" }, "nodeType": "YulFunctionCall", - "src": "4101:71:15" + "src": "4101:71:18" }, "nodeType": "YulExpressionStatement", - "src": "4101:71:15" + "src": "4101:71:18" } ] }, @@ -5530,13 +5575,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4027:9:15", + "src": "4027:9:18", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "4039:6:15", + "src": "4039:6:18", "type": "" } ], @@ -5544,21 +5589,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "4050:4:15", + "src": "4050:4:18", "type": "" } ], - "src": "3957:222:15" + "src": "3957:222:18" }, { "body": { "nodeType": "YulBlock", - "src": "4228:79:15", + "src": "4228:79:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4285:16:15", + "src": "4285:16:18", "statements": [ { "expression": { @@ -5566,14 +5611,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "4294:1:15", + "src": "4294:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4297:1:15", + "src": "4297:1:18", "type": "", "value": "0" } @@ -5581,13 +5626,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "4287:6:15" + "src": "4287:6:18" }, "nodeType": "YulFunctionCall", - "src": "4287:12:15" + "src": "4287:12:18" }, "nodeType": "YulExpressionStatement", - "src": "4287:12:15" + "src": "4287:12:18" } ] }, @@ -5598,44 +5643,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4251:5:15" + "src": "4251:5:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4276:5:15" + "src": "4276:5:18" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "4258:17:15" + "src": "4258:17:18" }, "nodeType": "YulFunctionCall", - "src": "4258:24:15" + "src": "4258:24:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "4248:2:15" + "src": "4248:2:18" }, "nodeType": "YulFunctionCall", - "src": "4248:35:15" + "src": "4248:35:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "4241:6:15" + "src": "4241:6:18" }, "nodeType": "YulFunctionCall", - "src": "4241:43:15" + "src": "4241:43:18" }, "nodeType": "YulIf", - "src": "4238:63:15" + "src": "4238:63:18" } ] }, @@ -5645,41 +5690,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4221:5:15", + "src": "4221:5:18", "type": "" } ], - "src": "4185:122:15" + "src": "4185:122:18" }, { "body": { "nodeType": "YulBlock", - "src": "4365:87:15", + "src": "4365:87:18", "statements": [ { "nodeType": "YulAssignment", - "src": "4375:29:15", + "src": "4375:29:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "4397:6:15" + "src": "4397:6:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "4384:12:15" + "src": "4384:12:18" }, "nodeType": "YulFunctionCall", - "src": "4384:20:15" + "src": "4384:20:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "4375:5:15" + "src": "4375:5:18" } ] }, @@ -5689,19 +5734,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "4440:5:15" + "src": "4440:5:18" } ], "functionName": { "name": "validator_revert_t_address", "nodeType": "YulIdentifier", - "src": "4413:26:15" + "src": "4413:26:18" }, "nodeType": "YulFunctionCall", - "src": "4413:33:15" + "src": "4413:33:18" }, "nodeType": "YulExpressionStatement", - "src": "4413:33:15" + "src": "4413:33:18" } ] }, @@ -5711,13 +5756,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4343:6:15", + "src": "4343:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "4351:3:15", + "src": "4351:3:18", "type": "" } ], @@ -5725,21 +5770,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4359:5:15", + "src": "4359:5:18", "type": "" } ], - "src": "4313:139:15" + "src": "4313:139:18" }, { "body": { "nodeType": "YulBlock", - "src": "4541:391:15", + "src": "4541:391:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "4587:83:15", + "src": "4587:83:18", "statements": [ { "expression": { @@ -5747,13 +5792,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "4589:77:15" + "src": "4589:77:18" }, "nodeType": "YulFunctionCall", - "src": "4589:79:15" + "src": "4589:79:18" }, "nodeType": "YulExpressionStatement", - "src": "4589:79:15" + "src": "4589:79:18" } ] }, @@ -5764,26 +5809,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4562:7:15" + "src": "4562:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4571:9:15" + "src": "4571:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "4558:3:15" + "src": "4558:3:18" }, "nodeType": "YulFunctionCall", - "src": "4558:23:15" + "src": "4558:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "4583:2:15", + "src": "4583:2:18", "type": "", "value": "64" } @@ -5791,25 +5836,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "4554:3:15" + "src": "4554:3:18" }, "nodeType": "YulFunctionCall", - "src": "4554:32:15" + "src": "4554:32:18" }, "nodeType": "YulIf", - "src": "4551:119:15" + "src": "4551:119:18" }, { "nodeType": "YulBlock", - "src": "4680:117:15", + "src": "4680:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4695:15:15", + "src": "4695:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4709:1:15", + "src": "4709:1:18", "type": "", "value": "0" }, @@ -5817,14 +5862,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4699:6:15", + "src": "4699:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4724:63:15", + "src": "4724:63:18", "value": { "arguments": [ { @@ -5832,41 +5877,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4759:9:15" + "src": "4759:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4770:6:15" + "src": "4770:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4755:3:15" + "src": "4755:3:18" }, "nodeType": "YulFunctionCall", - "src": "4755:22:15" + "src": "4755:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4779:7:15" + "src": "4779:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "4734:20:15" + "src": "4734:20:18" }, "nodeType": "YulFunctionCall", - "src": "4734:53:15" + "src": "4734:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "4724:6:15" + "src": "4724:6:18" } ] } @@ -5874,15 +5919,15 @@ }, { "nodeType": "YulBlock", - "src": "4807:118:15", + "src": "4807:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "4822:16:15", + "src": "4822:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "4836:2:15", + "src": "4836:2:18", "type": "", "value": "32" }, @@ -5890,14 +5935,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "4826:6:15", + "src": "4826:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "4852:63:15", + "src": "4852:63:18", "value": { "arguments": [ { @@ -5905,41 +5950,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "4887:9:15" + "src": "4887:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "4898:6:15" + "src": "4898:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "4883:3:15" + "src": "4883:3:18" }, "nodeType": "YulFunctionCall", - "src": "4883:22:15" + "src": "4883:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "4907:7:15" + "src": "4907:7:18" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "4862:20:15" + "src": "4862:20:18" }, "nodeType": "YulFunctionCall", - "src": "4862:53:15" + "src": "4862:53:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "4852:6:15" + "src": "4852:6:18" } ] } @@ -5953,13 +5998,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "4503:9:15", + "src": "4503:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "4514:7:15", + "src": "4514:7:18", "type": "" } ], @@ -5967,22 +6012,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "4526:6:15", + "src": "4526:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "4534:6:15", + "src": "4534:6:18", "type": "" } ], - "src": "4458:474:15" + "src": "4458:474:18" }, { "body": { "nodeType": "YulBlock", - "src": "5003:53:15", + "src": "5003:53:18", "statements": [ { "expression": { @@ -5990,35 +6035,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "5020:3:15" + "src": "5020:3:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "5043:5:15" + "src": "5043:5:18" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "5025:17:15" + "src": "5025:17:18" }, "nodeType": "YulFunctionCall", - "src": "5025:24:15" + "src": "5025:24:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "5013:6:15" + "src": "5013:6:18" }, "nodeType": "YulFunctionCall", - "src": "5013:37:15" + "src": "5013:37:18" }, "nodeType": "YulExpressionStatement", - "src": "5013:37:15" + "src": "5013:37:18" } ] }, @@ -6028,37 +6073,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "4991:5:15", + "src": "4991:5:18", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "4998:3:15", + "src": "4998:3:18", "type": "" } ], - "src": "4938:118:15" + "src": "4938:118:18" }, { "body": { "nodeType": "YulBlock", - "src": "5160:124:15", + "src": "5160:124:18", "statements": [ { "nodeType": "YulAssignment", - "src": "5170:26:15", + "src": "5170:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5182:9:15" + "src": "5182:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5193:2:15", + "src": "5193:2:18", "type": "", "value": "32" } @@ -6066,16 +6111,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5178:3:15" + "src": "5178:3:18" }, "nodeType": "YulFunctionCall", - "src": "5178:18:15" + "src": "5178:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "5170:4:15" + "src": "5170:4:18" } ] }, @@ -6085,19 +6130,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5250:6:15" + "src": "5250:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5263:9:15" + "src": "5263:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5274:1:15", + "src": "5274:1:18", "type": "", "value": "0" } @@ -6105,22 +6150,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5259:3:15" + "src": "5259:3:18" }, "nodeType": "YulFunctionCall", - "src": "5259:17:15" + "src": "5259:17:18" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "5206:43:15" + "src": "5206:43:18" }, "nodeType": "YulFunctionCall", - "src": "5206:71:15" + "src": "5206:71:18" }, "nodeType": "YulExpressionStatement", - "src": "5206:71:15" + "src": "5206:71:18" } ] }, @@ -6130,13 +6175,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5132:9:15", + "src": "5132:9:18", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "5144:6:15", + "src": "5144:6:18", "type": "" } ], @@ -6144,21 +6189,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "5155:4:15", + "src": "5155:4:18", "type": "" } ], - "src": "5062:222:15" + "src": "5062:222:18" }, { "body": { "nodeType": "YulBlock", - "src": "5356:263:15", + "src": "5356:263:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5402:83:15", + "src": "5402:83:18", "statements": [ { "expression": { @@ -6166,13 +6211,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5404:77:15" + "src": "5404:77:18" }, "nodeType": "YulFunctionCall", - "src": "5404:79:15" + "src": "5404:79:18" }, "nodeType": "YulExpressionStatement", - "src": "5404:79:15" + "src": "5404:79:18" } ] }, @@ -6183,26 +6228,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5377:7:15" + "src": "5377:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5386:9:15" + "src": "5386:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5373:3:15" + "src": "5373:3:18" }, "nodeType": "YulFunctionCall", - "src": "5373:23:15" + "src": "5373:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5398:2:15", + "src": "5398:2:18", "type": "", "value": "32" } @@ -6210,25 +6255,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5369:3:15" + "src": "5369:3:18" }, "nodeType": "YulFunctionCall", - "src": "5369:32:15" + "src": "5369:32:18" }, "nodeType": "YulIf", - "src": "5366:119:15" + "src": "5366:119:18" }, { "nodeType": "YulBlock", - "src": "5495:117:15", + "src": "5495:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5510:15:15", + "src": "5510:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5524:1:15", + "src": "5524:1:18", "type": "", "value": "0" }, @@ -6236,14 +6281,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5514:6:15", + "src": "5514:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5539:63:15", + "src": "5539:63:18", "value": { "arguments": [ { @@ -6251,41 +6296,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5574:9:15" + "src": "5574:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5585:6:15" + "src": "5585:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5570:3:15" + "src": "5570:3:18" }, "nodeType": "YulFunctionCall", - "src": "5570:22:15" + "src": "5570:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5594:7:15" + "src": "5594:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5549:20:15" + "src": "5549:20:18" }, "nodeType": "YulFunctionCall", - "src": "5549:53:15" + "src": "5549:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5539:6:15" + "src": "5539:6:18" } ] } @@ -6299,13 +6344,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5326:9:15", + "src": "5326:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5337:7:15", + "src": "5337:7:18", "type": "" } ], @@ -6313,21 +6358,21 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5349:6:15", + "src": "5349:6:18", "type": "" } ], - "src": "5290:329:15" + "src": "5290:329:18" }, { "body": { "nodeType": "YulBlock", - "src": "5725:519:15", + "src": "5725:519:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5771:83:15", + "src": "5771:83:18", "statements": [ { "expression": { @@ -6335,13 +6380,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5773:77:15" + "src": "5773:77:18" }, "nodeType": "YulFunctionCall", - "src": "5773:79:15" + "src": "5773:79:18" }, "nodeType": "YulExpressionStatement", - "src": "5773:79:15" + "src": "5773:79:18" } ] }, @@ -6352,26 +6397,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5746:7:15" + "src": "5746:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5755:9:15" + "src": "5755:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5742:3:15" + "src": "5742:3:18" }, "nodeType": "YulFunctionCall", - "src": "5742:23:15" + "src": "5742:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5767:2:15", + "src": "5767:2:18", "type": "", "value": "96" } @@ -6379,25 +6424,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5738:3:15" + "src": "5738:3:18" }, "nodeType": "YulFunctionCall", - "src": "5738:32:15" + "src": "5738:32:18" }, "nodeType": "YulIf", - "src": "5735:119:15" + "src": "5735:119:18" }, { "nodeType": "YulBlock", - "src": "5864:117:15", + "src": "5864:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "5879:15:15", + "src": "5879:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "5893:1:15", + "src": "5893:1:18", "type": "", "value": "0" }, @@ -6405,14 +6450,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "5883:6:15", + "src": "5883:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "5908:63:15", + "src": "5908:63:18", "value": { "arguments": [ { @@ -6420,41 +6465,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5943:9:15" + "src": "5943:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "5954:6:15" + "src": "5954:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "5939:3:15" + "src": "5939:3:18" }, "nodeType": "YulFunctionCall", - "src": "5939:22:15" + "src": "5939:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5963:7:15" + "src": "5963:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "5918:20:15" + "src": "5918:20:18" }, "nodeType": "YulFunctionCall", - "src": "5918:53:15" + "src": "5918:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "5908:6:15" + "src": "5908:6:18" } ] } @@ -6462,15 +6507,15 @@ }, { "nodeType": "YulBlock", - "src": "5991:118:15", + "src": "5991:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6006:16:15", + "src": "6006:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6020:2:15", + "src": "6020:2:18", "type": "", "value": "32" }, @@ -6478,14 +6523,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6010:6:15", + "src": "6010:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6036:63:15", + "src": "6036:63:18", "value": { "arguments": [ { @@ -6493,41 +6538,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6071:9:15" + "src": "6071:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6082:6:15" + "src": "6082:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6067:3:15" + "src": "6067:3:18" }, "nodeType": "YulFunctionCall", - "src": "6067:22:15" + "src": "6067:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6091:7:15" + "src": "6091:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "6046:20:15" + "src": "6046:20:18" }, "nodeType": "YulFunctionCall", - "src": "6046:53:15" + "src": "6046:53:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "6036:6:15" + "src": "6036:6:18" } ] } @@ -6535,15 +6580,15 @@ }, { "nodeType": "YulBlock", - "src": "6119:118:15", + "src": "6119:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6134:16:15", + "src": "6134:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6148:2:15", + "src": "6148:2:18", "type": "", "value": "64" }, @@ -6551,14 +6596,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6138:6:15", + "src": "6138:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6164:63:15", + "src": "6164:63:18", "value": { "arguments": [ { @@ -6566,41 +6611,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6199:9:15" + "src": "6199:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6210:6:15" + "src": "6210:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6195:3:15" + "src": "6195:3:18" }, "nodeType": "YulFunctionCall", - "src": "6195:22:15" + "src": "6195:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6219:7:15" + "src": "6219:7:18" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "6174:20:15" + "src": "6174:20:18" }, "nodeType": "YulFunctionCall", - "src": "6174:53:15" + "src": "6174:53:18" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "6164:6:15" + "src": "6164:6:18" } ] } @@ -6614,13 +6659,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5679:9:15", + "src": "5679:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5690:7:15", + "src": "5690:7:18", "type": "" } ], @@ -6628,42 +6673,42 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5702:6:15", + "src": "5702:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5710:6:15", + "src": "5710:6:18", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "5718:6:15", + "src": "5718:6:18", "type": "" } ], - "src": "5625:619:15" + "src": "5625:619:18" }, { "body": { "nodeType": "YulBlock", - "src": "6295:32:15", + "src": "6295:32:18", "statements": [ { "nodeType": "YulAssignment", - "src": "6305:16:15", + "src": "6305:16:18", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "6316:5:15" + "src": "6316:5:18" }, "variableNames": [ { "name": "cleaned", "nodeType": "YulIdentifier", - "src": "6305:7:15" + "src": "6305:7:18" } ] } @@ -6675,7 +6720,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6277:5:15", + "src": "6277:5:18", "type": "" } ], @@ -6683,21 +6728,21 @@ { "name": "cleaned", "nodeType": "YulTypedName", - "src": "6287:7:15", + "src": "6287:7:18", "type": "" } ], - "src": "6250:77:15" + "src": "6250:77:18" }, { "body": { "nodeType": "YulBlock", - "src": "6376:79:15", + "src": "6376:79:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6433:16:15", + "src": "6433:16:18", "statements": [ { "expression": { @@ -6705,14 +6750,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "6442:1:15", + "src": "6442:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6445:1:15", + "src": "6445:1:18", "type": "", "value": "0" } @@ -6720,13 +6765,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "6435:6:15" + "src": "6435:6:18" }, "nodeType": "YulFunctionCall", - "src": "6435:12:15" + "src": "6435:12:18" }, "nodeType": "YulExpressionStatement", - "src": "6435:12:15" + "src": "6435:12:18" } ] }, @@ -6737,44 +6782,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6399:5:15" + "src": "6399:5:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6424:5:15" + "src": "6424:5:18" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "6406:17:15" + "src": "6406:17:18" }, "nodeType": "YulFunctionCall", - "src": "6406:24:15" + "src": "6406:24:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "6396:2:15" + "src": "6396:2:18" }, "nodeType": "YulFunctionCall", - "src": "6396:35:15" + "src": "6396:35:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "6389:6:15" + "src": "6389:6:18" }, "nodeType": "YulFunctionCall", - "src": "6389:43:15" + "src": "6389:43:18" }, "nodeType": "YulIf", - "src": "6386:63:15" + "src": "6386:63:18" } ] }, @@ -6784,41 +6829,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6369:5:15", + "src": "6369:5:18", "type": "" } ], - "src": "6333:122:15" + "src": "6333:122:18" }, { "body": { "nodeType": "YulBlock", - "src": "6513:87:15", + "src": "6513:87:18", "statements": [ { "nodeType": "YulAssignment", - "src": "6523:29:15", + "src": "6523:29:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "6545:6:15" + "src": "6545:6:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "6532:12:15" + "src": "6532:12:18" }, "nodeType": "YulFunctionCall", - "src": "6532:20:15" + "src": "6532:20:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6523:5:15" + "src": "6523:5:18" } ] }, @@ -6828,19 +6873,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6588:5:15" + "src": "6588:5:18" } ], "functionName": { "name": "validator_revert_t_bytes32", "nodeType": "YulIdentifier", - "src": "6561:26:15" + "src": "6561:26:18" }, "nodeType": "YulFunctionCall", - "src": "6561:33:15" + "src": "6561:33:18" }, "nodeType": "YulExpressionStatement", - "src": "6561:33:15" + "src": "6561:33:18" } ] }, @@ -6850,13 +6895,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6491:6:15", + "src": "6491:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "6499:3:15", + "src": "6499:3:18", "type": "" } ], @@ -6864,21 +6909,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6507:5:15", + "src": "6507:5:18", "type": "" } ], - "src": "6461:139:15" + "src": "6461:139:18" }, { "body": { "nodeType": "YulBlock", - "src": "6672:263:15", + "src": "6672:263:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "6718:83:15", + "src": "6718:83:18", "statements": [ { "expression": { @@ -6886,13 +6931,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "6720:77:15" + "src": "6720:77:18" }, "nodeType": "YulFunctionCall", - "src": "6720:79:15" + "src": "6720:79:18" }, "nodeType": "YulExpressionStatement", - "src": "6720:79:15" + "src": "6720:79:18" } ] }, @@ -6903,26 +6948,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6693:7:15" + "src": "6693:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6702:9:15" + "src": "6702:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "6689:3:15" + "src": "6689:3:18" }, "nodeType": "YulFunctionCall", - "src": "6689:23:15" + "src": "6689:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "6714:2:15", + "src": "6714:2:18", "type": "", "value": "32" } @@ -6930,25 +6975,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "6685:3:15" + "src": "6685:3:18" }, "nodeType": "YulFunctionCall", - "src": "6685:32:15" + "src": "6685:32:18" }, "nodeType": "YulIf", - "src": "6682:119:15" + "src": "6682:119:18" }, { "nodeType": "YulBlock", - "src": "6811:117:15", + "src": "6811:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6826:15:15", + "src": "6826:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6840:1:15", + "src": "6840:1:18", "type": "", "value": "0" }, @@ -6956,14 +7001,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6830:6:15", + "src": "6830:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6855:63:15", + "src": "6855:63:18", "value": { "arguments": [ { @@ -6971,41 +7016,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6890:9:15" + "src": "6890:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6901:6:15" + "src": "6901:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6886:3:15" + "src": "6886:3:18" }, "nodeType": "YulFunctionCall", - "src": "6886:22:15" + "src": "6886:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6910:7:15" + "src": "6910:7:18" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "6865:20:15" + "src": "6865:20:18" }, "nodeType": "YulFunctionCall", - "src": "6865:53:15" + "src": "6865:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6855:6:15" + "src": "6855:6:18" } ] } @@ -7019,13 +7064,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "6642:9:15", + "src": "6642:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "6653:7:15", + "src": "6653:7:18", "type": "" } ], @@ -7033,16 +7078,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "6665:6:15", + "src": "6665:6:18", "type": "" } ], - "src": "6606:329:15" + "src": "6606:329:18" }, { "body": { "nodeType": "YulBlock", - "src": "7006:53:15", + "src": "7006:53:18", "statements": [ { "expression": { @@ -7050,35 +7095,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "7023:3:15" + "src": "7023:3:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "7046:5:15" + "src": "7046:5:18" } ], "functionName": { "name": "cleanup_t_bytes32", "nodeType": "YulIdentifier", - "src": "7028:17:15" + "src": "7028:17:18" }, "nodeType": "YulFunctionCall", - "src": "7028:24:15" + "src": "7028:24:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "7016:6:15" + "src": "7016:6:18" }, "nodeType": "YulFunctionCall", - "src": "7016:37:15" + "src": "7016:37:18" }, "nodeType": "YulExpressionStatement", - "src": "7016:37:15" + "src": "7016:37:18" } ] }, @@ -7088,37 +7133,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6994:5:15", + "src": "6994:5:18", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "7001:3:15", + "src": "7001:3:18", "type": "" } ], - "src": "6941:118:15" + "src": "6941:118:18" }, { "body": { "nodeType": "YulBlock", - "src": "7163:124:15", + "src": "7163:124:18", "statements": [ { "nodeType": "YulAssignment", - "src": "7173:26:15", + "src": "7173:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7185:9:15" + "src": "7185:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7196:2:15", + "src": "7196:2:18", "type": "", "value": "32" } @@ -7126,16 +7171,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7181:3:15" + "src": "7181:3:18" }, "nodeType": "YulFunctionCall", - "src": "7181:18:15" + "src": "7181:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7173:4:15" + "src": "7173:4:18" } ] }, @@ -7145,19 +7190,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7253:6:15" + "src": "7253:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7266:9:15" + "src": "7266:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7277:1:15", + "src": "7277:1:18", "type": "", "value": "0" } @@ -7165,22 +7210,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7262:3:15" + "src": "7262:3:18" }, "nodeType": "YulFunctionCall", - "src": "7262:17:15" + "src": "7262:17:18" } ], "functionName": { "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", "nodeType": "YulIdentifier", - "src": "7209:43:15" + "src": "7209:43:18" }, "nodeType": "YulFunctionCall", - "src": "7209:71:15" + "src": "7209:71:18" }, "nodeType": "YulExpressionStatement", - "src": "7209:71:15" + "src": "7209:71:18" } ] }, @@ -7190,13 +7235,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7135:9:15", + "src": "7135:9:18", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7147:6:15", + "src": "7147:6:18", "type": "" } ], @@ -7204,21 +7249,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7158:4:15", + "src": "7158:4:18", "type": "" } ], - "src": "7065:222:15" + "src": "7065:222:18" }, { "body": { "nodeType": "YulBlock", - "src": "7376:391:15", + "src": "7376:391:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7422:83:15", + "src": "7422:83:18", "statements": [ { "expression": { @@ -7226,13 +7271,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "7424:77:15" + "src": "7424:77:18" }, "nodeType": "YulFunctionCall", - "src": "7424:79:15" + "src": "7424:79:18" }, "nodeType": "YulExpressionStatement", - "src": "7424:79:15" + "src": "7424:79:18" } ] }, @@ -7243,26 +7288,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7397:7:15" + "src": "7397:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7406:9:15" + "src": "7406:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "7393:3:15" + "src": "7393:3:18" }, "nodeType": "YulFunctionCall", - "src": "7393:23:15" + "src": "7393:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7418:2:15", + "src": "7418:2:18", "type": "", "value": "64" } @@ -7270,25 +7315,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7389:3:15" + "src": "7389:3:18" }, "nodeType": "YulFunctionCall", - "src": "7389:32:15" + "src": "7389:32:18" }, "nodeType": "YulIf", - "src": "7386:119:15" + "src": "7386:119:18" }, { "nodeType": "YulBlock", - "src": "7515:117:15", + "src": "7515:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7530:15:15", + "src": "7530:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7544:1:15", + "src": "7544:1:18", "type": "", "value": "0" }, @@ -7296,14 +7341,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7534:6:15", + "src": "7534:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7559:63:15", + "src": "7559:63:18", "value": { "arguments": [ { @@ -7311,41 +7356,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7594:9:15" + "src": "7594:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7605:6:15" + "src": "7605:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7590:3:15" + "src": "7590:3:18" }, "nodeType": "YulFunctionCall", - "src": "7590:22:15" + "src": "7590:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7614:7:15" + "src": "7614:7:18" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "7569:20:15" + "src": "7569:20:18" }, "nodeType": "YulFunctionCall", - "src": "7569:53:15" + "src": "7569:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7559:6:15" + "src": "7559:6:18" } ] } @@ -7353,15 +7398,15 @@ }, { "nodeType": "YulBlock", - "src": "7642:118:15", + "src": "7642:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "7657:16:15", + "src": "7657:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "7671:2:15", + "src": "7671:2:18", "type": "", "value": "32" }, @@ -7369,14 +7414,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7661:6:15", + "src": "7661:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "7687:63:15", + "src": "7687:63:18", "value": { "arguments": [ { @@ -7384,41 +7429,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7722:9:15" + "src": "7722:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "7733:6:15" + "src": "7733:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7718:3:15" + "src": "7718:3:18" }, "nodeType": "YulFunctionCall", - "src": "7718:22:15" + "src": "7718:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "7742:7:15" + "src": "7742:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "7697:20:15" + "src": "7697:20:18" }, "nodeType": "YulFunctionCall", - "src": "7697:53:15" + "src": "7697:53:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "7687:6:15" + "src": "7687:6:18" } ] } @@ -7432,13 +7477,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7338:9:15", + "src": "7338:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "7349:7:15", + "src": "7349:7:18", "type": "" } ], @@ -7446,305 +7491,116 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "7361:6:15", + "src": "7361:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "7369:6:15", + "src": "7369:6:18", "type": "" } ], - "src": "7293:474:15" + "src": "7293:474:18" }, { "body": { "nodeType": "YulBlock", - "src": "7862:28:15", + "src": "7847:40:18", "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7879:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "7882:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7872:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7872:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7872:12:15" - } - ] - }, - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulFunctionDefinition", - "src": "7773:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "7985:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8002:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8005:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "7995:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "7995:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "7995:12:15" - } - ] - }, - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulFunctionDefinition", - "src": "7896:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8108:28:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8125:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8128:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "8118:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8118:12:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8118:12:15" - } - ] - }, - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulFunctionDefinition", - "src": "8019:117:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8231:478:15", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "8280:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "8282:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "8282:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8282:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "8259:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8267:4:15", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8255:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8255:17:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8274:3:15" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "8251:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8251:27:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "8244:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "8244:35:15" - }, - "nodeType": "YulIf", - "src": "8241:122:15" - }, { "nodeType": "YulAssignment", - "src": "8372:30:15", + "src": "7858:22:18", "value": { "arguments": [ { - "name": "offset", + "name": "value", "nodeType": "YulIdentifier", - "src": "8395:6:15" + "src": "7874:5:18" } ], "functionName": { - "name": "calldataload", + "name": "mload", "nodeType": "YulIdentifier", - "src": "8382:12:15" + "src": "7868:5:18" }, "nodeType": "YulFunctionCall", - "src": "8382:20:15" + "src": "7868:12:18" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "8372:6:15" + "src": "7858:6:18" } ] - }, + } + ] + }, + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7830:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7840:6:18", + "type": "" + } + ], + "src": "7773:114:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8004:73:18", + "statements": [ { - "body": { - "nodeType": "YulBlock", - "src": "8445:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulIdentifier", - "src": "8447:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "8447:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8447:79:15" - } - ] - }, - "condition": { + "expression": { "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8021:3:18" + }, { "name": "length", "nodeType": "YulIdentifier", - "src": "8417:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8425:18:15", - "type": "", - "value": "0xffffffffffffffff" + "src": "8026:6:18" } ], "functionName": { - "name": "gt", + "name": "mstore", "nodeType": "YulIdentifier", - "src": "8414:2:15" + "src": "8014:6:18" }, "nodeType": "YulFunctionCall", - "src": "8414:30:15" + "src": "8014:19:18" }, - "nodeType": "YulIf", - "src": "8411:117:15" + "nodeType": "YulExpressionStatement", + "src": "8014:19:18" }, { "nodeType": "YulAssignment", - "src": "8537:29:15", + "src": "8042:29:18", "value": { "arguments": [ { - "name": "offset", + "name": "pos", "nodeType": "YulIdentifier", - "src": "8553:6:15" + "src": "8061:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8561:4:15", + "src": "8066:4:18", "type": "", "value": "0x20" } @@ -7752,395 +7608,842 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8549:3:15" + "src": "8057:3:18" }, "nodeType": "YulFunctionCall", - "src": "8549:17:15" + "src": "8057:14:18" }, "variableNames": [ { - "name": "arrayPos", + "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "8537:8:15" + "src": "8042:11:18" } ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "8620:83:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", - "nodeType": "YulIdentifier", - "src": "8622:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "8622:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "8622:79:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "arrayPos", - "nodeType": "YulIdentifier", - "src": "8585:8:15" - }, - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "8599:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8607:4:15", - "type": "", - "value": "0x01" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "8595:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8595:17:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "8581:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8581:32:15" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "8615:3:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "8578:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "8578:41:15" - }, - "nodeType": "YulIf", - "src": "8575:128:15" } ] }, - "name": "abi_decode_t_string_calldata_ptr", + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "offset", + "name": "pos", "nodeType": "YulTypedName", - "src": "8198:6:15", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "8206:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "arrayPos", - "nodeType": "YulTypedName", - "src": "8214:8:15", + "src": "7976:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "8224:6:15", + "src": "7981:6:18", "type": "" } ], - "src": "8156:553:15" + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "7992:11:18", + "type": "" + } + ], + "src": "7893:184:18" }, { "body": { "nodeType": "YulBlock", - "src": "8801:443:15", + "src": "8155:60:18", "statements": [ + { + "nodeType": "YulAssignment", + "src": "8165:11:18", + "value": { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8173:3:18" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8165:4:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8186:22:18", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8198:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8203:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8194:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8194:14:18" + }, + "variableNames": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "8186:4:18" + } + ] + } + ] + }, + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "8142:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "8150:4:18", + "type": "" + } + ], + "src": "8083:132:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8276:53:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8293:3:18" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8316:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "8298:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "8298:24:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8286:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "8286:37:18" + }, + "nodeType": "YulExpressionStatement", + "src": "8286:37:18" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "8264:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8271:3:18", + "type": "" + } + ], + "src": "8221:108:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8415:99:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8459:6:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8467:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "8425:33:18" + }, + "nodeType": "YulFunctionCall", + "src": "8425:46:18" + }, + "nodeType": "YulExpressionStatement", + "src": "8425:46:18" + }, + { + "nodeType": "YulAssignment", + "src": "8480:28:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8498:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8503:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8494:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8494:14:18" + }, + "variableNames": [ + { + "name": "updatedPos", + "nodeType": "YulIdentifier", + "src": "8480:10:18" + } + ] + } + ] + }, + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8388:6:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8396:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updatedPos", + "nodeType": "YulTypedName", + "src": "8404:10:18", + "type": "" + } + ], + "src": "8335:179:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8595:38:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8605:22:18", + "value": { + "arguments": [ + { + "name": "ptr", + "nodeType": "YulIdentifier", + "src": "8617:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8622:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8613:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "8613:14:18" + }, + "variableNames": [ + { + "name": "next", + "nodeType": "YulIdentifier", + "src": "8605:4:18" + } + ] + } + ] + }, + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nodeType": "YulTypedName", + "src": "8582:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "next", + "nodeType": "YulTypedName", + "src": "8590:4:18", + "type": "" + } + ], + "src": "8520:113:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8793:608:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "8803:68:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "8865:5:18" + } + ], + "functionName": { + "name": "array_length_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8817:47:18" + }, + "nodeType": "YulFunctionCall", + "src": "8817:54:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "8807:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "8880:93:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8961:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "8966:6:18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8887:73:18" + }, + "nodeType": "YulFunctionCall", + "src": "8887:86:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8880:3:18" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "8982:71:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9047:5:18" + } + ], + "functionName": { + "name": "array_dataslot_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "8997:49:18" + }, + "nodeType": "YulFunctionCall", + "src": "8997:56:18" + }, + "variables": [ + { + "name": "baseRef", + "nodeType": "YulTypedName", + "src": "8986:7:18", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "9062:21:18", + "value": { + "name": "baseRef", + "nodeType": "YulIdentifier", + "src": "9076:7:18" + }, + "variables": [ + { + "name": "srcPtr", + "nodeType": "YulTypedName", + "src": "9066:6:18", + "type": "" + } + ] + }, { "body": { "nodeType": "YulBlock", - "src": "8847:83:15", + "src": "9152:224:18", "statements": [ { - "expression": { - "arguments": [], + "nodeType": "YulVariableDeclaration", + "src": "9166:34:18", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9193:6:18" + } + ], "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "name": "mload", "nodeType": "YulIdentifier", - "src": "8849:77:15" + "src": "9187:5:18" }, "nodeType": "YulFunctionCall", - "src": "8849:79:15" + "src": "9187:13:18" }, - "nodeType": "YulExpressionStatement", - "src": "8849:79:15" + "variables": [ + { + "name": "elementValue0", + "nodeType": "YulTypedName", + "src": "9170:13:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9213:70:18", + "value": { + "arguments": [ + { + "name": "elementValue0", + "nodeType": "YulIdentifier", + "src": "9264:13:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9279:3:18" + } + ], + "functionName": { + "name": "abi_encodeUpdatedPos_t_uint256_to_t_uint256", + "nodeType": "YulIdentifier", + "src": "9220:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "9220:63:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9213:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9296:70:18", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9359:6:18" + } + ], + "functionName": { + "name": "array_nextElement_t_array$_t_uint256_$dyn_memory_ptr", + "nodeType": "YulIdentifier", + "src": "9306:52:18" + }, + "nodeType": "YulFunctionCall", + "src": "9306:60:18" + }, + "variableNames": [ + { + "name": "srcPtr", + "nodeType": "YulIdentifier", + "src": "9296:6:18" + } + ] } ] }, "condition": { "arguments": [ { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "8822:7:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8831:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "8818:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "8818:23:15" + "name": "i", + "nodeType": "YulIdentifier", + "src": "9114:1:18" }, { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8843:2:15", - "type": "", - "value": "32" + "name": "length", + "nodeType": "YulIdentifier", + "src": "9117:6:18" } ], "functionName": { - "name": "slt", + "name": "lt", "nodeType": "YulIdentifier", - "src": "8814:3:15" + "src": "9111:2:18" }, "nodeType": "YulFunctionCall", - "src": "8814:32:15" + "src": "9111:13:18" }, - "nodeType": "YulIf", - "src": "8811:119:15" - }, - { - "nodeType": "YulBlock", - "src": "8940:297:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "8955:45:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "8986:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "8997:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "9125:18:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9127:14:18", + "value": { + "arguments": [ + { + "name": "i", "nodeType": "YulIdentifier", - "src": "8982:3:15" + "src": "9136:1:18" }, - "nodeType": "YulFunctionCall", - "src": "8982:17:15" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "8969:12:15" + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9139:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9132:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9132:9:18" }, - "nodeType": "YulFunctionCall", - "src": "8969:31:15" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "8959:6:15", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "9047:83:15", - "statements": [ + "variableNames": [ { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "9049:77:15" - }, - "nodeType": "YulFunctionCall", - "src": "9049:79:15" - }, - "nodeType": "YulExpressionStatement", - "src": "9049:79:15" + "name": "i", + "nodeType": "YulIdentifier", + "src": "9127:1:18" } ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9019:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "9027:18:15", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "9016:2:15" + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "9096:14:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "9098:10:18", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9107:1:18", + "type": "", + "value": "0" }, - "nodeType": "YulFunctionCall", - "src": "9016:30:15" - }, - "nodeType": "YulIf", - "src": "9013:117:15" - }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "9102:1:18", + "type": "" + } + ] + } + ] + }, + "src": "9092:284:18" + }, + { + "nodeType": "YulAssignment", + "src": "9385:10:18", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9392:3:18" + }, + "variableNames": [ { - "nodeType": "YulAssignment", - "src": "9144:83:15", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "9199:9:15" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "9210:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "9195:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "9195:22:15" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "9219:7:15" - } - ], - "functionName": { - "name": "abi_decode_t_string_calldata_ptr", - "nodeType": "YulIdentifier", - "src": "9162:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "9162:65:15" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "9144:6:15" - }, - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "9152:6:15" - } - ] + "name": "end", + "nodeType": "YulIdentifier", + "src": "9385:3:18" } ] } ] }, - "name": "abi_decode_tuple_t_string_calldata_ptr", + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "headStart", + "name": "value", "nodeType": "YulTypedName", - "src": "8763:9:15", + "src": "8772:5:18", "type": "" }, { - "name": "dataEnd", + "name": "pos", "nodeType": "YulTypedName", - "src": "8774:7:15", + "src": "8779:3:18", "type": "" } ], "returnVariables": [ { - "name": "value0", + "name": "end", "nodeType": "YulTypedName", - "src": "8786:6:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "8794:6:15", + "src": "8788:3:18", "type": "" } ], - "src": "8715:529:15" + "src": "8669:732:18" }, { "body": { "nodeType": "YulBlock", - "src": "9290:76:15", + "src": "9555:225:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9565:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9577:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9588:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9573:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9573:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9565:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9612:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9623:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9608:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9608:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9631:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9637:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9627:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "9627:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9601:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "9601:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "9601:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "9657:116:18", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9759:6:18" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9768:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9665:93:18" + }, + "nodeType": "YulFunctionCall", + "src": "9665:108:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9657:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9527:9:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9539:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9550:4:18", + "type": "" + } + ], + "src": "9407:373:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9826:76:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "9344:16:15", + "src": "9880:16:18", "statements": [ { "expression": { @@ -8148,14 +8451,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "9353:1:15", + "src": "9889:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9356:1:15", + "src": "9892:1:18", "type": "", "value": "0" } @@ -8163,13 +8466,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "9346:6:15" + "src": "9882:6:18" }, "nodeType": "YulFunctionCall", - "src": "9346:12:15" + "src": "9882:12:18" }, "nodeType": "YulExpressionStatement", - "src": "9346:12:15" + "src": "9882:12:18" } ] }, @@ -8180,44 +8483,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "9313:5:15" + "src": "9849:5:18" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9335:5:15" + "src": "9871:5:18" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "9320:14:15" + "src": "9856:14:18" }, "nodeType": "YulFunctionCall", - "src": "9320:21:15" + "src": "9856:21:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "9310:2:15" + "src": "9846:2:18" }, "nodeType": "YulFunctionCall", - "src": "9310:32:15" + "src": "9846:32:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "9303:6:15" + "src": "9839:6:18" }, "nodeType": "YulFunctionCall", - "src": "9303:40:15" + "src": "9839:40:18" }, "nodeType": "YulIf", - "src": "9300:60:15" + "src": "9836:60:18" } ] }, @@ -8227,41 +8530,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "9283:5:15", + "src": "9819:5:18", "type": "" } ], - "src": "9250:116:15" + "src": "9786:116:18" }, { "body": { "nodeType": "YulBlock", - "src": "9421:84:15", + "src": "9957:84:18", "statements": [ { "nodeType": "YulAssignment", - "src": "9431:29:15", + "src": "9967:29:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "9453:6:15" + "src": "9989:6:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "9440:12:15" + "src": "9976:12:18" }, "nodeType": "YulFunctionCall", - "src": "9440:20:15" + "src": "9976:20:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9431:5:15" + "src": "9967:5:18" } ] }, @@ -8271,19 +8574,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "9493:5:15" + "src": "10029:5:18" } ], "functionName": { "name": "validator_revert_t_bool", "nodeType": "YulIdentifier", - "src": "9469:23:15" + "src": "10005:23:18" }, "nodeType": "YulFunctionCall", - "src": "9469:30:15" + "src": "10005:30:18" }, "nodeType": "YulExpressionStatement", - "src": "9469:30:15" + "src": "10005:30:18" } ] }, @@ -8293,13 +8596,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "9399:6:15", + "src": "9935:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "9407:3:15", + "src": "9943:3:18", "type": "" } ], @@ -8307,21 +8610,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "9415:5:15", + "src": "9951:5:18", "type": "" } ], - "src": "9372:133:15" + "src": "9908:133:18" }, { "body": { "nodeType": "YulBlock", - "src": "9591:388:15", + "src": "10127:388:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "9637:83:15", + "src": "10173:83:18", "statements": [ { "expression": { @@ -8329,13 +8632,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "9639:77:15" + "src": "10175:77:18" }, "nodeType": "YulFunctionCall", - "src": "9639:79:15" + "src": "10175:79:18" }, "nodeType": "YulExpressionStatement", - "src": "9639:79:15" + "src": "10175:79:18" } ] }, @@ -8346,26 +8649,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9612:7:15" + "src": "10148:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9621:9:15" + "src": "10157:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "9608:3:15" + "src": "10144:3:18" }, "nodeType": "YulFunctionCall", - "src": "9608:23:15" + "src": "10144:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9633:2:15", + "src": "10169:2:18", "type": "", "value": "64" } @@ -8373,25 +8676,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "9604:3:15" + "src": "10140:3:18" }, "nodeType": "YulFunctionCall", - "src": "9604:32:15" + "src": "10140:32:18" }, "nodeType": "YulIf", - "src": "9601:119:15" + "src": "10137:119:18" }, { "nodeType": "YulBlock", - "src": "9730:117:15", + "src": "10266:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9745:15:15", + "src": "10281:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "9759:1:15", + "src": "10295:1:18", "type": "", "value": "0" }, @@ -8399,14 +8702,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "9749:6:15", + "src": "10285:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "9774:63:15", + "src": "10310:63:18", "value": { "arguments": [ { @@ -8414,41 +8717,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9809:9:15" + "src": "10345:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "9820:6:15" + "src": "10356:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9805:3:15" + "src": "10341:3:18" }, "nodeType": "YulFunctionCall", - "src": "9805:22:15" + "src": "10341:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9829:7:15" + "src": "10365:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "9784:20:15" + "src": "10320:20:18" }, "nodeType": "YulFunctionCall", - "src": "9784:53:15" + "src": "10320:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9774:6:15" + "src": "10310:6:18" } ] } @@ -8456,15 +8759,15 @@ }, { "nodeType": "YulBlock", - "src": "9857:115:15", + "src": "10393:115:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9872:16:15", + "src": "10408:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "9886:2:15", + "src": "10422:2:18", "type": "", "value": "32" }, @@ -8472,14 +8775,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "9876:6:15", + "src": "10412:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "9902:60:15", + "src": "10438:60:18", "value": { "arguments": [ { @@ -8487,41 +8790,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9934:9:15" + "src": "10470:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "9945:6:15" + "src": "10481:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9930:3:15" + "src": "10466:3:18" }, "nodeType": "YulFunctionCall", - "src": "9930:22:15" + "src": "10466:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9954:7:15" + "src": "10490:7:18" } ], "functionName": { "name": "abi_decode_t_bool", "nodeType": "YulIdentifier", - "src": "9912:17:15" + "src": "10448:17:18" }, "nodeType": "YulFunctionCall", - "src": "9912:50:15" + "src": "10448:50:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "9902:6:15" + "src": "10438:6:18" } ] } @@ -8535,13 +8838,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9553:9:15", + "src": "10089:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "9564:7:15", + "src": "10100:7:18", "type": "" } ], @@ -8549,22 +8852,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "9576:6:15", + "src": "10112:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "9584:6:15", + "src": "10120:6:18", "type": "" } ], - "src": "9511:468:15" + "src": "10047:468:18" }, { "body": { "nodeType": "YulBlock", - "src": "10074:28:15", + "src": "10610:28:18", "statements": [ { "expression": { @@ -8572,14 +8875,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10091:1:15", + "src": "10627:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10094:1:15", + "src": "10630:1:18", "type": "", "value": "0" } @@ -8587,24 +8890,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "10084:6:15" + "src": "10620:6:18" }, "nodeType": "YulFunctionCall", - "src": "10084:12:15" + "src": "10620:12:18" }, "nodeType": "YulExpressionStatement", - "src": "10084:12:15" + "src": "10620:12:18" } ] }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulFunctionDefinition", - "src": "9985:117:15" + "src": "10521:117:18" }, { "body": { "nodeType": "YulBlock", - "src": "10136:152:15", + "src": "10733:28:18", "statements": [ { "expression": { @@ -8612,14 +8915,54 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10153:1:15", + "src": "10750:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10156:77:15", + "src": "10753:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "10743:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "10743:12:18" + }, + "nodeType": "YulExpressionStatement", + "src": "10743:12:18" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "10644:117:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10795:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10812:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10815:77:18", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -8627,13 +8970,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10146:6:15" + "src": "10805:6:18" }, "nodeType": "YulFunctionCall", - "src": "10146:88:15" + "src": "10805:88:18" }, "nodeType": "YulExpressionStatement", - "src": "10146:88:15" + "src": "10805:88:18" }, { "expression": { @@ -8641,14 +8984,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10250:1:15", + "src": "10909:1:18", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10253:4:15", + "src": "10912:4:18", "type": "", "value": "0x41" } @@ -8656,13 +8999,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10243:6:15" + "src": "10902:6:18" }, "nodeType": "YulFunctionCall", - "src": "10243:15:15" + "src": "10902:15:18" }, "nodeType": "YulExpressionStatement", - "src": "10243:15:15" + "src": "10902:15:18" }, { "expression": { @@ -8670,14 +9013,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10274:1:15", + "src": "10933:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10277:4:15", + "src": "10936:4:18", "type": "", "value": "0x24" } @@ -8685,65 +9028,65 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "10267:6:15" + "src": "10926:6:18" }, "nodeType": "YulFunctionCall", - "src": "10267:15:15" + "src": "10926:15:18" }, "nodeType": "YulExpressionStatement", - "src": "10267:15:15" + "src": "10926:15:18" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "10108:180:15" + "src": "10767:180:18" }, { "body": { "nodeType": "YulBlock", - "src": "10337:238:15", + "src": "10996:238:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "10347:58:15", + "src": "11006:58:18", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10369:6:15" + "src": "11028:6:18" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "10399:4:15" + "src": "11058:4:18" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "10377:21:15" + "src": "11036:21:18" }, "nodeType": "YulFunctionCall", - "src": "10377:27:15" + "src": "11036:27:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10365:3:15" + "src": "11024:3:18" }, "nodeType": "YulFunctionCall", - "src": "10365:40:15" + "src": "11024:40:18" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "10351:10:15", + "src": "11010:10:18", "type": "" } ] @@ -8751,7 +9094,7 @@ { "body": { "nodeType": "YulBlock", - "src": "10516:22:15", + "src": "11175:22:18", "statements": [ { "expression": { @@ -8759,13 +9102,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "10518:16:15" + "src": "11177:16:18" }, "nodeType": "YulFunctionCall", - "src": "10518:18:15" + "src": "11177:18:18" }, "nodeType": "YulExpressionStatement", - "src": "10518:18:15" + "src": "11177:18:18" } ] }, @@ -8776,12 +9119,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "10459:10:15" + "src": "11118:10:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10471:18:15", + "src": "11130:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -8789,43 +9132,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "10456:2:15" + "src": "11115:2:18" }, "nodeType": "YulFunctionCall", - "src": "10456:34:15" + "src": "11115:34:18" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "10495:10:15" + "src": "11154:10:18" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10507:6:15" + "src": "11166:6:18" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "10492:2:15" + "src": "11151:2:18" }, "nodeType": "YulFunctionCall", - "src": "10492:22:15" + "src": "11151:22:18" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "10453:2:15" + "src": "11112:2:18" }, "nodeType": "YulFunctionCall", - "src": "10453:62:15" + "src": "11112:62:18" }, "nodeType": "YulIf", - "src": "10450:88:15" + "src": "11109:88:18" }, { "expression": { @@ -8833,26 +9176,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10554:2:15", + "src": "11213:2:18", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "10558:10:15" + "src": "11217:10:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10547:6:15" + "src": "11206:6:18" }, "nodeType": "YulFunctionCall", - "src": "10547:22:15" + "src": "11206:22:18" }, "nodeType": "YulExpressionStatement", - "src": "10547:22:15" + "src": "11206:22:18" } ] }, @@ -8862,41 +9205,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "10323:6:15", + "src": "10982:6:18", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "10331:4:15", + "src": "10990:4:18", "type": "" } ], - "src": "10294:281:15" + "src": "10953:281:18" }, { "body": { "nodeType": "YulBlock", - "src": "10622:88:15", + "src": "11281:88:18", "statements": [ { "nodeType": "YulAssignment", - "src": "10632:30:15", + "src": "11291:30:18", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "10642:18:15" + "src": "11301:18:18" }, "nodeType": "YulFunctionCall", - "src": "10642:20:15" + "src": "11301:20:18" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10632:6:15" + "src": "11291:6:18" } ] }, @@ -8906,24 +9249,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "10691:6:15" + "src": "11350:6:18" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "10699:4:15" + "src": "11358:4:18" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "10671:19:15" + "src": "11330:19:18" }, "nodeType": "YulFunctionCall", - "src": "10671:33:15" + "src": "11330:33:18" }, "nodeType": "YulExpressionStatement", - "src": "10671:33:15" + "src": "11330:33:18" } ] }, @@ -8933,7 +9276,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "10606:4:15", + "src": "11265:4:18", "type": "" } ], @@ -8941,21 +9284,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "10615:6:15", + "src": "11274:6:18", "type": "" } ], - "src": "10581:129:15" + "src": "11240:129:18" }, { "body": { "nodeType": "YulBlock", - "src": "10782:241:15", + "src": "11441:241:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "10887:22:15", + "src": "11546:22:18", "statements": [ { "expression": { @@ -8963,13 +9306,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "10889:16:15" + "src": "11548:16:18" }, "nodeType": "YulFunctionCall", - "src": "10889:18:15" + "src": "11548:18:18" }, "nodeType": "YulExpressionStatement", - "src": "10889:18:15" + "src": "11548:18:18" } ] }, @@ -8978,12 +9321,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "10859:6:15" + "src": "11518:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10867:18:15", + "src": "11526:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -8991,55 +9334,55 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "10856:2:15" + "src": "11515:2:18" }, "nodeType": "YulFunctionCall", - "src": "10856:30:15" + "src": "11515:30:18" }, "nodeType": "YulIf", - "src": "10853:56:15" + "src": "11512:56:18" }, { "nodeType": "YulAssignment", - "src": "10919:37:15", + "src": "11578:37:18", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "10949:6:15" + "src": "11608:6:18" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "10927:21:15" + "src": "11586:21:18" }, "nodeType": "YulFunctionCall", - "src": "10927:29:15" + "src": "11586:29:18" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "10919:4:15" + "src": "11578:4:18" } ] }, { "nodeType": "YulAssignment", - "src": "10993:23:15", + "src": "11652:23:18", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "11005:4:15" + "src": "11664:4:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11011:4:15", + "src": "11670:4:18", "type": "", "value": "0x20" } @@ -9047,16 +9390,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11001:3:15" + "src": "11660:3:18" }, "nodeType": "YulFunctionCall", - "src": "11001:15:15" + "src": "11660:15:18" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "10993:4:15" + "src": "11652:4:18" } ] } @@ -9068,7 +9411,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "10766:6:15", + "src": "11425:6:18", "type": "" } ], @@ -9076,16 +9419,16 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "10777:4:15", + "src": "11436:4:18", "type": "" } ], - "src": "10716:307:15" + "src": "11375:307:18" }, { "body": { "nodeType": "YulBlock", - "src": "11080:103:15", + "src": "11739:103:18", "statements": [ { "expression": { @@ -9093,29 +9436,29 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "11103:3:15" + "src": "11762:3:18" }, { "name": "src", "nodeType": "YulIdentifier", - "src": "11108:3:15" + "src": "11767:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11113:6:15" + "src": "11772:6:18" } ], "functionName": { "name": "calldatacopy", "nodeType": "YulIdentifier", - "src": "11090:12:15" + "src": "11749:12:18" }, "nodeType": "YulFunctionCall", - "src": "11090:30:15" + "src": "11749:30:18" }, "nodeType": "YulExpressionStatement", - "src": "11090:30:15" + "src": "11749:30:18" }, { "expression": { @@ -9125,26 +9468,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "11161:3:15" + "src": "11820:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11166:6:15" + "src": "11825:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11157:3:15" + "src": "11816:3:18" }, "nodeType": "YulFunctionCall", - "src": "11157:16:15" + "src": "11816:16:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11175:1:15", + "src": "11834:1:18", "type": "", "value": "0" } @@ -9152,13 +9495,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11150:6:15" + "src": "11809:6:18" }, "nodeType": "YulFunctionCall", - "src": "11150:27:15" + "src": "11809:27:18" }, "nodeType": "YulExpressionStatement", - "src": "11150:27:15" + "src": "11809:27:18" } ] }, @@ -9168,32 +9511,32 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "11062:3:15", + "src": "11721:3:18", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "11067:3:15", + "src": "11726:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "11072:6:15", + "src": "11731:6:18", "type": "" } ], - "src": "11029:154:15" + "src": "11688:154:18" }, { "body": { "nodeType": "YulBlock", - "src": "11272:327:15", + "src": "11931:327:18", "statements": [ { "nodeType": "YulAssignment", - "src": "11282:74:15", + "src": "11941:74:18", "value": { "arguments": [ { @@ -9201,31 +9544,31 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "11348:6:15" + "src": "12007:6:18" } ], "functionName": { "name": "array_allocation_size_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "11307:40:15" + "src": "11966:40:18" }, "nodeType": "YulFunctionCall", - "src": "11307:48:15" + "src": "11966:48:18" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "11291:15:15" + "src": "11950:15:18" }, "nodeType": "YulFunctionCall", - "src": "11291:65:15" + "src": "11950:65:18" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "11282:5:15" + "src": "11941:5:18" } ] }, @@ -9235,39 +9578,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "11372:5:15" + "src": "12031:5:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11379:6:15" + "src": "12038:6:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11365:6:15" + "src": "12024:6:18" }, "nodeType": "YulFunctionCall", - "src": "11365:21:15" + "src": "12024:21:18" }, "nodeType": "YulExpressionStatement", - "src": "11365:21:15" + "src": "12024:21:18" }, { "nodeType": "YulVariableDeclaration", - "src": "11395:27:15", + "src": "12054:27:18", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "11410:5:15" + "src": "12069:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11417:4:15", + "src": "12076:4:18", "type": "", "value": "0x20" } @@ -9275,16 +9618,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11406:3:15" + "src": "12065:3:18" }, "nodeType": "YulFunctionCall", - "src": "11406:16:15" + "src": "12065:16:18" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "11399:3:15", + "src": "12058:3:18", "type": "" } ] @@ -9292,7 +9635,7 @@ { "body": { "nodeType": "YulBlock", - "src": "11460:83:15", + "src": "12119:83:18", "statements": [ { "expression": { @@ -9300,13 +9643,13 @@ "functionName": { "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", "nodeType": "YulIdentifier", - "src": "11462:77:15" + "src": "12121:77:18" }, "nodeType": "YulFunctionCall", - "src": "11462:79:15" + "src": "12121:79:18" }, "nodeType": "YulExpressionStatement", - "src": "11462:79:15" + "src": "12121:79:18" } ] }, @@ -9317,38 +9660,38 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "11441:3:15" + "src": "12100:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11446:6:15" + "src": "12105:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11437:3:15" + "src": "12096:3:18" }, "nodeType": "YulFunctionCall", - "src": "11437:16:15" + "src": "12096:16:18" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "11455:3:15" + "src": "12114:3:18" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "11434:2:15" + "src": "12093:2:18" }, "nodeType": "YulFunctionCall", - "src": "11434:25:15" + "src": "12093:25:18" }, "nodeType": "YulIf", - "src": "11431:112:15" + "src": "12090:112:18" }, { "expression": { @@ -9356,29 +9699,29 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "11576:3:15" + "src": "12235:3:18" }, { "name": "dst", "nodeType": "YulIdentifier", - "src": "11581:3:15" + "src": "12240:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11586:6:15" + "src": "12245:6:18" } ], "functionName": { "name": "copy_calldata_to_memory", "nodeType": "YulIdentifier", - "src": "11552:23:15" + "src": "12211:23:18" }, "nodeType": "YulFunctionCall", - "src": "11552:41:15" + "src": "12211:41:18" }, "nodeType": "YulExpressionStatement", - "src": "11552:41:15" + "src": "12211:41:18" } ] }, @@ -9388,19 +9731,19 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "11245:3:15", + "src": "11904:3:18", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "11250:6:15", + "src": "11909:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "11258:3:15", + "src": "11917:3:18", "type": "" } ], @@ -9408,21 +9751,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "11266:5:15", + "src": "11925:5:18", "type": "" } ], - "src": "11189:410:15" + "src": "11848:410:18" }, { "body": { "nodeType": "YulBlock", - "src": "11679:277:15", + "src": "12338:277:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "11728:83:15", + "src": "12387:83:18", "statements": [ { "expression": { @@ -9430,13 +9773,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "11730:77:15" + "src": "12389:77:18" }, "nodeType": "YulFunctionCall", - "src": "11730:79:15" + "src": "12389:79:18" }, "nodeType": "YulExpressionStatement", - "src": "11730:79:15" + "src": "12389:79:18" } ] }, @@ -9449,12 +9792,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "11707:6:15" + "src": "12366:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11715:4:15", + "src": "12374:4:18", "type": "", "value": "0x1f" } @@ -9462,68 +9805,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11703:3:15" + "src": "12362:3:18" }, "nodeType": "YulFunctionCall", - "src": "11703:17:15" + "src": "12362:17:18" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "11722:3:15" + "src": "12381:3:18" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "11699:3:15" + "src": "12358:3:18" }, "nodeType": "YulFunctionCall", - "src": "11699:27:15" + "src": "12358:27:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "11692:6:15" + "src": "12351:6:18" }, "nodeType": "YulFunctionCall", - "src": "11692:35:15" + "src": "12351:35:18" }, "nodeType": "YulIf", - "src": "11689:122:15" + "src": "12348:122:18" }, { "nodeType": "YulVariableDeclaration", - "src": "11820:34:15", + "src": "12479:34:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "11847:6:15" + "src": "12506:6:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "11834:12:15" + "src": "12493:12:18" }, "nodeType": "YulFunctionCall", - "src": "11834:20:15" + "src": "12493:20:18" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "11824:6:15", + "src": "12483:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "11863:87:15", + "src": "12522:87:18", "value": { "arguments": [ { @@ -9531,12 +9874,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "11923:6:15" + "src": "12582:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11931:4:15", + "src": "12590:4:18", "type": "", "value": "0x20" } @@ -9544,35 +9887,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11919:3:15" + "src": "12578:3:18" }, "nodeType": "YulFunctionCall", - "src": "11919:17:15" + "src": "12578:17:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11938:6:15" + "src": "12597:6:18" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "11946:3:15" + "src": "12605:3:18" } ], "functionName": { "name": "abi_decode_available_length_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "11872:46:15" + "src": "12531:46:18" }, "nodeType": "YulFunctionCall", - "src": "11872:78:15" + "src": "12531:78:18" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "11863:5:15" + "src": "12522:5:18" } ] } @@ -9584,13 +9927,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "11657:6:15", + "src": "12316:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "11665:3:15", + "src": "12324:3:18", "type": "" } ], @@ -9598,21 +9941,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "11673:5:15", + "src": "12332:5:18", "type": "" } ], - "src": "11618:338:15" + "src": "12277:338:18" }, { "body": { "nodeType": "YulBlock", - "src": "12088:817:15", + "src": "12747:817:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "12135:83:15", + "src": "12794:83:18", "statements": [ { "expression": { @@ -9620,13 +9963,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "12137:77:15" + "src": "12796:77:18" }, "nodeType": "YulFunctionCall", - "src": "12137:79:15" + "src": "12796:79:18" }, "nodeType": "YulExpressionStatement", - "src": "12137:79:15" + "src": "12796:79:18" } ] }, @@ -9637,26 +9980,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12109:7:15" + "src": "12768:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12118:9:15" + "src": "12777:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12105:3:15" + "src": "12764:3:18" }, "nodeType": "YulFunctionCall", - "src": "12105:23:15" + "src": "12764:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12130:3:15", + "src": "12789:3:18", "type": "", "value": "128" } @@ -9664,25 +10007,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "12101:3:15" + "src": "12760:3:18" }, "nodeType": "YulFunctionCall", - "src": "12101:33:15" + "src": "12760:33:18" }, "nodeType": "YulIf", - "src": "12098:120:15" + "src": "12757:120:18" }, { "nodeType": "YulBlock", - "src": "12228:117:15", + "src": "12887:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12243:15:15", + "src": "12902:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "12257:1:15", + "src": "12916:1:18", "type": "", "value": "0" }, @@ -9690,14 +10033,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12247:6:15", + "src": "12906:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "12272:63:15", + "src": "12931:63:18", "value": { "arguments": [ { @@ -9705,41 +10048,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12307:9:15" + "src": "12966:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12318:6:15" + "src": "12977:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12303:3:15" + "src": "12962:3:18" }, "nodeType": "YulFunctionCall", - "src": "12303:22:15" + "src": "12962:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12327:7:15" + "src": "12986:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "12282:20:15" + "src": "12941:20:18" }, "nodeType": "YulFunctionCall", - "src": "12282:53:15" + "src": "12941:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "12272:6:15" + "src": "12931:6:18" } ] } @@ -9747,15 +10090,15 @@ }, { "nodeType": "YulBlock", - "src": "12355:118:15", + "src": "13014:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12370:16:15", + "src": "13029:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "12384:2:15", + "src": "13043:2:18", "type": "", "value": "32" }, @@ -9763,14 +10106,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12374:6:15", + "src": "13033:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "12400:63:15", + "src": "13059:63:18", "value": { "arguments": [ { @@ -9778,41 +10121,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12435:9:15" + "src": "13094:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12446:6:15" + "src": "13105:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12431:3:15" + "src": "13090:3:18" }, "nodeType": "YulFunctionCall", - "src": "12431:22:15" + "src": "13090:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12455:7:15" + "src": "13114:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "12410:20:15" + "src": "13069:20:18" }, "nodeType": "YulFunctionCall", - "src": "12410:53:15" + "src": "13069:53:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "12400:6:15" + "src": "13059:6:18" } ] } @@ -9820,15 +10163,15 @@ }, { "nodeType": "YulBlock", - "src": "12483:118:15", + "src": "13142:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12498:16:15", + "src": "13157:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "12512:2:15", + "src": "13171:2:18", "type": "", "value": "64" }, @@ -9836,14 +10179,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12502:6:15", + "src": "13161:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "12528:63:15", + "src": "13187:63:18", "value": { "arguments": [ { @@ -9851,41 +10194,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12563:9:15" + "src": "13222:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12574:6:15" + "src": "13233:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12559:3:15" + "src": "13218:3:18" }, "nodeType": "YulFunctionCall", - "src": "12559:22:15" + "src": "13218:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12583:7:15" + "src": "13242:7:18" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "12538:20:15" + "src": "13197:20:18" }, "nodeType": "YulFunctionCall", - "src": "12538:53:15" + "src": "13197:53:18" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "12528:6:15" + "src": "13187:6:18" } ] } @@ -9893,11 +10236,11 @@ }, { "nodeType": "YulBlock", - "src": "12611:287:15", + "src": "13270:287:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "12626:46:15", + "src": "13285:46:18", "value": { "arguments": [ { @@ -9905,12 +10248,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12657:9:15" + "src": "13316:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12668:2:15", + "src": "13327:2:18", "type": "", "value": "96" } @@ -9918,25 +10261,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12653:3:15" + "src": "13312:3:18" }, "nodeType": "YulFunctionCall", - "src": "12653:18:15" + "src": "13312:18:18" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "12640:12:15" + "src": "13299:12:18" }, "nodeType": "YulFunctionCall", - "src": "12640:32:15" + "src": "13299:32:18" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "12630:6:15", + "src": "13289:6:18", "type": "" } ] @@ -9944,7 +10287,7 @@ { "body": { "nodeType": "YulBlock", - "src": "12719:83:15", + "src": "13378:83:18", "statements": [ { "expression": { @@ -9952,13 +10295,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "12721:77:15" + "src": "13380:77:18" }, "nodeType": "YulFunctionCall", - "src": "12721:79:15" + "src": "13380:79:18" }, "nodeType": "YulExpressionStatement", - "src": "12721:79:15" + "src": "13380:79:18" } ] }, @@ -9967,12 +10310,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "12691:6:15" + "src": "13350:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12699:18:15", + "src": "13358:18:18", "type": "", "value": "0xffffffffffffffff" } @@ -9980,17 +10323,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "12688:2:15" + "src": "13347:2:18" }, "nodeType": "YulFunctionCall", - "src": "12688:30:15" + "src": "13347:30:18" }, "nodeType": "YulIf", - "src": "12685:117:15" + "src": "13344:117:18" }, { "nodeType": "YulAssignment", - "src": "12816:72:15", + "src": "13475:72:18", "value": { "arguments": [ { @@ -9998,41 +10341,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12860:9:15" + "src": "13519:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "12871:6:15" + "src": "13530:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12856:3:15" + "src": "13515:3:18" }, "nodeType": "YulFunctionCall", - "src": "12856:22:15" + "src": "13515:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "12880:7:15" + "src": "13539:7:18" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "12826:29:15" + "src": "13485:29:18" }, "nodeType": "YulFunctionCall", - "src": "12826:62:15" + "src": "13485:62:18" }, "variableNames": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "12816:6:15" + "src": "13475:6:18" } ] } @@ -10046,13 +10389,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12034:9:15", + "src": "12693:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "12045:7:15", + "src": "12704:7:18", "type": "" } ], @@ -10060,39 +10403,39 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "12057:6:15", + "src": "12716:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "12065:6:15", + "src": "12724:6:18", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "12073:6:15", + "src": "12732:6:18", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "12081:6:15", + "src": "12740:6:18", "type": "" } ], - "src": "11962:943:15" + "src": "12621:943:18" }, { "body": { "nodeType": "YulBlock", - "src": "12994:391:15", + "src": "13653:391:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13040:83:15", + "src": "13699:83:18", "statements": [ { "expression": { @@ -10100,13 +10443,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "13042:77:15" + "src": "13701:77:18" }, "nodeType": "YulFunctionCall", - "src": "13042:79:15" + "src": "13701:79:18" }, "nodeType": "YulExpressionStatement", - "src": "13042:79:15" + "src": "13701:79:18" } ] }, @@ -10117,26 +10460,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13015:7:15" + "src": "13674:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13024:9:15" + "src": "13683:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13011:3:15" + "src": "13670:3:18" }, "nodeType": "YulFunctionCall", - "src": "13011:23:15" + "src": "13670:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13036:2:15", + "src": "13695:2:18", "type": "", "value": "64" } @@ -10144,25 +10487,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "13007:3:15" + "src": "13666:3:18" }, "nodeType": "YulFunctionCall", - "src": "13007:32:15" + "src": "13666:32:18" }, "nodeType": "YulIf", - "src": "13004:119:15" + "src": "13663:119:18" }, { "nodeType": "YulBlock", - "src": "13133:117:15", + "src": "13792:117:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "13148:15:15", + "src": "13807:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "13162:1:15", + "src": "13821:1:18", "type": "", "value": "0" }, @@ -10170,14 +10513,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "13152:6:15", + "src": "13811:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "13177:63:15", + "src": "13836:63:18", "value": { "arguments": [ { @@ -10185,41 +10528,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13212:9:15" + "src": "13871:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "13223:6:15" + "src": "13882:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13208:3:15" + "src": "13867:3:18" }, "nodeType": "YulFunctionCall", - "src": "13208:22:15" + "src": "13867:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13232:7:15" + "src": "13891:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "13187:20:15" + "src": "13846:20:18" }, "nodeType": "YulFunctionCall", - "src": "13187:53:15" + "src": "13846:53:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "13177:6:15" + "src": "13836:6:18" } ] } @@ -10227,15 +10570,15 @@ }, { "nodeType": "YulBlock", - "src": "13260:118:15", + "src": "13919:118:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "13275:16:15", + "src": "13934:16:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "13289:2:15", + "src": "13948:2:18", "type": "", "value": "32" }, @@ -10243,14 +10586,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "13279:6:15", + "src": "13938:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "13305:63:15", + "src": "13964:63:18", "value": { "arguments": [ { @@ -10258,41 +10601,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13340:9:15" + "src": "13999:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "13351:6:15" + "src": "14010:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13336:3:15" + "src": "13995:3:18" }, "nodeType": "YulFunctionCall", - "src": "13336:22:15" + "src": "13995:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13360:7:15" + "src": "14019:7:18" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "13315:20:15" + "src": "13974:20:18" }, "nodeType": "YulFunctionCall", - "src": "13315:53:15" + "src": "13974:53:18" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "13305:6:15" + "src": "13964:6:18" } ] } @@ -10306,13 +10649,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12956:9:15", + "src": "13615:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "12967:7:15", + "src": "13626:7:18", "type": "" } ], @@ -10320,22 +10663,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "12979:6:15", + "src": "13638:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "12987:6:15", + "src": "13646:6:18", "type": "" } ], - "src": "12911:474:15" + "src": "13570:474:18" }, { "body": { "nodeType": "YulBlock", - "src": "13419:152:15", + "src": "14078:152:18", "statements": [ { "expression": { @@ -10343,14 +10686,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "13436:1:15", + "src": "14095:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13439:77:15", + "src": "14098:77:18", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -10358,13 +10701,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13429:6:15" + "src": "14088:6:18" }, "nodeType": "YulFunctionCall", - "src": "13429:88:15" + "src": "14088:88:18" }, "nodeType": "YulExpressionStatement", - "src": "13429:88:15" + "src": "14088:88:18" }, { "expression": { @@ -10372,14 +10715,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "13533:1:15", + "src": "14192:1:18", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13536:4:15", + "src": "14195:4:18", "type": "", "value": "0x22" } @@ -10387,13 +10730,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13526:6:15" + "src": "14185:6:18" }, "nodeType": "YulFunctionCall", - "src": "13526:15:15" + "src": "14185:15:18" }, "nodeType": "YulExpressionStatement", - "src": "13526:15:15" + "src": "14185:15:18" }, { "expression": { @@ -10401,14 +10744,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "13557:1:15", + "src": "14216:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13560:4:15", + "src": "14219:4:18", "type": "", "value": "0x24" } @@ -10416,39 +10759,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "13550:6:15" + "src": "14209:6:18" }, "nodeType": "YulFunctionCall", - "src": "13550:15:15" + "src": "14209:15:18" }, "nodeType": "YulExpressionStatement", - "src": "13550:15:15" + "src": "14209:15:18" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "13391:180:15" + "src": "14050:180:18" }, { "body": { "nodeType": "YulBlock", - "src": "13628:269:15", + "src": "14287:269:18", "statements": [ { "nodeType": "YulAssignment", - "src": "13638:22:15", + "src": "14297:22:18", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "13652:4:15" + "src": "14311:4:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13658:1:15", + "src": "14317:1:18", "type": "", "value": "2" } @@ -10456,33 +10799,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "13648:3:15" + "src": "14307:3:18" }, "nodeType": "YulFunctionCall", - "src": "13648:12:15" + "src": "14307:12:18" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "13638:6:15" + "src": "14297:6:18" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "13669:38:15", + "src": "14328:38:18", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "13699:4:15" + "src": "14358:4:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13705:1:15", + "src": "14364:1:18", "type": "", "value": "1" } @@ -10490,16 +10833,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "13695:3:15" + "src": "14354:3:18" }, "nodeType": "YulFunctionCall", - "src": "13695:12:15" + "src": "14354:12:18" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "13673:18:15", + "src": "14332:18:18", "type": "" } ] @@ -10507,22 +10850,22 @@ { "body": { "nodeType": "YulBlock", - "src": "13746:51:15", + "src": "14405:51:18", "statements": [ { "nodeType": "YulAssignment", - "src": "13760:27:15", + "src": "14419:27:18", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "13774:6:15" + "src": "14433:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13782:4:15", + "src": "14441:4:18", "type": "", "value": "0x7f" } @@ -10530,16 +10873,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "13770:3:15" + "src": "14429:3:18" }, "nodeType": "YulFunctionCall", - "src": "13770:17:15" + "src": "14429:17:18" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "13760:6:15" + "src": "14419:6:18" } ] } @@ -10550,24 +10893,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "13726:18:15" + "src": "14385:18:18" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "13719:6:15" + "src": "14378:6:18" }, "nodeType": "YulFunctionCall", - "src": "13719:26:15" + "src": "14378:26:18" }, "nodeType": "YulIf", - "src": "13716:81:15" + "src": "14375:81:18" }, { "body": { "nodeType": "YulBlock", - "src": "13849:42:15", + "src": "14508:42:18", "statements": [ { "expression": { @@ -10575,13 +10918,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "13863:16:15" + "src": "14522:16:18" }, "nodeType": "YulFunctionCall", - "src": "13863:18:15" + "src": "14522:18:18" }, "nodeType": "YulExpressionStatement", - "src": "13863:18:15" + "src": "14522:18:18" } ] }, @@ -10590,19 +10933,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "13813:18:15" + "src": "14472:18:18" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "13836:6:15" + "src": "14495:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13844:2:15", + "src": "14503:2:18", "type": "", "value": "32" } @@ -10610,22 +10953,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "13833:2:15" + "src": "14492:2:18" }, "nodeType": "YulFunctionCall", - "src": "13833:14:15" + "src": "14492:14:18" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "13810:2:15" + "src": "14469:2:18" }, "nodeType": "YulFunctionCall", - "src": "13810:38:15" + "src": "14469:38:18" }, "nodeType": "YulIf", - "src": "13807:84:15" + "src": "14466:84:18" } ] }, @@ -10635,7 +10978,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "13612:4:15", + "src": "14271:4:18", "type": "" } ], @@ -10643,16 +10986,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "13621:6:15", + "src": "14280:6:18", "type": "" } ], - "src": "13577:320:15" + "src": "14236:320:18" }, { "body": { "nodeType": "YulBlock", - "src": "14009:125:15", + "src": "14668:114:18", "statements": [ { "expression": { @@ -10662,12 +11005,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14031:6:15" + "src": "14690:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14039:1:15", + "src": "14698:1:18", "type": "", "value": "0" } @@ -10675,389 +11018,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14027:3:15" + "src": "14686:3:18" }, "nodeType": "YulFunctionCall", - "src": "14027:14:15" - }, - { - "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "14043:34:15", - "type": "", - "value": "ERC721: approved query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14020:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "14020:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14020:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "14099:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14107:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14095:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14095:15:15" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "14112:14:15", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14088:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "14088:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14088:39:15" - } - ] - }, - "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "14001:6:15", - "type": "" - } - ], - "src": "13903:231:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14286:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14296:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14362:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14367:2:15", - "type": "", - "value": "44" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "14303:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "14303:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14296:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14468:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", - "nodeType": "YulIdentifier", - "src": "14379:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "14379:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14379:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "14481:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "14492:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14497:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14488:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14488:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "14481:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "14274:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "14282:3:15", - "type": "" - } - ], - "src": "14140:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14683:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14693:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14705:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14716:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14701:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14701:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14693:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14740:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14751:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14736:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14736:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14759:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "14765:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "14755:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "14755:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14729:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "14729:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "14729:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "14785:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14919:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "14793:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "14793:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "14785:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14663:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "14678:4:15", - "type": "" - } - ], - "src": "14512:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15043:114:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "15065:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15073:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15061:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "15061:14:15" + "src": "14686:14:18" }, { "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", "kind": "string", "nodeType": "YulLiteral", - "src": "15077:34:15", + "src": "14702:34:18", "type": "", "value": "ERC721: approval to current owne" } @@ -11065,13 +11035,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15054:6:15" + "src": "14679:6:18" }, "nodeType": "YulFunctionCall", - "src": "15054:58:15" + "src": "14679:58:18" }, "nodeType": "YulExpressionStatement", - "src": "15054:58:15" + "src": "14679:58:18" }, { "expression": { @@ -11081,12 +11051,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "15133:6:15" + "src": "14758:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15141:2:15", + "src": "14766:2:18", "type": "", "value": "32" } @@ -11094,16 +11064,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15129:3:15" + "src": "14754:3:18" }, "nodeType": "YulFunctionCall", - "src": "15129:15:15" + "src": "14754:15:18" }, { "hexValue": "72", "kind": "string", "nodeType": "YulLiteral", - "src": "15146:3:15", + "src": "14771:3:18", "type": "", "value": "r" } @@ -11111,13 +11081,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15122:6:15" + "src": "14747:6:18" }, "nodeType": "YulFunctionCall", - "src": "15122:28:15" + "src": "14747:28:18" }, "nodeType": "YulExpressionStatement", - "src": "15122:28:15" + "src": "14747:28:18" } ] }, @@ -11127,31 +11097,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "15035:6:15", + "src": "14660:6:18", "type": "" } ], - "src": "14937:220:15" + "src": "14562:220:18" }, { "body": { "nodeType": "YulBlock", - "src": "15309:220:15", + "src": "14934:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "15319:74:15", + "src": "14944:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15385:3:15" + "src": "15010:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15390:2:15", + "src": "15015:2:18", "type": "", "value": "33" } @@ -11159,16 +11129,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15326:58:15" + "src": "14951:58:18" }, "nodeType": "YulFunctionCall", - "src": "15326:67:15" + "src": "14951:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15319:3:15" + "src": "14944:3:18" } ] }, @@ -11178,34 +11148,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15491:3:15" + "src": "15116:3:18" } ], "functionName": { "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", "nodeType": "YulIdentifier", - "src": "15402:88:15" + "src": "15027:88:18" }, "nodeType": "YulFunctionCall", - "src": "15402:93:15" + "src": "15027:93:18" }, "nodeType": "YulExpressionStatement", - "src": "15402:93:15" + "src": "15027:93:18" }, { "nodeType": "YulAssignment", - "src": "15504:19:15", + "src": "15129:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "15515:3:15" + "src": "15140:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15520:2:15", + "src": "15145:2:18", "type": "", "value": "64" } @@ -11213,16 +11183,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15511:3:15" + "src": "15136:3:18" }, "nodeType": "YulFunctionCall", - "src": "15511:12:15" + "src": "15136:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "15504:3:15" + "src": "15129:3:18" } ] } @@ -11234,7 +11204,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "15297:3:15", + "src": "14922:3:18", "type": "" } ], @@ -11242,31 +11212,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "15305:3:15", + "src": "14930:3:18", "type": "" } ], - "src": "15163:366:15" + "src": "14788:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "15706:248:15", + "src": "15331:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "15716:26:15", + "src": "15341:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15728:9:15" + "src": "15353:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15739:2:15", + "src": "15364:2:18", "type": "", "value": "32" } @@ -11274,16 +11244,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15724:3:15" + "src": "15349:3:18" }, "nodeType": "YulFunctionCall", - "src": "15724:18:15" + "src": "15349:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15716:4:15" + "src": "15341:4:18" } ] }, @@ -11295,12 +11265,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15763:9:15" + "src": "15388:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15774:1:15", + "src": "15399:1:18", "type": "", "value": "0" } @@ -11308,68 +11278,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15759:3:15" + "src": "15384:3:18" }, "nodeType": "YulFunctionCall", - "src": "15759:17:15" + "src": "15384:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15782:4:15" + "src": "15407:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "15788:9:15" + "src": "15413:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "15778:3:15" + "src": "15403:3:18" }, "nodeType": "YulFunctionCall", - "src": "15778:20:15" + "src": "15403:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15752:6:15" + "src": "15377:6:18" }, "nodeType": "YulFunctionCall", - "src": "15752:47:15" + "src": "15377:47:18" }, "nodeType": "YulExpressionStatement", - "src": "15752:47:15" + "src": "15377:47:18" }, { "nodeType": "YulAssignment", - "src": "15808:139:15", + "src": "15433:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15942:4:15" + "src": "15567:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "15816:124:15" + "src": "15441:124:18" }, "nodeType": "YulFunctionCall", - "src": "15816:131:15" + "src": "15441:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "15808:4:15" + "src": "15433:4:18" } ] } @@ -11381,7 +11351,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15686:9:15", + "src": "15311:9:18", "type": "" } ], @@ -11389,16 +11359,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "15701:4:15", + "src": "15326:4:18", "type": "" } ], - "src": "15535:419:15" + "src": "15160:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "16066:137:15", + "src": "15691:142:18", "statements": [ { "expression": { @@ -11408,12 +11378,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "16088:6:15" + "src": "15713:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16096:1:15", + "src": "15721:1:18", "type": "", "value": "0" } @@ -11421,30 +11391,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16084:3:15" + "src": "15709:3:18" }, "nodeType": "YulFunctionCall", - "src": "16084:14:15" + "src": "15709:14:18" }, { - "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77", + "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f", "kind": "string", "nodeType": "YulLiteral", - "src": "16100:34:15", + "src": "15725:34:18", "type": "", - "value": "ERC721: approve caller is not ow" + "value": "ERC721: approve caller is not to" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16077:6:15" + "src": "15702:6:18" }, "nodeType": "YulFunctionCall", - "src": "16077:58:15" + "src": "15702:58:18" }, "nodeType": "YulExpressionStatement", - "src": "16077:58:15" + "src": "15702:58:18" }, { "expression": { @@ -11454,12 +11424,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "16156:6:15" + "src": "15781:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16164:2:15", + "src": "15789:2:18", "type": "", "value": "32" } @@ -11467,81 +11437,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16152:3:15" + "src": "15777:3:18" }, "nodeType": "YulFunctionCall", - "src": "16152:15:15" + "src": "15777:15:18" }, { - "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c", + "hexValue": "6b656e206f776e6572206f7220617070726f76656420666f7220616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "16169:26:15", + "src": "15794:31:18", "type": "", - "value": "ner nor approved for all" + "value": "ken owner or approved for all" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16145:6:15" + "src": "15770:6:18" }, "nodeType": "YulFunctionCall", - "src": "16145:51:15" + "src": "15770:56:18" }, "nodeType": "YulExpressionStatement", - "src": "16145:51:15" + "src": "15770:56:18" } ] }, - "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "16058:6:15", + "src": "15683:6:18", "type": "" } ], - "src": "15960:243:15" + "src": "15585:248:18" }, { "body": { "nodeType": "YulBlock", - "src": "16355:220:15", + "src": "15985:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "16365:74:15", + "src": "15995:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16431:3:15" + "src": "16061:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16436:2:15", + "src": "16066:2:18", "type": "", - "value": "56" + "value": "61" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "16372:58:15" + "src": "16002:58:18" }, "nodeType": "YulFunctionCall", - "src": "16372:67:15" + "src": "16002:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16365:3:15" + "src": "15995:3:18" } ] }, @@ -11551,34 +11521,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16537:3:15" + "src": "16167:3:18" } ], "functionName": { - "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", + "name": "store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83", "nodeType": "YulIdentifier", - "src": "16448:88:15" + "src": "16078:88:18" }, "nodeType": "YulFunctionCall", - "src": "16448:93:15" + "src": "16078:93:18" }, "nodeType": "YulExpressionStatement", - "src": "16448:93:15" + "src": "16078:93:18" }, { "nodeType": "YulAssignment", - "src": "16550:19:15", + "src": "16180:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "16561:3:15" + "src": "16191:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16566:2:15", + "src": "16196:2:18", "type": "", "value": "64" } @@ -11586,28 +11556,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16557:3:15" + "src": "16187:3:18" }, "nodeType": "YulFunctionCall", - "src": "16557:12:15" + "src": "16187:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "16550:3:15" + "src": "16180:3:18" } ] } ] }, - "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "16343:3:15", + "src": "15973:3:18", "type": "" } ], @@ -11615,31 +11585,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "16351:3:15", + "src": "15981:3:18", "type": "" } ], - "src": "16209:366:15" + "src": "15839:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "16752:248:15", + "src": "16382:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "16762:26:15", + "src": "16392:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16774:9:15" + "src": "16404:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16785:2:15", + "src": "16415:2:18", "type": "", "value": "32" } @@ -11647,16 +11617,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16770:3:15" + "src": "16400:3:18" }, "nodeType": "YulFunctionCall", - "src": "16770:18:15" + "src": "16400:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16762:4:15" + "src": "16392:4:18" } ] }, @@ -11668,12 +11638,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16809:9:15" + "src": "16439:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16820:1:15", + "src": "16450:1:18", "type": "", "value": "0" } @@ -11681,80 +11651,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16805:3:15" + "src": "16435:3:18" }, "nodeType": "YulFunctionCall", - "src": "16805:17:15" + "src": "16435:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16828:4:15" + "src": "16458:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16834:9:15" + "src": "16464:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "16824:3:15" + "src": "16454:3:18" }, "nodeType": "YulFunctionCall", - "src": "16824:20:15" + "src": "16454:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "16798:6:15" + "src": "16428:6:18" }, "nodeType": "YulFunctionCall", - "src": "16798:47:15" + "src": "16428:47:18" }, "nodeType": "YulExpressionStatement", - "src": "16798:47:15" + "src": "16428:47:18" }, { "nodeType": "YulAssignment", - "src": "16854:139:15", + "src": "16484:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16988:4:15" + "src": "16618:4:18" } ], "functionName": { - "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "16862:124:15" + "src": "16492:124:18" }, "nodeType": "YulFunctionCall", - "src": "16862:131:15" + "src": "16492:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "16854:4:15" + "src": "16484:4:18" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16732:9:15", + "src": "16362:9:18", "type": "" } ], @@ -11762,16 +11732,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "16747:4:15", + "src": "16377:4:18", "type": "" } ], - "src": "16581:419:15" + "src": "16211:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "17112:130:15", + "src": "16742:126:18", "statements": [ { "expression": { @@ -11781,12 +11751,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17134:6:15" + "src": "16764:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17142:1:15", + "src": "16772:1:18", "type": "", "value": "0" } @@ -11794,30 +11764,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17130:3:15" + "src": "16760:3:18" }, "nodeType": "YulFunctionCall", - "src": "17130:14:15" + "src": "16760:14:18" }, { - "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", + "hexValue": "4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e65", "kind": "string", "nodeType": "YulLiteral", - "src": "17146:34:15", + "src": "16776:34:18", "type": "", - "value": "ERC721: transfer caller is not o" + "value": "ERC721: caller is not token owne" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17123:6:15" + "src": "16753:6:18" }, "nodeType": "YulFunctionCall", - "src": "17123:58:15" + "src": "16753:58:18" }, "nodeType": "YulExpressionStatement", - "src": "17123:58:15" + "src": "16753:58:18" }, { "expression": { @@ -11827,12 +11797,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17202:6:15" + "src": "16832:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17210:2:15", + "src": "16840:2:18", "type": "", "value": "32" } @@ -11840,81 +11810,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17198:3:15" + "src": "16828:3:18" }, "nodeType": "YulFunctionCall", - "src": "17198:15:15" + "src": "16828:15:18" }, { - "hexValue": "776e6572206e6f7220617070726f766564", + "hexValue": "72206f7220617070726f766564", "kind": "string", "nodeType": "YulLiteral", - "src": "17215:19:15", + "src": "16845:15:18", "type": "", - "value": "wner nor approved" + "value": "r or approved" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17191:6:15" + "src": "16821:6:18" }, "nodeType": "YulFunctionCall", - "src": "17191:44:15" + "src": "16821:40:18" }, "nodeType": "YulExpressionStatement", - "src": "17191:44:15" + "src": "16821:40:18" } ] }, - "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17104:6:15", + "src": "16734:6:18", "type": "" } ], - "src": "17006:236:15" + "src": "16636:232:18" }, { "body": { "nodeType": "YulBlock", - "src": "17394:220:15", + "src": "17020:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "17404:74:15", + "src": "17030:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17470:3:15" + "src": "17096:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17475:2:15", + "src": "17101:2:18", "type": "", - "value": "49" + "value": "45" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17411:58:15" + "src": "17037:58:18" }, "nodeType": "YulFunctionCall", - "src": "17411:67:15" + "src": "17037:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17404:3:15" + "src": "17030:3:18" } ] }, @@ -11924,34 +11894,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17576:3:15" + "src": "17202:3:18" } ], "functionName": { - "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", + "name": "store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af", "nodeType": "YulIdentifier", - "src": "17487:88:15" + "src": "17113:88:18" }, "nodeType": "YulFunctionCall", - "src": "17487:93:15" + "src": "17113:93:18" }, "nodeType": "YulExpressionStatement", - "src": "17487:93:15" + "src": "17113:93:18" }, { "nodeType": "YulAssignment", - "src": "17589:19:15", + "src": "17215:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17600:3:15" + "src": "17226:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17605:2:15", + "src": "17231:2:18", "type": "", "value": "64" } @@ -11959,28 +11929,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17596:3:15" + "src": "17222:3:18" }, "nodeType": "YulFunctionCall", - "src": "17596:12:15" + "src": "17222:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "17589:3:15" + "src": "17215:3:18" } ] } ] }, - "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "17382:3:15", + "src": "17008:3:18", "type": "" } ], @@ -11988,31 +11958,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "17390:3:15", + "src": "17016:3:18", "type": "" } ], - "src": "17248:366:15" + "src": "16874:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "17791:248:15", + "src": "17417:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "17801:26:15", + "src": "17427:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17813:9:15" + "src": "17439:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17824:2:15", + "src": "17450:2:18", "type": "", "value": "32" } @@ -12020,16 +11990,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17809:3:15" + "src": "17435:3:18" }, "nodeType": "YulFunctionCall", - "src": "17809:18:15" + "src": "17435:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17801:4:15" + "src": "17427:4:18" } ] }, @@ -12041,12 +12011,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17848:9:15" + "src": "17474:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17859:1:15", + "src": "17485:1:18", "type": "", "value": "0" } @@ -12054,80 +12024,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17844:3:15" + "src": "17470:3:18" }, "nodeType": "YulFunctionCall", - "src": "17844:17:15" + "src": "17470:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17867:4:15" + "src": "17493:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17873:9:15" + "src": "17499:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17863:3:15" + "src": "17489:3:18" }, "nodeType": "YulFunctionCall", - "src": "17863:20:15" + "src": "17489:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17837:6:15" + "src": "17463:6:18" }, "nodeType": "YulFunctionCall", - "src": "17837:47:15" + "src": "17463:47:18" }, "nodeType": "YulExpressionStatement", - "src": "17837:47:15" + "src": "17463:47:18" }, { "nodeType": "YulAssignment", - "src": "17893:139:15", + "src": "17519:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18027:4:15" + "src": "17653:4:18" } ], "functionName": { - "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17901:124:15" + "src": "17527:124:18" }, "nodeType": "YulFunctionCall", - "src": "17901:131:15" + "src": "17527:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17893:4:15" + "src": "17519:4:18" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17771:9:15", + "src": "17397:9:18", "type": "" } ], @@ -12135,16 +12105,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17786:4:15", + "src": "17412:4:18", "type": "" } ], - "src": "17620:419:15" + "src": "17246:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "18151:124:15", + "src": "17777:124:18", "statements": [ { "expression": { @@ -12154,12 +12124,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18173:6:15" + "src": "17799:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18181:1:15", + "src": "17807:1:18", "type": "", "value": "0" } @@ -12167,16 +12137,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18169:3:15" + "src": "17795:3:18" }, "nodeType": "YulFunctionCall", - "src": "18169:14:15" + "src": "17795:14:18" }, { "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", "kind": "string", "nodeType": "YulLiteral", - "src": "18185:34:15", + "src": "17811:34:18", "type": "", "value": "ERC721Enumerable: owner index ou" } @@ -12184,13 +12154,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18162:6:15" + "src": "17788:6:18" }, "nodeType": "YulFunctionCall", - "src": "18162:58:15" + "src": "17788:58:18" }, "nodeType": "YulExpressionStatement", - "src": "18162:58:15" + "src": "17788:58:18" }, { "expression": { @@ -12200,12 +12170,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18241:6:15" + "src": "17867:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18249:2:15", + "src": "17875:2:18", "type": "", "value": "32" } @@ -12213,16 +12183,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18237:3:15" + "src": "17863:3:18" }, "nodeType": "YulFunctionCall", - "src": "18237:15:15" + "src": "17863:15:18" }, { "hexValue": "74206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "18254:13:15", + "src": "17880:13:18", "type": "", "value": "t of bounds" } @@ -12230,13 +12200,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18230:6:15" + "src": "17856:6:18" }, "nodeType": "YulFunctionCall", - "src": "18230:38:15" + "src": "17856:38:18" }, "nodeType": "YulExpressionStatement", - "src": "18230:38:15" + "src": "17856:38:18" } ] }, @@ -12246,31 +12216,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18143:6:15", + "src": "17769:6:18", "type": "" } ], - "src": "18045:230:15" + "src": "17671:230:18" }, { "body": { "nodeType": "YulBlock", - "src": "18427:220:15", + "src": "18053:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "18437:74:15", + "src": "18063:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18503:3:15" + "src": "18129:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18508:2:15", + "src": "18134:2:18", "type": "", "value": "43" } @@ -12278,16 +12248,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18444:58:15" + "src": "18070:58:18" }, "nodeType": "YulFunctionCall", - "src": "18444:67:15" + "src": "18070:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18437:3:15" + "src": "18063:3:18" } ] }, @@ -12297,34 +12267,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18609:3:15" + "src": "18235:3:18" } ], "functionName": { "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", "nodeType": "YulIdentifier", - "src": "18520:88:15" + "src": "18146:88:18" }, "nodeType": "YulFunctionCall", - "src": "18520:93:15" + "src": "18146:93:18" }, "nodeType": "YulExpressionStatement", - "src": "18520:93:15" + "src": "18146:93:18" }, { "nodeType": "YulAssignment", - "src": "18622:19:15", + "src": "18248:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18633:3:15" + "src": "18259:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18638:2:15", + "src": "18264:2:18", "type": "", "value": "64" } @@ -12332,16 +12302,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18629:3:15" + "src": "18255:3:18" }, "nodeType": "YulFunctionCall", - "src": "18629:12:15" + "src": "18255:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18622:3:15" + "src": "18248:3:18" } ] } @@ -12353,7 +12323,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18415:3:15", + "src": "18041:3:18", "type": "" } ], @@ -12361,31 +12331,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18423:3:15", + "src": "18049:3:18", "type": "" } ], - "src": "18281:366:15" + "src": "17907:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "18824:248:15", + "src": "18450:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "18834:26:15", + "src": "18460:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18846:9:15" + "src": "18472:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18857:2:15", + "src": "18483:2:18", "type": "", "value": "32" } @@ -12393,16 +12363,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18842:3:15" + "src": "18468:3:18" }, "nodeType": "YulFunctionCall", - "src": "18842:18:15" + "src": "18468:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18834:4:15" + "src": "18460:4:18" } ] }, @@ -12414,12 +12384,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18881:9:15" + "src": "18507:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18892:1:15", + "src": "18518:1:18", "type": "", "value": "0" } @@ -12427,68 +12397,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18877:3:15" + "src": "18503:3:18" }, "nodeType": "YulFunctionCall", - "src": "18877:17:15" + "src": "18503:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18900:4:15" + "src": "18526:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18906:9:15" + "src": "18532:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18896:3:15" + "src": "18522:3:18" }, "nodeType": "YulFunctionCall", - "src": "18896:20:15" + "src": "18522:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18870:6:15" + "src": "18496:6:18" }, "nodeType": "YulFunctionCall", - "src": "18870:47:15" + "src": "18496:47:18" }, "nodeType": "YulExpressionStatement", - "src": "18870:47:15" + "src": "18496:47:18" }, { "nodeType": "YulAssignment", - "src": "18926:139:15", + "src": "18552:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19060:4:15" + "src": "18686:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18934:124:15" + "src": "18560:124:18" }, "nodeType": "YulFunctionCall", - "src": "18934:131:15" + "src": "18560:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18926:4:15" + "src": "18552:4:18" } ] } @@ -12500,7 +12470,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18804:9:15", + "src": "18430:9:18", "type": "" } ], @@ -12508,16 +12478,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18819:4:15", + "src": "18445:4:18", "type": "" } ], - "src": "18653:419:15" + "src": "18279:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "19184:128:15", + "src": "18810:128:18", "statements": [ { "expression": { @@ -12527,12 +12497,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19206:6:15" + "src": "18832:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19214:1:15", + "src": "18840:1:18", "type": "", "value": "0" } @@ -12540,16 +12510,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19202:3:15" + "src": "18828:3:18" }, "nodeType": "YulFunctionCall", - "src": "19202:14:15" + "src": "18828:14:18" }, { "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "19218:34:15", + "src": "18844:34:18", "type": "", "value": "AccessControl: can only renounce" } @@ -12557,13 +12527,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19195:6:15" + "src": "18821:6:18" }, "nodeType": "YulFunctionCall", - "src": "19195:58:15" + "src": "18821:58:18" }, "nodeType": "YulExpressionStatement", - "src": "19195:58:15" + "src": "18821:58:18" }, { "expression": { @@ -12573,12 +12543,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19274:6:15" + "src": "18900:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19282:2:15", + "src": "18908:2:18", "type": "", "value": "32" } @@ -12586,16 +12556,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19270:3:15" + "src": "18896:3:18" }, "nodeType": "YulFunctionCall", - "src": "19270:15:15" + "src": "18896:15:18" }, { "hexValue": "20726f6c657320666f722073656c66", "kind": "string", "nodeType": "YulLiteral", - "src": "19287:17:15", + "src": "18913:17:18", "type": "", "value": " roles for self" } @@ -12603,13 +12573,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19263:6:15" + "src": "18889:6:18" }, "nodeType": "YulFunctionCall", - "src": "19263:42:15" + "src": "18889:42:18" }, "nodeType": "YulExpressionStatement", - "src": "19263:42:15" + "src": "18889:42:18" } ] }, @@ -12619,31 +12589,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19176:6:15", + "src": "18802:6:18", "type": "" } ], - "src": "19078:234:15" + "src": "18704:234:18" }, { "body": { "nodeType": "YulBlock", - "src": "19464:220:15", + "src": "19090:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "19474:74:15", + "src": "19100:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19540:3:15" + "src": "19166:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19545:2:15", + "src": "19171:2:18", "type": "", "value": "47" } @@ -12651,16 +12621,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19481:58:15" + "src": "19107:58:18" }, "nodeType": "YulFunctionCall", - "src": "19481:67:15" + "src": "19107:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19474:3:15" + "src": "19100:3:18" } ] }, @@ -12670,34 +12640,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19646:3:15" + "src": "19272:3:18" } ], "functionName": { "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", "nodeType": "YulIdentifier", - "src": "19557:88:15" + "src": "19183:88:18" }, "nodeType": "YulFunctionCall", - "src": "19557:93:15" + "src": "19183:93:18" }, "nodeType": "YulExpressionStatement", - "src": "19557:93:15" + "src": "19183:93:18" }, { "nodeType": "YulAssignment", - "src": "19659:19:15", + "src": "19285:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19670:3:15" + "src": "19296:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19675:2:15", + "src": "19301:2:18", "type": "", "value": "64" } @@ -12705,16 +12675,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19666:3:15" + "src": "19292:3:18" }, "nodeType": "YulFunctionCall", - "src": "19666:12:15" + "src": "19292:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19659:3:15" + "src": "19285:3:18" } ] } @@ -12726,7 +12696,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19452:3:15", + "src": "19078:3:18", "type": "" } ], @@ -12734,31 +12704,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19460:3:15", + "src": "19086:3:18", "type": "" } ], - "src": "19318:366:15" + "src": "18944:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "19861:248:15", + "src": "19487:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "19871:26:15", + "src": "19497:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19883:9:15" + "src": "19509:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19894:2:15", + "src": "19520:2:18", "type": "", "value": "32" } @@ -12766,16 +12736,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19879:3:15" + "src": "19505:3:18" }, "nodeType": "YulFunctionCall", - "src": "19879:18:15" + "src": "19505:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19871:4:15" + "src": "19497:4:18" } ] }, @@ -12787,12 +12757,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19918:9:15" + "src": "19544:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19929:1:15", + "src": "19555:1:18", "type": "", "value": "0" } @@ -12800,68 +12770,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19914:3:15" + "src": "19540:3:18" }, "nodeType": "YulFunctionCall", - "src": "19914:17:15" + "src": "19540:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19937:4:15" + "src": "19563:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19943:9:15" + "src": "19569:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19933:3:15" + "src": "19559:3:18" }, "nodeType": "YulFunctionCall", - "src": "19933:20:15" + "src": "19559:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19907:6:15" + "src": "19533:6:18" }, "nodeType": "YulFunctionCall", - "src": "19907:47:15" + "src": "19533:47:18" }, "nodeType": "YulExpressionStatement", - "src": "19907:47:15" + "src": "19533:47:18" }, { "nodeType": "YulAssignment", - "src": "19963:139:15", + "src": "19589:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20097:4:15" + "src": "19723:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19971:124:15" + "src": "19597:124:18" }, "nodeType": "YulFunctionCall", - "src": "19971:131:15" + "src": "19597:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19963:4:15" + "src": "19589:4:18" } ] } @@ -12873,7 +12843,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19841:9:15", + "src": "19467:9:18", "type": "" } ], @@ -12881,16 +12851,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19856:4:15", + "src": "19482:4:18", "type": "" } ], - "src": "19690:419:15" + "src": "19316:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "20221:76:15", + "src": "19847:76:18", "statements": [ { "expression": { @@ -12900,12 +12870,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20243:6:15" + "src": "19869:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20251:1:15", + "src": "19877:1:18", "type": "", "value": "0" } @@ -12913,16 +12883,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20239:3:15" + "src": "19865:3:18" }, "nodeType": "YulFunctionCall", - "src": "20239:14:15" + "src": "19865:14:18" }, { "hexValue": "43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", "kind": "string", "nodeType": "YulLiteral", - "src": "20255:34:15", + "src": "19881:34:18", "type": "", "value": "Caller is not owner nor approved" } @@ -12930,13 +12900,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20232:6:15" + "src": "19858:6:18" }, "nodeType": "YulFunctionCall", - "src": "20232:58:15" + "src": "19858:58:18" }, "nodeType": "YulExpressionStatement", - "src": "20232:58:15" + "src": "19858:58:18" } ] }, @@ -12946,31 +12916,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20213:6:15", + "src": "19839:6:18", "type": "" } ], - "src": "20115:182:15" + "src": "19741:182:18" }, { "body": { "nodeType": "YulBlock", - "src": "20449:220:15", + "src": "20075:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "20459:74:15", + "src": "20085:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20525:3:15" + "src": "20151:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20530:2:15", + "src": "20156:2:18", "type": "", "value": "32" } @@ -12978,16 +12948,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20466:58:15" + "src": "20092:58:18" }, "nodeType": "YulFunctionCall", - "src": "20466:67:15" + "src": "20092:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20459:3:15" + "src": "20085:3:18" } ] }, @@ -12997,34 +12967,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20631:3:15" + "src": "20257:3:18" } ], "functionName": { "name": "store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d", "nodeType": "YulIdentifier", - "src": "20542:88:15" + "src": "20168:88:18" }, "nodeType": "YulFunctionCall", - "src": "20542:93:15" + "src": "20168:93:18" }, "nodeType": "YulExpressionStatement", - "src": "20542:93:15" + "src": "20168:93:18" }, { "nodeType": "YulAssignment", - "src": "20644:19:15", + "src": "20270:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20655:3:15" + "src": "20281:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20660:2:15", + "src": "20286:2:18", "type": "", "value": "32" } @@ -13032,16 +13002,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20651:3:15" + "src": "20277:3:18" }, "nodeType": "YulFunctionCall", - "src": "20651:12:15" + "src": "20277:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20644:3:15" + "src": "20270:3:18" } ] } @@ -13053,7 +13023,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "20437:3:15", + "src": "20063:3:18", "type": "" } ], @@ -13061,31 +13031,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20445:3:15", + "src": "20071:3:18", "type": "" } ], - "src": "20303:366:15" + "src": "19929:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "20846:248:15", + "src": "20472:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "20856:26:15", + "src": "20482:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20868:9:15" + "src": "20494:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20879:2:15", + "src": "20505:2:18", "type": "", "value": "32" } @@ -13093,16 +13063,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20864:3:15" + "src": "20490:3:18" }, "nodeType": "YulFunctionCall", - "src": "20864:18:15" + "src": "20490:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20856:4:15" + "src": "20482:4:18" } ] }, @@ -13114,12 +13084,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20903:9:15" + "src": "20529:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20914:1:15", + "src": "20540:1:18", "type": "", "value": "0" } @@ -13127,68 +13097,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20899:3:15" + "src": "20525:3:18" }, "nodeType": "YulFunctionCall", - "src": "20899:17:15" + "src": "20525:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20922:4:15" + "src": "20548:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20928:9:15" + "src": "20554:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20918:3:15" + "src": "20544:3:18" }, "nodeType": "YulFunctionCall", - "src": "20918:20:15" + "src": "20544:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20892:6:15" + "src": "20518:6:18" }, "nodeType": "YulFunctionCall", - "src": "20892:47:15" + "src": "20518:47:18" }, "nodeType": "YulExpressionStatement", - "src": "20892:47:15" + "src": "20518:47:18" }, { "nodeType": "YulAssignment", - "src": "20948:139:15", + "src": "20574:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21082:4:15" + "src": "20708:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20956:124:15" + "src": "20582:124:18" }, "nodeType": "YulFunctionCall", - "src": "20956:131:15" + "src": "20582:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20948:4:15" + "src": "20574:4:18" } ] } @@ -13200,7 +13170,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20826:9:15", + "src": "20452:9:18", "type": "" } ], @@ -13208,16 +13178,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20841:4:15", + "src": "20467:4:18", "type": "" } ], - "src": "20675:419:15" + "src": "20301:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "21206:125:15", + "src": "20832:62:18", "statements": [ { "expression": { @@ -13227,12 +13197,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21228:6:15" + "src": "20854:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21236:1:15", + "src": "20862:1:18", "type": "", "value": "0" } @@ -13240,127 +13210,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21224:3:15" + "src": "20850:3:18" }, "nodeType": "YulFunctionCall", - "src": "21224:14:15" + "src": "20850:14:18" }, { - "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", + "hexValue": "746f6b656e49647320746f6f20736d616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "21240:34:15", + "src": "20866:20:18", "type": "", - "value": "ERC721Enumerable: global index o" + "value": "tokenIds too small" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21217:6:15" + "src": "20843:6:18" }, "nodeType": "YulFunctionCall", - "src": "21217:58:15" + "src": "20843:44:18" }, "nodeType": "YulExpressionStatement", - "src": "21217:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "21296:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21304:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21292:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "21292:15:15" - }, - { - "hexValue": "7574206f6620626f756e6473", - "kind": "string", - "nodeType": "YulLiteral", - "src": "21309:14:15", - "type": "", - "value": "ut of bounds" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "21285:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "21285:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "21285:39:15" + "src": "20843:44:18" } ] }, - "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "name": "store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "21198:6:15", + "src": "20824:6:18", "type": "" } ], - "src": "21100:231:15" + "src": "20726:168:18" }, { "body": { "nodeType": "YulBlock", - "src": "21483:220:15", + "src": "21046:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "21493:74:15", + "src": "21056:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21559:3:15" + "src": "21122:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21564:2:15", + "src": "21127:2:18", "type": "", - "value": "44" + "value": "18" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21500:58:15" + "src": "21063:58:18" }, "nodeType": "YulFunctionCall", - "src": "21500:67:15" + "src": "21063:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21493:3:15" + "src": "21056:3:18" } ] }, @@ -13370,95 +13294,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21665:3:15" + "src": "21228:3:18" } ], "functionName": { - "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", + "name": "store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", "nodeType": "YulIdentifier", - "src": "21576:88:15" + "src": "21139:88:18" }, "nodeType": "YulFunctionCall", - "src": "21576:93:15" + "src": "21139:93:18" }, "nodeType": "YulExpressionStatement", - "src": "21576:93:15" + "src": "21139:93:18" }, { "nodeType": "YulAssignment", - "src": "21678:19:15", + "src": "21241:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21689:3:15" + "src": "21252:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21694:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "21685:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "21685:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "21678:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "21471:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "21479:3:15", - "type": "" - } - ], - "src": "21337:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "21880:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "21890:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "21902:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "21913:2:15", + "src": "21257:2:18", "type": "", "value": "32" } @@ -13466,16 +13329,77 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21898:3:15" + "src": "21248:3:18" }, "nodeType": "YulFunctionCall", - "src": "21898:18:15" + "src": "21248:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "21241:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "21034:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "21042:3:18", + "type": "" + } + ], + "src": "20900:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21443:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21453:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21465:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21476:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21461:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21461:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21890:4:15" + "src": "21453:4:18" } ] }, @@ -13487,12 +13411,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21937:9:15" + "src": "21500:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21948:1:15", + "src": "21511:1:18", "type": "", "value": "0" } @@ -13500,80 +13424,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21933:3:15" + "src": "21496:3:18" }, "nodeType": "YulFunctionCall", - "src": "21933:17:15" + "src": "21496:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21956:4:15" + "src": "21519:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21962:9:15" + "src": "21525:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21952:3:15" + "src": "21515:3:18" }, "nodeType": "YulFunctionCall", - "src": "21952:20:15" + "src": "21515:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21926:6:15" + "src": "21489:6:18" }, "nodeType": "YulFunctionCall", - "src": "21926:47:15" + "src": "21489:47:18" }, "nodeType": "YulExpressionStatement", - "src": "21926:47:15" + "src": "21489:47:18" }, { "nodeType": "YulAssignment", - "src": "21982:139:15", + "src": "21545:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22116:4:15" + "src": "21679:4:18" } ], "functionName": { - "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21990:124:15" + "src": "21553:124:18" }, "nodeType": "YulFunctionCall", - "src": "21990:131:15" + "src": "21553:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21982:4:15" + "src": "21545:4:18" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21860:9:15", + "src": "21423:9:18", "type": "" } ], @@ -13581,16 +13505,343 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21875:4:15", + "src": "21438:4:18", "type": "" } ], - "src": "21709:419:15" + "src": "21272:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "22162:152:15", + "src": "21803:61:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21825:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21833:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21821:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "21821:14:18" + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "kind": "string", + "nodeType": "YulLiteral", + "src": "21837:19:18", + "type": "", + "value": "tokenIds too many" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21814:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "21814:43:18" + }, + "nodeType": "YulExpressionStatement", + "src": "21814:43:18" + } + ] + }, + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21795:6:18", + "type": "" + } + ], + "src": "21697:167:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22016:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22026:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22092:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22097:2:18", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22033:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "22033:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22026:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22198:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "nodeType": "YulIdentifier", + "src": "22109:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "22109:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22109:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "22211:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "22222:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22227:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22218:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22218:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "22211:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "22004:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "22012:3:18", + "type": "" + } + ], + "src": "21870:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22413:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22423:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22435:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22446:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22431:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22431:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22423:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22470:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22481:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22466:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22466:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22489:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22495:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22485:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "22485:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22459:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "22459:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "22459:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "22515:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22649:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22523:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "22523:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22515:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22393:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22408:4:18", + "type": "" + } + ], + "src": "22242:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22695:152:18", "statements": [ { "expression": { @@ -13598,14 +13849,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "22179:1:15", + "src": "22712:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22182:77:15", + "src": "22715:77:18", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -13613,13 +13864,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22172:6:15" + "src": "22705:6:18" }, "nodeType": "YulFunctionCall", - "src": "22172:88:15" + "src": "22705:88:18" }, "nodeType": "YulExpressionStatement", - "src": "22172:88:15" + "src": "22705:88:18" }, { "expression": { @@ -13627,812 +13878,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "22276:1:15", + "src": "22809:1:18", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22279:4:15", - "type": "", - "value": "0x32" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22269:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "22269:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22269:15:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22300:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22303:4:15", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "22293:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "22293:15:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22293:15:15" - } - ] - }, - "name": "panic_error_0x32", - "nodeType": "YulFunctionDefinition", - "src": "22134:180:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22426:122:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22448:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22456:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22444:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22444:14:15" - }, - { - "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22460:34:15", - "type": "", - "value": "ERC721: owner query for nonexist" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22437:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "22437:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22437:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "22516:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22524:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22512:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22512:15:15" - }, - { - "hexValue": "656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "22529:11:15", - "type": "", - "value": "ent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "22505:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "22505:36:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22505:36:15" - } - ] - }, - "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "22418:6:15", - "type": "" - } - ], - "src": "22320:228:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "22700:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "22710:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22776:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22781:2:15", - "type": "", - "value": "41" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "22717:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "22717:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22710:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22882:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", - "nodeType": "YulIdentifier", - "src": "22793:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "22793:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "22793:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "22895:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "22906:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "22911:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "22902:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "22902:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "22895:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "22688:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "22696:3:15", - "type": "" - } - ], - "src": "22554:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23097:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23107:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23119:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23130:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23115:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "23115:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23107:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23154:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23165:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23150:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "23150:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23173:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "23179:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "23169:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "23169:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23143:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "23143:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "23143:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "23199:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23333:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "23207:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "23207:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "23199:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "23077:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "23092:4:15", - "type": "" - } - ], - "src": "22926:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23457:71:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "23479:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23487:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23475:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "23475:14:15" - }, - { - "hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373", - "kind": "string", - "nodeType": "YulLiteral", - "src": "23491:29:15", - "type": "", - "value": "Cannot mint to zero address" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "23468:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "23468:53:15" - }, - "nodeType": "YulExpressionStatement", - "src": "23468:53:15" - } - ] - }, - "name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "23449:6:15", - "type": "" - } - ], - "src": "23351:177:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "23680:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "23690:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23756:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23761:2:15", - "type": "", - "value": "27" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "23697:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "23697:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23690:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23862:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", - "nodeType": "YulIdentifier", - "src": "23773:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "23773:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "23773:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "23875:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "23886:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "23891:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "23882:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "23882:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "23875:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "23668:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "23676:3:15", - "type": "" - } - ], - "src": "23534:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24077:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "24087:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24099:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24110:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24095:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "24095:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24087:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24134:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24145:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "24130:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "24130:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24153:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "24159:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "24149:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "24149:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24123:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "24123:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "24123:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "24179:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24313:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "24187:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "24187:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "24179:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "24057:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "24072:4:15", - "type": "" - } - ], - "src": "23906:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "24359:152:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24376:1:15", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24379:77:15", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "24369:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "24369:88:15" - }, - "nodeType": "YulExpressionStatement", - "src": "24369:88:15" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24473:1:15", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "24476:4:15", + "src": "22812:4:18", "type": "", "value": "0x11" } @@ -14440,13 +13893,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24466:6:15" + "src": "22802:6:18" }, "nodeType": "YulFunctionCall", - "src": "24466:15:15" + "src": "22802:15:18" }, "nodeType": "YulExpressionStatement", - "src": "24466:15:15" + "src": "22802:15:18" }, { "expression": { @@ -14454,14 +13907,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24497:1:15", + "src": "22833:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24500:4:15", + "src": "22836:4:18", "type": "", "value": "0x24" } @@ -14469,83 +13922,83 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "24490:6:15" + "src": "22826:6:18" }, "nodeType": "YulFunctionCall", - "src": "24490:15:15" + "src": "22826:15:18" }, "nodeType": "YulExpressionStatement", - "src": "24490:15:15" + "src": "22826:15:18" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "24331:180:15" + "src": "22667:180:18" }, { "body": { "nodeType": "YulBlock", - "src": "24561:261:15", + "src": "22897:261:18", "statements": [ { "nodeType": "YulAssignment", - "src": "24571:25:15", + "src": "22907:25:18", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24594:1:15" + "src": "22930:1:18" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "24576:17:15" + "src": "22912:17:18" }, "nodeType": "YulFunctionCall", - "src": "24576:20:15" + "src": "22912:20:18" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24571:1:15" + "src": "22907:1:18" } ] }, { "nodeType": "YulAssignment", - "src": "24605:25:15", + "src": "22941:25:18", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "24628:1:15" + "src": "22964:1:18" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "24610:17:15" + "src": "22946:17:18" }, "nodeType": "YulFunctionCall", - "src": "24610:20:15" + "src": "22946:20:18" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "24605:1:15" + "src": "22941:1:18" } ] }, { "body": { "nodeType": "YulBlock", - "src": "24768:22:15", + "src": "23104:22:18", "statements": [ { "expression": { @@ -14553,13 +14006,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "24770:16:15" + "src": "23106:16:18" }, "nodeType": "YulFunctionCall", - "src": "24770:18:15" + "src": "23106:18:18" }, "nodeType": "YulExpressionStatement", - "src": "24770:18:15" + "src": "23106:18:18" } ] }, @@ -14568,72 +14021,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "24689:1:15" + "src": "23025:1:18" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "24696:66:15", + "src": "23032:66:18", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "24764:1:15" + "src": "23100:1:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24692:3:15" + "src": "23028:3:18" }, "nodeType": "YulFunctionCall", - "src": "24692:74:15" + "src": "23028:74:18" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "24686:2:15" + "src": "23022:2:18" }, "nodeType": "YulFunctionCall", - "src": "24686:81:15" + "src": "23022:81:18" }, "nodeType": "YulIf", - "src": "24683:107:15" + "src": "23019:107:18" }, { "nodeType": "YulAssignment", - "src": "24800:16:15", + "src": "23136:16:18", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24811:1:15" + "src": "23147:1:18" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "24814:1:15" + "src": "23150:1:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24807:3:15" + "src": "23143:3:18" }, "nodeType": "YulFunctionCall", - "src": "24807:9:15" + "src": "23143:9:18" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "24800:3:15" + "src": "23136:3:18" } ] } @@ -14645,13 +14098,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "24548:1:15", + "src": "22884:1:18", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "24551:1:15", + "src": "22887:1:18", "type": "" } ], @@ -14659,16 +14112,16 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "24557:3:15", + "src": "22893:3:18", "type": "" } ], - "src": "24517:305:15" + "src": "22853:305:18" }, { "body": { "nodeType": "YulBlock", - "src": "24934:67:15", + "src": "23270:67:18", "statements": [ { "expression": { @@ -14678,12 +14131,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "24956:6:15" + "src": "23292:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24964:1:15", + "src": "23300:1:18", "type": "", "value": "0" } @@ -14691,16 +14144,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24952:3:15" + "src": "23288:3:18" }, "nodeType": "YulFunctionCall", - "src": "24952:14:15" + "src": "23288:14:18" }, { "hexValue": "4578636565642074686520746f74616c20737570706c79", "kind": "string", "nodeType": "YulLiteral", - "src": "24968:25:15", + "src": "23304:25:18", "type": "", "value": "Exceed the total supply" } @@ -14708,13 +14161,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24945:6:15" + "src": "23281:6:18" }, "nodeType": "YulFunctionCall", - "src": "24945:49:15" + "src": "23281:49:18" }, "nodeType": "YulExpressionStatement", - "src": "24945:49:15" + "src": "23281:49:18" } ] }, @@ -14724,31 +14177,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "24926:6:15", + "src": "23262:6:18", "type": "" } ], - "src": "24828:173:15" + "src": "23164:173:18" }, { "body": { "nodeType": "YulBlock", - "src": "25153:220:15", + "src": "23489:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "25163:74:15", + "src": "23499:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25229:3:15" + "src": "23565:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25234:2:15", + "src": "23570:2:18", "type": "", "value": "23" } @@ -14756,16 +14209,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25170:58:15" + "src": "23506:58:18" }, "nodeType": "YulFunctionCall", - "src": "25170:67:15" + "src": "23506:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25163:3:15" + "src": "23499:3:18" } ] }, @@ -14775,34 +14228,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25335:3:15" + "src": "23671:3:18" } ], "functionName": { "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "nodeType": "YulIdentifier", - "src": "25246:88:15" + "src": "23582:88:18" }, "nodeType": "YulFunctionCall", - "src": "25246:93:15" + "src": "23582:93:18" }, "nodeType": "YulExpressionStatement", - "src": "25246:93:15" + "src": "23582:93:18" }, { "nodeType": "YulAssignment", - "src": "25348:19:15", + "src": "23684:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25359:3:15" + "src": "23695:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25364:2:15", + "src": "23700:2:18", "type": "", "value": "32" } @@ -14810,16 +14263,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25355:3:15" + "src": "23691:3:18" }, "nodeType": "YulFunctionCall", - "src": "25355:12:15" + "src": "23691:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "25348:3:15" + "src": "23684:3:18" } ] } @@ -14831,7 +14284,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "25141:3:15", + "src": "23477:3:18", "type": "" } ], @@ -14839,31 +14292,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "25149:3:15", + "src": "23485:3:18", "type": "" } ], - "src": "25007:366:15" + "src": "23343:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "25550:248:15", + "src": "23886:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "25560:26:15", + "src": "23896:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25572:9:15" + "src": "23908:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25583:2:15", + "src": "23919:2:18", "type": "", "value": "32" } @@ -14871,16 +14324,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25568:3:15" + "src": "23904:3:18" }, "nodeType": "YulFunctionCall", - "src": "25568:18:15" + "src": "23904:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25560:4:15" + "src": "23896:4:18" } ] }, @@ -14892,12 +14345,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25607:9:15" + "src": "23943:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25618:1:15", + "src": "23954:1:18", "type": "", "value": "0" } @@ -14905,68 +14358,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25603:3:15" + "src": "23939:3:18" }, "nodeType": "YulFunctionCall", - "src": "25603:17:15" + "src": "23939:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25626:4:15" + "src": "23962:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25632:9:15" + "src": "23968:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25622:3:15" + "src": "23958:3:18" }, "nodeType": "YulFunctionCall", - "src": "25622:20:15" + "src": "23958:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25596:6:15" + "src": "23932:6:18" }, "nodeType": "YulFunctionCall", - "src": "25596:47:15" + "src": "23932:47:18" }, "nodeType": "YulExpressionStatement", - "src": "25596:47:15" + "src": "23932:47:18" }, { "nodeType": "YulAssignment", - "src": "25652:139:15", + "src": "23988:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25786:4:15" + "src": "24122:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25660:124:15" + "src": "23996:124:18" }, "nodeType": "YulFunctionCall", - "src": "25660:131:15" + "src": "23996:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25652:4:15" + "src": "23988:4:18" } ] } @@ -14978,7 +14431,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25530:9:15", + "src": "23866:9:18", "type": "" } ], @@ -14986,16 +14439,249 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "25545:4:15", + "src": "23881:4:18", "type": "" } ], - "src": "25379:419:15" + "src": "23715:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "25910:123:15", + "src": "24168:152:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24185:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24188:77:18", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24178:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24178:88:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24178:88:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24282:1:18", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24285:4:18", + "type": "", + "value": "0x32" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24275:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24275:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24275:15:18" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24306:1:18", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24309:4:18", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24299:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "24299:15:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24299:15:18" + } + ] + }, + "name": "panic_error_0x32", + "nodeType": "YulFunctionDefinition", + "src": "24140:180:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24369:190:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24379:33:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24406:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "24388:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "24388:24:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24379:5:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24502:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "24504:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "24504:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "24504:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24427:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24434:66:18", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24424:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "24424:77:18" + }, + "nodeType": "YulIf", + "src": "24421:103:18" + }, + { + "nodeType": "YulAssignment", + "src": "24533:20:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24544:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24551:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24540:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "24540:13:18" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "24533:3:18" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24355:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "24365:3:18", + "type": "" + } + ], + "src": "24326:233:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24671:125:18", "statements": [ { "expression": { @@ -15005,12 +14691,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "25932:6:15" + "src": "24693:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25940:1:15", + "src": "24701:1:18", "type": "", "value": "0" } @@ -15018,30 +14704,30 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25928:3:15" + "src": "24689:3:18" }, "nodeType": "YulFunctionCall", - "src": "25928:14:15" + "src": "24689:14:18" }, { - "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65", + "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", "kind": "string", "nodeType": "YulLiteral", - "src": "25944:34:15", + "src": "24705:34:18", "type": "", - "value": "ERC721: balance query for the ze" + "value": "ERC721Enumerable: global index o" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25921:6:15" + "src": "24682:6:18" }, "nodeType": "YulFunctionCall", - "src": "25921:58:15" + "src": "24682:58:18" }, "nodeType": "YulExpressionStatement", - "src": "25921:58:15" + "src": "24682:58:18" }, { "expression": { @@ -15051,12 +14737,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26000:6:15" + "src": "24761:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26008:2:15", + "src": "24769:2:18", "type": "", "value": "32" } @@ -15064,437 +14750,64 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25996:3:15" + "src": "24757:3:18" }, "nodeType": "YulFunctionCall", - "src": "25996:15:15" + "src": "24757:15:18" }, { - "hexValue": "726f2061646472657373", + "hexValue": "7574206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "26013:12:15", + "src": "24774:14:18", "type": "", - "value": "ro address" + "value": "ut of bounds" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25989:6:15" + "src": "24750:6:18" }, "nodeType": "YulFunctionCall", - "src": "25989:37:15" + "src": "24750:39:18" }, "nodeType": "YulExpressionStatement", - "src": "25989:37:15" + "src": "24750:39:18" } ] }, - "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "25902:6:15", + "src": "24663:6:18", "type": "" } ], - "src": "25804:229:15" + "src": "24565:231:18" }, { "body": { "nodeType": "YulBlock", - "src": "26185:220:15", + "src": "24948:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "26195:74:15", + "src": "24958:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26261:3:15" + "src": "25024:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26266:2:15", - "type": "", - "value": "42" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "26202:58:15" - }, - "nodeType": "YulFunctionCall", - "src": "26202:67:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26195:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26367:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", - "nodeType": "YulIdentifier", - "src": "26278:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "26278:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "26278:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "26380:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "26391:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26396:2:15", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26387:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "26387:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "26380:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "26173:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "26181:3:15", - "type": "" - } - ], - "src": "26039:366:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26582:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "26592:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26604:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26615:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26600:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "26600:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26592:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26639:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26650:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26635:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "26635:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26658:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "26664:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "26654:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "26654:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26628:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "26628:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "26628:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "26684:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26818:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "26692:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "26692:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "26684:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "26562:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "26577:4:15", - "type": "" - } - ], - "src": "26411:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "26942:125:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "26964:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "26972:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "26960:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "26960:14:15" - }, - { - "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578", - "kind": "string", - "nodeType": "YulLiteral", - "src": "26976:34:15", - "type": "", - "value": "ERC721: operator query for nonex" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "26953:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "26953:58:15" - }, - "nodeType": "YulExpressionStatement", - "src": "26953:58:15" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "27032:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27040:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "27028:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "27028:15:15" - }, - { - "hexValue": "697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "27045:14:15", - "type": "", - "value": "istent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "27021:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "27021:39:15" - }, - "nodeType": "YulExpressionStatement", - "src": "27021:39:15" - } - ] - }, - "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "26934:6:15", - "type": "" - } - ], - "src": "26836:231:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "27219:220:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "27229:74:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "27295:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "27300:2:15", + "src": "25029:2:18", "type": "", "value": "44" } @@ -15502,16 +14815,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27236:58:15" + "src": "24965:58:18" }, "nodeType": "YulFunctionCall", - "src": "27236:67:15" + "src": "24965:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27229:3:15" + "src": "24958:3:18" } ] }, @@ -15521,34 +14834,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27401:3:15" + "src": "25130:3:18" } ], "functionName": { - "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", + "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", "nodeType": "YulIdentifier", - "src": "27312:88:15" + "src": "25041:88:18" }, "nodeType": "YulFunctionCall", - "src": "27312:93:15" + "src": "25041:93:18" }, "nodeType": "YulExpressionStatement", - "src": "27312:93:15" + "src": "25041:93:18" }, { "nodeType": "YulAssignment", - "src": "27414:19:15", + "src": "25143:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27425:3:15" + "src": "25154:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27430:2:15", + "src": "25159:2:18", "type": "", "value": "64" } @@ -15556,28 +14869,28 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27421:3:15" + "src": "25150:3:18" }, "nodeType": "YulFunctionCall", - "src": "27421:12:15" + "src": "25150:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "27414:3:15" + "src": "25143:3:18" } ] } ] }, - "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "27207:3:15", + "src": "24936:3:18", "type": "" } ], @@ -15585,31 +14898,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "27215:3:15", + "src": "24944:3:18", "type": "" } ], - "src": "27073:366:15" + "src": "24802:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "27616:248:15", + "src": "25345:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "27626:26:15", + "src": "25355:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27638:9:15" + "src": "25367:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27649:2:15", + "src": "25378:2:18", "type": "", "value": "32" } @@ -15617,16 +14930,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27634:3:15" + "src": "25363:3:18" }, "nodeType": "YulFunctionCall", - "src": "27634:18:15" + "src": "25363:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27626:4:15" + "src": "25355:4:18" } ] }, @@ -15638,12 +14951,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27673:9:15" + "src": "25402:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27684:1:15", + "src": "25413:1:18", "type": "", "value": "0" } @@ -15651,80 +14964,80 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27669:3:15" + "src": "25398:3:18" }, "nodeType": "YulFunctionCall", - "src": "27669:17:15" + "src": "25398:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27692:4:15" + "src": "25421:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27698:9:15" + "src": "25427:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "27688:3:15" + "src": "25417:3:18" }, "nodeType": "YulFunctionCall", - "src": "27688:20:15" + "src": "25417:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27662:6:15" + "src": "25391:6:18" }, "nodeType": "YulFunctionCall", - "src": "27662:47:15" + "src": "25391:47:18" }, "nodeType": "YulExpressionStatement", - "src": "27662:47:15" + "src": "25391:47:18" }, { "nodeType": "YulAssignment", - "src": "27718:139:15", + "src": "25447:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27852:4:15" + "src": "25581:4:18" } ], "functionName": { - "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27726:124:15" + "src": "25455:124:18" }, "nodeType": "YulFunctionCall", - "src": "27726:131:15" + "src": "25455:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27718:4:15" + "src": "25447:4:18" } ] } ] }, - "name": "abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__to_t_string_memory_ptr__fromStack_reversed", + "name": "abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__to_t_string_memory_ptr__fromStack_reversed", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", "nodeType": "YulTypedName", - "src": "27596:9:15", + "src": "25325:9:18", "type": "" } ], @@ -15732,16 +15045,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "27611:4:15", + "src": "25340:4:18", "type": "" } ], - "src": "27445:419:15" + "src": "25174:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "27976:118:15", + "src": "25705:68:18", "statements": [ { "expression": { @@ -15751,12 +15064,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27998:6:15" + "src": "25727:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28006:1:15", + "src": "25735:1:18", "type": "", "value": "0" } @@ -15764,30 +15077,684 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27994:3:15" + "src": "25723:3:18" }, "nodeType": "YulFunctionCall", - "src": "27994:14:15" + "src": "25723:14:18" }, { - "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "hexValue": "4552433732313a20696e76616c696420746f6b656e204944", "kind": "string", "nodeType": "YulLiteral", - "src": "28010:34:15", + "src": "25739:26:18", "type": "", - "value": "ERC721: transfer from incorrect " + "value": "ERC721: invalid token ID" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27987:6:15" + "src": "25716:6:18" }, "nodeType": "YulFunctionCall", - "src": "27987:58:15" + "src": "25716:50:18" }, "nodeType": "YulExpressionStatement", - "src": "27987:58:15" + "src": "25716:50:18" + } + ] + }, + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "25697:6:18", + "type": "" + } + ], + "src": "25599:174:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25925:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25935:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26001:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26006:2:18", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "25942:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "25942:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25935:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26107:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f", + "nodeType": "YulIdentifier", + "src": "26018:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "26018:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26018:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "26120:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26131:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26136:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26127:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26127:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "26120:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25913:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "25921:3:18", + "type": "" + } + ], + "src": "25779:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26322:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26332:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26344:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26355:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26340:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26340:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26332:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26379:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26390:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26375:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26375:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26398:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "26404:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "26394:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26394:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26368:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "26368:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26368:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "26424:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26558:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26432:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "26432:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "26424:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "26302:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "26317:4:18", + "type": "" + } + ], + "src": "26151:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26682:71:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "26704:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26712:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "26700:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "26700:14:18" + }, + { + "hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "26716:29:18", + "type": "", + "value": "Cannot mint to zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "26693:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "26693:53:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26693:53:18" + } + ] + }, + "name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "26674:6:18", + "type": "" + } + ], + "src": "26576:177:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26905:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26915:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26981:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26986:2:18", + "type": "", + "value": "27" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "26922:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "26922:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "26915:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27087:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "nodeType": "YulIdentifier", + "src": "26998:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "26998:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "26998:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "27100:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27111:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27116:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27107:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27107:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "27100:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "26893:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "26901:3:18", + "type": "" + } + ], + "src": "26759:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27302:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27312:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27324:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27335:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27320:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27320:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27312:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27359:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27370:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27355:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27355:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27378:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "27384:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27374:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27374:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27348:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "27348:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "27348:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "27404:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27538:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27412:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "27412:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "27404:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "27282:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "27297:4:18", + "type": "" + } + ], + "src": "27131:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27662:122:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "27684:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27692:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27680:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "27680:14:18" + }, + { + "hexValue": "4552433732313a2061646472657373207a65726f206973206e6f742061207661", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27696:34:18", + "type": "", + "value": "ERC721: address zero is not a va" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27673:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "27673:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "27673:58:18" }, { "expression": { @@ -15797,12 +15764,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "28066:6:15" + "src": "27752:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28074:2:15", + "src": "27760:2:18", "type": "", "value": "32" } @@ -15810,16 +15777,1671 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28062:3:15" + "src": "27748:3:18" }, "nodeType": "YulFunctionCall", - "src": "28062:15:15" + "src": "27748:15:18" + }, + { + "hexValue": "6c6964206f776e6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "27765:11:18", + "type": "", + "value": "lid owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27741:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "27741:36:18" + }, + "nodeType": "YulExpressionStatement", + "src": "27741:36:18" + } + ] + }, + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "27654:6:18", + "type": "" + } + ], + "src": "27556:228:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27936:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27946:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28012:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28017:2:18", + "type": "", + "value": "41" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "27953:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "27953:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "27946:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28118:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159", + "nodeType": "YulIdentifier", + "src": "28029:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "28029:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "28029:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "28131:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28142:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28147:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28138:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28138:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "28131:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "27924:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "27932:3:18", + "type": "" + } + ], + "src": "27790:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28333:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28343:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28355:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28366:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28351:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28351:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28343:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28390:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28401:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28386:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28386:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28409:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "28415:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "28405:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28405:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28379:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "28379:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "28379:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "28435:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28569:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28443:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "28443:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "28435:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "28313:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "28328:4:18", + "type": "" + } + ], + "src": "28162:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28693:75:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28715:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28723:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28711:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "28711:14:18" + }, + { + "hexValue": "55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "28727:33:18", + "type": "", + "value": "URI query for nonexistent token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28704:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "28704:57:18" + }, + "nodeType": "YulExpressionStatement", + "src": "28704:57:18" + } + ] + }, + "name": "store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28685:6:18", + "type": "" + } + ], + "src": "28587:181:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28920:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28930:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28996:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29001:2:18", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "28937:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "28937:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "28930:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29102:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "nodeType": "YulIdentifier", + "src": "29013:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "29013:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29013:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "29115:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "29126:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29131:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29122:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29122:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "29115:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "28908:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "28916:3:18", + "type": "" + } + ], + "src": "28774:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29317:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29327:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29339:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29350:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29335:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29335:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29327:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29374:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29385:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29370:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29370:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29393:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29399:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "29389:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29389:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29363:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "29363:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29363:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "29419:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29553:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "29427:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "29427:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29419:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29297:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29312:4:18", + "type": "" + } + ], + "src": "29146:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29697:206:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29707:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29719:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29730:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29715:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29715:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "29707:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "29787:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29800:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29811:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29796:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29796:17:18" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "29743:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "29743:71:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29743:71:18" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "29868:6:18" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "29881:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29892:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29877:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "29877:18:18" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "29824:43:18" + }, + "nodeType": "YulFunctionCall", + "src": "29824:72:18" + }, + "nodeType": "YulExpressionStatement", + "src": "29824:72:18" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "29661:9:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "29673:6:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "29681:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "29692:4:18", + "type": "" + } + ], + "src": "29571:332:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29976:241:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "30081:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "30083:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "30083:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30083:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30053:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30061:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30050:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "30050:30:18" + }, + "nodeType": "YulIf", + "src": "30047:56:18" + }, + { + "nodeType": "YulAssignment", + "src": "30113:37:18", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30143:6:18" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "30121:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "30121:29:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "30113:4:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30187:23:18", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "30199:4:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30205:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30195:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30195:15:18" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "30187:4:18" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "29960:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "29971:4:18", + "type": "" + } + ], + "src": "29909:308:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30318:326:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "30328:75:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30395:6:18" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "30353:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "30353:49:18" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "30337:15:18" + }, + "nodeType": "YulFunctionCall", + "src": "30337:66:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30328:5:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30419:5:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30426:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30412:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "30412:21:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30412:21:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "30442:27:18", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30457:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30464:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30453:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30453:16:18" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "30446:3:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30507:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "30509:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "30509:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30509:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "30488:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30493:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30484:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30484:16:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30502:3:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "30481:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "30481:25:18" + }, + "nodeType": "YulIf", + "src": "30478:112:18" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "30621:3:18" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "30626:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "30631:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "30599:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "30599:39:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30599:39:18" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "30291:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "30296:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30304:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "30312:5:18", + "type": "" + } + ], + "src": "30223:421:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30737:282:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "30786:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "30788:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "30788:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "30788:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30765:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30773:4:18", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30761:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30761:17:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "30780:3:18" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "30757:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30757:27:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "30750:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "30750:35:18" + }, + "nodeType": "YulIf", + "src": "30747:122:18" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "30878:27:18", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30898:6:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "30892:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "30892:13:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "30882:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "30914:99:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "30986:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30994:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30982:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "30982:17:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "31001:6:18" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "31009:3:18" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "30923:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "30923:90:18" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "30914:5:18" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "30715:6:18", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "30723:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "30731:5:18", + "type": "" + } + ], + "src": "30664:355:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31112:437:18", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "31158:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "31160:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "31160:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31160:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31133:7:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31142:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "31129:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31129:23:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31154:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "31125:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31125:32:18" + }, + "nodeType": "YulIf", + "src": "31122:119:18" + }, + { + "nodeType": "YulBlock", + "src": "31251:291:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "31266:38:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31290:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31301:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31286:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31286:17:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "31280:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "31280:24:18" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "31270:6:18", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31351:83:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", + "nodeType": "YulIdentifier", + "src": "31353:77:18" + }, + "nodeType": "YulFunctionCall", + "src": "31353:79:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31353:79:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31323:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31331:18:18", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "31320:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "31320:30:18" + }, + "nodeType": "YulIf", + "src": "31317:117:18" + }, + { + "nodeType": "YulAssignment", + "src": "31448:84:18", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "31504:9:18" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "31515:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31500:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31500:22:18" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "31524:7:18" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "31458:41:18" + }, + "nodeType": "YulFunctionCall", + "src": "31458:74:18" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "31448:6:18" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "31082:9:18", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "31093:7:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "31105:6:18", + "type": "" + } + ], + "src": "31025:524:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31661:118:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31683:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31691:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31679:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31679:14:18" + }, + { + "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", + "kind": "string", + "nodeType": "YulLiteral", + "src": "31695:34:18", + "type": "", + "value": "ERC721: transfer from incorrect " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31672:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "31672:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "31672:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31751:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31759:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31747:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "31747:15:18" }, { "hexValue": "6f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "28079:7:15", + "src": "31764:7:18", "type": "", "value": "owner" } @@ -15827,13 +17449,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28055:6:15" + "src": "31740:6:18" }, "nodeType": "YulFunctionCall", - "src": "28055:32:15" + "src": "31740:32:18" }, "nodeType": "YulExpressionStatement", - "src": "28055:32:15" + "src": "31740:32:18" } ] }, @@ -15843,31 +17465,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "27968:6:15", + "src": "31653:6:18", "type": "" } ], - "src": "27870:224:15" + "src": "31555:224:18" }, { "body": { "nodeType": "YulBlock", - "src": "28246:220:15", + "src": "31931:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "28256:74:15", + "src": "31941:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28322:3:15" + "src": "32007:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28327:2:15", + "src": "32012:2:18", "type": "", "value": "37" } @@ -15875,16 +17497,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28263:58:15" + "src": "31948:58:18" }, "nodeType": "YulFunctionCall", - "src": "28263:67:15" + "src": "31948:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28256:3:15" + "src": "31941:3:18" } ] }, @@ -15894,34 +17516,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28428:3:15" + "src": "32113:3:18" } ], "functionName": { "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", "nodeType": "YulIdentifier", - "src": "28339:88:15" + "src": "32024:88:18" }, "nodeType": "YulFunctionCall", - "src": "28339:93:15" + "src": "32024:93:18" }, "nodeType": "YulExpressionStatement", - "src": "28339:93:15" + "src": "32024:93:18" }, { "nodeType": "YulAssignment", - "src": "28441:19:15", + "src": "32126:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28452:3:15" + "src": "32137:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28457:2:15", + "src": "32142:2:18", "type": "", "value": "64" } @@ -15929,16 +17551,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28448:3:15" + "src": "32133:3:18" }, "nodeType": "YulFunctionCall", - "src": "28448:12:15" + "src": "32133:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "28441:3:15" + "src": "32126:3:18" } ] } @@ -15950,7 +17572,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "28234:3:15", + "src": "31919:3:18", "type": "" } ], @@ -15958,31 +17580,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "28242:3:15", + "src": "31927:3:18", "type": "" } ], - "src": "28100:366:15" + "src": "31785:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "28643:248:15", + "src": "32328:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "28653:26:15", + "src": "32338:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28665:9:15" + "src": "32350:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28676:2:15", + "src": "32361:2:18", "type": "", "value": "32" } @@ -15990,16 +17612,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28661:3:15" + "src": "32346:3:18" }, "nodeType": "YulFunctionCall", - "src": "28661:18:15" + "src": "32346:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28653:4:15" + "src": "32338:4:18" } ] }, @@ -16011,12 +17633,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28700:9:15" + "src": "32385:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28711:1:15", + "src": "32396:1:18", "type": "", "value": "0" } @@ -16024,68 +17646,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28696:3:15" + "src": "32381:3:18" }, "nodeType": "YulFunctionCall", - "src": "28696:17:15" + "src": "32381:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28719:4:15" + "src": "32404:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28725:9:15" + "src": "32410:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "28715:3:15" + "src": "32400:3:18" }, "nodeType": "YulFunctionCall", - "src": "28715:20:15" + "src": "32400:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28689:6:15" + "src": "32374:6:18" }, "nodeType": "YulFunctionCall", - "src": "28689:47:15" + "src": "32374:47:18" }, "nodeType": "YulExpressionStatement", - "src": "28689:47:15" + "src": "32374:47:18" }, { "nodeType": "YulAssignment", - "src": "28745:139:15", + "src": "32430:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28879:4:15" + "src": "32564:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28753:124:15" + "src": "32438:124:18" }, "nodeType": "YulFunctionCall", - "src": "28753:131:15" + "src": "32438:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28745:4:15" + "src": "32430:4:18" } ] } @@ -16097,7 +17719,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "28623:9:15", + "src": "32308:9:18", "type": "" } ], @@ -16105,16 +17727,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "28638:4:15", + "src": "32323:4:18", "type": "" } ], - "src": "28472:419:15" + "src": "32157:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "29003:117:15", + "src": "32688:117:18", "statements": [ { "expression": { @@ -16124,12 +17746,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "29025:6:15" + "src": "32710:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29033:1:15", + "src": "32718:1:18", "type": "", "value": "0" } @@ -16137,16 +17759,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29021:3:15" + "src": "32706:3:18" }, "nodeType": "YulFunctionCall", - "src": "29021:14:15" + "src": "32706:14:18" }, { "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", "kind": "string", "nodeType": "YulLiteral", - "src": "29037:34:15", + "src": "32722:34:18", "type": "", "value": "ERC721: transfer to the zero add" } @@ -16154,13 +17776,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29014:6:15" + "src": "32699:6:18" }, "nodeType": "YulFunctionCall", - "src": "29014:58:15" + "src": "32699:58:18" }, "nodeType": "YulExpressionStatement", - "src": "29014:58:15" + "src": "32699:58:18" }, { "expression": { @@ -16170,12 +17792,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "29093:6:15" + "src": "32778:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29101:2:15", + "src": "32786:2:18", "type": "", "value": "32" } @@ -16183,16 +17805,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29089:3:15" + "src": "32774:3:18" }, "nodeType": "YulFunctionCall", - "src": "29089:15:15" + "src": "32774:15:18" }, { "hexValue": "72657373", "kind": "string", "nodeType": "YulLiteral", - "src": "29106:6:15", + "src": "32791:6:18", "type": "", "value": "ress" } @@ -16200,13 +17822,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29082:6:15" + "src": "32767:6:18" }, "nodeType": "YulFunctionCall", - "src": "29082:31:15" + "src": "32767:31:18" }, "nodeType": "YulExpressionStatement", - "src": "29082:31:15" + "src": "32767:31:18" } ] }, @@ -16216,31 +17838,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "28995:6:15", + "src": "32680:6:18", "type": "" } ], - "src": "28897:223:15" + "src": "32582:223:18" }, { "body": { "nodeType": "YulBlock", - "src": "29272:220:15", + "src": "32957:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "29282:74:15", + "src": "32967:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29348:3:15" + "src": "33033:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29353:2:15", + "src": "33038:2:18", "type": "", "value": "36" } @@ -16248,16 +17870,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "29289:58:15" + "src": "32974:58:18" }, "nodeType": "YulFunctionCall", - "src": "29289:67:15" + "src": "32974:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29282:3:15" + "src": "32967:3:18" } ] }, @@ -16267,34 +17889,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29454:3:15" + "src": "33139:3:18" } ], "functionName": { "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", "nodeType": "YulIdentifier", - "src": "29365:88:15" + "src": "33050:88:18" }, "nodeType": "YulFunctionCall", - "src": "29365:93:15" + "src": "33050:93:18" }, "nodeType": "YulExpressionStatement", - "src": "29365:93:15" + "src": "33050:93:18" }, { "nodeType": "YulAssignment", - "src": "29467:19:15", + "src": "33152:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29478:3:15" + "src": "33163:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29483:2:15", + "src": "33168:2:18", "type": "", "value": "64" } @@ -16302,16 +17924,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29474:3:15" + "src": "33159:3:18" }, "nodeType": "YulFunctionCall", - "src": "29474:12:15" + "src": "33159:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29467:3:15" + "src": "33152:3:18" } ] } @@ -16323,7 +17945,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "29260:3:15", + "src": "32945:3:18", "type": "" } ], @@ -16331,31 +17953,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "29268:3:15", + "src": "32953:3:18", "type": "" } ], - "src": "29126:366:15" + "src": "32811:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "29669:248:15", + "src": "33354:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "29679:26:15", + "src": "33364:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29691:9:15" + "src": "33376:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29702:2:15", + "src": "33387:2:18", "type": "", "value": "32" } @@ -16363,16 +17985,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29687:3:15" + "src": "33372:3:18" }, "nodeType": "YulFunctionCall", - "src": "29687:18:15" + "src": "33372:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29679:4:15" + "src": "33364:4:18" } ] }, @@ -16384,12 +18006,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29726:9:15" + "src": "33411:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29737:1:15", + "src": "33422:1:18", "type": "", "value": "0" } @@ -16397,68 +18019,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29722:3:15" + "src": "33407:3:18" }, "nodeType": "YulFunctionCall", - "src": "29722:17:15" + "src": "33407:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29745:4:15" + "src": "33430:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29751:9:15" + "src": "33436:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "29741:3:15" + "src": "33426:3:18" }, "nodeType": "YulFunctionCall", - "src": "29741:20:15" + "src": "33426:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29715:6:15" + "src": "33400:6:18" }, "nodeType": "YulFunctionCall", - "src": "29715:47:15" + "src": "33400:47:18" }, "nodeType": "YulExpressionStatement", - "src": "29715:47:15" + "src": "33400:47:18" }, { "nodeType": "YulAssignment", - "src": "29771:139:15", + "src": "33456:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29905:4:15" + "src": "33590:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "29779:124:15" + "src": "33464:124:18" }, "nodeType": "YulFunctionCall", - "src": "29779:131:15" + "src": "33464:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29771:4:15" + "src": "33456:4:18" } ] } @@ -16470,7 +18092,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "29649:9:15", + "src": "33334:9:18", "type": "" } ], @@ -16478,229 +18100,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "29664:4:15", + "src": "33349:4:18", "type": "" } ], - "src": "29498:419:15" + "src": "33183:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "29968:146:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "29978:25:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "30001:1:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "29983:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "29983:20:15" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "29978:1:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "30012:25:15", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "30035:1:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "30017:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "30017:20:15" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "30012:1:15" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30059:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "30061:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "30061:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "30061:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "30053:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "30056:1:15" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "30050:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "30050:8:15" - }, - "nodeType": "YulIf", - "src": "30047:34:15" - }, - { - "nodeType": "YulAssignment", - "src": "30091:17:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "30103:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "30106:1:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "30099:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "30099:9:15" - }, - "variableNames": [ - { - "name": "diff", - "nodeType": "YulIdentifier", - "src": "30091:4:15" - } - ] - } - ] - }, - "name": "checked_sub_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "29954:1:15", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "29957:1:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "diff", - "nodeType": "YulTypedName", - "src": "29963:4:15", - "type": "" - } - ], - "src": "29923:191:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30234:34:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30244:18:15", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30259:3:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "30244:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30206:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "30211:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "30222:11:15", - "type": "" - } - ], - "src": "30120:148:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30380:67:15", + "src": "33714:69:18", "statements": [ { "expression": { @@ -16710,12 +18119,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "30402:6:15" + "src": "33736:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30410:1:15", + "src": "33744:1:18", "type": "", "value": "0" } @@ -16723,722 +18132,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30398:3:15" + "src": "33732:3:18" }, "nodeType": "YulFunctionCall", - "src": "30398:14:15" - }, - { - "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", - "kind": "string", - "nodeType": "YulLiteral", - "src": "30414:25:15", - "type": "", - "value": "AccessControl: account " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "30391:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "30391:49:15" - }, - "nodeType": "YulExpressionStatement", - "src": "30391:49:15" - } - ] - }, - "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "30372:6:15", - "type": "" - } - ], - "src": "30274:173:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30617:238:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "30627:92:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30711:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30716:2:15", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "30634:76:15" - }, - "nodeType": "YulFunctionCall", - "src": "30634:85:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30627:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30817:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", - "nodeType": "YulIdentifier", - "src": "30728:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "30728:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "30728:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "30830:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "30841:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "30846:2:15", - "type": "", - "value": "23" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "30837:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "30837:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "30830:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30605:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30613:3:15", - "type": "" - } - ], - "src": "30453:402:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "30971:267:15", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "30981:53:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31028:5:15" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "30995:32:15" - }, - "nodeType": "YulFunctionCall", - "src": "30995:39:15" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "30985:6:15", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "31043:96:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31127:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31132:6:15" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31050:76:15" - }, - "nodeType": "YulFunctionCall", - "src": "31050:89:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31043:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "31174:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31181:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31170:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "31170:16:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31188:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31193:6:15" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "31148:21:15" - }, - "nodeType": "YulFunctionCall", - "src": "31148:52:15" - }, - "nodeType": "YulExpressionStatement", - "src": "31148:52:15" - }, - { - "nodeType": "YulAssignment", - "src": "31209:23:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31220:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "31225:6:15" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31216:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "31216:16:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31209:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "30952:5:15", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "30959:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "30967:3:15", - "type": "" - } - ], - "src": "30861:377:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31350:61:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "31372:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31380:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31368:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "31368:14:15" - }, - { - "hexValue": "206973206d697373696e6720726f6c6520", - "kind": "string", - "nodeType": "YulLiteral", - "src": "31384:19:15", - "type": "", - "value": " is missing role " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "31361:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "31361:43:15" - }, - "nodeType": "YulExpressionStatement", - "src": "31361:43:15" - } - ] - }, - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "31342:6:15", - "type": "" - } - ], - "src": "31244:167:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "31581:238:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "31591:92:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31675:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31680:2:15", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "31598:76:15" - }, - "nodeType": "YulFunctionCall", - "src": "31598:85:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31591:3:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31781:3:15" - } - ], - "functionName": { - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulIdentifier", - "src": "31692:88:15" - }, - "nodeType": "YulFunctionCall", - "src": "31692:93:15" - }, - "nodeType": "YulExpressionStatement", - "src": "31692:93:15" - }, - { - "nodeType": "YulAssignment", - "src": "31794:19:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "31805:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "31810:2:15", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "31801:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "31801:12:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "31794:3:15" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "31569:3:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "31577:3:15", - "type": "" - } - ], - "src": "31417:402:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32211:581:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "32222:155:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32373:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32229:142:15" - }, - "nodeType": "YulFunctionCall", - "src": "32229:148:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32222:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32387:102:15", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "32476:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32485:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32394:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "32394:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32387:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32499:155:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32650:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32506:142:15" - }, - "nodeType": "YulFunctionCall", - "src": "32506:148:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32499:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32664:102:15", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "32753:6:15" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32762:3:15" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "32671:81:15" - }, - "nodeType": "YulFunctionCall", - "src": "32671:95:15" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32664:3:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "32776:10:15", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "32783:3:15" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "32776:3:15" - } - ] - } - ] - }, - "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": "32182:3:15", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "32188:6:15", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "32196:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "32207:3:15", - "type": "" - } - ], - "src": "31825:967:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "32904:69:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "32926:6:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "32934:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "32922:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "32922:14:15" + "src": "33732:14:18" }, { "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", "kind": "string", "nodeType": "YulLiteral", - "src": "32938:27:15", + "src": "33748:27:18", "type": "", "value": "ERC721: approve to caller" } @@ -17446,13 +18149,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32915:6:15" + "src": "33725:6:18" }, "nodeType": "YulFunctionCall", - "src": "32915:51:15" + "src": "33725:51:18" }, "nodeType": "YulExpressionStatement", - "src": "32915:51:15" + "src": "33725:51:18" } ] }, @@ -17462,31 +18165,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "32896:6:15", + "src": "33706:6:18", "type": "" } ], - "src": "32798:175:15" + "src": "33608:175:18" }, { "body": { "nodeType": "YulBlock", - "src": "33125:220:15", + "src": "33935:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "33135:74:15", + "src": "33945:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33201:3:15" + "src": "34011:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33206:2:15", + "src": "34016:2:18", "type": "", "value": "25" } @@ -17494,16 +18197,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "33142:58:15" + "src": "33952:58:18" }, "nodeType": "YulFunctionCall", - "src": "33142:67:15" + "src": "33952:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33135:3:15" + "src": "33945:3:18" } ] }, @@ -17513,34 +18216,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33307:3:15" + "src": "34117:3:18" } ], "functionName": { "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", "nodeType": "YulIdentifier", - "src": "33218:88:15" + "src": "34028:88:18" }, "nodeType": "YulFunctionCall", - "src": "33218:93:15" + "src": "34028:93:18" }, "nodeType": "YulExpressionStatement", - "src": "33218:93:15" + "src": "34028:93:18" }, { "nodeType": "YulAssignment", - "src": "33320:19:15", + "src": "34130:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33331:3:15" + "src": "34141:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33336:2:15", + "src": "34146:2:18", "type": "", "value": "32" } @@ -17548,16 +18251,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33327:3:15" + "src": "34137:3:18" }, "nodeType": "YulFunctionCall", - "src": "33327:12:15" + "src": "34137:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "33320:3:15" + "src": "34130:3:18" } ] } @@ -17569,7 +18272,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "33113:3:15", + "src": "33923:3:18", "type": "" } ], @@ -17577,31 +18280,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "33121:3:15", + "src": "33931:3:18", "type": "" } ], - "src": "32979:366:15" + "src": "33789:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "33522:248:15", + "src": "34332:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "33532:26:15", + "src": "34342:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33544:9:15" + "src": "34354:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33555:2:15", + "src": "34365:2:18", "type": "", "value": "32" } @@ -17609,16 +18312,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33540:3:15" + "src": "34350:3:18" }, "nodeType": "YulFunctionCall", - "src": "33540:18:15" + "src": "34350:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33532:4:15" + "src": "34342:4:18" } ] }, @@ -17630,12 +18333,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33579:9:15" + "src": "34389:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33590:1:15", + "src": "34400:1:18", "type": "", "value": "0" } @@ -17643,68 +18346,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33575:3:15" + "src": "34385:3:18" }, "nodeType": "YulFunctionCall", - "src": "33575:17:15" + "src": "34385:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33598:4:15" + "src": "34408:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33604:9:15" + "src": "34414:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "33594:3:15" + "src": "34404:3:18" }, "nodeType": "YulFunctionCall", - "src": "33594:20:15" + "src": "34404:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33568:6:15" + "src": "34378:6:18" }, "nodeType": "YulFunctionCall", - "src": "33568:47:15" + "src": "34378:47:18" }, "nodeType": "YulExpressionStatement", - "src": "33568:47:15" + "src": "34378:47:18" }, { "nodeType": "YulAssignment", - "src": "33624:139:15", + "src": "34434:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33758:4:15" + "src": "34568:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "33632:124:15" + "src": "34442:124:18" }, "nodeType": "YulFunctionCall", - "src": "33632:131:15" + "src": "34442:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33624:4:15" + "src": "34434:4:18" } ] } @@ -17716,7 +18419,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "33502:9:15", + "src": "34312:9:18", "type": "" } ], @@ -17724,16 +18427,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "33517:4:15", + "src": "34327:4:18", "type": "" } ], - "src": "33351:419:15" + "src": "34161:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "33882:131:15", + "src": "34692:131:18", "statements": [ { "expression": { @@ -17743,12 +18446,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33904:6:15" + "src": "34714:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33912:1:15", + "src": "34722:1:18", "type": "", "value": "0" } @@ -17756,16 +18459,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33900:3:15" + "src": "34710:3:18" }, "nodeType": "YulFunctionCall", - "src": "33900:14:15" + "src": "34710:14:18" }, { "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", "kind": "string", "nodeType": "YulLiteral", - "src": "33916:34:15", + "src": "34726:34:18", "type": "", "value": "ERC721: transfer to non ERC721Re" } @@ -17773,13 +18476,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33893:6:15" + "src": "34703:6:18" }, "nodeType": "YulFunctionCall", - "src": "33893:58:15" + "src": "34703:58:18" }, "nodeType": "YulExpressionStatement", - "src": "33893:58:15" + "src": "34703:58:18" }, { "expression": { @@ -17789,12 +18492,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33972:6:15" + "src": "34782:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33980:2:15", + "src": "34790:2:18", "type": "", "value": "32" } @@ -17802,16 +18505,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33968:3:15" + "src": "34778:3:18" }, "nodeType": "YulFunctionCall", - "src": "33968:15:15" + "src": "34778:15:18" }, { "hexValue": "63656976657220696d706c656d656e746572", "kind": "string", "nodeType": "YulLiteral", - "src": "33985:20:15", + "src": "34795:20:18", "type": "", "value": "ceiver implementer" } @@ -17819,13 +18522,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33961:6:15" + "src": "34771:6:18" }, "nodeType": "YulFunctionCall", - "src": "33961:45:15" + "src": "34771:45:18" }, "nodeType": "YulExpressionStatement", - "src": "33961:45:15" + "src": "34771:45:18" } ] }, @@ -17835,31 +18538,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "33874:6:15", + "src": "34684:6:18", "type": "" } ], - "src": "33776:237:15" + "src": "34586:237:18" }, { "body": { "nodeType": "YulBlock", - "src": "34165:220:15", + "src": "34975:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "34175:74:15", + "src": "34985:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34241:3:15" + "src": "35051:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34246:2:15", + "src": "35056:2:18", "type": "", "value": "50" } @@ -17867,16 +18570,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "34182:58:15" + "src": "34992:58:18" }, "nodeType": "YulFunctionCall", - "src": "34182:67:15" + "src": "34992:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34175:3:15" + "src": "34985:3:18" } ] }, @@ -17886,34 +18589,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34347:3:15" + "src": "35157:3:18" } ], "functionName": { "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", "nodeType": "YulIdentifier", - "src": "34258:88:15" + "src": "35068:88:18" }, "nodeType": "YulFunctionCall", - "src": "34258:93:15" + "src": "35068:93:18" }, "nodeType": "YulExpressionStatement", - "src": "34258:93:15" + "src": "35068:93:18" }, { "nodeType": "YulAssignment", - "src": "34360:19:15", + "src": "35170:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34371:3:15" + "src": "35181:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34376:2:15", + "src": "35186:2:18", "type": "", "value": "64" } @@ -17921,16 +18624,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34367:3:15" + "src": "35177:3:18" }, "nodeType": "YulFunctionCall", - "src": "34367:12:15" + "src": "35177:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "34360:3:15" + "src": "35170:3:18" } ] } @@ -17942,7 +18645,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "34153:3:15", + "src": "34963:3:18", "type": "" } ], @@ -17950,31 +18653,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "34161:3:15", + "src": "34971:3:18", "type": "" } ], - "src": "34019:366:15" + "src": "34829:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "34562:248:15", + "src": "35372:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "34572:26:15", + "src": "35382:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34584:9:15" + "src": "35394:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34595:2:15", + "src": "35405:2:18", "type": "", "value": "32" } @@ -17982,16 +18685,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34580:3:15" + "src": "35390:3:18" }, "nodeType": "YulFunctionCall", - "src": "34580:18:15" + "src": "35390:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34572:4:15" + "src": "35382:4:18" } ] }, @@ -18003,12 +18706,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34619:9:15" + "src": "35429:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34630:1:15", + "src": "35440:1:18", "type": "", "value": "0" } @@ -18016,68 +18719,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34615:3:15" + "src": "35425:3:18" }, "nodeType": "YulFunctionCall", - "src": "34615:17:15" + "src": "35425:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34638:4:15" + "src": "35448:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34644:9:15" + "src": "35454:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "34634:3:15" + "src": "35444:3:18" }, "nodeType": "YulFunctionCall", - "src": "34634:20:15" + "src": "35444:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34608:6:15" + "src": "35418:6:18" }, "nodeType": "YulFunctionCall", - "src": "34608:47:15" + "src": "35418:47:18" }, "nodeType": "YulExpressionStatement", - "src": "34608:47:15" + "src": "35418:47:18" }, { "nodeType": "YulAssignment", - "src": "34664:139:15", + "src": "35474:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34798:4:15" + "src": "35608:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "34672:124:15" + "src": "35482:124:18" }, "nodeType": "YulFunctionCall", - "src": "34672:131:15" + "src": "35482:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34664:4:15" + "src": "35474:4:18" } ] } @@ -18089,7 +18792,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "34542:9:15", + "src": "35352:9:18", "type": "" } ], @@ -18097,16 +18800,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "34557:4:15", + "src": "35367:4:18", "type": "" } ], - "src": "34391:419:15" + "src": "35201:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "34922:66:15", + "src": "35732:66:18", "statements": [ { "expression": { @@ -18116,12 +18819,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "34944:6:15" + "src": "35754:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34952:1:15", + "src": "35762:1:18", "type": "", "value": "0" } @@ -18129,16 +18832,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34940:3:15" + "src": "35750:3:18" }, "nodeType": "YulFunctionCall", - "src": "34940:14:15" + "src": "35750:14:18" }, { "hexValue": "546f6b656e206e6f74207472616e7366657261626c65", "kind": "string", "nodeType": "YulLiteral", - "src": "34956:24:15", + "src": "35766:24:18", "type": "", "value": "Token not transferable" } @@ -18146,13 +18849,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34933:6:15" + "src": "35743:6:18" }, "nodeType": "YulFunctionCall", - "src": "34933:48:15" + "src": "35743:48:18" }, "nodeType": "YulExpressionStatement", - "src": "34933:48:15" + "src": "35743:48:18" } ] }, @@ -18162,31 +18865,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "34914:6:15", + "src": "35724:6:18", "type": "" } ], - "src": "34816:172:15" + "src": "35626:172:18" }, { "body": { "nodeType": "YulBlock", - "src": "35140:220:15", + "src": "35950:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "35150:74:15", + "src": "35960:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35216:3:15" + "src": "36026:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35221:2:15", + "src": "36031:2:18", "type": "", "value": "22" } @@ -18194,16 +18897,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "35157:58:15" + "src": "35967:58:18" }, "nodeType": "YulFunctionCall", - "src": "35157:67:15" + "src": "35967:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35150:3:15" + "src": "35960:3:18" } ] }, @@ -18213,34 +18916,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35322:3:15" + "src": "36132:3:18" } ], "functionName": { "name": "store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6", "nodeType": "YulIdentifier", - "src": "35233:88:15" + "src": "36043:88:18" }, "nodeType": "YulFunctionCall", - "src": "35233:93:15" + "src": "36043:93:18" }, "nodeType": "YulExpressionStatement", - "src": "35233:93:15" + "src": "36043:93:18" }, { "nodeType": "YulAssignment", - "src": "35335:19:15", + "src": "36145:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "35346:3:15" + "src": "36156:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35351:2:15", + "src": "36161:2:18", "type": "", "value": "32" } @@ -18248,16 +18951,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35342:3:15" + "src": "36152:3:18" }, "nodeType": "YulFunctionCall", - "src": "35342:12:15" + "src": "36152:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "35335:3:15" + "src": "36145:3:18" } ] } @@ -18269,7 +18972,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "35128:3:15", + "src": "35938:3:18", "type": "" } ], @@ -18277,31 +18980,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "35136:3:15", + "src": "35946:3:18", "type": "" } ], - "src": "34994:366:15" + "src": "35804:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "35537:248:15", + "src": "36347:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "35547:26:15", + "src": "36357:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35559:9:15" + "src": "36369:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35570:2:15", + "src": "36380:2:18", "type": "", "value": "32" } @@ -18309,16 +19012,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35555:3:15" + "src": "36365:3:18" }, "nodeType": "YulFunctionCall", - "src": "35555:18:15" + "src": "36365:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35547:4:15" + "src": "36357:4:18" } ] }, @@ -18330,12 +19033,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35594:9:15" + "src": "36404:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "35605:1:15", + "src": "36415:1:18", "type": "", "value": "0" } @@ -18343,68 +19046,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "35590:3:15" + "src": "36400:3:18" }, "nodeType": "YulFunctionCall", - "src": "35590:17:15" + "src": "36400:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35613:4:15" + "src": "36423:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "35619:9:15" + "src": "36429:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "35609:3:15" + "src": "36419:3:18" }, "nodeType": "YulFunctionCall", - "src": "35609:20:15" + "src": "36419:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "35583:6:15" + "src": "36393:6:18" }, "nodeType": "YulFunctionCall", - "src": "35583:47:15" + "src": "36393:47:18" }, "nodeType": "YulExpressionStatement", - "src": "35583:47:15" + "src": "36393:47:18" }, { "nodeType": "YulAssignment", - "src": "35639:139:15", + "src": "36449:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35773:4:15" + "src": "36583:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "35647:124:15" + "src": "36457:124:18" }, "nodeType": "YulFunctionCall", - "src": "35647:131:15" + "src": "36457:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "35639:4:15" + "src": "36449:4:18" } ] } @@ -18416,7 +19119,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "35517:9:15", + "src": "36327:9:18", "type": "" } ], @@ -18424,371 +19127,65 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "35532:4:15", + "src": "36342:4:18", "type": "" } ], - "src": "35366:419:15" + "src": "36176:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "35839:300:15", + "src": "36715:34:18", "statements": [ { "nodeType": "YulAssignment", - "src": "35849:25:15", + "src": "36725:18:18", "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "35872:1:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "35854:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "35854:20:15" + "name": "pos", + "nodeType": "YulIdentifier", + "src": "36740:3:18" }, "variableNames": [ { - "name": "x", + "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "35849:1:15" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "35883:25:15", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "35906:1:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "35888:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "35888:20:15" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "35883:1:15" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36081:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "36083:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "36083:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "36083:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "35993:1:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "35986:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "35986:9:15" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "35979:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "35979:17:15" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "36001:1:15" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36008:66:15", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "36076:1:15" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "36004:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "36004:74:15" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "35998:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "35998:81:15" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "35975:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "35975:105:15" - }, - "nodeType": "YulIf", - "src": "35972:131:15" - }, - { - "nodeType": "YulAssignment", - "src": "36113:20:15", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "36128:1:15" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "36131:1:15" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "36124:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "36124:9:15" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "36113:7:15" + "src": "36725:11:18" } ] } ] }, - "name": "checked_mul_t_uint256", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { - "name": "x", + "name": "pos", "nodeType": "YulTypedName", - "src": "35822:1:15", + "src": "36687:3:18", "type": "" }, { - "name": "y", + "name": "length", "nodeType": "YulTypedName", - "src": "35825:1:15", + "src": "36692:6:18", "type": "" } ], "returnVariables": [ { - "name": "product", + "name": "updated_pos", "nodeType": "YulTypedName", - "src": "35831:7:15", + "src": "36703:11:18", "type": "" } ], - "src": "35791:348:15" + "src": "36601:148:18" }, { "body": { "nodeType": "YulBlock", - "src": "36188:128:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "36198:33:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "36225:5:15" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "36207:17:15" - }, - "nodeType": "YulFunctionCall", - "src": "36207:24:15" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "36198:5:15" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36259:22:15", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "36261:16:15" - }, - "nodeType": "YulFunctionCall", - "src": "36261:18:15" - }, - "nodeType": "YulExpressionStatement", - "src": "36261:18:15" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "36246:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36253:4:15", - "type": "", - "value": "0x00" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "36243:2:15" - }, - "nodeType": "YulFunctionCall", - "src": "36243:15:15" - }, - "nodeType": "YulIf", - "src": "36240:41:15" - }, - { - "nodeType": "YulAssignment", - "src": "36290:20:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "36301:5:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36308:1:15", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "36297:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "36297:13:15" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "36290:3:15" - } - ] - } - ] - }, - "name": "decrement_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "36174:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "36184:3:15", - "type": "" - } - ], - "src": "36145:171:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36428:76:15", + "src": "36861:67:18", "statements": [ { "expression": { @@ -18798,12 +19195,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "36450:6:15" + "src": "36883:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36458:1:15", + "src": "36891:1:18", "type": "", "value": "0" } @@ -18811,81 +19208,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36446:3:15" + "src": "36879:3:18" }, "nodeType": "YulFunctionCall", - "src": "36446:14:15" + "src": "36879:14:18" }, { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", "kind": "string", "nodeType": "YulLiteral", - "src": "36462:34:15", + "src": "36895:25:18", "type": "", - "value": "Strings: hex length insufficient" + "value": "AccessControl: account " } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "36439:6:15" + "src": "36872:6:18" }, "nodeType": "YulFunctionCall", - "src": "36439:58:15" + "src": "36872:49:18" }, "nodeType": "YulExpressionStatement", - "src": "36439:58:15" + "src": "36872:49:18" } ] }, - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "36420:6:15", + "src": "36853:6:18", "type": "" } ], - "src": "36322:182:15" + "src": "36755:173:18" }, { "body": { "nodeType": "YulBlock", - "src": "36656:220:15", + "src": "37098:238:18", "statements": [ { "nodeType": "YulAssignment", - "src": "36666:74:15", + "src": "37108:92:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36732:3:15" + "src": "37192:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36737:2:15", + "src": "37197:2:18", "type": "", - "value": "32" + "value": "23" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "36673:58:15" + "src": "37115:76:18" }, "nodeType": "YulFunctionCall", - "src": "36673:67:15" + "src": "37115:85:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36666:3:15" + "src": "37108:3:18" } ] }, @@ -18895,63 +19292,63 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36838:3:15" + "src": "37298:3:18" } ], "functionName": { - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", "nodeType": "YulIdentifier", - "src": "36749:88:15" + "src": "37209:88:18" }, "nodeType": "YulFunctionCall", - "src": "36749:93:15" + "src": "37209:93:18" }, "nodeType": "YulExpressionStatement", - "src": "36749:93:15" + "src": "37209:93:18" }, { "nodeType": "YulAssignment", - "src": "36851:19:15", + "src": "37311:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36862:3:15" + "src": "37322:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "36867:2:15", + "src": "37327:2:18", "type": "", - "value": "32" + "value": "23" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "36858:3:15" + "src": "37318:3:18" }, "nodeType": "YulFunctionCall", - "src": "36858:12:15" + "src": "37318:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "36851:3:15" + "src": "37311:3:18" } ] } ] }, - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", "nodeType": "YulTypedName", - "src": "36644:3:15", + "src": "37086:3:18", "type": "" } ], @@ -18959,367 +19356,74 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "36652:3:15", + "src": "37094:3:18", "type": "" } ], - "src": "36510:366:15" + "src": "36934:402:18" }, { "body": { "nodeType": "YulBlock", - "src": "37053:248:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "37063:26:15", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37075:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37086:2:15", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37071:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "37071:18:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "37063:4:15" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37110:9:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37121:1:15", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37106:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "37106:17:15" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "37129:4:15" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "37135:9:15" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "37125:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "37125:20:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "37099:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "37099:47:15" - }, - "nodeType": "YulExpressionStatement", - "src": "37099:47:15" - }, - { - "nodeType": "YulAssignment", - "src": "37155:139:15", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "37289:4:15" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "37163:124:15" - }, - "nodeType": "YulFunctionCall", - "src": "37163:131:15" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "37155:4:15" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "37033:9:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "37048:4:15", - "type": "" - } - ], - "src": "36882:419:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37365:40:15", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "37376:22:15", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "37392:5:15" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "37386:5:15" - }, - "nodeType": "YulFunctionCall", - "src": "37386:12:15" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "37376:6:15" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "37348:5:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "37358:6:15", - "type": "" - } - ], - "src": "37307:98:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37506:73:15", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37523:3:15" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "37528:6:15" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "37516:6:15" - }, - "nodeType": "YulFunctionCall", - "src": "37516:19:15" - }, - "nodeType": "YulExpressionStatement", - "src": "37516:19:15" - }, - { - "nodeType": "YulAssignment", - "src": "37544:29:15", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "37563:3:15" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "37568:4:15", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "37559:3:15" - }, - "nodeType": "YulFunctionCall", - "src": "37559:14:15" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "37544:11:15" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "37478:3:15", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "37483:6:15", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "37494:11:15", - "type": "" - } - ], - "src": "37411:168:15" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "37675:270:15", + "src": "37452:267:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "37685:52:15", + "src": "37462:53:18", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "37731:5:15" + "src": "37509:5:18" } ], "functionName": { - "name": "array_length_t_bytes_memory_ptr", + "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "37699:31:15" + "src": "37476:32:18" }, "nodeType": "YulFunctionCall", - "src": "37699:38:15" + "src": "37476:39:18" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "37689:6:15", + "src": "37466:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "37746:77:15", + "src": "37524:96:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37811:3:15" + "src": "37608:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "37816:6:15" + "src": "37613:6:18" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "37753:57:15" + "src": "37531:76:18" }, "nodeType": "YulFunctionCall", - "src": "37753:70:15" + "src": "37531:89:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37746:3:15" + "src": "37524:3:18" } ] }, @@ -19331,12 +19435,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "37858:5:15" + "src": "37655:5:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37865:4:15", + "src": "37662:4:18", "type": "", "value": "0x20" } @@ -19344,73 +19448,745 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37854:3:15" + "src": "37651:3:18" }, "nodeType": "YulFunctionCall", - "src": "37854:16:15" + "src": "37651:16:18" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "37872:3:15" + "src": "37669:3:18" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "37877:6:15" + "src": "37674:6:18" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "37832:21:15" + "src": "37629:21:18" }, "nodeType": "YulFunctionCall", - "src": "37832:52:15" + "src": "37629:52:18" }, "nodeType": "YulExpressionStatement", - "src": "37832:52:15" + "src": "37629:52:18" }, { "nodeType": "YulAssignment", - "src": "37893:46:15", + "src": "37690:23:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37904:3:15" + "src": "37701:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "37706:6:18" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37697:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "37697:16:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "37690:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "37433:5:18", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37440:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "37448:3:18", + "type": "" + } + ], + "src": "37342:377:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37831:61:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "37853:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "37861:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "37849:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "37849:14:18" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "37865:19:18", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "37842:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "37842:43:18" + }, + "nodeType": "YulExpressionStatement", + "src": "37842:43:18" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "37823:6:18", + "type": "" + } + ], + "src": "37725:167:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38062:238:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38072:92:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38156:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38161:2:18", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38079:76:18" + }, + "nodeType": "YulFunctionCall", + "src": "38079:85:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38072:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38262:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "38173:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "38173:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "38173:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "38275:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38286:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38291:2:18", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38282:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "38282:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38275:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38050:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38058:3:18", + "type": "" + } + ], + "src": "37898:402:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38692:581:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38703:155:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38854:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38710:142:18" + }, + "nodeType": "YulFunctionCall", + "src": "38710:148:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38703:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38868:102:18", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "38957:6:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38966:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38875:81:18" + }, + "nodeType": "YulFunctionCall", + "src": "38875:95:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38868:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "38980:155:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39131:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38987:142:18" + }, + "nodeType": "YulFunctionCall", + "src": "38987:148:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38980:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39145:102:18", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "39234:6:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39243:3:18" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39152:81:18" + }, + "nodeType": "YulFunctionCall", + "src": "39152:95:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39145:3:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39257:10:18", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39264:3:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39257:3:18" + } + ] + } + ] + }, + "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": "38663:3:18", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "38669:6:18", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "38677:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38688:3:18", + "type": "" + } + ], + "src": "38306:967:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39337:40:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39348:22:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39364:5:18" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "39358:5:18" + }, + "nodeType": "YulFunctionCall", + "src": "39358:12:18" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39348:6:18" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "39320:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "39330:6:18", + "type": "" + } + ], + "src": "39279:98:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39478:73:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39495:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39500:6:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "39488:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "39488:19:18" + }, + "nodeType": "YulExpressionStatement", + "src": "39488:19:18" + }, + { + "nodeType": "YulAssignment", + "src": "39516:29:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39535:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39540:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39531:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "39531:14:18" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "39516:11:18" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39450:3:18", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "39455:6:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "39466:11:18", + "type": "" + } + ], + "src": "39383:168:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39647:270:18", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "39657:52:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39703:5:18" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "39671:31:18" + }, + "nodeType": "YulFunctionCall", + "src": "39671:38:18" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "39661:6:18", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39718:77:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39783:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39788:6:18" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "39725:57:18" + }, + "nodeType": "YulFunctionCall", + "src": "39725:70:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39718:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "39830:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "39837:4:18", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "39826:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "39826:16:18" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39844:3:18" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "39849:6:18" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "39804:21:18" + }, + "nodeType": "YulFunctionCall", + "src": "39804:52:18" + }, + "nodeType": "YulExpressionStatement", + "src": "39804:52:18" + }, + { + "nodeType": "YulAssignment", + "src": "39865:46:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39876:3:18" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "37931:6:15" + "src": "39903:6:18" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "37909:21:15" + "src": "39881:21:18" }, "nodeType": "YulFunctionCall", - "src": "37909:29:15" + "src": "39881:29:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37900:3:15" + "src": "39872:3:18" }, "nodeType": "YulFunctionCall", - "src": "37900:39:15" + "src": "39872:39:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "37893:3:15" + "src": "39865:3:18" } ] } @@ -19422,13 +20198,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "37656:5:15", + "src": "39628:5:18", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "37663:3:15", + "src": "39635:3:18", "type": "" } ], @@ -19436,31 +20212,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "37671:3:15", + "src": "39643:3:18", "type": "" } ], - "src": "37585:360:15" + "src": "39557:360:18" }, { "body": { "nodeType": "YulBlock", - "src": "38151:440:15", + "src": "40123:440:18", "statements": [ { "nodeType": "YulAssignment", - "src": "38161:27:15", + "src": "40133:27:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38173:9:15" + "src": "40145:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38184:3:15", + "src": "40156:3:18", "type": "", "value": "128" } @@ -19468,16 +20244,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38169:3:15" + "src": "40141:3:18" }, "nodeType": "YulFunctionCall", - "src": "38169:19:15" + "src": "40141:19:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38161:4:15" + "src": "40133:4:18" } ] }, @@ -19487,19 +20263,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "38242:6:15" + "src": "40214:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38255:9:15" + "src": "40227:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38266:1:15", + "src": "40238:1:18", "type": "", "value": "0" } @@ -19507,22 +20283,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38251:3:15" + "src": "40223:3:18" }, "nodeType": "YulFunctionCall", - "src": "38251:17:15" + "src": "40223:17:18" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "38198:43:15" + "src": "40170:43:18" }, "nodeType": "YulFunctionCall", - "src": "38198:71:15" + "src": "40170:71:18" }, "nodeType": "YulExpressionStatement", - "src": "38198:71:15" + "src": "40170:71:18" }, { "expression": { @@ -19530,19 +20306,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "38323:6:15" + "src": "40295:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38336:9:15" + "src": "40308:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38347:2:15", + "src": "40319:2:18", "type": "", "value": "32" } @@ -19550,22 +20326,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38332:3:15" + "src": "40304:3:18" }, "nodeType": "YulFunctionCall", - "src": "38332:18:15" + "src": "40304:18:18" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "38279:43:15" + "src": "40251:43:18" }, "nodeType": "YulFunctionCall", - "src": "38279:72:15" + "src": "40251:72:18" }, "nodeType": "YulExpressionStatement", - "src": "38279:72:15" + "src": "40251:72:18" }, { "expression": { @@ -19573,19 +20349,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "38405:6:15" + "src": "40377:6:18" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38418:9:15" + "src": "40390:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38429:2:15", + "src": "40401:2:18", "type": "", "value": "64" } @@ -19593,22 +20369,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38414:3:15" + "src": "40386:3:18" }, "nodeType": "YulFunctionCall", - "src": "38414:18:15" + "src": "40386:18:18" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "38361:43:15" + "src": "40333:43:18" }, "nodeType": "YulFunctionCall", - "src": "38361:72:15" + "src": "40333:72:18" }, "nodeType": "YulExpressionStatement", - "src": "38361:72:15" + "src": "40333:72:18" }, { "expression": { @@ -19618,12 +20394,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38454:9:15" + "src": "40426:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38465:2:15", + "src": "40437:2:18", "type": "", "value": "96" } @@ -19631,73 +20407,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38450:3:15" + "src": "40422:3:18" }, "nodeType": "YulFunctionCall", - "src": "38450:18:15" + "src": "40422:18:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38474:4:15" + "src": "40446:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38480:9:15" + "src": "40452:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "38470:3:15" + "src": "40442:3:18" }, "nodeType": "YulFunctionCall", - "src": "38470:20:15" + "src": "40442:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38443:6:15" + "src": "40415:6:18" }, "nodeType": "YulFunctionCall", - "src": "38443:48:15" + "src": "40415:48:18" }, "nodeType": "YulExpressionStatement", - "src": "38443:48:15" + "src": "40415:48:18" }, { "nodeType": "YulAssignment", - "src": "38500:84:15", + "src": "40472:84:18", "value": { "arguments": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "38570:6:15" + "src": "40542:6:18" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "38579:4:15" + "src": "40551:4:18" } ], "functionName": { "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "38508:61:15" + "src": "40480:61:18" }, "nodeType": "YulFunctionCall", - "src": "38508:76:15" + "src": "40480:76:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38500:4:15" + "src": "40472:4:18" } ] } @@ -19709,31 +20485,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "38099:9:15", + "src": "40071:9:18", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "38111:6:15", + "src": "40083:6:18", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "38119:6:15", + "src": "40091:6:18", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "38127:6:15", + "src": "40099:6:18", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "38135:6:15", + "src": "40107:6:18", "type": "" } ], @@ -19741,41 +20517,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "38146:4:15", + "src": "40118:4:18", "type": "" } ], - "src": "37951:640:15" + "src": "39923:640:18" }, { "body": { "nodeType": "YulBlock", - "src": "38659:79:15", + "src": "40631:79:18", "statements": [ { "nodeType": "YulAssignment", - "src": "38669:22:15", + "src": "40641:22:18", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "38684:6:15" + "src": "40656:6:18" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "38678:5:15" + "src": "40650:5:18" }, "nodeType": "YulFunctionCall", - "src": "38678:13:15" + "src": "40650:13:18" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "38669:5:15" + "src": "40641:5:18" } ] }, @@ -19785,19 +20561,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "38726:5:15" + "src": "40698:5:18" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "38700:25:15" + "src": "40672:25:18" }, "nodeType": "YulFunctionCall", - "src": "38700:32:15" + "src": "40672:32:18" }, "nodeType": "YulExpressionStatement", - "src": "38700:32:15" + "src": "40672:32:18" } ] }, @@ -19807,13 +20583,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "38637:6:15", + "src": "40609:6:18", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "38645:3:15", + "src": "40617:3:18", "type": "" } ], @@ -19821,21 +20597,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "38653:5:15", + "src": "40625:5:18", "type": "" } ], - "src": "38597:141:15" + "src": "40569:141:18" }, { "body": { "nodeType": "YulBlock", - "src": "38820:273:15", + "src": "40792:273:18", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "38866:83:15", + "src": "40838:83:18", "statements": [ { "expression": { @@ -19843,13 +20619,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "38868:77:15" + "src": "40840:77:18" }, "nodeType": "YulFunctionCall", - "src": "38868:79:15" + "src": "40840:79:18" }, "nodeType": "YulExpressionStatement", - "src": "38868:79:15" + "src": "40840:79:18" } ] }, @@ -19860,26 +20636,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "38841:7:15" + "src": "40813:7:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38850:9:15" + "src": "40822:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "38837:3:15" + "src": "40809:3:18" }, "nodeType": "YulFunctionCall", - "src": "38837:23:15" + "src": "40809:23:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38862:2:15", + "src": "40834:2:18", "type": "", "value": "32" } @@ -19887,25 +20663,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "38833:3:15" + "src": "40805:3:18" }, "nodeType": "YulFunctionCall", - "src": "38833:32:15" + "src": "40805:32:18" }, "nodeType": "YulIf", - "src": "38830:119:15" + "src": "40802:119:18" }, { "nodeType": "YulBlock", - "src": "38959:127:15", + "src": "40931:127:18", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "38974:15:15", + "src": "40946:15:18", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "38988:1:15", + "src": "40960:1:18", "type": "", "value": "0" }, @@ -19913,14 +20689,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "38978:6:15", + "src": "40950:6:18", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "39003:73:15", + "src": "40975:73:18", "value": { "arguments": [ { @@ -19928,41 +20704,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39048:9:15" + "src": "41020:9:18" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "39059:6:15" + "src": "41031:6:18" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39044:3:15" + "src": "41016:3:18" }, "nodeType": "YulFunctionCall", - "src": "39044:22:15" + "src": "41016:22:18" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "39068:7:15" + "src": "41040:7:18" } ], "functionName": { "name": "abi_decode_t_bytes4_fromMemory", "nodeType": "YulIdentifier", - "src": "39013:30:15" + "src": "40985:30:18" }, "nodeType": "YulFunctionCall", - "src": "39013:63:15" + "src": "40985:63:18" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "39003:6:15" + "src": "40975:6:18" } ] } @@ -19976,13 +20752,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "38790:9:15", + "src": "40762:9:18", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "38801:7:15", + "src": "40773:7:18", "type": "" } ], @@ -19990,16 +20766,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "38813:6:15", + "src": "40785:6:18", "type": "" } ], - "src": "38744:349:15" + "src": "40716:349:18" }, { "body": { "nodeType": "YulBlock", - "src": "39205:76:15", + "src": "41177:134:18", "statements": [ { "expression": { @@ -20009,12 +20785,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "39227:6:15" + "src": "41199:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39235:1:15", + "src": "41207:1:18", "type": "", "value": "0" } @@ -20022,81 +20798,127 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39223:3:15" + "src": "41195:3:18" }, "nodeType": "YulFunctionCall", - "src": "39223:14:15" + "src": "41195:14:18" }, { - "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "hexValue": "455243373231456e756d657261626c653a20636f6e7365637574697665207472", "kind": "string", "nodeType": "YulLiteral", - "src": "39239:34:15", + "src": "41211:34:18", "type": "", - "value": "ERC721: mint to the zero address" + "value": "ERC721Enumerable: consecutive tr" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39216:6:15" + "src": "41188:6:18" }, "nodeType": "YulFunctionCall", - "src": "39216:58:15" + "src": "41188:58:18" }, "nodeType": "YulExpressionStatement", - "src": "39216:58:15" + "src": "41188:58:18" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41267:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41275:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41263:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41263:15:18" + }, + { + "hexValue": "616e7366657273206e6f7420737570706f72746564", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41280:23:18", + "type": "", + "value": "ansfers not supported" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41256:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "41256:48:18" + }, + "nodeType": "YulExpressionStatement", + "src": "41256:48:18" } ] }, - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "39197:6:15", + "src": "41169:6:18", "type": "" } ], - "src": "39099:182:15" + "src": "41071:240:18" }, { "body": { "nodeType": "YulBlock", - "src": "39433:220:15", + "src": "41463:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "39443:74:15", + "src": "41473:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39509:3:15" + "src": "41539:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39514:2:15", + "src": "41544:2:18", "type": "", - "value": "32" + "value": "53" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39450:58:15" + "src": "41480:58:18" }, "nodeType": "YulFunctionCall", - "src": "39450:67:15" + "src": "41480:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39443:3:15" + "src": "41473:3:18" } ] }, @@ -20106,34 +20928,95 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39615:3:15" + "src": "41645:3:18" } ], "functionName": { - "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "name": "store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314", "nodeType": "YulIdentifier", - "src": "39526:88:15" + "src": "41556:88:18" }, "nodeType": "YulFunctionCall", - "src": "39526:93:15" + "src": "41556:93:18" }, "nodeType": "YulExpressionStatement", - "src": "39526:93:15" + "src": "41556:93:18" }, { "nodeType": "YulAssignment", - "src": "39628:19:15", + "src": "41658:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39639:3:15" + "src": "41669:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39644:2:15", + "src": "41674:2:18", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41665:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41665:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41658:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41451:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41459:3:18", + "type": "" + } + ], + "src": "41317:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41860:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41870:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41882:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41893:2:18", "type": "", "value": "32" } @@ -20141,16 +21024,964 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39635:3:15" + "src": "41878:3:18" }, "nodeType": "YulFunctionCall", - "src": "39635:12:15" + "src": "41878:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41870:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41917:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41928:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41913:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41913:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41936:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41942:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41932:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "41932:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41906:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "41906:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "41906:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "41962:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42096:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41970:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "41970:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41962:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41840:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41855:4:18", + "type": "" + } + ], + "src": "41689:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42162:300:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42172:25:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42195:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42177:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "42177:20:18" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42172:1:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "42206:25:18", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42229:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42211:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "42211:20:18" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42206:1:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42404:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "42406:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "42406:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "42406:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42316:1:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "42309:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "42309:9:18" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "42302:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "42302:17:18" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42324:1:18" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42331:66:18", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42399:1:18" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "42327:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42327:74:18" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "42321:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "42321:81:18" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "42298:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42298:105:18" + }, + "nodeType": "YulIf", + "src": "42295:131:18" + }, + { + "nodeType": "YulAssignment", + "src": "42436:20:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "42451:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "42454:1:18" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "42447:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42447:9:18" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "42436:7:18" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "42145:1:18", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "42148:1:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "42154:7:18", + "type": "" + } + ], + "src": "42114:348:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42511:128:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42521:33:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42548:5:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "42530:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "42530:24:18" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42521:5:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42582:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "42584:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "42584:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "42584:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42569:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42576:4:18", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "42566:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "42566:15:18" + }, + "nodeType": "YulIf", + "src": "42563:41:18" + }, + { + "nodeType": "YulAssignment", + "src": "42613:20:18", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "42624:5:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42631:1:18", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42620:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42620:13:18" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "42613:3:18" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "42497:5:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "42507:3:18", + "type": "" + } + ], + "src": "42468:171:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42751:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42773:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42781:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42769:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "42769:14:18" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42785:34:18", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42762:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "42762:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "42762:58:18" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "42743:6:18", + "type": "" + } + ], + "src": "42645:182:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42979:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42989:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43055:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43060:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42996:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "42996:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42989:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43161:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "43072:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "43072:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "43072:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "43174:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43185:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43190:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43181:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43181:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "39628:3:15" + "src": "43174:3:18" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42967:3:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42975:3:18", + "type": "" + } + ], + "src": "42833:366:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43376:248:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43386:26:18", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43398:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43409:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43394:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43394:18:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43386:4:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43433:9:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43444:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43429:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43429:17:18" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43452:4:18" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "43458:9:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43448:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43448:20:18" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43422:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "43422:47:18" + }, + "nodeType": "YulExpressionStatement", + "src": "43422:47:18" + }, + { + "nodeType": "YulAssignment", + "src": "43478:139:18", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43612:4:18" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43486:124:18" + }, + "nodeType": "YulFunctionCall", + "src": "43486:131:18" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "43478:4:18" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "43356:9:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "43371:4:18", + "type": "" + } + ], + "src": "43205:419:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43736:76:18", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "43758:6:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43766:1:18", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43754:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "43754:14:18" + }, + { + "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43770:34:18", + "type": "", + "value": "ERC721: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43747:6:18" + }, + "nodeType": "YulFunctionCall", + "src": "43747:58:18" + }, + "nodeType": "YulExpressionStatement", + "src": "43747:58:18" + } + ] + }, + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "43728:6:18", + "type": "" + } + ], + "src": "43630:182:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43964:220:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43974:74:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44040:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44045:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43981:58:18" + }, + "nodeType": "YulFunctionCall", + "src": "43981:67:18" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43974:3:18" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44146:3:18" + } + ], + "functionName": { + "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", + "nodeType": "YulIdentifier", + "src": "44057:88:18" + }, + "nodeType": "YulFunctionCall", + "src": "44057:93:18" + }, + "nodeType": "YulExpressionStatement", + "src": "44057:93:18" + }, + { + "nodeType": "YulAssignment", + "src": "44159:19:18", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44170:3:18" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44175:2:18", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44166:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "44166:12:18" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44159:3:18" } ] } @@ -20162,7 +21993,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "39421:3:15", + "src": "43952:3:18", "type": "" } ], @@ -20170,31 +22001,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "39429:3:15", + "src": "43960:3:18", "type": "" } ], - "src": "39287:366:15" + "src": "43818:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "39830:248:15", + "src": "44361:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "39840:26:15", + "src": "44371:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39852:9:15" + "src": "44383:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39863:2:15", + "src": "44394:2:18", "type": "", "value": "32" } @@ -20202,16 +22033,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39848:3:15" + "src": "44379:3:18" }, "nodeType": "YulFunctionCall", - "src": "39848:18:15" + "src": "44379:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39840:4:15" + "src": "44371:4:18" } ] }, @@ -20223,12 +22054,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39887:9:15" + "src": "44418:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39898:1:15", + "src": "44429:1:18", "type": "", "value": "0" } @@ -20236,68 +22067,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39883:3:15" + "src": "44414:3:18" }, "nodeType": "YulFunctionCall", - "src": "39883:17:15" + "src": "44414:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39906:4:15" + "src": "44437:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39912:9:15" + "src": "44443:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "39902:3:15" + "src": "44433:3:18" }, "nodeType": "YulFunctionCall", - "src": "39902:20:15" + "src": "44433:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39876:6:15" + "src": "44407:6:18" }, "nodeType": "YulFunctionCall", - "src": "39876:47:15" + "src": "44407:47:18" }, "nodeType": "YulExpressionStatement", - "src": "39876:47:15" + "src": "44407:47:18" }, { "nodeType": "YulAssignment", - "src": "39932:139:15", + "src": "44463:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40066:4:15" + "src": "44597:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39940:124:15" + "src": "44471:124:18" }, "nodeType": "YulFunctionCall", - "src": "39940:131:15" + "src": "44471:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39932:4:15" + "src": "44463:4:18" } ] } @@ -20309,7 +22140,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "39810:9:15", + "src": "44341:9:18", "type": "" } ], @@ -20317,16 +22148,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "39825:4:15", + "src": "44356:4:18", "type": "" } ], - "src": "39659:419:15" + "src": "44190:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "40190:72:15", + "src": "44721:72:18", "statements": [ { "expression": { @@ -20336,12 +22167,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "40212:6:15" + "src": "44743:6:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40220:1:15", + "src": "44751:1:18", "type": "", "value": "0" } @@ -20349,16 +22180,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40208:3:15" + "src": "44739:3:18" }, "nodeType": "YulFunctionCall", - "src": "40208:14:15" + "src": "44739:14:18" }, { "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", "kind": "string", "nodeType": "YulLiteral", - "src": "40224:30:15", + "src": "44755:30:18", "type": "", "value": "ERC721: token already minted" } @@ -20366,13 +22197,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "40201:6:15" + "src": "44732:6:18" }, "nodeType": "YulFunctionCall", - "src": "40201:54:15" + "src": "44732:54:18" }, "nodeType": "YulExpressionStatement", - "src": "40201:54:15" + "src": "44732:54:18" } ] }, @@ -20382,31 +22213,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "40182:6:15", + "src": "44713:6:18", "type": "" } ], - "src": "40084:178:15" + "src": "44615:178:18" }, { "body": { "nodeType": "YulBlock", - "src": "40414:220:15", + "src": "44945:220:18", "statements": [ { "nodeType": "YulAssignment", - "src": "40424:74:15", + "src": "44955:74:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40490:3:15" + "src": "45021:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40495:2:15", + "src": "45026:2:18", "type": "", "value": "28" } @@ -20414,16 +22245,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40431:58:15" + "src": "44962:58:18" }, "nodeType": "YulFunctionCall", - "src": "40431:67:15" + "src": "44962:67:18" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40424:3:15" + "src": "44955:3:18" } ] }, @@ -20433,34 +22264,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40596:3:15" + "src": "45127:3:18" } ], "functionName": { "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", "nodeType": "YulIdentifier", - "src": "40507:88:15" + "src": "45038:88:18" }, "nodeType": "YulFunctionCall", - "src": "40507:93:15" + "src": "45038:93:18" }, "nodeType": "YulExpressionStatement", - "src": "40507:93:15" + "src": "45038:93:18" }, { "nodeType": "YulAssignment", - "src": "40609:19:15", + "src": "45140:19:18", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40620:3:15" + "src": "45151:3:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40625:2:15", + "src": "45156:2:18", "type": "", "value": "32" } @@ -20468,16 +22299,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40616:3:15" + "src": "45147:3:18" }, "nodeType": "YulFunctionCall", - "src": "40616:12:15" + "src": "45147:12:18" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "40609:3:15" + "src": "45140:3:18" } ] } @@ -20489,7 +22320,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "40402:3:15", + "src": "44933:3:18", "type": "" } ], @@ -20497,31 +22328,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "40410:3:15", + "src": "44941:3:18", "type": "" } ], - "src": "40268:366:15" + "src": "44799:366:18" }, { "body": { "nodeType": "YulBlock", - "src": "40811:248:15", + "src": "45342:248:18", "statements": [ { "nodeType": "YulAssignment", - "src": "40821:26:15", + "src": "45352:26:18", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40833:9:15" + "src": "45364:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40844:2:15", + "src": "45375:2:18", "type": "", "value": "32" } @@ -20529,16 +22360,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40829:3:15" + "src": "45360:3:18" }, "nodeType": "YulFunctionCall", - "src": "40829:18:15" + "src": "45360:18:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40821:4:15" + "src": "45352:4:18" } ] }, @@ -20550,12 +22381,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40868:9:15" + "src": "45399:9:18" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40879:1:15", + "src": "45410:1:18", "type": "", "value": "0" } @@ -20563,68 +22394,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40864:3:15" + "src": "45395:3:18" }, "nodeType": "YulFunctionCall", - "src": "40864:17:15" + "src": "45395:17:18" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40887:4:15" + "src": "45418:4:18" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40893:9:15" + "src": "45424:9:18" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "40883:3:15" + "src": "45414:3:18" }, "nodeType": "YulFunctionCall", - "src": "40883:20:15" + "src": "45414:20:18" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "40857:6:15" + "src": "45388:6:18" }, "nodeType": "YulFunctionCall", - "src": "40857:47:15" + "src": "45388:47:18" }, "nodeType": "YulExpressionStatement", - "src": "40857:47:15" + "src": "45388:47:18" }, { "nodeType": "YulAssignment", - "src": "40913:139:15", + "src": "45444:139:18", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "41047:4:15" + "src": "45578:4:18" } ], "functionName": { "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40921:124:15" + "src": "45452:124:18" }, "nodeType": "YulFunctionCall", - "src": "40921:131:15" + "src": "45452:131:18" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40913:4:15" + "src": "45444:4:18" } ] } @@ -20636,7 +22467,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "40791:9:15", + "src": "45322:9:18", "type": "" } ], @@ -20644,16 +22475,180 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "40806:4:15", + "src": "45337:4:18", "type": "" } ], - "src": "40640:419:15" + "src": "45171:419:18" }, { "body": { "nodeType": "YulBlock", - "src": "41093:152:15", + "src": "45641:146:18", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "45651:25:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45674:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45656:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "45656:20:18" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45651:1:18" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "45685:25:18", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45708:1:18" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "45690:17:18" + }, + "nodeType": "YulFunctionCall", + "src": "45690:20:18" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45685:1:18" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45732:22:18", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "45734:16:18" + }, + "nodeType": "YulFunctionCall", + "src": "45734:18:18" + }, + "nodeType": "YulExpressionStatement", + "src": "45734:18:18" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45726:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45729:1:18" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "45723:2:18" + }, + "nodeType": "YulFunctionCall", + "src": "45723:8:18" + }, + "nodeType": "YulIf", + "src": "45720:34:18" + }, + { + "nodeType": "YulAssignment", + "src": "45764:17:18", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "45776:1:18" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "45779:1:18" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "45772:3:18" + }, + "nodeType": "YulFunctionCall", + "src": "45772:9:18" + }, + "variableNames": [ + { + "name": "diff", + "nodeType": "YulIdentifier", + "src": "45764:4:18" + } + ] + } + ] + }, + "name": "checked_sub_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "45627:1:18", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "45630:1:18", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nodeType": "YulTypedName", + "src": "45636:4:18", + "type": "" + } + ], + "src": "45596:191:18" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "45821:152:18", "statements": [ { "expression": { @@ -20661,14 +22656,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "41110:1:15", + "src": "45838:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41113:77:15", + "src": "45841:77:18", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -20676,13 +22671,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "41103:6:15" + "src": "45831:6:18" }, "nodeType": "YulFunctionCall", - "src": "41103:88:15" + "src": "45831:88:18" }, "nodeType": "YulExpressionStatement", - "src": "41103:88:15" + "src": "45831:88:18" }, { "expression": { @@ -20690,14 +22685,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "41207:1:15", + "src": "45935:1:18", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41210:4:15", + "src": "45938:4:18", "type": "", "value": "0x31" } @@ -20705,13 +22700,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "41200:6:15" + "src": "45928:6:18" }, "nodeType": "YulFunctionCall", - "src": "41200:15:15" + "src": "45928:15:18" }, "nodeType": "YulExpressionStatement", - "src": "41200:15:15" + "src": "45928:15:18" }, { "expression": { @@ -20719,14 +22714,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "41231:1:15", + "src": "45959:1:18", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41234:4:15", + "src": "45962:4:18", "type": "", "value": "0x24" } @@ -20734,128 +22729,149 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "41224:6:15" + "src": "45952:6:18" }, "nodeType": "YulFunctionCall", - "src": "41224:15:15" + "src": "45952:15:18" }, "nodeType": "YulExpressionStatement", - "src": "41224:15:15" + "src": "45952:15:18" } ] }, "name": "panic_error_0x31", "nodeType": "YulFunctionDefinition", - "src": "41065:180:15" + "src": "45793:180:18" } ] }, - "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\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 abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\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 abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\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_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_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_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 revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n // string\n function abi_decode_t_string_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x01)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_string_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_string_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approved query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d__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_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__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_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not ow\")\n\n mstore(add(memPtr, 32), \"ner nor approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 56)\n store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d__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_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer caller is not o\")\n\n mstore(add(memPtr, 32), \"wner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 49)\n store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2__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_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\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 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_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 store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not owner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d__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_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: owner query for nonexist\")\n\n mstore(add(memPtr, 32), \"ent token\")\n\n }\n\n function abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397__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_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot mint to zero address\")\n\n }\n\n function abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__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_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_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 store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Exceed the total supply\")\n\n }\n\n function abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__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_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: balance query for the ze\")\n\n mstore(add(memPtr, 32), \"ro address\")\n\n }\n\n function abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 42)\n store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba__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_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: operator query for nonex\")\n\n mstore(add(memPtr, 32), \"istent token\")\n\n }\n\n function abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c__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_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__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_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__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_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\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 store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\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_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 store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\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 store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__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_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6(memPtr) {\n\n mstore(add(memPtr, 0), \"Token not transferable\")\n\n }\n\n function abi_encode_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6__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_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack( tail)\n\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 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 store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\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_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_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_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_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__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_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__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_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", - "id": 15, + "contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\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 abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function copy_memory_to_memory(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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\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 abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\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_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_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_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 array_length_t_array$_t_uint256_$dyn_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> data {\n data := ptr\n\n data := add(ptr, 0x20)\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n // uint256[] -> uint256[]\n function abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_array$_t_uint256_$dyn_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$dyn_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$dyn_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$dyn_memory_ptr(srcPtr)\n }\n end := pos\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value0, tail)\n\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_addresst_bool(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() {\n revert(0, 0)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256t_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value3 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approval to current owne\")\n\n mstore(add(memPtr, 32), \"r\")\n\n }\n\n function abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 33)\n store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942__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_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve caller is not to\")\n\n mstore(add(memPtr, 32), \"ken owner or approved for all\")\n\n }\n\n function abi_encode_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 61)\n store_literal_in_memory_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83__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_c6e14a63ffb144eeef7cce6988e5dce07c60a7e0a7b1ef25dbe18c61483e0a83_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: caller is not token owne\")\n\n mstore(add(memPtr, 32), \"r or approved\")\n\n }\n\n function abi_encode_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af__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_12a8e5623d251e191fe4a291d9a59bcc01a4db7a1f5c20fc8de44358c18308af_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: owner index ou\")\n\n mstore(add(memPtr, 32), \"t of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 43)\n store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c__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_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack( tail)\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 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_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 store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d(memPtr) {\n\n mstore(add(memPtr, 0), \"Caller is not owner nor approved\")\n\n }\n\n function abi_encode_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d__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_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too small\")\n\n }\n\n function abi_encode_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a__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_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(memPtr) {\n\n mstore(add(memPtr, 0), \"tokenIds too many\")\n\n }\n\n function abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef__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_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_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 store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(memPtr) {\n\n mstore(add(memPtr, 0), \"Exceed the total supply\")\n\n }\n\n function abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 23)\n store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1__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_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: global index o\")\n\n mstore(add(memPtr, 32), \"ut of bounds\")\n\n }\n\n function abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 44)\n store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc__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_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: invalid token ID\")\n\n }\n\n function abi_encode_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f__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_b08d2b0fec7cc108ab049809a8beb42779d969a49299d0c317c907d9db22974f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot mint to zero address\")\n\n }\n\n function abi_encode_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9__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_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: address zero is not a va\")\n\n mstore(add(memPtr, 32), \"lid owner\")\n\n }\n\n function abi_encode_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 41)\n store_literal_in_memory_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159__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_6d05c90094f31cfeb8f0eb86f0a513af3f7f8992991fbde41b08aa7960677159_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730(memPtr) {\n\n mstore(add(memPtr, 0), \"URI query for nonexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730__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_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\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 abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer from incorrect \")\n\n mstore(add(memPtr, 32), \"owner\")\n\n }\n\n function abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48__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_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4__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_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: approve to caller\")\n\n }\n\n function abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__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_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: transfer to non ERC721Re\")\n\n mstore(add(memPtr, 32), \"ceiver implementer\")\n\n }\n\n function abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__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_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6(memPtr) {\n\n mstore(add(memPtr, 0), \"Token not transferable\")\n\n }\n\n function abi_encode_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6__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_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\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_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 store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\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 array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_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_tuple_t_address_t_address_t_uint256_t_bytes_memory_ptr__to_t_address_t_address_t_uint256_t_bytes_memory_ptr__fromStack_reversed(headStart , value3, value2, value1, value0) -> tail {\n tail := add(headStart, 128)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n mstore(add(headStart, 96), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value3, tail)\n\n }\n\n function abi_decode_t_bytes4_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_tuple_t_bytes4_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Enumerable: consecutive tr\")\n\n mstore(add(memPtr, 32), \"ansfers not supported\")\n\n }\n\n function abi_encode_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 53)\n store_literal_in_memory_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314__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_da49291af84b6a1e37ed9eacd9a67360593e4a0e561cb261a6a738f621783314_to_t_string_memory_ptr_fromStack( tail)\n\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 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 store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\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_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 store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: mint to the zero address\")\n\n }\n\n function abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6__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_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721: token already minted\")\n\n }\n\n function abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57__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_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function panic_error_0x31() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x31)\n revert(0, 0x24)\n }\n\n}\n", + "id": 18, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "249:2959:14:-:0;;;343:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;633:383;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;733:5;740:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;769:11:14::1;755:25;;;;::::0;::::1;786:44;455:22;2072:4:0;811:18:14::0;::::1;786:13;;;:44;;:::i;:::-;836:46;519:24;2072:4:0;863:18:14::0;::::1;836:13;;;:46;;:::i;:::-;889:42;2072:4:0;900:18:14::0;::::1;920:10;889;;;:42;;:::i;:::-;937:35;519:24;961:10;937;;;:35;;:::i;:::-;978:33;455:22;1000:10;978;;;:33;;:::i;:::-;633:383:::0;;;249:2959;;6492:247:0;6575:25;6603:18;6616:4;6603:12;;;:18;;:::i;:::-;6575:46;;6656:9;6631:6;:12;6638:4;6631:12;;;;;;;;;;;:22;;:34;;;;6722:9;6703:17;6697:4;6680:52;;;;;;;;;;6565:174;6492:247;;:::o;6257:110::-;6335:25;6346:4;6352:7;6335:10;;;:25;;:::i;:::-;6257:110;;:::o;4008:129::-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::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;2909:145::-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;249:2959:14:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:15:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:77::-;2762:7;2791:5;2780:16;;2725:77;;;:::o;2808:122::-;2881:24;2899:5;2881:24;:::i;:::-;2874:5;2871:35;2861:63;;2920:1;2917;2910:12;2861:63;2808:122;:::o;2936:143::-;2993:5;3024:6;3018:13;3009:22;;3040:33;3067:5;3040:33;:::i;:::-;2936:143;;;;:::o;3085:1009::-;3193:6;3201;3209;3258:2;3246:9;3237:7;3233:23;3229:32;3226:119;;;3264:79;;:::i;:::-;3226:119;3405:1;3394:9;3390:17;3384:24;3435:18;3427:6;3424:30;3421:117;;;3457:79;;:::i;:::-;3421:117;3562:74;3628:7;3619:6;3608:9;3604:22;3562:74;:::i;:::-;3552:84;;3355:291;3706:2;3695:9;3691:18;3685:25;3737:18;3729:6;3726:30;3723:117;;;3759:79;;:::i;:::-;3723:117;3864:74;3930:7;3921:6;3910:9;3906:22;3864:74;:::i;:::-;3854:84;;3656:292;3987:2;4013:64;4069:7;4060:6;4049:9;4045:22;4013:64;:::i;:::-;4003:74;;3958:129;3085:1009;;;;;:::o;4100:180::-;4148:77;4145:1;4138:88;4245:4;4242:1;4235:15;4269:4;4266:1;4259:15;4286:320;4330:6;4367:1;4361:4;4357:12;4347:22;;4414:1;4408:4;4404:12;4435:18;4425:81;;4491:4;4483:6;4479:17;4469:27;;4425:81;4553:2;4545:6;4542:14;4522:18;4519:38;4516:84;;;4572:18;;:::i;:::-;4516:84;4337:269;4286:320;;;:::o;249:2959:14:-;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "249:2959:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1075:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3537:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1615:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;547:36:14;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2858:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4726:330:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1291:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2994:77:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:179:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2477:195:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1798:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2725:79:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2191:235:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2090:383:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:205:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1697:138:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2650:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3125:81:14;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5367:320;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;419:58:14;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1892:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;481:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4502:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1075:208:14;1221:4;1242:36;1266:11;1242:23;:36::i;:::-;1235:43;;1075:208;;;:::o;2488:98:2:-;2542:13;2574:5;2567:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2488:98;:::o;3999:217::-;4075:7;4102:16;4110:7;4102;:16::i;:::-;4094:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4185:15;:24;4201:7;4185:24;;;;;;;;;;;;;;;;;;;;;4178:31;;3999:217;;;:::o;3537:401::-;3617:13;3633:23;3648:7;3633:14;:23::i;:::-;3617:39;;3680:5;3674:11;;:2;:11;;;;3666:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3771:5;3755:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3780:37;3797:5;3804:12;:10;:12::i;:::-;3780:16;:37::i;:::-;3755:62;3734:165;;;;;;;;;;;;:::i;:::-;;;;;;;;;3910:21;3919:2;3923:7;3910:8;:21::i;:::-;3607:331;3537:401;;:::o;1615:111:5:-;1676:7;1702:10;:17;;;;1695:24;;1615:111;:::o;547:36:14:-;;;:::o;2858:83::-;2909:27;519:24;2933:2;2909:10;:27::i;:::-;2858:83;:::o;4726:330:2:-;4915:41;4934:12;:10;:12::i;:::-;4948:7;4915:18;:41::i;:::-;4907:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5021:28;5031:4;5037:2;5041:7;5021:9;:28::i;:::-;4726:330;;;:::o;4008:129:0:-;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;1291:253:5:-;1388:7;1423:23;1440:5;1423:16;:23::i;:::-;1415:5;:31;1407:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1511:12;:19;1524:5;1511:19;;;;;;;;;;;;;;;:26;1531:5;1511:26;;;;;;;;;;;;1504:33;;1291:253;;;;:::o;2994:77:14:-;3042:24;455:22;3063:2;3042:9;:24::i;:::-;2994:77;:::o;5404:214:0:-;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;5122:179:2:-;5255:39;5272:4;5278:2;5282:7;5255:39;;;;;;;;;;;;:16;:39::i;:::-;5122:179;;;:::o;2477:195:14:-;455:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;2558:41:14::1;2577:12;:10;:12::i;:::-;2591:7;2558:18;:41::i;:::-;2543:104;;;;;;;;;;;;:::i;:::-;;;;;;;;;2653:14;2659:7;2653:5;:14::i;:::-;2477:195:::0;;:::o;1798:230:5:-;1873:7;1908:30;:28;:30::i;:::-;1900:5;:38;1892:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2004:10;2015:5;2004:17;;;;;;;;:::i;:::-;;;;;;;;;;1997:24;;1798:230;;;:::o;2725:79:14:-;2773:26;519:24;2796:2;2773:9;:26::i;:::-;2725:79;:::o;2191:235:2:-;2263:7;2282:13;2298:7;:16;2306:7;2298:16;;;;;;;;;;;;;;;;;;;;;2282:32;;2349:1;2332:19;;:5;:19;;;;2324:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2414:5;2407:12;;;2191:235;;;:::o;2090:383:14:-;2156:7;519:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;2193:1:14::1;2179:16;;:2;:16;;;;2171:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2251:1;2237:11;:15;2233:106;;;2293:11;2287:1;2271:13;:11;:13::i;:::-;:17;;;;:::i;:::-;2270:34;;2262:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;2233:106;2344:27;:15;:25;:27::i;:::-;2377:15;2395:25;:15;:23;:25::i;:::-;2377:43;;2426:22;2436:2;2440:7;2426:9;:22::i;:::-;2461:7;2454:14;;;2090:383:::0;;;;:::o;1929:205:2:-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2111:9;:16;2121:5;2111:16;;;;;;;;;;;;;;;;2104:23;;1929:205;;;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;1697:138:14:-;2072:4:0;1776:18:14;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1818:12:14::1;;1802:13;:28;;;;;;;:::i;:::-;;1697:138:::0;;;:::o;2650:102:2:-;2706:13;2738:7;2731:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:102;:::o;3125:81:14:-;3176:25;455:22;3198:2;3176:10;:25::i;:::-;3125:81;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;4283:153:2:-;4377:52;4396:12;:10;:12::i;:::-;4410:8;4420;4377:18;:52::i;:::-;4283:153;;:::o;5367:320::-;5536:41;5555:12;:10;:12::i;:::-;5569:7;5536:18;:41::i;:::-;5528:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;5641:39;5655:4;5661:2;5665:7;5674:5;5641:13;:39::i;:::-;5367:320;;;;:::o;419:58:14:-;455:22;419:58;:::o;1892:194::-;1973:13;1994:21;2018:10;:8;:10::i;:::-;1994:34;;2065:1;2047:7;2041:21;:25;:40;;;;;;;;;;;;;;;;;2069:7;2041:40;2034:47;;;1892:194;;;:::o;481:62::-;519:24;481:62;:::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;4502:162:2:-;4599:4;4622:18;:25;4641:5;4622:25;;;;;;;;;;;;;;;:35;4648:8;4622:35;;;;;;;;;;;;;;;;;;;;;;;;;4615:42;;4502:162;;;;:::o;990:222:5:-;1092:4;1130:35;1115:50;;;:11;:50;;;;:90;;;;1169:36;1193:11;1169:23;:36::i;:::-;1115:90;1108:97;;990:222;;;:::o;7159:125:2:-;7224:4;7275:1;7247:30;;:7;:16;7255:7;7247:16;;;;;;;;;;;;;;;;;;;;;:30;;;;7240:37;;7159:125;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;11168:171:2:-;11269:2;11242:15;:24;11258:7;11242:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;11324:7;11320:2;11286:46;;11295:23;11310:7;11295:14;:23::i;:::-;11286:46;;;;;;;;;;;;11168:171;;:::o;7442:344::-;7535:4;7559:16;7567:7;7559;:16::i;:::-;7551:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;7634:13;7650:23;7665:7;7650:14;:23::i;:::-;7634:39;;7702:5;7691:16;;:7;:16;;;:51;;;;7735:7;7711:31;;:20;7723:7;7711:11;:20::i;:::-;:31;;;7691:51;:87;;;;7746:32;7763:5;7770:7;7746:16;:32::i;:::-;7691:87;7683:96;;;7442:344;;;;:::o;10452:605::-;10606:4;10579:31;;:23;10594:7;10579:14;:23::i;:::-;:31;;;10571:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;10684:1;10670:16;;:2;:16;;;;10662:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;10738:39;10759:4;10765:2;10769:7;10738:20;:39::i;:::-;10839:29;10856:1;10860:7;10839:8;:29::i;:::-;10898:1;10879:9;:15;10889:4;10879:15;;;;;;;;;;;;;;;;:20;;;;;;;:::i;:::-;;;;;;;;10926:1;10909:9;:13;10919:2;10909:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;10956:2;10937:7;:16;10945:7;10937:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;10993:7;10989:2;10974:27;;10983:4;10974:27;;;;;;;;;;;;11012:38;11032:4;11038:2;11042:7;11012:19;:38::i;:::-;10452:605;;;:::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;9722:406:2:-;9781:13;9797:23;9812:7;9797:14;:23::i;:::-;9781:39;;9831:48;9852:5;9867:1;9871:7;9831:20;:48::i;:::-;9917:29;9934:1;9938:7;9917:8;:29::i;:::-;9977:1;9957:9;:16;9967:5;9957:16;;;;;;;;;;;;;;;;:21;;;;;;;:::i;:::-;;;;;;;;9995:7;:16;10003:7;9995:16;;;;;;;;;;;;9988:23;;;;;;;;;;;10055:7;10051:1;10027:36;;10036:5;10027:36;;;;;;;;;;;;10074:47;10094:5;10109:1;10113:7;10074:19;:47::i;:::-;9771:357;9722:406;:::o;945:123:10:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;827:112::-;892:7;918;:14;;;911:21;;827:112;;;:::o;8116:108:2:-;8191:26;8201:2;8205:7;8191:26;;;;;;;;;;;;:9;:26::i;:::-;8116:108;;:::o;11474:307::-;11624:8;11615:17;;:5;:17;;;;11607:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;11710:8;11672:18;:25;11691:5;11672:25;;;;;;;;;;;;;;;:35;11698:8;11672:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;11755:8;11733:41;;11748:5;11733:41;;;11765:8;11733:41;;;;;;:::i;:::-;;;;;;;;11474:307;;;:::o;6549:::-;6700:28;6710:4;6716:2;6720:7;6700:9;:28::i;:::-;6746:48;6769:4;6775:2;6779:7;6788:5;6746:22;:48::i;:::-;6738:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;6549:307;;;;:::o;1551:106:14:-;1611:13;1639;1632:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1551:106;:::o;1570:300:2:-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;1287:260:14:-;1442:1;1426:18;;:4;:18;;;:38;;;;1462:1;1448:16;;:2;:16;;;1426:38;1418:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1497:45;1524:4;1530:2;1534:7;1497:26;:45::i;:::-;1287:260;;;:::o;14162:121:2:-;;;;:::o;1588:441:11:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;:::i;:::-;;;;;: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;;;;;;;:::i;:::-;;;;;1854:6;1861:1;1854:9;;;;;;;;:::i;:::-;;;;;: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;8445:311:2:-;8570:18;8576:2;8580:7;8570:5;:18::i;:::-;8619:54;8650:1;8654:2;8658:7;8667:5;8619:22;:54::i;:::-;8598:151;;;;;;;;;;;;:::i;:::-;;;;;;;;;8445:311;;;:::o;12334:778::-;12484:4;12504:15;:2;:13;;;:15::i;:::-;12500:606;;;12555:2;12539:36;;;12576:12;:10;:12::i;:::-;12590:4;12596:7;12605:5;12539:72;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;12535:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12795:1;12778:6;:13;:18;12774:266;;;12820:60;;;;;;;;;;:::i;:::-;;;;;;;;12774:266;12992:6;12986:13;12977:6;12973:2;12969:15;12962:38;12535:519;12671:41;;;12661:51;;;:6;:51;;;;12654:58;;;;;12500:606;13091:4;13084:11;;12334:778;;;;;;;:::o;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;2624:572:5:-;2763:45;2790:4;2796:2;2800:7;2763:26;:45::i;:::-;2839:1;2823:18;;:4;:18;;;2819:183;;;2857:40;2889:7;2857:31;:40::i;:::-;2819:183;;;2926:2;2918:10;;:4;:10;;;2914:88;;2944:47;2977:4;2983:7;2944:32;:47::i;:::-;2914:88;2819:183;3029:1;3015:16;;:2;:16;;;3011:179;;;3047:45;3084:7;3047:36;:45::i;:::-;3011:179;;;3119:4;3113:10;;:2;:10;;;3109:81;;3139:40;3167:2;3171:7;3139:27;:40::i;:::-;3109:81;3011:179;2624:572;;;:::o;9078:427:2:-;9171:1;9157:16;;:2;:16;;;;9149:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9229:16;9237:7;9229;:16::i;:::-;9228:17;9220:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9289:45;9318:1;9322:2;9326:7;9289:20;:45::i;:::-;9362:1;9345:9;:13;9355:2;9345:13;;;;;;;;;;;;;;;;:18;;;;;;;:::i;:::-;;;;;;;;9392:2;9373:7;:16;9381:7;9373:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9435:7;9431:2;9410:33;;9427:1;9410:33;;;;;;;;;;;;9454:44;9482:1;9486:2;9490:7;9454:19;:44::i;:::-;9078:427;;:::o;1175:320:8:-;1235:4;1487:1;1465:7;:19;;;:23;1458:30;;1175:320;;;:::o;829:155:12:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;13668:122:2:-;;;;:::o;3902:161:5:-;4005:10;:17;;;;3978:15;:24;3994:7;3978:24;;;;;;;;;;;:44;;;;4032:10;4048:7;4032:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3902:161;:::o;4680:970::-;4942:22;4992:1;4967:22;4984:4;4967:16;:22::i;:::-;:26;;;;:::i;:::-;4942:51;;5003:18;5024:17;:26;5042:7;5024:26;;;;;;;;;;;;5003:47;;5168:14;5154:10;:28;5150:323;;5198:19;5220:12;:18;5233:4;5220:18;;;;;;;;;;;;;;;:34;5239:14;5220:34;;;;;;;;;;;;5198:56;;5302:11;5269:12;:18;5282:4;5269:18;;;;;;;;;;;;;;;:30;5288:10;5269:30;;;;;;;;;;;:44;;;;5418:10;5385:17;:30;5403:11;5385:30;;;;;;;;;;;:43;;;;5184:289;5150:323;5566:17;:26;5584:7;5566:26;;;;;;;;;;;5559:33;;;5609:12;:18;5622:4;5609:18;;;;;;;;;;;;;;;:34;5628:14;5609:34;;;;;;;;;;;5602:41;;;4761:889;;4680:970;;:::o;5938:1061::-;6187:22;6232:1;6212:10;:17;;;;:21;;;;:::i;:::-;6187:46;;6243:18;6264:15;:24;6280:7;6264:24;;;;;;;;;;;;6243:45;;6610:19;6632:10;6643:14;6632:26;;;;;;;;:::i;:::-;;;;;;;;;;6610:48;;6694:11;6669:10;6680;6669:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6804:10;6773:15;:28;6789:11;6773:28;;;;;;;;;;;:41;;;;6942:15;:24;6958:7;6942:24;;;;;;;;;;;6935:31;;;6976:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6009:990;;;5938:1061;:::o;3490:217::-;3574:14;3591:20;3608:2;3591:16;:20::i;:::-;3574:37;;3648:7;3621:12;:16;3634:2;3621:16;;;;;;;;;;;;;;;:24;3638:6;3621:24;;;;;;;;;;;:34;;;;3694:6;3665:17;:26;3683:7;3665:26;;;;;;;;;;;:35;;;;3564:143;3490:217;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:15:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:329::-;5349:6;5398:2;5386:9;5377:7;5373:23;5369:32;5366:119;;;5404:79;;:::i;:::-;5366:119;5524:1;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5495:117;5290:329;;;;:::o;5625:619::-;5702:6;5710;5718;5767:2;5755:9;5746:7;5742:23;5738:32;5735:119;;;5773:79;;:::i;:::-;5735:119;5893:1;5918:53;5963:7;5954:6;5943:9;5939:22;5918:53;:::i;:::-;5908:63;;5864:117;6020:2;6046:53;6091:7;6082:6;6071:9;6067:22;6046:53;:::i;:::-;6036:63;;5991:118;6148:2;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6119:118;5625:619;;;;;:::o;6250:77::-;6287:7;6316:5;6305:16;;6250:77;;;:::o;6333:122::-;6406:24;6424:5;6406:24;:::i;:::-;6399:5;6396:35;6386:63;;6445:1;6442;6435:12;6386:63;6333:122;:::o;6461:139::-;6507:5;6545:6;6532:20;6523:29;;6561:33;6588:5;6561:33;:::i;:::-;6461:139;;;;:::o;6606:329::-;6665:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:119;;;6720:79;;:::i;:::-;6682:119;6840:1;6865:53;6910:7;6901:6;6890:9;6886:22;6865:53;:::i;:::-;6855:63;;6811:117;6606:329;;;;:::o;6941:118::-;7028:24;7046:5;7028:24;:::i;:::-;7023:3;7016:37;6941:118;;:::o;7065:222::-;7158:4;7196:2;7185:9;7181:18;7173:26;;7209:71;7277:1;7266:9;7262:17;7253:6;7209:71;:::i;:::-;7065:222;;;;:::o;7293:474::-;7361:6;7369;7418:2;7406:9;7397:7;7393:23;7389:32;7386:119;;;7424:79;;:::i;:::-;7386:119;7544:1;7569:53;7614:7;7605:6;7594:9;7590:22;7569:53;:::i;:::-;7559:63;;7515:117;7671:2;7697:53;7742:7;7733:6;7722:9;7718:22;7697:53;:::i;:::-;7687:63;;7642:118;7293:474;;;;;:::o;7773:117::-;7882:1;7879;7872:12;7896:117;8005:1;8002;7995:12;8019:117;8128:1;8125;8118:12;8156:553;8214:8;8224:6;8274:3;8267:4;8259:6;8255:17;8251:27;8241:122;;8282:79;;:::i;:::-;8241:122;8395:6;8382:20;8372:30;;8425:18;8417:6;8414:30;8411:117;;;8447:79;;:::i;:::-;8411:117;8561:4;8553:6;8549:17;8537:29;;8615:3;8607:4;8599:6;8595:17;8585:8;8581:32;8578:41;8575:128;;;8622:79;;:::i;:::-;8575:128;8156:553;;;;;:::o;8715:529::-;8786:6;8794;8843:2;8831:9;8822:7;8818:23;8814:32;8811:119;;;8849:79;;:::i;:::-;8811:119;8997:1;8986:9;8982:17;8969:31;9027:18;9019:6;9016:30;9013:117;;;9049:79;;:::i;:::-;9013:117;9162:65;9219:7;9210:6;9199:9;9195:22;9162:65;:::i;:::-;9144:83;;;;8940:297;8715:529;;;;;:::o;9250:116::-;9320:21;9335:5;9320:21;:::i;:::-;9313:5;9310:32;9300:60;;9356:1;9353;9346:12;9300:60;9250:116;:::o;9372:133::-;9415:5;9453:6;9440:20;9431:29;;9469:30;9493:5;9469:30;:::i;:::-;9372:133;;;;:::o;9511:468::-;9576:6;9584;9633:2;9621:9;9612:7;9608:23;9604:32;9601:119;;;9639:79;;:::i;:::-;9601:119;9759:1;9784:53;9829:7;9820:6;9809:9;9805:22;9784:53;:::i;:::-;9774:63;;9730:117;9886:2;9912:50;9954:7;9945:6;9934:9;9930:22;9912:50;:::i;:::-;9902:60;;9857:115;9511:468;;;;;:::o;9985:117::-;10094:1;10091;10084:12;10108:180;10156:77;10153:1;10146:88;10253:4;10250:1;10243:15;10277:4;10274:1;10267:15;10294:281;10377:27;10399:4;10377:27;:::i;:::-;10369:6;10365:40;10507:6;10495:10;10492:22;10471:18;10459:10;10456:34;10453:62;10450:88;;;10518:18;;:::i;:::-;10450:88;10558:10;10554:2;10547:22;10337:238;10294:281;;:::o;10581:129::-;10615:6;10642:20;;:::i;:::-;10632:30;;10671:33;10699:4;10691:6;10671:33;:::i;:::-;10581:129;;;:::o;10716:307::-;10777:4;10867:18;10859:6;10856:30;10853:56;;;10889:18;;:::i;:::-;10853:56;10927:29;10949:6;10927:29;:::i;:::-;10919:37;;11011:4;11005;11001:15;10993:23;;10716:307;;;:::o;11029:154::-;11113:6;11108:3;11103;11090:30;11175:1;11166:6;11161:3;11157:16;11150:27;11029:154;;;:::o;11189:410::-;11266:5;11291:65;11307:48;11348:6;11307:48;:::i;:::-;11291:65;:::i;:::-;11282:74;;11379:6;11372:5;11365:21;11417:4;11410:5;11406:16;11455:3;11446:6;11441:3;11437:16;11434:25;11431:112;;;11462:79;;:::i;:::-;11431:112;11552:41;11586:6;11581:3;11576;11552:41;:::i;:::-;11272:327;11189:410;;;;;:::o;11618:338::-;11673:5;11722:3;11715:4;11707:6;11703:17;11699:27;11689:122;;11730:79;;:::i;:::-;11689:122;11847:6;11834:20;11872:78;11946:3;11938:6;11931:4;11923:6;11919:17;11872:78;:::i;:::-;11863:87;;11679:277;11618:338;;;;:::o;11962:943::-;12057:6;12065;12073;12081;12130:3;12118:9;12109:7;12105:23;12101:33;12098:120;;;12137:79;;:::i;:::-;12098:120;12257:1;12282:53;12327:7;12318:6;12307:9;12303:22;12282:53;:::i;:::-;12272:63;;12228:117;12384:2;12410:53;12455:7;12446:6;12435:9;12431:22;12410:53;:::i;:::-;12400:63;;12355:118;12512:2;12538:53;12583:7;12574:6;12563:9;12559:22;12538:53;:::i;:::-;12528:63;;12483:118;12668:2;12657:9;12653:18;12640:32;12699:18;12691:6;12688:30;12685:117;;;12721:79;;:::i;:::-;12685:117;12826:62;12880:7;12871:6;12860:9;12856:22;12826:62;:::i;:::-;12816:72;;12611:287;11962:943;;;;;;;:::o;12911:474::-;12979:6;12987;13036:2;13024:9;13015:7;13011:23;13007:32;13004:119;;;13042:79;;:::i;:::-;13004:119;13162:1;13187:53;13232:7;13223:6;13212:9;13208:22;13187:53;:::i;:::-;13177:63;;13133:117;13289:2;13315:53;13360:7;13351:6;13340:9;13336:22;13315:53;:::i;:::-;13305:63;;13260:118;12911:474;;;;;:::o;13391:180::-;13439:77;13436:1;13429:88;13536:4;13533:1;13526:15;13560:4;13557:1;13550:15;13577:320;13621:6;13658:1;13652:4;13648:12;13638:22;;13705:1;13699:4;13695:12;13726:18;13716:81;;13782:4;13774:6;13770:17;13760:27;;13716:81;13844:2;13836:6;13833:14;13813:18;13810:38;13807:84;;;13863:18;;:::i;:::-;13807:84;13628:269;13577:320;;;:::o;13903:231::-;14043:34;14039:1;14031:6;14027:14;14020:58;14112:14;14107:2;14099:6;14095:15;14088:39;13903:231;:::o;14140:366::-;14282:3;14303:67;14367:2;14362:3;14303:67;:::i;:::-;14296:74;;14379:93;14468:3;14379:93;:::i;:::-;14497:2;14492:3;14488:12;14481:19;;14140:366;;;:::o;14512:419::-;14678:4;14716:2;14705:9;14701:18;14693:26;;14765:9;14759:4;14755:20;14751:1;14740:9;14736:17;14729:47;14793:131;14919:4;14793:131;:::i;:::-;14785:139;;14512:419;;;:::o;14937:220::-;15077:34;15073:1;15065:6;15061:14;15054:58;15146:3;15141:2;15133:6;15129:15;15122:28;14937:220;:::o;15163:366::-;15305:3;15326:67;15390:2;15385:3;15326:67;:::i;:::-;15319:74;;15402:93;15491:3;15402:93;:::i;:::-;15520:2;15515:3;15511:12;15504:19;;15163:366;;;:::o;15535:419::-;15701:4;15739:2;15728:9;15724:18;15716:26;;15788:9;15782:4;15778:20;15774:1;15763:9;15759:17;15752:47;15816:131;15942:4;15816:131;:::i;:::-;15808:139;;15535:419;;;:::o;15960:243::-;16100:34;16096:1;16088:6;16084:14;16077:58;16169:26;16164:2;16156:6;16152:15;16145:51;15960:243;:::o;16209:366::-;16351:3;16372:67;16436:2;16431:3;16372:67;:::i;:::-;16365:74;;16448:93;16537:3;16448:93;:::i;:::-;16566:2;16561:3;16557:12;16550:19;;16209:366;;;:::o;16581:419::-;16747:4;16785:2;16774:9;16770:18;16762:26;;16834:9;16828:4;16824:20;16820:1;16809:9;16805:17;16798:47;16862:131;16988:4;16862:131;:::i;:::-;16854:139;;16581:419;;;:::o;17006:236::-;17146:34;17142:1;17134:6;17130:14;17123:58;17215:19;17210:2;17202:6;17198:15;17191:44;17006:236;:::o;17248:366::-;17390:3;17411:67;17475:2;17470:3;17411:67;:::i;:::-;17404:74;;17487:93;17576:3;17487:93;:::i;:::-;17605:2;17600:3;17596:12;17589:19;;17248:366;;;:::o;17620:419::-;17786:4;17824:2;17813:9;17809:18;17801:26;;17873:9;17867:4;17863:20;17859:1;17848:9;17844:17;17837:47;17901:131;18027:4;17901:131;:::i;:::-;17893:139;;17620:419;;;:::o;18045:230::-;18185:34;18181:1;18173:6;18169:14;18162:58;18254:13;18249:2;18241:6;18237:15;18230:38;18045:230;:::o;18281:366::-;18423:3;18444:67;18508:2;18503:3;18444:67;:::i;:::-;18437:74;;18520:93;18609:3;18520:93;:::i;:::-;18638:2;18633:3;18629:12;18622:19;;18281:366;;;:::o;18653:419::-;18819:4;18857:2;18846:9;18842:18;18834:26;;18906:9;18900:4;18896:20;18892:1;18881:9;18877:17;18870:47;18934:131;19060:4;18934:131;:::i;:::-;18926:139;;18653:419;;;:::o;19078:234::-;19218:34;19214:1;19206:6;19202:14;19195:58;19287:17;19282:2;19274:6;19270:15;19263:42;19078:234;:::o;19318:366::-;19460:3;19481:67;19545:2;19540:3;19481:67;:::i;:::-;19474:74;;19557:93;19646:3;19557:93;:::i;:::-;19675:2;19670:3;19666:12;19659:19;;19318:366;;;:::o;19690:419::-;19856:4;19894:2;19883:9;19879:18;19871:26;;19943:9;19937:4;19933:20;19929:1;19918:9;19914:17;19907:47;19971:131;20097:4;19971:131;:::i;:::-;19963:139;;19690:419;;;:::o;20115:182::-;20255:34;20251:1;20243:6;20239:14;20232:58;20115:182;:::o;20303:366::-;20445:3;20466:67;20530:2;20525:3;20466:67;:::i;:::-;20459:74;;20542:93;20631:3;20542:93;:::i;:::-;20660:2;20655:3;20651:12;20644:19;;20303:366;;;:::o;20675:419::-;20841:4;20879:2;20868:9;20864:18;20856:26;;20928:9;20922:4;20918:20;20914:1;20903:9;20899:17;20892:47;20956:131;21082:4;20956:131;:::i;:::-;20948:139;;20675:419;;;:::o;21100:231::-;21240:34;21236:1;21228:6;21224:14;21217:58;21309:14;21304:2;21296:6;21292:15;21285:39;21100:231;:::o;21337:366::-;21479:3;21500:67;21564:2;21559:3;21500:67;:::i;:::-;21493:74;;21576:93;21665:3;21576:93;:::i;:::-;21694:2;21689:3;21685:12;21678:19;;21337:366;;;:::o;21709:419::-;21875:4;21913:2;21902:9;21898:18;21890:26;;21962:9;21956:4;21952:20;21948:1;21937:9;21933:17;21926:47;21990:131;22116:4;21990:131;:::i;:::-;21982:139;;21709:419;;;:::o;22134:180::-;22182:77;22179:1;22172:88;22279:4;22276:1;22269:15;22303:4;22300:1;22293:15;22320:228;22460:34;22456:1;22448:6;22444:14;22437:58;22529:11;22524:2;22516:6;22512:15;22505:36;22320:228;:::o;22554:366::-;22696:3;22717:67;22781:2;22776:3;22717:67;:::i;:::-;22710:74;;22793:93;22882:3;22793:93;:::i;:::-;22911:2;22906:3;22902:12;22895:19;;22554:366;;;:::o;22926:419::-;23092:4;23130:2;23119:9;23115:18;23107:26;;23179:9;23173:4;23169:20;23165:1;23154:9;23150:17;23143:47;23207:131;23333:4;23207:131;:::i;:::-;23199:139;;22926:419;;;:::o;23351:177::-;23491:29;23487:1;23479:6;23475:14;23468:53;23351:177;:::o;23534:366::-;23676:3;23697:67;23761:2;23756:3;23697:67;:::i;:::-;23690:74;;23773:93;23862:3;23773:93;:::i;:::-;23891:2;23886:3;23882:12;23875:19;;23534:366;;;:::o;23906:419::-;24072:4;24110:2;24099:9;24095:18;24087:26;;24159:9;24153:4;24149:20;24145:1;24134:9;24130:17;24123:47;24187:131;24313:4;24187:131;:::i;:::-;24179:139;;23906:419;;;:::o;24331:180::-;24379:77;24376:1;24369:88;24476:4;24473:1;24466:15;24500:4;24497:1;24490:15;24517:305;24557:3;24576:20;24594:1;24576:20;:::i;:::-;24571:25;;24610:20;24628:1;24610:20;:::i;:::-;24605:25;;24764:1;24696:66;24692:74;24689:1;24686:81;24683:107;;;24770:18;;:::i;:::-;24683:107;24814:1;24811;24807:9;24800:16;;24517:305;;;;:::o;24828:173::-;24968:25;24964:1;24956:6;24952:14;24945:49;24828:173;:::o;25007:366::-;25149:3;25170:67;25234:2;25229:3;25170:67;:::i;:::-;25163:74;;25246:93;25335:3;25246:93;:::i;:::-;25364:2;25359:3;25355:12;25348:19;;25007:366;;;:::o;25379:419::-;25545:4;25583:2;25572:9;25568:18;25560:26;;25632:9;25626:4;25622:20;25618:1;25607:9;25603:17;25596:47;25660:131;25786:4;25660:131;:::i;:::-;25652:139;;25379:419;;;:::o;25804:229::-;25944:34;25940:1;25932:6;25928:14;25921:58;26013:12;26008:2;26000:6;25996:15;25989:37;25804:229;:::o;26039:366::-;26181:3;26202:67;26266:2;26261:3;26202:67;:::i;:::-;26195:74;;26278:93;26367:3;26278:93;:::i;:::-;26396:2;26391:3;26387:12;26380:19;;26039:366;;;:::o;26411:419::-;26577:4;26615:2;26604:9;26600:18;26592:26;;26664:9;26658:4;26654:20;26650:1;26639:9;26635:17;26628:47;26692:131;26818:4;26692:131;:::i;:::-;26684:139;;26411:419;;;:::o;26836:231::-;26976:34;26972:1;26964:6;26960:14;26953:58;27045:14;27040:2;27032:6;27028:15;27021:39;26836:231;:::o;27073:366::-;27215:3;27236:67;27300:2;27295:3;27236:67;:::i;:::-;27229:74;;27312:93;27401:3;27312:93;:::i;:::-;27430:2;27425:3;27421:12;27414:19;;27073:366;;;:::o;27445:419::-;27611:4;27649:2;27638:9;27634:18;27626:26;;27698:9;27692:4;27688:20;27684:1;27673:9;27669:17;27662:47;27726:131;27852:4;27726:131;:::i;:::-;27718:139;;27445:419;;;:::o;27870:224::-;28010:34;28006:1;27998:6;27994:14;27987:58;28079:7;28074:2;28066:6;28062:15;28055:32;27870:224;:::o;28100:366::-;28242:3;28263:67;28327:2;28322:3;28263:67;:::i;:::-;28256:74;;28339:93;28428:3;28339:93;:::i;:::-;28457:2;28452:3;28448:12;28441:19;;28100:366;;;:::o;28472:419::-;28638:4;28676:2;28665:9;28661:18;28653:26;;28725:9;28719:4;28715:20;28711:1;28700:9;28696:17;28689:47;28753:131;28879:4;28753:131;:::i;:::-;28745:139;;28472:419;;;:::o;28897:223::-;29037:34;29033:1;29025:6;29021:14;29014:58;29106:6;29101:2;29093:6;29089:15;29082:31;28897:223;:::o;29126:366::-;29268:3;29289:67;29353:2;29348:3;29289:67;:::i;:::-;29282:74;;29365:93;29454:3;29365:93;:::i;:::-;29483:2;29478:3;29474:12;29467:19;;29126:366;;;:::o;29498:419::-;29664:4;29702:2;29691:9;29687:18;29679:26;;29751:9;29745:4;29741:20;29737:1;29726:9;29722:17;29715:47;29779:131;29905:4;29779:131;:::i;:::-;29771:139;;29498:419;;;:::o;29923:191::-;29963:4;29983:20;30001:1;29983:20;:::i;:::-;29978:25;;30017:20;30035:1;30017:20;:::i;:::-;30012:25;;30056:1;30053;30050:8;30047:34;;;30061:18;;:::i;:::-;30047:34;30106:1;30103;30099:9;30091:17;;29923:191;;;;:::o;30120:148::-;30222:11;30259:3;30244:18;;30120:148;;;;:::o;30274:173::-;30414:25;30410:1;30402:6;30398:14;30391:49;30274:173;:::o;30453:402::-;30613:3;30634:85;30716:2;30711:3;30634:85;:::i;:::-;30627:92;;30728:93;30817:3;30728:93;:::i;:::-;30846:2;30841:3;30837:12;30830:19;;30453:402;;;:::o;30861:377::-;30967:3;30995:39;31028:5;30995:39;:::i;:::-;31050:89;31132:6;31127:3;31050:89;:::i;:::-;31043:96;;31148:52;31193:6;31188:3;31181:4;31174:5;31170:16;31148:52;:::i;:::-;31225:6;31220:3;31216:16;31209:23;;30971:267;30861:377;;;;:::o;31244:167::-;31384:19;31380:1;31372:6;31368:14;31361:43;31244:167;:::o;31417:402::-;31577:3;31598:85;31680:2;31675:3;31598:85;:::i;:::-;31591:92;;31692:93;31781:3;31692:93;:::i;:::-;31810:2;31805:3;31801:12;31794:19;;31417:402;;;:::o;31825:967::-;32207:3;32229:148;32373:3;32229:148;:::i;:::-;32222:155;;32394:95;32485:3;32476:6;32394:95;:::i;:::-;32387:102;;32506:148;32650:3;32506:148;:::i;:::-;32499:155;;32671:95;32762:3;32753:6;32671:95;:::i;:::-;32664:102;;32783:3;32776:10;;31825:967;;;;;:::o;32798:175::-;32938:27;32934:1;32926:6;32922:14;32915:51;32798:175;:::o;32979:366::-;33121:3;33142:67;33206:2;33201:3;33142:67;:::i;:::-;33135:74;;33218:93;33307:3;33218:93;:::i;:::-;33336:2;33331:3;33327:12;33320:19;;32979:366;;;:::o;33351:419::-;33517:4;33555:2;33544:9;33540:18;33532:26;;33604:9;33598:4;33594:20;33590:1;33579:9;33575:17;33568:47;33632:131;33758:4;33632:131;:::i;:::-;33624:139;;33351:419;;;:::o;33776:237::-;33916:34;33912:1;33904:6;33900:14;33893:58;33985:20;33980:2;33972:6;33968:15;33961:45;33776:237;:::o;34019:366::-;34161:3;34182:67;34246:2;34241:3;34182:67;:::i;:::-;34175:74;;34258:93;34347:3;34258:93;:::i;:::-;34376:2;34371:3;34367:12;34360:19;;34019:366;;;:::o;34391:419::-;34557:4;34595:2;34584:9;34580:18;34572:26;;34644:9;34638:4;34634:20;34630:1;34619:9;34615:17;34608:47;34672:131;34798:4;34672:131;:::i;:::-;34664:139;;34391:419;;;:::o;34816:172::-;34956:24;34952:1;34944:6;34940:14;34933:48;34816:172;:::o;34994:366::-;35136:3;35157:67;35221:2;35216:3;35157:67;:::i;:::-;35150:74;;35233:93;35322:3;35233:93;:::i;:::-;35351:2;35346:3;35342:12;35335:19;;34994:366;;;:::o;35366:419::-;35532:4;35570:2;35559:9;35555:18;35547:26;;35619:9;35613:4;35609:20;35605:1;35594:9;35590:17;35583:47;35647:131;35773:4;35647:131;:::i;:::-;35639:139;;35366:419;;;:::o;35791:348::-;35831:7;35854:20;35872:1;35854:20;:::i;:::-;35849:25;;35888:20;35906:1;35888:20;:::i;:::-;35883:25;;36076:1;36008:66;36004:74;36001:1;35998:81;35993:1;35986:9;35979:17;35975:105;35972:131;;;36083:18;;:::i;:::-;35972:131;36131:1;36128;36124:9;36113:20;;35791:348;;;;:::o;36145:171::-;36184:3;36207:24;36225:5;36207:24;:::i;:::-;36198:33;;36253:4;36246:5;36243:15;36240:41;;;36261:18;;:::i;:::-;36240:41;36308:1;36301:5;36297:13;36290:20;;36145:171;;;:::o;36322:182::-;36462:34;36458:1;36450:6;36446:14;36439:58;36322:182;:::o;36510:366::-;36652:3;36673:67;36737:2;36732:3;36673:67;:::i;:::-;36666:74;;36749:93;36838:3;36749:93;:::i;:::-;36867:2;36862:3;36858:12;36851:19;;36510:366;;;:::o;36882:419::-;37048:4;37086:2;37075:9;37071:18;37063:26;;37135:9;37129:4;37125:20;37121:1;37110:9;37106:17;37099:47;37163:131;37289:4;37163:131;:::i;:::-;37155:139;;36882:419;;;:::o;37307:98::-;37358:6;37392:5;37386:12;37376:22;;37307:98;;;:::o;37411:168::-;37494:11;37528:6;37523:3;37516:19;37568:4;37563:3;37559:14;37544:29;;37411:168;;;;:::o;37585:360::-;37671:3;37699:38;37731:5;37699:38;:::i;:::-;37753:70;37816:6;37811:3;37753:70;:::i;:::-;37746:77;;37832:52;37877:6;37872:3;37865:4;37858:5;37854:16;37832:52;:::i;:::-;37909:29;37931:6;37909:29;:::i;:::-;37904:3;37900:39;37893:46;;37675:270;37585:360;;;;:::o;37951:640::-;38146:4;38184:3;38173:9;38169:19;38161:27;;38198:71;38266:1;38255:9;38251:17;38242:6;38198:71;:::i;:::-;38279:72;38347:2;38336:9;38332:18;38323:6;38279:72;:::i;:::-;38361;38429:2;38418:9;38414:18;38405:6;38361:72;:::i;:::-;38480:9;38474:4;38470:20;38465:2;38454:9;38450:18;38443:48;38508:76;38579:4;38570:6;38508:76;:::i;:::-;38500:84;;37951:640;;;;;;;:::o;38597:141::-;38653:5;38684:6;38678:13;38669:22;;38700:32;38726:5;38700:32;:::i;:::-;38597:141;;;;:::o;38744:349::-;38813:6;38862:2;38850:9;38841:7;38837:23;38833:32;38830:119;;;38868:79;;:::i;:::-;38830:119;38988:1;39013:63;39068:7;39059:6;39048:9;39044:22;39013:63;:::i;:::-;39003:73;;38959:127;38744:349;;;;:::o;39099:182::-;39239:34;39235:1;39227:6;39223:14;39216:58;39099:182;:::o;39287:366::-;39429:3;39450:67;39514:2;39509:3;39450:67;:::i;:::-;39443:74;;39526:93;39615:3;39526:93;:::i;:::-;39644:2;39639:3;39635:12;39628:19;;39287:366;;;:::o;39659:419::-;39825:4;39863:2;39852:9;39848:18;39840:26;;39912:9;39906:4;39902:20;39898:1;39887:9;39883:17;39876:47;39940:131;40066:4;39940:131;:::i;:::-;39932:139;;39659:419;;;:::o;40084:178::-;40224:30;40220:1;40212:6;40208:14;40201:54;40084:178;:::o;40268:366::-;40410:3;40431:67;40495:2;40490:3;40431:67;:::i;:::-;40424:74;;40507:93;40596:3;40507:93;:::i;:::-;40625:2;40620:3;40616:12;40609:19;;40268:366;;;:::o;40640:419::-;40806:4;40844:2;40833:9;40829:18;40821:26;;40893:9;40887:4;40883:20;40879:1;40868:9;40864:17;40857:47;40921:131;41047:4;40921:131;:::i;:::-;40913:139;;40640:419;;;:::o;41065:180::-;41113:77;41110:1;41103:88;41210:4;41207:1;41200:15;41234:4;41231:1;41224:15", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract NFTSbt is AccessControl, ERC721Enumerable {\n using Counters for Counters.Counter;\n string private _baseTokenURI = \"https://market.cebg.games/api/nft/info/\";\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n uint256 public immutable supplyLimit;\n\n Counters.Counter private _tokenIdCounter;\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint256 _supplyLimt\n ) ERC721(_name, _symbol) {\n supplyLimit = _supplyLimt;\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\n\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\n _setupRole(MINTER_ROLE, msg.sender);\n _setupRole(BURN_ROLE, msg.sender);\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(\n bytes4 interfaceId\n )\n public\n view\n virtual\n override(AccessControl, ERC721Enumerable)\n returns (bool)\n {\n return super.supportsInterface(interfaceId);\n }\n\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal override(ERC721Enumerable) {\n require(from == address(0) || to == address(0), \"Token not transferable\");\n super._beforeTokenTransfer(from, to, tokenId);\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n /**\n * @dev Set token URI\n */\n function updateBaseURI(\n string calldata baseTokenURI\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n _baseTokenURI = baseTokenURI;\n }\n\n /**\n * @dev one type nft has same tokenURI\n */\n function tokenURI(\n uint256 tokenId\n ) public view virtual override returns (string memory) {\n string memory baseURI = _baseURI();\n return bytes(baseURI).length > 0 ? baseURI : \"\";\n }\n\n function mint(address to) external onlyRole(MINTER_ROLE) returns (uint256) {\n require(to != address(0), \"Cannot mint to zero address\");\n if (supplyLimit > 0) {\n require((totalSupply() + 1) <= supplyLimit, \"Exceed the total supply\");\n }\n _tokenIdCounter.increment();\n uint256 tokenId = _tokenIdCounter.current();\n _safeMint(to, tokenId);\n return tokenId;\n }\n\n function burn(uint256 tokenId) external onlyRole(BURN_ROLE) {\n require(\n _isApprovedOrOwner(_msgSender(), tokenId),\n \"Caller is not owner nor approved\"\n );\n _burn(tokenId);\n }\n\n /**\n * @dev Grant mint role to address\n */\n function setMintRole(address to) external {\n grantRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev Remove mint role to address\n */\n function removeMintRole(address to) external {\n revokeRole(MINTER_ROLE, to);\n }\n\n /**\n * @dev Grant burn role to address\n */\n function setBurnRole(address to) external {\n grantRole(BURN_ROLE, to);\n }\n\n /**\n * @dev Remove burn role to address\n */\n function removeBurnRole(address to) external {\n revokeRole(BURN_ROLE, to);\n }\n}\n", - "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc721/NFTSbt.sol", + "sourceMap": "298:3681:17:-:0;;;677:3;647:33;;687:395;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;791:5;798:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;828:11:17::1;814:25;;;;::::0;::::1;846:44;463:22;2198:4:0;871:18:17::0;::::1;846:13;;;:44;;:::i;:::-;897:46;528:24;2198:4:0;924:18:17::0;::::1;897:13;;;:46;;:::i;:::-;952:42;2198:4:0;963:18:17::0;::::1;983:10;952;;;:42;;:::i;:::-;1001:35;528:24;1025:10;1001;;;:35;;:::i;:::-;1043:33;463:22;1065:10;1043;;;:33;;:::i;:::-;687:395:::0;;;298:3681;;7172:247:0;7255:25;7283:18;7296:4;7283:12;;;:18;;:::i;:::-;7255:46;;7336:9;7311:6;:12;7318:4;7311:12;;;;;;;;;;;:22;;:34;;;;7402:9;7383:17;7377:4;7360:52;;;;;;;;;;7245:174;7172:247;;:::o;6937:110::-;7015:25;7026:4;7032:7;7015:10;;;:25;;:::i;:::-;6937:110;;:::o;4504:129::-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;;;:22;;:::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;;;:12;;:::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;3021:145::-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;298:3681:17:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:18:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:307::-;1678:1;1688:113;1702:6;1699:1;1696:13;1688:113;;;1787:1;1782:3;1778:11;1772:18;1768:1;1763:3;1759:11;1752:39;1724:2;1721:1;1717:10;1712:15;;1688:113;;;1819:6;1816:1;1813:13;1810:101;;;1899:1;1890:6;1885:3;1881:16;1874:27;1810:101;1659:258;1610:307;;;:::o;1923:421::-;2012:5;2037:66;2053:49;2095:6;2053:49;:::i;:::-;2037:66;:::i;:::-;2028:75;;2126:6;2119:5;2112:21;2164:4;2157:5;2153:16;2202:3;2193:6;2188:3;2184:16;2181:25;2178:112;;;2209:79;;:::i;:::-;2178:112;2299:39;2331:6;2326:3;2321;2299:39;:::i;:::-;2018:326;1923:421;;;;;:::o;2364:355::-;2431:5;2480:3;2473:4;2465:6;2461:17;2457:27;2447:122;;2488:79;;:::i;:::-;2447:122;2598:6;2592:13;2623:90;2709:3;2701:6;2694:4;2686:6;2682:17;2623:90;:::i;:::-;2614:99;;2437:282;2364:355;;;;:::o;2725:77::-;2762:7;2791:5;2780:16;;2725:77;;;:::o;2808:122::-;2881:24;2899:5;2881:24;:::i;:::-;2874:5;2871:35;2861:63;;2920:1;2917;2910:12;2861:63;2808:122;:::o;2936:143::-;2993:5;3024:6;3018:13;3009:22;;3040:33;3067:5;3040:33;:::i;:::-;2936:143;;;;:::o;3085:1009::-;3193:6;3201;3209;3258:2;3246:9;3237:7;3233:23;3229:32;3226:119;;;3264:79;;:::i;:::-;3226:119;3405:1;3394:9;3390:17;3384:24;3435:18;3427:6;3424:30;3421:117;;;3457:79;;:::i;:::-;3421:117;3562:74;3628:7;3619:6;3608:9;3604:22;3562:74;:::i;:::-;3552:84;;3355:291;3706:2;3695:9;3691:18;3685:25;3737:18;3729:6;3726:30;3723:117;;;3759:79;;:::i;:::-;3723:117;3864:74;3930:7;3921:6;3910:9;3906:22;3864:74;:::i;:::-;3854:84;;3656:292;3987:2;4013:64;4069:7;4060:6;4049:9;4045:22;4013:64;:::i;:::-;4003:74;;3958:129;3085:1009;;;;;:::o;4100:180::-;4148:77;4145:1;4138:88;4245:4;4242:1;4235:15;4269:4;4266:1;4259:15;4286:320;4330:6;4367:1;4361:4;4357:12;4347:22;;4414:1;4408:4;4404:12;4435:18;4425:81;;4491:4;4483:6;4479:17;4469:27;;4425:81;4553:2;4545:6;4542:14;4522:18;4519:38;4516:84;;;4572:18;;:::i;:::-;4516:84;4337:269;4286:320;;;:::o;298:3681:17:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "298:3681:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1146:218;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2471:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3935:167;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3468:406;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1630:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;557:36:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3612:85;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4612:296:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4504:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;647:33:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4929:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1306:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3755:79:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6038:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4974:149:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3213:201:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2158:651;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1813:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3472:81:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2190:219:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2815:392:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:204:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3021:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2633:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3893:83:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2153:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4169:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1717:135:17;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5189:276:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;427:58:17;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1916:236;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;490:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5354:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4388:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1146:218:17;1299:4;1322:36;1346:11;1322:23;:36::i;:::-;1315:43;;1146:218;;;:::o;2471:98:2:-;2525:13;2557:5;2550:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:98;:::o;3935:167::-;4011:7;4030:23;4045:7;4030:14;:23::i;:::-;4071:15;:24;4087:7;4071:24;;;;;;;;;;;;;;;;;;;;;4064:31;;3935:167;;;:::o;3468:406::-;3548:13;3564:23;3579:7;3564:14;:23::i;:::-;3548:39;;3611:5;3605:11;;:2;:11;;;;3597:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;3702:5;3686:21;;:12;:10;:12::i;:::-;:21;;;:62;;;;3711:37;3728:5;3735:12;:10;:12::i;:::-;3711:16;:37::i;:::-;3686:62;3665:170;;;;;;;;;;;;:::i;:::-;;;;;;;;;3846:21;3855:2;3859:7;3846:8;:21::i;:::-;3538:336;3468:406;;:::o;1630:111:5:-;1691:7;1717:10;:17;;;;1710:24;;1630:111;:::o;557:36:17:-;;;:::o;3612:85::-;3664:27;528:24;3688:2;3664:10;:27::i;:::-;3612:85;:::o;4612:296:2:-;4771:41;4790:12;:10;:12::i;:::-;4804:7;4771:18;:41::i;:::-;4763:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;4873:28;4883:4;4889:2;4893:7;4873:9;:28::i;:::-;4612:296;;;:::o;4504:129:0:-;4578:7;4604:6;:12;4611:4;4604:12;;;;;;;;;;;:22;;;4597:29;;4504:129;;;:::o;647:33:17:-;;;;:::o;4929:145:0:-;5012:18;5025:4;5012:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5042:25:::1;5053:4;5059:7;5042:10;:25::i;:::-;4929:145:::0;;;:::o;1306:253:5:-;1403:7;1438:23;1455:5;1438:16;:23::i;:::-;1430:5;:31;1422:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;1526:12;:19;1539:5;1526:19;;;;;;;;;;;;;;;:26;1546:5;1526:26;;;;;;;;;;;;1519:33;;1306:253;;;;:::o;3755:79:17:-;3804:24;463:22;3825:2;3804:9;:24::i;:::-;3755:79;:::o;6038:214:0:-;6144:12;:10;:12::i;:::-;6133:23;;:7;:23;;;6125:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;6219:26;6231:4;6237:7;6219:11;:26::i;:::-;6038:214;;:::o;4974:149:2:-;5077:39;5094:4;5100:2;5104:7;5077:39;;;;;;;;;;;;:16;:39::i;:::-;4974:149;;;:::o;3213:201:17:-;463:22;2631:16:0;2642:4;2631:10;:16::i;:::-;3296:41:17::1;3315:12;:10;:12::i;:::-;3329:7;3296:18;:41::i;:::-;3280:107;;;;;;;;;;;;:::i;:::-;;;;;;;;;3394:14;3400:7;3394:5;:14::i;:::-;3213:201:::0;;:::o;2158:651::-;2259:16;528:24;2631:16:0;2642:4;2631:10;:16::i;:::-;2300:1:17::1;2292:5;:9;2284:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;2348:12;;2339:5;:21;;2331:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;2407:1;2393:11;:15;2389:139;;;2464:11;2454:5;2438:13;:11;:13::i;:::-;:21;;;;:::i;:::-;2437:38;;2419:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;2389:139;2534:25;2576:5;2562:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2534:48;;2594:9;2589:193;2613:5;2609:1;:9;2589:193;;;2634:27;:15;:25;:27::i;:::-;2670:15;2688:25;:15;:23;:25::i;:::-;2670:43;;2722:22;2732:2;2736:7;2722:9;:22::i;:::-;2767:7;2753:8;2762:1;2753:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;2625:157;2620:3;;;;;:::i;:::-;;;;2589:193;;;;2795:8;2788:15;;;2158:651:::0;;;;;:::o;1813:230:5:-;1888:7;1923:30;:28;:30::i;:::-;1915:5;:38;1907:95;;;;;;;;;;;;:::i;:::-;;;;;;;;;2019:10;2030:5;2019:17;;;;;;;;:::i;:::-;;;;;;;;;;2012:24;;1813:230;;;:::o;3472:81:17:-;3521:26;528:24;3544:2;3521:9;:26::i;:::-;3472:81;:::o;2190:219:2:-;2262:7;2281:13;2297:17;2306:7;2297:8;:17::i;:::-;2281:33;;2349:1;2332:19;;:5;:19;;;;2324:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2397:5;2390:12;;;2190:219;;;:::o;2815:392:17:-;2881:7;528:24;2631:16:0;2642:4;2631:10;:16::i;:::-;2919:1:17::1;2905:16;;:2;:16;;;;2897:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2978:1;2964:11;:15;2960:108;;;3021:11;3015:1;2999:13;:11;:13::i;:::-;:17;;;;:::i;:::-;2998:34;;2990:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;2960:108;3074:27;:15;:25;:27::i;:::-;3108:15;3126:25;:15;:23;:25::i;:::-;3108:43;;3158:22;3168:2;3172:7;3158:9;:22::i;:::-;3194:7;3187:14;;;2815:392:::0;;;;:::o;1929:204:2:-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2110:9;:16;2120:5;2110:16;;;;;;;;;;;;;;;;2103:23;;1929:204;;;:::o;3021:145:0:-;3107:4;3130:6;:12;3137:4;3130:12;;;;;;;;;;;:20;;:29;3151:7;3130:29;;;;;;;;;;;;;;;;;;;;;;;;;3123:36;;3021:145;;;;:::o;2633:102:2:-;2689:13;2721:7;2714:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:102;:::o;3893:83:17:-;3945:25;463:22;3967:2;3945:10;:25::i;:::-;3893:83;:::o;2153:49:0:-;2198:4;2153:49;;;:::o;4169:153:2:-;4263:52;4282:12;:10;:12::i;:::-;4296:8;4306;4263:18;:52::i;:::-;4169:153;;:::o;1717:135:17:-;2198:4:0;1793:18:17;;2631:16:0;2642:4;2631:10;:16::i;:::-;1835:11:17::1;1820:12;;:26;;;;;;;;;;;;;;;;;;1717:135:::0;;:::o;5189:276:2:-;5319:41;5338:12;:10;:12::i;:::-;5352:7;5319:18;:41::i;:::-;5311:99;;;;;;;;;;;;:::i;:::-;;;;;;;;;5420:38;5434:4;5440:2;5444:7;5453:4;5420:13;:38::i;:::-;5189:276;;;;:::o;427:58:17:-;463:22;427:58;:::o;1916:236::-;1991:13;2021:16;2029:7;2021;:16::i;:::-;2013:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;2097:12;;;;;;;;;;;2087:35;;;2131:4;2138:7;2087:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2080:66;;1916:236;;;:::o;490:62::-;528:24;490:62;:::o;5354:147:0:-;5438:18;5451:4;5438:12;:18::i;:::-;2631:16;2642:4;2631:10;:16::i;:::-;5468:26:::1;5480:4;5486:7;5468:11;:26::i;:::-;5354:147:::0;;;:::o;4388:162:2:-;4485:4;4508:18;:25;4527:5;4508:25;;;;;;;;;;;;;;;:35;4534:8;4508:35;;;;;;;;;;;;;;;;;;;;;;;;;4501:42;;4388:162;;;;:::o;1005:222:5:-;1107:4;1145:35;1130:50;;;:11;:50;;;;:90;;;;1184:36;1208:11;1184:23;:36::i;:::-;1130:90;1123:97;;1005:222;;;:::o;13240:133:2:-;13321:16;13329:7;13321;:16::i;:::-;13313:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;13240:133;:::o;640:96:9:-;693:7;719:10;712:17;;640:96;:::o;12572:171:2:-;12673:2;12646:15;:24;12662:7;12646:24;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;12728:7;12724:2;12690:46;;12699:23;12714:7;12699:14;:23::i;:::-;12690:46;;;;;;;;;;;;12572:171;;:::o;7404:261::-;7497:4;7513:13;7529:23;7544:7;7529:14;:23::i;:::-;7513:39;;7581:5;7570:16;;:7;:16;;;:52;;;;7590:32;7607:5;7614:7;7590:16;:32::i;:::-;7570:52;:87;;;;7650:7;7626:31;;:20;7638:7;7626:11;:20::i;:::-;:31;;;7570:87;7562:96;;;7404:261;;;;:::o;11257:1203::-;11381:4;11354:31;;:23;11369:7;11354:14;:23::i;:::-;:31;;;11346:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11459:1;11445:16;;:2;:16;;;;11437:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;11513:42;11534:4;11540:2;11544:7;11553:1;11513:20;:42::i;:::-;11682:4;11655:31;;:23;11670:7;11655:14;:23::i;:::-;:31;;;11647:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;11797:15;:24;11813:7;11797:24;;;;;;;;;;;;11790:31;;;;;;;;;;;12284:1;12265:9;:15;12275:4;12265:15;;;;;;;;;;;;;;;;:20;;;;;;;;;;;12316:1;12299:9;:13;12309:2;12299:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;12356:2;12337:7;:16;12345:7;12337:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;12393:7;12389:2;12374:27;;12383:4;12374:27;;;;;;;;;;;;12412:41;12432:4;12438:2;12442:7;12451:1;12412:19;:41::i;:::-;11257:1203;;;:::o;3460:103:0:-;3526:30;3537:4;3543:12;:10;:12::i;:::-;3526:10;:30::i;:::-;3460:103;:::o;7587:233::-;7670:22;7678:4;7684:7;7670;:22::i;:::-;7665:149;;7740:4;7708:6;:12;7715:4;7708:12;;;;;;;;;;;:20;;:29;7729:7;7708:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7790:12;:10;:12::i;:::-;7763:40;;7781:7;7763:40;;7775:4;7763:40;;;;;;;;;;7665:149;7587:233;;:::o;7991:234::-;8074:22;8082:4;8088:7;8074;:22::i;:::-;8070:149;;;8144:5;8112:6;:12;8119:4;8112:12;;;;;;;;;;;:20;;:29;8133:7;8112:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;8195:12;:10;:12::i;:::-;8168:40;;8186:7;8168:40;;8180:4;8168:40;;;;;;;;;;8070:149;7991:234;;:::o;10171:762:2:-;10230:13;10246:23;10261:7;10246:14;:23::i;:::-;10230:39;;10280:51;10301:5;10316:1;10320:7;10329:1;10280:20;:51::i;:::-;10441:23;10456:7;10441:14;:23::i;:::-;10433:31;;10509:15;:24;10525:7;10509:24;;;;;;;;;;;;10502:31;;;;;;;;;;;10769:1;10749:9;:16;10759:5;10749:16;;;;;;;;;;;;;;;;:21;;;;;;;;;;;10797:7;:16;10805:7;10797:16;;;;;;;;;;;;10790:23;;;;;;;;;;;10857:7;10853:1;10829:36;;10838:5;10829:36;;;;;;;;;;;;10876:50;10896:5;10911:1;10915:7;10924:1;10876:19;:50::i;:::-;10220:713;10171:762;:::o;945:123:10:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;827:112::-;892:7;918;:14;;;911:21;;827:112;;;:::o;7995:108:2:-;8070:26;8080:2;8084:7;8070:26;;;;;;;;;;;;:9;:26::i;:::-;7995:108;;:::o;6702:115::-;6768:7;6794;:16;6802:7;6794:16;;;;;;;;;;;;;;;;;;;;;6787:23;;6702:115;;;:::o;12879:277::-;12999:8;12990:17;;:5;:17;;;;12982:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;13085:8;13047:18;:25;13066:5;13047:25;;;;;;;;;;;;;;;:35;13073:8;13047:35;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;13130:8;13108:41;;13123:5;13108:41;;;13140:8;13108:41;;;;;;:::i;:::-;;;;;;;;12879:277;;;:::o;6326:267::-;6438:28;6448:4;6454:2;6458:7;6438:9;:28::i;:::-;6484:47;6507:4;6513:2;6517:7;6526:4;6484:22;:47::i;:::-;6476:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;6326:267;;;;:::o;7120:126::-;7185:4;7237:1;7208:31;;:17;7217:7;7208:8;:17::i;:::-;:31;;;;7201:38;;7120:126;;;:::o;1570:300::-;1672:4;1722:25;1707:40;;;:11;:40;;;;:104;;;;1778:33;1763:48;;;:11;:48;;;;1707:104;:156;;;;1827:36;1851:11;1827:23;:36::i;:::-;1707:156;1688:175;;1570:300;;;:::o;1370:302:17:-;1549:1;1533:18;;:4;:18;;;:38;;;;1569:1;1555:16;;:2;:16;;;1533:38;1525:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;1605:61;1632:4;1638:2;1642:12;1656:9;1605:26;:61::i;:::-;1370:302;;;;:::o;16294:115:2:-;;;;;:::o;3844:479:0:-;3932:22;3940:4;3946:7;3932;:22::i;:::-;3927:390;;4115:28;4135:7;4115:19;:28::i;:::-;4214:38;4242:4;4234:13;;4249:2;4214:19;:38::i;:::-;4022:252;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3970:336;;;;;;;;;;;:::i;:::-;;;;;;;;3927:390;3844:479;;:::o;8324:279:2:-;8418:18;8424:2;8428:7;8418:5;:18::i;:::-;8467:53;8498:1;8502:2;8506:7;8515:4;8467:22;:53::i;:::-;8446:150;;;;;;;;;;;;:::i;:::-;;;;;;;;;8324:279;;;:::o;13925:831::-;14074:4;14094:15;:2;:13;;;:15::i;:::-;14090:660;;;14145:2;14129:36;;;14166:12;:10;:12::i;:::-;14180:4;14186:7;14195:4;14129:71;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;14125:573;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14384:1;14367:6;:13;:18;14363:321;;;14409:60;;;;;;;;;;:::i;:::-;;;;;;;;14363:321;14636:6;14630:13;14621:6;14617:2;14613:15;14606:38;14125:573;14260:41;;;14250:51;;;:6;:51;;;;14243:58;;;;;14090:660;14735:4;14728:11;;13925:831;;;;;;;:::o;2732:202:0:-;2817:4;2855:32;2840:47;;;:11;:47;;;;:87;;;;2891:36;2915:11;2891:23;:36::i;:::-;2840:87;2833:94;;2732:202;;;:::o;2112:890:5:-;2283:61;2310:4;2316:2;2320:12;2334:9;2283:26;:61::i;:::-;2371:1;2359:9;:13;2355:219;;;2500:63;;;;;;;;;;:::i;:::-;;;;;;;;2355:219;2584:15;2602:12;2584:30;;2645:1;2629:18;;:4;:18;;;2625:183;;;2663:40;2695:7;2663:31;:40::i;:::-;2625:183;;;2732:2;2724:10;;:4;:10;;;2720:88;;2750:47;2783:4;2789:7;2750:32;:47::i;:::-;2720:88;2625:183;2835:1;2821:16;;:2;:16;;;2817:179;;;2853:45;2890:7;2853:36;:45::i;:::-;2817:179;;;2925:4;2919:10;;:2;:10;;;2915:81;;2945:40;2973:2;2977:7;2945:27;:40::i;:::-;2915:81;2817:179;2273:729;2112:890;;;;:::o;2407:149:11:-;2465:13;2497:52;2525:4;2509:22;;343:2;2497:52;;:11;:52::i;:::-;2490:59;;2407:149;;;:::o;1818:437::-;1893:13;1918:19;1963:1;1954:6;1950:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1940:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1918:47;;1975:15;:6;1982:1;1975:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2000;:6;2007:1;2000:9;;;;;;;;:::i;:::-;;;;;:15;;;;;;;;;;;2030:9;2055:1;2046:6;2042:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;2030:26;;2025:128;2062:1;2058;:5;2025:128;;;2096:8;2113:3;2105:5;:11;2096:21;;;;;;;:::i;:::-;;;;;2084:6;2091:1;2084:9;;;;;;;;:::i;:::-;;;;;:33;;;;;;;;;;;2141:1;2131:11;;;;;2065:3;;;;:::i;:::-;;;2025:128;;;;2179:1;2170:5;:10;2162:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2241:6;2227:21;;;1818:437;;;;:::o;8925:920:2:-;9018:1;9004:16;;:2;:16;;;;8996:61;;;;;;;;;;;;:::i;:::-;;;;;;;;;9076:16;9084:7;9076;:16::i;:::-;9075:17;9067:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9136:48;9165:1;9169:2;9173:7;9182:1;9136:20;:48::i;:::-;9280:16;9288:7;9280;:16::i;:::-;9279:17;9271:58;;;;;;;;;;;;:::i;:::-;;;;;;;;;9688:1;9671:9;:13;9681:2;9671:13;;;;;;;;;;;;;;;;:18;;;;;;;;;;;9729:2;9710:7;:16;9718:7;9710:16;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;9772:7;9768:2;9747:33;;9764:1;9747:33;;;;;;;;;;;;9791:47;9819:1;9823:2;9827:7;9836:1;9791:19;:47::i;:::-;8925:920;;:::o;1412:320:8:-;1472:4;1724:1;1702:7;:19;;;:23;1695:30;;1412:320;;;:::o;829:155:12:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;15472:116:2:-;;;;;:::o;3708:161:5:-;3811:10;:17;;;;3784:15;:24;3800:7;3784:24;;;;;;;;;;;:44;;;;3838:10;3854:7;3838:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3708:161;:::o;4486:970::-;4748:22;4798:1;4773:22;4790:4;4773:16;:22::i;:::-;:26;;;;:::i;:::-;4748:51;;4809:18;4830:17;:26;4848:7;4830:26;;;;;;;;;;;;4809:47;;4974:14;4960:10;:28;4956:323;;5004:19;5026:12;:18;5039:4;5026:18;;;;;;;;;;;;;;;:34;5045:14;5026:34;;;;;;;;;;;;5004:56;;5108:11;5075:12;:18;5088:4;5075:18;;;;;;;;;;;;;;;:30;5094:10;5075:30;;;;;;;;;;;:44;;;;5224:10;5191:17;:30;5209:11;5191:30;;;;;;;;;;;:43;;;;4990:289;4956:323;5372:17;:26;5390:7;5372:26;;;;;;;;;;;5365:33;;;5415:12;:18;5428:4;5415:18;;;;;;;;;;;;;;;:34;5434:14;5415:34;;;;;;;;;;;5408:41;;;4567:889;;4486:970;;:::o;5744:1061::-;5993:22;6038:1;6018:10;:17;;;;:21;;;;:::i;:::-;5993:46;;6049:18;6070:15;:24;6086:7;6070:24;;;;;;;;;;;;6049:45;;6416:19;6438:10;6449:14;6438:26;;;;;;;;:::i;:::-;;;;;;;;;;6416:48;;6500:11;6475:10;6486;6475:22;;;;;;;;:::i;:::-;;;;;;;;;:36;;;;6610:10;6579:15;:28;6595:11;6579:28;;;;;;;;;;;:41;;;;6748:15;:24;6764:7;6748:24;;;;;;;;;;;6741:31;;;6782:10;:16;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5815:990;;;5744:1061;:::o;3296:217::-;3380:14;3397:20;3414:2;3397:16;:20::i;:::-;3380:37;;3454:7;3427:12;:16;3440:2;3427:16;;;;;;;;;;;;;;;:24;3444:6;3427:24;;;;;;;;;;;:34;;;;3500:6;3471:17;:26;3489:7;3471:26;;;;;;;;;;;:35;;;;3370:143;3296:217;;:::o;7:75:18:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:149;370:7;410:66;403:5;399:78;388:89;;334:149;;;:::o;489:120::-;561:23;578:5;561:23;:::i;:::-;554:5;551:34;541:62;;599:1;596;589:12;541:62;489:120;:::o;615:137::-;660:5;698:6;685:20;676:29;;714:32;740:5;714:32;:::i;:::-;615:137;;;;:::o;758:327::-;816:6;865:2;853:9;844:7;840:23;836:32;833:119;;;871:79;;:::i;:::-;833:119;991:1;1016:52;1060:7;1051:6;1040:9;1036:22;1016:52;:::i;:::-;1006:62;;962:116;758:327;;;;:::o;1091:90::-;1125:7;1168:5;1161:13;1154:21;1143:32;;1091:90;;;:::o;1187:109::-;1268:21;1283:5;1268:21;:::i;:::-;1263:3;1256:34;1187:109;;:::o;1302:210::-;1389:4;1427:2;1416:9;1412:18;1404:26;;1440:65;1502:1;1491:9;1487:17;1478:6;1440:65;:::i;:::-;1302:210;;;;:::o;1518:99::-;1570:6;1604:5;1598:12;1588:22;;1518:99;;;:::o;1623:169::-;1707:11;1741:6;1736:3;1729:19;1781:4;1776:3;1772:14;1757:29;;1623:169;;;;:::o;1798:307::-;1866:1;1876:113;1890:6;1887:1;1884:13;1876:113;;;1975:1;1970:3;1966:11;1960:18;1956:1;1951:3;1947:11;1940:39;1912:2;1909:1;1905:10;1900:15;;1876:113;;;2007:6;2004:1;2001:13;1998:101;;;2087:1;2078:6;2073:3;2069:16;2062:27;1998:101;1847:258;1798:307;;;:::o;2111:102::-;2152:6;2203:2;2199:7;2194:2;2187:5;2183:14;2179:28;2169:38;;2111:102;;;:::o;2219:364::-;2307:3;2335:39;2368:5;2335:39;:::i;:::-;2390:71;2454:6;2449:3;2390:71;:::i;:::-;2383:78;;2470:52;2515:6;2510:3;2503:4;2496:5;2492:16;2470:52;:::i;:::-;2547:29;2569:6;2547:29;:::i;:::-;2542:3;2538:39;2531:46;;2311:272;2219:364;;;;:::o;2589:313::-;2702:4;2740:2;2729:9;2725:18;2717:26;;2789:9;2783:4;2779:20;2775:1;2764:9;2760:17;2753:47;2817:78;2890:4;2881:6;2817:78;:::i;:::-;2809:86;;2589:313;;;;:::o;2908:77::-;2945:7;2974:5;2963:16;;2908:77;;;:::o;2991:122::-;3064:24;3082:5;3064:24;:::i;:::-;3057:5;3054:35;3044:63;;3103:1;3100;3093:12;3044:63;2991:122;:::o;3119:139::-;3165:5;3203:6;3190:20;3181:29;;3219:33;3246:5;3219:33;:::i;:::-;3119:139;;;;:::o;3264:329::-;3323:6;3372:2;3360:9;3351:7;3347:23;3343:32;3340:119;;;3378:79;;:::i;:::-;3340:119;3498:1;3523:53;3568:7;3559:6;3548:9;3544:22;3523:53;:::i;:::-;3513:63;;3469:117;3264:329;;;;:::o;3599:126::-;3636:7;3676:42;3669:5;3665:54;3654:65;;3599:126;;;:::o;3731:96::-;3768:7;3797:24;3815:5;3797:24;:::i;:::-;3786:35;;3731:96;;;:::o;3833:118::-;3920:24;3938:5;3920:24;:::i;:::-;3915:3;3908:37;3833:118;;:::o;3957:222::-;4050:4;4088:2;4077:9;4073:18;4065:26;;4101:71;4169:1;4158:9;4154:17;4145:6;4101:71;:::i;:::-;3957:222;;;;:::o;4185:122::-;4258:24;4276:5;4258:24;:::i;:::-;4251:5;4248:35;4238:63;;4297:1;4294;4287:12;4238:63;4185:122;:::o;4313:139::-;4359:5;4397:6;4384:20;4375:29;;4413:33;4440:5;4413:33;:::i;:::-;4313:139;;;;:::o;4458:474::-;4526:6;4534;4583:2;4571:9;4562:7;4558:23;4554:32;4551:119;;;4589:79;;:::i;:::-;4551:119;4709:1;4734:53;4779:7;4770:6;4759:9;4755:22;4734:53;:::i;:::-;4724:63;;4680:117;4836:2;4862:53;4907:7;4898:6;4887:9;4883:22;4862:53;:::i;:::-;4852:63;;4807:118;4458:474;;;;;:::o;4938:118::-;5025:24;5043:5;5025:24;:::i;:::-;5020:3;5013:37;4938:118;;:::o;5062:222::-;5155:4;5193:2;5182:9;5178:18;5170:26;;5206:71;5274:1;5263:9;5259:17;5250:6;5206:71;:::i;:::-;5062:222;;;;:::o;5290:329::-;5349:6;5398:2;5386:9;5377:7;5373:23;5369:32;5366:119;;;5404:79;;:::i;:::-;5366:119;5524:1;5549:53;5594:7;5585:6;5574:9;5570:22;5549:53;:::i;:::-;5539:63;;5495:117;5290:329;;;;:::o;5625:619::-;5702:6;5710;5718;5767:2;5755:9;5746:7;5742:23;5738:32;5735:119;;;5773:79;;:::i;:::-;5735:119;5893:1;5918:53;5963:7;5954:6;5943:9;5939:22;5918:53;:::i;:::-;5908:63;;5864:117;6020:2;6046:53;6091:7;6082:6;6071:9;6067:22;6046:53;:::i;:::-;6036:63;;5991:118;6148:2;6174:53;6219:7;6210:6;6199:9;6195:22;6174:53;:::i;:::-;6164:63;;6119:118;5625:619;;;;;:::o;6250:77::-;6287:7;6316:5;6305:16;;6250:77;;;:::o;6333:122::-;6406:24;6424:5;6406:24;:::i;:::-;6399:5;6396:35;6386:63;;6445:1;6442;6435:12;6386:63;6333:122;:::o;6461:139::-;6507:5;6545:6;6532:20;6523:29;;6561:33;6588:5;6561:33;:::i;:::-;6461:139;;;;:::o;6606:329::-;6665:6;6714:2;6702:9;6693:7;6689:23;6685:32;6682:119;;;6720:79;;:::i;:::-;6682:119;6840:1;6865:53;6910:7;6901:6;6890:9;6886:22;6865:53;:::i;:::-;6855:63;;6811:117;6606:329;;;;:::o;6941:118::-;7028:24;7046:5;7028:24;:::i;:::-;7023:3;7016:37;6941:118;;:::o;7065:222::-;7158:4;7196:2;7185:9;7181:18;7173:26;;7209:71;7277:1;7266:9;7262:17;7253:6;7209:71;:::i;:::-;7065:222;;;;:::o;7293:474::-;7361:6;7369;7418:2;7406:9;7397:7;7393:23;7389:32;7386:119;;;7424:79;;:::i;:::-;7386:119;7544:1;7569:53;7614:7;7605:6;7594:9;7590:22;7569:53;:::i;:::-;7559:63;;7515:117;7671:2;7697:53;7742:7;7733:6;7722:9;7718:22;7697:53;:::i;:::-;7687:63;;7642:118;7293:474;;;;;:::o;7773:114::-;7840:6;7874:5;7868:12;7858:22;;7773:114;;;:::o;7893:184::-;7992:11;8026:6;8021:3;8014:19;8066:4;8061:3;8057:14;8042:29;;7893:184;;;;:::o;8083:132::-;8150:4;8173:3;8165:11;;8203:4;8198:3;8194:14;8186:22;;8083:132;;;:::o;8221:108::-;8298:24;8316:5;8298:24;:::i;:::-;8293:3;8286:37;8221:108;;:::o;8335:179::-;8404:10;8425:46;8467:3;8459:6;8425:46;:::i;:::-;8503:4;8498:3;8494:14;8480:28;;8335:179;;;;:::o;8520:113::-;8590:4;8622;8617:3;8613:14;8605:22;;8520:113;;;:::o;8669:732::-;8788:3;8817:54;8865:5;8817:54;:::i;:::-;8887:86;8966:6;8961:3;8887:86;:::i;:::-;8880:93;;8997:56;9047:5;8997:56;:::i;:::-;9076:7;9107:1;9092:284;9117:6;9114:1;9111:13;9092:284;;;9193:6;9187:13;9220:63;9279:3;9264:13;9220:63;:::i;:::-;9213:70;;9306:60;9359:6;9306:60;:::i;:::-;9296:70;;9152:224;9139:1;9136;9132:9;9127:14;;9092:284;;;9096:14;9392:3;9385:10;;8793:608;;;8669:732;;;;:::o;9407:373::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9637:9;9631:4;9627:20;9623:1;9612:9;9608:17;9601:47;9665:108;9768:4;9759:6;9665:108;:::i;:::-;9657:116;;9407:373;;;;:::o;9786:116::-;9856:21;9871:5;9856:21;:::i;:::-;9849:5;9846:32;9836:60;;9892:1;9889;9882:12;9836:60;9786:116;:::o;9908:133::-;9951:5;9989:6;9976:20;9967:29;;10005:30;10029:5;10005:30;:::i;:::-;9908:133;;;;:::o;10047:468::-;10112:6;10120;10169:2;10157:9;10148:7;10144:23;10140:32;10137:119;;;10175:79;;:::i;:::-;10137:119;10295:1;10320:53;10365:7;10356:6;10345:9;10341:22;10320:53;:::i;:::-;10310:63;;10266:117;10422:2;10448:50;10490:7;10481:6;10470:9;10466:22;10448:50;:::i;:::-;10438:60;;10393:115;10047:468;;;;;:::o;10521:117::-;10630:1;10627;10620:12;10644:117;10753:1;10750;10743:12;10767:180;10815:77;10812:1;10805:88;10912:4;10909:1;10902:15;10936:4;10933:1;10926:15;10953:281;11036:27;11058:4;11036:27;:::i;:::-;11028:6;11024:40;11166:6;11154:10;11151:22;11130:18;11118:10;11115:34;11112:62;11109:88;;;11177:18;;:::i;:::-;11109:88;11217:10;11213:2;11206:22;10996:238;10953:281;;:::o;11240:129::-;11274:6;11301:20;;:::i;:::-;11291:30;;11330:33;11358:4;11350:6;11330:33;:::i;:::-;11240:129;;;:::o;11375:307::-;11436:4;11526:18;11518:6;11515:30;11512:56;;;11548:18;;:::i;:::-;11512:56;11586:29;11608:6;11586:29;:::i;:::-;11578:37;;11670:4;11664;11660:15;11652:23;;11375:307;;;:::o;11688:154::-;11772:6;11767:3;11762;11749:30;11834:1;11825:6;11820:3;11816:16;11809:27;11688:154;;;:::o;11848:410::-;11925:5;11950:65;11966:48;12007:6;11966:48;:::i;:::-;11950:65;:::i;:::-;11941:74;;12038:6;12031:5;12024:21;12076:4;12069:5;12065:16;12114:3;12105:6;12100:3;12096:16;12093:25;12090:112;;;12121:79;;:::i;:::-;12090:112;12211:41;12245:6;12240:3;12235;12211:41;:::i;:::-;11931:327;11848:410;;;;;:::o;12277:338::-;12332:5;12381:3;12374:4;12366:6;12362:17;12358:27;12348:122;;12389:79;;:::i;:::-;12348:122;12506:6;12493:20;12531:78;12605:3;12597:6;12590:4;12582:6;12578:17;12531:78;:::i;:::-;12522:87;;12338:277;12277:338;;;;:::o;12621:943::-;12716:6;12724;12732;12740;12789:3;12777:9;12768:7;12764:23;12760:33;12757:120;;;12796:79;;:::i;:::-;12757:120;12916:1;12941:53;12986:7;12977:6;12966:9;12962:22;12941:53;:::i;:::-;12931:63;;12887:117;13043:2;13069:53;13114:7;13105:6;13094:9;13090:22;13069:53;:::i;:::-;13059:63;;13014:118;13171:2;13197:53;13242:7;13233:6;13222:9;13218:22;13197:53;:::i;:::-;13187:63;;13142:118;13327:2;13316:9;13312:18;13299:32;13358:18;13350:6;13347:30;13344:117;;;13380:79;;:::i;:::-;13344:117;13485:62;13539:7;13530:6;13519:9;13515:22;13485:62;:::i;:::-;13475:72;;13270:287;12621:943;;;;;;;:::o;13570:474::-;13638:6;13646;13695:2;13683:9;13674:7;13670:23;13666:32;13663:119;;;13701:79;;:::i;:::-;13663:119;13821:1;13846:53;13891:7;13882:6;13871:9;13867:22;13846:53;:::i;:::-;13836:63;;13792:117;13948:2;13974:53;14019:7;14010:6;13999:9;13995:22;13974:53;:::i;:::-;13964:63;;13919:118;13570:474;;;;;:::o;14050:180::-;14098:77;14095:1;14088:88;14195:4;14192:1;14185:15;14219:4;14216:1;14209:15;14236:320;14280:6;14317:1;14311:4;14307:12;14297:22;;14364:1;14358:4;14354:12;14385:18;14375:81;;14441:4;14433:6;14429:17;14419:27;;14375:81;14503:2;14495:6;14492:14;14472:18;14469:38;14466:84;;;14522:18;;:::i;:::-;14466:84;14287:269;14236:320;;;:::o;14562:220::-;14702:34;14698:1;14690:6;14686:14;14679:58;14771:3;14766:2;14758:6;14754:15;14747:28;14562:220;:::o;14788:366::-;14930:3;14951:67;15015:2;15010:3;14951:67;:::i;:::-;14944:74;;15027:93;15116:3;15027:93;:::i;:::-;15145:2;15140:3;15136:12;15129:19;;14788:366;;;:::o;15160:419::-;15326:4;15364:2;15353:9;15349:18;15341:26;;15413:9;15407:4;15403:20;15399:1;15388:9;15384:17;15377:47;15441:131;15567:4;15441:131;:::i;:::-;15433:139;;15160:419;;;:::o;15585:248::-;15725:34;15721:1;15713:6;15709:14;15702:58;15794:31;15789:2;15781:6;15777:15;15770:56;15585:248;:::o;15839:366::-;15981:3;16002:67;16066:2;16061:3;16002:67;:::i;:::-;15995:74;;16078:93;16167:3;16078:93;:::i;:::-;16196:2;16191:3;16187:12;16180:19;;15839:366;;;:::o;16211:419::-;16377:4;16415:2;16404:9;16400:18;16392:26;;16464:9;16458:4;16454:20;16450:1;16439:9;16435:17;16428:47;16492:131;16618:4;16492:131;:::i;:::-;16484:139;;16211:419;;;:::o;16636:232::-;16776:34;16772:1;16764:6;16760:14;16753:58;16845:15;16840:2;16832:6;16828:15;16821:40;16636:232;:::o;16874:366::-;17016:3;17037:67;17101:2;17096:3;17037:67;:::i;:::-;17030:74;;17113:93;17202:3;17113:93;:::i;:::-;17231:2;17226:3;17222:12;17215:19;;16874:366;;;:::o;17246:419::-;17412:4;17450:2;17439:9;17435:18;17427:26;;17499:9;17493:4;17489:20;17485:1;17474:9;17470:17;17463:47;17527:131;17653:4;17527:131;:::i;:::-;17519:139;;17246:419;;;:::o;17671:230::-;17811:34;17807:1;17799:6;17795:14;17788:58;17880:13;17875:2;17867:6;17863:15;17856:38;17671:230;:::o;17907:366::-;18049:3;18070:67;18134:2;18129:3;18070:67;:::i;:::-;18063:74;;18146:93;18235:3;18146:93;:::i;:::-;18264:2;18259:3;18255:12;18248:19;;17907:366;;;:::o;18279:419::-;18445:4;18483:2;18472:9;18468:18;18460:26;;18532:9;18526:4;18522:20;18518:1;18507:9;18503:17;18496:47;18560:131;18686:4;18560:131;:::i;:::-;18552:139;;18279:419;;;:::o;18704:234::-;18844:34;18840:1;18832:6;18828:14;18821:58;18913:17;18908:2;18900:6;18896:15;18889:42;18704:234;:::o;18944:366::-;19086:3;19107:67;19171:2;19166:3;19107:67;:::i;:::-;19100:74;;19183:93;19272:3;19183:93;:::i;:::-;19301:2;19296:3;19292:12;19285:19;;18944:366;;;:::o;19316:419::-;19482:4;19520:2;19509:9;19505:18;19497:26;;19569:9;19563:4;19559:20;19555:1;19544:9;19540:17;19533:47;19597:131;19723:4;19597:131;:::i;:::-;19589:139;;19316:419;;;:::o;19741:182::-;19881:34;19877:1;19869:6;19865:14;19858:58;19741:182;:::o;19929:366::-;20071:3;20092:67;20156:2;20151:3;20092:67;:::i;:::-;20085:74;;20168:93;20257:3;20168:93;:::i;:::-;20286:2;20281:3;20277:12;20270:19;;19929:366;;;:::o;20301:419::-;20467:4;20505:2;20494:9;20490:18;20482:26;;20554:9;20548:4;20544:20;20540:1;20529:9;20525:17;20518:47;20582:131;20708:4;20582:131;:::i;:::-;20574:139;;20301:419;;;:::o;20726:168::-;20866:20;20862:1;20854:6;20850:14;20843:44;20726:168;:::o;20900:366::-;21042:3;21063:67;21127:2;21122:3;21063:67;:::i;:::-;21056:74;;21139:93;21228:3;21139:93;:::i;:::-;21257:2;21252:3;21248:12;21241:19;;20900:366;;;:::o;21272:419::-;21438:4;21476:2;21465:9;21461:18;21453:26;;21525:9;21519:4;21515:20;21511:1;21500:9;21496:17;21489:47;21553:131;21679:4;21553:131;:::i;:::-;21545:139;;21272:419;;;:::o;21697:167::-;21837:19;21833:1;21825:6;21821:14;21814:43;21697:167;:::o;21870:366::-;22012:3;22033:67;22097:2;22092:3;22033:67;:::i;:::-;22026:74;;22109:93;22198:3;22109:93;:::i;:::-;22227:2;22222:3;22218:12;22211:19;;21870:366;;;:::o;22242:419::-;22408:4;22446:2;22435:9;22431:18;22423:26;;22495:9;22489:4;22485:20;22481:1;22470:9;22466:17;22459:47;22523:131;22649:4;22523:131;:::i;:::-;22515:139;;22242:419;;;:::o;22667:180::-;22715:77;22712:1;22705:88;22812:4;22809:1;22802:15;22836:4;22833:1;22826:15;22853:305;22893:3;22912:20;22930:1;22912:20;:::i;:::-;22907:25;;22946:20;22964:1;22946:20;:::i;:::-;22941:25;;23100:1;23032:66;23028:74;23025:1;23022:81;23019:107;;;23106:18;;:::i;:::-;23019:107;23150:1;23147;23143:9;23136:16;;22853:305;;;;:::o;23164:173::-;23304:25;23300:1;23292:6;23288:14;23281:49;23164:173;:::o;23343:366::-;23485:3;23506:67;23570:2;23565:3;23506:67;:::i;:::-;23499:74;;23582:93;23671:3;23582:93;:::i;:::-;23700:2;23695:3;23691:12;23684:19;;23343:366;;;:::o;23715:419::-;23881:4;23919:2;23908:9;23904:18;23896:26;;23968:9;23962:4;23958:20;23954:1;23943:9;23939:17;23932:47;23996:131;24122:4;23996:131;:::i;:::-;23988:139;;23715:419;;;:::o;24140:180::-;24188:77;24185:1;24178:88;24285:4;24282:1;24275:15;24309:4;24306:1;24299:15;24326:233;24365:3;24388:24;24406:5;24388:24;:::i;:::-;24379:33;;24434:66;24427:5;24424:77;24421:103;;;24504:18;;:::i;:::-;24421:103;24551:1;24544:5;24540:13;24533:20;;24326:233;;;:::o;24565:231::-;24705:34;24701:1;24693:6;24689:14;24682:58;24774:14;24769:2;24761:6;24757:15;24750:39;24565:231;:::o;24802:366::-;24944:3;24965:67;25029:2;25024:3;24965:67;:::i;:::-;24958:74;;25041:93;25130:3;25041:93;:::i;:::-;25159:2;25154:3;25150:12;25143:19;;24802:366;;;:::o;25174:419::-;25340:4;25378:2;25367:9;25363:18;25355:26;;25427:9;25421:4;25417:20;25413:1;25402:9;25398:17;25391:47;25455:131;25581:4;25455:131;:::i;:::-;25447:139;;25174:419;;;:::o;25599:174::-;25739:26;25735:1;25727:6;25723:14;25716:50;25599:174;:::o;25779:366::-;25921:3;25942:67;26006:2;26001:3;25942:67;:::i;:::-;25935:74;;26018:93;26107:3;26018:93;:::i;:::-;26136:2;26131:3;26127:12;26120:19;;25779:366;;;:::o;26151:419::-;26317:4;26355:2;26344:9;26340:18;26332:26;;26404:9;26398:4;26394:20;26390:1;26379:9;26375:17;26368:47;26432:131;26558:4;26432:131;:::i;:::-;26424:139;;26151:419;;;:::o;26576:177::-;26716:29;26712:1;26704:6;26700:14;26693:53;26576:177;:::o;26759:366::-;26901:3;26922:67;26986:2;26981:3;26922:67;:::i;:::-;26915:74;;26998:93;27087:3;26998:93;:::i;:::-;27116:2;27111:3;27107:12;27100:19;;26759:366;;;:::o;27131:419::-;27297:4;27335:2;27324:9;27320:18;27312:26;;27384:9;27378:4;27374:20;27370:1;27359:9;27355:17;27348:47;27412:131;27538:4;27412:131;:::i;:::-;27404:139;;27131:419;;;:::o;27556:228::-;27696:34;27692:1;27684:6;27680:14;27673:58;27765:11;27760:2;27752:6;27748:15;27741:36;27556:228;:::o;27790:366::-;27932:3;27953:67;28017:2;28012:3;27953:67;:::i;:::-;27946:74;;28029:93;28118:3;28029:93;:::i;:::-;28147:2;28142:3;28138:12;28131:19;;27790:366;;;:::o;28162:419::-;28328:4;28366:2;28355:9;28351:18;28343:26;;28415:9;28409:4;28405:20;28401:1;28390:9;28386:17;28379:47;28443:131;28569:4;28443:131;:::i;:::-;28435:139;;28162:419;;;:::o;28587:181::-;28727:33;28723:1;28715:6;28711:14;28704:57;28587:181;:::o;28774:366::-;28916:3;28937:67;29001:2;28996:3;28937:67;:::i;:::-;28930:74;;29013:93;29102:3;29013:93;:::i;:::-;29131:2;29126:3;29122:12;29115:19;;28774:366;;;:::o;29146:419::-;29312:4;29350:2;29339:9;29335:18;29327:26;;29399:9;29393:4;29389:20;29385:1;29374:9;29370:17;29363:47;29427:131;29553:4;29427:131;:::i;:::-;29419:139;;29146:419;;;:::o;29571:332::-;29692:4;29730:2;29719:9;29715:18;29707:26;;29743:71;29811:1;29800:9;29796:17;29787:6;29743:71;:::i;:::-;29824:72;29892:2;29881:9;29877:18;29868:6;29824:72;:::i;:::-;29571:332;;;;;:::o;29909:308::-;29971:4;30061:18;30053:6;30050:30;30047:56;;;30083:18;;:::i;:::-;30047:56;30121:29;30143:6;30121:29;:::i;:::-;30113:37;;30205:4;30199;30195:15;30187:23;;29909:308;;;:::o;30223:421::-;30312:5;30337:66;30353:49;30395:6;30353:49;:::i;:::-;30337:66;:::i;:::-;30328:75;;30426:6;30419:5;30412:21;30464:4;30457:5;30453:16;30502:3;30493:6;30488:3;30484:16;30481:25;30478:112;;;30509:79;;:::i;:::-;30478:112;30599:39;30631:6;30626:3;30621;30599:39;:::i;:::-;30318:326;30223:421;;;;;:::o;30664:355::-;30731:5;30780:3;30773:4;30765:6;30761:17;30757:27;30747:122;;30788:79;;:::i;:::-;30747:122;30898:6;30892:13;30923:90;31009:3;31001:6;30994:4;30986:6;30982:17;30923:90;:::i;:::-;30914:99;;30737:282;30664:355;;;;:::o;31025:524::-;31105:6;31154:2;31142:9;31133:7;31129:23;31125:32;31122:119;;;31160:79;;:::i;:::-;31122:119;31301:1;31290:9;31286:17;31280:24;31331:18;31323:6;31320:30;31317:117;;;31353:79;;:::i;:::-;31317:117;31458:74;31524:7;31515:6;31504:9;31500:22;31458:74;:::i;:::-;31448:84;;31251:291;31025:524;;;;:::o;31555:224::-;31695:34;31691:1;31683:6;31679:14;31672:58;31764:7;31759:2;31751:6;31747:15;31740:32;31555:224;:::o;31785:366::-;31927:3;31948:67;32012:2;32007:3;31948:67;:::i;:::-;31941:74;;32024:93;32113:3;32024:93;:::i;:::-;32142:2;32137:3;32133:12;32126:19;;31785:366;;;:::o;32157:419::-;32323:4;32361:2;32350:9;32346:18;32338:26;;32410:9;32404:4;32400:20;32396:1;32385:9;32381:17;32374:47;32438:131;32564:4;32438:131;:::i;:::-;32430:139;;32157:419;;;:::o;32582:223::-;32722:34;32718:1;32710:6;32706:14;32699:58;32791:6;32786:2;32778:6;32774:15;32767:31;32582:223;:::o;32811:366::-;32953:3;32974:67;33038:2;33033:3;32974:67;:::i;:::-;32967:74;;33050:93;33139:3;33050:93;:::i;:::-;33168:2;33163:3;33159:12;33152:19;;32811:366;;;:::o;33183:419::-;33349:4;33387:2;33376:9;33372:18;33364:26;;33436:9;33430:4;33426:20;33422:1;33411:9;33407:17;33400:47;33464:131;33590:4;33464:131;:::i;:::-;33456:139;;33183:419;;;:::o;33608:175::-;33748:27;33744:1;33736:6;33732:14;33725:51;33608:175;:::o;33789:366::-;33931:3;33952:67;34016:2;34011:3;33952:67;:::i;:::-;33945:74;;34028:93;34117:3;34028:93;:::i;:::-;34146:2;34141:3;34137:12;34130:19;;33789:366;;;:::o;34161:419::-;34327:4;34365:2;34354:9;34350:18;34342:26;;34414:9;34408:4;34404:20;34400:1;34389:9;34385:17;34378:47;34442:131;34568:4;34442:131;:::i;:::-;34434:139;;34161:419;;;:::o;34586:237::-;34726:34;34722:1;34714:6;34710:14;34703:58;34795:20;34790:2;34782:6;34778:15;34771:45;34586:237;:::o;34829:366::-;34971:3;34992:67;35056:2;35051:3;34992:67;:::i;:::-;34985:74;;35068:93;35157:3;35068:93;:::i;:::-;35186:2;35181:3;35177:12;35170:19;;34829:366;;;:::o;35201:419::-;35367:4;35405:2;35394:9;35390:18;35382:26;;35454:9;35448:4;35444:20;35440:1;35429:9;35425:17;35418:47;35482:131;35608:4;35482:131;:::i;:::-;35474:139;;35201:419;;;:::o;35626:172::-;35766:24;35762:1;35754:6;35750:14;35743:48;35626:172;:::o;35804:366::-;35946:3;35967:67;36031:2;36026:3;35967:67;:::i;:::-;35960:74;;36043:93;36132:3;36043:93;:::i;:::-;36161:2;36156:3;36152:12;36145:19;;35804:366;;;:::o;36176:419::-;36342:4;36380:2;36369:9;36365:18;36357:26;;36429:9;36423:4;36419:20;36415:1;36404:9;36400:17;36393:47;36457:131;36583:4;36457:131;:::i;:::-;36449:139;;36176:419;;;:::o;36601:148::-;36703:11;36740:3;36725:18;;36601:148;;;;:::o;36755:173::-;36895:25;36891:1;36883:6;36879:14;36872:49;36755:173;:::o;36934:402::-;37094:3;37115:85;37197:2;37192:3;37115:85;:::i;:::-;37108:92;;37209:93;37298:3;37209:93;:::i;:::-;37327:2;37322:3;37318:12;37311:19;;36934:402;;;:::o;37342:377::-;37448:3;37476:39;37509:5;37476:39;:::i;:::-;37531:89;37613:6;37608:3;37531:89;:::i;:::-;37524:96;;37629:52;37674:6;37669:3;37662:4;37655:5;37651:16;37629:52;:::i;:::-;37706:6;37701:3;37697:16;37690:23;;37452:267;37342:377;;;;:::o;37725:167::-;37865:19;37861:1;37853:6;37849:14;37842:43;37725:167;:::o;37898:402::-;38058:3;38079:85;38161:2;38156:3;38079:85;:::i;:::-;38072:92;;38173:93;38262:3;38173:93;:::i;:::-;38291:2;38286:3;38282:12;38275:19;;37898:402;;;:::o;38306:967::-;38688:3;38710:148;38854:3;38710:148;:::i;:::-;38703:155;;38875:95;38966:3;38957:6;38875:95;:::i;:::-;38868:102;;38987:148;39131:3;38987:148;:::i;:::-;38980:155;;39152:95;39243:3;39234:6;39152:95;:::i;:::-;39145:102;;39264:3;39257:10;;38306:967;;;;;:::o;39279:98::-;39330:6;39364:5;39358:12;39348:22;;39279:98;;;:::o;39383:168::-;39466:11;39500:6;39495:3;39488:19;39540:4;39535:3;39531:14;39516:29;;39383:168;;;;:::o;39557:360::-;39643:3;39671:38;39703:5;39671:38;:::i;:::-;39725:70;39788:6;39783:3;39725:70;:::i;:::-;39718:77;;39804:52;39849:6;39844:3;39837:4;39830:5;39826:16;39804:52;:::i;:::-;39881:29;39903:6;39881:29;:::i;:::-;39876:3;39872:39;39865:46;;39647:270;39557:360;;;;:::o;39923:640::-;40118:4;40156:3;40145:9;40141:19;40133:27;;40170:71;40238:1;40227:9;40223:17;40214:6;40170:71;:::i;:::-;40251:72;40319:2;40308:9;40304:18;40295:6;40251:72;:::i;:::-;40333;40401:2;40390:9;40386:18;40377:6;40333:72;:::i;:::-;40452:9;40446:4;40442:20;40437:2;40426:9;40422:18;40415:48;40480:76;40551:4;40542:6;40480:76;:::i;:::-;40472:84;;39923:640;;;;;;;:::o;40569:141::-;40625:5;40656:6;40650:13;40641:22;;40672:32;40698:5;40672:32;:::i;:::-;40569:141;;;;:::o;40716:349::-;40785:6;40834:2;40822:9;40813:7;40809:23;40805:32;40802:119;;;40840:79;;:::i;:::-;40802:119;40960:1;40985:63;41040:7;41031:6;41020:9;41016:22;40985:63;:::i;:::-;40975:73;;40931:127;40716:349;;;;:::o;41071:240::-;41211:34;41207:1;41199:6;41195:14;41188:58;41280:23;41275:2;41267:6;41263:15;41256:48;41071:240;:::o;41317:366::-;41459:3;41480:67;41544:2;41539:3;41480:67;:::i;:::-;41473:74;;41556:93;41645:3;41556:93;:::i;:::-;41674:2;41669:3;41665:12;41658:19;;41317:366;;;:::o;41689:419::-;41855:4;41893:2;41882:9;41878:18;41870:26;;41942:9;41936:4;41932:20;41928:1;41917:9;41913:17;41906:47;41970:131;42096:4;41970:131;:::i;:::-;41962:139;;41689:419;;;:::o;42114:348::-;42154:7;42177:20;42195:1;42177:20;:::i;:::-;42172:25;;42211:20;42229:1;42211:20;:::i;:::-;42206:25;;42399:1;42331:66;42327:74;42324:1;42321:81;42316:1;42309:9;42302:17;42298:105;42295:131;;;42406:18;;:::i;:::-;42295:131;42454:1;42451;42447:9;42436:20;;42114:348;;;;:::o;42468:171::-;42507:3;42530:24;42548:5;42530:24;:::i;:::-;42521:33;;42576:4;42569:5;42566:15;42563:41;;;42584:18;;:::i;:::-;42563:41;42631:1;42624:5;42620:13;42613:20;;42468:171;;;:::o;42645:182::-;42785:34;42781:1;42773:6;42769:14;42762:58;42645:182;:::o;42833:366::-;42975:3;42996:67;43060:2;43055:3;42996:67;:::i;:::-;42989:74;;43072:93;43161:3;43072:93;:::i;:::-;43190:2;43185:3;43181:12;43174:19;;42833:366;;;:::o;43205:419::-;43371:4;43409:2;43398:9;43394:18;43386:26;;43458:9;43452:4;43448:20;43444:1;43433:9;43429:17;43422:47;43486:131;43612:4;43486:131;:::i;:::-;43478:139;;43205:419;;;:::o;43630:182::-;43770:34;43766:1;43758:6;43754:14;43747:58;43630:182;:::o;43818:366::-;43960:3;43981:67;44045:2;44040:3;43981:67;:::i;:::-;43974:74;;44057:93;44146:3;44057:93;:::i;:::-;44175:2;44170:3;44166:12;44159:19;;43818:366;;;:::o;44190:419::-;44356:4;44394:2;44383:9;44379:18;44371:26;;44443:9;44437:4;44433:20;44429:1;44418:9;44414:17;44407:47;44471:131;44597:4;44471:131;:::i;:::-;44463:139;;44190:419;;;:::o;44615:178::-;44755:30;44751:1;44743:6;44739:14;44732:54;44615:178;:::o;44799:366::-;44941:3;44962:67;45026:2;45021:3;44962:67;:::i;:::-;44955:74;;45038:93;45127:3;45038:93;:::i;:::-;45156:2;45151:3;45147:12;45140:19;;44799:366;;;:::o;45171:419::-;45337:4;45375:2;45364:9;45360:18;45352:26;;45424:9;45418:4;45414:20;45410:1;45399:9;45395:17;45388:47;45452:131;45578:4;45452:131;:::i;:::-;45444:139;;45171:419;;;:::o;45596:191::-;45636:4;45656:20;45674:1;45656:20;:::i;:::-;45651:25;;45690:20;45708:1;45690:20;:::i;:::-;45685:25;;45729:1;45726;45723:8;45720:34;;;45734:18;;:::i;:::-;45720:34;45779:1;45776;45772:9;45764:17;;45596:191;;;;:::o;45793:180::-;45841:77;45838:1;45831:88;45938:4;45935:1;45928:15;45962:4;45959:1;45952:15", + "source": "// SPDX-License-Identifier: MIT\r\npragma solidity 0.8.10;\r\n\r\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\r\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\r\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\r\nimport \"../../interfaces/IMetaData.sol\";\r\n\r\ncontract NFTSbt is AccessControl, ERC721Enumerable {\r\n using Counters for Counters.Counter;\r\n address private _metaAddress;\r\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\r\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\r\n uint256 public immutable supplyLimit;\r\n\r\n Counters.Counter private _tokenIdCounter;\r\n\r\n uint256 public maxBatchSize = 500;\r\n\r\n constructor(\r\n string memory _name,\r\n string memory _symbol,\r\n uint256 _supplyLimt\r\n ) ERC721(_name, _symbol) {\r\n supplyLimit = _supplyLimt;\r\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\r\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\r\n\r\n _setupRole(DEFAULT_ADMIN_ROLE, msg.sender);\r\n _setupRole(MINTER_ROLE, msg.sender);\r\n _setupRole(BURN_ROLE, msg.sender);\r\n }\r\n\r\n /**\r\n * @dev See {IERC165-supportsInterface}.\r\n */\r\n function supportsInterface(\r\n bytes4 interfaceId\r\n )\r\n public\r\n view\r\n virtual\r\n override(AccessControl, ERC721Enumerable)\r\n returns (bool)\r\n {\r\n return super.supportsInterface(interfaceId);\r\n }\r\n\r\n function _beforeTokenTransfer(\r\n address from,\r\n address to,\r\n uint256 firstTokenId,\r\n uint256 batchSize\r\n ) internal virtual override {\r\n require(from == address(0) || to == address(0), \"Token not transferable\");\r\n super._beforeTokenTransfer(from, to, firstTokenId, batchSize);\r\n }\r\n\r\n /**\r\n * @dev Set token URI\r\n */\r\n function updateMetaAddress(\r\n address metaAddress\r\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\r\n _metaAddress = metaAddress;\r\n }\r\n\r\n /**\r\n * @dev one type badge has same tokenURI\r\n */\r\n function tokenURI(\r\n uint256 tokenId\r\n ) public view override returns (string memory) {\r\n require(_exists(tokenId), \"URI query for nonexistent token\");\r\n return IMetaData(_metaAddress).getMetaData(address(this), tokenId);\r\n }\r\n\r\n function batchMint(\r\n address to,\r\n uint256 count\r\n ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) {\r\n require(count > 0, \"tokenIds too small\");\r\n require(count <= maxBatchSize, \"tokenIds too many\");\r\n if (supplyLimit > 0) {\r\n require(\r\n (totalSupply() + count) <= supplyLimit,\r\n \"Exceed the total supply\"\r\n );\r\n }\r\n uint256[] memory tokenIds = new uint256[](count);\r\n for (uint256 i = 0; i < count; i++) {\r\n _tokenIdCounter.increment();\r\n uint256 tokenId = _tokenIdCounter.current();\r\n _safeMint(to, tokenId);\r\n tokenIds[i] = tokenId;\r\n }\r\n return tokenIds;\r\n }\r\n\r\n function mint(address to) external onlyRole(MINTER_ROLE) returns (uint256) {\r\n require(to != address(0), \"Cannot mint to zero address\");\r\n if (supplyLimit > 0) {\r\n require((totalSupply() + 1) <= supplyLimit, \"Exceed the total supply\");\r\n }\r\n _tokenIdCounter.increment();\r\n uint256 tokenId = _tokenIdCounter.current();\r\n _safeMint(to, tokenId);\r\n return tokenId;\r\n }\r\n\r\n function burn(uint256 tokenId) external onlyRole(BURN_ROLE) {\r\n require(\r\n _isApprovedOrOwner(_msgSender(), tokenId),\r\n \"Caller is not owner nor approved\"\r\n );\r\n _burn(tokenId);\r\n }\r\n\r\n /**\r\n * @dev Grant mint role to address\r\n */\r\n function setMintRole(address to) external {\r\n grantRole(MINTER_ROLE, to);\r\n }\r\n\r\n /**\r\n * @dev Remove mint role to address\r\n */\r\n function removeMintRole(address to) external {\r\n revokeRole(MINTER_ROLE, to);\r\n }\r\n\r\n /**\r\n * @dev Grant burn role to address\r\n */\r\n function setBurnRole(address to) external {\r\n grantRole(BURN_ROLE, to);\r\n }\r\n\r\n /**\r\n * @dev Remove burn role to address\r\n */\r\n function removeBurnRole(address to) external {\r\n revokeRole(BURN_ROLE, to);\r\n }\r\n}\r\n", + "sourcePath": "C:\\work\\CEBG\\becrypto\\contracts\\tokens\\erc721\\NFTSbt.sol", "ast": { "absolutePath": "project:/contracts/tokens/erc721/NFTSbt.sol", "exportedSymbols": { "AccessControl": [ - 308 + 315 ], "Address": [ - 2072 + 2191 ], "Context": [ - 2094 + 2213 ], "Counters": [ - 2168 + 2287 ], "ERC165": [ - 2395 + 2540 ], "ERC721": [ - 1247 + 1315 ], "ERC721Enumerable": [ - 1719 + 1803 ], "IAccessControl": [ - 381 + 388 ], "IERC165": [ - 2407 + 2552 ], "IERC721": [ - 1363 + 1431 ], "IERC721Enumerable": [ - 1750 + 1834 ], "IERC721Metadata": [ - 1777 + 1861 ], "IERC721Receiver": [ - 1381 + 1449 + ], + "IMetaData": [ + 3535 + ], + "Math": [ + 3418 ], "NFTSbt": [ - 2713 + 3930 + ], + "SignedMath": [ + 3523 ], "Strings": [ - 2371 + 2516 ] }, - "id": 2714, + "id": 3931, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2409, + "id": 3537, "literals": [ "solidity", "0.8", ".10" ], "nodeType": "PragmaDirective", - "src": "32:23:14" + "src": "33:23:17" }, { "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", "file": "@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol", - "id": 2410, + "id": 3538, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2714, - "sourceUnit": 1720, - "src": "57:78:14", + "scope": 3931, + "sourceUnit": 1804, + "src": "60:78:17", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", "file": "@openzeppelin/contracts/utils/Counters.sol", - "id": 2411, + "id": 3539, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2714, - "sourceUnit": 2169, - "src": "136:52:14", + "scope": 3931, + "sourceUnit": 2288, + "src": "140:52:17", "symbolAliases": [], "unitAlias": "" }, { "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 2412, + "id": 3540, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2714, - "sourceUnit": 309, - "src": "189:58:14", + "scope": 3931, + "sourceUnit": 316, + "src": "194:58:17", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "project:/contracts/interfaces/IMetaData.sol", + "file": "../../interfaces/IMetaData.sol", + "id": 3541, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3931, + "sourceUnit": 3536, + "src": "254:40:17", "symbolAliases": [], "unitAlias": "" }, @@ -20864,133 +22880,118 @@ "baseContracts": [ { "baseName": { - "id": 2413, + "id": 3542, "name": "AccessControl", "nodeType": "IdentifierPath", - "referencedDeclaration": 308, - "src": "268:13:14" + "referencedDeclaration": 315, + "src": "317:13:17" }, - "id": 2414, + "id": 3543, "nodeType": "InheritanceSpecifier", - "src": "268:13:14" + "src": "317:13:17" }, { "baseName": { - "id": 2415, + "id": 3544, "name": "ERC721Enumerable", "nodeType": "IdentifierPath", - "referencedDeclaration": 1719, - "src": "283:16:14" + "referencedDeclaration": 1803, + "src": "332:16:17" }, - "id": 2416, + "id": 3545, "nodeType": "InheritanceSpecifier", - "src": "283:16:14" + "src": "332:16:17" } ], "canonicalName": "NFTSbt", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 2713, + "id": 3930, "linearizedBaseContracts": [ - 2713, - 1719, - 1750, - 1247, - 1777, - 1363, - 308, - 2395, - 2407, - 381, - 2094 + 3930, + 1803, + 1834, + 1315, + 1861, + 1431, + 315, + 2540, + 2552, + 388, + 2213 ], "name": "NFTSbt", - "nameLocation": "258:6:14", + "nameLocation": "307:6:17", "nodeType": "ContractDefinition", "nodes": [ { - "id": 2420, + "id": 3549, "libraryName": { - "id": 2417, + "id": 3546, "name": "Counters", "nodeType": "IdentifierPath", - "referencedDeclaration": 2168, - "src": "310:8:14" + "referencedDeclaration": 2287, + "src": "360:8:17" }, "nodeType": "UsingForDirective", - "src": "304:36:14", + "src": "354:36:17", "typeName": { - "id": 2419, + "id": 3548, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2418, + "id": 3547, "name": "Counters.Counter", "nodeType": "IdentifierPath", - "referencedDeclaration": 2100, - "src": "323:16:14" + "referencedDeclaration": 2219, + "src": "373:16:17" }, - "referencedDeclaration": 2100, - "src": "323:16:14", + "referencedDeclaration": 2219, + "src": "373:16:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2100_storage_ptr", + "typeIdentifier": "t_struct$_Counter_$2219_storage_ptr", "typeString": "struct Counters.Counter" } } }, { "constant": false, - "id": 2423, + "id": 3551, "mutability": "mutable", - "name": "_baseTokenURI", - "nameLocation": "358:13:14", + "name": "_metaAddress", + "nameLocation": "410:12:17", "nodeType": "VariableDeclaration", - "scope": 2713, - "src": "343:72:14", + "scope": 3930, + "src": "394:28:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "id": 2421, - "name": "string", + "id": 3550, + "name": "address", "nodeType": "ElementaryTypeName", - "src": "343:6:14", + "src": "394:7:17", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" + "typeIdentifier": "t_address", + "typeString": "address" } }, - "value": { - "hexValue": "68747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", - "id": 2422, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "374:41:14", - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_a22360c1a10c8323f2bd626125be4905616eb83f03cca72bba7f9692c4900800", - "typeString": "literal_string \"https://market.cebg.games/api/nft/info/\"" - }, - "value": "https://market.cebg.games/api/nft/info/" - }, "visibility": "private" }, { "constant": true, "functionSelector": "b930908f", - "id": 2428, + "id": 3556, "mutability": "constant", "name": "BURN_ROLE", - "nameLocation": "443:9:14", + "nameLocation": "451:9:17", "nodeType": "VariableDeclaration", - "scope": 2713, - "src": "419:58:14", + "scope": 3930, + "src": "427:58:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -20998,10 +22999,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2424, + "id": 3552, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "419:7:14", + "src": "427:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21011,14 +23012,14 @@ "arguments": [ { "hexValue": "4255524e5f524f4c45", - "id": 2426, + "id": 3554, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "465:11:14", + "src": "473:11:17", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22", "typeString": "literal_string \"BURN_ROLE\"" @@ -21033,18 +23034,18 @@ "typeString": "literal_string \"BURN_ROLE\"" } ], - "id": 2425, + "id": 3553, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "455:9:14", + "src": "463:9:17", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2427, + "id": 3555, "isConstant": false, "isLValue": false, "isPure": true, @@ -21052,7 +23053,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "455:22:14", + "src": "463:22:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -21064,13 +23065,13 @@ { "constant": true, "functionSelector": "d5391393", - "id": 2433, + "id": 3561, "mutability": "constant", "name": "MINTER_ROLE", - "nameLocation": "505:11:14", + "nameLocation": "514:11:17", "nodeType": "VariableDeclaration", - "scope": 2713, - "src": "481:62:14", + "scope": 3930, + "src": "490:62:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -21078,10 +23079,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 2429, + "id": 3557, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "481:7:14", + "src": "490:7:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21091,14 +23092,14 @@ "arguments": [ { "hexValue": "4d494e5445525f524f4c45", - "id": 2431, + "id": 3559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "529:13:14", + "src": "538:13:17", "typeDescriptions": { "typeIdentifier": "t_stringliteral_9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", "typeString": "literal_string \"MINTER_ROLE\"" @@ -21113,18 +23114,18 @@ "typeString": "literal_string \"MINTER_ROLE\"" } ], - "id": 2430, + "id": 3558, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967288, - "src": "519:9:14", + "src": "528:9:17", "typeDescriptions": { "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 2432, + "id": 3560, "isConstant": false, "isLValue": false, "isPure": true, @@ -21132,7 +23133,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "519:24:14", + "src": "528:24:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -21144,13 +23145,13 @@ { "constant": false, "functionSelector": "19d1997a", - "id": 2435, + "id": 3563, "mutability": "immutable", "name": "supplyLimit", - "nameLocation": "572:11:14", + "nameLocation": "582:11:17", "nodeType": "VariableDeclaration", - "scope": 2713, - "src": "547:36:14", + "scope": 3930, + "src": "557:36:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -21158,10 +23159,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2434, + "id": 3562, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "547:7:14", + "src": "557:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21171,58 +23172,102 @@ }, { "constant": false, - "id": 2438, + "id": 3566, "mutability": "mutable", "name": "_tokenIdCounter", - "nameLocation": "613:15:14", + "nameLocation": "625:15:17", "nodeType": "VariableDeclaration", - "scope": 2713, - "src": "588:40:14", + "scope": 3930, + "src": "600:40:17", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2100_storage", + "typeIdentifier": "t_struct$_Counter_$2219_storage", "typeString": "struct Counters.Counter" }, "typeName": { - "id": 2437, + "id": 3565, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2436, + "id": 3564, "name": "Counters.Counter", "nodeType": "IdentifierPath", - "referencedDeclaration": 2100, - "src": "588:16:14" + "referencedDeclaration": 2219, + "src": "600:16:17" }, - "referencedDeclaration": 2100, - "src": "588:16:14", + "referencedDeclaration": 2219, + "src": "600:16:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2100_storage_ptr", + "typeIdentifier": "t_struct$_Counter_$2219_storage_ptr", "typeString": "struct Counters.Counter" } }, "visibility": "private" }, + { + "constant": false, + "functionSelector": "2913daa0", + "id": 3569, + "mutability": "mutable", + "name": "maxBatchSize", + "nameLocation": "662:12:17", + "nodeType": "VariableDeclaration", + "scope": 3930, + "src": "647:33:17", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3567, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "647:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "value": { + "hexValue": "353030", + "id": 3568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "677:3:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_500_by_1", + "typeString": "int_const 500" + }, + "value": "500" + }, + "visibility": "public" + }, { "body": { - "id": 2483, + "id": 3614, "nodeType": "Block", - "src": "749:267:14", + "src": "807:275:17", "statements": [ { "expression": { - "id": 2453, + "id": 3584, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2451, + "id": 3582, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "755:11:14", + "referencedDeclaration": 3563, + "src": "814:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21231,49 +23276,49 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2452, + "id": 3583, "name": "_supplyLimt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2444, - "src": "769:11:14", + "referencedDeclaration": 3575, + "src": "828:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "755:25:14", + "src": "814:25:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2454, + "id": 3585, "nodeType": "ExpressionStatement", - "src": "755:25:14" + "src": "814:25:17" }, { "expression": { "arguments": [ { - "id": 2456, + "id": 3587, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2428, - "src": "800:9:14", + "referencedDeclaration": 3556, + "src": "860:9:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2457, + "id": 3588, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "811:18:14", + "src": "871:18:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21291,18 +23336,18 @@ "typeString": "bytes32" } ], - "id": 2455, + "id": 3586, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "786:13:14", + "referencedDeclaration": 251, + "src": "846:13:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 2458, + "id": 3589, "isConstant": false, "isLValue": false, "isPure": false, @@ -21310,39 +23355,39 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "786:44:14", + "src": "846:44:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2459, + "id": 3590, "nodeType": "ExpressionStatement", - "src": "786:44:14" + "src": "846:44:17" }, { "expression": { "arguments": [ { - "id": 2461, + "id": 3592, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "850:11:14", + "referencedDeclaration": 3561, + "src": "911:11:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2462, + "id": 3593, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "863:18:14", + "src": "924:18:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21360,18 +23405,18 @@ "typeString": "bytes32" } ], - "id": 2460, + "id": 3591, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 244, - "src": "836:13:14", + "referencedDeclaration": 251, + "src": "897:13:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 2463, + "id": 3594, "isConstant": false, "isLValue": false, "isPure": false, @@ -21379,27 +23424,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "836:46:14", + "src": "897:46:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2464, + "id": 3595, "nodeType": "ExpressionStatement", - "src": "836:46:14" + "src": "897:46:17" }, { "expression": { "arguments": [ { - "id": 2466, + "id": 3597, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "900:18:14", + "src": "963:18:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21407,25 +23452,25 @@ }, { "expression": { - "id": 2467, + "id": 3598, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "920:3:14", + "src": "983:3:17", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2468, + "id": 3599, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "920:10:14", + "src": "983:10:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21443,18 +23488,18 @@ "typeString": "address" } ], - "id": 2465, + "id": 3596, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "889:10:14", + "referencedDeclaration": 223, + "src": "952:10:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2469, + "id": 3600, "isConstant": false, "isLValue": false, "isPure": false, @@ -21462,27 +23507,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "889:42:14", + "src": "952:42:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2470, + "id": 3601, "nodeType": "ExpressionStatement", - "src": "889:42:14" + "src": "952:42:17" }, { "expression": { "arguments": [ { - "id": 2472, + "id": 3603, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "948:11:14", + "referencedDeclaration": 3561, + "src": "1012:11:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21490,25 +23535,25 @@ }, { "expression": { - "id": 2473, + "id": 3604, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "961:3:14", + "src": "1025:3:17", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2474, + "id": 3605, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "961:10:14", + "src": "1025:10:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21526,18 +23571,18 @@ "typeString": "address" } ], - "id": 2471, + "id": 3602, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "937:10:14", + "referencedDeclaration": 223, + "src": "1001:10:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2475, + "id": 3606, "isConstant": false, "isLValue": false, "isPure": false, @@ -21545,27 +23590,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "937:35:14", + "src": "1001:35:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2476, + "id": 3607, "nodeType": "ExpressionStatement", - "src": "937:35:14" + "src": "1001:35:17" }, { "expression": { "arguments": [ { - "id": 2478, + "id": 3609, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2428, - "src": "989:9:14", + "referencedDeclaration": 3556, + "src": "1054:9:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -21573,25 +23618,25 @@ }, { "expression": { - "id": 2479, + "id": 3610, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967281, - "src": "1000:3:14", + "src": "1065:3:17", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 2480, + "id": 3611, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "sender", "nodeType": "MemberAccess", - "src": "1000:10:14", + "src": "1065:10:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -21609,18 +23654,18 @@ "typeString": "address" } ], - "id": 2477, + "id": 3608, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 216, - "src": "978:10:14", + "referencedDeclaration": 223, + "src": "1043:10:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2481, + "id": 3612, "isConstant": false, "isLValue": false, "isPure": false, @@ -21628,79 +23673,79 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "978:33:14", + "src": "1043:33:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2482, + "id": 3613, "nodeType": "ExpressionStatement", - "src": "978:33:14" + "src": "1043:33:17" } ] }, - "id": 2484, + "id": 3615, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "id": 2447, + "id": 3578, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2440, - "src": "733:5:14", + "referencedDeclaration": 3571, + "src": "791:5:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 2448, + "id": 3579, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2442, - "src": "740:7:14", + "referencedDeclaration": 3573, + "src": "798:7:17", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } } ], - "id": 2449, + "id": 3580, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 2446, + "id": 3577, "name": "ERC721", "nodeType": "IdentifierPath", - "referencedDeclaration": 1247, - "src": "726:6:14" + "referencedDeclaration": 1315, + "src": "784:6:17" }, "nodeType": "ModifierInvocation", - "src": "726:22:14" + "src": "784:22:17" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 2445, + "id": 3576, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2440, + "id": 3571, "mutability": "mutable", "name": "_name", - "nameLocation": "664:5:14", + "nameLocation": "719:5:17", "nodeType": "VariableDeclaration", - "scope": 2484, - "src": "650:19:14", + "scope": 3615, + "src": "705:19:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21708,10 +23753,10 @@ "typeString": "string" }, "typeName": { - "id": 2439, + "id": 3570, "name": "string", "nodeType": "ElementaryTypeName", - "src": "650:6:14", + "src": "705:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -21721,13 +23766,13 @@ }, { "constant": false, - "id": 2442, + "id": 3573, "mutability": "mutable", "name": "_symbol", - "nameLocation": "689:7:14", + "nameLocation": "745:7:17", "nodeType": "VariableDeclaration", - "scope": 2484, - "src": "675:21:14", + "scope": 3615, + "src": "731:21:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -21735,10 +23780,10 @@ "typeString": "string" }, "typeName": { - "id": 2441, + "id": 3572, "name": "string", "nodeType": "ElementaryTypeName", - "src": "675:6:14", + "src": "731:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -21748,13 +23793,13 @@ }, { "constant": false, - "id": 2444, + "id": 3575, "mutability": "mutable", "name": "_supplyLimt", - "nameLocation": "710:11:14", + "nameLocation": "767:11:17", "nodeType": "VariableDeclaration", - "scope": 2484, - "src": "702:19:14", + "scope": 3615, + "src": "759:19:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21762,10 +23807,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2443, + "id": 3574, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "702:7:14", + "src": "759:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -21774,40 +23819,40 @@ "visibility": "internal" } ], - "src": "644:81:14" + "src": "698:85:17" }, "returnParameters": { - "id": 2450, + "id": 3581, "nodeType": "ParameterList", "parameters": [], - "src": "749:0:14" + "src": "807:0:17" }, - "scope": 2713, - "src": "633:383:14", + "scope": 3930, + "src": "687:395:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "baseFunctions": [ - 62, - 1431 + 60, + 1499 ], "body": { - "id": 2500, + "id": 3631, "nodeType": "Block", - "src": "1229:54:14", + "src": "1308:56:17", "statements": [ { "expression": { "arguments": [ { - "id": 2497, + "id": 3628, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2487, - "src": "1266:11:14", + "referencedDeclaration": 3618, + "src": "1346:11:17", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -21822,32 +23867,32 @@ } ], "expression": { - "id": 2495, + "id": 3626, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967271, - "src": "1242:5:14", + "src": "1322:5:17", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_NFTSbt_$2713_$", + "typeIdentifier": "t_type$_t_super$_NFTSbt_$3930_$", "typeString": "type(contract super NFTSbt)" } }, - "id": 2496, + "id": 3627, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 1431, - "src": "1242:23:14", + "referencedDeclaration": 1499, + "src": "1322:23:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 2498, + "id": 3629, "isConstant": false, "isLValue": false, "isPure": false, @@ -21855,68 +23900,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1242:36:14", + "src": "1322:36:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2494, - "id": 2499, + "functionReturnParameters": 3625, + "id": 3630, "nodeType": "Return", - "src": "1235:43:14" + "src": "1315:43:17" } ] }, "documentation": { - "id": 2485, + "id": 3616, "nodeType": "StructuredDocumentation", - "src": "1020:52:14", + "src": "1088:54:17", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", - "id": 2501, + "id": 3632, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "1084:17:14", + "nameLocation": "1155:17:17", "nodeType": "FunctionDefinition", "overrides": { - "id": 2491, + "id": 3622, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 2489, + "id": 3620, "name": "AccessControl", "nodeType": "IdentifierPath", - "referencedDeclaration": 308, - "src": "1175:13:14" + "referencedDeclaration": 315, + "src": "1252:13:17" }, { - "id": 2490, + "id": 3621, "name": "ERC721Enumerable", "nodeType": "IdentifierPath", - "referencedDeclaration": 1719, - "src": "1190:16:14" + "referencedDeclaration": 1803, + "src": "1267:16:17" } ], - "src": "1166:41:14" + "src": "1243:41:17" }, "parameters": { - "id": 2488, + "id": 3619, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2487, + "id": 3618, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "1114:11:14", + "nameLocation": "1186:11:17", "nodeType": "VariableDeclaration", - "scope": 2501, - "src": "1107:18:14", + "scope": 3632, + "src": "1179:18:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21924,10 +23969,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 2486, + "id": 3617, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "1107:6:14", + "src": "1179:6:17", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -21936,21 +23981,21 @@ "visibility": "internal" } ], - "src": "1101:28:14" + "src": "1172:30:17" }, "returnParameters": { - "id": 2494, + "id": 3625, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2493, + "id": 3624, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2501, - "src": "1221:4:14", + "scope": 3632, + "src": "1299:4:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -21958,10 +24003,10 @@ "typeString": "bool" }, "typeName": { - "id": 2492, + "id": 3623, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1221:4:14", + "src": "1299:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -21970,22 +24015,22 @@ "visibility": "internal" } ], - "src": "1220:6:14" + "src": "1298:6:17" }, - "scope": 2713, - "src": "1075:208:14", + "scope": 3930, + "src": "1146:218:17", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1557 + 1641 ], "body": { - "id": 2537, + "id": 3670, "nodeType": "Block", - "src": "1412:135:14", + "src": "1518:154:17", "statements": [ { "expression": { @@ -21995,7 +24040,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2525, + "id": 3657, "isConstant": false, "isLValue": false, "isPure": false, @@ -22005,18 +24050,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2518, + "id": 3650, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2513, + "id": 3645, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2503, - "src": "1426:4:14", + "referencedDeclaration": 3634, + "src": "1533:4:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22028,14 +24073,14 @@ "arguments": [ { "hexValue": "30", - "id": 2516, + "id": 3648, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1442:1:14", + "src": "1549:1:17", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -22050,26 +24095,26 @@ "typeString": "int_const 0" } ], - "id": 2515, + "id": 3647, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1434:7:14", + "src": "1541:7:17", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2514, + "id": 3646, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1434:7:14", + "src": "1541:7:17", "typeDescriptions": {} } }, - "id": 2517, + "id": 3649, "isConstant": false, "isLValue": false, "isPure": true, @@ -22077,14 +24122,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1434:10:14", + "src": "1541:10:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1426:18:14", + "src": "1533:18:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22097,18 +24142,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2524, + "id": 3656, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2519, + "id": 3651, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "1448:2:14", + "referencedDeclaration": 3636, + "src": "1555:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -22120,14 +24165,14 @@ "arguments": [ { "hexValue": "30", - "id": 2522, + "id": 3654, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1462:1:14", + "src": "1569:1:17", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -22142,26 +24187,26 @@ "typeString": "int_const 0" } ], - "id": 2521, + "id": 3653, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1454:7:14", + "src": "1561:7:17", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2520, + "id": 3652, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1454:7:14", + "src": "1561:7:17", "typeDescriptions": {} } }, - "id": 2523, + "id": 3655, "isConstant": false, "isLValue": false, "isPure": true, @@ -22169,20 +24214,20 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1454:10:14", + "src": "1561:10:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "1448:16:14", + "src": "1555:16:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1426:38:14", + "src": "1533:38:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -22190,14 +24235,14 @@ }, { "hexValue": "546f6b656e206e6f74207472616e7366657261626c65", - "id": 2526, + "id": 3658, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1466:24:14", + "src": "1573:24:17", "typeDescriptions": { "typeIdentifier": "t_stringliteral_59a1b9ae0c32ca530762c8a17f3a01f674ee00263439ad1ca86e8eef1f0b65d6", "typeString": "literal_string \"Token not transferable\"" @@ -22216,7 +24261,7 @@ "typeString": "literal_string \"Token not transferable\"" } ], - "id": 2512, + "id": 3644, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -22224,13 +24269,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1418:7:14", + "src": "1525:7:17", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2527, + "id": 3659, "isConstant": false, "isLValue": false, "isPure": false, @@ -22238,51 +24283,63 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1418:73:14", + "src": "1525:73:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2528, + "id": 3660, "nodeType": "ExpressionStatement", - "src": "1418:73:14" + "src": "1525:73:17" }, { "expression": { "arguments": [ { - "id": 2532, + "id": 3664, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2503, - "src": "1524:4:14", + "referencedDeclaration": 3634, + "src": "1632:4:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2533, + "id": 3665, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2505, - "src": "1530:2:14", + "referencedDeclaration": 3636, + "src": "1638:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2534, - "name": "tokenId", + "id": 3666, + "name": "firstTokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2507, - "src": "1534:7:14", + "referencedDeclaration": 3638, + "src": "1642:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3667, + "name": "batchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3640, + "src": "1656:9:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22295,6 +24352,543 @@ "typeIdentifier": "t_address", "typeString": "address" }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3661, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967271, + "src": "1605:5:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_NFTSbt_$3930_$", + "typeString": "type(contract super NFTSbt)" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_beforeTokenTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 1641, + "src": "1605:26:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 3668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1605:61:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3669, + "nodeType": "ExpressionStatement", + "src": "1605:61:17" + } + ] + }, + "id": 3671, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "1379:20:17", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3642, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "1509:8:17" + }, + "parameters": { + "id": 3641, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3634, + "mutability": "mutable", + "name": "from", + "nameLocation": "1414:4:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1406:12:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3633, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1406:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3636, + "mutability": "mutable", + "name": "to", + "nameLocation": "1433:2:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1425:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1425:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3638, + "mutability": "mutable", + "name": "firstTokenId", + "nameLocation": "1450:12:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1442:20:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3637, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1442:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3640, + "mutability": "mutable", + "name": "batchSize", + "nameLocation": "1477:9:17", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "1469:17:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3639, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1469:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1399:92:17" + }, + "returnParameters": { + "id": 3643, + "nodeType": "ParameterList", + "parameters": [], + "src": "1518:0:17" + }, + "scope": 3930, + "src": "1370:302:17", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 3684, + "nodeType": "Block", + "src": "1813:39:17", + "statements": [ + { + "expression": { + "id": 3682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 3680, + "name": "_metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3551, + "src": "1820:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3681, + "name": "metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3674, + "src": "1835:11:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1820:26:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3683, + "nodeType": "ExpressionStatement", + "src": "1820:26:17" + } + ] + }, + "documentation": { + "id": 3672, + "nodeType": "StructuredDocumentation", + "src": "1678:35:17", + "text": " @dev Set token URI" + }, + "functionSelector": "b6a6a93d", + "id": 3685, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3677, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "1793:18:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3678, + "kind": "modifierInvocation", + "modifierName": { + "id": 3676, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "1784:8:17" + }, + "nodeType": "ModifierInvocation", + "src": "1784:28:17" + } + ], + "name": "updateMetaAddress", + "nameLocation": "1726:17:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3675, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3674, + "mutability": "mutable", + "name": "metaAddress", + "nameLocation": "1758:11:17", + "nodeType": "VariableDeclaration", + "scope": 3685, + "src": "1750:19:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3673, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1750:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1743:31:17" + }, + "returnParameters": { + "id": 3679, + "nodeType": "ParameterList", + "parameters": [], + "src": "1813:0:17" + }, + "scope": 3930, + "src": "1717:135:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 593 + ], + "body": { + "id": 3712, + "nodeType": "Block", + "src": "2006:146:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3696, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3688, + "src": "2029:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3695, + "name": "_exists", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "2021:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", + "typeString": "function (uint256) view returns (bool)" + } + }, + "id": 3697, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2021:16:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "55524920717565727920666f72206e6f6e6578697374656e7420746f6b656e", + "id": 3698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2039:33:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "typeString": "literal_string \"URI query for nonexistent token\"" + }, + "value": "URI query for nonexistent token" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1cdec463df0fbdce13585c1435e3c4772f0033ebb8a813b127e59d923b0c9730", + "typeString": "literal_string \"URI query for nonexistent token\"" + } + ], + "id": 3694, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2013:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2013:60:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3700, + "nodeType": "ExpressionStatement", + "src": "2013:60:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 3707, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4294967268, + "src": "2131:4:17", + "typeDescriptions": { + "typeIdentifier": "t_contract$_NFTSbt_$3930", + "typeString": "contract NFTSbt" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_NFTSbt_$3930", + "typeString": "contract NFTSbt" + } + ], + "id": 3706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2123:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3705, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2123:7:17", + "typeDescriptions": {} + } + }, + "id": 3708, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2123:13:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3709, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3688, + "src": "2138:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" @@ -22305,666 +24899,122 @@ } ], "expression": { - "id": 2529, - "name": "super", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 4294967271, - "src": "1497:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_NFTSbt_$2713_$", - "typeString": "type(contract super NFTSbt)" - } - }, - "id": 2531, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "_beforeTokenTransfer", - "nodeType": "MemberAccess", - "referencedDeclaration": 1557, - "src": "1497:26:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,address,uint256)" - } - }, - "id": 2535, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1497:45:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 2536, - "nodeType": "ExpressionStatement", - "src": "1497:45:14" - } - ] - }, - "id": 2538, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_beforeTokenTransfer", - "nameLocation": "1296:20:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2510, - "nodeType": "OverrideSpecifier", - "overrides": [ - { - "id": 2509, - "name": "ERC721Enumerable", - "nodeType": "IdentifierPath", - "referencedDeclaration": 1719, - "src": "1394:16:14" - } - ], - "src": "1385:26:14" - }, - "parameters": { - "id": 2508, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2503, - "mutability": "mutable", - "name": "from", - "nameLocation": "1330:4:14", - "nodeType": "VariableDeclaration", - "scope": 2538, - "src": "1322:12:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2502, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1322:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2505, - "mutability": "mutable", - "name": "to", - "nameLocation": "1348:2:14", - "nodeType": "VariableDeclaration", - "scope": 2538, - "src": "1340:10:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 2504, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1340:7:14", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 2507, - "mutability": "mutable", - "name": "tokenId", - "nameLocation": "1364:7:14", - "nodeType": "VariableDeclaration", - "scope": 2538, - "src": "1356:15:14", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2506, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1356:7:14", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "1316:59:14" - }, - "returnParameters": { - "id": 2511, - "nodeType": "ParameterList", - "parameters": [], - "src": "1412:0:14" - }, - "scope": 2713, - "src": "1287:260:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "internal" - }, - { - "baseFunctions": [ - 598 - ], - "body": { - "id": 2546, - "nodeType": "Block", - "src": "1626:31:14", - "statements": [ - { - "expression": { - "id": 2544, - "name": "_baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2423, - "src": "1639:13:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "functionReturnParameters": 2543, - "id": 2545, - "nodeType": "Return", - "src": "1632:20:14" - } - ] - }, - "id": 2547, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "_baseURI", - "nameLocation": "1560:8:14", - "nodeType": "FunctionDefinition", - "overrides": { - "id": 2540, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "1593:8:14" - }, - "parameters": { - "id": 2539, - "nodeType": "ParameterList", - "parameters": [], - "src": "1568:2:14" - }, - "returnParameters": { - "id": 2543, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2542, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "1611:13:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2541, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1611:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1610:15:14" - }, - "scope": 2713, - "src": "1551:106:14", - "stateMutability": "view", - "virtual": true, - "visibility": "internal" - }, - { - "body": { - "id": 2560, - "nodeType": "Block", - "src": "1796:39:14", - "statements": [ - { - "expression": { - "id": 2558, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2556, - "name": "_baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2423, - "src": "1802:13:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2557, - "name": "baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2550, - "src": "1818:12:14", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "1802:28:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2559, - "nodeType": "ExpressionStatement", - "src": "1802:28:14" - } - ] - }, - "documentation": { - "id": 2548, - "nodeType": "StructuredDocumentation", - "src": "1661:33:14", - "text": " @dev Set token URI" - }, - "functionSelector": "931688cb", - "id": 2561, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2553, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1776:18:14", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2554, - "kind": "modifierInvocation", - "modifierName": { - "id": 2552, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "1767:8:14" - }, - "nodeType": "ModifierInvocation", - "src": "1767:28:14" - } - ], - "name": "updateBaseURI", - "nameLocation": "1706:13:14", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2551, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2550, - "mutability": "mutable", - "name": "baseTokenURI", - "nameLocation": "1741:12:14", - "nodeType": "VariableDeclaration", - "scope": 2561, - "src": "1725:28:14", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2549, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1725:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1719:38:14" - }, - "returnParameters": { - "id": 2555, - "nodeType": "ParameterList", - "parameters": [], - "src": "1796:0:14" - }, - "scope": 2713, - "src": "1697:138:14", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "baseFunctions": [ - 589 - ], - "body": { - "id": 2586, - "nodeType": "Block", - "src": "1988:98:14", - "statements": [ - { - "assignments": [ - 2571 - ], - "declarations": [ - { - "constant": false, - "id": 2571, - "mutability": "mutable", - "name": "baseURI", - "nameLocation": "2008:7:14", - "nodeType": "VariableDeclaration", - "scope": 2586, - "src": "1994:21:14", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2570, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1994:6:14", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "id": 2574, - "initialValue": { - "arguments": [], - "expression": { - "argumentTypes": [], - "id": 2572, - "name": "_baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [ - 2547 - ], - "referencedDeclaration": 2547, - "src": "2018:8:14", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", - "typeString": "function () view returns (string memory)" - } - }, - "id": 2573, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2018:10:14", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1994:34:14" - }, - { - "expression": { - "condition": { - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 2581, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { + "arguments": [ + { + "id": 3702, + "name": "_metaAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3551, + "src": "2097:12:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], "expression": { - "arguments": [ + "argumentTypes": [ { - "id": 2577, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "2047:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } + "typeIdentifier": "t_address", + "typeString": "address" } ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 2576, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2041:5:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 2575, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2041:5:14", - "typeDescriptions": {} - } - }, - "id": 2578, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2041:14:14", - "tryCall": false, + "id": 3701, + "name": "IMetaData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3535, + "src": "2087:9:17", "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" + "typeIdentifier": "t_type$_t_contract$_IMetaData_$3535_$", + "typeString": "type(contract IMetaData)" } }, - "id": 2579, + "id": 3703, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "typeConversion", "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "src": "2041:21:14", + "names": [], + "nodeType": "FunctionCall", + "src": "2087:23:17", + "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_contract$_IMetaData_$3535", + "typeString": "contract IMetaData" } }, - "nodeType": "BinaryOperation", - "operator": ">", - "rightExpression": { - "hexValue": "30", - "id": 2580, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2065:1:14", - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - "src": "2041:25:14", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "falseExpression": { - "hexValue": "", - "id": 2583, + "id": 3704, "isConstant": false, "isLValue": false, - "isPure": true, - "kind": "string", + "isPure": false, "lValueRequested": false, - "nodeType": "Literal", - "src": "2079:2:14", + "memberName": "getMetaData", + "nodeType": "MemberAccess", + "referencedDeclaration": 3534, + "src": "2087:35:17", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" + "typeIdentifier": "t_function_external_view$_t_address_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (address,uint256) view external returns (string memory)" + } }, - "id": 2584, + "id": 3710, "isConstant": false, "isLValue": false, "isPure": false, + "kind": "functionCall", "lValueRequested": false, - "nodeType": "Conditional", - "src": "2041:40:14", - "trueExpression": { - "id": 2582, - "name": "baseURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2571, - "src": "2069:7:14", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, + "names": [], + "nodeType": "FunctionCall", + "src": "2087:59:17", + "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "functionReturnParameters": 2569, - "id": 2585, + "functionReturnParameters": 3693, + "id": 3711, "nodeType": "Return", - "src": "2034:47:14" + "src": "2080:66:17" } ] }, "documentation": { - "id": 2562, + "id": 3686, "nodeType": "StructuredDocumentation", - "src": "1839:50:14", - "text": " @dev one type nft has same tokenURI" + "src": "1858:54:17", + "text": " @dev one type badge has same tokenURI" }, "functionSelector": "c87b56dd", - "id": 2587, + "id": 3713, "implemented": true, "kind": "function", "modifiers": [], "name": "tokenURI", - "nameLocation": "1901:8:14", + "nameLocation": "1925:8:17", "nodeType": "FunctionDefinition", "overrides": { - "id": 2566, + "id": 3690, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "1955:8:14" + "src": "1973:8:17" }, "parameters": { - "id": 2565, + "id": 3689, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2564, + "id": 3688, "mutability": "mutable", "name": "tokenId", - "nameLocation": "1923:7:14", + "nameLocation": "1948:7:17", "nodeType": "VariableDeclaration", - "scope": 2587, - "src": "1915:15:14", + "scope": 3713, + "src": "1940:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -22972,10 +25022,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2563, + "id": 3687, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1915:7:14", + "src": "1940:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -22984,21 +25034,21 @@ "visibility": "internal" } ], - "src": "1909:25:14" + "src": "1933:27:17" }, "returnParameters": { - "id": 2569, + "id": 3693, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2568, + "id": 3692, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2587, - "src": "1973:13:14", + "scope": 3713, + "src": "1991:13:17", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -23006,10 +25056,10 @@ "typeString": "string" }, "typeName": { - "id": 2567, + "id": 3691, "name": "string", "nodeType": "ElementaryTypeName", - "src": "1973:6:14", + "src": "1991:6:17", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -23018,128 +25068,84 @@ "visibility": "internal" } ], - "src": "1972:15:14" + "src": "1990:15:17" }, - "scope": 2713, - "src": "1892:194:14", + "scope": 3930, + "src": "1916:236:17", "stateMutability": "view", - "virtual": true, + "virtual": false, "visibility": "public" }, { "body": { - "id": 2641, + "id": 3803, "nodeType": "Block", - "src": "2165:308:14", + "src": "2277:532:17", "statements": [ { "expression": { "arguments": [ { "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" }, - "id": 2603, + "id": 3729, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2598, - "name": "to", + "id": 3727, + "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2589, - "src": "2179:2:14", + "referencedDeclaration": 3717, + "src": "2292:5:17", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" + "typeIdentifier": "t_uint256", + "typeString": "uint256" } }, "nodeType": "BinaryOperation", - "operator": "!=", + "operator": ">", "rightExpression": { - "arguments": [ - { - "hexValue": "30", - "id": 2601, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2193:1:14", - "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": 2600, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2185:7:14", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 2599, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2185:7:14", - "typeDescriptions": {} - } - }, - "id": 2602, + "hexValue": "30", + "id": 3728, "isConstant": false, "isLValue": false, "isPure": true, - "kind": "typeConversion", + "kind": "number", "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2185:10:14", - "tryCall": false, + "nodeType": "Literal", + "src": "2300:1:17", "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" }, - "src": "2179:16:14", + "src": "2292:9:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { - "hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373", - "id": 2604, + "hexValue": "746f6b656e49647320746f6f20736d616c6c", + "id": 3730, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2197:29:14", + "src": "2303:20:17", "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", - "typeString": "literal_string \"Cannot mint to zero address\"" + "typeIdentifier": "t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "typeString": "literal_string \"tokenIds too small\"" }, - "value": "Cannot mint to zero address" + "value": "tokenIds too small" } ], "expression": { @@ -23149,11 +25155,11 @@ "typeString": "bool" }, { - "typeIdentifier": "t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", - "typeString": "literal_string \"Cannot mint to zero address\"" + "typeIdentifier": "t_stringliteral_1c49d91ddef9b1e728d97a857146ccbd5a386c424bd9b4f24f2be695bf1b985a", + "typeString": "literal_string \"tokenIds too small\"" } ], - "id": 2597, + "id": 3726, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -23161,13 +25167,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2171:7:14", + "src": "2284:7:17", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2605, + "id": 3731, "isConstant": false, "isLValue": false, "isPure": false, @@ -23175,16 +25181,122 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2171:56:14", + "src": "2284:40:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2606, + "id": 3732, "nodeType": "ExpressionStatement", - "src": "2171:56:14" + "src": "2284:40:17" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3734, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2339:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 3735, + "name": "maxBatchSize", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3569, + "src": "2348:12:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2339:21:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746f6b656e49647320746f6f206d616e79", + "id": 3737, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2362:19:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + }, + "value": "tokenIds too many" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", + "typeString": "literal_string \"tokenIds too many\"" + } + ], + "id": 3733, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2331:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2331:51:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3739, + "nodeType": "ExpressionStatement", + "src": "2331:51:17" }, { "condition": { @@ -23192,18 +25304,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2609, + "id": 3742, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2607, + "id": 3740, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "2237:11:14", + "referencedDeclaration": 3563, + "src": "2393:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23213,33 +25325,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 2608, + "id": 3741, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2251:1:14", + "src": "2407:1:17", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "2237:15:14", + "src": "2393:15:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2622, + "id": 3755, "nodeType": "IfStatement", - "src": "2233:106:14", + "src": "2389:139:17", "trueBody": { - "id": 2621, + "id": 3754, "nodeType": "Block", - "src": "2254:85:14", + "src": "2410:118:17", "statements": [ { "expression": { @@ -23249,7 +25361,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2617, + "id": 3750, "isConstant": false, "isLValue": false, "isPure": false, @@ -23261,7 +25373,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2614, + "id": 3747, "isConstant": false, "isLValue": false, "isPure": false, @@ -23270,18 +25382,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2611, + "id": 3744, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1470, - "src": "2271:11:14", + "referencedDeclaration": 1538, + "src": "2438:11:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 2612, + "id": 3745, "isConstant": false, "isLValue": false, "isPure": false, @@ -23289,7 +25401,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2271:13:14", + "src": "2438:13:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23299,36 +25411,32 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "hexValue": "31", - "id": 2613, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2287:1:14", + "id": 3746, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2454:5:17", "typeDescriptions": { - "typeIdentifier": "t_rational_1_by_1", - "typeString": "int_const 1" - }, - "value": "1" + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } }, - "src": "2271:17:14", + "src": "2438:21:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2615, + "id": 3748, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "2270:19:14", + "src": "2437:23:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23337,18 +25445,18 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "id": 2616, + "id": 3749, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2435, - "src": "2293:11:14", + "referencedDeclaration": 3563, + "src": "2464:11:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2270:34:14", + "src": "2437:38:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -23356,14 +25464,14 @@ }, { "hexValue": "4578636565642074686520746f74616c20737570706c79", - "id": 2618, + "id": 3751, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2306:25:14", + "src": "2486:25:17", "typeDescriptions": { "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "typeString": "literal_string \"Exceed the total supply\"" @@ -23382,7 +25490,7 @@ "typeString": "literal_string \"Exceed the total supply\"" } ], - "id": 2610, + "id": 3743, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -23390,13 +25498,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2262:7:14", + "src": "2419:7:17", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2619, + "id": 3752, "isConstant": false, "isLValue": false, "isPure": false, @@ -23404,16 +25512,1100 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2262:70:14", + "src": "2419:101:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2620, + "id": 3753, "nodeType": "ExpressionStatement", - "src": "2262:70:14" + "src": "2419:101:17" + } + ] + } + }, + { + "assignments": [ + 3760 + ], + "declarations": [ + { + "constant": false, + "id": 3760, + "mutability": "mutable", + "name": "tokenIds", + "nameLocation": "2551:8:17", + "nodeType": "VariableDeclaration", + "scope": 3803, + "src": "2534:25:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3758, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2534:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3759, + "nodeType": "ArrayTypeName", + "src": "2534:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 3766, + "initialValue": { + "arguments": [ + { + "id": 3764, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2576:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "2562:13:17", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (uint256[] memory)" + }, + "typeName": { + "baseType": { + "id": 3761, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2566:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3762, + "nodeType": "ArrayTypeName", + "src": "2566:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "id": 3765, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2562:20:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2534:48:17" + }, + { + "body": { + "id": 3799, + "nodeType": "Block", + "src": "2625:157:17", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3777, + "name": "_tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "2634:15:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 3779, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "increment", + "nodeType": "MemberAccess", + "referencedDeclaration": 2245, + "src": "2634:25:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2219_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer)" + } + }, + "id": 3780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2634:27:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3781, + "nodeType": "ExpressionStatement", + "src": "2634:27:17" + }, + { + "assignments": [ + 3783 + ], + "declarations": [ + { + "constant": false, + "id": 3783, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2678:7:17", + "nodeType": "VariableDeclaration", + "scope": 3799, + "src": "2670:15:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3782, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2670:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3787, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 3784, + "name": "_tokenIdCounter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3566, + "src": "2688:15:17", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$2219_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 3785, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 2231, + "src": "2688:23:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2219_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" + } + }, + "id": 3786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2688:25:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2670:43:17" + }, + { + "expression": { + "arguments": [ + { + "id": 3789, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3715, + "src": "2732:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3790, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3783, + "src": "2736:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3788, + "name": "_safeMint", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 883, + 912 + ], + "referencedDeclaration": 883, + "src": "2722:9:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2722:22:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3792, + "nodeType": "ExpressionStatement", + "src": "2722:22:17" + }, + { + "expression": { + "id": 3797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 3793, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "2753:8:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "id": 3795, + "indexExpression": { + "id": 3794, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "2762:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2753:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3796, + "name": "tokenId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3783, + "src": "2767:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2753:21:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3798, + "nodeType": "ExpressionStatement", + "src": "2753:21:17" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3771, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "2609:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 3772, + "name": "count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3717, + "src": "2613:5:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2609:9:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3800, + "initializationExpression": { + "assignments": [ + 3768 + ], + "declarations": [ + { + "constant": false, + "id": 3768, + "mutability": "mutable", + "name": "i", + "nameLocation": "2602:1:17", + "nodeType": "VariableDeclaration", + "scope": 3800, + "src": "2594:9:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3767, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2594:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 3770, + "initialValue": { + "hexValue": "30", + "id": 3769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2606:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "2594:13:17" + }, + "loopExpression": { + "expression": { + "id": 3775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "2620:3:17", + "subExpression": { + "id": 3774, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3768, + "src": "2620:1:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3776, + "nodeType": "ExpressionStatement", + "src": "2620:3:17" + }, + "nodeType": "ForStatement", + "src": "2589:193:17" + }, + { + "expression": { + "id": 3801, + "name": "tokenIds", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "2795:8:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 3725, + "id": 3802, + "nodeType": "Return", + "src": "2788:15:17" + } + ] + }, + "functionSelector": "43508b05", + "id": 3804, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3720, + "name": "MINTER_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3561, + "src": "2237:11:17", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 3721, + "kind": "modifierInvocation", + "modifierName": { + "id": 3719, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 38, + "src": "2228:8:17" + }, + "nodeType": "ModifierInvocation", + "src": "2228:21:17" + } + ], + "name": "batchMint", + "nameLocation": "2167:9:17", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3718, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3715, + "mutability": "mutable", + "name": "to", + "nameLocation": "2191:2:17", + "nodeType": "VariableDeclaration", + "scope": 3804, + "src": "2183:10:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3714, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2183:7:17", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3717, + "mutability": "mutable", + "name": "count", + "nameLocation": "2208:5:17", + "nodeType": "VariableDeclaration", + "scope": 3804, + "src": "2200:13:17", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3716, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2200:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2176:42:17" + }, + "returnParameters": { + "id": 3725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3804, + "src": "2259:16:17", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2259:7:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3723, + "nodeType": "ArrayTypeName", + "src": "2259:9:17", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2258:18:17" + }, + "scope": 3930, + "src": "2158:651:17", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3858, + "nodeType": "Block", + "src": "2890:317:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3815, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3806, + "src": "2905:2:17", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3818, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2919:1:17", + "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": 3817, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2911:7:17", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3816, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2911:7:17", + "typeDescriptions": {} + } + }, + "id": 3819, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2911:10:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2905:16:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "43616e6e6f74206d696e7420746f207a65726f2061646472657373", + "id": 3821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2923:29:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "typeString": "literal_string \"Cannot mint to zero address\"" + }, + "value": "Cannot mint to zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_2ee0416c341986fdecc3cbd81cd5d77b44e6537a4f9aa8afff73aa35a7384cb9", + "typeString": "literal_string \"Cannot mint to zero address\"" + } + ], + "id": 3814, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2897:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2897:56:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3823, + "nodeType": "ExpressionStatement", + "src": "2897:56:17" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3824, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "2964:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 3825, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2978:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2964:15:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 3839, + "nodeType": "IfStatement", + "src": "2960:108:17", + "trueBody": { + "id": 3838, + "nodeType": "Block", + "src": "2981:87:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3831, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 3828, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1538, + "src": "2999:11:17", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", + "typeString": "function () view returns (uint256)" + } + }, + "id": 3829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2999:13:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 3830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3015:1:17", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2999:17:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3832, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2998:19:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "id": 3833, + "name": "supplyLimit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3563, + "src": "3021:11:17", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "2998:34:17", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4578636565642074686520746f74616c20737570706c79", + "id": 3835, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3034:25:17", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + }, + "value": "Exceed the total supply" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", + "typeString": "literal_string \"Exceed the total supply\"" + } + ], + "id": 3827, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2990:7:17", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3836, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2990:70:17", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3837, + "nodeType": "ExpressionStatement", + "src": "2990:70:17" } ] } @@ -23424,32 +26616,32 @@ "expression": { "argumentTypes": [], "expression": { - "id": 2623, + "id": 3840, "name": "_tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "2344:15:14", + "referencedDeclaration": 3566, + "src": "3074:15:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2100_storage", + "typeIdentifier": "t_struct$_Counter_$2219_storage", "typeString": "struct Counters.Counter storage ref" } }, - "id": 2625, + "id": 3842, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "increment", "nodeType": "MemberAccess", - "referencedDeclaration": 2126, - "src": "2344:25:14", + "referencedDeclaration": 2245, + "src": "3074:25:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2100_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2100_storage_ptr_$", + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$2219_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", "typeString": "function (struct Counters.Counter storage pointer)" } }, - "id": 2626, + "id": 3843, "isConstant": false, "isLValue": false, "isPure": false, @@ -23457,31 +26649,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2344:27:14", + "src": "3074:27:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2627, + "id": 3844, "nodeType": "ExpressionStatement", - "src": "2344:27:14" + "src": "3074:27:17" }, { "assignments": [ - 2629 + 3846 ], "declarations": [ { "constant": false, - "id": 2629, + "id": 3846, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2385:7:14", + "nameLocation": "3116:7:17", "nodeType": "VariableDeclaration", - "scope": 2641, - "src": "2377:15:14", + "scope": 3858, + "src": "3108:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23489,10 +26681,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2628, + "id": 3845, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2377:7:14", + "src": "3108:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23501,38 +26693,38 @@ "visibility": "internal" } ], - "id": 2633, + "id": 3850, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], "expression": { - "id": 2630, + "id": 3847, "name": "_tokenIdCounter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2438, - "src": "2395:15:14", + "referencedDeclaration": 3566, + "src": "3126:15:17", "typeDescriptions": { - "typeIdentifier": "t_struct$_Counter_$2100_storage", + "typeIdentifier": "t_struct$_Counter_$2219_storage", "typeString": "struct Counters.Counter storage ref" } }, - "id": 2631, + "id": 3848, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, "memberName": "current", "nodeType": "MemberAccess", - "referencedDeclaration": 2112, - "src": "2395:23:14", + "referencedDeclaration": 2231, + "src": "3126:23:17", "typeDescriptions": { - "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2100_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2100_storage_ptr_$", + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$2219_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$2219_storage_ptr_$", "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" } }, - "id": 2632, + "id": 3849, "isConstant": false, "isLValue": false, "isPure": false, @@ -23540,7 +26732,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2395:25:14", + "src": "3126:25:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -23548,30 +26740,30 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2377:43:14" + "src": "3108:43:17" }, { "expression": { "arguments": [ { - "id": 2635, + "id": 3852, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2589, - "src": "2436:2:14", + "referencedDeclaration": 3806, + "src": "3168:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2636, + "id": 3853, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2629, - "src": "2440:7:14", + "referencedDeclaration": 3846, + "src": "3172:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23589,21 +26781,21 @@ "typeString": "uint256" } ], - "id": 2634, + "id": 3851, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [ - 876, - 905 + 883, + 912 ], - "referencedDeclaration": 876, - "src": "2426:9:14", + "referencedDeclaration": 883, + "src": "3158:9:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2637, + "id": 3854, "isConstant": false, "isLValue": false, "isPure": false, @@ -23611,86 +26803,86 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2426:22:14", + "src": "3158:22:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2638, + "id": 3855, "nodeType": "ExpressionStatement", - "src": "2426:22:14" + "src": "3158:22:17" }, { "expression": { - "id": 2639, + "id": 3856, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2629, - "src": "2461:7:14", + "referencedDeclaration": 3846, + "src": "3194:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2596, - "id": 2640, + "functionReturnParameters": 3813, + "id": 3857, "nodeType": "Return", - "src": "2454:14:14" + "src": "3187:14:17" } ] }, "functionSelector": "6a627842", - "id": 2642, + "id": 3859, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2592, + "id": 3809, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "2134:11:14", + "referencedDeclaration": 3561, + "src": "2859:11:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2593, + "id": 3810, "kind": "modifierInvocation", "modifierName": { - "id": 2591, + "id": 3808, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "2125:8:14" + "referencedDeclaration": 38, + "src": "2850:8:17" }, "nodeType": "ModifierInvocation", - "src": "2125:21:14" + "src": "2850:21:17" } ], "name": "mint", - "nameLocation": "2099:4:14", + "nameLocation": "2824:4:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2590, + "id": 3807, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2589, + "id": 3806, "mutability": "mutable", "name": "to", - "nameLocation": "2112:2:14", + "nameLocation": "2837:2:17", "nodeType": "VariableDeclaration", - "scope": 2642, - "src": "2104:10:14", + "scope": 3859, + "src": "2829:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23698,10 +26890,10 @@ "typeString": "address" }, "typeName": { - "id": 2588, + "id": 3805, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2104:7:14", + "src": "2829:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23711,21 +26903,21 @@ "visibility": "internal" } ], - "src": "2103:12:14" + "src": "2828:12:17" }, "returnParameters": { - "id": 2596, + "id": 3813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2595, + "id": 3812, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2642, - "src": "2156:7:14", + "scope": 3859, + "src": "2881:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -23733,10 +26925,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2594, + "id": 3811, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2156:7:14", + "src": "2881:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23745,19 +26937,19 @@ "visibility": "internal" } ], - "src": "2155:9:14" + "src": "2880:9:17" }, - "scope": 2713, - "src": "2090:383:14", + "scope": 3930, + "src": "2815:392:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2663, + "id": 3880, "nodeType": "Block", - "src": "2537:135:14", + "src": "3273:141:17", "statements": [ { "expression": { @@ -23768,18 +26960,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2652, + "id": 3869, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2084, - "src": "2577:10:14", + "referencedDeclaration": 2203, + "src": "3315:10:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 2653, + "id": 3870, "isConstant": false, "isLValue": false, "isPure": false, @@ -23787,7 +26979,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2577:12:14", + "src": "3315:12:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -23795,12 +26987,12 @@ } }, { - "id": 2654, + "id": 3871, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2644, - "src": "2591:7:14", + "referencedDeclaration": 3861, + "src": "3329:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23818,18 +27010,18 @@ "typeString": "uint256" } ], - "id": 2651, + "id": 3868, "name": "_isApprovedOrOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 861, - "src": "2558:18:14", + "referencedDeclaration": 868, + "src": "3296:18:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bool_$", "typeString": "function (address,uint256) view returns (bool)" } }, - "id": 2655, + "id": 3872, "isConstant": false, "isLValue": false, "isPure": false, @@ -23837,7 +27029,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2558:41:14", + "src": "3296:41:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -23846,14 +27038,14 @@ }, { "hexValue": "43616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564", - "id": 2656, + "id": 3873, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2607:34:14", + "src": "3346:34:17", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c52d8a267cca22510f5a5b23cfd13135d738a215ab145957a8742a2248da059d", "typeString": "literal_string \"Caller is not owner nor approved\"" @@ -23872,7 +27064,7 @@ "typeString": "literal_string \"Caller is not owner nor approved\"" } ], - "id": 2650, + "id": 3867, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -23880,13 +27072,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2543:7:14", + "src": "3280:7:17", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2657, + "id": 3874, "isConstant": false, "isLValue": false, "isPure": false, @@ -23894,27 +27086,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2543:104:14", + "src": "3280:107:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2658, + "id": 3875, "nodeType": "ExpressionStatement", - "src": "2543:104:14" + "src": "3280:107:17" }, { "expression": { "arguments": [ { - "id": 2660, + "id": 3877, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2644, - "src": "2659:7:14", + "referencedDeclaration": 3861, + "src": "3400:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -23928,18 +27120,18 @@ "typeString": "uint256" } ], - "id": 2659, + "id": 3876, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1031, - "src": "2653:5:14", + "referencedDeclaration": 1056, + "src": "3394:5:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2661, + "id": 3878, "isConstant": false, "isLValue": false, "isPure": false, @@ -23947,68 +27139,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2653:14:14", + "src": "3394:14:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2662, + "id": 3879, "nodeType": "ExpressionStatement", - "src": "2653:14:14" + "src": "3394:14:17" } ] }, "functionSelector": "42966c68", - "id": 2664, + "id": 3881, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2647, + "id": 3864, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2428, - "src": "2526:9:14", + "referencedDeclaration": 3556, + "src": "3262:9:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2648, + "id": 3865, "kind": "modifierInvocation", "modifierName": { - "id": 2646, + "id": 3863, "name": "onlyRole", "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "2517:8:14" + "referencedDeclaration": 38, + "src": "3253:8:17" }, "nodeType": "ModifierInvocation", - "src": "2517:19:14" + "src": "3253:19:17" } ], "name": "burn", - "nameLocation": "2486:4:14", + "nameLocation": "3222:4:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2645, + "id": 3862, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2644, + "id": 3861, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2499:7:14", + "nameLocation": "3235:7:17", "nodeType": "VariableDeclaration", - "scope": 2664, - "src": "2491:15:14", + "scope": 3881, + "src": "3227:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24016,10 +27208,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2643, + "id": 3860, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2491:7:14", + "src": "3227:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24028,48 +27220,48 @@ "visibility": "internal" } ], - "src": "2490:17:14" + "src": "3226:17:17" }, "returnParameters": { - "id": 2649, + "id": 3866, "nodeType": "ParameterList", "parameters": [], - "src": "2537:0:14" + "src": "3273:0:17" }, - "scope": 2713, - "src": "2477:195:14", + "scope": 3930, + "src": "3213:201:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2675, + "id": 3892, "nodeType": "Block", - "src": "2767:37:14", + "src": "3514:39:17", "statements": [ { "expression": { "arguments": [ { - "id": 2671, + "id": 3888, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "2783:11:14", + "referencedDeclaration": 3561, + "src": "3531:11:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2672, + "id": 3889, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2667, - "src": "2796:2:14", + "referencedDeclaration": 3884, + "src": "3544:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24087,18 +27279,18 @@ "typeString": "address" } ], - "id": 2670, + "id": 3887, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "2773:9:14", + "referencedDeclaration": 166, + "src": "3521:9:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2673, + "id": 3890, "isConstant": false, "isLValue": false, "isPure": false, @@ -24106,46 +27298,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2773:26:14", + "src": "3521:26:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2674, + "id": 3891, "nodeType": "ExpressionStatement", - "src": "2773:26:14" + "src": "3521:26:17" } ] }, "documentation": { - "id": 2665, + "id": 3882, "nodeType": "StructuredDocumentation", - "src": "2676:46:14", + "src": "3420:48:17", "text": " @dev Grant mint role to address" }, "functionSelector": "530dd079", - "id": 2676, + "id": 3893, "implemented": true, "kind": "function", "modifiers": [], "name": "setMintRole", - "nameLocation": "2734:11:14", + "nameLocation": "3481:11:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2668, + "id": 3885, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2667, + "id": 3884, "mutability": "mutable", "name": "to", - "nameLocation": "2754:2:14", + "nameLocation": "3501:2:17", "nodeType": "VariableDeclaration", - "scope": 2676, - "src": "2746:10:14", + "scope": 3893, + "src": "3493:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24153,10 +27345,10 @@ "typeString": "address" }, "typeName": { - "id": 2666, + "id": 3883, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2746:7:14", + "src": "3493:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24166,48 +27358,48 @@ "visibility": "internal" } ], - "src": "2745:12:14" + "src": "3492:12:17" }, "returnParameters": { - "id": 2669, + "id": 3886, "nodeType": "ParameterList", "parameters": [], - "src": "2767:0:14" + "src": "3514:0:17" }, - "scope": 2713, - "src": "2725:79:14", + "scope": 3930, + "src": "3472:81:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2687, + "id": 3904, "nodeType": "Block", - "src": "2903:38:14", + "src": "3657:40:17", "statements": [ { "expression": { "arguments": [ { - "id": 2683, + "id": 3900, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2433, - "src": "2920:11:14", + "referencedDeclaration": 3561, + "src": "3675:11:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2684, + "id": 3901, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2679, - "src": "2933:2:14", + "referencedDeclaration": 3896, + "src": "3688:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24225,18 +27417,18 @@ "typeString": "address" } ], - "id": 2682, + "id": 3899, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "2909:10:14", + "referencedDeclaration": 186, + "src": "3664:10:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2685, + "id": 3902, "isConstant": false, "isLValue": false, "isPure": false, @@ -24244,46 +27436,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2909:27:14", + "src": "3664:27:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2686, + "id": 3903, "nodeType": "ExpressionStatement", - "src": "2909:27:14" + "src": "3664:27:17" } ] }, "documentation": { - "id": 2677, + "id": 3894, "nodeType": "StructuredDocumentation", - "src": "2808:47:14", + "src": "3559:49:17", "text": " @dev Remove mint role to address" }, "functionSelector": "1cf4e3ee", - "id": 2688, + "id": 3905, "implemented": true, "kind": "function", "modifiers": [], "name": "removeMintRole", - "nameLocation": "2867:14:14", + "nameLocation": "3621:14:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2680, + "id": 3897, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2679, + "id": 3896, "mutability": "mutable", "name": "to", - "nameLocation": "2890:2:14", + "nameLocation": "3644:2:17", "nodeType": "VariableDeclaration", - "scope": 2688, - "src": "2882:10:14", + "scope": 3905, + "src": "3636:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24291,10 +27483,10 @@ "typeString": "address" }, "typeName": { - "id": 2678, + "id": 3895, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2882:7:14", + "src": "3636:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24304,48 +27496,48 @@ "visibility": "internal" } ], - "src": "2881:12:14" + "src": "3635:12:17" }, "returnParameters": { - "id": 2681, + "id": 3898, "nodeType": "ParameterList", "parameters": [], - "src": "2903:0:14" + "src": "3657:0:17" }, - "scope": 2713, - "src": "2858:83:14", + "scope": 3930, + "src": "3612:85:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2699, + "id": 3916, "nodeType": "Block", - "src": "3036:35:14", + "src": "3797:37:17", "statements": [ { "expression": { "arguments": [ { - "id": 2695, + "id": 3912, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2428, - "src": "3052:9:14", + "referencedDeclaration": 3556, + "src": "3814:9:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2696, + "id": 3913, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2691, - "src": "3063:2:14", + "referencedDeclaration": 3908, + "src": "3825:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24363,18 +27555,18 @@ "typeString": "address" } ], - "id": 2694, + "id": 3911, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 159, - "src": "3042:9:14", + "referencedDeclaration": 166, + "src": "3804:9:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2697, + "id": 3914, "isConstant": false, "isLValue": false, "isPure": false, @@ -24382,46 +27574,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3042:24:14", + "src": "3804:24:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2698, + "id": 3915, "nodeType": "ExpressionStatement", - "src": "3042:24:14" + "src": "3804:24:17" } ] }, "documentation": { - "id": 2689, + "id": 3906, "nodeType": "StructuredDocumentation", - "src": "2945:46:14", + "src": "3703:48:17", "text": " @dev Grant burn role to address" }, "functionSelector": "327ba615", - "id": 2700, + "id": 3917, "implemented": true, "kind": "function", "modifiers": [], "name": "setBurnRole", - "nameLocation": "3003:11:14", + "nameLocation": "3764:11:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2692, + "id": 3909, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2691, + "id": 3908, "mutability": "mutable", "name": "to", - "nameLocation": "3023:2:14", + "nameLocation": "3784:2:17", "nodeType": "VariableDeclaration", - "scope": 2700, - "src": "3015:10:14", + "scope": 3917, + "src": "3776:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24429,10 +27621,10 @@ "typeString": "address" }, "typeName": { - "id": 2690, + "id": 3907, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3015:7:14", + "src": "3776:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24442,48 +27634,48 @@ "visibility": "internal" } ], - "src": "3014:12:14" + "src": "3775:12:17" }, "returnParameters": { - "id": 2693, + "id": 3910, "nodeType": "ParameterList", "parameters": [], - "src": "3036:0:14" + "src": "3797:0:17" }, - "scope": 2713, - "src": "2994:77:14", + "scope": 3930, + "src": "3755:79:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2711, + "id": 3928, "nodeType": "Block", - "src": "3170:36:14", + "src": "3938:38:17", "statements": [ { "expression": { "arguments": [ { - "id": 2707, + "id": 3924, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2428, - "src": "3187:9:14", + "referencedDeclaration": 3556, + "src": "3956:9:17", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2708, + "id": 3925, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2703, - "src": "3198:2:14", + "referencedDeclaration": 3920, + "src": "3967:2:17", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24501,18 +27693,18 @@ "typeString": "address" } ], - "id": 2706, + "id": 3923, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 179, - "src": "3176:10:14", + "referencedDeclaration": 186, + "src": "3945:10:17", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2709, + "id": 3926, "isConstant": false, "isLValue": false, "isPure": false, @@ -24520,46 +27712,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3176:25:14", + "src": "3945:25:17", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2710, + "id": 3927, "nodeType": "ExpressionStatement", - "src": "3176:25:14" + "src": "3945:25:17" } ] }, "documentation": { - "id": 2701, + "id": 3918, "nodeType": "StructuredDocumentation", - "src": "3075:47:14", + "src": "3840:49:17", "text": " @dev Remove burn role to address" }, "functionSelector": "965f4c60", - "id": 2712, + "id": 3929, "implemented": true, "kind": "function", "modifiers": [], "name": "removeBurnRole", - "nameLocation": "3134:14:14", + "nameLocation": "3902:14:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2704, + "id": 3921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2703, + "id": 3920, "mutability": "mutable", "name": "to", - "nameLocation": "3157:2:14", + "nameLocation": "3925:2:17", "nodeType": "VariableDeclaration", - "scope": 2712, - "src": "3149:10:14", + "scope": 3929, + "src": "3917:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24567,10 +27759,10 @@ "typeString": "address" }, "typeName": { - "id": 2702, + "id": 3919, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3149:7:14", + "src": "3917:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24580,35 +27772,35 @@ "visibility": "internal" } ], - "src": "3148:12:14" + "src": "3916:12:17" }, "returnParameters": { - "id": 2705, + "id": 3922, "nodeType": "ParameterList", "parameters": [], - "src": "3170:0:14" + "src": "3938:0:17" }, - "scope": 2713, - "src": "3125:81:14", + "scope": 3930, + "src": "3893:83:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 2714, - "src": "249:2959:14", + "scope": 3931, + "src": "298:3681:17", "usedErrors": [] } ], - "src": "32:3177:14" + "src": "33:3948:17" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": {}, - "schemaVersion": "3.4.11", - "updatedAt": "2023-06-14T06:31:28.726Z", + "schemaVersion": "3.4.14", + "updatedAt": "2023-11-03T11:11:46.942Z", "devdoc": { "kind": "dev", "methods": { @@ -24625,7 +27817,7 @@ "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." + "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. May emit a {RoleGranted} event." }, "hasRole(bytes32,address)": { "details": "Returns `true` if `account` has been granted `role`." @@ -24646,10 +27838,10 @@ "details": "Remove mint role to address" }, "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`." + "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`. May emit a {RoleRevoked} event." }, "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." + "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." }, "safeTransferFrom(address,address,uint256)": { "details": "See {IERC721-safeTransferFrom}." @@ -24679,7 +27871,7 @@ "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." }, "tokenURI(uint256)": { - "details": "one type nft has same tokenURI" + "details": "one type badge has same tokenURI" }, "totalSupply()": { "details": "See {IERC721Enumerable-totalSupply}." @@ -24687,7 +27879,7 @@ "transferFrom(address,address,uint256)": { "details": "See {IERC721-transferFrom}." }, - "updateBaseURI(string)": { + "updateMetaAddress(address)": { "details": "Set token URI" } }, diff --git a/contracts/tokens/erc721/NFTSbt.sol b/contracts/tokens/erc721/NFTSbt.sol index 8c00b2b..fb55f33 100644 --- a/contracts/tokens/erc721/NFTSbt.sol +++ b/contracts/tokens/erc721/NFTSbt.sol @@ -15,6 +15,8 @@ contract NFTSbt is AccessControl, ERC721Enumerable { Counters.Counter private _tokenIdCounter; + uint256 public maxBatchSize = 500; + constructor( string memory _name, string memory _symbol, @@ -73,6 +75,28 @@ contract NFTSbt is AccessControl, ERC721Enumerable { return IMetaData(_metaAddress).getMetaData(address(this), tokenId); } + function batchMint( + address to, + uint256 count + ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) { + require(count > 0, "tokenIds too small"); + require(count <= maxBatchSize, "tokenIds too many"); + if (supplyLimit > 0) { + require( + (totalSupply() + count) <= supplyLimit, + "Exceed the total supply" + ); + } + uint256[] memory tokenIds = new uint256[](count); + for (uint256 i = 0; i < count; i++) { + _tokenIdCounter.increment(); + uint256 tokenId = _tokenIdCounter.current(); + _safeMint(to, tokenId); + tokenIds[i] = tokenId; + } + return tokenIds; + } + function mint(address to) external onlyRole(MINTER_ROLE) returns (uint256) { require(to != address(0), "Cannot mint to zero address"); if (supplyLimit > 0) {