From b6b309aac28cb8a38b7c5f5fda7e2de457866adc Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 11 May 2023 16:08:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A4=9A=E7=AD=BE=E9=92=B1?= =?UTF-8?q?=E5=8C=85=E5=92=8Cnft=E5=88=86=E5=8F=91=E5=90=88=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/contracts/BEBadge.json | 15919 +++++++++++------------- build/contracts/BEMultiSigWallet.json | 14 +- build/contracts/NftDistributor.json | 6391 ++++++---- contracts/logic/NftDistributor.sol | 12 + contracts/tokens/erc721/BEBadge.sol | 10 + migrations/2_depoly_etc.js | 38 +- package.json | 1 + truffle-config.js | 18 + 8 files changed, 11536 insertions(+), 10867 deletions(-) diff --git a/build/contracts/BEBadge.json b/build/contracts/BEBadge.json index 5ea63a9..94d5d6a 100644 --- a/build/contracts/BEBadge.json +++ b/build/contracts/BEBadge.json @@ -651,26 +651,6 @@ "type": "function", "constant": true }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function", - "constant": true - }, { "inputs": [], "name": "totalSupply", @@ -708,19 +688,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "string", - "name": "baseURI_", - "type": "string" - } - ], - "name": "setBaseURI", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { @@ -882,6 +849,26 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "tokenURI", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, { "inputs": [ { @@ -921,22 +908,22 @@ "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\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"BatchMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UnLock\",\"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\":\"LOCK_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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"grantLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"isLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":\"proxy\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"removeLockRole\",\"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\":\"string\",\"name\":\"baseURI_\",\"type\":\"string\"}],\"name\":\"setBaseURI\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"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}.\"},\"batchMint(address,uint256)\":{\"details\":\"Batch mint tokens and transfer to specified address. Requirements: - Caller must have `MINTER_ROLE`. - The total supply limit should not be exceeded. - The number of tokenIds offered for minting should not exceed 100.\"},\"burn(address,uint256)\":{\"details\":\"Burns `tokenId`. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"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}.\"},\"grantLockRole(address)\":{\"details\":\"Add address for lock item\"},\"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}.\"},\"isLocked(uint256)\":{\"details\":\"Get lock status\"},\"lock(uint256)\":{\"details\":\"Lock token to use in game or for rental\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeLockRole(address)\":{\"details\":\"Remove address for lock item\"},\"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\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unlock(uint256)\":{\"details\":\"Unlock token to use blockchain or sale on marketplace\"},\"updateBaseURI(string)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/BEBadge.sol\":\"BEBadge\"},\"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/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/BEBadge.sol\":{\"keccak256\":\"0xe5962fb97e2ace8469d1c076c197b6e2400d7984d85202ac26d59e59be247bf5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://63f102e275b7809582f5f8ea89bf633396cbd9d4296a25cb11966746cab8cf99\",\"dweb:/ipfs/QmRNGRp8jeoyNcYx6u6Tvf1GsA3ZwBYqkdns3tbDfvooGR\"]}},\"version\":1}", - "bytecode": "0x60a06040526040518060600160405280602781526020016200564060279139600c908051906020019062000035929190620003f5565b503480156200004357600080fd5b50604051620056673803806200566783398181016040528101906200006991906200067d565b8282816001908051906020019062000083929190620003f5565b5080600290805190602001906200009c929190620003f5565b505050620000d47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b620001fa60201b60201c565b620001097fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b620001fa60201b60201c565b6200013e7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e7516000801b620001fa60201b60201c565b620001536000801b336200025d60201b60201c565b620001857f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200025d60201b60201c565b620001b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22336200025d60201b60201c565b620001e97fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751336200025d60201b60201c565b80608081815250505050506200077c565b60006200020d836200027360201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200026f82826200029260201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b620002a482826200038360201b60201c565b6200037f57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000324620003ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620004039062000746565b90600052602060002090601f01602090048101928262000427576000855562000473565b82601f106200044257805160ff191683800117855562000473565b8280016001018555821562000473579182015b828111156200047257825182559160200191906001019062000455565b5b50905062000482919062000486565b5090565b5b80821115620004a157600081600090555060010162000487565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200050e82620004c3565b810181811067ffffffffffffffff8211171562000530576200052f620004d4565b5b80604052505050565b600062000545620004a5565b905062000553828262000503565b919050565b600067ffffffffffffffff821115620005765762000575620004d4565b5b6200058182620004c3565b9050602081019050919050565b60005b83811015620005ae57808201518184015260208101905062000591565b83811115620005be576000848401525b50505050565b6000620005db620005d58462000558565b62000539565b905082815260208101848484011115620005fa57620005f9620004be565b5b620006078482856200058e565b509392505050565b600082601f830112620006275762000626620004b9565b5b815162000639848260208601620005c4565b91505092915050565b6000819050919050565b620006578162000642565b81146200066357600080fd5b50565b60008151905062000677816200064c565b92915050565b600080600060608486031215620006995762000698620004af565b5b600084015167ffffffffffffffff811115620006ba57620006b9620004b4565b5b620006c8868287016200060f565b935050602084015167ffffffffffffffff811115620006ec57620006eb620004b4565b5b620006fa868287016200060f565b92505060406200070d8682870162000666565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200075f57607f821691505b6020821081141562000776576200077562000717565b5b50919050565b608051614e9a620007a660003960008181610a1101528181610d1d0152610d440152614e9a6000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c80636352211e1161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106f9578063dcec329414610715578063dd46706414610745578063e985e9c514610761578063f6aacfb11461079157610248565b8063ace9e2e214610655578063b88d4fde14610671578063b930908f1461068d578063c87b56dd146106ab578063d5391393146106db57610248565b806395d89b41116100ff57806395d89b41146105c5578063965f4c60146105e35780639dc29fac146105ff578063a217fddf1461061b578063a22cb4651461063957610248565b80636352211e146104fd57806370a082311461052d57806379deb6e71461055d57806391d1485414610579578063931688cb146105a957610248565b80632f2ff15d116101c957806343508b051161018d57806343508b05146104495780634f6ccce714610479578063530dd079146104a957806355f804b3146104c55780636198e339146104e157610248565b80632f2ff15d146103a95780632f745c59146103c5578063327ba615146103f557806336568abe1461041157806342842e0e1461042d57610248565b806319d1997a1161021057806319d1997a146103055780631cf4e3ee1461032357806323b872dd1461033f578063248a9ca31461035b5780632f286b1b1461038b57610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b578063095ea7b3146102cb57806318160ddd146102e7575b600080fd5b61026760048036038101906102629190613340565b6107c1565b6040516102749190613388565b60405180910390f35b6102856107d3565b604051610292919061343c565b60405180910390f35b6102b560048036038101906102b09190613494565b610865565b6040516102c29190613502565b60405180910390f35b6102e560048036038101906102e09190613549565b6108ea565b005b6102ef610a02565b6040516102fc9190613598565b60405180910390f35b61030d610a0f565b60405161031a9190613598565b60405180910390f35b61033d600480360381019061033891906135b3565b610a33565b005b610359600480360381019061035491906135e0565b610a60565b005b61037560048036038101906103709190613669565b610ac0565b60405161038291906136a5565b60405180910390f35b610393610adf565b6040516103a091906136a5565b60405180910390f35b6103c360048036038101906103be91906136c0565b610b03565b005b6103df60048036038101906103da9190613549565b610b2c565b6040516103ec9190613598565b60405180910390f35b61040f600480360381019061040a91906135b3565b610bd1565b005b61042b600480360381019061042691906136c0565b610bfe565b005b610447600480360381019061044291906135e0565b610c81565b005b610463600480360381019061045e9190613549565b610ca1565b60405161047091906137be565b60405180910390f35b610493600480360381019061048e9190613494565b610ec9565b6040516104a09190613598565b60405180910390f35b6104c360048036038101906104be91906135b3565b610f3a565b005b6104df60048036038101906104da9190613915565b610f67565b005b6104fb60048036038101906104f69190613494565b610f97565b005b61051760048036038101906105129190613494565b6110ce565b6040516105249190613502565b60405180910390f35b610547600480360381019061054291906135b3565b611180565b6040516105549190613598565b60405180910390f35b610577600480360381019061057291906135b3565b611238565b005b610593600480360381019061058e91906136c0565b611265565b6040516105a09190613388565b60405180910390f35b6105c360048036038101906105be91906139be565b6112cf565b005b6105cd6112fb565b6040516105da919061343c565b60405180910390f35b6105fd60048036038101906105f891906135b3565b61138d565b005b61061960048036038101906106149190613549565b6113ba565b005b610623611519565b60405161063091906136a5565b60405180910390f35b610653600480360381019061064e9190613a37565b611520565b005b61066f600480360381019061066a91906135b3565b611536565b005b61068b60048036038101906106869190613b18565b611563565b005b6106956115c5565b6040516106a291906136a5565b60405180910390f35b6106c560048036038101906106c09190613494565b6115e9565b6040516106d2919061343c565b60405180910390f35b6106e3611690565b6040516106f091906136a5565b60405180910390f35b610713600480360381019061070e91906136c0565b6116b4565b005b61072f600480360381019061072a9190613494565b6116dd565b60405161073c9190613388565b60405180910390f35b61075f600480360381019061075a9190613494565b6116fd565b005b61077b60048036038101906107769190613b9b565b611835565b6040516107889190613388565b60405180910390f35b6107ab60048036038101906107a69190613494565b6118c9565b6040516107b89190613388565b60405180910390f35b60006107cc826118f3565b9050919050565b6060600180546107e290613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90613c0a565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b60006108708261196d565b6108af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a690613cae565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108f5826110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90613d40565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109856119d9565b73ffffffffffffffffffffffffffffffffffffffff1614806109b457506109b3816109ae6119d9565b611835565b5b6109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea90613dd2565b60405180910390fd5b6109fd83836119e1565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a5d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826116b4565b50565b610a71610a6b6119d9565b82611a9a565b610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790613e64565b60405180910390fd5b610abb838383611b78565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610b0c82610ac0565b610b1d81610b186119d9565b611ddf565b610b278383611e7c565b505050565b6000610b3783611180565b8210610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90613ef6565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bfb7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610b03565b50565b610c066119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90613f88565b60405180910390fd5b610c7d8282611f5c565b5050565b610c9c83838360405180602001604052806000815250611563565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd581610cd06119d9565b611ddf565b6064831115610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090613ff4565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610db8577f000000000000000000000000000000000000000000000000000000000000000083610d6c610a02565b610d769190614043565b1115610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae906140e5565b60405180910390fd5b5b60008367ffffffffffffffff811115610dd457610dd36137ea565b5b604051908082528060200260200182016040528015610e025781602001602082028036833780820191505090505b50905060005b84811015610e6f576001600d6000828254610e239190614043565b925050819055506000600d549050610e3b878261203d565b80838381518110610e4f57610e4e614105565b5b602002602001018181525050508080610e6790614134565b915050610e08565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243182604051610eb691906137be565b60405180910390a2809250505092915050565b6000610ed3610a02565b8210610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b906141ef565b60405180910390fd5b60098281548110610f2857610f27614105565b5b90600052602060002001549050919050565b610f647f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b03565b50565b6000801b610f7c81610f776119d9565b611ddf565b81600c9080519060200190610f929291906131ab565b505050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610fc981610fc46119d9565b611ddf565b610fd28261196d565b611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16611071576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611068906142c7565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90614359565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e8906143eb565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112627fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826116b4565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e4816112df6119d9565b611ddf565b8282600c91906112f5929190613231565b50505050565b60606002805461130a90613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461133690613c0a565b80156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b5050505050905090565b6113b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826116b4565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226113ec816113e76119d9565b611ddf565b6113f58261196d565b611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90614457565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c906144c3565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166114b5836110ce565b73ffffffffffffffffffffffffffffffffffffffff161461150b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150290614555565b60405180910390fd5b6115148261205b565b505050565b6000801b81565b61153261152b6119d9565b8383612178565b5050565b6115607fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610b03565b50565b61157461156e6119d9565b83611a9a565b6115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90613e64565b60405180910390fd5b6115bf848484846122e5565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606115f48261196d565b611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a906145e7565b60405180910390fd5b600061163d612341565b9050600081511161165d5760405180602001604052806000815250611688565b80611667846123d3565b604051602001611678929190614643565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116bd82610ac0565b6116ce816116c96119d9565b611ddf565b6116d88383611f5c565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161172f8161172a6119d9565b611ddf565b6117388261196d565b611777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176e9061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf906146b3565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611966575061196582612534565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a54836110ce565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611aa58261196d565b611ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adb90614745565b60405180910390fd5b6000611aef836110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b5e57508373ffffffffffffffffffffffffffffffffffffffff16611b4684610865565b73ffffffffffffffffffffffffffffffffffffffff16145b80611b6f5750611b6e8185611835565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b98826110ce565b73ffffffffffffffffffffffffffffffffffffffff1614611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be5906147d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5590614869565b60405180910390fd5b611c69838383612616565b611c746000826119e1565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cc49190614889565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d1b9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611dda838383612687565b505050565b611de98282611265565b611e7857611e0e8173ffffffffffffffffffffffffffffffffffffffff16601461268c565b611e1c8360001c602061268c565b604051602001611e2d929190614955565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f919061343c565b60405180910390fd5b5050565b611e868282611265565b611f5857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611efd6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611f668282611265565b1561203957600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fde6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6120578282604051806020016040528060008152506128c8565b5050565b6000612066826110ce565b905061207481600084612616565b61207f6000836119e1565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120cf9190614889565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461217481600084612687565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121de906149db565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122d89190613388565b60405180910390a3505050565b6122f0848484611b78565b6122fc84848484612923565b61233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233290614a6d565b60405180910390fd5b50505050565b6060600c805461235090613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461237c90613c0a565b80156123c95780601f1061239e576101008083540402835291602001916123c9565b820191906000526020600020905b8154815290600101906020018083116123ac57829003601f168201915b5050505050905090565b6060600082141561241b576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061252f565b600082905060005b6000821461244d57808061243690614134565b915050600a826124469190614abc565b9150612423565b60008167ffffffffffffffff811115612469576124686137ea565b5b6040519080825280601f01601f19166020018201604052801561249b5781602001600182028036833780820191505090505b5090505b60008514612528576001826124b49190614889565b9150600a856124c39190614aed565b60306124cf9190614043565b60f81b8183815181106124e5576124e4614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856125219190614abc565b945061249f565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806125ff57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061260f575061260e82612aab565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff1615612677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266e90614b6a565b60405180910390fd5b612682838383612b25565b505050565b505050565b60606000600283600261269f9190614b8a565b6126a99190614043565b67ffffffffffffffff8111156126c2576126c16137ea565b5b6040519080825280601f01601f1916602001820160405280156126f45781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061272c5761272b614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127905761278f614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026127d09190614b8a565b6127da9190614043565b90505b600181111561287a577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061281c5761281b614105565b5b1a60f81b82828151811061283357612832614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061287390614be4565b90506127dd565b50600084146128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b590614c5a565b60405180910390fd5b8091505092915050565b6128d28383612c39565b6128df6000848484612923565b61291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614a6d565b60405180910390fd5b505050565b60006129448473ffffffffffffffffffffffffffffffffffffffff16612e13565b15612a9e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261296d6119d9565b8786866040518563ffffffff1660e01b815260040161298f9493929190614ccf565b6020604051808303816000875af19250505080156129cb57506040513d601f19601f820116820180604052508101906129c89190614d30565b60015b612a4e573d80600081146129fb576040519150601f19603f3d011682016040523d82523d6000602084013e612a00565b606091505b50600081511415612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614a6d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612aa3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612b1e5750612b1d82612e36565b5b9050919050565b612b30838383612ea0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b7357612b6e81612ea5565b612bb2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bb157612bb08382612eee565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf557612bf08161305b565b612c34565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612c3357612c32828261312c565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca090614da9565b60405180910390fd5b612cb28161196d565b15612cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce990614e15565b60405180910390fd5b612cfe60008383612616565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d4e9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612e0f60008383612687565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612efb84611180565b612f059190614889565b9050600060086000848152602001908152602001600020549050818114612fea576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160098054905061306f9190614889565b90506000600a600084815260200190815260200160002054905060006009838154811061309f5761309e614105565b5b9060005260206000200154905080600983815481106130c1576130c0614105565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a60008581526020019081526020016000206000905560098054806131105761310f614e35565b5b6001900381819060005260206000200160009055905550505050565b600061313783611180565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546131b790613c0a565b90600052602060002090601f0160209004810192826131d95760008555613220565b82601f106131f257805160ff1916838001178555613220565b82800160010185558215613220579182015b8281111561321f578251825591602001919060010190613204565b5b50905061322d91906132b7565b5090565b82805461323d90613c0a565b90600052602060002090601f01602090048101928261325f57600085556132a6565b82601f1061327857803560ff19168380011785556132a6565b828001600101855582156132a6579182015b828111156132a557823582559160200191906001019061328a565b5b5090506132b391906132b7565b5090565b5b808211156132d05760008160009055506001016132b8565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61331d816132e8565b811461332857600080fd5b50565b60008135905061333a81613314565b92915050565b600060208284031215613356576133556132de565b5b60006133648482850161332b565b91505092915050565b60008115159050919050565b6133828161336d565b82525050565b600060208201905061339d6000830184613379565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133dd5780820151818401526020810190506133c2565b838111156133ec576000848401525b50505050565b6000601f19601f8301169050919050565b600061340e826133a3565b61341881856133ae565b93506134288185602086016133bf565b613431816133f2565b840191505092915050565b600060208201905081810360008301526134568184613403565b905092915050565b6000819050919050565b6134718161345e565b811461347c57600080fd5b50565b60008135905061348e81613468565b92915050565b6000602082840312156134aa576134a96132de565b5b60006134b88482850161347f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ec826134c1565b9050919050565b6134fc816134e1565b82525050565b600060208201905061351760008301846134f3565b92915050565b613526816134e1565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b600080604083850312156135605761355f6132de565b5b600061356e85828601613534565b925050602061357f8582860161347f565b9150509250929050565b6135928161345e565b82525050565b60006020820190506135ad6000830184613589565b92915050565b6000602082840312156135c9576135c86132de565b5b60006135d784828501613534565b91505092915050565b6000806000606084860312156135f9576135f86132de565b5b600061360786828701613534565b935050602061361886828701613534565b92505060406136298682870161347f565b9150509250925092565b6000819050919050565b61364681613633565b811461365157600080fd5b50565b6000813590506136638161363d565b92915050565b60006020828403121561367f5761367e6132de565b5b600061368d84828501613654565b91505092915050565b61369f81613633565b82525050565b60006020820190506136ba6000830184613696565b92915050565b600080604083850312156136d7576136d66132de565b5b60006136e585828601613654565b92505060206136f685828601613534565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137358161345e565b82525050565b6000613747838361372c565b60208301905092915050565b6000602082019050919050565b600061376b82613700565b613775818561370b565b93506137808361371c565b8060005b838110156137b1578151613798888261373b565b97506137a383613753565b925050600181019050613784565b5085935050505092915050565b600060208201905081810360008301526137d88184613760565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613822826133f2565b810181811067ffffffffffffffff82111715613841576138406137ea565b5b80604052505050565b60006138546132d4565b90506138608282613819565b919050565b600067ffffffffffffffff8211156138805761387f6137ea565b5b613889826133f2565b9050602081019050919050565b82818337600083830152505050565b60006138b86138b384613865565b61384a565b9050828152602081018484840111156138d4576138d36137e5565b5b6138df848285613896565b509392505050565b600082601f8301126138fc576138fb6137e0565b5b813561390c8482602086016138a5565b91505092915050565b60006020828403121561392b5761392a6132de565b5b600082013567ffffffffffffffff811115613949576139486132e3565b5b613955848285016138e7565b91505092915050565b600080fd5b600080fd5b60008083601f84011261397e5761397d6137e0565b5b8235905067ffffffffffffffff81111561399b5761399a61395e565b5b6020830191508360018202830111156139b7576139b6613963565b5b9250929050565b600080602083850312156139d5576139d46132de565b5b600083013567ffffffffffffffff8111156139f3576139f26132e3565b5b6139ff85828601613968565b92509250509250929050565b613a148161336d565b8114613a1f57600080fd5b50565b600081359050613a3181613a0b565b92915050565b60008060408385031215613a4e57613a4d6132de565b5b6000613a5c85828601613534565b9250506020613a6d85828601613a22565b9150509250929050565b600067ffffffffffffffff821115613a9257613a916137ea565b5b613a9b826133f2565b9050602081019050919050565b6000613abb613ab684613a77565b61384a565b905082815260208101848484011115613ad757613ad66137e5565b5b613ae2848285613896565b509392505050565b600082601f830112613aff57613afe6137e0565b5b8135613b0f848260208601613aa8565b91505092915050565b60008060008060808587031215613b3257613b316132de565b5b6000613b4087828801613534565b9450506020613b5187828801613534565b9350506040613b628782880161347f565b925050606085013567ffffffffffffffff811115613b8357613b826132e3565b5b613b8f87828801613aea565b91505092959194509250565b60008060408385031215613bb257613bb16132de565b5b6000613bc085828601613534565b9250506020613bd185828601613534565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c2257607f821691505b60208210811415613c3657613c35613bdb565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613c98602c836133ae565b9150613ca382613c3c565b604082019050919050565b60006020820190508181036000830152613cc781613c8b565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d2a6021836133ae565b9150613d3582613cce565b604082019050919050565b60006020820190508181036000830152613d5981613d1d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613dbc6038836133ae565b9150613dc782613d60565b604082019050919050565b60006020820190508181036000830152613deb81613daf565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613e4e6031836133ae565b9150613e5982613df2565b604082019050919050565b60006020820190508181036000830152613e7d81613e41565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613ee0602b836133ae565b9150613eeb82613e84565b604082019050919050565b60006020820190508181036000830152613f0f81613ed3565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613f72602f836133ae565b9150613f7d82613f16565b604082019050919050565b60006020820190508181036000830152613fa181613f65565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613fde6011836133ae565b9150613fe982613fa8565b602082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061404e8261345e565b91506140598361345e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561408e5761408d614014565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b60006140cf6017836133ae565b91506140da82614099565b602082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061413f8261345e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561417257614171614014565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006141d9602c836133ae565b91506141e48261417d565b604082019050919050565b60006020820190508181036000830152614208816141cc565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b60006142456015836133ae565b91506142508261420f565b602082019050919050565b6000602082019050818103600083015261427481614238565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b60006142b1601a836133ae565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006143436029836133ae565b915061434e826142e7565b604082019050919050565b6000602082019050818103600083015261437281614336565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006143d5602a836133ae565b91506143e082614379565b604082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006144416012836133ae565b915061444c8261440b565b602082019050919050565b6000602082019050818103600083015261447081614434565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b60006144ad6019836133ae565b91506144b882614477565b602082019050919050565b600060208201905081810360008301526144dc816144a0565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b600061453f602d836133ae565b915061454a826144e3565b604082019050919050565b6000602082019050818103600083015261456e81614532565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006145d1602f836133ae565b91506145dc82614575565b604082019050919050565b60006020820190508181036000830152614600816145c4565b9050919050565b600081905092915050565b600061461d826133a3565b6146278185614607565b93506146378185602086016133bf565b80840191505092915050565b600061464f8285614612565b915061465b8284614612565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b600061469d6018836133ae565b91506146a882614667565b602082019050919050565b600060208201905081810360008301526146cc81614690565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061472f602c836133ae565b915061473a826146d3565b604082019050919050565b6000602082019050818103600083015261475e81614722565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006147c16025836133ae565b91506147cc82614765565b604082019050919050565b600060208201905081810360008301526147f0816147b4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148536024836133ae565b915061485e826147f7565b604082019050919050565b6000602082019050818103600083015261488281614846565b9050919050565b60006148948261345e565b915061489f8361345e565b9250828210156148b2576148b1614014565b5b828203905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006148f3601783614607565b91506148fe826148bd565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061493f601183614607565b915061494a82614909565b601182019050919050565b6000614960826148e6565b915061496c8285614612565b915061497782614932565b91506149838284614612565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006149c56019836133ae565b91506149d08261498f565b602082019050919050565b600060208201905081810360008301526149f4816149b8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614a576032836133ae565b9150614a62826149fb565b604082019050919050565b60006020820190508181036000830152614a8681614a4a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ac78261345e565b9150614ad28361345e565b925082614ae257614ae1614a8d565b5b828204905092915050565b6000614af88261345e565b9150614b038361345e565b925082614b1357614b12614a8d565b5b828206905092915050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614b54601d836133ae565b9150614b5f82614b1e565b602082019050919050565b60006020820190508181036000830152614b8381614b47565b9050919050565b6000614b958261345e565b9150614ba08361345e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614bd957614bd8614014565b5b828202905092915050565b6000614bef8261345e565b91506000821415614c0357614c02614014565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614c446020836133ae565b9150614c4f82614c0e565b602082019050919050565b60006020820190508181036000830152614c7381614c37565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614ca182614c7a565b614cab8185614c85565b9350614cbb8185602086016133bf565b614cc4816133f2565b840191505092915050565b6000608082019050614ce460008301876134f3565b614cf160208301866134f3565b614cfe6040830185613589565b8181036060830152614d108184614c96565b905095945050505050565b600081519050614d2a81613314565b92915050565b600060208284031215614d4657614d456132de565b5b6000614d5484828501614d1b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614d936020836133ae565b9150614d9e82614d5d565b602082019050919050565b60006020820190508181036000830152614dc281614d86565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614dff601c836133ae565b9150614e0a82614dc9565b602082019050919050565b60006020820190508181036000830152614e2e81614df2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204319ecee8eadad108a04d28eaf6b1bc7052f2e8b2881e594569f774972a6206964736f6c634300080a003368747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102485760003560e01c80636352211e1161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106f9578063dcec329414610715578063dd46706414610745578063e985e9c514610761578063f6aacfb11461079157610248565b8063ace9e2e214610655578063b88d4fde14610671578063b930908f1461068d578063c87b56dd146106ab578063d5391393146106db57610248565b806395d89b41116100ff57806395d89b41146105c5578063965f4c60146105e35780639dc29fac146105ff578063a217fddf1461061b578063a22cb4651461063957610248565b80636352211e146104fd57806370a082311461052d57806379deb6e71461055d57806391d1485414610579578063931688cb146105a957610248565b80632f2ff15d116101c957806343508b051161018d57806343508b05146104495780634f6ccce714610479578063530dd079146104a957806355f804b3146104c55780636198e339146104e157610248565b80632f2ff15d146103a95780632f745c59146103c5578063327ba615146103f557806336568abe1461041157806342842e0e1461042d57610248565b806319d1997a1161021057806319d1997a146103055780631cf4e3ee1461032357806323b872dd1461033f578063248a9ca31461035b5780632f286b1b1461038b57610248565b806301ffc9a71461024d57806306fdde031461027d578063081812fc1461029b578063095ea7b3146102cb57806318160ddd146102e7575b600080fd5b61026760048036038101906102629190613340565b6107c1565b6040516102749190613388565b60405180910390f35b6102856107d3565b604051610292919061343c565b60405180910390f35b6102b560048036038101906102b09190613494565b610865565b6040516102c29190613502565b60405180910390f35b6102e560048036038101906102e09190613549565b6108ea565b005b6102ef610a02565b6040516102fc9190613598565b60405180910390f35b61030d610a0f565b60405161031a9190613598565b60405180910390f35b61033d600480360381019061033891906135b3565b610a33565b005b610359600480360381019061035491906135e0565b610a60565b005b61037560048036038101906103709190613669565b610ac0565b60405161038291906136a5565b60405180910390f35b610393610adf565b6040516103a091906136a5565b60405180910390f35b6103c360048036038101906103be91906136c0565b610b03565b005b6103df60048036038101906103da9190613549565b610b2c565b6040516103ec9190613598565b60405180910390f35b61040f600480360381019061040a91906135b3565b610bd1565b005b61042b600480360381019061042691906136c0565b610bfe565b005b610447600480360381019061044291906135e0565b610c81565b005b610463600480360381019061045e9190613549565b610ca1565b60405161047091906137be565b60405180910390f35b610493600480360381019061048e9190613494565b610ec9565b6040516104a09190613598565b60405180910390f35b6104c360048036038101906104be91906135b3565b610f3a565b005b6104df60048036038101906104da9190613915565b610f67565b005b6104fb60048036038101906104f69190613494565b610f97565b005b61051760048036038101906105129190613494565b6110ce565b6040516105249190613502565b60405180910390f35b610547600480360381019061054291906135b3565b611180565b6040516105549190613598565b60405180910390f35b610577600480360381019061057291906135b3565b611238565b005b610593600480360381019061058e91906136c0565b611265565b6040516105a09190613388565b60405180910390f35b6105c360048036038101906105be91906139be565b6112cf565b005b6105cd6112fb565b6040516105da919061343c565b60405180910390f35b6105fd60048036038101906105f891906135b3565b61138d565b005b61061960048036038101906106149190613549565b6113ba565b005b610623611519565b60405161063091906136a5565b60405180910390f35b610653600480360381019061064e9190613a37565b611520565b005b61066f600480360381019061066a91906135b3565b611536565b005b61068b60048036038101906106869190613b18565b611563565b005b6106956115c5565b6040516106a291906136a5565b60405180910390f35b6106c560048036038101906106c09190613494565b6115e9565b6040516106d2919061343c565b60405180910390f35b6106e3611690565b6040516106f091906136a5565b60405180910390f35b610713600480360381019061070e91906136c0565b6116b4565b005b61072f600480360381019061072a9190613494565b6116dd565b60405161073c9190613388565b60405180910390f35b61075f600480360381019061075a9190613494565b6116fd565b005b61077b60048036038101906107769190613b9b565b611835565b6040516107889190613388565b60405180910390f35b6107ab60048036038101906107a69190613494565b6118c9565b6040516107b89190613388565b60405180910390f35b60006107cc826118f3565b9050919050565b6060600180546107e290613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461080e90613c0a565b801561085b5780601f106108305761010080835404028352916020019161085b565b820191906000526020600020905b81548152906001019060200180831161083e57829003601f168201915b5050505050905090565b60006108708261196d565b6108af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108a690613cae565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108f5826110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161095d90613d40565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166109856119d9565b73ffffffffffffffffffffffffffffffffffffffff1614806109b457506109b3816109ae6119d9565b611835565b5b6109f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ea90613dd2565b60405180910390fd5b6109fd83836119e1565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a5d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826116b4565b50565b610a71610a6b6119d9565b82611a9a565b610ab0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aa790613e64565b60405180910390fd5b610abb838383611b78565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610b0c82610ac0565b610b1d81610b186119d9565b611ddf565b610b278383611e7c565b505050565b6000610b3783611180565b8210610b78576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6f90613ef6565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bfb7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610b03565b50565b610c066119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6a90613f88565b60405180910390fd5b610c7d8282611f5c565b5050565b610c9c83838360405180602001604052806000815250611563565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cd581610cd06119d9565b611ddf565b6064831115610d19576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d1090613ff4565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610db8577f000000000000000000000000000000000000000000000000000000000000000083610d6c610a02565b610d769190614043565b1115610db7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dae906140e5565b60405180910390fd5b5b60008367ffffffffffffffff811115610dd457610dd36137ea565b5b604051908082528060200260200182016040528015610e025781602001602082028036833780820191505090505b50905060005b84811015610e6f576001600d6000828254610e239190614043565b925050819055506000600d549050610e3b878261203d565b80838381518110610e4f57610e4e614105565b5b602002602001018181525050508080610e6790614134565b915050610e08565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243182604051610eb691906137be565b60405180910390a2809250505092915050565b6000610ed3610a02565b8210610f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f0b906141ef565b60405180910390fd5b60098281548110610f2857610f27614105565b5b90600052602060002001549050919050565b610f647f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610b03565b50565b6000801b610f7c81610f776119d9565b611ddf565b81600c9080519060200190610f929291906131ab565b505050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610fc981610fc46119d9565b611ddf565b610fd28261196d565b611011576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110089061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16611071576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611068906142c7565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611177576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116e90614359565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e8906143eb565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112627fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826116b4565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b6112e4816112df6119d9565b611ddf565b8282600c91906112f5929190613231565b50505050565b60606002805461130a90613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461133690613c0a565b80156113835780601f1061135857610100808354040283529160200191611383565b820191906000526020600020905b81548152906001019060200180831161136657829003601f168201915b5050505050905090565b6113b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826116b4565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226113ec816113e76119d9565b611ddf565b6113f58261196d565b611434576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142b90614457565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611495576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148c906144c3565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff166114b5836110ce565b73ffffffffffffffffffffffffffffffffffffffff161461150b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150290614555565b60405180910390fd5b6115148261205b565b505050565b6000801b81565b61153261152b6119d9565b8383612178565b5050565b6115607fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610b03565b50565b61157461156e6119d9565b83611a9a565b6115b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115aa90613e64565b60405180910390fd5b6115bf848484846122e5565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b60606115f48261196d565b611633576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162a906145e7565b60405180910390fd5b600061163d612341565b9050600081511161165d5760405180602001604052806000815250611688565b80611667846123d3565b604051602001611678929190614643565b6040516020818303038152906040525b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6116bd82610ac0565b6116ce816116c96119d9565b611ddf565b6116d88383611f5c565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161172f8161172a6119d9565b611ddf565b6117388261196d565b611777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176e9061425b565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff16156117d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117cf906146b3565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611966575061196582612534565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611a54836110ce565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000611aa58261196d565b611ae4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611adb90614745565b60405180910390fd5b6000611aef836110ce565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611b5e57508373ffffffffffffffffffffffffffffffffffffffff16611b4684610865565b73ffffffffffffffffffffffffffffffffffffffff16145b80611b6f5750611b6e8185611835565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b98826110ce565b73ffffffffffffffffffffffffffffffffffffffff1614611bee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be5906147d7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5590614869565b60405180910390fd5b611c69838383612616565b611c746000826119e1565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611cc49190614889565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d1b9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611dda838383612687565b505050565b611de98282611265565b611e7857611e0e8173ffffffffffffffffffffffffffffffffffffffff16601461268c565b611e1c8360001c602061268c565b604051602001611e2d929190614955565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6f919061343c565b60405180910390fd5b5050565b611e868282611265565b611f5857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611efd6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611f668282611265565b1561203957600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611fde6119d9565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6120578282604051806020016040528060008152506128c8565b5050565b6000612066826110ce565b905061207481600084612616565b61207f6000836119e1565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120cf9190614889565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461217481600084612687565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121de906149db565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516122d89190613388565b60405180910390a3505050565b6122f0848484611b78565b6122fc84848484612923565b61233b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233290614a6d565b60405180910390fd5b50505050565b6060600c805461235090613c0a565b80601f016020809104026020016040519081016040528092919081815260200182805461237c90613c0a565b80156123c95780601f1061239e576101008083540402835291602001916123c9565b820191906000526020600020905b8154815290600101906020018083116123ac57829003601f168201915b5050505050905090565b6060600082141561241b576040518060400160405280600181526020017f3000000000000000000000000000000000000000000000000000000000000000815250905061252f565b600082905060005b6000821461244d57808061243690614134565b915050600a826124469190614abc565b9150612423565b60008167ffffffffffffffff811115612469576124686137ea565b5b6040519080825280601f01601f19166020018201604052801561249b5781602001600182028036833780820191505090505b5090505b60008514612528576001826124b49190614889565b9150600a856124c39190614aed565b60306124cf9190614043565b60f81b8183815181106124e5576124e4614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856125219190614abc565b945061249f565b8093505050505b919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806125ff57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061260f575061260e82612aab565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff1615612677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266e90614b6a565b60405180910390fd5b612682838383612b25565b505050565b505050565b60606000600283600261269f9190614b8a565b6126a99190614043565b67ffffffffffffffff8111156126c2576126c16137ea565b5b6040519080825280601f01601f1916602001820160405280156126f45781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061272c5761272b614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106127905761278f614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026127d09190614b8a565b6127da9190614043565b90505b600181111561287a577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061281c5761281b614105565b5b1a60f81b82828151811061283357612832614105565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061287390614be4565b90506127dd565b50600084146128be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128b590614c5a565b60405180910390fd5b8091505092915050565b6128d28383612c39565b6128df6000848484612923565b61291e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161291590614a6d565b60405180910390fd5b505050565b60006129448473ffffffffffffffffffffffffffffffffffffffff16612e13565b15612a9e578373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261296d6119d9565b8786866040518563ffffffff1660e01b815260040161298f9493929190614ccf565b6020604051808303816000875af19250505080156129cb57506040513d601f19601f820116820180604052508101906129c89190614d30565b60015b612a4e573d80600081146129fb576040519150601f19603f3d011682016040523d82523d6000602084013e612a00565b606091505b50600081511415612a46576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3d90614a6d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612aa3565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612b1e5750612b1d82612e36565b5b9050919050565b612b30838383612ea0565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612b7357612b6e81612ea5565b612bb2565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bb157612bb08382612eee565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612bf557612bf08161305b565b612c34565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612c3357612c32828261312c565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612ca9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ca090614da9565b60405180910390fd5b612cb28161196d565b15612cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ce990614e15565b60405180910390fd5b612cfe60008383612616565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612d4e9190614043565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612e0f60008383612687565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612efb84611180565b612f059190614889565b9050600060086000848152602001908152602001600020549050818114612fea576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160098054905061306f9190614889565b90506000600a600084815260200190815260200160002054905060006009838154811061309f5761309e614105565b5b9060005260206000200154905080600983815481106130c1576130c0614105565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a60008581526020019081526020016000206000905560098054806131105761310f614e35565b5b6001900381819060005260206000200160009055905550505050565b600061313783611180565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b8280546131b790613c0a565b90600052602060002090601f0160209004810192826131d95760008555613220565b82601f106131f257805160ff1916838001178555613220565b82800160010185558215613220579182015b8281111561321f578251825591602001919060010190613204565b5b50905061322d91906132b7565b5090565b82805461323d90613c0a565b90600052602060002090601f01602090048101928261325f57600085556132a6565b82601f1061327857803560ff19168380011785556132a6565b828001600101855582156132a6579182015b828111156132a557823582559160200191906001019061328a565b5b5090506132b391906132b7565b5090565b5b808211156132d05760008160009055506001016132b8565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61331d816132e8565b811461332857600080fd5b50565b60008135905061333a81613314565b92915050565b600060208284031215613356576133556132de565b5b60006133648482850161332b565b91505092915050565b60008115159050919050565b6133828161336d565b82525050565b600060208201905061339d6000830184613379565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156133dd5780820151818401526020810190506133c2565b838111156133ec576000848401525b50505050565b6000601f19601f8301169050919050565b600061340e826133a3565b61341881856133ae565b93506134288185602086016133bf565b613431816133f2565b840191505092915050565b600060208201905081810360008301526134568184613403565b905092915050565b6000819050919050565b6134718161345e565b811461347c57600080fd5b50565b60008135905061348e81613468565b92915050565b6000602082840312156134aa576134a96132de565b5b60006134b88482850161347f565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006134ec826134c1565b9050919050565b6134fc816134e1565b82525050565b600060208201905061351760008301846134f3565b92915050565b613526816134e1565b811461353157600080fd5b50565b6000813590506135438161351d565b92915050565b600080604083850312156135605761355f6132de565b5b600061356e85828601613534565b925050602061357f8582860161347f565b9150509250929050565b6135928161345e565b82525050565b60006020820190506135ad6000830184613589565b92915050565b6000602082840312156135c9576135c86132de565b5b60006135d784828501613534565b91505092915050565b6000806000606084860312156135f9576135f86132de565b5b600061360786828701613534565b935050602061361886828701613534565b92505060406136298682870161347f565b9150509250925092565b6000819050919050565b61364681613633565b811461365157600080fd5b50565b6000813590506136638161363d565b92915050565b60006020828403121561367f5761367e6132de565b5b600061368d84828501613654565b91505092915050565b61369f81613633565b82525050565b60006020820190506136ba6000830184613696565b92915050565b600080604083850312156136d7576136d66132de565b5b60006136e585828601613654565b92505060206136f685828601613534565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6137358161345e565b82525050565b6000613747838361372c565b60208301905092915050565b6000602082019050919050565b600061376b82613700565b613775818561370b565b93506137808361371c565b8060005b838110156137b1578151613798888261373b565b97506137a383613753565b925050600181019050613784565b5085935050505092915050565b600060208201905081810360008301526137d88184613760565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613822826133f2565b810181811067ffffffffffffffff82111715613841576138406137ea565b5b80604052505050565b60006138546132d4565b90506138608282613819565b919050565b600067ffffffffffffffff8211156138805761387f6137ea565b5b613889826133f2565b9050602081019050919050565b82818337600083830152505050565b60006138b86138b384613865565b61384a565b9050828152602081018484840111156138d4576138d36137e5565b5b6138df848285613896565b509392505050565b600082601f8301126138fc576138fb6137e0565b5b813561390c8482602086016138a5565b91505092915050565b60006020828403121561392b5761392a6132de565b5b600082013567ffffffffffffffff811115613949576139486132e3565b5b613955848285016138e7565b91505092915050565b600080fd5b600080fd5b60008083601f84011261397e5761397d6137e0565b5b8235905067ffffffffffffffff81111561399b5761399a61395e565b5b6020830191508360018202830111156139b7576139b6613963565b5b9250929050565b600080602083850312156139d5576139d46132de565b5b600083013567ffffffffffffffff8111156139f3576139f26132e3565b5b6139ff85828601613968565b92509250509250929050565b613a148161336d565b8114613a1f57600080fd5b50565b600081359050613a3181613a0b565b92915050565b60008060408385031215613a4e57613a4d6132de565b5b6000613a5c85828601613534565b9250506020613a6d85828601613a22565b9150509250929050565b600067ffffffffffffffff821115613a9257613a916137ea565b5b613a9b826133f2565b9050602081019050919050565b6000613abb613ab684613a77565b61384a565b905082815260208101848484011115613ad757613ad66137e5565b5b613ae2848285613896565b509392505050565b600082601f830112613aff57613afe6137e0565b5b8135613b0f848260208601613aa8565b91505092915050565b60008060008060808587031215613b3257613b316132de565b5b6000613b4087828801613534565b9450506020613b5187828801613534565b9350506040613b628782880161347f565b925050606085013567ffffffffffffffff811115613b8357613b826132e3565b5b613b8f87828801613aea565b91505092959194509250565b60008060408385031215613bb257613bb16132de565b5b6000613bc085828601613534565b9250506020613bd185828601613534565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613c2257607f821691505b60208210811415613c3657613c35613bdb565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b6000613c98602c836133ae565b9150613ca382613c3c565b604082019050919050565b60006020820190508181036000830152613cc781613c8b565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613d2a6021836133ae565b9150613d3582613cce565b604082019050919050565b60006020820190508181036000830152613d5981613d1d565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613dbc6038836133ae565b9150613dc782613d60565b604082019050919050565b60006020820190508181036000830152613deb81613daf565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613e4e6031836133ae565b9150613e5982613df2565b604082019050919050565b60006020820190508181036000830152613e7d81613e41565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613ee0602b836133ae565b9150613eeb82613e84565b604082019050919050565b60006020820190508181036000830152613f0f81613ed3565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613f72602f836133ae565b9150613f7d82613f16565b604082019050919050565b60006020820190508181036000830152613fa181613f65565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613fde6011836133ae565b9150613fe982613fa8565b602082019050919050565b6000602082019050818103600083015261400d81613fd1565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061404e8261345e565b91506140598361345e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561408e5761408d614014565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b60006140cf6017836133ae565b91506140da82614099565b602082019050919050565b600060208201905081810360008301526140fe816140c2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061413f8261345e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561417257614171614014565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006141d9602c836133ae565b91506141e48261417d565b604082019050919050565b60006020820190508181036000830152614208816141cc565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b60006142456015836133ae565b91506142508261420f565b602082019050919050565b6000602082019050818103600083015261427481614238565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b60006142b1601a836133ae565b91506142bc8261427b565b602082019050919050565b600060208201905081810360008301526142e0816142a4565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b60006143436029836133ae565b915061434e826142e7565b604082019050919050565b6000602082019050818103600083015261437281614336565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b60006143d5602a836133ae565b91506143e082614379565b604082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006144416012836133ae565b915061444c8261440b565b602082019050919050565b6000602082019050818103600083015261447081614434565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b60006144ad6019836133ae565b91506144b882614477565b602082019050919050565b600060208201905081810360008301526144dc816144a0565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b600061453f602d836133ae565b915061454a826144e3565b604082019050919050565b6000602082019050818103600083015261456e81614532565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b60006145d1602f836133ae565b91506145dc82614575565b604082019050919050565b60006020820190508181036000830152614600816145c4565b9050919050565b600081905092915050565b600061461d826133a3565b6146278185614607565b93506146378185602086016133bf565b80840191505092915050565b600061464f8285614612565b915061465b8284614612565b91508190509392505050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b600061469d6018836133ae565b91506146a882614667565b602082019050919050565b600060208201905081810360008301526146cc81614690565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b600061472f602c836133ae565b915061473a826146d3565b604082019050919050565b6000602082019050818103600083015261475e81614722565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006147c16025836133ae565b91506147cc82614765565b604082019050919050565b600060208201905081810360008301526147f0816147b4565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006148536024836133ae565b915061485e826147f7565b604082019050919050565b6000602082019050818103600083015261488281614846565b9050919050565b60006148948261345e565b915061489f8361345e565b9250828210156148b2576148b1614014565b5b828203905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006148f3601783614607565b91506148fe826148bd565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b600061493f601183614607565b915061494a82614909565b601182019050919050565b6000614960826148e6565b915061496c8285614612565b915061497782614932565b91506149838284614612565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006149c56019836133ae565b91506149d08261498f565b602082019050919050565b600060208201905081810360008301526149f4816149b8565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614a576032836133ae565b9150614a62826149fb565b604082019050919050565b60006020820190508181036000830152614a8681614a4a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614ac78261345e565b9150614ad28361345e565b925082614ae257614ae1614a8d565b5b828204905092915050565b6000614af88261345e565b9150614b038361345e565b925082614b1357614b12614a8d565b5b828206905092915050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614b54601d836133ae565b9150614b5f82614b1e565b602082019050919050565b60006020820190508181036000830152614b8381614b47565b9050919050565b6000614b958261345e565b9150614ba08361345e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614bd957614bd8614014565b5b828202905092915050565b6000614bef8261345e565b91506000821415614c0357614c02614014565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000614c446020836133ae565b9150614c4f82614c0e565b602082019050919050565b60006020820190508181036000830152614c7381614c37565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614ca182614c7a565b614cab8185614c85565b9350614cbb8185602086016133bf565b614cc4816133f2565b840191505092915050565b6000608082019050614ce460008301876134f3565b614cf160208301866134f3565b614cfe6040830185613589565b8181036060830152614d108184614c96565b905095945050505050565b600081519050614d2a81613314565b92915050565b600060208284031215614d4657614d456132de565b5b6000614d5484828501614d1b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614d936020836133ae565b9150614d9e82614d5d565b602082019050919050565b60006020820190508181036000830152614dc281614d86565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b6000614dff601c836133ae565b9150614e0a82614dc9565b602082019050919050565b60006020820190508181036000830152614e2e81614df2565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea26469706673582212204319ecee8eadad108a04d28eaf6b1bc7052f2e8b2881e594569f774972a6206964736f6c634300080a0033", + "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\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"tokenIds\",\"type\":\"uint256[]\"}],\"name\":\"BatchMint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Lock\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"UnLock\",\"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\":\"LOCK_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\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"grantLockRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"isLocked\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lockedTokens\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":\"proxy\",\"type\":\"address\"}],\"name\":\"removeBurnRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"removeLockRole\",\"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\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"unlock\",\"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}.\"},\"batchMint(address,uint256)\":{\"details\":\"Batch mint tokens and transfer to specified address. Requirements: - Caller must have `MINTER_ROLE`. - The total supply limit should not be exceeded. - The number of tokenIds offered for minting should not exceed 100.\"},\"burn(address,uint256)\":{\"details\":\"Burns `tokenId`. Requirements: - The caller must own `tokenId` or be an approved operator.\"},\"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}.\"},\"grantLockRole(address)\":{\"details\":\"Add address for lock item\"},\"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}.\"},\"isLocked(uint256)\":{\"details\":\"Get lock status\"},\"lock(uint256)\":{\"details\":\"Lock token to use in game or for rental\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"removeBurnRole(address)\":{\"details\":\"Remove burn role to address\"},\"removeLockRole(address)\":{\"details\":\"Remove address for lock item\"},\"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 badge has same tokenURI\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"},\"unlock(uint256)\":{\"details\":\"Unlock token to use blockchain or sale on marketplace\"},\"updateBaseURI(string)\":{\"details\":\"Set token URI\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/tokens/erc721/BEBadge.sol\":\"BEBadge\"},\"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/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/BEBadge.sol\":{\"keccak256\":\"0x52dcea4c04c7e16ac076392ec825969775bea47d7eec5718052e7f3700c3e0d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://69cde6d1331638066b85d296f5790dd92b570522405ff09346c7f55e6341c5ba\",\"dweb:/ipfs/Qma9CFEPsP6jPnBEMKoE3fTQy4SaSMxPbbVGCvm6CDqXS8\"]}},\"version\":1}", + "bytecode": "0x60a06040526040518060600160405280602781526020016200516060279139600c908051906020019062000035929190620003f5565b503480156200004357600080fd5b50604051620051873803806200518783398181016040528101906200006991906200067d565b8282816001908051906020019062000083929190620003f5565b5080600290805190602001906200009c929190620003f5565b505050620000d47f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66000801b620001fa60201b60201c565b620001097fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa226000801b620001fa60201b60201c565b6200013e7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e7516000801b620001fa60201b60201c565b620001536000801b336200025d60201b60201c565b620001857f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200025d60201b60201c565b620001b77fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22336200025d60201b60201c565b620001e97fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751336200025d60201b60201c565b80608081815250505050506200077c565b60006200020d836200027360201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6200026f82826200029260201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b620002a482826200038360201b60201c565b6200037f57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000324620003ed60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620004039062000746565b90600052602060002090601f01602090048101928262000427576000855562000473565b82601f106200044257805160ff191683800117855562000473565b8280016001018555821562000473579182015b828111156200047257825182559160200191906001019062000455565b5b50905062000482919062000486565b5090565b5b80821115620004a157600081600090555060010162000487565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200050e82620004c3565b810181811067ffffffffffffffff8211171562000530576200052f620004d4565b5b80604052505050565b600062000545620004a5565b905062000553828262000503565b919050565b600067ffffffffffffffff821115620005765762000575620004d4565b5b6200058182620004c3565b9050602081019050919050565b60005b83811015620005ae57808201518184015260208101905062000591565b83811115620005be576000848401525b50505050565b6000620005db620005d58462000558565b62000539565b905082815260208101848484011115620005fa57620005f9620004be565b5b620006078482856200058e565b509392505050565b600082601f830112620006275762000626620004b9565b5b815162000639848260208601620005c4565b91505092915050565b6000819050919050565b620006578162000642565b81146200066357600080fd5b50565b60008151905062000677816200064c565b92915050565b600080600060608486031215620006995762000698620004af565b5b600084015167ffffffffffffffff811115620006ba57620006b9620004b4565b5b620006c8868287016200060f565b935050602084015167ffffffffffffffff811115620006ec57620006eb620004b4565b5b620006fa868287016200060f565b92505060406200070d8682870162000666565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200075f57607f821691505b6020821081141562000776576200077562000717565b5b50919050565b6080516149ba620007a6600039600081816109ea01528181610cf60152610d1d01526149ba6000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80636352211e1161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106d2578063dcec3294146106ee578063dd4670641461071e578063e985e9c51461073a578063f6aacfb11461076a5761023d565b8063ace9e2e21461062e578063b88d4fde1461064a578063b930908f14610666578063c87b56dd14610684578063d5391393146106b45761023d565b806395d89b41116100ff57806395d89b411461059e578063965f4c60146105bc5780639dc29fac146105d8578063a217fddf146105f4578063a22cb465146106125761023d565b80636352211e146104d657806370a082311461050657806379deb6e71461053657806391d1485414610552578063931688cb146105825761023d565b80632f286b1b116101c957806342842e0e1161018d57806342842e0e1461042257806343508b051461043e5780634f6ccce71461046e578063530dd0791461049e5780636198e339146104ba5761023d565b80632f286b1b146103805780632f2ff15d1461039e5780632f745c59146103ba578063327ba615146103ea57806336568abe146104065761023d565b806318160ddd1161021057806318160ddd146102dc57806319d1997a146102fa5780631cf4e3ee1461031857806323b872dd14610334578063248a9ca3146103505761023d565b806301ffc9a71461024257806306fdde0314610272578063081812fc14610290578063095ea7b3146102c0575b600080fd5b61025c60048036038101906102579190613091565b61079a565b60405161026991906130d9565b60405180910390f35b61027a6107ac565b604051610287919061318d565b60405180910390f35b6102aa60048036038101906102a591906131e5565b61083e565b6040516102b79190613253565b60405180910390f35b6102da60048036038101906102d5919061329a565b6108c3565b005b6102e46109db565b6040516102f191906132e9565b60405180910390f35b6103026109e8565b60405161030f91906132e9565b60405180910390f35b610332600480360381019061032d9190613304565b610a0c565b005b61034e60048036038101906103499190613331565b610a39565b005b61036a600480360381019061036591906133ba565b610a99565b60405161037791906133f6565b60405180910390f35b610388610ab8565b60405161039591906133f6565b60405180910390f35b6103b860048036038101906103b39190613411565b610adc565b005b6103d460048036038101906103cf919061329a565b610b05565b6040516103e191906132e9565b60405180910390f35b61040460048036038101906103ff9190613304565b610baa565b005b610420600480360381019061041b9190613411565b610bd7565b005b61043c60048036038101906104379190613331565b610c5a565b005b6104586004803603810190610453919061329a565b610c7a565b604051610465919061350f565b60405180910390f35b610488600480360381019061048391906131e5565b610ea2565b60405161049591906132e9565b60405180910390f35b6104b860048036038101906104b39190613304565b610f13565b005b6104d460048036038101906104cf91906131e5565b610f40565b005b6104f060048036038101906104eb91906131e5565b611077565b6040516104fd9190613253565b60405180910390f35b610520600480360381019061051b9190613304565b611129565b60405161052d91906132e9565b60405180910390f35b610550600480360381019061054b9190613304565b6111e1565b005b61056c60048036038101906105679190613411565b61120e565b60405161057991906130d9565b60405180910390f35b61059c60048036038101906105979190613596565b611278565b005b6105a66112a4565b6040516105b3919061318d565b60405180910390f35b6105d660048036038101906105d19190613304565b611336565b005b6105f260048036038101906105ed919061329a565b611363565b005b6105fc6114c2565b60405161060991906133f6565b60405180910390f35b61062c6004803603810190610627919061360f565b6114c9565b005b61064860048036038101906106439190613304565b6114df565b005b610664600480360381019061065f919061377f565b61150c565b005b61066e61156e565b60405161067b91906133f6565b60405180910390f35b61069e600480360381019061069991906131e5565b611592565b6040516106ab919061318d565b60405180910390f35b6106bc6115c8565b6040516106c991906133f6565b60405180910390f35b6106ec60048036038101906106e79190613411565b6115ec565b005b610708600480360381019061070391906131e5565b611615565b60405161071591906130d9565b60405180910390f35b610738600480360381019061073391906131e5565b611635565b005b610754600480360381019061074f9190613802565b61176d565b60405161076191906130d9565b60405180910390f35b610784600480360381019061077f91906131e5565b611801565b60405161079191906130d9565b60405180910390f35b60006107a58261182b565b9050919050565b6060600180546107bb90613871565b80601f01602080910402602001604051908101604052809291908181526020018280546107e790613871565b80156108345780601f1061080957610100808354040283529160200191610834565b820191906000526020600020905b81548152906001019060200180831161081757829003601f168201915b5050505050905090565b6000610849826118a5565b610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087f90613915565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108ce82611077565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561093f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610936906139a7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661095e611911565b73ffffffffffffffffffffffffffffffffffffffff16148061098d575061098c81610987611911565b61176d565b5b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390613a39565b60405180910390fd5b6109d68383611919565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a367f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826115ec565b50565b610a4a610a44611911565b826119d2565b610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613acb565b60405180910390fd5b610a94838383611ab0565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610ae582610a99565b610af681610af1611911565b611d17565b610b008383611db4565b505050565b6000610b1083611129565b8210610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890613b5d565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bd47fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610adc565b50565b610bdf611911565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4390613bef565b60405180910390fd5b610c568282611e94565b5050565b610c758383836040518060200160405280600081525061150c565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cae81610ca9611911565b611d17565b6064831115610cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce990613c5b565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610d91577f000000000000000000000000000000000000000000000000000000000000000083610d456109db565b610d4f9190613caa565b1115610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8790613d4c565b60405180910390fd5b5b60008367ffffffffffffffff811115610dad57610dac613654565b5b604051908082528060200260200182016040528015610ddb5781602001602082028036833780820191505090505b50905060005b84811015610e48576001600d6000828254610dfc9190613caa565b925050819055506000600d549050610e148782611f75565b80838381518110610e2857610e27613d6c565b5b602002602001018181525050508080610e4090613d9b565b915050610de1565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243182604051610e8f919061350f565b60405180910390a2809250505092915050565b6000610eac6109db565b8210610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee490613e56565b60405180910390fd5b60098281548110610f0157610f00613d6c565b5b90600052602060002001549050919050565b610f3d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610adc565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610f7281610f6d611911565b611d17565b610f7b826118a5565b610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb190613ec2565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1661101a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101190613f2e565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790613fc0565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190614052565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61120b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826115ec565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b61128d81611288611911565b611d17565b8282600c919061129e929190612f82565b50505050565b6060600280546112b390613871565b80601f01602080910402602001604051908101604052809291908181526020018280546112df90613871565b801561132c5780601f106113015761010080835404028352916020019161132c565b820191906000526020600020905b81548152906001019060200180831161130f57829003601f168201915b5050505050905090565b6113607fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826115ec565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2261139581611390611911565b611d17565b61139e826118a5565b6113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d4906140be565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff161561143e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114359061412a565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1661145e83611077565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab906141bc565b60405180910390fd5b6114bd82611f93565b505050565b6000801b81565b6114db6114d4611911565b83836120b0565b5050565b6115097fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610adc565b50565b61151d611517611911565b836119d2565b61155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390613acb565b60405180910390fd5b6115688484848461221d565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b6060600061159e612279565b905060008151116115be57604051806020016040528060008152506115c0565b805b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6115f582610a99565b61160681611601611911565b611d17565b6116108383611e94565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161166781611662611911565b611d17565b611670826118a5565b6116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a690613ec2565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790614228565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061189e575061189d8261230b565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661198c83611077565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006119dd826118a5565b611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a13906142ba565b60405180910390fd5b6000611a2783611077565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a9657508373ffffffffffffffffffffffffffffffffffffffff16611a7e8461083e565b73ffffffffffffffffffffffffffffffffffffffff16145b80611aa75750611aa6818561176d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611ad082611077565b73ffffffffffffffffffffffffffffffffffffffff1614611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d9061434c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d906143de565b60405180910390fd5b611ba18383836123ed565b611bac600082611919565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bfc91906143fe565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c539190613caa565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d1283838361245e565b505050565b611d21828261120e565b611db057611d468173ffffffffffffffffffffffffffffffffffffffff166014612463565b611d548360001c6020612463565b604051602001611d65929190614506565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da7919061318d565b60405180910390fd5b5050565b611dbe828261120e565b611e9057600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e35611911565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611e9e828261120e565b15611f7157600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f16611911565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611f8f82826040518060200160405280600081525061269f565b5050565b6000611f9e82611077565b9050611fac816000846123ed565b611fb7600083611919565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461200791906143fe565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46120ac8160008461245e565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561211f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121169061458c565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161221091906130d9565b60405180910390a3505050565b612228848484611ab0565b612234848484846126fa565b612273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226a9061461e565b60405180910390fd5b50505050565b6060600c805461228890613871565b80601f01602080910402602001604051908101604052809291908181526020018280546122b490613871565b80156123015780601f106122d657610100808354040283529160200191612301565b820191906000526020600020905b8154815290600101906020018083116122e457829003601f168201915b5050505050905090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806123d657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806123e657506123e582612882565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff161561244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124459061468a565b60405180910390fd5b6124598383836128fc565b505050565b505050565b60606000600283600261247691906146aa565b6124809190613caa565b67ffffffffffffffff81111561249957612498613654565b5b6040519080825280601f01601f1916602001820160405280156124cb5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061250357612502613d6c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061256757612566613d6c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026125a791906146aa565b6125b19190613caa565b90505b6001811115612651577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106125f3576125f2613d6c565b5b1a60f81b82828151811061260a57612609613d6c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061264a90614704565b90506125b4565b5060008414612695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268c9061477a565b60405180910390fd5b8091505092915050565b6126a98383612a10565b6126b660008484846126fa565b6126f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ec9061461e565b60405180910390fd5b505050565b600061271b8473ffffffffffffffffffffffffffffffffffffffff16612bea565b15612875578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612744611911565b8786866040518563ffffffff1660e01b815260040161276694939291906147ef565b6020604051808303816000875af19250505080156127a257506040513d601f19601f8201168201806040525081019061279f9190614850565b60015b612825573d80600081146127d2576040519150601f19603f3d011682016040523d82523d6000602084013e6127d7565b606091505b5060008151141561281d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128149061461e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061287a565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806128f557506128f482612c0d565b5b9050919050565b612907838383612c77565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561294a5761294581612c7c565b612989565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612988576129878382612cc5565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129cc576129c781612e32565b612a0b565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a0a57612a098282612f03565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a77906148c9565b60405180910390fd5b612a89816118a5565b15612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac090614935565b60405180910390fd5b612ad5600083836123ed565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b259190613caa565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612be66000838361245e565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612cd284611129565b612cdc91906143fe565b9050600060086000848152602001908152602001600020549050818114612dc1576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612e4691906143fe565b90506000600a6000848152602001908152602001600020549050600060098381548110612e7657612e75613d6c565b5b906000526020600020015490508060098381548110612e9857612e97613d6c565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612ee757612ee6614955565b5b6001900381819060005260206000200160009055905550505050565b6000612f0e83611129565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b828054612f8e90613871565b90600052602060002090601f016020900481019282612fb05760008555612ff7565b82601f10612fc957803560ff1916838001178555612ff7565b82800160010185558215612ff7579182015b82811115612ff6578235825591602001919060010190612fdb565b5b5090506130049190613008565b5090565b5b80821115613021576000816000905550600101613009565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61306e81613039565b811461307957600080fd5b50565b60008135905061308b81613065565b92915050565b6000602082840312156130a7576130a661302f565b5b60006130b58482850161307c565b91505092915050565b60008115159050919050565b6130d3816130be565b82525050565b60006020820190506130ee60008301846130ca565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561312e578082015181840152602081019050613113565b8381111561313d576000848401525b50505050565b6000601f19601f8301169050919050565b600061315f826130f4565b61316981856130ff565b9350613179818560208601613110565b61318281613143565b840191505092915050565b600060208201905081810360008301526131a78184613154565b905092915050565b6000819050919050565b6131c2816131af565b81146131cd57600080fd5b50565b6000813590506131df816131b9565b92915050565b6000602082840312156131fb576131fa61302f565b5b6000613209848285016131d0565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061323d82613212565b9050919050565b61324d81613232565b82525050565b60006020820190506132686000830184613244565b92915050565b61327781613232565b811461328257600080fd5b50565b6000813590506132948161326e565b92915050565b600080604083850312156132b1576132b061302f565b5b60006132bf85828601613285565b92505060206132d0858286016131d0565b9150509250929050565b6132e3816131af565b82525050565b60006020820190506132fe60008301846132da565b92915050565b60006020828403121561331a5761331961302f565b5b600061332884828501613285565b91505092915050565b60008060006060848603121561334a5761334961302f565b5b600061335886828701613285565b935050602061336986828701613285565b925050604061337a868287016131d0565b9150509250925092565b6000819050919050565b61339781613384565b81146133a257600080fd5b50565b6000813590506133b48161338e565b92915050565b6000602082840312156133d0576133cf61302f565b5b60006133de848285016133a5565b91505092915050565b6133f081613384565b82525050565b600060208201905061340b60008301846133e7565b92915050565b600080604083850312156134285761342761302f565b5b6000613436858286016133a5565b925050602061344785828601613285565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613486816131af565b82525050565b6000613498838361347d565b60208301905092915050565b6000602082019050919050565b60006134bc82613451565b6134c6818561345c565b93506134d18361346d565b8060005b838110156135025781516134e9888261348c565b97506134f4836134a4565b9250506001810190506134d5565b5085935050505092915050565b6000602082019050818103600083015261352981846134b1565b905092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261355657613555613531565b5b8235905067ffffffffffffffff81111561357357613572613536565b5b60208301915083600182028301111561358f5761358e61353b565b5b9250929050565b600080602083850312156135ad576135ac61302f565b5b600083013567ffffffffffffffff8111156135cb576135ca613034565b5b6135d785828601613540565b92509250509250929050565b6135ec816130be565b81146135f757600080fd5b50565b600081359050613609816135e3565b92915050565b600080604083850312156136265761362561302f565b5b600061363485828601613285565b9250506020613645858286016135fa565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61368c82613143565b810181811067ffffffffffffffff821117156136ab576136aa613654565b5b80604052505050565b60006136be613025565b90506136ca8282613683565b919050565b600067ffffffffffffffff8211156136ea576136e9613654565b5b6136f382613143565b9050602081019050919050565b82818337600083830152505050565b600061372261371d846136cf565b6136b4565b90508281526020810184848401111561373e5761373d61364f565b5b613749848285613700565b509392505050565b600082601f83011261376657613765613531565b5b813561377684826020860161370f565b91505092915050565b600080600080608085870312156137995761379861302f565b5b60006137a787828801613285565b94505060206137b887828801613285565b93505060406137c9878288016131d0565b925050606085013567ffffffffffffffff8111156137ea576137e9613034565b5b6137f687828801613751565b91505092959194509250565b600080604083850312156138195761381861302f565b5b600061382785828601613285565b925050602061383885828601613285565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061388957607f821691505b6020821081141561389d5761389c613842565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006138ff602c836130ff565b915061390a826138a3565b604082019050919050565b6000602082019050818103600083015261392e816138f2565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006139916021836130ff565b915061399c82613935565b604082019050919050565b600060208201905081810360008301526139c081613984565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613a236038836130ff565b9150613a2e826139c7565b604082019050919050565b60006020820190508181036000830152613a5281613a16565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613ab56031836130ff565b9150613ac082613a59565b604082019050919050565b60006020820190508181036000830152613ae481613aa8565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613b47602b836130ff565b9150613b5282613aeb565b604082019050919050565b60006020820190508181036000830152613b7681613b3a565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613bd9602f836130ff565b9150613be482613b7d565b604082019050919050565b60006020820190508181036000830152613c0881613bcc565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613c456011836130ff565b9150613c5082613c0f565b602082019050919050565b60006020820190508181036000830152613c7481613c38565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cb5826131af565b9150613cc0836131af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613cf557613cf4613c7b565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613d366017836130ff565b9150613d4182613d00565b602082019050919050565b60006020820190508181036000830152613d6581613d29565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613da6826131af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613dd957613dd8613c7b565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613e40602c836130ff565b9150613e4b82613de4565b604082019050919050565b60006020820190508181036000830152613e6f81613e33565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b6000613eac6015836130ff565b9150613eb782613e76565b602082019050919050565b60006020820190508181036000830152613edb81613e9f565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b6000613f18601a836130ff565b9150613f2382613ee2565b602082019050919050565b60006020820190508181036000830152613f4781613f0b565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613faa6029836130ff565b9150613fb582613f4e565b604082019050919050565b60006020820190508181036000830152613fd981613f9d565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061403c602a836130ff565b915061404782613fe0565b604082019050919050565b6000602082019050818103600083015261406b8161402f565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006140a86012836130ff565b91506140b382614072565b602082019050919050565b600060208201905081810360008301526140d78161409b565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b60006141146019836130ff565b915061411f826140de565b602082019050919050565b6000602082019050818103600083015261414381614107565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b60006141a6602d836130ff565b91506141b18261414a565b604082019050919050565b600060208201905081810360008301526141d581614199565b9050919050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b60006142126018836130ff565b915061421d826141dc565b602082019050919050565b6000602082019050818103600083015261424181614205565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006142a4602c836130ff565b91506142af82614248565b604082019050919050565b600060208201905081810360008301526142d381614297565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006143366025836130ff565b9150614341826142da565b604082019050919050565b6000602082019050818103600083015261436581614329565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006143c86024836130ff565b91506143d38261436c565b604082019050919050565b600060208201905081810360008301526143f7816143bb565b9050919050565b6000614409826131af565b9150614414836131af565b92508282101561442757614426613c7b565b5b828203905092915050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614473601783614432565b915061447e8261443d565b601782019050919050565b6000614494826130f4565b61449e8185614432565b93506144ae818560208601613110565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006144f0601183614432565b91506144fb826144ba565b601182019050919050565b600061451182614466565b915061451d8285614489565b9150614528826144e3565b91506145348284614489565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006145766019836130ff565b915061458182614540565b602082019050919050565b600060208201905081810360008301526145a581614569565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006146086032836130ff565b9150614613826145ac565b604082019050919050565b60006020820190508181036000830152614637816145fb565b9050919050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614674601d836130ff565b915061467f8261463e565b602082019050919050565b600060208201905081810360008301526146a381614667565b9050919050565b60006146b5826131af565b91506146c0836131af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146f9576146f8613c7b565b5b828202905092915050565b600061470f826131af565b9150600082141561472357614722613c7b565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006147646020836130ff565b915061476f8261472e565b602082019050919050565b6000602082019050818103600083015261479381614757565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006147c18261479a565b6147cb81856147a5565b93506147db818560208601613110565b6147e481613143565b840191505092915050565b60006080820190506148046000830187613244565b6148116020830186613244565b61481e60408301856132da565b818103606083015261483081846147b6565b905095945050505050565b60008151905061484a81613065565b92915050565b6000602082840312156148665761486561302f565b5b60006148748482850161483b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006148b36020836130ff565b91506148be8261487d565b602082019050919050565b600060208201905081810360008301526148e2816148a6565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061491f601c836130ff565b915061492a826148e9565b602082019050919050565b6000602082019050818103600083015261494e81614912565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220eb97a0cbc44bff1febb8f040813a0fafebab81c07b0205ffeb0199f142c0c71464736f6c634300080a003368747470733a2f2f6d61726b65742e636562672e67616d65732f6170692f6e66742f696e666f2f", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061023d5760003560e01c80636352211e1161013b578063ace9e2e2116100b8578063d547741f1161007c578063d547741f146106d2578063dcec3294146106ee578063dd4670641461071e578063e985e9c51461073a578063f6aacfb11461076a5761023d565b8063ace9e2e21461062e578063b88d4fde1461064a578063b930908f14610666578063c87b56dd14610684578063d5391393146106b45761023d565b806395d89b41116100ff57806395d89b411461059e578063965f4c60146105bc5780639dc29fac146105d8578063a217fddf146105f4578063a22cb465146106125761023d565b80636352211e146104d657806370a082311461050657806379deb6e71461053657806391d1485414610552578063931688cb146105825761023d565b80632f286b1b116101c957806342842e0e1161018d57806342842e0e1461042257806343508b051461043e5780634f6ccce71461046e578063530dd0791461049e5780636198e339146104ba5761023d565b80632f286b1b146103805780632f2ff15d1461039e5780632f745c59146103ba578063327ba615146103ea57806336568abe146104065761023d565b806318160ddd1161021057806318160ddd146102dc57806319d1997a146102fa5780631cf4e3ee1461031857806323b872dd14610334578063248a9ca3146103505761023d565b806301ffc9a71461024257806306fdde0314610272578063081812fc14610290578063095ea7b3146102c0575b600080fd5b61025c60048036038101906102579190613091565b61079a565b60405161026991906130d9565b60405180910390f35b61027a6107ac565b604051610287919061318d565b60405180910390f35b6102aa60048036038101906102a591906131e5565b61083e565b6040516102b79190613253565b60405180910390f35b6102da60048036038101906102d5919061329a565b6108c3565b005b6102e46109db565b6040516102f191906132e9565b60405180910390f35b6103026109e8565b60405161030f91906132e9565b60405180910390f35b610332600480360381019061032d9190613304565b610a0c565b005b61034e60048036038101906103499190613331565b610a39565b005b61036a600480360381019061036591906133ba565b610a99565b60405161037791906133f6565b60405180910390f35b610388610ab8565b60405161039591906133f6565b60405180910390f35b6103b860048036038101906103b39190613411565b610adc565b005b6103d460048036038101906103cf919061329a565b610b05565b6040516103e191906132e9565b60405180910390f35b61040460048036038101906103ff9190613304565b610baa565b005b610420600480360381019061041b9190613411565b610bd7565b005b61043c60048036038101906104379190613331565b610c5a565b005b6104586004803603810190610453919061329a565b610c7a565b604051610465919061350f565b60405180910390f35b610488600480360381019061048391906131e5565b610ea2565b60405161049591906132e9565b60405180910390f35b6104b860048036038101906104b39190613304565b610f13565b005b6104d460048036038101906104cf91906131e5565b610f40565b005b6104f060048036038101906104eb91906131e5565b611077565b6040516104fd9190613253565b60405180910390f35b610520600480360381019061051b9190613304565b611129565b60405161052d91906132e9565b60405180910390f35b610550600480360381019061054b9190613304565b6111e1565b005b61056c60048036038101906105679190613411565b61120e565b60405161057991906130d9565b60405180910390f35b61059c60048036038101906105979190613596565b611278565b005b6105a66112a4565b6040516105b3919061318d565b60405180910390f35b6105d660048036038101906105d19190613304565b611336565b005b6105f260048036038101906105ed919061329a565b611363565b005b6105fc6114c2565b60405161060991906133f6565b60405180910390f35b61062c6004803603810190610627919061360f565b6114c9565b005b61064860048036038101906106439190613304565b6114df565b005b610664600480360381019061065f919061377f565b61150c565b005b61066e61156e565b60405161067b91906133f6565b60405180910390f35b61069e600480360381019061069991906131e5565b611592565b6040516106ab919061318d565b60405180910390f35b6106bc6115c8565b6040516106c991906133f6565b60405180910390f35b6106ec60048036038101906106e79190613411565b6115ec565b005b610708600480360381019061070391906131e5565b611615565b60405161071591906130d9565b60405180910390f35b610738600480360381019061073391906131e5565b611635565b005b610754600480360381019061074f9190613802565b61176d565b60405161076191906130d9565b60405180910390f35b610784600480360381019061077f91906131e5565b611801565b60405161079191906130d9565b60405180910390f35b60006107a58261182b565b9050919050565b6060600180546107bb90613871565b80601f01602080910402602001604051908101604052809291908181526020018280546107e790613871565b80156108345780601f1061080957610100808354040283529160200191610834565b820191906000526020600020905b81548152906001019060200180831161081757829003601f168201915b5050505050905090565b6000610849826118a5565b610888576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161087f90613915565b60405180910390fd5b6005600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006108ce82611077565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561093f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610936906139a7565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1661095e611911565b73ffffffffffffffffffffffffffffffffffffffff16148061098d575061098c81610987611911565b61176d565b5b6109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390613a39565b60405180910390fd5b6109d68383611919565b505050565b6000600980549050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b610a367f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6826115ec565b50565b610a4a610a44611911565b826119d2565b610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8090613acb565b60405180910390fd5b610a94838383611ab0565b505050565b6000806000838152602001908152602001600020600101549050919050565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75181565b610ae582610a99565b610af681610af1611911565b611d17565b610b008383611db4565b505050565b6000610b1083611129565b8210610b51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b4890613b5d565b60405180910390fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610bd47fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2282610adc565b50565b610bdf611911565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c4390613bef565b60405180910390fd5b610c568282611e94565b5050565b610c758383836040518060200160405280600081525061150c565b505050565b60607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610cae81610ca9611911565b611d17565b6064831115610cf2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce990613c5b565b60405180910390fd5b60007f00000000000000000000000000000000000000000000000000000000000000001115610d91577f000000000000000000000000000000000000000000000000000000000000000083610d456109db565b610d4f9190613caa565b1115610d90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8790613d4c565b60405180910390fd5b5b60008367ffffffffffffffff811115610dad57610dac613654565b5b604051908082528060200260200182016040528015610ddb5781602001602082028036833780820191505090505b50905060005b84811015610e48576001600d6000828254610dfc9190613caa565b925050819055506000600d549050610e148782611f75565b80838381518110610e2857610e27613d6c565b5b602002602001018181525050508080610e4090613d9b565b915050610de1565b508473ffffffffffffffffffffffffffffffffffffffff167f6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd268243182604051610e8f919061350f565b60405180910390a2809250505092915050565b6000610eac6109db565b8210610eed576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ee490613e56565b60405180910390fd5b60098281548110610f0157610f00613d6c565b5b90600052602060002001549050919050565b610f3d7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a682610adc565b50565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751610f7281610f6d611911565b611d17565b610f7b826118a5565b610fba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb190613ec2565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1661101a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101190613f2e565b60405180910390fd5b6000600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817fa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b32060405160405180910390a25050565b6000806003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611120576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111790613fc0565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190614052565b60405180910390fd5b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61120b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e751826115ec565b50565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b61128d81611288611911565b611d17565b8282600c919061129e929190612f82565b50505050565b6060600280546112b390613871565b80601f01602080910402602001604051908101604052809291908181526020018280546112df90613871565b801561132c5780601f106113015761010080835404028352916020019161132c565b820191906000526020600020905b81548152906001019060200180831161130f57829003601f168201915b5050505050905090565b6113607fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa22826115ec565b50565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2261139581611390611911565b611d17565b61139e826118a5565b6113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d4906140be565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff161561143e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114359061412a565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1661145e83611077565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab906141bc565b60405180910390fd5b6114bd82611f93565b505050565b6000801b81565b6114db6114d4611911565b83836120b0565b5050565b6115097fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75182610adc565b50565b61151d611517611911565b836119d2565b61155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390613acb565b60405180910390fd5b6115688484848461221d565b50505050565b7fe97b137254058bd94f28d2f3eb79e2d34074ffb488d042e3bc958e0a57d2fa2281565b6060600061159e612279565b905060008151116115be57604051806020016040528060008152506115c0565b805b915050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6115f582610a99565b61160681611601611911565b611d17565b6116108383611e94565b505050565b600b6020528060005260406000206000915054906101000a900460ff1681565b7fee67e84f062f26b2e1ed715b7ab5b471f8978a749ac5fc5bc774f49acca5e75161166781611662611911565b611d17565b611670826118a5565b6116af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116a690613ec2565b60405180910390fd5b600b600083815260200190815260200160002060009054906101000a900460ff1615611710576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170790614228565b60405180910390fd5b6001600b600084815260200190815260200160002060006101000a81548160ff021916908315150217905550817f57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf422760405160405180910390a25050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b600083815260200190815260200160002060009054906101000a900460ff169050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061189e575061189d8261230b565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166003600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816005600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661198c83611077565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006119dd826118a5565b611a1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a13906142ba565b60405180910390fd5b6000611a2783611077565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611a9657508373ffffffffffffffffffffffffffffffffffffffff16611a7e8461083e565b73ffffffffffffffffffffffffffffffffffffffff16145b80611aa75750611aa6818561176d565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611ad082611077565b73ffffffffffffffffffffffffffffffffffffffff1614611b26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1d9061434c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8d906143de565b60405180910390fd5b611ba18383836123ed565b611bac600082611919565b6001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611bfc91906143fe565b925050819055506001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611c539190613caa565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611d1283838361245e565b505050565b611d21828261120e565b611db057611d468173ffffffffffffffffffffffffffffffffffffffff166014612463565b611d548360001c6020612463565b604051602001611d65929190614506565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da7919061318d565b60405180910390fd5b5050565b611dbe828261120e565b611e9057600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e35611911565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611e9e828261120e565b15611f7157600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f16611911565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611f8f82826040518060200160405280600081525061269f565b5050565b6000611f9e82611077565b9050611fac816000846123ed565b611fb7600083611919565b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461200791906143fe565b925050819055506003600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46120ac8160008461245e565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561211f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121169061458c565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161221091906130d9565b60405180910390a3505050565b612228848484611ab0565b612234848484846126fa565b612273576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226a9061461e565b60405180910390fd5b50505050565b6060600c805461228890613871565b80601f01602080910402602001604051908101604052809291908181526020018280546122b490613871565b80156123015780601f106122d657610100808354040283529160200191612301565b820191906000526020600020905b8154815290600101906020018083116122e457829003601f168201915b5050505050905090565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806123d657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806123e657506123e582612882565b5b9050919050565b600b600082815260200190815260200160002060009054906101000a900460ff161561244e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124459061468a565b60405180910390fd5b6124598383836128fc565b505050565b505050565b60606000600283600261247691906146aa565b6124809190613caa565b67ffffffffffffffff81111561249957612498613654565b5b6040519080825280601f01601f1916602001820160405280156124cb5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061250357612502613d6c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061256757612566613d6c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026125a791906146aa565b6125b19190613caa565b90505b6001811115612651577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106125f3576125f2613d6c565b5b1a60f81b82828151811061260a57612609613d6c565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061264a90614704565b90506125b4565b5060008414612695576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161268c9061477a565b60405180910390fd5b8091505092915050565b6126a98383612a10565b6126b660008484846126fa565b6126f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126ec9061461e565b60405180910390fd5b505050565b600061271b8473ffffffffffffffffffffffffffffffffffffffff16612bea565b15612875578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612744611911565b8786866040518563ffffffff1660e01b815260040161276694939291906147ef565b6020604051808303816000875af19250505080156127a257506040513d601f19601f8201168201806040525081019061279f9190614850565b60015b612825573d80600081146127d2576040519150601f19603f3d011682016040523d82523d6000602084013e6127d7565b606091505b5060008151141561281d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128149061461e565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061287a565b600190505b949350505050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806128f557506128f482612c0d565b5b9050919050565b612907838383612c77565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561294a5761294581612c7c565b612989565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612988576129878382612cc5565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129cc576129c781612e32565b612a0b565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612a0a57612a098282612f03565b5b5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612a80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a77906148c9565b60405180910390fd5b612a89816118a5565b15612ac9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac090614935565b60405180910390fd5b612ad5600083836123ed565b6001600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612b259190613caa565b92505081905550816003600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612be66000838361245e565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b505050565b600980549050600a600083815260200190815260200160002081905550600981908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612cd284611129565b612cdc91906143fe565b9050600060086000848152602001908152602001600020549050818114612dc1576000600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816008600083815260200190815260200160002081905550505b6008600084815260200190815260200160002060009055600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600980549050612e4691906143fe565b90506000600a6000848152602001908152602001600020549050600060098381548110612e7657612e75613d6c565b5b906000526020600020015490508060098381548110612e9857612e97613d6c565b5b906000526020600020018190555081600a600083815260200190815260200160002081905550600a6000858152602001908152602001600020600090556009805480612ee757612ee6614955565b5b6001900381819060005260206000200160009055905550505050565b6000612f0e83611129565b905081600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806008600084815260200190815260200160002081905550505050565b828054612f8e90613871565b90600052602060002090601f016020900481019282612fb05760008555612ff7565b82601f10612fc957803560ff1916838001178555612ff7565b82800160010185558215612ff7579182015b82811115612ff6578235825591602001919060010190612fdb565b5b5090506130049190613008565b5090565b5b80821115613021576000816000905550600101613009565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61306e81613039565b811461307957600080fd5b50565b60008135905061308b81613065565b92915050565b6000602082840312156130a7576130a661302f565b5b60006130b58482850161307c565b91505092915050565b60008115159050919050565b6130d3816130be565b82525050565b60006020820190506130ee60008301846130ca565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561312e578082015181840152602081019050613113565b8381111561313d576000848401525b50505050565b6000601f19601f8301169050919050565b600061315f826130f4565b61316981856130ff565b9350613179818560208601613110565b61318281613143565b840191505092915050565b600060208201905081810360008301526131a78184613154565b905092915050565b6000819050919050565b6131c2816131af565b81146131cd57600080fd5b50565b6000813590506131df816131b9565b92915050565b6000602082840312156131fb576131fa61302f565b5b6000613209848285016131d0565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061323d82613212565b9050919050565b61324d81613232565b82525050565b60006020820190506132686000830184613244565b92915050565b61327781613232565b811461328257600080fd5b50565b6000813590506132948161326e565b92915050565b600080604083850312156132b1576132b061302f565b5b60006132bf85828601613285565b92505060206132d0858286016131d0565b9150509250929050565b6132e3816131af565b82525050565b60006020820190506132fe60008301846132da565b92915050565b60006020828403121561331a5761331961302f565b5b600061332884828501613285565b91505092915050565b60008060006060848603121561334a5761334961302f565b5b600061335886828701613285565b935050602061336986828701613285565b925050604061337a868287016131d0565b9150509250925092565b6000819050919050565b61339781613384565b81146133a257600080fd5b50565b6000813590506133b48161338e565b92915050565b6000602082840312156133d0576133cf61302f565b5b60006133de848285016133a5565b91505092915050565b6133f081613384565b82525050565b600060208201905061340b60008301846133e7565b92915050565b600080604083850312156134285761342761302f565b5b6000613436858286016133a5565b925050602061344785828601613285565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613486816131af565b82525050565b6000613498838361347d565b60208301905092915050565b6000602082019050919050565b60006134bc82613451565b6134c6818561345c565b93506134d18361346d565b8060005b838110156135025781516134e9888261348c565b97506134f4836134a4565b9250506001810190506134d5565b5085935050505092915050565b6000602082019050818103600083015261352981846134b1565b905092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261355657613555613531565b5b8235905067ffffffffffffffff81111561357357613572613536565b5b60208301915083600182028301111561358f5761358e61353b565b5b9250929050565b600080602083850312156135ad576135ac61302f565b5b600083013567ffffffffffffffff8111156135cb576135ca613034565b5b6135d785828601613540565b92509250509250929050565b6135ec816130be565b81146135f757600080fd5b50565b600081359050613609816135e3565b92915050565b600080604083850312156136265761362561302f565b5b600061363485828601613285565b9250506020613645858286016135fa565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61368c82613143565b810181811067ffffffffffffffff821117156136ab576136aa613654565b5b80604052505050565b60006136be613025565b90506136ca8282613683565b919050565b600067ffffffffffffffff8211156136ea576136e9613654565b5b6136f382613143565b9050602081019050919050565b82818337600083830152505050565b600061372261371d846136cf565b6136b4565b90508281526020810184848401111561373e5761373d61364f565b5b613749848285613700565b509392505050565b600082601f83011261376657613765613531565b5b813561377684826020860161370f565b91505092915050565b600080600080608085870312156137995761379861302f565b5b60006137a787828801613285565b94505060206137b887828801613285565b93505060406137c9878288016131d0565b925050606085013567ffffffffffffffff8111156137ea576137e9613034565b5b6137f687828801613751565b91505092959194509250565b600080604083850312156138195761381861302f565b5b600061382785828601613285565b925050602061383885828601613285565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061388957607f821691505b6020821081141561389d5761389c613842565b5b50919050565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006138ff602c836130ff565b915061390a826138a3565b604082019050919050565b6000602082019050818103600083015261392e816138f2565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006139916021836130ff565b915061399c82613935565b604082019050919050565b600060208201905081810360008301526139c081613984565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b6000613a236038836130ff565b9150613a2e826139c7565b604082019050919050565b60006020820190508181036000830152613a5281613a16565b9050919050565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b6000613ab56031836130ff565b9150613ac082613a59565b604082019050919050565b60006020820190508181036000830152613ae481613aa8565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613b47602b836130ff565b9150613b5282613aeb565b604082019050919050565b60006020820190508181036000830152613b7681613b3a565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613bd9602f836130ff565b9150613be482613b7d565b604082019050919050565b60006020820190508181036000830152613c0881613bcc565b9050919050565b7f746f6b656e49647320746f6f206d616e79000000000000000000000000000000600082015250565b6000613c456011836130ff565b9150613c5082613c0f565b602082019050919050565b60006020820190508181036000830152613c7481613c38565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613cb5826131af565b9150613cc0836131af565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613cf557613cf4613c7b565b5b828201905092915050565b7f4578636565642074686520746f74616c20737570706c79000000000000000000600082015250565b6000613d366017836130ff565b9150613d4182613d00565b602082019050919050565b60006020820190508181036000830152613d6581613d29565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613da6826131af565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613dd957613dd8613c7b565b5b600182019050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000613e40602c836130ff565b9150613e4b82613de4565b604082019050919050565b60006020820190508181036000830152613e6f81613e33565b9050919050565b7f4d7573742062652076616c696420746f6b656e49640000000000000000000000600082015250565b6000613eac6015836130ff565b9150613eb782613e76565b602082019050919050565b60006020820190508181036000830152613edb81613e9f565b9050919050565b7f546f6b656e2068617320616c726561647920756e6c6f636b6564000000000000600082015250565b6000613f18601a836130ff565b9150613f2382613ee2565b602082019050919050565b60006020820190508181036000830152613f4781613f0b565b9050919050565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b6000613faa6029836130ff565b9150613fb582613f4e565b604082019050919050565b60006020820190508181036000830152613fd981613f9d565b9050919050565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b600061403c602a836130ff565b915061404782613fe0565b604082019050919050565b6000602082019050818103600083015261406b8161402f565b9050919050565b7f546f6b656e4964206e6f74206578697374730000000000000000000000000000600082015250565b60006140a86012836130ff565b91506140b382614072565b602082019050919050565b600060208201905081810360008301526140d78161409b565b9050919050565b7f43616e206e6f74206275726e206c6f636b656420746f6b656e00000000000000600082015250565b60006141146019836130ff565b915061411f826140de565b602082019050919050565b6000602082019050818103600083015261414381614107565b9050919050565b7f63757272656e742061646472657373206973206e6f74206f776e6572206f662060008201527f74686973206974656d206e6f7700000000000000000000000000000000000000602082015250565b60006141a6602d836130ff565b91506141b18261414a565b604082019050919050565b600060208201905081810360008301526141d581614199565b9050919050565b7f546f6b656e2068617320616c7265616479206c6f636b65640000000000000000600082015250565b60006142126018836130ff565b915061421d826141dc565b602082019050919050565b6000602082019050818103600083015261424181614205565b9050919050565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b60006142a4602c836130ff565b91506142af82614248565b604082019050919050565b600060208201905081810360008301526142d381614297565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006143366025836130ff565b9150614341826142da565b604082019050919050565b6000602082019050818103600083015261436581614329565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006143c86024836130ff565b91506143d38261436c565b604082019050919050565b600060208201905081810360008301526143f7816143bb565b9050919050565b6000614409826131af565b9150614414836131af565b92508282101561442757614426613c7b565b5b828203905092915050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614473601783614432565b915061447e8261443d565b601782019050919050565b6000614494826130f4565b61449e8185614432565b93506144ae818560208601613110565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006144f0601183614432565b91506144fb826144ba565b601182019050919050565b600061451182614466565b915061451d8285614489565b9150614528826144e3565b91506145348284614489565b91508190509392505050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006145766019836130ff565b915061458182614540565b602082019050919050565b600060208201905081810360008301526145a581614569565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006146086032836130ff565b9150614613826145ac565b604082019050919050565b60006020820190508181036000830152614637816145fb565b9050919050565b7f43616e206e6f74207472616e73666572206c6f636b656420746f6b656e000000600082015250565b6000614674601d836130ff565b915061467f8261463e565b602082019050919050565b600060208201905081810360008301526146a381614667565b9050919050565b60006146b5826131af565b91506146c0836131af565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156146f9576146f8613c7b565b5b828202905092915050565b600061470f826131af565b9150600082141561472357614722613c7b565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b60006147646020836130ff565b915061476f8261472e565b602082019050919050565b6000602082019050818103600083015261479381614757565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006147c18261479a565b6147cb81856147a5565b93506147db818560208601613110565b6147e481613143565b840191505092915050565b60006080820190506148046000830187613244565b6148116020830186613244565b61481e60408301856132da565b818103606083015261483081846147b6565b905095945050505050565b60008151905061484a81613065565b92915050565b6000602082840312156148665761486561302f565b5b60006148748482850161483b565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006148b36020836130ff565b91506148be8261487d565b602082019050919050565b600060208201905081810360008301526148e2816148a6565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061491f601c836130ff565b915061492a826148e9565b602082019050919050565b6000602082019050818103600083015261494e81614912565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220eb97a0cbc44bff1febb8f040813a0fafebab81c07b0205ffeb0199f142c0c71464736f6c634300080a0033", "immutableReferences": { "2365": [ { "length": 32, - "start": 2577 + "start": 2538 + }, + { + "length": 32, + "start": 3318 }, { "length": 32, "start": 3357 - }, - { - "length": 32, - "start": 3396 } ] }, @@ -3439,7 +3426,7 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:52070:14", + "src": "0:48426:14", "statements": [ { "body": { @@ -8657,14 +8644,14 @@ } ] }, - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", "nodeType": "YulFunctionDefinition", "src": "9909:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "10060:152:14", + "src": "10121:28:14", "statements": [ { "expression": { @@ -8672,1260 +8659,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10077:1:14", + "src": "10138:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10080:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10070:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10070:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10070:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10174:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10177:4:14", - "type": "", - "value": "0x41" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10167:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10167:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10167:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10198:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10201:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "10191:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10191:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10191:15:14" - } - ] - }, - "name": "panic_error_0x41", - "nodeType": "YulFunctionDefinition", - "src": "10032:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10261:238:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "10271:58:14", - "value": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10293:6:14" - }, - { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10323:4:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "10301:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "10301:27:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10289:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10289:40:14" - }, - "variables": [ - { - "name": "newFreePtr", - "nodeType": "YulTypedName", - "src": "10275:10:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10440:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "10442:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "10442:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10442:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10383:10:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10395:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10380:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10380:34:14" - }, - { - "arguments": [ - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10419:10:14" - }, - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10431:6:14" - } - ], - "functionName": { - "name": "lt", - "nodeType": "YulIdentifier", - "src": "10416:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10416:22:14" - } - ], - "functionName": { - "name": "or", - "nodeType": "YulIdentifier", - "src": "10377:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10377:62:14" - }, - "nodeType": "YulIf", - "src": "10374:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10478:2:14", - "type": "", - "value": "64" - }, - { - "name": "newFreePtr", - "nodeType": "YulIdentifier", - "src": "10482:10:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "10471:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "10471:22:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10471:22:14" - } - ] - }, - "name": "finalize_allocation", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10247:6:14", - "type": "" - }, - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10255:4:14", - "type": "" - } - ], - "src": "10218:281:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10546:88:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "10556:30:14", - "value": { - "arguments": [], - "functionName": { - "name": "allocate_unbounded", - "nodeType": "YulIdentifier", - "src": "10566:18:14" - }, - "nodeType": "YulFunctionCall", - "src": "10566:20:14" - }, - "variableNames": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10556:6:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "10615:6:14" - }, - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10623:4:14" - } - ], - "functionName": { - "name": "finalize_allocation", - "nodeType": "YulIdentifier", - "src": "10595:19:14" - }, - "nodeType": "YulFunctionCall", - "src": "10595:33:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10595:33:14" - } - ] - }, - "name": "allocate_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10530:4:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "10539:6:14", - "type": "" - } - ], - "src": "10505:129:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "10707:241:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "10812:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "10814:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "10814:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "10814:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10784:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10792:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "10781:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "10781:30:14" - }, - "nodeType": "YulIf", - "src": "10778:56:14" - }, - { - "nodeType": "YulAssignment", - "src": "10844:37:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "10874:6:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "10852:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "10852:29:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10844:4:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "10918:23:14", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10930:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "10936:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "10926:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "10926:15:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "10918:4:14" - } - ] - } - ] - }, - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10691:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "10702:4:14", - "type": "" - } - ], - "src": "10640:308:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11005:103:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11028:3:14" - }, - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11033:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11038:6:14" - } - ], - "functionName": { - "name": "calldatacopy", - "nodeType": "YulIdentifier", - "src": "11015:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "11015:30:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11015:30:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11086:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11091:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11082:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11082:16:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11100:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11075:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11075:27:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11075:27:14" - } - ] - }, - "name": "copy_calldata_to_memory", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "10987:3:14", - "type": "" - }, - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "10992:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "10997:6:14", - "type": "" - } - ], - "src": "10954:154:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11198:328:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "11208:75:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11275:6:14" - } - ], - "functionName": { - "name": "array_allocation_size_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "11233:41:14" - }, - "nodeType": "YulFunctionCall", - "src": "11233:49:14" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "11217:15:14" - }, - "nodeType": "YulFunctionCall", - "src": "11217:66:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11208:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11299:5:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11306:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "11292:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11292:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11292:21:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11322:27:14", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11337:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11344:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11333:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11333:16:14" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "11326:3:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11387:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "11389:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "11389:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11389:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11368:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11373:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11364:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11364:16:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11382:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "11361:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "11361:25:14" - }, - "nodeType": "YulIf", - "src": "11358:112:14" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "11503:3:14" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "11508:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11513:6:14" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "11479:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "11479:41:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11479:41:14" - } - ] - }, - "name": "abi_decode_available_length_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "11171:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11176:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11184:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "11192:5:14", - "type": "" - } - ], - "src": "11114:412:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11608:278:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "11657:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "11659:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "11659:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "11659:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11636:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11644:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11632:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11632:17:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11651:3:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "11628:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11628:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "11621:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "11621:35:14" - }, - "nodeType": "YulIf", - "src": "11618:122:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "11749:34:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11776:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "11763:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "11763:20:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "11753:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "11792:88:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "11853:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "11861:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "11849:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11849:17:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "11868:6:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "11876:3:14" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "11801:47:14" - }, - "nodeType": "YulFunctionCall", - "src": "11801:79:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "11792:5:14" - } - ] - } - ] - }, - "name": "abi_decode_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "11586:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "11594:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "11602:5:14", - "type": "" - } - ], - "src": "11546:340:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "11968:433:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "12014:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "12016:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "12016:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12016:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "11989:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "11998:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "11985:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11985:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12010:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "11981:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "11981:32:14" - }, - "nodeType": "YulIf", - "src": "11978:119:14" - }, - { - "nodeType": "YulBlock", - "src": "12107:287:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "12122:45:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12153:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12164:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12149:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12149:17:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "12136:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "12136:31:14" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "12126:6:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12214:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", - "nodeType": "YulIdentifier", - "src": "12216:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "12216:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12216:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12186:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12194:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "12183:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "12183:30:14" - }, - "nodeType": "YulIf", - "src": "12180:117:14" - }, - { - "nodeType": "YulAssignment", - "src": "12311:73:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "12356:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "12367:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12352:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "12352:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "12376:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "12321:30:14" - }, - "nodeType": "YulFunctionCall", - "src": "12321:63:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "12311:6:14" - } - ] - } - ] - } - ] - }, - "name": "abi_decode_tuple_t_string_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "11938:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "11949:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "11961:6:14", - "type": "" - } - ], - "src": "11892:509:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12496:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12513:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12516:1:14", + "src": "10141:1:14", "type": "", "value": "0" } @@ -9933,69 +8674,29 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "12506:6:14" + "src": "10131:6:14" }, "nodeType": "YulFunctionCall", - "src": "12506:12:14" + "src": "10131:12:14" }, "nodeType": "YulExpressionStatement", - "src": "12506:12:14" - } - ] - }, - "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", - "nodeType": "YulFunctionDefinition", - "src": "12407:117:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "12619:28:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12636:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12639:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "12629:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "12629:12:14" - }, - "nodeType": "YulExpressionStatement", - "src": "12629:12:14" + "src": "10131:12:14" } ] }, "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulFunctionDefinition", - "src": "12530:117:14" + "src": "10032:117:14" }, { "body": { "nodeType": "YulBlock", - "src": "12742:478:14", + "src": "10244:478:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "12791:83:14", + "src": "10293:83:14", "statements": [ { "expression": { @@ -10003,13 +8704,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "12793:77:14" + "src": "10295:77:14" }, "nodeType": "YulFunctionCall", - "src": "12793:79:14" + "src": "10295:79:14" }, "nodeType": "YulExpressionStatement", - "src": "12793:79:14" + "src": "10295:79:14" } ] }, @@ -10022,12 +8723,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "12770:6:14" + "src": "10272:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12778:4:14", + "src": "10280:4:14", "type": "", "value": "0x1f" } @@ -10035,68 +8736,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12766:3:14" + "src": "10268:3:14" }, "nodeType": "YulFunctionCall", - "src": "12766:17:14" + "src": "10268:17:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "12785:3:14" + "src": "10287:3:14" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "12762:3:14" + "src": "10264:3:14" }, "nodeType": "YulFunctionCall", - "src": "12762:27:14" + "src": "10264:27:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "12755:6:14" + "src": "10257:6:14" }, "nodeType": "YulFunctionCall", - "src": "12755:35:14" + "src": "10257:35:14" }, "nodeType": "YulIf", - "src": "12752:122:14" + "src": "10254:122:14" }, { "nodeType": "YulAssignment", - "src": "12883:30:14", + "src": "10385:30:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "12906:6:14" + "src": "10408:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "12893:12:14" + "src": "10395:12:14" }, "nodeType": "YulFunctionCall", - "src": "12893:20:14" + "src": "10395:20:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "12883:6:14" + "src": "10385:6:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "12956:83:14", + "src": "10458:83:14", "statements": [ { "expression": { @@ -10104,13 +8805,13 @@ "functionName": { "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", "nodeType": "YulIdentifier", - "src": "12958:77:14" + "src": "10460:77:14" }, "nodeType": "YulFunctionCall", - "src": "12958:79:14" + "src": "10460:79:14" }, "nodeType": "YulExpressionStatement", - "src": "12958:79:14" + "src": "10460:79:14" } ] }, @@ -10119,12 +8820,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "12928:6:14" + "src": "10430:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12936:18:14", + "src": "10438:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -10132,28 +8833,28 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "12925:2:14" + "src": "10427:2:14" }, "nodeType": "YulFunctionCall", - "src": "12925:30:14" + "src": "10427:30:14" }, "nodeType": "YulIf", - "src": "12922:117:14" + "src": "10424:117:14" }, { "nodeType": "YulAssignment", - "src": "13048:29:14", + "src": "10550:29:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "13064:6:14" + "src": "10566:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13072:4:14", + "src": "10574:4:14", "type": "", "value": "0x20" } @@ -10161,23 +8862,23 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13060:3:14" + "src": "10562:3:14" }, "nodeType": "YulFunctionCall", - "src": "13060:17:14" + "src": "10562:17:14" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "13048:8:14" + "src": "10550:8:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "13131:83:14", + "src": "10633:83:14", "statements": [ { "expression": { @@ -10185,13 +8886,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "13133:77:14" + "src": "10635:77:14" }, "nodeType": "YulFunctionCall", - "src": "13133:79:14" + "src": "10635:79:14" }, "nodeType": "YulExpressionStatement", - "src": "13133:79:14" + "src": "10635:79:14" } ] }, @@ -10202,19 +8903,19 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "13096:8:14" + "src": "10598:8:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "13110:6:14" + "src": "10612:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13118:4:14", + "src": "10620:4:14", "type": "", "value": "0x01" } @@ -10222,36 +8923,36 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "13106:3:14" + "src": "10608:3:14" }, "nodeType": "YulFunctionCall", - "src": "13106:17:14" + "src": "10608:17:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13092:3:14" + "src": "10594:3:14" }, "nodeType": "YulFunctionCall", - "src": "13092:32:14" + "src": "10594:32:14" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "13126:3:14" + "src": "10628:3:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "13089:2:14" + "src": "10591:2:14" }, "nodeType": "YulFunctionCall", - "src": "13089:41:14" + "src": "10591:41:14" }, "nodeType": "YulIf", - "src": "13086:128:14" + "src": "10588:128:14" } ] }, @@ -10261,13 +8962,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "12709:6:14", + "src": "10211:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "12717:3:14", + "src": "10219:3:14", "type": "" } ], @@ -10275,27 +8976,27 @@ { "name": "arrayPos", "nodeType": "YulTypedName", - "src": "12725:8:14", + "src": "10227:8:14", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "12735:6:14", + "src": "10237:6:14", "type": "" } ], - "src": "12667:553:14" + "src": "10169:553:14" }, { "body": { "nodeType": "YulBlock", - "src": "13312:443:14", + "src": "10814:443:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13358:83:14", + "src": "10860:83:14", "statements": [ { "expression": { @@ -10303,13 +9004,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "13360:77:14" + "src": "10862:77:14" }, "nodeType": "YulFunctionCall", - "src": "13360:79:14" + "src": "10862:79:14" }, "nodeType": "YulExpressionStatement", - "src": "13360:79:14" + "src": "10862:79:14" } ] }, @@ -10320,26 +9021,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13333:7:14" + "src": "10835:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13342:9:14" + "src": "10844:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13329:3:14" + "src": "10831:3:14" }, "nodeType": "YulFunctionCall", - "src": "13329:23:14" + "src": "10831:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13354:2:14", + "src": "10856:2:14", "type": "", "value": "32" } @@ -10347,21 +9048,21 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "13325:3:14" + "src": "10827:3:14" }, "nodeType": "YulFunctionCall", - "src": "13325:32:14" + "src": "10827:32:14" }, "nodeType": "YulIf", - "src": "13322:119:14" + "src": "10824:119:14" }, { "nodeType": "YulBlock", - "src": "13451:297:14", + "src": "10953:297:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "13466:45:14", + "src": "10968:45:14", "value": { "arguments": [ { @@ -10369,12 +9070,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13497:9:14" + "src": "10999:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13508:1:14", + "src": "11010:1:14", "type": "", "value": "0" } @@ -10382,25 +9083,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13493:3:14" + "src": "10995:3:14" }, "nodeType": "YulFunctionCall", - "src": "13493:17:14" + "src": "10995:17:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "13480:12:14" + "src": "10982:12:14" }, "nodeType": "YulFunctionCall", - "src": "13480:31:14" + "src": "10982:31:14" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "13470:6:14", + "src": "10972:6:14", "type": "" } ] @@ -10408,7 +9109,7 @@ { "body": { "nodeType": "YulBlock", - "src": "13558:83:14", + "src": "11060:83:14", "statements": [ { "expression": { @@ -10416,13 +9117,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "13560:77:14" + "src": "11062:77:14" }, "nodeType": "YulFunctionCall", - "src": "13560:79:14" + "src": "11062:79:14" }, "nodeType": "YulExpressionStatement", - "src": "13560:79:14" + "src": "11062:79:14" } ] }, @@ -10431,12 +9132,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "13530:6:14" + "src": "11032:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13538:18:14", + "src": "11040:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -10444,17 +9145,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "13527:2:14" + "src": "11029:2:14" }, "nodeType": "YulFunctionCall", - "src": "13527:30:14" + "src": "11029:30:14" }, "nodeType": "YulIf", - "src": "13524:117:14" + "src": "11026:117:14" }, { "nodeType": "YulAssignment", - "src": "13655:83:14", + "src": "11157:83:14", "value": { "arguments": [ { @@ -10462,46 +9163,46 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13710:9:14" + "src": "11212:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "13721:6:14" + "src": "11223:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13706:3:14" + "src": "11208:3:14" }, "nodeType": "YulFunctionCall", - "src": "13706:22:14" + "src": "11208:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "13730:7:14" + "src": "11232:7:14" } ], "functionName": { "name": "abi_decode_t_string_calldata_ptr", "nodeType": "YulIdentifier", - "src": "13673:32:14" + "src": "11175:32:14" }, "nodeType": "YulFunctionCall", - "src": "13673:65:14" + "src": "11175:65:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "13655:6:14" + "src": "11157:6:14" }, { "name": "value1", "nodeType": "YulIdentifier", - "src": "13663:6:14" + "src": "11165:6:14" } ] } @@ -10515,13 +9216,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13274:9:14", + "src": "10776:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "13285:7:14", + "src": "10787:7:14", "type": "" } ], @@ -10529,27 +9230,27 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "13297:6:14", + "src": "10799:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "13305:6:14", + "src": "10807:6:14", "type": "" } ], - "src": "13226:529:14" + "src": "10728:529:14" }, { "body": { "nodeType": "YulBlock", - "src": "13801:76:14", + "src": "11303:76:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "13855:16:14", + "src": "11357:16:14", "statements": [ { "expression": { @@ -10557,14 +9258,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "13864:1:14", + "src": "11366:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13867:1:14", + "src": "11369:1:14", "type": "", "value": "0" } @@ -10572,13 +9273,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "13857:6:14" + "src": "11359:6:14" }, "nodeType": "YulFunctionCall", - "src": "13857:12:14" + "src": "11359:12:14" }, "nodeType": "YulExpressionStatement", - "src": "13857:12:14" + "src": "11359:12:14" } ] }, @@ -10589,44 +9290,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "13824:5:14" + "src": "11326:5:14" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "13846:5:14" + "src": "11348:5:14" } ], "functionName": { "name": "cleanup_t_bool", "nodeType": "YulIdentifier", - "src": "13831:14:14" + "src": "11333:14:14" }, "nodeType": "YulFunctionCall", - "src": "13831:21:14" + "src": "11333:21:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "13821:2:14" + "src": "11323:2:14" }, "nodeType": "YulFunctionCall", - "src": "13821:32:14" + "src": "11323:32:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "13814:6:14" + "src": "11316:6:14" }, "nodeType": "YulFunctionCall", - "src": "13814:40:14" + "src": "11316:40:14" }, "nodeType": "YulIf", - "src": "13811:60:14" + "src": "11313:60:14" } ] }, @@ -10636,41 +9337,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "13794:5:14", + "src": "11296:5:14", "type": "" } ], - "src": "13761:116:14" + "src": "11263:116:14" }, { "body": { "nodeType": "YulBlock", - "src": "13932:84:14", + "src": "11434:84:14", "statements": [ { "nodeType": "YulAssignment", - "src": "13942:29:14", + "src": "11444:29:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "13964:6:14" + "src": "11466:6:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "13951:12:14" + "src": "11453:12:14" }, "nodeType": "YulFunctionCall", - "src": "13951:20:14" + "src": "11453:20:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "13942:5:14" + "src": "11444:5:14" } ] }, @@ -10680,19 +9381,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "14004:5:14" + "src": "11506:5:14" } ], "functionName": { "name": "validator_revert_t_bool", "nodeType": "YulIdentifier", - "src": "13980:23:14" + "src": "11482:23:14" }, "nodeType": "YulFunctionCall", - "src": "13980:30:14" + "src": "11482:30:14" }, "nodeType": "YulExpressionStatement", - "src": "13980:30:14" + "src": "11482:30:14" } ] }, @@ -10702,13 +9403,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "13910:6:14", + "src": "11412:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "13918:3:14", + "src": "11420:3:14", "type": "" } ], @@ -10716,16 +9417,1307 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "13926:5:14", + "src": "11428:5:14", "type": "" } ], - "src": "13883:133:14" + "src": "11385:133:14" }, { "body": { "nodeType": "YulBlock", - "src": "14102:388:14", + "src": "11604:388:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "11650:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "11652:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "11652:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11652:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11625:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11634:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11621:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11621:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11646:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "11617:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11617:32:14" + }, + "nodeType": "YulIf", + "src": "11614:119:14" + }, + { + "nodeType": "YulBlock", + "src": "11743:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11758:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11772:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11762:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11787:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11822:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11833:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11818:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11818:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11842:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "11797:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "11797:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11787:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "11870:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "11885:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11899:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "11889:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11915:60:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11947:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "11958:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11943:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11943:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "11967:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "11925:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "11925:50:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "11915:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11566:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "11577:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11589:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "11597:6:14", + "type": "" + } + ], + "src": "11524:468:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12087:28:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12104:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12107:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12097:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12097:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12097:12:14" + } + ] + }, + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulFunctionDefinition", + "src": "11998:117:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12149:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12166:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12169:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12159:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12159:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12159:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12263:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12266:4:14", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12256:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12256:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12256:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12287:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12290:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "12280:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12280:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12280:15:14" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "12121:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12350:238:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "12360:58:14", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12382:6:14" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12412:4:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "12390:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "12390:27:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12378:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12378:40:14" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "12364:10:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12529:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "12531:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "12531:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12531:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "12472:10:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12484:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12469:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "12469:34:14" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "12508:10:14" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12520:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "12505:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "12505:22:14" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "12466:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "12466:62:14" + }, + "nodeType": "YulIf", + "src": "12463:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12567:2:14", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "12571:10:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12560:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12560:22:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12560:22:14" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12336:6:14", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12344:4:14", + "type": "" + } + ], + "src": "12307:281:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12635:88:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12645:30:14", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "12655:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "12655:20:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12645:6:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12704:6:14" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12712:4:14" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "12684:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "12684:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12684:33:14" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12619:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12628:6:14", + "type": "" + } + ], + "src": "12594:129:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12795:241:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "12900:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "12902:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "12902:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12902:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12872:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12880:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12869:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "12869:30:14" + }, + "nodeType": "YulIf", + "src": "12866:56:14" + }, + { + "nodeType": "YulAssignment", + "src": "12932:37:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12962:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "12940:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "12940:29:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "12932:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13006:23:14", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13018:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13024:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13014:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13014:15:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "13006:4:14" + } + ] + } + ] + }, + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12779:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "12790:4:14", + "type": "" + } + ], + "src": "12729:307:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13093:103:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13116:3:14" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13121:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13126:6:14" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "13103:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "13103:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13103:30:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13174:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13179:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13170:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13170:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13188:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13163:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "13163:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13163:27:14" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13075:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13080:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13085:6:14", + "type": "" + } + ], + "src": "13042:154:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13285:327:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13295:74:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13361:6:14" + } + ], + "functionName": { + "name": "array_allocation_size_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13320:40:14" + }, + "nodeType": "YulFunctionCall", + "src": "13320:48:14" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "13304:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "13304:65:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13295:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13385:5:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13392:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13378:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "13378:21:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13378:21:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13408:27:14", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13423:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13430:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13419:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13419:16:14" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13412:3:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13473:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", + "nodeType": "YulIdentifier", + "src": "13475:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13475:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13475:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13454:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13459:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13450:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13450:16:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13468:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13447:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "13447:25:14" + }, + "nodeType": "YulIf", + "src": "13444:112:14" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13589:3:14" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13594:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13599:6:14" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "13565:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "13565:41:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13565:41:14" + } + ] + }, + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13258:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13263:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13271:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13279:5:14", + "type": "" + } + ], + "src": "13202:410:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13692:277:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13741:83:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", + "nodeType": "YulIdentifier", + "src": "13743:77:14" + }, + "nodeType": "YulFunctionCall", + "src": "13743:79:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13743:79:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13720:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13728:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13716:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13716:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13735:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "13712:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13712:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13705:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "13705:35:14" + }, + "nodeType": "YulIf", + "src": "13702:122:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13833:34:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13860:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "13847:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "13847:20:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13837:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13876:87:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "13936:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13944:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13932:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13932:17:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13951:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13959:3:14" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "13885:46:14" + }, + "nodeType": "YulFunctionCall", + "src": "13885:78:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "13876:5:14" + } + ] + } + ] + }, + "name": "abi_decode_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "13670:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13678:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "13686:5:14", + "type": "" + } + ], + "src": "13631:338:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14101:817:14", "statements": [ { "body": { @@ -10755,40 +10747,40 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14123:7:14" + "src": "14122:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14132:9:14" + "src": "14131:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "14119:3:14" + "src": "14118:3:14" }, "nodeType": "YulFunctionCall", - "src": "14119:23:14" + "src": "14118:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14144:2:14", + "src": "14143:3:14", "type": "", - "value": "64" + "value": "128" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "14115:3:14" + "src": "14114:3:14" }, "nodeType": "YulFunctionCall", - "src": "14115:32:14" + "src": "14114:33:14" }, "nodeType": "YulIf", - "src": "14112:119:14" + "src": "14111:120:14" }, { "nodeType": "YulBlock", @@ -10865,7 +10857,7 @@ }, { "nodeType": "YulBlock", - "src": "14368:115:14", + "src": "14368:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", @@ -10888,7 +10880,7 @@ }, { "nodeType": "YulAssignment", - "src": "14413:60:14", + "src": "14413:63:14", "value": { "arguments": [ { @@ -10896,35 +10888,35 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14445:9:14" + "src": "14448:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "14456:6:14" + "src": "14459:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14441:3:14" + "src": "14444:3:14" }, "nodeType": "YulFunctionCall", - "src": "14441:22:14" + "src": "14444:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "14465:7:14" + "src": "14468:7:14" } ], "functionName": { - "name": "abi_decode_t_bool", + "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "14423:17:14" + "src": "14423:20:14" }, "nodeType": "YulFunctionCall", - "src": "14423:50:14" + "src": "14423:53:14" }, "variableNames": [ { @@ -10935,819 +10927,18 @@ ] } ] - } - ] - }, - "name": "abi_decode_tuple_t_addresst_bool", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "14064:9:14", - "type": "" - }, - { - "name": "dataEnd", - "nodeType": "YulTypedName", - "src": "14075:7:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "14087:6:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "14095:6:14", - "type": "" - } - ], - "src": "14022:468:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14562:241:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "14667:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x41", - "nodeType": "YulIdentifier", - "src": "14669:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "14669:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14669:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14639:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14647:18:14", - "type": "", - "value": "0xffffffffffffffff" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "14636:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "14636:30:14" - }, - "nodeType": "YulIf", - "src": "14633:56:14" - }, - { - "nodeType": "YulAssignment", - "src": "14699:37:14", - "value": { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14729:6:14" - } - ], - "functionName": { - "name": "round_up_to_mul_of_32", - "nodeType": "YulIdentifier", - "src": "14707:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "14707:29:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "14699:4:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "14773:23:14", - "value": { - "arguments": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "14785:4:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "14791:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "14781:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "14781:15:14" - }, - "variableNames": [ - { - "name": "size", - "nodeType": "YulIdentifier", - "src": "14773:4:14" - } - ] - } - ] - }, - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "14546:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "size", - "nodeType": "YulTypedName", - "src": "14557:4:14", - "type": "" - } - ], - "src": "14496:307:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "14892:327:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "14902:74:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14968:6:14" - } - ], - "functionName": { - "name": "array_allocation_size_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "14927:40:14" - }, - "nodeType": "YulFunctionCall", - "src": "14927:48:14" - } - ], - "functionName": { - "name": "allocate_memory", - "nodeType": "YulIdentifier", - "src": "14911:15:14" - }, - "nodeType": "YulFunctionCall", - "src": "14911:65:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "14902:5:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "14992:5:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "14999:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "14985:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "14985:21:14" - }, - "nodeType": "YulExpressionStatement", - "src": "14985:21:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15015:27:14", - "value": { - "arguments": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "15030:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15037:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15026:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15026:16:14" - }, - "variables": [ - { - "name": "dst", - "nodeType": "YulTypedName", - "src": "15019:3:14", - "type": "" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15080:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae", - "nodeType": "YulIdentifier", - "src": "15082:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "15082:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15082:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "15061:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "15066:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15057:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15057:16:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "15075:3:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "15054:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "15054:25:14" - }, - "nodeType": "YulIf", - "src": "15051:112:14" - }, - { - "expression": { - "arguments": [ - { - "name": "src", - "nodeType": "YulIdentifier", - "src": "15196:3:14" - }, - { - "name": "dst", - "nodeType": "YulIdentifier", - "src": "15201:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "15206:6:14" - } - ], - "functionName": { - "name": "copy_calldata_to_memory", - "nodeType": "YulIdentifier", - "src": "15172:23:14" - }, - "nodeType": "YulFunctionCall", - "src": "15172:41:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15172:41:14" - } - ] - }, - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "src", - "nodeType": "YulTypedName", - "src": "14865:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "14870:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "14878:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "14886:5:14", - "type": "" - } - ], - "src": "14809:410:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15299:277:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15348:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", - "nodeType": "YulIdentifier", - "src": "15350:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "15350:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15350:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15327:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15335:4:14", - "type": "", - "value": "0x1f" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15323:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15323:17:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "15342:3:14" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "15319:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15319:27:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "15312:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "15312:35:14" - }, - "nodeType": "YulIf", - "src": "15309:122:14" - }, - { - "nodeType": "YulVariableDeclaration", - "src": "15440:34:14", - "value": { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15467:6:14" - } - ], - "functionName": { - "name": "calldataload", - "nodeType": "YulIdentifier", - "src": "15454:12:14" - }, - "nodeType": "YulFunctionCall", - "src": "15454:20:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "15444:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15483:87:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15543:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15551:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15539:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15539:17:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "15558:6:14" - }, - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "15566:3:14" - } - ], - "functionName": { - "name": "abi_decode_available_length_t_bytes_memory_ptr", - "nodeType": "YulIdentifier", - "src": "15492:46:14" - }, - "nodeType": "YulFunctionCall", - "src": "15492:78:14" - }, - "variableNames": [ - { - "name": "array", - "nodeType": "YulIdentifier", - "src": "15483:5:14" - } - ] - } - ] - }, - "name": "abi_decode_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "15277:6:14", - "type": "" - }, - { - "name": "end", - "nodeType": "YulTypedName", - "src": "15285:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "array", - "nodeType": "YulTypedName", - "src": "15293:5:14", - "type": "" - } - ], - "src": "15238:338:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "15708:817:14", - "statements": [ - { - "body": { - "nodeType": "YulBlock", - "src": "15755:83:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", - "nodeType": "YulIdentifier", - "src": "15757:77:14" - }, - "nodeType": "YulFunctionCall", - "src": "15757:79:14" - }, - "nodeType": "YulExpressionStatement", - "src": "15757:79:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15729:7:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15738:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "15725:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15725:23:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "15750:3:14", - "type": "", - "value": "128" - } - ], - "functionName": { - "name": "slt", - "nodeType": "YulIdentifier", - "src": "15721:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15721:33:14" - }, - "nodeType": "YulIf", - "src": "15718:120:14" }, { "nodeType": "YulBlock", - "src": "15848:117:14", + "src": "14496:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15863:15:14", + "src": "14511:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "15877:1:14", - "type": "", - "value": "0" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "15867:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "15892:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "15927:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "15938:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "15923:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "15923:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "15947:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "15902:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "15902:53:14" - }, - "variableNames": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "15892:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "15975:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "15990:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16004:2:14", - "type": "", - "value": "32" - }, - "variables": [ - { - "name": "offset", - "nodeType": "YulTypedName", - "src": "15994:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "16020:63:14", - "value": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "16055:9:14" - }, - { - "name": "offset", - "nodeType": "YulIdentifier", - "src": "16066:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "16051:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "16051:22:14" - }, - { - "name": "dataEnd", - "nodeType": "YulIdentifier", - "src": "16075:7:14" - } - ], - "functionName": { - "name": "abi_decode_t_address", - "nodeType": "YulIdentifier", - "src": "16030:20:14" - }, - "nodeType": "YulFunctionCall", - "src": "16030:53:14" - }, - "variableNames": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "16020:6:14" - } - ] - } - ] - }, - { - "nodeType": "YulBlock", - "src": "16103:118:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "16118:16:14", - "value": { - "kind": "number", - "nodeType": "YulLiteral", - "src": "16132:2:14", + "src": "14525:2:14", "type": "", "value": "64" }, @@ -11755,14 +10946,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16122:6:14", + "src": "14515:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16148:63:14", + "src": "14541:63:14", "value": { "arguments": [ { @@ -11770,41 +10961,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16183:9:14" + "src": "14576:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16194:6:14" + "src": "14587:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16179:3:14" + "src": "14572:3:14" }, "nodeType": "YulFunctionCall", - "src": "16179:22:14" + "src": "14572:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16203:7:14" + "src": "14596:7:14" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "16158:20:14" + "src": "14551:20:14" }, "nodeType": "YulFunctionCall", - "src": "16158:53:14" + "src": "14551:53:14" }, "variableNames": [ { "name": "value2", "nodeType": "YulIdentifier", - "src": "16148:6:14" + "src": "14541:6:14" } ] } @@ -11812,11 +11003,11 @@ }, { "nodeType": "YulBlock", - "src": "16231:287:14", + "src": "14624:287:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16246:46:14", + "src": "14639:46:14", "value": { "arguments": [ { @@ -11824,12 +11015,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16277:9:14" + "src": "14670:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16288:2:14", + "src": "14681:2:14", "type": "", "value": "96" } @@ -11837,25 +11028,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16273:3:14" + "src": "14666:3:14" }, "nodeType": "YulFunctionCall", - "src": "16273:18:14" + "src": "14666:18:14" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "16260:12:14" + "src": "14653:12:14" }, "nodeType": "YulFunctionCall", - "src": "16260:32:14" + "src": "14653:32:14" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "16250:6:14", + "src": "14643:6:14", "type": "" } ] @@ -11863,7 +11054,7 @@ { "body": { "nodeType": "YulBlock", - "src": "16339:83:14", + "src": "14732:83:14", "statements": [ { "expression": { @@ -11871,13 +11062,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "16341:77:14" + "src": "14734:77:14" }, "nodeType": "YulFunctionCall", - "src": "16341:79:14" + "src": "14734:79:14" }, "nodeType": "YulExpressionStatement", - "src": "16341:79:14" + "src": "14734:79:14" } ] }, @@ -11886,12 +11077,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16311:6:14" + "src": "14704:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16319:18:14", + "src": "14712:18:14", "type": "", "value": "0xffffffffffffffff" } @@ -11899,17 +11090,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "16308:2:14" + "src": "14701:2:14" }, "nodeType": "YulFunctionCall", - "src": "16308:30:14" + "src": "14701:30:14" }, "nodeType": "YulIf", - "src": "16305:117:14" + "src": "14698:117:14" }, { "nodeType": "YulAssignment", - "src": "16436:72:14", + "src": "14829:72:14", "value": { "arguments": [ { @@ -11917,41 +11108,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16480:9:14" + "src": "14873:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16491:6:14" + "src": "14884:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16476:3:14" + "src": "14869:3:14" }, "nodeType": "YulFunctionCall", - "src": "16476:22:14" + "src": "14869:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16500:7:14" + "src": "14893:7:14" } ], "functionName": { "name": "abi_decode_t_bytes_memory_ptr", "nodeType": "YulIdentifier", - "src": "16446:29:14" + "src": "14839:29:14" }, "nodeType": "YulFunctionCall", - "src": "16446:62:14" + "src": "14839:62:14" }, "variableNames": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "16436:6:14" + "src": "14829:6:14" } ] } @@ -11965,13 +11156,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "15654:9:14", + "src": "14047:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "15665:7:14", + "src": "14058:7:14", "type": "" } ], @@ -11979,39 +11170,39 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "15677:6:14", + "src": "14070:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "15685:6:14", + "src": "14078:6:14", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "15693:6:14", + "src": "14086:6:14", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "15701:6:14", + "src": "14094:6:14", "type": "" } ], - "src": "15582:943:14" + "src": "13975:943:14" }, { "body": { "nodeType": "YulBlock", - "src": "16614:391:14", + "src": "15007:391:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "16660:83:14", + "src": "15053:83:14", "statements": [ { "expression": { @@ -12019,13 +11210,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "16662:77:14" + "src": "15055:77:14" }, "nodeType": "YulFunctionCall", - "src": "16662:79:14" + "src": "15055:79:14" }, "nodeType": "YulExpressionStatement", - "src": "16662:79:14" + "src": "15055:79:14" } ] }, @@ -12036,26 +11227,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16635:7:14" + "src": "15028:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16644:9:14" + "src": "15037:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "16631:3:14" + "src": "15024:3:14" }, "nodeType": "YulFunctionCall", - "src": "16631:23:14" + "src": "15024:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16656:2:14", + "src": "15049:2:14", "type": "", "value": "64" } @@ -12063,25 +11254,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "16627:3:14" + "src": "15020:3:14" }, "nodeType": "YulFunctionCall", - "src": "16627:32:14" + "src": "15020:32:14" }, "nodeType": "YulIf", - "src": "16624:119:14" + "src": "15017:119:14" }, { "nodeType": "YulBlock", - "src": "16753:117:14", + "src": "15146:117:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16768:15:14", + "src": "15161:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16782:1:14", + "src": "15175:1:14", "type": "", "value": "0" }, @@ -12089,14 +11280,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16772:6:14", + "src": "15165:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16797:63:14", + "src": "15190:63:14", "value": { "arguments": [ { @@ -12104,41 +11295,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16832:9:14" + "src": "15225:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16843:6:14" + "src": "15236:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16828:3:14" + "src": "15221:3:14" }, "nodeType": "YulFunctionCall", - "src": "16828:22:14" + "src": "15221:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16852:7:14" + "src": "15245:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "16807:20:14" + "src": "15200:20:14" }, "nodeType": "YulFunctionCall", - "src": "16807:53:14" + "src": "15200:53:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "16797:6:14" + "src": "15190:6:14" } ] } @@ -12146,15 +11337,15 @@ }, { "nodeType": "YulBlock", - "src": "16880:118:14", + "src": "15273:118:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16895:16:14", + "src": "15288:16:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "16909:2:14", + "src": "15302:2:14", "type": "", "value": "32" }, @@ -12162,14 +11353,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16899:6:14", + "src": "15292:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16925:63:14", + "src": "15318:63:14", "value": { "arguments": [ { @@ -12177,41 +11368,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16960:9:14" + "src": "15353:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16971:6:14" + "src": "15364:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16956:3:14" + "src": "15349:3:14" }, "nodeType": "YulFunctionCall", - "src": "16956:22:14" + "src": "15349:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16980:7:14" + "src": "15373:7:14" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "16935:20:14" + "src": "15328:20:14" }, "nodeType": "YulFunctionCall", - "src": "16935:53:14" + "src": "15328:53:14" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "16925:6:14" + "src": "15318:6:14" } ] } @@ -12225,13 +11416,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16576:9:14", + "src": "14969:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "16587:7:14", + "src": "14980:7:14", "type": "" } ], @@ -12239,22 +11430,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "16599:6:14", + "src": "14992:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "16607:6:14", + "src": "15000:6:14", "type": "" } ], - "src": "16531:474:14" + "src": "14924:474:14" }, { "body": { "nodeType": "YulBlock", - "src": "17039:152:14", + "src": "15432:152:14", "statements": [ { "expression": { @@ -12262,14 +11453,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17056:1:14", + "src": "15449:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17059:77:14", + "src": "15452:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -12277,13 +11468,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17049:6:14" + "src": "15442:6:14" }, "nodeType": "YulFunctionCall", - "src": "17049:88:14" + "src": "15442:88:14" }, "nodeType": "YulExpressionStatement", - "src": "17049:88:14" + "src": "15442:88:14" }, { "expression": { @@ -12291,14 +11482,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17153:1:14", + "src": "15546:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17156:4:14", + "src": "15549:4:14", "type": "", "value": "0x22" } @@ -12306,13 +11497,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17146:6:14" + "src": "15539:6:14" }, "nodeType": "YulFunctionCall", - "src": "17146:15:14" + "src": "15539:15:14" }, "nodeType": "YulExpressionStatement", - "src": "17146:15:14" + "src": "15539:15:14" }, { "expression": { @@ -12320,14 +11511,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "17177:1:14", + "src": "15570:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17180:4:14", + "src": "15573:4:14", "type": "", "value": "0x24" } @@ -12335,39 +11526,39 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "17170:6:14" + "src": "15563:6:14" }, "nodeType": "YulFunctionCall", - "src": "17170:15:14" + "src": "15563:15:14" }, "nodeType": "YulExpressionStatement", - "src": "17170:15:14" + "src": "15563:15:14" } ] }, "name": "panic_error_0x22", "nodeType": "YulFunctionDefinition", - "src": "17011:180:14" + "src": "15404:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "17248:269:14", + "src": "15641:269:14", "statements": [ { "nodeType": "YulAssignment", - "src": "17258:22:14", + "src": "15651:22:14", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "17272:4:14" + "src": "15665:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17278:1:14", + "src": "15671:1:14", "type": "", "value": "2" } @@ -12375,33 +11566,33 @@ "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "17268:3:14" + "src": "15661:3:14" }, "nodeType": "YulFunctionCall", - "src": "17268:12:14" + "src": "15661:12:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17258:6:14" + "src": "15651:6:14" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "17289:38:14", + "src": "15682:38:14", "value": { "arguments": [ { "name": "data", "nodeType": "YulIdentifier", - "src": "17319:4:14" + "src": "15712:4:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17325:1:14", + "src": "15718:1:14", "type": "", "value": "1" } @@ -12409,16 +11600,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "17315:3:14" + "src": "15708:3:14" }, "nodeType": "YulFunctionCall", - "src": "17315:12:14" + "src": "15708:12:14" }, "variables": [ { "name": "outOfPlaceEncoding", "nodeType": "YulTypedName", - "src": "17293:18:14", + "src": "15686:18:14", "type": "" } ] @@ -12426,22 +11617,22 @@ { "body": { "nodeType": "YulBlock", - "src": "17366:51:14", + "src": "15759:51:14", "statements": [ { "nodeType": "YulAssignment", - "src": "17380:27:14", + "src": "15773:27:14", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17394:6:14" + "src": "15787:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17402:4:14", + "src": "15795:4:14", "type": "", "value": "0x7f" } @@ -12449,16 +11640,16 @@ "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "17390:3:14" + "src": "15783:3:14" }, "nodeType": "YulFunctionCall", - "src": "17390:17:14" + "src": "15783:17:14" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17380:6:14" + "src": "15773:6:14" } ] } @@ -12469,24 +11660,24 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "17346:18:14" + "src": "15739:18:14" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "17339:6:14" + "src": "15732:6:14" }, "nodeType": "YulFunctionCall", - "src": "17339:26:14" + "src": "15732:26:14" }, "nodeType": "YulIf", - "src": "17336:81:14" + "src": "15729:81:14" }, { "body": { "nodeType": "YulBlock", - "src": "17469:42:14", + "src": "15862:42:14", "statements": [ { "expression": { @@ -12494,13 +11685,13 @@ "functionName": { "name": "panic_error_0x22", "nodeType": "YulIdentifier", - "src": "17483:16:14" + "src": "15876:16:14" }, "nodeType": "YulFunctionCall", - "src": "17483:18:14" + "src": "15876:18:14" }, "nodeType": "YulExpressionStatement", - "src": "17483:18:14" + "src": "15876:18:14" } ] }, @@ -12509,19 +11700,19 @@ { "name": "outOfPlaceEncoding", "nodeType": "YulIdentifier", - "src": "17433:18:14" + "src": "15826:18:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "17456:6:14" + "src": "15849:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17464:2:14", + "src": "15857:2:14", "type": "", "value": "32" } @@ -12529,22 +11720,22 @@ "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "17453:2:14" + "src": "15846:2:14" }, "nodeType": "YulFunctionCall", - "src": "17453:14:14" + "src": "15846:14:14" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "17430:2:14" + "src": "15823:2:14" }, "nodeType": "YulFunctionCall", - "src": "17430:38:14" + "src": "15823:38:14" }, "nodeType": "YulIf", - "src": "17427:84:14" + "src": "15820:84:14" } ] }, @@ -12554,7 +11745,7 @@ { "name": "data", "nodeType": "YulTypedName", - "src": "17232:4:14", + "src": "15625:4:14", "type": "" } ], @@ -12562,16 +11753,16 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "17241:6:14", + "src": "15634:6:14", "type": "" } ], - "src": "17197:320:14" + "src": "15590:320:14" }, { "body": { "nodeType": "YulBlock", - "src": "17629:125:14", + "src": "16022:125:14", "statements": [ { "expression": { @@ -12581,12 +11772,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17651:6:14" + "src": "16044:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17659:1:14", + "src": "16052:1:14", "type": "", "value": "0" } @@ -12594,16 +11785,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17647:3:14" + "src": "16040:3:14" }, "nodeType": "YulFunctionCall", - "src": "17647:14:14" + "src": "16040:14:14" }, { "hexValue": "4552433732313a20617070726f76656420717565727920666f72206e6f6e6578", "kind": "string", "nodeType": "YulLiteral", - "src": "17663:34:14", + "src": "16056:34:14", "type": "", "value": "ERC721: approved query for nonex" } @@ -12611,13 +11802,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17640:6:14" + "src": "16033:6:14" }, "nodeType": "YulFunctionCall", - "src": "17640:58:14" + "src": "16033:58:14" }, "nodeType": "YulExpressionStatement", - "src": "17640:58:14" + "src": "16033:58:14" }, { "expression": { @@ -12627,12 +11818,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17719:6:14" + "src": "16112:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17727:2:14", + "src": "16120:2:14", "type": "", "value": "32" } @@ -12640,16 +11831,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17715:3:14" + "src": "16108:3:14" }, "nodeType": "YulFunctionCall", - "src": "17715:15:14" + "src": "16108:15:14" }, { "hexValue": "697374656e7420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "17732:14:14", + "src": "16125:14:14", "type": "", "value": "istent token" } @@ -12657,13 +11848,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17708:6:14" + "src": "16101:6:14" }, "nodeType": "YulFunctionCall", - "src": "17708:39:14" + "src": "16101:39:14" }, "nodeType": "YulExpressionStatement", - "src": "17708:39:14" + "src": "16101:39:14" } ] }, @@ -12673,31 +11864,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17621:6:14", + "src": "16014:6:14", "type": "" } ], - "src": "17523:231:14" + "src": "15916:231:14" }, { "body": { "nodeType": "YulBlock", - "src": "17906:220:14", + "src": "16299:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "17916:74:14", + "src": "16309:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17982:3:14" + "src": "16375:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17987:2:14", + "src": "16380:2:14", "type": "", "value": "44" } @@ -12705,16 +11896,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17923:58:14" + "src": "16316:58:14" }, "nodeType": "YulFunctionCall", - "src": "17923:67:14" + "src": "16316:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "17916:3:14" + "src": "16309:3:14" } ] }, @@ -12724,34 +11915,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18088:3:14" + "src": "16481:3:14" } ], "functionName": { "name": "store_literal_in_memory_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d", "nodeType": "YulIdentifier", - "src": "17999:88:14" + "src": "16392:88:14" }, "nodeType": "YulFunctionCall", - "src": "17999:93:14" + "src": "16392:93:14" }, "nodeType": "YulExpressionStatement", - "src": "17999:93:14" + "src": "16392:93:14" }, { "nodeType": "YulAssignment", - "src": "18101:19:14", + "src": "16494:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18112:3:14" + "src": "16505:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18117:2:14", + "src": "16510:2:14", "type": "", "value": "64" } @@ -12759,16 +11950,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18108:3:14" + "src": "16501:3:14" }, "nodeType": "YulFunctionCall", - "src": "18108:12:14" + "src": "16501:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18101:3:14" + "src": "16494:3:14" } ] } @@ -12780,7 +11971,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "17894:3:14", + "src": "16287:3:14", "type": "" } ], @@ -12788,31 +11979,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "17902:3:14", + "src": "16295:3:14", "type": "" } ], - "src": "17760:366:14" + "src": "16153:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "18303:248:14", + "src": "16696:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "18313:26:14", + "src": "16706:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18325:9:14" + "src": "16718:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18336:2:14", + "src": "16729:2:14", "type": "", "value": "32" } @@ -12820,16 +12011,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18321:3:14" + "src": "16714:3:14" }, "nodeType": "YulFunctionCall", - "src": "18321:18:14" + "src": "16714:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18313:4:14" + "src": "16706:4:14" } ] }, @@ -12841,12 +12032,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18360:9:14" + "src": "16753:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18371:1:14", + "src": "16764:1:14", "type": "", "value": "0" } @@ -12854,68 +12045,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18356:3:14" + "src": "16749:3:14" }, "nodeType": "YulFunctionCall", - "src": "18356:17:14" + "src": "16749:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18379:4:14" + "src": "16772:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "18385:9:14" + "src": "16778:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "18375:3:14" + "src": "16768:3:14" }, "nodeType": "YulFunctionCall", - "src": "18375:20:14" + "src": "16768:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18349:6:14" + "src": "16742:6:14" }, "nodeType": "YulFunctionCall", - "src": "18349:47:14" + "src": "16742:47:14" }, "nodeType": "YulExpressionStatement", - "src": "18349:47:14" + "src": "16742:47:14" }, { "nodeType": "YulAssignment", - "src": "18405:139:14", + "src": "16798:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18539:4:14" + "src": "16932:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_9291e0f44949204f2e9b40e6be090924979d6047b2365868f4e9f027722eb89d_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18413:124:14" + "src": "16806:124:14" }, "nodeType": "YulFunctionCall", - "src": "18413:131:14" + "src": "16806:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "18405:4:14" + "src": "16798:4:14" } ] } @@ -12927,7 +12118,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "18283:9:14", + "src": "16676:9:14", "type": "" } ], @@ -12935,16 +12126,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "18298:4:14", + "src": "16691:4:14", "type": "" } ], - "src": "18132:419:14" + "src": "16525:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "18663:114:14", + "src": "17056:114:14", "statements": [ { "expression": { @@ -12954,12 +12145,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18685:6:14" + "src": "17078:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18693:1:14", + "src": "17086:1:14", "type": "", "value": "0" } @@ -12967,16 +12158,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18681:3:14" + "src": "17074:3:14" }, "nodeType": "YulFunctionCall", - "src": "18681:14:14" + "src": "17074:14:14" }, { "hexValue": "4552433732313a20617070726f76616c20746f2063757272656e74206f776e65", "kind": "string", "nodeType": "YulLiteral", - "src": "18697:34:14", + "src": "17090:34:14", "type": "", "value": "ERC721: approval to current owne" } @@ -12984,13 +12175,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18674:6:14" + "src": "17067:6:14" }, "nodeType": "YulFunctionCall", - "src": "18674:58:14" + "src": "17067:58:14" }, "nodeType": "YulExpressionStatement", - "src": "18674:58:14" + "src": "17067:58:14" }, { "expression": { @@ -13000,12 +12191,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "18753:6:14" + "src": "17146:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18761:2:14", + "src": "17154:2:14", "type": "", "value": "32" } @@ -13013,16 +12204,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18749:3:14" + "src": "17142:3:14" }, "nodeType": "YulFunctionCall", - "src": "18749:15:14" + "src": "17142:15:14" }, { "hexValue": "72", "kind": "string", "nodeType": "YulLiteral", - "src": "18766:3:14", + "src": "17159:3:14", "type": "", "value": "r" } @@ -13030,13 +12221,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18742:6:14" + "src": "17135:6:14" }, "nodeType": "YulFunctionCall", - "src": "18742:28:14" + "src": "17135:28:14" }, "nodeType": "YulExpressionStatement", - "src": "18742:28:14" + "src": "17135:28:14" } ] }, @@ -13046,31 +12237,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "18655:6:14", + "src": "17048:6:14", "type": "" } ], - "src": "18557:220:14" + "src": "16950:220:14" }, { "body": { "nodeType": "YulBlock", - "src": "18929:220:14", + "src": "17322:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "18939:74:14", + "src": "17332:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19005:3:14" + "src": "17398:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19010:2:14", + "src": "17403:2:14", "type": "", "value": "33" } @@ -13078,16 +12269,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "18946:58:14" + "src": "17339:58:14" }, "nodeType": "YulFunctionCall", - "src": "18946:67:14" + "src": "17339:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18939:3:14" + "src": "17332:3:14" } ] }, @@ -13097,34 +12288,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19111:3:14" + "src": "17504:3:14" } ], "functionName": { "name": "store_literal_in_memory_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942", "nodeType": "YulIdentifier", - "src": "19022:88:14" + "src": "17415:88:14" }, "nodeType": "YulFunctionCall", - "src": "19022:93:14" + "src": "17415:93:14" }, "nodeType": "YulExpressionStatement", - "src": "19022:93:14" + "src": "17415:93:14" }, { "nodeType": "YulAssignment", - "src": "19124:19:14", + "src": "17517:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19135:3:14" + "src": "17528:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19140:2:14", + "src": "17533:2:14", "type": "", "value": "64" } @@ -13132,16 +12323,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19131:3:14" + "src": "17524:3:14" }, "nodeType": "YulFunctionCall", - "src": "19131:12:14" + "src": "17524:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19124:3:14" + "src": "17517:3:14" } ] } @@ -13153,7 +12344,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18917:3:14", + "src": "17310:3:14", "type": "" } ], @@ -13161,31 +12352,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18925:3:14", + "src": "17318:3:14", "type": "" } ], - "src": "18783:366:14" + "src": "17176:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "19326:248:14", + "src": "17719:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "19336:26:14", + "src": "17729:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19348:9:14" + "src": "17741:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19359:2:14", + "src": "17752:2:14", "type": "", "value": "32" } @@ -13193,16 +12384,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19344:3:14" + "src": "17737:3:14" }, "nodeType": "YulFunctionCall", - "src": "19344:18:14" + "src": "17737:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19336:4:14" + "src": "17729:4:14" } ] }, @@ -13214,12 +12405,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19383:9:14" + "src": "17776:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19394:1:14", + "src": "17787:1:14", "type": "", "value": "0" } @@ -13227,68 +12418,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19379:3:14" + "src": "17772:3:14" }, "nodeType": "YulFunctionCall", - "src": "19379:17:14" + "src": "17772:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19402:4:14" + "src": "17795:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "19408:9:14" + "src": "17801:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "19398:3:14" + "src": "17791:3:14" }, "nodeType": "YulFunctionCall", - "src": "19398:20:14" + "src": "17791:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19372:6:14" + "src": "17765:6:14" }, "nodeType": "YulFunctionCall", - "src": "19372:47:14" + "src": "17765:47:14" }, "nodeType": "YulExpressionStatement", - "src": "19372:47:14" + "src": "17765:47:14" }, { "nodeType": "YulAssignment", - "src": "19428:139:14", + "src": "17821:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19562:4:14" + "src": "17955:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_b51b4875eede07862961e8f9365c6749f5fe55c6ee5d7a9e42b6912ad0b15942_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19436:124:14" + "src": "17829:124:14" }, "nodeType": "YulFunctionCall", - "src": "19436:131:14" + "src": "17829:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "19428:4:14" + "src": "17821:4:14" } ] } @@ -13300,7 +12491,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "19306:9:14", + "src": "17699:9:14", "type": "" } ], @@ -13308,16 +12499,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "19321:4:14", + "src": "17714:4:14", "type": "" } ], - "src": "19155:419:14" + "src": "17548:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "19686:137:14", + "src": "18079:137:14", "statements": [ { "expression": { @@ -13327,12 +12518,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19708:6:14" + "src": "18101:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19716:1:14", + "src": "18109:1:14", "type": "", "value": "0" } @@ -13340,16 +12531,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19704:3:14" + "src": "18097:3:14" }, "nodeType": "YulFunctionCall", - "src": "19704:14:14" + "src": "18097:14:14" }, { "hexValue": "4552433732313a20617070726f76652063616c6c6572206973206e6f74206f77", "kind": "string", "nodeType": "YulLiteral", - "src": "19720:34:14", + "src": "18113:34:14", "type": "", "value": "ERC721: approve caller is not ow" } @@ -13357,13 +12548,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19697:6:14" + "src": "18090:6:14" }, "nodeType": "YulFunctionCall", - "src": "19697:58:14" + "src": "18090:58:14" }, "nodeType": "YulExpressionStatement", - "src": "19697:58:14" + "src": "18090:58:14" }, { "expression": { @@ -13373,12 +12564,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19776:6:14" + "src": "18169:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19784:2:14", + "src": "18177:2:14", "type": "", "value": "32" } @@ -13386,16 +12577,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19772:3:14" + "src": "18165:3:14" }, "nodeType": "YulFunctionCall", - "src": "19772:15:14" + "src": "18165:15:14" }, { "hexValue": "6e6572206e6f7220617070726f76656420666f7220616c6c", "kind": "string", "nodeType": "YulLiteral", - "src": "19789:26:14", + "src": "18182:26:14", "type": "", "value": "ner nor approved for all" } @@ -13403,13 +12594,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19765:6:14" + "src": "18158:6:14" }, "nodeType": "YulFunctionCall", - "src": "19765:51:14" + "src": "18158:51:14" }, "nodeType": "YulExpressionStatement", - "src": "19765:51:14" + "src": "18158:51:14" } ] }, @@ -13419,31 +12610,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19678:6:14", + "src": "18071:6:14", "type": "" } ], - "src": "19580:243:14" + "src": "17973:243:14" }, { "body": { "nodeType": "YulBlock", - "src": "19975:220:14", + "src": "18368:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "19985:74:14", + "src": "18378:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20051:3:14" + "src": "18444:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20056:2:14", + "src": "18449:2:14", "type": "", "value": "56" } @@ -13451,16 +12642,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "19992:58:14" + "src": "18385:58:14" }, "nodeType": "YulFunctionCall", - "src": "19992:67:14" + "src": "18385:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19985:3:14" + "src": "18378:3:14" } ] }, @@ -13470,34 +12661,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20157:3:14" + "src": "18550:3:14" } ], "functionName": { "name": "store_literal_in_memory_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d", "nodeType": "YulIdentifier", - "src": "20068:88:14" + "src": "18461:88:14" }, "nodeType": "YulFunctionCall", - "src": "20068:93:14" + "src": "18461:93:14" }, "nodeType": "YulExpressionStatement", - "src": "20068:93:14" + "src": "18461:93:14" }, { "nodeType": "YulAssignment", - "src": "20170:19:14", + "src": "18563:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20181:3:14" + "src": "18574:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20186:2:14", + "src": "18579:2:14", "type": "", "value": "64" } @@ -13505,16 +12696,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20177:3:14" + "src": "18570:3:14" }, "nodeType": "YulFunctionCall", - "src": "20177:12:14" + "src": "18570:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20170:3:14" + "src": "18563:3:14" } ] } @@ -13526,7 +12717,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19963:3:14", + "src": "18356:3:14", "type": "" } ], @@ -13534,31 +12725,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19971:3:14", + "src": "18364:3:14", "type": "" } ], - "src": "19829:366:14" + "src": "18222:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "20372:248:14", + "src": "18765:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "20382:26:14", + "src": "18775:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20394:9:14" + "src": "18787:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20405:2:14", + "src": "18798:2:14", "type": "", "value": "32" } @@ -13566,16 +12757,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20390:3:14" + "src": "18783:3:14" }, "nodeType": "YulFunctionCall", - "src": "20390:18:14" + "src": "18783:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20382:4:14" + "src": "18775:4:14" } ] }, @@ -13587,12 +12778,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20429:9:14" + "src": "18822:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20440:1:14", + "src": "18833:1:14", "type": "", "value": "0" } @@ -13600,68 +12791,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20425:3:14" + "src": "18818:3:14" }, "nodeType": "YulFunctionCall", - "src": "20425:17:14" + "src": "18818:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20448:4:14" + "src": "18841:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "20454:9:14" + "src": "18847:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "20444:3:14" + "src": "18837:3:14" }, "nodeType": "YulFunctionCall", - "src": "20444:20:14" + "src": "18837:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20418:6:14" + "src": "18811:6:14" }, "nodeType": "YulFunctionCall", - "src": "20418:47:14" + "src": "18811:47:14" }, "nodeType": "YulExpressionStatement", - "src": "20418:47:14" + "src": "18811:47:14" }, { "nodeType": "YulAssignment", - "src": "20474:139:14", + "src": "18867:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20608:4:14" + "src": "19001:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_6d83cef3e0cb19b8320a9c5feb26b56bbb08f152a8e61b12eca3302d8d68b23d_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20482:124:14" + "src": "18875:124:14" }, "nodeType": "YulFunctionCall", - "src": "20482:131:14" + "src": "18875:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "20474:4:14" + "src": "18867:4:14" } ] } @@ -13673,7 +12864,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "20352:9:14", + "src": "18745:9:14", "type": "" } ], @@ -13681,16 +12872,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "20367:4:14", + "src": "18760:4:14", "type": "" } ], - "src": "20201:419:14" + "src": "18594:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "20732:130:14", + "src": "19125:130:14", "statements": [ { "expression": { @@ -13700,12 +12891,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20754:6:14" + "src": "19147:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20762:1:14", + "src": "19155:1:14", "type": "", "value": "0" } @@ -13713,16 +12904,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20750:3:14" + "src": "19143:3:14" }, "nodeType": "YulFunctionCall", - "src": "20750:14:14" + "src": "19143:14:14" }, { "hexValue": "4552433732313a207472616e736665722063616c6c6572206973206e6f74206f", "kind": "string", "nodeType": "YulLiteral", - "src": "20766:34:14", + "src": "19159:34:14", "type": "", "value": "ERC721: transfer caller is not o" } @@ -13730,13 +12921,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20743:6:14" + "src": "19136:6:14" }, "nodeType": "YulFunctionCall", - "src": "20743:58:14" + "src": "19136:58:14" }, "nodeType": "YulExpressionStatement", - "src": "20743:58:14" + "src": "19136:58:14" }, { "expression": { @@ -13746,12 +12937,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "20822:6:14" + "src": "19215:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20830:2:14", + "src": "19223:2:14", "type": "", "value": "32" } @@ -13759,16 +12950,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20818:3:14" + "src": "19211:3:14" }, "nodeType": "YulFunctionCall", - "src": "20818:15:14" + "src": "19211:15:14" }, { "hexValue": "776e6572206e6f7220617070726f766564", "kind": "string", "nodeType": "YulLiteral", - "src": "20835:19:14", + "src": "19228:19:14", "type": "", "value": "wner nor approved" } @@ -13776,13 +12967,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "20811:6:14" + "src": "19204:6:14" }, "nodeType": "YulFunctionCall", - "src": "20811:44:14" + "src": "19204:44:14" }, "nodeType": "YulExpressionStatement", - "src": "20811:44:14" + "src": "19204:44:14" } ] }, @@ -13792,31 +12983,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "20724:6:14", + "src": "19117:6:14", "type": "" } ], - "src": "20626:236:14" + "src": "19019:236:14" }, { "body": { "nodeType": "YulBlock", - "src": "21014:220:14", + "src": "19407:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "21024:74:14", + "src": "19417:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21090:3:14" + "src": "19483:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21095:2:14", + "src": "19488:2:14", "type": "", "value": "49" } @@ -13824,16 +13015,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21031:58:14" + "src": "19424:58:14" }, "nodeType": "YulFunctionCall", - "src": "21031:67:14" + "src": "19424:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21024:3:14" + "src": "19417:3:14" } ] }, @@ -13843,34 +13034,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21196:3:14" + "src": "19589:3:14" } ], "functionName": { "name": "store_literal_in_memory_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2", "nodeType": "YulIdentifier", - "src": "21107:88:14" + "src": "19500:88:14" }, "nodeType": "YulFunctionCall", - "src": "21107:93:14" + "src": "19500:93:14" }, "nodeType": "YulExpressionStatement", - "src": "21107:93:14" + "src": "19500:93:14" }, { "nodeType": "YulAssignment", - "src": "21209:19:14", + "src": "19602:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "21220:3:14" + "src": "19613:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21225:2:14", + "src": "19618:2:14", "type": "", "value": "64" } @@ -13878,16 +13069,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21216:3:14" + "src": "19609:3:14" }, "nodeType": "YulFunctionCall", - "src": "21216:12:14" + "src": "19609:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "21209:3:14" + "src": "19602:3:14" } ] } @@ -13899,7 +13090,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "21002:3:14", + "src": "19395:3:14", "type": "" } ], @@ -13907,31 +13098,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "21010:3:14", + "src": "19403:3:14", "type": "" } ], - "src": "20868:366:14" + "src": "19261:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "21411:248:14", + "src": "19804:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "21421:26:14", + "src": "19814:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21433:9:14" + "src": "19826:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21444:2:14", + "src": "19837:2:14", "type": "", "value": "32" } @@ -13939,16 +13130,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21429:3:14" + "src": "19822:3:14" }, "nodeType": "YulFunctionCall", - "src": "21429:18:14" + "src": "19822:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21421:4:14" + "src": "19814:4:14" } ] }, @@ -13960,12 +13151,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21468:9:14" + "src": "19861:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21479:1:14", + "src": "19872:1:14", "type": "", "value": "0" } @@ -13973,68 +13164,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21464:3:14" + "src": "19857:3:14" }, "nodeType": "YulFunctionCall", - "src": "21464:17:14" + "src": "19857:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21487:4:14" + "src": "19880:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21493:9:14" + "src": "19886:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21483:3:14" + "src": "19876:3:14" }, "nodeType": "YulFunctionCall", - "src": "21483:20:14" + "src": "19876:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21457:6:14" + "src": "19850:6:14" }, "nodeType": "YulFunctionCall", - "src": "21457:47:14" + "src": "19850:47:14" }, "nodeType": "YulExpressionStatement", - "src": "21457:47:14" + "src": "19850:47:14" }, { "nodeType": "YulAssignment", - "src": "21513:139:14", + "src": "19906:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21647:4:14" + "src": "20040:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_c8682f3ad98807db59a6ec6bb812b72fed0a66e3150fa8239699ee83885247f2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21521:124:14" + "src": "19914:124:14" }, "nodeType": "YulFunctionCall", - "src": "21521:131:14" + "src": "19914:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21513:4:14" + "src": "19906:4:14" } ] } @@ -14046,7 +13237,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21391:9:14", + "src": "19784:9:14", "type": "" } ], @@ -14054,16 +13245,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21406:4:14", + "src": "19799:4:14", "type": "" } ], - "src": "21240:419:14" + "src": "19633:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "21771:124:14", + "src": "20164:124:14", "statements": [ { "expression": { @@ -14073,12 +13264,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21793:6:14" + "src": "20186:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21801:1:14", + "src": "20194:1:14", "type": "", "value": "0" } @@ -14086,16 +13277,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21789:3:14" + "src": "20182:3:14" }, "nodeType": "YulFunctionCall", - "src": "21789:14:14" + "src": "20182:14:14" }, { "hexValue": "455243373231456e756d657261626c653a206f776e657220696e646578206f75", "kind": "string", "nodeType": "YulLiteral", - "src": "21805:34:14", + "src": "20198:34:14", "type": "", "value": "ERC721Enumerable: owner index ou" } @@ -14103,13 +13294,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21782:6:14" + "src": "20175:6:14" }, "nodeType": "YulFunctionCall", - "src": "21782:58:14" + "src": "20175:58:14" }, "nodeType": "YulExpressionStatement", - "src": "21782:58:14" + "src": "20175:58:14" }, { "expression": { @@ -14119,12 +13310,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "21861:6:14" + "src": "20254:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21869:2:14", + "src": "20262:2:14", "type": "", "value": "32" } @@ -14132,16 +13323,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21857:3:14" + "src": "20250:3:14" }, "nodeType": "YulFunctionCall", - "src": "21857:15:14" + "src": "20250:15:14" }, { "hexValue": "74206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "21874:13:14", + "src": "20267:13:14", "type": "", "value": "t of bounds" } @@ -14149,13 +13340,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21850:6:14" + "src": "20243:6:14" }, "nodeType": "YulFunctionCall", - "src": "21850:38:14" + "src": "20243:38:14" }, "nodeType": "YulExpressionStatement", - "src": "21850:38:14" + "src": "20243:38:14" } ] }, @@ -14165,31 +13356,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "21763:6:14", + "src": "20156:6:14", "type": "" } ], - "src": "21665:230:14" + "src": "20058:230:14" }, { "body": { "nodeType": "YulBlock", - "src": "22047:220:14", + "src": "20440:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "22057:74:14", + "src": "20450:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22123:3:14" + "src": "20516:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22128:2:14", + "src": "20521:2:14", "type": "", "value": "43" } @@ -14197,16 +13388,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22064:58:14" + "src": "20457:58:14" }, "nodeType": "YulFunctionCall", - "src": "22064:67:14" + "src": "20457:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22057:3:14" + "src": "20450:3:14" } ] }, @@ -14216,34 +13407,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22229:3:14" + "src": "20622:3:14" } ], "functionName": { "name": "store_literal_in_memory_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c", "nodeType": "YulIdentifier", - "src": "22140:88:14" + "src": "20533:88:14" }, "nodeType": "YulFunctionCall", - "src": "22140:93:14" + "src": "20533:93:14" }, "nodeType": "YulExpressionStatement", - "src": "22140:93:14" + "src": "20533:93:14" }, { "nodeType": "YulAssignment", - "src": "22242:19:14", + "src": "20635:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22253:3:14" + "src": "20646:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22258:2:14", + "src": "20651:2:14", "type": "", "value": "64" } @@ -14251,16 +13442,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22249:3:14" + "src": "20642:3:14" }, "nodeType": "YulFunctionCall", - "src": "22249:12:14" + "src": "20642:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "22242:3:14" + "src": "20635:3:14" } ] } @@ -14272,7 +13463,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22035:3:14", + "src": "20428:3:14", "type": "" } ], @@ -14280,31 +13471,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22043:3:14", + "src": "20436:3:14", "type": "" } ], - "src": "21901:366:14" + "src": "20294:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "22444:248:14", + "src": "20837:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "22454:26:14", + "src": "20847:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22466:9:14" + "src": "20859:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22477:2:14", + "src": "20870:2:14", "type": "", "value": "32" } @@ -14312,16 +13503,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22462:3:14" + "src": "20855:3:14" }, "nodeType": "YulFunctionCall", - "src": "22462:18:14" + "src": "20855:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22454:4:14" + "src": "20847:4:14" } ] }, @@ -14333,12 +13524,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22501:9:14" + "src": "20894:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22512:1:14", + "src": "20905:1:14", "type": "", "value": "0" } @@ -14346,68 +13537,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22497:3:14" + "src": "20890:3:14" }, "nodeType": "YulFunctionCall", - "src": "22497:17:14" + "src": "20890:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22520:4:14" + "src": "20913:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22526:9:14" + "src": "20919:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22516:3:14" + "src": "20909:3:14" }, "nodeType": "YulFunctionCall", - "src": "22516:20:14" + "src": "20909:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22490:6:14" + "src": "20883:6:14" }, "nodeType": "YulFunctionCall", - "src": "22490:47:14" + "src": "20883:47:14" }, "nodeType": "YulExpressionStatement", - "src": "22490:47:14" + "src": "20883:47:14" }, { "nodeType": "YulAssignment", - "src": "22546:139:14", + "src": "20939:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22680:4:14" + "src": "21073:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_1d7f5dcf03a65f41ee49b0ab593e3851cfbe3fd7da53b6cf4eddd83c7df5734c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22554:124:14" + "src": "20947:124:14" }, "nodeType": "YulFunctionCall", - "src": "22554:131:14" + "src": "20947:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22546:4:14" + "src": "20939:4:14" } ] } @@ -14419,7 +13610,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22424:9:14", + "src": "20817:9:14", "type": "" } ], @@ -14427,16 +13618,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22439:4:14", + "src": "20832:4:14", "type": "" } ], - "src": "22273:419:14" + "src": "20666:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "22804:128:14", + "src": "21197:128:14", "statements": [ { "expression": { @@ -14446,12 +13637,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "22826:6:14" + "src": "21219:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22834:1:14", + "src": "21227:1:14", "type": "", "value": "0" } @@ -14459,16 +13650,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22822:3:14" + "src": "21215:3:14" }, "nodeType": "YulFunctionCall", - "src": "22822:14:14" + "src": "21215:14:14" }, { "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", "kind": "string", "nodeType": "YulLiteral", - "src": "22838:34:14", + "src": "21231:34:14", "type": "", "value": "AccessControl: can only renounce" } @@ -14476,13 +13667,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22815:6:14" + "src": "21208:6:14" }, "nodeType": "YulFunctionCall", - "src": "22815:58:14" + "src": "21208:58:14" }, "nodeType": "YulExpressionStatement", - "src": "22815:58:14" + "src": "21208:58:14" }, { "expression": { @@ -14492,12 +13683,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "22894:6:14" + "src": "21287:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22902:2:14", + "src": "21295:2:14", "type": "", "value": "32" } @@ -14505,16 +13696,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22890:3:14" + "src": "21283:3:14" }, "nodeType": "YulFunctionCall", - "src": "22890:15:14" + "src": "21283:15:14" }, { "hexValue": "20726f6c657320666f722073656c66", "kind": "string", "nodeType": "YulLiteral", - "src": "22907:17:14", + "src": "21300:17:14", "type": "", "value": " roles for self" } @@ -14522,13 +13713,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22883:6:14" + "src": "21276:6:14" }, "nodeType": "YulFunctionCall", - "src": "22883:42:14" + "src": "21276:42:14" }, "nodeType": "YulExpressionStatement", - "src": "22883:42:14" + "src": "21276:42:14" } ] }, @@ -14538,31 +13729,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "22796:6:14", + "src": "21189:6:14", "type": "" } ], - "src": "22698:234:14" + "src": "21091:234:14" }, { "body": { "nodeType": "YulBlock", - "src": "23084:220:14", + "src": "21477:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "23094:74:14", + "src": "21487:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23160:3:14" + "src": "21553:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23165:2:14", + "src": "21558:2:14", "type": "", "value": "47" } @@ -14570,16 +13761,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23101:58:14" + "src": "21494:58:14" }, "nodeType": "YulFunctionCall", - "src": "23101:67:14" + "src": "21494:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23094:3:14" + "src": "21487:3:14" } ] }, @@ -14589,34 +13780,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23266:3:14" + "src": "21659:3:14" } ], "functionName": { "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", "nodeType": "YulIdentifier", - "src": "23177:88:14" + "src": "21570:88:14" }, "nodeType": "YulFunctionCall", - "src": "23177:93:14" + "src": "21570:93:14" }, "nodeType": "YulExpressionStatement", - "src": "23177:93:14" + "src": "21570:93:14" }, { "nodeType": "YulAssignment", - "src": "23279:19:14", + "src": "21672:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "23290:3:14" + "src": "21683:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23295:2:14", + "src": "21688:2:14", "type": "", "value": "64" } @@ -14624,16 +13815,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23286:3:14" + "src": "21679:3:14" }, "nodeType": "YulFunctionCall", - "src": "23286:12:14" + "src": "21679:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "23279:3:14" + "src": "21672:3:14" } ] } @@ -14645,7 +13836,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "23072:3:14", + "src": "21465:3:14", "type": "" } ], @@ -14653,31 +13844,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "23080:3:14", + "src": "21473:3:14", "type": "" } ], - "src": "22938:366:14" + "src": "21331:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "23481:248:14", + "src": "21874:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "23491:26:14", + "src": "21884:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23503:9:14" + "src": "21896:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23514:2:14", + "src": "21907:2:14", "type": "", "value": "32" } @@ -14685,16 +13876,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23499:3:14" + "src": "21892:3:14" }, "nodeType": "YulFunctionCall", - "src": "23499:18:14" + "src": "21892:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23491:4:14" + "src": "21884:4:14" } ] }, @@ -14706,12 +13897,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23538:9:14" + "src": "21931:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23549:1:14", + "src": "21942:1:14", "type": "", "value": "0" } @@ -14719,68 +13910,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23534:3:14" + "src": "21927:3:14" }, "nodeType": "YulFunctionCall", - "src": "23534:17:14" + "src": "21927:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23557:4:14" + "src": "21950:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "23563:9:14" + "src": "21956:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "23553:3:14" + "src": "21946:3:14" }, "nodeType": "YulFunctionCall", - "src": "23553:20:14" + "src": "21946:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23527:6:14" + "src": "21920:6:14" }, "nodeType": "YulFunctionCall", - "src": "23527:47:14" + "src": "21920:47:14" }, "nodeType": "YulExpressionStatement", - "src": "23527:47:14" + "src": "21920:47:14" }, { "nodeType": "YulAssignment", - "src": "23583:139:14", + "src": "21976:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23717:4:14" + "src": "22110:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23591:124:14" + "src": "21984:124:14" }, "nodeType": "YulFunctionCall", - "src": "23591:131:14" + "src": "21984:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23583:4:14" + "src": "21976:4:14" } ] } @@ -14792,7 +13983,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "23461:9:14", + "src": "21854:9:14", "type": "" } ], @@ -14800,16 +13991,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "23476:4:14", + "src": "21869:4:14", "type": "" } ], - "src": "23310:419:14" + "src": "21703:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "23841:61:14", + "src": "22234:61:14", "statements": [ { "expression": { @@ -14819,12 +14010,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "23863:6:14" + "src": "22256:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23871:1:14", + "src": "22264:1:14", "type": "", "value": "0" } @@ -14832,16 +14023,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "23859:3:14" + "src": "22252:3:14" }, "nodeType": "YulFunctionCall", - "src": "23859:14:14" + "src": "22252:14:14" }, { "hexValue": "746f6b656e49647320746f6f206d616e79", "kind": "string", "nodeType": "YulLiteral", - "src": "23875:19:14", + "src": "22268:19:14", "type": "", "value": "tokenIds too many" } @@ -14849,13 +14040,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23852:6:14" + "src": "22245:6:14" }, "nodeType": "YulFunctionCall", - "src": "23852:43:14" + "src": "22245:43:14" }, "nodeType": "YulExpressionStatement", - "src": "23852:43:14" + "src": "22245:43:14" } ] }, @@ -14865,31 +14056,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "23833:6:14", + "src": "22226:6:14", "type": "" } ], - "src": "23735:167:14" + "src": "22128:167:14" }, { "body": { "nodeType": "YulBlock", - "src": "24054:220:14", + "src": "22447:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "24064:74:14", + "src": "22457:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24130:3:14" + "src": "22523:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24135:2:14", + "src": "22528:2:14", "type": "", "value": "17" } @@ -14897,16 +14088,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24071:58:14" + "src": "22464:58:14" }, "nodeType": "YulFunctionCall", - "src": "24071:67:14" + "src": "22464:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24064:3:14" + "src": "22457:3:14" } ] }, @@ -14916,34 +14107,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24236:3:14" + "src": "22629:3:14" } ], "functionName": { "name": "store_literal_in_memory_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", "nodeType": "YulIdentifier", - "src": "24147:88:14" + "src": "22540:88:14" }, "nodeType": "YulFunctionCall", - "src": "24147:93:14" + "src": "22540:93:14" }, "nodeType": "YulExpressionStatement", - "src": "24147:93:14" + "src": "22540:93:14" }, { "nodeType": "YulAssignment", - "src": "24249:19:14", + "src": "22642:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "24260:3:14" + "src": "22653:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24265:2:14", + "src": "22658:2:14", "type": "", "value": "32" } @@ -14951,16 +14142,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24256:3:14" + "src": "22649:3:14" }, "nodeType": "YulFunctionCall", - "src": "24256:12:14" + "src": "22649:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "24249:3:14" + "src": "22642:3:14" } ] } @@ -14972,7 +14163,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "24042:3:14", + "src": "22435:3:14", "type": "" } ], @@ -14980,31 +14171,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "24050:3:14", + "src": "22443:3:14", "type": "" } ], - "src": "23908:366:14" + "src": "22301:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "24451:248:14", + "src": "22844:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "24461:26:14", + "src": "22854:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24473:9:14" + "src": "22866:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24484:2:14", + "src": "22877:2:14", "type": "", "value": "32" } @@ -15012,16 +14203,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24469:3:14" + "src": "22862:3:14" }, "nodeType": "YulFunctionCall", - "src": "24469:18:14" + "src": "22862:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24461:4:14" + "src": "22854:4:14" } ] }, @@ -15033,12 +14224,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24508:9:14" + "src": "22901:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24519:1:14", + "src": "22912:1:14", "type": "", "value": "0" } @@ -15046,68 +14237,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "24504:3:14" + "src": "22897:3:14" }, "nodeType": "YulFunctionCall", - "src": "24504:17:14" + "src": "22897:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24527:4:14" + "src": "22920:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "24533:9:14" + "src": "22926:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "24523:3:14" + "src": "22916:3:14" }, "nodeType": "YulFunctionCall", - "src": "24523:20:14" + "src": "22916:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24497:6:14" + "src": "22890:6:14" }, "nodeType": "YulFunctionCall", - "src": "24497:47:14" + "src": "22890:47:14" }, "nodeType": "YulExpressionStatement", - "src": "24497:47:14" + "src": "22890:47:14" }, { "nodeType": "YulAssignment", - "src": "24553:139:14", + "src": "22946:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24687:4:14" + "src": "23080:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "24561:124:14" + "src": "22954:124:14" }, "nodeType": "YulFunctionCall", - "src": "24561:131:14" + "src": "22954:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "24553:4:14" + "src": "22946:4:14" } ] } @@ -15119,7 +14310,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "24431:9:14", + "src": "22824:9:14", "type": "" } ], @@ -15127,16 +14318,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "24446:4:14", + "src": "22839:4:14", "type": "" } ], - "src": "24280:419:14" + "src": "22673:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "24733:152:14", + "src": "23126:152:14", "statements": [ { "expression": { @@ -15144,14 +14335,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24750:1:14", + "src": "23143:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24753:77:14", + "src": "23146:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -15159,13 +14350,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24743:6:14" + "src": "23136:6:14" }, "nodeType": "YulFunctionCall", - "src": "24743:88:14" + "src": "23136:88:14" }, "nodeType": "YulExpressionStatement", - "src": "24743:88:14" + "src": "23136:88:14" }, { "expression": { @@ -15173,14 +14364,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24847:1:14", + "src": "23240:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24850:4:14", + "src": "23243:4:14", "type": "", "value": "0x11" } @@ -15188,13 +14379,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "24840:6:14" + "src": "23233:6:14" }, "nodeType": "YulFunctionCall", - "src": "24840:15:14" + "src": "23233:15:14" }, "nodeType": "YulExpressionStatement", - "src": "24840:15:14" + "src": "23233:15:14" }, { "expression": { @@ -15202,14 +14393,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "24871:1:14", + "src": "23264:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "24874:4:14", + "src": "23267:4:14", "type": "", "value": "0x24" } @@ -15217,83 +14408,83 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "24864:6:14" + "src": "23257:6:14" }, "nodeType": "YulFunctionCall", - "src": "24864:15:14" + "src": "23257:15:14" }, "nodeType": "YulExpressionStatement", - "src": "24864:15:14" + "src": "23257:15:14" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "24705:180:14" + "src": "23098:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "24935:261:14", + "src": "23328:261:14", "statements": [ { "nodeType": "YulAssignment", - "src": "24945:25:14", + "src": "23338:25:14", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24968:1:14" + "src": "23361:1:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "24950:17:14" + "src": "23343:17:14" }, "nodeType": "YulFunctionCall", - "src": "24950:20:14" + "src": "23343:20:14" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "24945:1:14" + "src": "23338:1:14" } ] }, { "nodeType": "YulAssignment", - "src": "24979:25:14", + "src": "23372:25:14", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "25002:1:14" + "src": "23395:1:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "24984:17:14" + "src": "23377:17:14" }, "nodeType": "YulFunctionCall", - "src": "24984:20:14" + "src": "23377:20:14" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "24979:1:14" + "src": "23372:1:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "25142:22:14", + "src": "23535:22:14", "statements": [ { "expression": { @@ -15301,13 +14492,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "25144:16:14" + "src": "23537:16:14" }, "nodeType": "YulFunctionCall", - "src": "25144:18:14" + "src": "23537:18:14" }, "nodeType": "YulExpressionStatement", - "src": "25144:18:14" + "src": "23537:18:14" } ] }, @@ -15316,72 +14507,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "25063:1:14" + "src": "23456:1:14" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "25070:66:14", + "src": "23463:66:14", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "25138:1:14" + "src": "23531:1:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25066:3:14" + "src": "23459:3:14" }, "nodeType": "YulFunctionCall", - "src": "25066:74:14" + "src": "23459:74:14" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "25060:2:14" + "src": "23453:2:14" }, "nodeType": "YulFunctionCall", - "src": "25060:81:14" + "src": "23453:81:14" }, "nodeType": "YulIf", - "src": "25057:107:14" + "src": "23450:107:14" }, { "nodeType": "YulAssignment", - "src": "25174:16:14", + "src": "23567:16:14", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "25185:1:14" + "src": "23578:1:14" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "25188:1:14" + "src": "23581:1:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25181:3:14" + "src": "23574:3:14" }, "nodeType": "YulFunctionCall", - "src": "25181:9:14" + "src": "23574:9:14" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "25174:3:14" + "src": "23567:3:14" } ] } @@ -15393,13 +14584,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "24922:1:14", + "src": "23315:1:14", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "24925:1:14", + "src": "23318:1:14", "type": "" } ], @@ -15407,16 +14598,16 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "24931:3:14", + "src": "23324:3:14", "type": "" } ], - "src": "24891:305:14" + "src": "23284:305:14" }, { "body": { "nodeType": "YulBlock", - "src": "25308:67:14", + "src": "23701:67:14", "statements": [ { "expression": { @@ -15426,12 +14617,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "25330:6:14" + "src": "23723:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25338:1:14", + "src": "23731:1:14", "type": "", "value": "0" } @@ -15439,16 +14630,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25326:3:14" + "src": "23719:3:14" }, "nodeType": "YulFunctionCall", - "src": "25326:14:14" + "src": "23719:14:14" }, { "hexValue": "4578636565642074686520746f74616c20737570706c79", "kind": "string", "nodeType": "YulLiteral", - "src": "25342:25:14", + "src": "23735:25:14", "type": "", "value": "Exceed the total supply" } @@ -15456,13 +14647,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25319:6:14" + "src": "23712:6:14" }, "nodeType": "YulFunctionCall", - "src": "25319:49:14" + "src": "23712:49:14" }, "nodeType": "YulExpressionStatement", - "src": "25319:49:14" + "src": "23712:49:14" } ] }, @@ -15472,31 +14663,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "25300:6:14", + "src": "23693:6:14", "type": "" } ], - "src": "25202:173:14" + "src": "23595:173:14" }, { "body": { "nodeType": "YulBlock", - "src": "25527:220:14", + "src": "23920:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "25537:74:14", + "src": "23930:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25603:3:14" + "src": "23996:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25608:2:14", + "src": "24001:2:14", "type": "", "value": "23" } @@ -15504,16 +14695,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "25544:58:14" + "src": "23937:58:14" }, "nodeType": "YulFunctionCall", - "src": "25544:67:14" + "src": "23937:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25537:3:14" + "src": "23930:3:14" } ] }, @@ -15523,34 +14714,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25709:3:14" + "src": "24102:3:14" } ], "functionName": { "name": "store_literal_in_memory_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "nodeType": "YulIdentifier", - "src": "25620:88:14" + "src": "24013:88:14" }, "nodeType": "YulFunctionCall", - "src": "25620:93:14" + "src": "24013:93:14" }, "nodeType": "YulExpressionStatement", - "src": "25620:93:14" + "src": "24013:93:14" }, { "nodeType": "YulAssignment", - "src": "25722:19:14", + "src": "24115:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "25733:3:14" + "src": "24126:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25738:2:14", + "src": "24131:2:14", "type": "", "value": "32" } @@ -15558,16 +14749,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25729:3:14" + "src": "24122:3:14" }, "nodeType": "YulFunctionCall", - "src": "25729:12:14" + "src": "24122:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "25722:3:14" + "src": "24115:3:14" } ] } @@ -15579,7 +14770,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "25515:3:14", + "src": "23908:3:14", "type": "" } ], @@ -15587,31 +14778,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "25523:3:14", + "src": "23916:3:14", "type": "" } ], - "src": "25381:366:14" + "src": "23774:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "25924:248:14", + "src": "24317:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "25934:26:14", + "src": "24327:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25946:9:14" + "src": "24339:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25957:2:14", + "src": "24350:2:14", "type": "", "value": "32" } @@ -15619,16 +14810,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25942:3:14" + "src": "24335:3:14" }, "nodeType": "YulFunctionCall", - "src": "25942:18:14" + "src": "24335:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "25934:4:14" + "src": "24327:4:14" } ] }, @@ -15640,12 +14831,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "25981:9:14" + "src": "24374:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "25992:1:14", + "src": "24385:1:14", "type": "", "value": "0" } @@ -15653,68 +14844,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "25977:3:14" + "src": "24370:3:14" }, "nodeType": "YulFunctionCall", - "src": "25977:17:14" + "src": "24370:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26000:4:14" + "src": "24393:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "26006:9:14" + "src": "24399:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "25996:3:14" + "src": "24389:3:14" }, "nodeType": "YulFunctionCall", - "src": "25996:20:14" + "src": "24389:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "25970:6:14" + "src": "24363:6:14" }, "nodeType": "YulFunctionCall", - "src": "25970:47:14" + "src": "24363:47:14" }, "nodeType": "YulExpressionStatement", - "src": "25970:47:14" + "src": "24363:47:14" }, { "nodeType": "YulAssignment", - "src": "26026:139:14", + "src": "24419:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26160:4:14" + "src": "24553:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "26034:124:14" + "src": "24427:124:14" }, "nodeType": "YulFunctionCall", - "src": "26034:131:14" + "src": "24427:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "26026:4:14" + "src": "24419:4:14" } ] } @@ -15726,7 +14917,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "25904:9:14", + "src": "24297:9:14", "type": "" } ], @@ -15734,16 +14925,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "25919:4:14", + "src": "24312:4:14", "type": "" } ], - "src": "25753:419:14" + "src": "24146:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "26206:152:14", + "src": "24599:152:14", "statements": [ { "expression": { @@ -15751,14 +14942,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26223:1:14", + "src": "24616:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26226:77:14", + "src": "24619:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -15766,13 +14957,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26216:6:14" + "src": "24609:6:14" }, "nodeType": "YulFunctionCall", - "src": "26216:88:14" + "src": "24609:88:14" }, "nodeType": "YulExpressionStatement", - "src": "26216:88:14" + "src": "24609:88:14" }, { "expression": { @@ -15780,14 +14971,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26320:1:14", + "src": "24713:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26323:4:14", + "src": "24716:4:14", "type": "", "value": "0x32" } @@ -15795,13 +14986,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26313:6:14" + "src": "24706:6:14" }, "nodeType": "YulFunctionCall", - "src": "26313:15:14" + "src": "24706:15:14" }, "nodeType": "YulExpressionStatement", - "src": "26313:15:14" + "src": "24706:15:14" }, { "expression": { @@ -15809,14 +15000,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "26344:1:14", + "src": "24737:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26347:4:14", + "src": "24740:4:14", "type": "", "value": "0x24" } @@ -15824,56 +15015,56 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "26337:6:14" + "src": "24730:6:14" }, "nodeType": "YulFunctionCall", - "src": "26337:15:14" + "src": "24730:15:14" }, "nodeType": "YulExpressionStatement", - "src": "26337:15:14" + "src": "24730:15:14" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", - "src": "26178:180:14" + "src": "24571:180:14" }, { "body": { "nodeType": "YulBlock", - "src": "26407:190:14", + "src": "24800:190:14", "statements": [ { "nodeType": "YulAssignment", - "src": "26417:33:14", + "src": "24810:33:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "26444:5:14" + "src": "24837:5:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "26426:17:14" + "src": "24819:17:14" }, "nodeType": "YulFunctionCall", - "src": "26426:24:14" + "src": "24819:24:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "26417:5:14" + "src": "24810:5:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "26540:22:14", + "src": "24933:22:14", "statements": [ { "expression": { @@ -15881,13 +15072,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "26542:16:14" + "src": "24935:16:14" }, "nodeType": "YulFunctionCall", - "src": "26542:18:14" + "src": "24935:18:14" }, "nodeType": "YulExpressionStatement", - "src": "26542:18:14" + "src": "24935:18:14" } ] }, @@ -15896,12 +15087,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "26465:5:14" + "src": "24858:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26472:66:14", + "src": "24865:66:14", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } @@ -15909,28 +15100,28 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "26462:2:14" + "src": "24855:2:14" }, "nodeType": "YulFunctionCall", - "src": "26462:77:14" + "src": "24855:77:14" }, "nodeType": "YulIf", - "src": "26459:103:14" + "src": "24852:103:14" }, { "nodeType": "YulAssignment", - "src": "26571:20:14", + "src": "24964:20:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "26582:5:14" + "src": "24975:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26589:1:14", + "src": "24982:1:14", "type": "", "value": "1" } @@ -15938,16 +15129,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26578:3:14" + "src": "24971:3:14" }, "nodeType": "YulFunctionCall", - "src": "26578:13:14" + "src": "24971:13:14" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "26571:3:14" + "src": "24964:3:14" } ] } @@ -15959,7 +15150,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "26393:5:14", + "src": "24786:5:14", "type": "" } ], @@ -15967,16 +15158,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "26403:3:14", + "src": "24796:3:14", "type": "" } ], - "src": "26364:233:14" + "src": "24757:233:14" }, { "body": { "nodeType": "YulBlock", - "src": "26709:125:14", + "src": "25102:125:14", "statements": [ { "expression": { @@ -15986,12 +15177,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26731:6:14" + "src": "25124:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26739:1:14", + "src": "25132:1:14", "type": "", "value": "0" } @@ -15999,16 +15190,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26727:3:14" + "src": "25120:3:14" }, "nodeType": "YulFunctionCall", - "src": "26727:14:14" + "src": "25120:14:14" }, { "hexValue": "455243373231456e756d657261626c653a20676c6f62616c20696e646578206f", "kind": "string", "nodeType": "YulLiteral", - "src": "26743:34:14", + "src": "25136:34:14", "type": "", "value": "ERC721Enumerable: global index o" } @@ -16016,13 +15207,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26720:6:14" + "src": "25113:6:14" }, "nodeType": "YulFunctionCall", - "src": "26720:58:14" + "src": "25113:58:14" }, "nodeType": "YulExpressionStatement", - "src": "26720:58:14" + "src": "25113:58:14" }, { "expression": { @@ -16032,12 +15223,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "26799:6:14" + "src": "25192:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "26807:2:14", + "src": "25200:2:14", "type": "", "value": "32" } @@ -16045,16 +15236,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "26795:3:14" + "src": "25188:3:14" }, "nodeType": "YulFunctionCall", - "src": "26795:15:14" + "src": "25188:15:14" }, { "hexValue": "7574206f6620626f756e6473", "kind": "string", "nodeType": "YulLiteral", - "src": "26812:14:14", + "src": "25205:14:14", "type": "", "value": "ut of bounds" } @@ -16062,13 +15253,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "26788:6:14" + "src": "25181:6:14" }, "nodeType": "YulFunctionCall", - "src": "26788:39:14" + "src": "25181:39:14" }, "nodeType": "YulExpressionStatement", - "src": "26788:39:14" + "src": "25181:39:14" } ] }, @@ -16078,31 +15269,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "26701:6:14", + "src": "25094:6:14", "type": "" } ], - "src": "26603:231:14" + "src": "24996:231:14" }, { "body": { "nodeType": "YulBlock", - "src": "26986:220:14", + "src": "25379:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "26996:74:14", + "src": "25389:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27062:3:14" + "src": "25455:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27067:2:14", + "src": "25460:2:14", "type": "", "value": "44" } @@ -16110,16 +15301,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27003:58:14" + "src": "25396:58:14" }, "nodeType": "YulFunctionCall", - "src": "27003:67:14" + "src": "25396:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "26996:3:14" + "src": "25389:3:14" } ] }, @@ -16129,34 +15320,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27168:3:14" + "src": "25561:3:14" } ], "functionName": { "name": "store_literal_in_memory_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc", "nodeType": "YulIdentifier", - "src": "27079:88:14" + "src": "25472:88:14" }, "nodeType": "YulFunctionCall", - "src": "27079:93:14" + "src": "25472:93:14" }, "nodeType": "YulExpressionStatement", - "src": "27079:93:14" + "src": "25472:93:14" }, { "nodeType": "YulAssignment", - "src": "27181:19:14", + "src": "25574:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27192:3:14" + "src": "25585:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27197:2:14", + "src": "25590:2:14", "type": "", "value": "64" } @@ -16164,16 +15355,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27188:3:14" + "src": "25581:3:14" }, "nodeType": "YulFunctionCall", - "src": "27188:12:14" + "src": "25581:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "27181:3:14" + "src": "25574:3:14" } ] } @@ -16185,7 +15376,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "26974:3:14", + "src": "25367:3:14", "type": "" } ], @@ -16193,31 +15384,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "26982:3:14", + "src": "25375:3:14", "type": "" } ], - "src": "26840:366:14" + "src": "25233:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "27383:248:14", + "src": "25776:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "27393:26:14", + "src": "25786:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27405:9:14" + "src": "25798:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27416:2:14", + "src": "25809:2:14", "type": "", "value": "32" } @@ -16225,16 +15416,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27401:3:14" + "src": "25794:3:14" }, "nodeType": "YulFunctionCall", - "src": "27401:18:14" + "src": "25794:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27393:4:14" + "src": "25786:4:14" } ] }, @@ -16246,12 +15437,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27440:9:14" + "src": "25833:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27451:1:14", + "src": "25844:1:14", "type": "", "value": "0" } @@ -16259,68 +15450,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27436:3:14" + "src": "25829:3:14" }, "nodeType": "YulFunctionCall", - "src": "27436:17:14" + "src": "25829:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27459:4:14" + "src": "25852:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "27465:9:14" + "src": "25858:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "27455:3:14" + "src": "25848:3:14" }, "nodeType": "YulFunctionCall", - "src": "27455:20:14" + "src": "25848:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27429:6:14" + "src": "25822:6:14" }, "nodeType": "YulFunctionCall", - "src": "27429:47:14" + "src": "25822:47:14" }, "nodeType": "YulExpressionStatement", - "src": "27429:47:14" + "src": "25822:47:14" }, { "nodeType": "YulAssignment", - "src": "27485:139:14", + "src": "25878:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27619:4:14" + "src": "26012:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_d269a4e9f5820dcdb69ea21f528512eb9b927c8d846d48aa51c9219f461d4dcc_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27493:124:14" + "src": "25886:124:14" }, "nodeType": "YulFunctionCall", - "src": "27493:131:14" + "src": "25886:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "27485:4:14" + "src": "25878:4:14" } ] } @@ -16332,7 +15523,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "27363:9:14", + "src": "25756:9:14", "type": "" } ], @@ -16340,16 +15531,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "27378:4:14", + "src": "25771:4:14", "type": "" } ], - "src": "27212:419:14" + "src": "25605:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "27743:65:14", + "src": "26136:65:14", "statements": [ { "expression": { @@ -16359,12 +15550,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "27765:6:14" + "src": "26158:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "27773:1:14", + "src": "26166:1:14", "type": "", "value": "0" } @@ -16372,16 +15563,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "27761:3:14" + "src": "26154:3:14" }, "nodeType": "YulFunctionCall", - "src": "27761:14:14" + "src": "26154:14:14" }, { "hexValue": "4d7573742062652076616c696420746f6b656e4964", "kind": "string", "nodeType": "YulLiteral", - "src": "27777:23:14", + "src": "26170:23:14", "type": "", "value": "Must be valid tokenId" } @@ -16389,13 +15580,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "27754:6:14" + "src": "26147:6:14" }, "nodeType": "YulFunctionCall", - "src": "27754:47:14" + "src": "26147:47:14" }, "nodeType": "YulExpressionStatement", - "src": "27754:47:14" + "src": "26147:47:14" } ] }, @@ -16405,31 +15596,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "27735:6:14", + "src": "26128:6:14", "type": "" } ], - "src": "27637:171:14" + "src": "26030:171:14" }, { "body": { "nodeType": "YulBlock", - "src": "27960:220:14", + "src": "26353:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "27970:74:14", + "src": "26363:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28036:3:14" + "src": "26429:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28041:2:14", + "src": "26434:2:14", "type": "", "value": "21" } @@ -16437,16 +15628,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "27977:58:14" + "src": "26370:58:14" }, "nodeType": "YulFunctionCall", - "src": "27977:67:14" + "src": "26370:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "27970:3:14" + "src": "26363:3:14" } ] }, @@ -16456,34 +15647,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28142:3:14" + "src": "26535:3:14" } ], "functionName": { "name": "store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "nodeType": "YulIdentifier", - "src": "28053:88:14" + "src": "26446:88:14" }, "nodeType": "YulFunctionCall", - "src": "28053:93:14" + "src": "26446:93:14" }, "nodeType": "YulExpressionStatement", - "src": "28053:93:14" + "src": "26446:93:14" }, { "nodeType": "YulAssignment", - "src": "28155:19:14", + "src": "26548:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28166:3:14" + "src": "26559:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28171:2:14", + "src": "26564:2:14", "type": "", "value": "32" } @@ -16491,16 +15682,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28162:3:14" + "src": "26555:3:14" }, "nodeType": "YulFunctionCall", - "src": "28162:12:14" + "src": "26555:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "28155:3:14" + "src": "26548:3:14" } ] } @@ -16512,7 +15703,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "27948:3:14", + "src": "26341:3:14", "type": "" } ], @@ -16520,31 +15711,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "27956:3:14", + "src": "26349:3:14", "type": "" } ], - "src": "27814:366:14" + "src": "26207:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "28357:248:14", + "src": "26750:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "28367:26:14", + "src": "26760:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28379:9:14" + "src": "26772:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28390:2:14", + "src": "26783:2:14", "type": "", "value": "32" } @@ -16552,16 +15743,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28375:3:14" + "src": "26768:3:14" }, "nodeType": "YulFunctionCall", - "src": "28375:18:14" + "src": "26768:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28367:4:14" + "src": "26760:4:14" } ] }, @@ -16573,12 +15764,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28414:9:14" + "src": "26807:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28425:1:14", + "src": "26818:1:14", "type": "", "value": "0" } @@ -16586,68 +15777,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28410:3:14" + "src": "26803:3:14" }, "nodeType": "YulFunctionCall", - "src": "28410:17:14" + "src": "26803:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28433:4:14" + "src": "26826:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "28439:9:14" + "src": "26832:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "28429:3:14" + "src": "26822:3:14" }, "nodeType": "YulFunctionCall", - "src": "28429:20:14" + "src": "26822:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28403:6:14" + "src": "26796:6:14" }, "nodeType": "YulFunctionCall", - "src": "28403:47:14" + "src": "26796:47:14" }, "nodeType": "YulExpressionStatement", - "src": "28403:47:14" + "src": "26796:47:14" }, { "nodeType": "YulAssignment", - "src": "28459:139:14", + "src": "26852:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28593:4:14" + "src": "26986:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28467:124:14" + "src": "26860:124:14" }, "nodeType": "YulFunctionCall", - "src": "28467:131:14" + "src": "26860:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "28459:4:14" + "src": "26852:4:14" } ] } @@ -16659,7 +15850,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "28337:9:14", + "src": "26730:9:14", "type": "" } ], @@ -16667,16 +15858,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "28352:4:14", + "src": "26745:4:14", "type": "" } ], - "src": "28186:419:14" + "src": "26579:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "28717:70:14", + "src": "27110:70:14", "statements": [ { "expression": { @@ -16686,12 +15877,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "28739:6:14" + "src": "27132:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "28747:1:14", + "src": "27140:1:14", "type": "", "value": "0" } @@ -16699,16 +15890,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "28735:3:14" + "src": "27128:3:14" }, "nodeType": "YulFunctionCall", - "src": "28735:14:14" + "src": "27128:14:14" }, { "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", "kind": "string", "nodeType": "YulLiteral", - "src": "28751:28:14", + "src": "27144:28:14", "type": "", "value": "Token has already unlocked" } @@ -16716,13 +15907,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "28728:6:14" + "src": "27121:6:14" }, "nodeType": "YulFunctionCall", - "src": "28728:52:14" + "src": "27121:52:14" }, "nodeType": "YulExpressionStatement", - "src": "28728:52:14" + "src": "27121:52:14" } ] }, @@ -16732,31 +15923,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "28709:6:14", + "src": "27102:6:14", "type": "" } ], - "src": "28611:176:14" + "src": "27004:176:14" }, { "body": { "nodeType": "YulBlock", - "src": "28939:220:14", + "src": "27332:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "28949:74:14", + "src": "27342:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29015:3:14" + "src": "27408:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29020:2:14", + "src": "27413:2:14", "type": "", "value": "26" } @@ -16764,16 +15955,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "28956:58:14" + "src": "27349:58:14" }, "nodeType": "YulFunctionCall", - "src": "28956:67:14" + "src": "27349:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "28949:3:14" + "src": "27342:3:14" } ] }, @@ -16783,34 +15974,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29121:3:14" + "src": "27514:3:14" } ], "functionName": { "name": "store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", "nodeType": "YulIdentifier", - "src": "29032:88:14" + "src": "27425:88:14" }, "nodeType": "YulFunctionCall", - "src": "29032:93:14" + "src": "27425:93:14" }, "nodeType": "YulExpressionStatement", - "src": "29032:93:14" + "src": "27425:93:14" }, { "nodeType": "YulAssignment", - "src": "29134:19:14", + "src": "27527:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29145:3:14" + "src": "27538:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29150:2:14", + "src": "27543:2:14", "type": "", "value": "32" } @@ -16818,16 +16009,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29141:3:14" + "src": "27534:3:14" }, "nodeType": "YulFunctionCall", - "src": "29141:12:14" + "src": "27534:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "29134:3:14" + "src": "27527:3:14" } ] } @@ -16839,7 +16030,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "28927:3:14", + "src": "27320:3:14", "type": "" } ], @@ -16847,31 +16038,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "28935:3:14", + "src": "27328:3:14", "type": "" } ], - "src": "28793:366:14" + "src": "27186:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "29336:248:14", + "src": "27729:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "29346:26:14", + "src": "27739:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29358:9:14" + "src": "27751:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29369:2:14", + "src": "27762:2:14", "type": "", "value": "32" } @@ -16879,16 +16070,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29354:3:14" + "src": "27747:3:14" }, "nodeType": "YulFunctionCall", - "src": "29354:18:14" + "src": "27747:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29346:4:14" + "src": "27739:4:14" } ] }, @@ -16900,12 +16091,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29393:9:14" + "src": "27786:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29404:1:14", + "src": "27797:1:14", "type": "", "value": "0" } @@ -16913,68 +16104,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29389:3:14" + "src": "27782:3:14" }, "nodeType": "YulFunctionCall", - "src": "29389:17:14" + "src": "27782:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29412:4:14" + "src": "27805:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "29418:9:14" + "src": "27811:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "29408:3:14" + "src": "27801:3:14" }, "nodeType": "YulFunctionCall", - "src": "29408:20:14" + "src": "27801:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29382:6:14" + "src": "27775:6:14" }, "nodeType": "YulFunctionCall", - "src": "29382:47:14" + "src": "27775:47:14" }, "nodeType": "YulExpressionStatement", - "src": "29382:47:14" + "src": "27775:47:14" }, { "nodeType": "YulAssignment", - "src": "29438:139:14", + "src": "27831:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29572:4:14" + "src": "27965:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "29446:124:14" + "src": "27839:124:14" }, "nodeType": "YulFunctionCall", - "src": "29446:131:14" + "src": "27839:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "29438:4:14" + "src": "27831:4:14" } ] } @@ -16986,7 +16177,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "29316:9:14", + "src": "27709:9:14", "type": "" } ], @@ -16994,16 +16185,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "29331:4:14", + "src": "27724:4:14", "type": "" } ], - "src": "29165:419:14" + "src": "27558:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "29696:122:14", + "src": "28089:122:14", "statements": [ { "expression": { @@ -17013,12 +16204,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "29718:6:14" + "src": "28111:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29726:1:14", + "src": "28119:1:14", "type": "", "value": "0" } @@ -17026,16 +16217,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29714:3:14" + "src": "28107:3:14" }, "nodeType": "YulFunctionCall", - "src": "29714:14:14" + "src": "28107:14:14" }, { "hexValue": "4552433732313a206f776e657220717565727920666f72206e6f6e6578697374", "kind": "string", "nodeType": "YulLiteral", - "src": "29730:34:14", + "src": "28123:34:14", "type": "", "value": "ERC721: owner query for nonexist" } @@ -17043,13 +16234,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29707:6:14" + "src": "28100:6:14" }, "nodeType": "YulFunctionCall", - "src": "29707:58:14" + "src": "28100:58:14" }, "nodeType": "YulExpressionStatement", - "src": "29707:58:14" + "src": "28100:58:14" }, { "expression": { @@ -17059,12 +16250,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "29786:6:14" + "src": "28179:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "29794:2:14", + "src": "28187:2:14", "type": "", "value": "32" } @@ -17072,16 +16263,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "29782:3:14" + "src": "28175:3:14" }, "nodeType": "YulFunctionCall", - "src": "29782:15:14" + "src": "28175:15:14" }, { "hexValue": "656e7420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "29799:11:14", + "src": "28192:11:14", "type": "", "value": "ent token" } @@ -17089,13 +16280,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "29775:6:14" + "src": "28168:6:14" }, "nodeType": "YulFunctionCall", - "src": "29775:36:14" + "src": "28168:36:14" }, "nodeType": "YulExpressionStatement", - "src": "29775:36:14" + "src": "28168:36:14" } ] }, @@ -17105,31 +16296,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "29688:6:14", + "src": "28081:6:14", "type": "" } ], - "src": "29590:228:14" + "src": "27983:228:14" }, { "body": { "nodeType": "YulBlock", - "src": "29970:220:14", + "src": "28363:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "29980:74:14", + "src": "28373:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30046:3:14" + "src": "28439:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30051:2:14", + "src": "28444:2:14", "type": "", "value": "41" } @@ -17137,16 +16328,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "29987:58:14" + "src": "28380:58:14" }, "nodeType": "YulFunctionCall", - "src": "29987:67:14" + "src": "28380:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "29980:3:14" + "src": "28373:3:14" } ] }, @@ -17156,34 +16347,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30152:3:14" + "src": "28545:3:14" } ], "functionName": { "name": "store_literal_in_memory_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397", "nodeType": "YulIdentifier", - "src": "30063:88:14" + "src": "28456:88:14" }, "nodeType": "YulFunctionCall", - "src": "30063:93:14" + "src": "28456:93:14" }, "nodeType": "YulExpressionStatement", - "src": "30063:93:14" + "src": "28456:93:14" }, { "nodeType": "YulAssignment", - "src": "30165:19:14", + "src": "28558:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "30176:3:14" + "src": "28569:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30181:2:14", + "src": "28574:2:14", "type": "", "value": "64" } @@ -17191,16 +16382,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30172:3:14" + "src": "28565:3:14" }, "nodeType": "YulFunctionCall", - "src": "30172:12:14" + "src": "28565:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "30165:3:14" + "src": "28558:3:14" } ] } @@ -17212,7 +16403,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "29958:3:14", + "src": "28351:3:14", "type": "" } ], @@ -17220,31 +16411,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "29966:3:14", + "src": "28359:3:14", "type": "" } ], - "src": "29824:366:14" + "src": "28217:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "30367:248:14", + "src": "28760:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "30377:26:14", + "src": "28770:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30389:9:14" + "src": "28782:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30400:2:14", + "src": "28793:2:14", "type": "", "value": "32" } @@ -17252,16 +16443,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30385:3:14" + "src": "28778:3:14" }, "nodeType": "YulFunctionCall", - "src": "30385:18:14" + "src": "28778:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30377:4:14" + "src": "28770:4:14" } ] }, @@ -17273,12 +16464,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30424:9:14" + "src": "28817:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30435:1:14", + "src": "28828:1:14", "type": "", "value": "0" } @@ -17286,68 +16477,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30420:3:14" + "src": "28813:3:14" }, "nodeType": "YulFunctionCall", - "src": "30420:17:14" + "src": "28813:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30443:4:14" + "src": "28836:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "30449:9:14" + "src": "28842:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "30439:3:14" + "src": "28832:3:14" }, "nodeType": "YulFunctionCall", - "src": "30439:20:14" + "src": "28832:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "30413:6:14" + "src": "28806:6:14" }, "nodeType": "YulFunctionCall", - "src": "30413:47:14" + "src": "28806:47:14" }, "nodeType": "YulExpressionStatement", - "src": "30413:47:14" + "src": "28806:47:14" }, { "nodeType": "YulAssignment", - "src": "30469:139:14", + "src": "28862:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30603:4:14" + "src": "28996:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_7481f3df2a424c0755a1ad2356614e9a5a358d461ea2eae1f89cb21cbad00397_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "30477:124:14" + "src": "28870:124:14" }, "nodeType": "YulFunctionCall", - "src": "30477:131:14" + "src": "28870:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "30469:4:14" + "src": "28862:4:14" } ] } @@ -17359,7 +16550,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "30347:9:14", + "src": "28740:9:14", "type": "" } ], @@ -17367,16 +16558,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "30362:4:14", + "src": "28755:4:14", "type": "" } ], - "src": "30196:419:14" + "src": "28589:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "30727:123:14", + "src": "29120:123:14", "statements": [ { "expression": { @@ -17386,12 +16577,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "30749:6:14" + "src": "29142:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30757:1:14", + "src": "29150:1:14", "type": "", "value": "0" } @@ -17399,16 +16590,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30745:3:14" + "src": "29138:3:14" }, "nodeType": "YulFunctionCall", - "src": "30745:14:14" + "src": "29138:14:14" }, { "hexValue": "4552433732313a2062616c616e636520717565727920666f7220746865207a65", "kind": "string", "nodeType": "YulLiteral", - "src": "30761:34:14", + "src": "29154:34:14", "type": "", "value": "ERC721: balance query for the ze" } @@ -17416,13 +16607,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "30738:6:14" + "src": "29131:6:14" }, "nodeType": "YulFunctionCall", - "src": "30738:58:14" + "src": "29131:58:14" }, "nodeType": "YulExpressionStatement", - "src": "30738:58:14" + "src": "29131:58:14" }, { "expression": { @@ -17432,12 +16623,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "30817:6:14" + "src": "29210:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "30825:2:14", + "src": "29218:2:14", "type": "", "value": "32" } @@ -17445,16 +16636,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "30813:3:14" + "src": "29206:3:14" }, "nodeType": "YulFunctionCall", - "src": "30813:15:14" + "src": "29206:15:14" }, { "hexValue": "726f2061646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "30830:12:14", + "src": "29223:12:14", "type": "", "value": "ro address" } @@ -17462,13 +16653,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "30806:6:14" + "src": "29199:6:14" }, "nodeType": "YulFunctionCall", - "src": "30806:37:14" + "src": "29199:37:14" }, "nodeType": "YulExpressionStatement", - "src": "30806:37:14" + "src": "29199:37:14" } ] }, @@ -17478,31 +16669,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "30719:6:14", + "src": "29112:6:14", "type": "" } ], - "src": "30621:229:14" + "src": "29014:229:14" }, { "body": { "nodeType": "YulBlock", - "src": "31002:220:14", + "src": "29395:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "31012:74:14", + "src": "29405:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31078:3:14" + "src": "29471:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31083:2:14", + "src": "29476:2:14", "type": "", "value": "42" } @@ -17510,16 +16701,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "31019:58:14" + "src": "29412:58:14" }, "nodeType": "YulFunctionCall", - "src": "31019:67:14" + "src": "29412:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31012:3:14" + "src": "29405:3:14" } ] }, @@ -17529,34 +16720,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31184:3:14" + "src": "29577:3:14" } ], "functionName": { "name": "store_literal_in_memory_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba", "nodeType": "YulIdentifier", - "src": "31095:88:14" + "src": "29488:88:14" }, "nodeType": "YulFunctionCall", - "src": "31095:93:14" + "src": "29488:93:14" }, "nodeType": "YulExpressionStatement", - "src": "31095:93:14" + "src": "29488:93:14" }, { "nodeType": "YulAssignment", - "src": "31197:19:14", + "src": "29590:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31208:3:14" + "src": "29601:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31213:2:14", + "src": "29606:2:14", "type": "", "value": "64" } @@ -17564,16 +16755,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31204:3:14" + "src": "29597:3:14" }, "nodeType": "YulFunctionCall", - "src": "31204:12:14" + "src": "29597:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "31197:3:14" + "src": "29590:3:14" } ] } @@ -17585,7 +16776,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "30990:3:14", + "src": "29383:3:14", "type": "" } ], @@ -17593,31 +16784,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "30998:3:14", + "src": "29391:3:14", "type": "" } ], - "src": "30856:366:14" + "src": "29249:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "31399:248:14", + "src": "29792:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "31409:26:14", + "src": "29802:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31421:9:14" + "src": "29814:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31432:2:14", + "src": "29825:2:14", "type": "", "value": "32" } @@ -17625,16 +16816,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31417:3:14" + "src": "29810:3:14" }, "nodeType": "YulFunctionCall", - "src": "31417:18:14" + "src": "29810:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31409:4:14" + "src": "29802:4:14" } ] }, @@ -17646,12 +16837,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31456:9:14" + "src": "29849:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31467:1:14", + "src": "29860:1:14", "type": "", "value": "0" } @@ -17659,68 +16850,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31452:3:14" + "src": "29845:3:14" }, "nodeType": "YulFunctionCall", - "src": "31452:17:14" + "src": "29845:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31475:4:14" + "src": "29868:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "31481:9:14" + "src": "29874:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "31471:3:14" + "src": "29864:3:14" }, "nodeType": "YulFunctionCall", - "src": "31471:20:14" + "src": "29864:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "31445:6:14" + "src": "29838:6:14" }, "nodeType": "YulFunctionCall", - "src": "31445:47:14" + "src": "29838:47:14" }, "nodeType": "YulExpressionStatement", - "src": "31445:47:14" + "src": "29838:47:14" }, { "nodeType": "YulAssignment", - "src": "31501:139:14", + "src": "29894:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31635:4:14" + "src": "30028:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_7395d4d3901c50cdfcab223d072f9aa36241df5d883e62cbf147ee1b05a9e6ba_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "31509:124:14" + "src": "29902:124:14" }, "nodeType": "YulFunctionCall", - "src": "31509:131:14" + "src": "29902:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "31501:4:14" + "src": "29894:4:14" } ] } @@ -17732,7 +16923,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "31379:9:14", + "src": "29772:9:14", "type": "" } ], @@ -17740,16 +16931,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "31394:4:14", + "src": "29787:4:14", "type": "" } ], - "src": "31228:419:14" + "src": "29621:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "31759:62:14", + "src": "30152:62:14", "statements": [ { "expression": { @@ -17759,12 +16950,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "31781:6:14" + "src": "30174:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "31789:1:14", + "src": "30182:1:14", "type": "", "value": "0" } @@ -17772,16 +16963,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "31777:3:14" + "src": "30170:3:14" }, "nodeType": "YulFunctionCall", - "src": "31777:14:14" + "src": "30170:14:14" }, { "hexValue": "546f6b656e4964206e6f7420657869737473", "kind": "string", "nodeType": "YulLiteral", - "src": "31793:20:14", + "src": "30186:20:14", "type": "", "value": "TokenId not exists" } @@ -17789,13 +16980,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "31770:6:14" + "src": "30163:6:14" }, "nodeType": "YulFunctionCall", - "src": "31770:44:14" + "src": "30163:44:14" }, "nodeType": "YulExpressionStatement", - "src": "31770:44:14" + "src": "30163:44:14" } ] }, @@ -17805,31 +16996,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "31751:6:14", + "src": "30144:6:14", "type": "" } ], - "src": "31653:168:14" + "src": "30046:168:14" }, { "body": { "nodeType": "YulBlock", - "src": "31973:220:14", + "src": "30366:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "31983:74:14", + "src": "30376:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32049:3:14" + "src": "30442:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32054:2:14", + "src": "30447:2:14", "type": "", "value": "18" } @@ -17837,16 +17028,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "31990:58:14" + "src": "30383:58:14" }, "nodeType": "YulFunctionCall", - "src": "31990:67:14" + "src": "30383:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "31983:3:14" + "src": "30376:3:14" } ] }, @@ -17856,34 +17047,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32155:3:14" + "src": "30548:3:14" } ], "functionName": { "name": "store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f", "nodeType": "YulIdentifier", - "src": "32066:88:14" + "src": "30459:88:14" }, "nodeType": "YulFunctionCall", - "src": "32066:93:14" + "src": "30459:93:14" }, "nodeType": "YulExpressionStatement", - "src": "32066:93:14" + "src": "30459:93:14" }, { "nodeType": "YulAssignment", - "src": "32168:19:14", + "src": "30561:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32179:3:14" + "src": "30572:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32184:2:14", + "src": "30577:2:14", "type": "", "value": "32" } @@ -17891,16 +17082,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32175:3:14" + "src": "30568:3:14" }, "nodeType": "YulFunctionCall", - "src": "32175:12:14" + "src": "30568:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "32168:3:14" + "src": "30561:3:14" } ] } @@ -17912,7 +17103,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "31961:3:14", + "src": "30354:3:14", "type": "" } ], @@ -17920,31 +17111,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "31969:3:14", + "src": "30362:3:14", "type": "" } ], - "src": "31827:366:14" + "src": "30220:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "32370:248:14", + "src": "30763:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "32380:26:14", + "src": "30773:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32392:9:14" + "src": "30785:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32403:2:14", + "src": "30796:2:14", "type": "", "value": "32" } @@ -17952,16 +17143,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32388:3:14" + "src": "30781:3:14" }, "nodeType": "YulFunctionCall", - "src": "32388:18:14" + "src": "30781:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32380:4:14" + "src": "30773:4:14" } ] }, @@ -17973,12 +17164,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32427:9:14" + "src": "30820:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32438:1:14", + "src": "30831:1:14", "type": "", "value": "0" } @@ -17986,68 +17177,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32423:3:14" + "src": "30816:3:14" }, "nodeType": "YulFunctionCall", - "src": "32423:17:14" + "src": "30816:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32446:4:14" + "src": "30839:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "32452:9:14" + "src": "30845:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "32442:3:14" + "src": "30835:3:14" }, "nodeType": "YulFunctionCall", - "src": "32442:20:14" + "src": "30835:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32416:6:14" + "src": "30809:6:14" }, "nodeType": "YulFunctionCall", - "src": "32416:47:14" + "src": "30809:47:14" }, "nodeType": "YulExpressionStatement", - "src": "32416:47:14" + "src": "30809:47:14" }, { "nodeType": "YulAssignment", - "src": "32472:139:14", + "src": "30865:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32606:4:14" + "src": "30999:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "32480:124:14" + "src": "30873:124:14" }, "nodeType": "YulFunctionCall", - "src": "32480:131:14" + "src": "30873:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "32472:4:14" + "src": "30865:4:14" } ] } @@ -18059,7 +17250,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "32350:9:14", + "src": "30743:9:14", "type": "" } ], @@ -18067,16 +17258,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "32365:4:14", + "src": "30758:4:14", "type": "" } ], - "src": "32199:419:14" + "src": "30592:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "32730:69:14", + "src": "31123:69:14", "statements": [ { "expression": { @@ -18086,12 +17277,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "32752:6:14" + "src": "31145:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "32760:1:14", + "src": "31153:1:14", "type": "", "value": "0" } @@ -18099,16 +17290,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "32748:3:14" + "src": "31141:3:14" }, "nodeType": "YulFunctionCall", - "src": "32748:14:14" + "src": "31141:14:14" }, { "hexValue": "43616e206e6f74206275726e206c6f636b656420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "32764:27:14", + "src": "31157:27:14", "type": "", "value": "Can not burn locked token" } @@ -18116,13 +17307,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "32741:6:14" + "src": "31134:6:14" }, "nodeType": "YulFunctionCall", - "src": "32741:51:14" + "src": "31134:51:14" }, "nodeType": "YulExpressionStatement", - "src": "32741:51:14" + "src": "31134:51:14" } ] }, @@ -18132,31 +17323,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "32722:6:14", + "src": "31115:6:14", "type": "" } ], - "src": "32624:175:14" + "src": "31017:175:14" }, { "body": { "nodeType": "YulBlock", - "src": "32951:220:14", + "src": "31344:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "32961:74:14", + "src": "31354:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33027:3:14" + "src": "31420:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33032:2:14", + "src": "31425:2:14", "type": "", "value": "25" } @@ -18164,16 +17355,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "32968:58:14" + "src": "31361:58:14" }, "nodeType": "YulFunctionCall", - "src": "32968:67:14" + "src": "31361:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "32961:3:14" + "src": "31354:3:14" } ] }, @@ -18183,34 +17374,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33133:3:14" + "src": "31526:3:14" } ], "functionName": { "name": "store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573", "nodeType": "YulIdentifier", - "src": "33044:88:14" + "src": "31437:88:14" }, "nodeType": "YulFunctionCall", - "src": "33044:93:14" + "src": "31437:93:14" }, "nodeType": "YulExpressionStatement", - "src": "33044:93:14" + "src": "31437:93:14" }, { "nodeType": "YulAssignment", - "src": "33146:19:14", + "src": "31539:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33157:3:14" + "src": "31550:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33162:2:14", + "src": "31555:2:14", "type": "", "value": "32" } @@ -18218,16 +17409,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33153:3:14" + "src": "31546:3:14" }, "nodeType": "YulFunctionCall", - "src": "33153:12:14" + "src": "31546:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "33146:3:14" + "src": "31539:3:14" } ] } @@ -18239,7 +17430,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "32939:3:14", + "src": "31332:3:14", "type": "" } ], @@ -18247,31 +17438,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "32947:3:14", + "src": "31340:3:14", "type": "" } ], - "src": "32805:366:14" + "src": "31198:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "33348:248:14", + "src": "31741:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "33358:26:14", + "src": "31751:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33370:9:14" + "src": "31763:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33381:2:14", + "src": "31774:2:14", "type": "", "value": "32" } @@ -18279,16 +17470,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33366:3:14" + "src": "31759:3:14" }, "nodeType": "YulFunctionCall", - "src": "33366:18:14" + "src": "31759:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33358:4:14" + "src": "31751:4:14" } ] }, @@ -18300,12 +17491,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33405:9:14" + "src": "31798:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33416:1:14", + "src": "31809:1:14", "type": "", "value": "0" } @@ -18313,68 +17504,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33401:3:14" + "src": "31794:3:14" }, "nodeType": "YulFunctionCall", - "src": "33401:17:14" + "src": "31794:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33424:4:14" + "src": "31817:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "33430:9:14" + "src": "31823:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "33420:3:14" + "src": "31813:3:14" }, "nodeType": "YulFunctionCall", - "src": "33420:20:14" + "src": "31813:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33394:6:14" + "src": "31787:6:14" }, "nodeType": "YulFunctionCall", - "src": "33394:47:14" + "src": "31787:47:14" }, "nodeType": "YulExpressionStatement", - "src": "33394:47:14" + "src": "31787:47:14" }, { "nodeType": "YulAssignment", - "src": "33450:139:14", + "src": "31843:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33584:4:14" + "src": "31977:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "33458:124:14" + "src": "31851:124:14" }, "nodeType": "YulFunctionCall", - "src": "33458:131:14" + "src": "31851:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "33450:4:14" + "src": "31843:4:14" } ] } @@ -18386,7 +17577,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "33328:9:14", + "src": "31721:9:14", "type": "" } ], @@ -18394,16 +17585,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "33343:4:14", + "src": "31736:4:14", "type": "" } ], - "src": "33177:419:14" + "src": "31570:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "33708:126:14", + "src": "32101:126:14", "statements": [ { "expression": { @@ -18413,12 +17604,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33730:6:14" + "src": "32123:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33738:1:14", + "src": "32131:1:14", "type": "", "value": "0" } @@ -18426,16 +17617,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33726:3:14" + "src": "32119:3:14" }, "nodeType": "YulFunctionCall", - "src": "33726:14:14" + "src": "32119:14:14" }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f6620", "kind": "string", "nodeType": "YulLiteral", - "src": "33742:34:14", + "src": "32135:34:14", "type": "", "value": "current address is not owner of " } @@ -18443,13 +17634,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33719:6:14" + "src": "32112:6:14" }, "nodeType": "YulFunctionCall", - "src": "33719:58:14" + "src": "32112:58:14" }, "nodeType": "YulExpressionStatement", - "src": "33719:58:14" + "src": "32112:58:14" }, { "expression": { @@ -18459,12 +17650,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "33798:6:14" + "src": "32191:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "33806:2:14", + "src": "32199:2:14", "type": "", "value": "32" } @@ -18472,16 +17663,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "33794:3:14" + "src": "32187:3:14" }, "nodeType": "YulFunctionCall", - "src": "33794:15:14" + "src": "32187:15:14" }, { "hexValue": "74686973206974656d206e6f77", "kind": "string", "nodeType": "YulLiteral", - "src": "33811:15:14", + "src": "32204:15:14", "type": "", "value": "this item now" } @@ -18489,13 +17680,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "33787:6:14" + "src": "32180:6:14" }, "nodeType": "YulFunctionCall", - "src": "33787:40:14" + "src": "32180:40:14" }, "nodeType": "YulExpressionStatement", - "src": "33787:40:14" + "src": "32180:40:14" } ] }, @@ -18505,31 +17696,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "33700:6:14", + "src": "32093:6:14", "type": "" } ], - "src": "33602:232:14" + "src": "31995:232:14" }, { "body": { "nodeType": "YulBlock", - "src": "33986:220:14", + "src": "32379:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "33996:74:14", + "src": "32389:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34062:3:14" + "src": "32455:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34067:2:14", + "src": "32460:2:14", "type": "", "value": "45" } @@ -18537,16 +17728,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "34003:58:14" + "src": "32396:58:14" }, "nodeType": "YulFunctionCall", - "src": "34003:67:14" + "src": "32396:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "33996:3:14" + "src": "32389:3:14" } ] }, @@ -18556,34 +17747,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34168:3:14" + "src": "32561:3:14" } ], "functionName": { "name": "store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef", "nodeType": "YulIdentifier", - "src": "34079:88:14" + "src": "32472:88:14" }, "nodeType": "YulFunctionCall", - "src": "34079:93:14" + "src": "32472:93:14" }, "nodeType": "YulExpressionStatement", - "src": "34079:93:14" + "src": "32472:93:14" }, { "nodeType": "YulAssignment", - "src": "34181:19:14", + "src": "32574:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "34192:3:14" + "src": "32585:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34197:2:14", + "src": "32590:2:14", "type": "", "value": "64" } @@ -18591,16 +17782,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34188:3:14" + "src": "32581:3:14" }, "nodeType": "YulFunctionCall", - "src": "34188:12:14" + "src": "32581:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "34181:3:14" + "src": "32574:3:14" } ] } @@ -18612,7 +17803,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "33974:3:14", + "src": "32367:3:14", "type": "" } ], @@ -18620,31 +17811,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "33982:3:14", + "src": "32375:3:14", "type": "" } ], - "src": "33840:366:14" + "src": "32233:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "34383:248:14", + "src": "32776:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "34393:26:14", + "src": "32786:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34405:9:14" + "src": "32798:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34416:2:14", + "src": "32809:2:14", "type": "", "value": "32" } @@ -18652,16 +17843,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34401:3:14" + "src": "32794:3:14" }, "nodeType": "YulFunctionCall", - "src": "34401:18:14" + "src": "32794:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34393:4:14" + "src": "32786:4:14" } ] }, @@ -18673,12 +17864,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34440:9:14" + "src": "32833:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34451:1:14", + "src": "32844:1:14", "type": "", "value": "0" } @@ -18686,68 +17877,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34436:3:14" + "src": "32829:3:14" }, "nodeType": "YulFunctionCall", - "src": "34436:17:14" + "src": "32829:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34459:4:14" + "src": "32852:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "34465:9:14" + "src": "32858:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "34455:3:14" + "src": "32848:3:14" }, "nodeType": "YulFunctionCall", - "src": "34455:20:14" + "src": "32848:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "34429:6:14" + "src": "32822:6:14" }, "nodeType": "YulFunctionCall", - "src": "34429:47:14" + "src": "32822:47:14" }, "nodeType": "YulExpressionStatement", - "src": "34429:47:14" + "src": "32822:47:14" }, { "nodeType": "YulAssignment", - "src": "34485:139:14", + "src": "32878:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34619:4:14" + "src": "33012:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "34493:124:14" + "src": "32886:124:14" }, "nodeType": "YulFunctionCall", - "src": "34493:131:14" + "src": "32886:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "34485:4:14" + "src": "32878:4:14" } ] } @@ -18759,7 +17950,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "34363:9:14", + "src": "32756:9:14", "type": "" } ], @@ -18767,16 +17958,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "34378:4:14", + "src": "32771:4:14", "type": "" } ], - "src": "34212:419:14" + "src": "32605:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "34743:128:14", + "src": "33136:68:14", "statements": [ { "expression": { @@ -18786,12 +17977,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "34765:6:14" + "src": "33158:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "34773:1:14", + "src": "33166:1:14", "type": "", "value": "0" } @@ -18799,730 +17990,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "34761:3:14" + "src": "33154:3:14" }, "nodeType": "YulFunctionCall", - "src": "34761:14:14" - }, - { - "hexValue": "4552433732314d657461646174613a2055524920717565727920666f72206e6f", - "kind": "string", - "nodeType": "YulLiteral", - "src": "34777:34:14", - "type": "", - "value": "ERC721Metadata: URI query for no" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "34754:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "34754:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "34754:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "34833:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "34841:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "34829:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "34829:15:14" - }, - { - "hexValue": "6e6578697374656e7420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "34846:17:14", - "type": "", - "value": "nexistent token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "34822:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "34822:42:14" - }, - "nodeType": "YulExpressionStatement", - "src": "34822:42:14" - } - ] - }, - "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "34735:6:14", - "type": "" - } - ], - "src": "34637:234:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35023:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "35033:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35099:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35104:2:14", - "type": "", - "value": "47" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "35040:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "35040:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35033:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35205:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb", - "nodeType": "YulIdentifier", - "src": "35116:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "35116:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "35116:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "35218:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35229:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35234:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35225:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "35225:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "35218:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "35011:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "35019:3:14", - "type": "" - } - ], - "src": "34877:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35420:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "35430:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35442:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35453:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35438:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "35438:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "35430:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35477:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "35488:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "35473:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "35473:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "35496:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "35502:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "35492:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "35492:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "35466:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "35466:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "35466:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "35522:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "35656:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "35530:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "35530:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "35522:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "35400:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "35415:4:14", - "type": "" - } - ], - "src": "35249:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35788:34:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "35798:18:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "35813:3:14" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "35798:11:14" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "35760:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "35765:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "35776:11:14", - "type": "" - } - ], - "src": "35674:148:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "35938:267:14", - "statements": [ - { - "nodeType": "YulVariableDeclaration", - "src": "35948:53:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "35995:5:14" - } - ], - "functionName": { - "name": "array_length_t_string_memory_ptr", - "nodeType": "YulIdentifier", - "src": "35962:32:14" - }, - "nodeType": "YulFunctionCall", - "src": "35962:39:14" - }, - "variables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "35952:6:14", - "type": "" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36010:96:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36094:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "36099:6:14" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36017:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "36017:89:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36010:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "36141:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36148:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36137:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "36137:16:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36155:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "36160:6:14" - } - ], - "functionName": { - "name": "copy_memory_to_memory", - "nodeType": "YulIdentifier", - "src": "36115:21:14" - }, - "nodeType": "YulFunctionCall", - "src": "36115:52:14" - }, - "nodeType": "YulExpressionStatement", - "src": "36115:52:14" - }, - { - "nodeType": "YulAssignment", - "src": "36176:23:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36187:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "36192:6:14" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36183:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "36183:16:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "36176:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "35919:5:14", - "type": "" - }, - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "35926:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "35934:3:14", - "type": "" - } - ], - "src": "35828:377:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36395:251:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "36406:102:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "36495:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36504:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36413:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "36413:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36406:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36518:102:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "36607:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36616:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "36525:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "36525:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36518:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "36630:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "36637:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "36630:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "36366:3:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "36372:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "36380:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "36391:3:14", - "type": "" - } - ], - "src": "36211:435:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "36758:68:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "36780:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "36788:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "36776:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "36776:14:14" + "src": "33154:14:14" }, { "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", "kind": "string", "nodeType": "YulLiteral", - "src": "36792:26:14", + "src": "33170:26:14", "type": "", "value": "Token has already locked" } @@ -19530,13 +18007,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "36769:6:14" + "src": "33147:6:14" }, "nodeType": "YulFunctionCall", - "src": "36769:50:14" + "src": "33147:50:14" }, "nodeType": "YulExpressionStatement", - "src": "36769:50:14" + "src": "33147:50:14" } ] }, @@ -19546,31 +18023,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "36750:6:14", + "src": "33128:6:14", "type": "" } ], - "src": "36652:174:14" + "src": "33030:174:14" }, { "body": { "nodeType": "YulBlock", - "src": "36978:220:14", + "src": "33356:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "36988:74:14", + "src": "33366:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37054:3:14" + "src": "33432:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37059:2:14", + "src": "33437:2:14", "type": "", "value": "24" } @@ -19578,16 +18055,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "36995:58:14" + "src": "33373:58:14" }, "nodeType": "YulFunctionCall", - "src": "36995:67:14" + "src": "33373:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "36988:3:14" + "src": "33366:3:14" } ] }, @@ -19597,34 +18074,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37160:3:14" + "src": "33538:3:14" } ], "functionName": { "name": "store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", "nodeType": "YulIdentifier", - "src": "37071:88:14" + "src": "33449:88:14" }, "nodeType": "YulFunctionCall", - "src": "37071:93:14" + "src": "33449:93:14" }, "nodeType": "YulExpressionStatement", - "src": "37071:93:14" + "src": "33449:93:14" }, { "nodeType": "YulAssignment", - "src": "37173:19:14", + "src": "33551:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "37184:3:14" + "src": "33562:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37189:2:14", + "src": "33567:2:14", "type": "", "value": "32" } @@ -19632,16 +18109,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37180:3:14" + "src": "33558:3:14" }, "nodeType": "YulFunctionCall", - "src": "37180:12:14" + "src": "33558:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "37173:3:14" + "src": "33551:3:14" } ] } @@ -19653,7 +18130,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "36966:3:14", + "src": "33344:3:14", "type": "" } ], @@ -19661,31 +18138,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "36974:3:14", + "src": "33352:3:14", "type": "" } ], - "src": "36832:366:14" + "src": "33210:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "37375:248:14", + "src": "33753:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "37385:26:14", + "src": "33763:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37397:9:14" + "src": "33775:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37408:2:14", + "src": "33786:2:14", "type": "", "value": "32" } @@ -19693,16 +18170,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37393:3:14" + "src": "33771:3:14" }, "nodeType": "YulFunctionCall", - "src": "37393:18:14" + "src": "33771:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37385:4:14" + "src": "33763:4:14" } ] }, @@ -19714,12 +18191,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37432:9:14" + "src": "33810:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37443:1:14", + "src": "33821:1:14", "type": "", "value": "0" } @@ -19727,68 +18204,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37428:3:14" + "src": "33806:3:14" }, "nodeType": "YulFunctionCall", - "src": "37428:17:14" + "src": "33806:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37451:4:14" + "src": "33829:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "37457:9:14" + "src": "33835:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "37447:3:14" + "src": "33825:3:14" }, "nodeType": "YulFunctionCall", - "src": "37447:20:14" + "src": "33825:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37421:6:14" + "src": "33799:6:14" }, "nodeType": "YulFunctionCall", - "src": "37421:47:14" + "src": "33799:47:14" }, "nodeType": "YulExpressionStatement", - "src": "37421:47:14" + "src": "33799:47:14" }, { "nodeType": "YulAssignment", - "src": "37477:139:14", + "src": "33855:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37611:4:14" + "src": "33989:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "37485:124:14" + "src": "33863:124:14" }, "nodeType": "YulFunctionCall", - "src": "37485:131:14" + "src": "33863:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "37477:4:14" + "src": "33855:4:14" } ] } @@ -19800,7 +18277,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "37355:9:14", + "src": "33733:9:14", "type": "" } ], @@ -19808,16 +18285,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "37370:4:14", + "src": "33748:4:14", "type": "" } ], - "src": "37204:419:14" + "src": "33582:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "37735:125:14", + "src": "34113:125:14", "statements": [ { "expression": { @@ -19827,12 +18304,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "37757:6:14" + "src": "34135:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37765:1:14", + "src": "34143:1:14", "type": "", "value": "0" } @@ -19840,16 +18317,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37753:3:14" + "src": "34131:3:14" }, "nodeType": "YulFunctionCall", - "src": "37753:14:14" + "src": "34131:14:14" }, { "hexValue": "4552433732313a206f70657261746f7220717565727920666f72206e6f6e6578", "kind": "string", "nodeType": "YulLiteral", - "src": "37769:34:14", + "src": "34147:34:14", "type": "", "value": "ERC721: operator query for nonex" } @@ -19857,13 +18334,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37746:6:14" + "src": "34124:6:14" }, "nodeType": "YulFunctionCall", - "src": "37746:58:14" + "src": "34124:58:14" }, "nodeType": "YulExpressionStatement", - "src": "37746:58:14" + "src": "34124:58:14" }, { "expression": { @@ -19873,12 +18350,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "37825:6:14" + "src": "34203:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "37833:2:14", + "src": "34211:2:14", "type": "", "value": "32" } @@ -19886,16 +18363,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "37821:3:14" + "src": "34199:3:14" }, "nodeType": "YulFunctionCall", - "src": "37821:15:14" + "src": "34199:15:14" }, { "hexValue": "697374656e7420746f6b656e", "kind": "string", "nodeType": "YulLiteral", - "src": "37838:14:14", + "src": "34216:14:14", "type": "", "value": "istent token" } @@ -19903,13 +18380,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "37814:6:14" + "src": "34192:6:14" }, "nodeType": "YulFunctionCall", - "src": "37814:39:14" + "src": "34192:39:14" }, "nodeType": "YulExpressionStatement", - "src": "37814:39:14" + "src": "34192:39:14" } ] }, @@ -19919,31 +18396,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "37727:6:14", + "src": "34105:6:14", "type": "" } ], - "src": "37629:231:14" + "src": "34007:231:14" }, { "body": { "nodeType": "YulBlock", - "src": "38012:220:14", + "src": "34390:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "38022:74:14", + "src": "34400:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38088:3:14" + "src": "34466:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38093:2:14", + "src": "34471:2:14", "type": "", "value": "44" } @@ -19951,16 +18428,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "38029:58:14" + "src": "34407:58:14" }, "nodeType": "YulFunctionCall", - "src": "38029:67:14" + "src": "34407:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38022:3:14" + "src": "34400:3:14" } ] }, @@ -19970,34 +18447,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38194:3:14" + "src": "34572:3:14" } ], "functionName": { "name": "store_literal_in_memory_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c", "nodeType": "YulIdentifier", - "src": "38105:88:14" + "src": "34483:88:14" }, "nodeType": "YulFunctionCall", - "src": "38105:93:14" + "src": "34483:93:14" }, "nodeType": "YulExpressionStatement", - "src": "38105:93:14" + "src": "34483:93:14" }, { "nodeType": "YulAssignment", - "src": "38207:19:14", + "src": "34585:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "38218:3:14" + "src": "34596:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38223:2:14", + "src": "34601:2:14", "type": "", "value": "64" } @@ -20005,16 +18482,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38214:3:14" + "src": "34592:3:14" }, "nodeType": "YulFunctionCall", - "src": "38214:12:14" + "src": "34592:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "38207:3:14" + "src": "34585:3:14" } ] } @@ -20026,7 +18503,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "38000:3:14", + "src": "34378:3:14", "type": "" } ], @@ -20034,31 +18511,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "38008:3:14", + "src": "34386:3:14", "type": "" } ], - "src": "37866:366:14" + "src": "34244:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "38409:248:14", + "src": "34787:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "38419:26:14", + "src": "34797:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38431:9:14" + "src": "34809:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38442:2:14", + "src": "34820:2:14", "type": "", "value": "32" } @@ -20066,16 +18543,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38427:3:14" + "src": "34805:3:14" }, "nodeType": "YulFunctionCall", - "src": "38427:18:14" + "src": "34805:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38419:4:14" + "src": "34797:4:14" } ] }, @@ -20087,12 +18564,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38466:9:14" + "src": "34844:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38477:1:14", + "src": "34855:1:14", "type": "", "value": "0" } @@ -20100,68 +18577,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38462:3:14" + "src": "34840:3:14" }, "nodeType": "YulFunctionCall", - "src": "38462:17:14" + "src": "34840:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38485:4:14" + "src": "34863:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "38491:9:14" + "src": "34869:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "38481:3:14" + "src": "34859:3:14" }, "nodeType": "YulFunctionCall", - "src": "38481:20:14" + "src": "34859:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38455:6:14" + "src": "34833:6:14" }, "nodeType": "YulFunctionCall", - "src": "38455:47:14" + "src": "34833:47:14" }, "nodeType": "YulExpressionStatement", - "src": "38455:47:14" + "src": "34833:47:14" }, { "nodeType": "YulAssignment", - "src": "38511:139:14", + "src": "34889:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38645:4:14" + "src": "35023:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_5797d1ccb08b83980dd0c07ea40d8f6a64d35fff736a19bdd17522954cb0899c_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "38519:124:14" + "src": "34897:124:14" }, "nodeType": "YulFunctionCall", - "src": "38519:131:14" + "src": "34897:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "38511:4:14" + "src": "34889:4:14" } ] } @@ -20173,7 +18650,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "38389:9:14", + "src": "34767:9:14", "type": "" } ], @@ -20181,16 +18658,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "38404:4:14", + "src": "34782:4:14", "type": "" } ], - "src": "38238:419:14" + "src": "34616:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "38769:118:14", + "src": "35147:118:14", "statements": [ { "expression": { @@ -20200,12 +18677,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "38791:6:14" + "src": "35169:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38799:1:14", + "src": "35177:1:14", "type": "", "value": "0" } @@ -20213,16 +18690,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38787:3:14" + "src": "35165:3:14" }, "nodeType": "YulFunctionCall", - "src": "38787:14:14" + "src": "35165:14:14" }, { "hexValue": "4552433732313a207472616e736665722066726f6d20696e636f727265637420", "kind": "string", "nodeType": "YulLiteral", - "src": "38803:34:14", + "src": "35181:34:14", "type": "", "value": "ERC721: transfer from incorrect " } @@ -20230,13 +18707,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38780:6:14" + "src": "35158:6:14" }, "nodeType": "YulFunctionCall", - "src": "38780:58:14" + "src": "35158:58:14" }, "nodeType": "YulExpressionStatement", - "src": "38780:58:14" + "src": "35158:58:14" }, { "expression": { @@ -20246,12 +18723,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "38859:6:14" + "src": "35237:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "38867:2:14", + "src": "35245:2:14", "type": "", "value": "32" } @@ -20259,16 +18736,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "38855:3:14" + "src": "35233:3:14" }, "nodeType": "YulFunctionCall", - "src": "38855:15:14" + "src": "35233:15:14" }, { "hexValue": "6f776e6572", "kind": "string", "nodeType": "YulLiteral", - "src": "38872:7:14", + "src": "35250:7:14", "type": "", "value": "owner" } @@ -20276,13 +18753,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "38848:6:14" + "src": "35226:6:14" }, "nodeType": "YulFunctionCall", - "src": "38848:32:14" + "src": "35226:32:14" }, "nodeType": "YulExpressionStatement", - "src": "38848:32:14" + "src": "35226:32:14" } ] }, @@ -20292,31 +18769,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "38761:6:14", + "src": "35139:6:14", "type": "" } ], - "src": "38663:224:14" + "src": "35041:224:14" }, { "body": { "nodeType": "YulBlock", - "src": "39039:220:14", + "src": "35417:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "39049:74:14", + "src": "35427:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39115:3:14" + "src": "35493:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39120:2:14", + "src": "35498:2:14", "type": "", "value": "37" } @@ -20324,16 +18801,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39056:58:14" + "src": "35434:58:14" }, "nodeType": "YulFunctionCall", - "src": "39056:67:14" + "src": "35434:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39049:3:14" + "src": "35427:3:14" } ] }, @@ -20343,34 +18820,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39221:3:14" + "src": "35599:3:14" } ], "functionName": { "name": "store_literal_in_memory_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48", "nodeType": "YulIdentifier", - "src": "39132:88:14" + "src": "35510:88:14" }, "nodeType": "YulFunctionCall", - "src": "39132:93:14" + "src": "35510:93:14" }, "nodeType": "YulExpressionStatement", - "src": "39132:93:14" + "src": "35510:93:14" }, { "nodeType": "YulAssignment", - "src": "39234:19:14", + "src": "35612:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "39245:3:14" + "src": "35623:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39250:2:14", + "src": "35628:2:14", "type": "", "value": "64" } @@ -20378,16 +18855,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39241:3:14" + "src": "35619:3:14" }, "nodeType": "YulFunctionCall", - "src": "39241:12:14" + "src": "35619:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "39234:3:14" + "src": "35612:3:14" } ] } @@ -20399,7 +18876,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "39027:3:14", + "src": "35405:3:14", "type": "" } ], @@ -20407,31 +18884,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "39035:3:14", + "src": "35413:3:14", "type": "" } ], - "src": "38893:366:14" + "src": "35271:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "39436:248:14", + "src": "35814:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "39446:26:14", + "src": "35824:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39458:9:14" + "src": "35836:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39469:2:14", + "src": "35847:2:14", "type": "", "value": "32" } @@ -20439,16 +18916,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39454:3:14" + "src": "35832:3:14" }, "nodeType": "YulFunctionCall", - "src": "39454:18:14" + "src": "35832:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39446:4:14" + "src": "35824:4:14" } ] }, @@ -20460,12 +18937,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39493:9:14" + "src": "35871:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39504:1:14", + "src": "35882:1:14", "type": "", "value": "0" } @@ -20473,68 +18950,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39489:3:14" + "src": "35867:3:14" }, "nodeType": "YulFunctionCall", - "src": "39489:17:14" + "src": "35867:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39512:4:14" + "src": "35890:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "39518:9:14" + "src": "35896:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "39508:3:14" + "src": "35886:3:14" }, "nodeType": "YulFunctionCall", - "src": "39508:20:14" + "src": "35886:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39482:6:14" + "src": "35860:6:14" }, "nodeType": "YulFunctionCall", - "src": "39482:47:14" + "src": "35860:47:14" }, "nodeType": "YulExpressionStatement", - "src": "39482:47:14" + "src": "35860:47:14" }, { "nodeType": "YulAssignment", - "src": "39538:139:14", + "src": "35916:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39672:4:14" + "src": "36050:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_277f8ee9d5b4fc3c4149386f24de0fc1bbc63a8210e2197bfd1c0376a2ac5f48_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "39546:124:14" + "src": "35924:124:14" }, "nodeType": "YulFunctionCall", - "src": "39546:131:14" + "src": "35924:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "39538:4:14" + "src": "35916:4:14" } ] } @@ -20546,7 +19023,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "39416:9:14", + "src": "35794:9:14", "type": "" } ], @@ -20554,16 +19031,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "39431:4:14", + "src": "35809:4:14", "type": "" } ], - "src": "39265:419:14" + "src": "35643:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "39796:117:14", + "src": "36174:117:14", "statements": [ { "expression": { @@ -20573,12 +19050,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "39818:6:14" + "src": "36196:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39826:1:14", + "src": "36204:1:14", "type": "", "value": "0" } @@ -20586,16 +19063,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39814:3:14" + "src": "36192:3:14" }, "nodeType": "YulFunctionCall", - "src": "39814:14:14" + "src": "36192:14:14" }, { "hexValue": "4552433732313a207472616e7366657220746f20746865207a65726f20616464", "kind": "string", "nodeType": "YulLiteral", - "src": "39830:34:14", + "src": "36208:34:14", "type": "", "value": "ERC721: transfer to the zero add" } @@ -20603,13 +19080,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39807:6:14" + "src": "36185:6:14" }, "nodeType": "YulFunctionCall", - "src": "39807:58:14" + "src": "36185:58:14" }, "nodeType": "YulExpressionStatement", - "src": "39807:58:14" + "src": "36185:58:14" }, { "expression": { @@ -20619,12 +19096,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "39886:6:14" + "src": "36264:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "39894:2:14", + "src": "36272:2:14", "type": "", "value": "32" } @@ -20632,16 +19109,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "39882:3:14" + "src": "36260:3:14" }, "nodeType": "YulFunctionCall", - "src": "39882:15:14" + "src": "36260:15:14" }, { "hexValue": "72657373", "kind": "string", "nodeType": "YulLiteral", - "src": "39899:6:14", + "src": "36277:6:14", "type": "", "value": "ress" } @@ -20649,13 +19126,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "39875:6:14" + "src": "36253:6:14" }, "nodeType": "YulFunctionCall", - "src": "39875:31:14" + "src": "36253:31:14" }, "nodeType": "YulExpressionStatement", - "src": "39875:31:14" + "src": "36253:31:14" } ] }, @@ -20665,31 +19142,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "39788:6:14", + "src": "36166:6:14", "type": "" } ], - "src": "39690:223:14" + "src": "36068:223:14" }, { "body": { "nodeType": "YulBlock", - "src": "40065:220:14", + "src": "36443:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "40075:74:14", + "src": "36453:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40141:3:14" + "src": "36519:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40146:2:14", + "src": "36524:2:14", "type": "", "value": "36" } @@ -20697,16 +19174,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40082:58:14" + "src": "36460:58:14" }, "nodeType": "YulFunctionCall", - "src": "40082:67:14" + "src": "36460:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40075:3:14" + "src": "36453:3:14" } ] }, @@ -20716,34 +19193,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40247:3:14" + "src": "36625:3:14" } ], "functionName": { "name": "store_literal_in_memory_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4", "nodeType": "YulIdentifier", - "src": "40158:88:14" + "src": "36536:88:14" }, "nodeType": "YulFunctionCall", - "src": "40158:93:14" + "src": "36536:93:14" }, "nodeType": "YulExpressionStatement", - "src": "40158:93:14" + "src": "36536:93:14" }, { "nodeType": "YulAssignment", - "src": "40260:19:14", + "src": "36638:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "40271:3:14" + "src": "36649:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40276:2:14", + "src": "36654:2:14", "type": "", "value": "64" } @@ -20751,16 +19228,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40267:3:14" + "src": "36645:3:14" }, "nodeType": "YulFunctionCall", - "src": "40267:12:14" + "src": "36645:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "40260:3:14" + "src": "36638:3:14" } ] } @@ -20772,7 +19249,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "40053:3:14", + "src": "36431:3:14", "type": "" } ], @@ -20780,31 +19257,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "40061:3:14", + "src": "36439:3:14", "type": "" } ], - "src": "39919:366:14" + "src": "36297:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "40462:248:14", + "src": "36840:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "40472:26:14", + "src": "36850:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40484:9:14" + "src": "36862:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40495:2:14", + "src": "36873:2:14", "type": "", "value": "32" } @@ -20812,16 +19289,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40480:3:14" + "src": "36858:3:14" }, "nodeType": "YulFunctionCall", - "src": "40480:18:14" + "src": "36858:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40472:4:14" + "src": "36850:4:14" } ] }, @@ -20833,12 +19310,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40519:9:14" + "src": "36897:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "40530:1:14", + "src": "36908:1:14", "type": "", "value": "0" } @@ -20846,68 +19323,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "40515:3:14" + "src": "36893:3:14" }, "nodeType": "YulFunctionCall", - "src": "40515:17:14" + "src": "36893:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40538:4:14" + "src": "36916:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "40544:9:14" + "src": "36922:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "40534:3:14" + "src": "36912:3:14" }, "nodeType": "YulFunctionCall", - "src": "40534:20:14" + "src": "36912:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "40508:6:14" + "src": "36886:6:14" }, "nodeType": "YulFunctionCall", - "src": "40508:47:14" + "src": "36886:47:14" }, "nodeType": "YulExpressionStatement", - "src": "40508:47:14" + "src": "36886:47:14" }, { "nodeType": "YulAssignment", - "src": "40564:139:14", + "src": "36942:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40698:4:14" + "src": "37076:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_455fea98ea03c32d7dd1a6f1426917d80529bf47b3ccbde74e7206e889e709f4_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "40572:124:14" + "src": "36950:124:14" }, "nodeType": "YulFunctionCall", - "src": "40572:131:14" + "src": "36950:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "40564:4:14" + "src": "36942:4:14" } ] } @@ -20919,7 +19396,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "40442:9:14", + "src": "36820:9:14", "type": "" } ], @@ -20927,75 +19404,75 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "40457:4:14", + "src": "36835:4:14", "type": "" } ], - "src": "40291:419:14" + "src": "36669:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "40761:146:14", + "src": "37139:146:14", "statements": [ { "nodeType": "YulAssignment", - "src": "40771:25:14", + "src": "37149:25:14", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "40794:1:14" + "src": "37172:1:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "40776:17:14" + "src": "37154:17:14" }, "nodeType": "YulFunctionCall", - "src": "40776:20:14" + "src": "37154:20:14" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "40771:1:14" + "src": "37149:1:14" } ] }, { "nodeType": "YulAssignment", - "src": "40805:25:14", + "src": "37183:25:14", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "40828:1:14" + "src": "37206:1:14" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "40810:17:14" + "src": "37188:17:14" }, "nodeType": "YulFunctionCall", - "src": "40810:20:14" + "src": "37188:20:14" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "40805:1:14" + "src": "37183:1:14" } ] }, { "body": { "nodeType": "YulBlock", - "src": "40852:22:14", + "src": "37230:22:14", "statements": [ { "expression": { @@ -21003,13 +19480,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "40854:16:14" + "src": "37232:16:14" }, "nodeType": "YulFunctionCall", - "src": "40854:18:14" + "src": "37232:18:14" }, "nodeType": "YulExpressionStatement", - "src": "40854:18:14" + "src": "37232:18:14" } ] }, @@ -21018,54 +19495,54 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "40846:1:14" + "src": "37224:1:14" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "40849:1:14" + "src": "37227:1:14" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "40843:2:14" + "src": "37221:2:14" }, "nodeType": "YulFunctionCall", - "src": "40843:8:14" + "src": "37221:8:14" }, "nodeType": "YulIf", - "src": "40840:34:14" + "src": "37218:34:14" }, { "nodeType": "YulAssignment", - "src": "40884:17:14", + "src": "37262:17:14", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "40896:1:14" + "src": "37274:1:14" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "40899:1:14" + "src": "37277:1:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "40892:3:14" + "src": "37270:3:14" }, "nodeType": "YulFunctionCall", - "src": "40892:9:14" + "src": "37270:9:14" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", - "src": "40884:4:14" + "src": "37262:4:14" } ] } @@ -21077,13 +19554,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "40747:1:14", + "src": "37125:1:14", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "40750:1:14", + "src": "37128:1:14", "type": "" } ], @@ -21091,16 +19568,65 @@ { "name": "diff", "nodeType": "YulTypedName", - "src": "40756:4:14", + "src": "37134:4:14", "type": "" } ], - "src": "40716:191:14" + "src": "37094:191:14" }, { "body": { "nodeType": "YulBlock", - "src": "41019:67:14", + "src": "37405:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "37415:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "37430:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "37415:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "37377:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "37382:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "37393:11:14", + "type": "" + } + ], + "src": "37291:148:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "37551:67:14", "statements": [ { "expression": { @@ -21110,12 +19636,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "41041:6:14" + "src": "37573:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41049:1:14", + "src": "37581:1:14", "type": "", "value": "0" } @@ -21123,16 +19649,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "41037:3:14" + "src": "37569:3:14" }, "nodeType": "YulFunctionCall", - "src": "41037:14:14" + "src": "37569:14:14" }, { "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", "kind": "string", "nodeType": "YulLiteral", - "src": "41053:25:14", + "src": "37585:25:14", "type": "", "value": "AccessControl: account " } @@ -21140,13 +19666,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "41030:6:14" + "src": "37562:6:14" }, "nodeType": "YulFunctionCall", - "src": "41030:49:14" + "src": "37562:49:14" }, "nodeType": "YulExpressionStatement", - "src": "41030:49:14" + "src": "37562:49:14" } ] }, @@ -21156,31 +19682,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "41011:6:14", + "src": "37543:6:14", "type": "" } ], - "src": "40913:173:14" + "src": "37445:173:14" }, { "body": { "nodeType": "YulBlock", - "src": "41256:238:14", + "src": "37788:238:14", "statements": [ { "nodeType": "YulAssignment", - "src": "41266:92:14", + "src": "37798:92:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "41350:3:14" + "src": "37882:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41355:2:14", + "src": "37887:2:14", "type": "", "value": "23" } @@ -21188,16 +19714,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "41273:76:14" + "src": "37805:76:14" }, "nodeType": "YulFunctionCall", - "src": "41273:85:14" + "src": "37805:85:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "41266:3:14" + "src": "37798:3:14" } ] }, @@ -21207,34 +19733,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "41456:3:14" + "src": "37988:3:14" } ], "functionName": { "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", "nodeType": "YulIdentifier", - "src": "41367:88:14" + "src": "37899:88:14" }, "nodeType": "YulFunctionCall", - "src": "41367:93:14" + "src": "37899:93:14" }, "nodeType": "YulExpressionStatement", - "src": "41367:93:14" + "src": "37899:93:14" }, { "nodeType": "YulAssignment", - "src": "41469:19:14", + "src": "38001:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "41480:3:14" + "src": "38012:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "41485:2:14", + "src": "38017:2:14", "type": "", "value": "23" } @@ -21242,16 +19768,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "41476:3:14" + "src": "38008:3:14" }, "nodeType": "YulFunctionCall", - "src": "41476:12:14" + "src": "38008:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "41469:3:14" + "src": "38001:3:14" } ] } @@ -21263,7 +19789,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "41244:3:14", + "src": "37776:3:14", "type": "" } ], @@ -21271,2698 +19797,74 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "41252:3:14", + "src": "37784:3:14", "type": "" } ], - "src": "41092:402:14" + "src": "37624:402:14" }, { "body": { "nodeType": "YulBlock", - "src": "41606:61:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "41628:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41636:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "41624:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "41624:14:14" - }, - { - "hexValue": "206973206d697373696e6720726f6c6520", - "kind": "string", - "nodeType": "YulLiteral", - "src": "41640:19:14", - "type": "", - "value": " is missing role " - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "41617:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "41617:43:14" - }, - "nodeType": "YulExpressionStatement", - "src": "41617:43:14" - } - ] - }, - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "41598:6:14", - "type": "" - } - ], - "src": "41500:167:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "41837:238:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "41847:92:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41931:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "41936:2:14", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "41854:76:14" - }, - "nodeType": "YulFunctionCall", - "src": "41854:85:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "41847:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42037:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", - "nodeType": "YulIdentifier", - "src": "41948:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "41948:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "41948:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "42050:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42061:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "42066:2:14", - "type": "", - "value": "17" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "42057:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "42057:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "42050:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "41825:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "41833:3:14", - "type": "" - } - ], - "src": "41673:402:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "42467:581:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "42478:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42629:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42485:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "42485:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42478:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "42643:102:14", - "value": { - "arguments": [ - { - "name": "value0", - "nodeType": "YulIdentifier", - "src": "42732:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42741:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42650:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "42650:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42643:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "42755:155:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42906:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42762:142:14" - }, - "nodeType": "YulFunctionCall", - "src": "42762:148:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42755:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "42920:102:14", - "value": { - "arguments": [ - { - "name": "value1", - "nodeType": "YulIdentifier", - "src": "43009:6:14" - }, - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43018:3:14" - } - ], - "functionName": { - "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", - "nodeType": "YulIdentifier", - "src": "42927:81:14" - }, - "nodeType": "YulFunctionCall", - "src": "42927:95:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "42920:3:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "43032:10:14", - "value": { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43039:3:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "43032:3:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "42438:3:14", - "type": "" - }, - { - "name": "value1", - "nodeType": "YulTypedName", - "src": "42444:6:14", - "type": "" - }, - { - "name": "value0", - "nodeType": "YulTypedName", - "src": "42452:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "42463:3:14", - "type": "" - } - ], - "src": "42081:967:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43160:69:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "43182:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43190:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43178:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "43178:14:14" - }, - { - "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "43194:27:14", - "type": "", - "value": "ERC721: approve to caller" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43171:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "43171:51:14" - }, - "nodeType": "YulExpressionStatement", - "src": "43171:51:14" - } - ] - }, - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "43152:6:14", - "type": "" - } - ], - "src": "43054:175:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43381:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "43391:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43457:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43462:2:14", - "type": "", - "value": "25" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "43398:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "43398:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43391:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43563:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", - "nodeType": "YulIdentifier", - "src": "43474:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "43474:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "43474:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "43576:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "43587:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43592:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43583:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "43583:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "43576:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "43369:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "43377:3:14", - "type": "" - } - ], - "src": "43235:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "43778:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "43788:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43800:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43811:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43796:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "43796:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "43788:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43835:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "43846:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "43831:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "43831:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "43854:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "43860:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "43850:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "43850:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "43824:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "43824:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "43824:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "43880:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "44014:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "43888:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "43888:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "43880:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "43758:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "43773:4:14", - "type": "" - } - ], - "src": "43607:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "44138:131:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "44160:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44168:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44156:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "44156:14:14" - }, - { - "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", - "kind": "string", - "nodeType": "YulLiteral", - "src": "44172:34:14", - "type": "", - "value": "ERC721: transfer to non ERC721Re" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44149:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "44149:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "44149:58:14" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "44228:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44236:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44224:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "44224:15:14" - }, - { - "hexValue": "63656976657220696d706c656d656e746572", - "kind": "string", - "nodeType": "YulLiteral", - "src": "44241:20:14", - "type": "", - "value": "ceiver implementer" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44217:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "44217:45:14" - }, - "nodeType": "YulExpressionStatement", - "src": "44217:45:14" - } - ] - }, - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "44130:6:14", - "type": "" - } - ], - "src": "44032:237:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "44421:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "44431:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44497:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44502:2:14", - "type": "", - "value": "50" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "44438:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "44438:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44431:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44603:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", - "nodeType": "YulIdentifier", - "src": "44514:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "44514:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "44514:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "44616:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "44627:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44632:2:14", - "type": "", - "value": "64" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44623:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "44623:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "44616:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "44409:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "44417:3:14", - "type": "" - } - ], - "src": "44275:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "44818:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "44828:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "44840:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44851:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44836:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "44836:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "44828:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "44875:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "44886:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "44871:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "44871:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "44894:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "44900:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "44890:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "44890:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "44864:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "44864:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "44864:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "44920:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "45054:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "44928:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "44928:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "44920:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "44798:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "44813:4:14", - "type": "" - } - ], - "src": "44647:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45100:152:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45117:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45120:77:14", - "type": "", - "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45110:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45110:88:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45110:88:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45214:1:14", - "type": "", - "value": "4" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45217:4:14", - "type": "", - "value": "0x12" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45207:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45207:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45207:15:14" - }, - { - "expression": { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45238:1:14", - "type": "", - "value": "0" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45241:4:14", - "type": "", - "value": "0x24" - } - ], - "functionName": { - "name": "revert", - "nodeType": "YulIdentifier", - "src": "45231:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45231:15:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45231:15:14" - } - ] - }, - "name": "panic_error_0x12", - "nodeType": "YulFunctionDefinition", - "src": "45072:180:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45300:143:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "45310:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45333:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45315:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45315:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45310:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "45344:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45367:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45349:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45349:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45344:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45391:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "45393:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "45393:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45393:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45388:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "45381:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45381:9:14" - }, - "nodeType": "YulIf", - "src": "45378:35:14" - }, - { - "nodeType": "YulAssignment", - "src": "45423:14:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45432:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45435:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "45428:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "45428:9:14" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "45423:1:14" - } - ] - } - ] - }, - "name": "checked_div_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "45289:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "45292:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "45298:1:14", - "type": "" - } - ], - "src": "45258:185:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45483:142:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "45493:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45516:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45498:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45498:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45493:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "45527:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45550:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "45532:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "45532:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45527:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45574:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x12", - "nodeType": "YulIdentifier", - "src": "45576:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "45576:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45576:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45571:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "45564:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45564:9:14" - }, - "nodeType": "YulIf", - "src": "45561:35:14" - }, - { - "nodeType": "YulAssignment", - "src": "45605:14:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "45614:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "45617:1:14" - } - ], - "functionName": { - "name": "mod", - "nodeType": "YulIdentifier", - "src": "45610:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "45610:9:14" - }, - "variableNames": [ - { - "name": "r", - "nodeType": "YulIdentifier", - "src": "45605:1:14" - } - ] - } - ] - }, - "name": "mod_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "45472:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "45475:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "r", - "nodeType": "YulTypedName", - "src": "45481:1:14", - "type": "" - } - ], - "src": "45449:176:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45737:73:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "45759:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "45767:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "45755:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "45755:14:14" - }, - { - "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", - "kind": "string", - "nodeType": "YulLiteral", - "src": "45771:31:14", - "type": "", - "value": "Can not transfer locked token" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "45748:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "45748:55:14" - }, - "nodeType": "YulExpressionStatement", - "src": "45748:55:14" - } - ] - }, - "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "45729:6:14", - "type": "" - } - ], - "src": "45631:179:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "45962:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "45972:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "46038:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46043:2:14", - "type": "", - "value": "29" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "45979:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "45979:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "45972:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "46144:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", - "nodeType": "YulIdentifier", - "src": "46055:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "46055:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "46055:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "46157:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "46168:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46173:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "46164:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46164:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "46157:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "45950:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "45958:3:14", - "type": "" - } - ], - "src": "45816:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46359:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "46369:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "46381:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46392:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "46377:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46377:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46369:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "46416:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46427:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "46412:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46412:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46435:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "46441:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "46431:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46431:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "46405:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "46405:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "46405:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "46461:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46595:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "46469:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "46469:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "46461:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "46339:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "46354:4:14", - "type": "" - } - ], - "src": "46188:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46661:300:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "46671:25:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46694:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "46676:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "46676:20:14" - }, - "variableNames": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46671:1:14" - } - ] - }, - { - "nodeType": "YulAssignment", - "src": "46705:25:14", - "value": { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46728:1:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "46710:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "46710:20:14" - }, - "variableNames": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46705:1:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "46903:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "46905:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "46905:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "46905:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "arguments": [ - { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46815:1:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "46808:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "46808:9:14" - } - ], - "functionName": { - "name": "iszero", - "nodeType": "YulIdentifier", - "src": "46801:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "46801:17:14" - }, - { - "arguments": [ - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46823:1:14" - }, - { - "arguments": [ - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "46830:66:14", - "type": "", - "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" - }, - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46898:1:14" - } - ], - "functionName": { - "name": "div", - "nodeType": "YulIdentifier", - "src": "46826:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46826:74:14" - } - ], - "functionName": { - "name": "gt", - "nodeType": "YulIdentifier", - "src": "46820:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "46820:81:14" - } - ], - "functionName": { - "name": "and", - "nodeType": "YulIdentifier", - "src": "46797:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46797:105:14" - }, - "nodeType": "YulIf", - "src": "46794:131:14" - }, - { - "nodeType": "YulAssignment", - "src": "46935:20:14", - "value": { - "arguments": [ - { - "name": "x", - "nodeType": "YulIdentifier", - "src": "46950:1:14" - }, - { - "name": "y", - "nodeType": "YulIdentifier", - "src": "46953:1:14" - } - ], - "functionName": { - "name": "mul", - "nodeType": "YulIdentifier", - "src": "46946:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "46946:9:14" - }, - "variableNames": [ - { - "name": "product", - "nodeType": "YulIdentifier", - "src": "46935:7:14" - } - ] - } - ] - }, - "name": "checked_mul_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "x", - "nodeType": "YulTypedName", - "src": "46644:1:14", - "type": "" - }, - { - "name": "y", - "nodeType": "YulTypedName", - "src": "46647:1:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "product", - "nodeType": "YulTypedName", - "src": "46653:7:14", - "type": "" - } - ], - "src": "46613:348:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47010:128:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "47020:33:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47047:5:14" - } - ], - "functionName": { - "name": "cleanup_t_uint256", - "nodeType": "YulIdentifier", - "src": "47029:17:14" - }, - "nodeType": "YulFunctionCall", - "src": "47029:24:14" - }, - "variableNames": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47020:5:14" - } - ] - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47081:22:14", - "statements": [ - { - "expression": { - "arguments": [], - "functionName": { - "name": "panic_error_0x11", - "nodeType": "YulIdentifier", - "src": "47083:16:14" - }, - "nodeType": "YulFunctionCall", - "src": "47083:18:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47083:18:14" - } - ] - }, - "condition": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47068:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47075:4:14", - "type": "", - "value": "0x00" - } - ], - "functionName": { - "name": "eq", - "nodeType": "YulIdentifier", - "src": "47065:2:14" - }, - "nodeType": "YulFunctionCall", - "src": "47065:15:14" - }, - "nodeType": "YulIf", - "src": "47062:41:14" - }, - { - "nodeType": "YulAssignment", - "src": "47112:20:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "47123:5:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47130:1:14", - "type": "", - "value": "1" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "47119:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47119:13:14" - }, - "variableNames": [ - { - "name": "ret", - "nodeType": "YulIdentifier", - "src": "47112:3:14" - } - ] - } - ] - }, - "name": "decrement_t_uint256", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "46996:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "ret", - "nodeType": "YulTypedName", - "src": "47006:3:14", - "type": "" - } - ], - "src": "46967:171:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47250:76:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "47272:6:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47280:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47268:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47268:14:14" - }, - { - "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", - "kind": "string", - "nodeType": "YulLiteral", - "src": "47284:34:14", - "type": "", - "value": "Strings: hex length insufficient" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "47261:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "47261:58:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47261:58:14" - } - ] - }, - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "memPtr", - "nodeType": "YulTypedName", - "src": "47242:6:14", - "type": "" - } - ], - "src": "47144:182:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47478:220:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "47488:74:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47554:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47559:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "47495:58:14" - }, - "nodeType": "YulFunctionCall", - "src": "47495:67:14" - }, - "variableNames": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47488:3:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47660:3:14" - } - ], - "functionName": { - "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", - "nodeType": "YulIdentifier", - "src": "47571:88:14" - }, - "nodeType": "YulFunctionCall", - "src": "47571:93:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47571:93:14" - }, - { - "nodeType": "YulAssignment", - "src": "47673:19:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "47684:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47689:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47680:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47680:12:14" - }, - "variableNames": [ - { - "name": "end", - "nodeType": "YulIdentifier", - "src": "47673:3:14" - } - ] - } - ] - }, - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "47466:3:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "end", - "nodeType": "YulTypedName", - "src": "47474:3:14", - "type": "" - } - ], - "src": "47332:366:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "47875:248:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "47885:26:14", - "value": { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "47897:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47908:2:14", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47893:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47893:18:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "47885:4:14" - } - ] - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "47932:9:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "47943:1:14", - "type": "", - "value": "0" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "47928:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47928:17:14" - }, - { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "47951:4:14" - }, - { - "name": "headStart", - "nodeType": "YulIdentifier", - "src": "47957:9:14" - } - ], - "functionName": { - "name": "sub", - "nodeType": "YulIdentifier", - "src": "47947:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "47947:20:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "47921:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "47921:47:14" - }, - "nodeType": "YulExpressionStatement", - "src": "47921:47:14" - }, - { - "nodeType": "YulAssignment", - "src": "47977:139:14", - "value": { - "arguments": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "48111:4:14" - } - ], - "functionName": { - "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", - "nodeType": "YulIdentifier", - "src": "47985:124:14" - }, - "nodeType": "YulFunctionCall", - "src": "47985:131:14" - }, - "variableNames": [ - { - "name": "tail", - "nodeType": "YulIdentifier", - "src": "47977:4:14" - } - ] - } - ] - }, - "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "headStart", - "nodeType": "YulTypedName", - "src": "47855:9:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "tail", - "nodeType": "YulTypedName", - "src": "47870:4:14", - "type": "" - } - ], - "src": "47704:419:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "48187:40:14", - "statements": [ - { - "nodeType": "YulAssignment", - "src": "48198:22:14", - "value": { - "arguments": [ - { - "name": "value", - "nodeType": "YulIdentifier", - "src": "48214:5:14" - } - ], - "functionName": { - "name": "mload", - "nodeType": "YulIdentifier", - "src": "48208:5:14" - }, - "nodeType": "YulFunctionCall", - "src": "48208:12:14" - }, - "variableNames": [ - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "48198:6:14" - } - ] - } - ] - }, - "name": "array_length_t_bytes_memory_ptr", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "value", - "nodeType": "YulTypedName", - "src": "48170:5:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "length", - "nodeType": "YulTypedName", - "src": "48180:6:14", - "type": "" - } - ], - "src": "48129:98:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "48328:73:14", - "statements": [ - { - "expression": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "48345:3:14" - }, - { - "name": "length", - "nodeType": "YulIdentifier", - "src": "48350:6:14" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "48338:6:14" - }, - "nodeType": "YulFunctionCall", - "src": "48338:19:14" - }, - "nodeType": "YulExpressionStatement", - "src": "48338:19:14" - }, - { - "nodeType": "YulAssignment", - "src": "48366:29:14", - "value": { - "arguments": [ - { - "name": "pos", - "nodeType": "YulIdentifier", - "src": "48385:3:14" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "48390:4:14", - "type": "", - "value": "0x20" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "48381:3:14" - }, - "nodeType": "YulFunctionCall", - "src": "48381:14:14" - }, - "variableNames": [ - { - "name": "updated_pos", - "nodeType": "YulIdentifier", - "src": "48366:11:14" - } - ] - } - ] - }, - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", - "nodeType": "YulFunctionDefinition", - "parameters": [ - { - "name": "pos", - "nodeType": "YulTypedName", - "src": "48300:3:14", - "type": "" - }, - { - "name": "length", - "nodeType": "YulTypedName", - "src": "48305:6:14", - "type": "" - } - ], - "returnVariables": [ - { - "name": "updated_pos", - "nodeType": "YulTypedName", - "src": "48316:11:14", - "type": "" - } - ], - "src": "48233:168:14" - }, - { - "body": { - "nodeType": "YulBlock", - "src": "48497:270:14", + "src": "38142:267:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "48507:52:14", + "src": "38152:53:14", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "48553:5:14" + "src": "38199:5:14" } ], "functionName": { - "name": "array_length_t_bytes_memory_ptr", + "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "48521:31:14" + "src": "38166:32:14" }, "nodeType": "YulFunctionCall", - "src": "48521:38:14" + "src": "38166:39:14" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "48511:6:14", + "src": "38156:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "48568:77:14", + "src": "38214:96:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "48633:3:14" + "src": "38298:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "48638:6:14" + "src": "38303:6:14" } ], "functionName": { - "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "48575:57:14" + "src": "38221:76:14" }, "nodeType": "YulFunctionCall", - "src": "48575:70:14" + "src": "38221:89:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "48568:3:14" + "src": "38214:3:14" } ] }, @@ -23974,12 +19876,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "48680:5:14" + "src": "38345:5:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "48687:4:14", + "src": "38352:4:14", "type": "", "value": "0x20" } @@ -23987,73 +19889,2454 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "48676:3:14" + "src": "38341:3:14" }, "nodeType": "YulFunctionCall", - "src": "48676:16:14" + "src": "38341:16:14" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "48694:3:14" + "src": "38359:3:14" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "48699:6:14" + "src": "38364:6:14" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "48654:21:14" + "src": "38319:21:14" }, "nodeType": "YulFunctionCall", - "src": "48654:52:14" + "src": "38319:52:14" }, "nodeType": "YulExpressionStatement", - "src": "48654:52:14" + "src": "38319:52:14" }, { "nodeType": "YulAssignment", - "src": "48715:46:14", + "src": "38380:23:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "48726:3:14" + "src": "38391:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "38396:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38387:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38387:16:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38380:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "38123:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38130:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38138:3:14", + "type": "" + } + ], + "src": "38032:377:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38521:61:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "38543:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38551:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38539:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38539:14:14" + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "kind": "string", + "nodeType": "YulLiteral", + "src": "38555:19:14", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "38532:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "38532:43:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38532:43:14" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "38513:6:14", + "type": "" + } + ], + "src": "38415:167:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "38752:238:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "38762:92:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38846:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38851:2:14", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "38769:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "38769:85:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38762:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38952:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "38863:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "38863:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "38863:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "38965:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "38976:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "38981:2:14", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "38972:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "38972:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "38965:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "38740:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "38748:3:14", + "type": "" + } + ], + "src": "38588:402:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "39382:581:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "39393:155:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39544:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39400:142:14" + }, + "nodeType": "YulFunctionCall", + "src": "39400:148:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39393:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39558:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "39647:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39656:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39565:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "39565:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39558:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39670:155:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39821:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39677:142:14" + }, + "nodeType": "YulFunctionCall", + "src": "39677:148:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39670:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39835:102:14", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "39924:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39933:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "39842:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "39842:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39835:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "39947:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "39954:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "39947:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "39353:3:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "39359:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "39367:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "39378:3:14", + "type": "" + } + ], + "src": "38996:967:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40075:69:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "40097:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40105:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40093:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40093:14:14" + }, + { + "hexValue": "4552433732313a20617070726f766520746f2063616c6c6572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "40109:27:14", + "type": "", + "value": "ERC721: approve to caller" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40086:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "40086:51:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40086:51:14" + } + ] + }, + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "40067:6:14", + "type": "" + } + ], + "src": "39969:175:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40296:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40306:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40372:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40377:2:14", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40313:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "40313:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40306:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40478:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05", + "nodeType": "YulIdentifier", + "src": "40389:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "40389:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40389:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "40491:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "40502:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40507:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40498:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40498:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "40491:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "40284:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "40292:3:14", + "type": "" + } + ], + "src": "40150:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "40693:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "40703:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40715:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40726:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40711:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40711:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40703:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40750:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "40761:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "40746:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40746:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40769:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "40775:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "40765:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "40765:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "40739:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "40739:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "40739:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "40795:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40929:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "40803:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "40803:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "40795:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_45fe4329685be5ecd250fd0e6a25aea0ea4d0e30fb6a73c118b95749e6d70d05__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "40673:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "40688:4:14", + "type": "" + } + ], + "src": "40522:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41053:131:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41075:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41083:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41071:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41071:14:14" + }, + { + "hexValue": "4552433732313a207472616e7366657220746f206e6f6e204552433732315265", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41087:34:14", + "type": "", + "value": "ERC721: transfer to non ERC721Re" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41064:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "41064:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "41064:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "41143:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41151:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41139:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41139:15:14" + }, + { + "hexValue": "63656976657220696d706c656d656e746572", + "kind": "string", + "nodeType": "YulLiteral", + "src": "41156:20:14", + "type": "", + "value": "ceiver implementer" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41132:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "41132:45:14" + }, + "nodeType": "YulExpressionStatement", + "src": "41132:45:14" + } + ] + }, + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "41045:6:14", + "type": "" + } + ], + "src": "40947:237:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41336:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41346:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41412:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41417:2:14", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41353:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "41353:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41346:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41518:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e", + "nodeType": "YulIdentifier", + "src": "41429:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "41429:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "41429:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "41531:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "41542:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41547:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41538:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41538:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "41531:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "41324:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "41332:3:14", + "type": "" + } + ], + "src": "41190:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "41733:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "41743:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41755:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41766:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41751:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41751:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41743:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41790:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "41801:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "41786:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41786:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41809:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "41815:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "41805:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "41805:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "41779:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "41779:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "41779:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "41835:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41969:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "41843:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "41843:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "41835:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1e766a06da43a53d0f4c380e06e5a342e14d5af1bf8501996c844905530ca84e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "41713:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "41728:4:14", + "type": "" + } + ], + "src": "41562:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42093:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "42115:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42123:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42111:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42111:14:14" + }, + { + "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", + "kind": "string", + "nodeType": "YulLiteral", + "src": "42127:31:14", + "type": "", + "value": "Can not transfer locked token" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42104:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "42104:55:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42104:55:14" + } + ] + }, + "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "42085:6:14", + "type": "" + } + ], + "src": "41987:179:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42318:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42328:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42394:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42399:2:14", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42335:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "42335:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42328:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42500:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", + "nodeType": "YulIdentifier", + "src": "42411:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "42411:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42411:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "42513:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "42524:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42529:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42520:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42520:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "42513:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "42306:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "42314:3:14", + "type": "" + } + ], + "src": "42172:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "42715:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "42725:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42737:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42748:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42733:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42733:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42725:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42772:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "42783:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "42768:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42768:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42791:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "42797:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "42787:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "42787:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "42761:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "42761:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "42761:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "42817:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42951:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "42825:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "42825:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "42817:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "42695:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "42710:4:14", + "type": "" + } + ], + "src": "42544:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43017:300:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43027:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43050:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43032:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "43032:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43027:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "43061:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43084:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43066:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "43066:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43061:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43259:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "43261:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "43261:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43261:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43171:1:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43164:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43164:9:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "43157:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43157:17:14" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43179:1:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43186:66:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43254:1:14" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "43182:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43182:74:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "43176:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "43176:81:14" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "43153:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43153:105:14" + }, + "nodeType": "YulIf", + "src": "43150:131:14" + }, + { + "nodeType": "YulAssignment", + "src": "43291:20:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "43306:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "43309:1:14" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "43302:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43302:9:14" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "43291:7:14" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "43000:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "43003:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "43009:7:14", + "type": "" + } + ], + "src": "42969:348:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43366:128:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43376:33:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43403:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "43385:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "43385:24:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43376:5:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43437:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "43439:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "43439:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43439:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43424:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43431:4:14", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "43421:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "43421:15:14" + }, + "nodeType": "YulIf", + "src": "43418:41:14" + }, + { + "nodeType": "YulAssignment", + "src": "43468:20:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "43479:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43486:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "43475:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43475:13:14" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "43468:3:14" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "43352:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "43362:3:14", + "type": "" + } + ], + "src": "43323:171:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43606:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "43628:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43636:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "43624:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "43624:14:14" + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "kind": "string", + "nodeType": "YulLiteral", + "src": "43640:34:14", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "43617:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "43617:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43617:58:14" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "43598:6:14", + "type": "" + } + ], + "src": "43500:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "43834:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "43844:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43910:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "43915:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "43851:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "43851:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "43844:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44016:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "43927:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "43927:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "43927:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "44029:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44040:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44045:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44036:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44036:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "44029:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "43822:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "43830:3:14", + "type": "" + } + ], + "src": "43688:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44231:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44241:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44253:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44264:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44249:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44249:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44241:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44288:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44299:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44284:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44284:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44307:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "44313:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "44303:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44303:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44277:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "44277:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "44277:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "44333:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44467:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44341:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "44341:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "44333:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "44211:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "44226:4:14", + "type": "" + } + ], + "src": "44060:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44543:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "44554:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "44570:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "44564:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "44564:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "44554:6:14" + } + ] + } + ] + }, + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "44526:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "44536:6:14", + "type": "" + } + ], + "src": "44485:98:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44684:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44701:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "44706:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "44694:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "44694:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "44694:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "44722:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44741:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "44746:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "44737:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "44737:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "44722:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "44656:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "44661:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "44672:11:14", + "type": "" + } + ], + "src": "44589:168:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "44853:270:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "44863:52:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "44909:5:14" + } + ], + "functionName": { + "name": "array_length_t_bytes_memory_ptr", + "nodeType": "YulIdentifier", + "src": "44877:31:14" + }, + "nodeType": "YulFunctionCall", + "src": "44877:38:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "44867:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "44924:77:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44989:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "44994:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "44931:57:14" + }, + "nodeType": "YulFunctionCall", + "src": "44931:70:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "44924:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "45036:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "45043:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "45032:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "45032:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45050:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "45055:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "45010:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "45010:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "45010:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "45071:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "45082:3:14" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "48753:6:14" + "src": "45109:6:14" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "48731:21:14" + "src": "45087:21:14" }, "nodeType": "YulFunctionCall", - "src": "48731:29:14" + "src": "45087:29:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "48722:3:14" + "src": "45078:3:14" }, "nodeType": "YulFunctionCall", - "src": "48722:39:14" + "src": "45078:39:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "48715:3:14" + "src": "45071:3:14" } ] } @@ -24065,13 +22348,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "48478:5:14", + "src": "44834:5:14", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "48485:3:14", + "src": "44841:3:14", "type": "" } ], @@ -24079,31 +22362,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "48493:3:14", + "src": "44849:3:14", "type": "" } ], - "src": "48407:360:14" + "src": "44763:360:14" }, { "body": { "nodeType": "YulBlock", - "src": "48973:440:14", + "src": "45329:440:14", "statements": [ { "nodeType": "YulAssignment", - "src": "48983:27:14", + "src": "45339:27:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "48995:9:14" + "src": "45351:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49006:3:14", + "src": "45362:3:14", "type": "", "value": "128" } @@ -24111,16 +22394,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "48991:3:14" + "src": "45347:3:14" }, "nodeType": "YulFunctionCall", - "src": "48991:19:14" + "src": "45347:19:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "48983:4:14" + "src": "45339:4:14" } ] }, @@ -24130,19 +22413,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "49064:6:14" + "src": "45420:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49077:9:14" + "src": "45433:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49088:1:14", + "src": "45444:1:14", "type": "", "value": "0" } @@ -24150,22 +22433,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49073:3:14" + "src": "45429:3:14" }, "nodeType": "YulFunctionCall", - "src": "49073:17:14" + "src": "45429:17:14" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "49020:43:14" + "src": "45376:43:14" }, "nodeType": "YulFunctionCall", - "src": "49020:71:14" + "src": "45376:71:14" }, "nodeType": "YulExpressionStatement", - "src": "49020:71:14" + "src": "45376:71:14" }, { "expression": { @@ -24173,19 +22456,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "49145:6:14" + "src": "45501:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49158:9:14" + "src": "45514:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49169:2:14", + "src": "45525:2:14", "type": "", "value": "32" } @@ -24193,22 +22476,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49154:3:14" + "src": "45510:3:14" }, "nodeType": "YulFunctionCall", - "src": "49154:18:14" + "src": "45510:18:14" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "49101:43:14" + "src": "45457:43:14" }, "nodeType": "YulFunctionCall", - "src": "49101:72:14" + "src": "45457:72:14" }, "nodeType": "YulExpressionStatement", - "src": "49101:72:14" + "src": "45457:72:14" }, { "expression": { @@ -24216,19 +22499,19 @@ { "name": "value2", "nodeType": "YulIdentifier", - "src": "49227:6:14" + "src": "45583:6:14" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49240:9:14" + "src": "45596:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49251:2:14", + "src": "45607:2:14", "type": "", "value": "64" } @@ -24236,22 +22519,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49236:3:14" + "src": "45592:3:14" }, "nodeType": "YulFunctionCall", - "src": "49236:18:14" + "src": "45592:18:14" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "49183:43:14" + "src": "45539:43:14" }, "nodeType": "YulFunctionCall", - "src": "49183:72:14" + "src": "45539:72:14" }, "nodeType": "YulExpressionStatement", - "src": "49183:72:14" + "src": "45539:72:14" }, { "expression": { @@ -24261,12 +22544,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49276:9:14" + "src": "45632:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49287:2:14", + "src": "45643:2:14", "type": "", "value": "96" } @@ -24274,73 +22557,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49272:3:14" + "src": "45628:3:14" }, "nodeType": "YulFunctionCall", - "src": "49272:18:14" + "src": "45628:18:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "49296:4:14" + "src": "45652:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49302:9:14" + "src": "45658:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "49292:3:14" + "src": "45648:3:14" }, "nodeType": "YulFunctionCall", - "src": "49292:20:14" + "src": "45648:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "49265:6:14" + "src": "45621:6:14" }, "nodeType": "YulFunctionCall", - "src": "49265:48:14" + "src": "45621:48:14" }, "nodeType": "YulExpressionStatement", - "src": "49265:48:14" + "src": "45621:48:14" }, { "nodeType": "YulAssignment", - "src": "49322:84:14", + "src": "45678:84:14", "value": { "arguments": [ { "name": "value3", "nodeType": "YulIdentifier", - "src": "49392:6:14" + "src": "45748:6:14" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "49401:4:14" + "src": "45757:4:14" } ], "functionName": { "name": "abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "49330:61:14" + "src": "45686:61:14" }, "nodeType": "YulFunctionCall", - "src": "49330:76:14" + "src": "45686:76:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "49322:4:14" + "src": "45678:4:14" } ] } @@ -24352,31 +22635,31 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "48921:9:14", + "src": "45277:9:14", "type": "" }, { "name": "value3", "nodeType": "YulTypedName", - "src": "48933:6:14", + "src": "45289:6:14", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "48941:6:14", + "src": "45297:6:14", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "48949:6:14", + "src": "45305:6:14", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "48957:6:14", + "src": "45313:6:14", "type": "" } ], @@ -24384,41 +22667,41 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "48968:4:14", + "src": "45324:4:14", "type": "" } ], - "src": "48773:640:14" + "src": "45129:640:14" }, { "body": { "nodeType": "YulBlock", - "src": "49481:79:14", + "src": "45837:79:14", "statements": [ { "nodeType": "YulAssignment", - "src": "49491:22:14", + "src": "45847:22:14", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "49506:6:14" + "src": "45862:6:14" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "49500:5:14" + "src": "45856:5:14" }, "nodeType": "YulFunctionCall", - "src": "49500:13:14" + "src": "45856:13:14" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "49491:5:14" + "src": "45847:5:14" } ] }, @@ -24428,19 +22711,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "49548:5:14" + "src": "45904:5:14" } ], "functionName": { "name": "validator_revert_t_bytes4", "nodeType": "YulIdentifier", - "src": "49522:25:14" + "src": "45878:25:14" }, "nodeType": "YulFunctionCall", - "src": "49522:32:14" + "src": "45878:32:14" }, "nodeType": "YulExpressionStatement", - "src": "49522:32:14" + "src": "45878:32:14" } ] }, @@ -24450,13 +22733,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "49459:6:14", + "src": "45815:6:14", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "49467:3:14", + "src": "45823:3:14", "type": "" } ], @@ -24464,21 +22747,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "49475:5:14", + "src": "45831:5:14", "type": "" } ], - "src": "49419:141:14" + "src": "45775:141:14" }, { "body": { "nodeType": "YulBlock", - "src": "49642:273:14", + "src": "45998:273:14", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "49688:83:14", + "src": "46044:83:14", "statements": [ { "expression": { @@ -24486,13 +22769,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "49690:77:14" + "src": "46046:77:14" }, "nodeType": "YulFunctionCall", - "src": "49690:79:14" + "src": "46046:79:14" }, "nodeType": "YulExpressionStatement", - "src": "49690:79:14" + "src": "46046:79:14" } ] }, @@ -24503,26 +22786,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "49663:7:14" + "src": "46019:7:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49672:9:14" + "src": "46028:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "49659:3:14" + "src": "46015:3:14" }, "nodeType": "YulFunctionCall", - "src": "49659:23:14" + "src": "46015:23:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "49684:2:14", + "src": "46040:2:14", "type": "", "value": "32" } @@ -24530,25 +22813,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "49655:3:14" + "src": "46011:3:14" }, "nodeType": "YulFunctionCall", - "src": "49655:32:14" + "src": "46011:32:14" }, "nodeType": "YulIf", - "src": "49652:119:14" + "src": "46008:119:14" }, { "nodeType": "YulBlock", - "src": "49781:127:14", + "src": "46137:127:14", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "49796:15:14", + "src": "46152:15:14", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "49810:1:14", + "src": "46166:1:14", "type": "", "value": "0" }, @@ -24556,14 +22839,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "49800:6:14", + "src": "46156:6:14", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "49825:73:14", + "src": "46181:73:14", "value": { "arguments": [ { @@ -24571,41 +22854,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "49870:9:14" + "src": "46226:9:14" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "49881:6:14" + "src": "46237:6:14" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "49866:3:14" + "src": "46222:3:14" }, "nodeType": "YulFunctionCall", - "src": "49866:22:14" + "src": "46222:22:14" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "49890:7:14" + "src": "46246:7:14" } ], "functionName": { "name": "abi_decode_t_bytes4_fromMemory", "nodeType": "YulIdentifier", - "src": "49835:30:14" + "src": "46191:30:14" }, "nodeType": "YulFunctionCall", - "src": "49835:63:14" + "src": "46191:63:14" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "49825:6:14" + "src": "46181:6:14" } ] } @@ -24619,13 +22902,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "49612:9:14", + "src": "45968:9:14", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "49623:7:14", + "src": "45979:7:14", "type": "" } ], @@ -24633,16 +22916,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "49635:6:14", + "src": "45991:6:14", "type": "" } ], - "src": "49566:349:14" + "src": "45922:349:14" }, { "body": { "nodeType": "YulBlock", - "src": "50027:76:14", + "src": "46383:76:14", "statements": [ { "expression": { @@ -24652,12 +22935,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "50049:6:14" + "src": "46405:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50057:1:14", + "src": "46413:1:14", "type": "", "value": "0" } @@ -24665,16 +22948,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50045:3:14" + "src": "46401:3:14" }, "nodeType": "YulFunctionCall", - "src": "50045:14:14" + "src": "46401:14:14" }, { "hexValue": "4552433732313a206d696e7420746f20746865207a65726f2061646472657373", "kind": "string", "nodeType": "YulLiteral", - "src": "50061:34:14", + "src": "46417:34:14", "type": "", "value": "ERC721: mint to the zero address" } @@ -24682,13 +22965,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "50038:6:14" + "src": "46394:6:14" }, "nodeType": "YulFunctionCall", - "src": "50038:58:14" + "src": "46394:58:14" }, "nodeType": "YulExpressionStatement", - "src": "50038:58:14" + "src": "46394:58:14" } ] }, @@ -24698,31 +22981,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "50019:6:14", + "src": "46375:6:14", "type": "" } ], - "src": "49921:182:14" + "src": "46277:182:14" }, { "body": { "nodeType": "YulBlock", - "src": "50255:220:14", + "src": "46611:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "50265:74:14", + "src": "46621:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50331:3:14" + "src": "46687:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50336:2:14", + "src": "46692:2:14", "type": "", "value": "32" } @@ -24730,16 +23013,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "50272:58:14" + "src": "46628:58:14" }, "nodeType": "YulFunctionCall", - "src": "50272:67:14" + "src": "46628:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50265:3:14" + "src": "46621:3:14" } ] }, @@ -24749,34 +23032,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50437:3:14" + "src": "46793:3:14" } ], "functionName": { "name": "store_literal_in_memory_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6", "nodeType": "YulIdentifier", - "src": "50348:88:14" + "src": "46704:88:14" }, "nodeType": "YulFunctionCall", - "src": "50348:93:14" + "src": "46704:93:14" }, "nodeType": "YulExpressionStatement", - "src": "50348:93:14" + "src": "46704:93:14" }, { "nodeType": "YulAssignment", - "src": "50450:19:14", + "src": "46806:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "50461:3:14" + "src": "46817:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50466:2:14", + "src": "46822:2:14", "type": "", "value": "32" } @@ -24784,16 +23067,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50457:3:14" + "src": "46813:3:14" }, "nodeType": "YulFunctionCall", - "src": "50457:12:14" + "src": "46813:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "50450:3:14" + "src": "46806:3:14" } ] } @@ -24805,7 +23088,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "50243:3:14", + "src": "46599:3:14", "type": "" } ], @@ -24813,31 +23096,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "50251:3:14", + "src": "46607:3:14", "type": "" } ], - "src": "50109:366:14" + "src": "46465:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "50652:248:14", + "src": "47008:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "50662:26:14", + "src": "47018:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "50674:9:14" + "src": "47030:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50685:2:14", + "src": "47041:2:14", "type": "", "value": "32" } @@ -24845,16 +23128,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50670:3:14" + "src": "47026:3:14" }, "nodeType": "YulFunctionCall", - "src": "50670:18:14" + "src": "47026:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50662:4:14" + "src": "47018:4:14" } ] }, @@ -24866,12 +23149,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "50709:9:14" + "src": "47065:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "50720:1:14", + "src": "47076:1:14", "type": "", "value": "0" } @@ -24879,68 +23162,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "50705:3:14" + "src": "47061:3:14" }, "nodeType": "YulFunctionCall", - "src": "50705:17:14" + "src": "47061:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50728:4:14" + "src": "47084:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "50734:9:14" + "src": "47090:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "50724:3:14" + "src": "47080:3:14" }, "nodeType": "YulFunctionCall", - "src": "50724:20:14" + "src": "47080:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "50698:6:14" + "src": "47054:6:14" }, "nodeType": "YulFunctionCall", - "src": "50698:47:14" + "src": "47054:47:14" }, "nodeType": "YulExpressionStatement", - "src": "50698:47:14" + "src": "47054:47:14" }, { "nodeType": "YulAssignment", - "src": "50754:139:14", + "src": "47110:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50888:4:14" + "src": "47244:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_8a66f4bb6512ffbfcc3db9b42318eb65f26ac15163eaa9a1e5cfa7bee9d1c7c6_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "50762:124:14" + "src": "47118:124:14" }, "nodeType": "YulFunctionCall", - "src": "50762:131:14" + "src": "47118:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "50754:4:14" + "src": "47110:4:14" } ] } @@ -24952,7 +23235,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "50632:9:14", + "src": "46988:9:14", "type": "" } ], @@ -24960,16 +23243,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "50647:4:14", + "src": "47003:4:14", "type": "" } ], - "src": "50481:419:14" + "src": "46837:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "51012:72:14", + "src": "47368:72:14", "statements": [ { "expression": { @@ -24979,12 +23262,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "51034:6:14" + "src": "47390:6:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51042:1:14", + "src": "47398:1:14", "type": "", "value": "0" } @@ -24992,16 +23275,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51030:3:14" + "src": "47386:3:14" }, "nodeType": "YulFunctionCall", - "src": "51030:14:14" + "src": "47386:14:14" }, { "hexValue": "4552433732313a20746f6b656e20616c7265616479206d696e746564", "kind": "string", "nodeType": "YulLiteral", - "src": "51046:30:14", + "src": "47402:30:14", "type": "", "value": "ERC721: token already minted" } @@ -25009,13 +23292,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "51023:6:14" + "src": "47379:6:14" }, "nodeType": "YulFunctionCall", - "src": "51023:54:14" + "src": "47379:54:14" }, "nodeType": "YulExpressionStatement", - "src": "51023:54:14" + "src": "47379:54:14" } ] }, @@ -25025,31 +23308,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "51004:6:14", + "src": "47360:6:14", "type": "" } ], - "src": "50906:178:14" + "src": "47262:178:14" }, { "body": { "nodeType": "YulBlock", - "src": "51236:220:14", + "src": "47592:220:14", "statements": [ { "nodeType": "YulAssignment", - "src": "51246:74:14", + "src": "47602:74:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51312:3:14" + "src": "47668:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51317:2:14", + "src": "47673:2:14", "type": "", "value": "28" } @@ -25057,16 +23340,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "51253:58:14" + "src": "47609:58:14" }, "nodeType": "YulFunctionCall", - "src": "51253:67:14" + "src": "47609:67:14" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51246:3:14" + "src": "47602:3:14" } ] }, @@ -25076,34 +23359,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51418:3:14" + "src": "47774:3:14" } ], "functionName": { "name": "store_literal_in_memory_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57", "nodeType": "YulIdentifier", - "src": "51329:88:14" + "src": "47685:88:14" }, "nodeType": "YulFunctionCall", - "src": "51329:93:14" + "src": "47685:93:14" }, "nodeType": "YulExpressionStatement", - "src": "51329:93:14" + "src": "47685:93:14" }, { "nodeType": "YulAssignment", - "src": "51431:19:14", + "src": "47787:19:14", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "51442:3:14" + "src": "47798:3:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51447:2:14", + "src": "47803:2:14", "type": "", "value": "32" } @@ -25111,16 +23394,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51438:3:14" + "src": "47794:3:14" }, "nodeType": "YulFunctionCall", - "src": "51438:12:14" + "src": "47794:12:14" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "51431:3:14" + "src": "47787:3:14" } ] } @@ -25132,7 +23415,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "51224:3:14", + "src": "47580:3:14", "type": "" } ], @@ -25140,31 +23423,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "51232:3:14", + "src": "47588:3:14", "type": "" } ], - "src": "51090:366:14" + "src": "47446:366:14" }, { "body": { "nodeType": "YulBlock", - "src": "51633:248:14", + "src": "47989:248:14", "statements": [ { "nodeType": "YulAssignment", - "src": "51643:26:14", + "src": "47999:26:14", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "51655:9:14" + "src": "48011:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51666:2:14", + "src": "48022:2:14", "type": "", "value": "32" } @@ -25172,16 +23455,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51651:3:14" + "src": "48007:3:14" }, "nodeType": "YulFunctionCall", - "src": "51651:18:14" + "src": "48007:18:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51643:4:14" + "src": "47999:4:14" } ] }, @@ -25193,12 +23476,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "51690:9:14" + "src": "48046:9:14" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51701:1:14", + "src": "48057:1:14", "type": "", "value": "0" } @@ -25206,68 +23489,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "51686:3:14" + "src": "48042:3:14" }, "nodeType": "YulFunctionCall", - "src": "51686:17:14" + "src": "48042:17:14" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51709:4:14" + "src": "48065:4:14" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "51715:9:14" + "src": "48071:9:14" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "51705:3:14" + "src": "48061:3:14" }, "nodeType": "YulFunctionCall", - "src": "51705:20:14" + "src": "48061:20:14" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "51679:6:14" + "src": "48035:6:14" }, "nodeType": "YulFunctionCall", - "src": "51679:47:14" + "src": "48035:47:14" }, "nodeType": "YulExpressionStatement", - "src": "51679:47:14" + "src": "48035:47:14" }, { "nodeType": "YulAssignment", - "src": "51735:139:14", + "src": "48091:139:14", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51869:4:14" + "src": "48225:4:14" } ], "functionName": { "name": "abi_encode_t_stringliteral_2a63ce106ef95058ed21fd07c42a10f11dc5c32ac13a4e847923f7759f635d57_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "51743:124:14" + "src": "48099:124:14" }, "nodeType": "YulFunctionCall", - "src": "51743:131:14" + "src": "48099:131:14" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "51735:4:14" + "src": "48091:4:14" } ] } @@ -25279,7 +23562,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "51613:9:14", + "src": "47969:9:14", "type": "" } ], @@ -25287,16 +23570,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "51628:4:14", + "src": "47984:4:14", "type": "" } ], - "src": "51462:419:14" + "src": "47818:419:14" }, { "body": { "nodeType": "YulBlock", - "src": "51915:152:14", + "src": "48271:152:14", "statements": [ { "expression": { @@ -25304,14 +23587,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "51932:1:14", + "src": "48288:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "51935:77:14", + "src": "48291:77:14", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -25319,13 +23602,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "51925:6:14" + "src": "48281:6:14" }, "nodeType": "YulFunctionCall", - "src": "51925:88:14" + "src": "48281:88:14" }, "nodeType": "YulExpressionStatement", - "src": "51925:88:14" + "src": "48281:88:14" }, { "expression": { @@ -25333,14 +23616,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "52029:1:14", + "src": "48385:1:14", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "52032:4:14", + "src": "48388:4:14", "type": "", "value": "0x31" } @@ -25348,13 +23631,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "52022:6:14" + "src": "48378:6:14" }, "nodeType": "YulFunctionCall", - "src": "52022:15:14" + "src": "48378:15:14" }, "nodeType": "YulExpressionStatement", - "src": "52022:15:14" + "src": "48378:15:14" }, { "expression": { @@ -25362,14 +23645,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "52053:1:14", + "src": "48409:1:14", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "52056:4:14", + "src": "48412:4:14", "type": "", "value": "0x24" } @@ -25377,31 +23660,31 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "52046:6:14" + "src": "48402:6:14" }, "nodeType": "YulFunctionCall", - "src": "52046:15:14" + "src": "48402:15:14" }, "nodeType": "YulExpressionStatement", - "src": "52046:15:14" + "src": "48402:15:14" } ] }, "name": "panic_error_0x31", "nodeType": "YulFunctionDefinition", - "src": "51887:180:14" + "src": "48243:180:14" } ] }, - "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 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_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_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_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert_error_987264b3b1d58a9c7f8255e93e81c77d86d6299019c33110a076957a3e06e2ae() }\n copy_calldata_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_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_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\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 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\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 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 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_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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be valid tokenId\")\n\n }\n\n function abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already unlocked\")\n\n }\n\n function abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__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_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack( tail)\n\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_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_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(memPtr) {\n\n mstore(add(memPtr, 0), \"TokenId not exists\")\n\n }\n\n function abi_encode_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f__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_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not burn locked token\")\n\n }\n\n function abi_encode_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573__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_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(memPtr) {\n\n mstore(add(memPtr, 0), \"current address is not owner of \")\n\n mstore(add(memPtr, 32), \"this item now\")\n\n }\n\n function abi_encode_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef__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_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC721Metadata: URI query for no\")\n\n mstore(add(memPtr, 32), \"nexistent token\")\n\n }\n\n function abi_encode_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb__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_a2d45c0fba603d40d82d590051761ca952d1ab9d78cca6d0d464d7b6e961a9cb_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 abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\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_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_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already locked\")\n\n }\n\n function abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__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_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_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 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 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 panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function mod_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n r := mod(x, y)\n }\n\n function store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not transfer locked token\")\n\n }\n\n function abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__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_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_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", + "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 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_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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(memPtr) {\n\n mstore(add(memPtr, 0), \"Must be valid tokenId\")\n\n }\n\n function abi_encode_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 21)\n store_literal_in_memory_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e__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_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already unlocked\")\n\n }\n\n function abi_encode_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 26)\n store_literal_in_memory_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca__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_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca_to_t_string_memory_ptr_fromStack( tail)\n\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_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_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(memPtr) {\n\n mstore(add(memPtr, 0), \"TokenId not exists\")\n\n }\n\n function abi_encode_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 18)\n store_literal_in_memory_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f__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_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not burn locked token\")\n\n }\n\n function abi_encode_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573__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_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(memPtr) {\n\n mstore(add(memPtr, 0), \"current address is not owner of \")\n\n mstore(add(memPtr, 32), \"this item now\")\n\n }\n\n function abi_encode_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 45)\n store_literal_in_memory_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_tuple_t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef__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_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(memPtr) {\n\n mstore(add(memPtr, 0), \"Token has already locked\")\n\n }\n\n function abi_encode_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a__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_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a_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_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191(memPtr) {\n\n mstore(add(memPtr, 0), \"Can not transfer locked token\")\n\n }\n\n function abi_encode_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191__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_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191_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": 14, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "195:4990:13:-:0;;;299:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;768:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;868:5;875:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;890:46:13::1;413:24;2072:4:0;917:18:13::0;::::1;890:13;;;:46;;:::i;:::-;942:44;477:22;2072:4:0;967:18:13::0;::::1;942:13;;;:44;;:::i;:::-;992;539:22;2072:4:0;1017:18:13::0;::::1;992:13;;;:44;;:::i;:::-;1043:42;2072:4:0;1054:18:13::0;::::1;1074:10;1043;;;:42;;:::i;:::-;1091:35;413:24;1115:10;1091;;;:35;;:::i;:::-;1132:33;477:22;1154:10;1132;;;:33;;:::i;:::-;1171;539:22;1193:10;1171;;;:33;;:::i;:::-;1224:11;1210:25;;;;::::0;::::1;768:472:::0;;;195:4990;;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;195:4990:13:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;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;195:4990:13:-;;;;;;;;;;;;;;;;;;;;;;;", - "deployedSourceMap": "195:4990:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4492:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3537:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1615:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;565:36:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2518:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4726:330:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;503:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1291:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2654:77:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:179:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1749:583:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1798:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2385:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1354:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3539:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2191:235:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3058:91:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3974:138:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2650:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2785:87:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4837:346;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2924:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5367:320:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;441:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2818:329:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;375:62:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;251:44:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3215:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4502:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3831:103:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4492:208;4638:4;4659:36;4683:11;4659:23;:36::i;:::-;4652:43;;4492: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;565:36:13:-;;;:::o;2518:83::-;2569:27;413:24;2593:2;2569:10;:27::i;:::-;2518: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;503:58:13:-;539:22;503:58;:::o;4387:145:0:-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;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;2654:77:13:-;2702:24;477:22;2723:2;2702:9;:24::i;:::-;2654: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;1749:583:13:-;1847:16;413:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1888:3:13::1;1879:5;:12;;1871:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;1937:1;1923:11;:15;1919:134;;;1992:11;1982:5;1966:13;:11;:13::i;:::-;:21;;;;:::i;:::-;1965:38;;1948:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1919:134;2058:25;2100:5;2086:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2058:48;;2117:9;2112:161;2136:5;2132:1;:9;2112:161;;;2170:1;2156:10;;:15;;;;;;;:::i;:::-;;;;;;;;2179;2197:10;;2179:28;;2215:22;2225:2;2229:7;2215:9;:22::i;:::-;2259:7;2245:8;2254:1;2245:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;2148:125;2143:3;;;;;:::i;:::-;;;;2112:161;;;;2293:2;2283:23;;;2297:8;2283:23;;;;;;:::i;:::-;;;;;;;;2319:8;2312:15;;;1749:583:::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;2385:79:13:-;2433:26;413:24;2456:2;2433:9;:26::i;:::-;2385:79;:::o;1354:125::-;2072:4:0;1424:18:13;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1466:8:13::1;1450:13;:24;;;;;;;;;;;;:::i;:::-;;1354:125:::0;;:::o;3539:250::-;539:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3615:16:13::1;3623:7;3615;:16::i;:::-;3607:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3671:12;:21;3684:7;3671:21;;;;;;;;;;;;;;;;;;;;;3663:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3753:5;3729:12;:21;3742:7;3729:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3776:7;3769:15;;;;;;;;;;3539:250:::0;;:::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;1929:205::-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2111:9;:16;2121:5;2111:16;;;;;;;;;;;;;;;;2104:23;;1929:205;;;:::o;3058:91:13:-;3114:30;539:22;3136:7;3114:10;:30::i;:::-;3058:91;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;3974:138:13:-;2072:4:0;4053:18:13;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4095:12:13::1;;4079:13;:28;;;;;;;:::i;:::-;;3974:138:::0;;;:::o;2650:102:2:-;2706:13;2738:7;2731:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:102;:::o;2785:87:13:-;2839:28;477:22;2861:5;2839:10;:28::i;:::-;2785:87;:::o;4837:346::-;477:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4946:16:13::1;4954:7;4946;:16::i;:::-;4938:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5000:12;:21;5013:7;5000:21;;;;;;;;;;;;;;;;;;;;;4999:22;4991:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5092:5;5072:25;;:16;5080:7;5072;:16::i;:::-;:25;;;5057:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;5164:14;5170:7;5164:5;:14::i;:::-;4837:346:::0;;;:::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;2924:79:13:-;2974:24;539:22;2995:2;2974:9;:24::i;:::-;2924:79;:::o;5367:320:2:-;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;441:58:13:-;477:22;441:58;:::o;2818:329:2:-;2891:13;2924:16;2932:7;2924;:16::i;:::-;2916:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;3003:21;3027:10;:8;:10::i;:::-;3003:34;;3078:1;3060:7;3054:21;:25;:86;;;;;;;;;;;;;;;;;3106:7;3115:18;:7;:16;:18::i;:::-;3089:45;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3054:86;3047:93;;;2818:329;;;:::o;375:62:13:-;413:24;375: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;251:44:13:-;;;;;;;;;;;;;;;;;;;;;;:::o;3215:244::-;539:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3289:16:13::1;3297:7;3289;:16::i;:::-;3281:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3346:12;:21;3359:7;3346:21;;;;;;;;;;;;;;;;;;;;;3345:22;3337:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3426:4;3402:12;:21;3415:7;3402:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3446:7;3441:13;;;;;;;;;;3215:244:::0;;:::o;4502:162:2:-;4599:4;4622:18;:25;4641:5;4622:25;;;;;;;;;;;;;;;:35;4648:8;4622:35;;;;;;;;;;;;;;;;;;;;;;;;;4615:42;;4502:162;;;;:::o;3831:103:13:-;3889:4;3908:12;:21;3921:7;3908:21;;;;;;;;;;;;;;;;;;;;;3901:28;;3831:103;;;:::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;8116:108:2:-;8191:26;8201:2;8205:7;8191:26;;;;;;;;;;;;:9;:26::i;:::-;8116:108;;:::o;9722:406::-;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;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;1244:106:13:-;1304:13;1332;1325:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:106;:::o;328:703:10:-;384:13;610:1;601:5;:10;597:51;;;627:10;;;;;;;;;;;;;;;;;;;;;597:51;657:12;672:5;657:20;;687:14;711:75;726:1;718:4;:9;711:75;;743:8;;;;;:::i;:::-;;;;773:2;765:10;;;;;:::i;:::-;;;711:75;;;795:19;827:6;817:17;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;795:39;;844:150;860:1;851:5;:10;844:150;;887:1;877:11;;;;;:::i;:::-;;;953:2;945:5;:10;;;;:::i;:::-;932:2;:24;;;;:::i;:::-;919:39;;902:6;909;902:14;;;;;;;;:::i;:::-;;;;;:56;;;;;;;;;;;981:2;972:11;;;;;:::i;:::-;;;844:150;;;1017:6;1003:21;;;;;328:703;;;;:::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;4174:259:13:-;4322:12;:21;4335:7;4322:21;;;;;;;;;;;;;;;;;;;;;4321:22;4313:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4383:45;4410:4;4416:2;4420:7;4383:26;:45::i;:::-;4174:259;;;:::o;14162:121:2:-;;;;:::o;1588:441:10:-;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:11:-;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;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;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:117::-;9895:1;9892;9885:12;9909:117;10018:1;10015;10008:12;10032:180;10080:77;10077:1;10070:88;10177:4;10174:1;10167:15;10201:4;10198:1;10191:15;10218:281;10301:27;10323:4;10301:27;:::i;:::-;10293:6;10289:40;10431:6;10419:10;10416:22;10395:18;10383:10;10380:34;10377:62;10374:88;;;10442:18;;:::i;:::-;10374:88;10482:10;10478:2;10471:22;10261:238;10218:281;;:::o;10505:129::-;10539:6;10566:20;;:::i;:::-;10556:30;;10595:33;10623:4;10615:6;10595:33;:::i;:::-;10505:129;;;:::o;10640:308::-;10702:4;10792:18;10784:6;10781:30;10778:56;;;10814:18;;:::i;:::-;10778:56;10852:29;10874:6;10852:29;:::i;:::-;10844:37;;10936:4;10930;10926:15;10918:23;;10640:308;;;:::o;10954:154::-;11038:6;11033:3;11028;11015:30;11100:1;11091:6;11086:3;11082:16;11075:27;10954:154;;;:::o;11114:412::-;11192:5;11217:66;11233:49;11275:6;11233:49;:::i;:::-;11217:66;:::i;:::-;11208:75;;11306:6;11299:5;11292:21;11344:4;11337:5;11333:16;11382:3;11373:6;11368:3;11364:16;11361:25;11358:112;;;11389:79;;:::i;:::-;11358:112;11479:41;11513:6;11508:3;11503;11479:41;:::i;:::-;11198:328;11114:412;;;;;:::o;11546:340::-;11602:5;11651:3;11644:4;11636:6;11632:17;11628:27;11618:122;;11659:79;;:::i;:::-;11618:122;11776:6;11763:20;11801:79;11876:3;11868:6;11861:4;11853:6;11849:17;11801:79;:::i;:::-;11792:88;;11608:278;11546:340;;;;:::o;11892:509::-;11961:6;12010:2;11998:9;11989:7;11985:23;11981:32;11978:119;;;12016:79;;:::i;:::-;11978:119;12164:1;12153:9;12149:17;12136:31;12194:18;12186:6;12183:30;12180:117;;;12216:79;;:::i;:::-;12180:117;12321:63;12376:7;12367:6;12356:9;12352:22;12321:63;:::i;:::-;12311:73;;12107:287;11892:509;;;;:::o;12407:117::-;12516:1;12513;12506:12;12530:117;12639:1;12636;12629:12;12667:553;12725:8;12735:6;12785:3;12778:4;12770:6;12766:17;12762:27;12752:122;;12793:79;;:::i;:::-;12752:122;12906:6;12893:20;12883:30;;12936:18;12928:6;12925:30;12922:117;;;12958:79;;:::i;:::-;12922:117;13072:4;13064:6;13060:17;13048:29;;13126:3;13118:4;13110:6;13106:17;13096:8;13092:32;13089:41;13086:128;;;13133:79;;:::i;:::-;13086:128;12667:553;;;;;:::o;13226:529::-;13297:6;13305;13354:2;13342:9;13333:7;13329:23;13325:32;13322:119;;;13360:79;;:::i;:::-;13322:119;13508:1;13497:9;13493:17;13480:31;13538:18;13530:6;13527:30;13524:117;;;13560:79;;:::i;:::-;13524:117;13673:65;13730:7;13721:6;13710:9;13706:22;13673:65;:::i;:::-;13655:83;;;;13451:297;13226:529;;;;;:::o;13761:116::-;13831:21;13846:5;13831:21;:::i;:::-;13824:5;13821:32;13811:60;;13867:1;13864;13857:12;13811:60;13761:116;:::o;13883:133::-;13926:5;13964:6;13951:20;13942:29;;13980:30;14004:5;13980:30;:::i;:::-;13883:133;;;;:::o;14022:468::-;14087:6;14095;14144:2;14132:9;14123:7;14119:23;14115:32;14112:119;;;14150:79;;:::i;:::-;14112:119;14270:1;14295:53;14340:7;14331:6;14320:9;14316:22;14295:53;:::i;:::-;14285:63;;14241:117;14397:2;14423:50;14465:7;14456:6;14445:9;14441:22;14423:50;:::i;:::-;14413:60;;14368:115;14022:468;;;;;:::o;14496:307::-;14557:4;14647:18;14639:6;14636:30;14633:56;;;14669:18;;:::i;:::-;14633:56;14707:29;14729:6;14707:29;:::i;:::-;14699:37;;14791:4;14785;14781:15;14773:23;;14496:307;;;:::o;14809:410::-;14886:5;14911:65;14927:48;14968:6;14927:48;:::i;:::-;14911:65;:::i;:::-;14902:74;;14999:6;14992:5;14985:21;15037:4;15030:5;15026:16;15075:3;15066:6;15061:3;15057:16;15054:25;15051:112;;;15082:79;;:::i;:::-;15051:112;15172:41;15206:6;15201:3;15196;15172:41;:::i;:::-;14892:327;14809:410;;;;;:::o;15238:338::-;15293:5;15342:3;15335:4;15327:6;15323:17;15319:27;15309:122;;15350:79;;:::i;:::-;15309:122;15467:6;15454:20;15492:78;15566:3;15558:6;15551:4;15543:6;15539:17;15492:78;:::i;:::-;15483:87;;15299:277;15238:338;;;;:::o;15582:943::-;15677:6;15685;15693;15701;15750:3;15738:9;15729:7;15725:23;15721:33;15718:120;;;15757:79;;:::i;:::-;15718:120;15877:1;15902:53;15947:7;15938:6;15927:9;15923:22;15902:53;:::i;:::-;15892:63;;15848:117;16004:2;16030:53;16075:7;16066:6;16055:9;16051:22;16030:53;:::i;:::-;16020:63;;15975:118;16132:2;16158:53;16203:7;16194:6;16183:9;16179:22;16158:53;:::i;:::-;16148:63;;16103:118;16288:2;16277:9;16273:18;16260:32;16319:18;16311:6;16308:30;16305:117;;;16341:79;;:::i;:::-;16305:117;16446:62;16500:7;16491:6;16480:9;16476:22;16446:62;:::i;:::-;16436:72;;16231:287;15582:943;;;;;;;:::o;16531:474::-;16599:6;16607;16656:2;16644:9;16635:7;16631:23;16627:32;16624:119;;;16662:79;;:::i;:::-;16624:119;16782:1;16807:53;16852:7;16843:6;16832:9;16828:22;16807:53;:::i;:::-;16797:63;;16753:117;16909:2;16935:53;16980:7;16971:6;16960:9;16956:22;16935:53;:::i;:::-;16925:63;;16880:118;16531:474;;;;;:::o;17011:180::-;17059:77;17056:1;17049:88;17156:4;17153:1;17146:15;17180:4;17177:1;17170:15;17197:320;17241:6;17278:1;17272:4;17268:12;17258:22;;17325:1;17319:4;17315:12;17346:18;17336:81;;17402:4;17394:6;17390:17;17380:27;;17336:81;17464:2;17456:6;17453:14;17433:18;17430:38;17427:84;;;17483:18;;:::i;:::-;17427:84;17248:269;17197:320;;;:::o;17523:231::-;17663:34;17659:1;17651:6;17647:14;17640:58;17732:14;17727:2;17719:6;17715:15;17708:39;17523:231;:::o;17760:366::-;17902:3;17923:67;17987:2;17982:3;17923:67;:::i;:::-;17916:74;;17999:93;18088:3;17999:93;:::i;:::-;18117:2;18112:3;18108:12;18101:19;;17760:366;;;:::o;18132:419::-;18298:4;18336:2;18325:9;18321:18;18313:26;;18385:9;18379:4;18375:20;18371:1;18360:9;18356:17;18349:47;18413:131;18539:4;18413:131;:::i;:::-;18405:139;;18132:419;;;:::o;18557:220::-;18697:34;18693:1;18685:6;18681:14;18674:58;18766:3;18761:2;18753:6;18749:15;18742:28;18557:220;:::o;18783:366::-;18925:3;18946:67;19010:2;19005:3;18946:67;:::i;:::-;18939:74;;19022:93;19111:3;19022:93;:::i;:::-;19140:2;19135:3;19131:12;19124:19;;18783:366;;;:::o;19155:419::-;19321:4;19359:2;19348:9;19344:18;19336:26;;19408:9;19402:4;19398:20;19394:1;19383:9;19379:17;19372:47;19436:131;19562:4;19436:131;:::i;:::-;19428:139;;19155:419;;;:::o;19580:243::-;19720:34;19716:1;19708:6;19704:14;19697:58;19789:26;19784:2;19776:6;19772:15;19765:51;19580:243;:::o;19829:366::-;19971:3;19992:67;20056:2;20051:3;19992:67;:::i;:::-;19985:74;;20068:93;20157:3;20068:93;:::i;:::-;20186:2;20181:3;20177:12;20170:19;;19829:366;;;:::o;20201:419::-;20367:4;20405:2;20394:9;20390:18;20382:26;;20454:9;20448:4;20444:20;20440:1;20429:9;20425:17;20418:47;20482:131;20608:4;20482:131;:::i;:::-;20474:139;;20201:419;;;:::o;20626:236::-;20766:34;20762:1;20754:6;20750:14;20743:58;20835:19;20830:2;20822:6;20818:15;20811:44;20626:236;:::o;20868:366::-;21010:3;21031:67;21095:2;21090:3;21031:67;:::i;:::-;21024:74;;21107:93;21196:3;21107:93;:::i;:::-;21225:2;21220:3;21216:12;21209:19;;20868:366;;;:::o;21240:419::-;21406:4;21444:2;21433:9;21429:18;21421:26;;21493:9;21487:4;21483:20;21479:1;21468:9;21464:17;21457:47;21521:131;21647:4;21521:131;:::i;:::-;21513:139;;21240:419;;;:::o;21665:230::-;21805:34;21801:1;21793:6;21789:14;21782:58;21874:13;21869:2;21861:6;21857:15;21850:38;21665:230;:::o;21901:366::-;22043:3;22064:67;22128:2;22123:3;22064:67;:::i;:::-;22057:74;;22140:93;22229:3;22140:93;:::i;:::-;22258:2;22253:3;22249:12;22242:19;;21901:366;;;:::o;22273:419::-;22439:4;22477:2;22466:9;22462:18;22454:26;;22526:9;22520:4;22516:20;22512:1;22501:9;22497:17;22490:47;22554:131;22680:4;22554:131;:::i;:::-;22546:139;;22273:419;;;:::o;22698:234::-;22838:34;22834:1;22826:6;22822:14;22815:58;22907:17;22902:2;22894:6;22890:15;22883:42;22698:234;:::o;22938:366::-;23080:3;23101:67;23165:2;23160:3;23101:67;:::i;:::-;23094:74;;23177:93;23266:3;23177:93;:::i;:::-;23295:2;23290:3;23286:12;23279:19;;22938:366;;;:::o;23310:419::-;23476:4;23514:2;23503:9;23499:18;23491:26;;23563:9;23557:4;23553:20;23549:1;23538:9;23534:17;23527:47;23591:131;23717:4;23591:131;:::i;:::-;23583:139;;23310:419;;;:::o;23735:167::-;23875:19;23871:1;23863:6;23859:14;23852:43;23735:167;:::o;23908:366::-;24050:3;24071:67;24135:2;24130:3;24071:67;:::i;:::-;24064:74;;24147:93;24236:3;24147:93;:::i;:::-;24265:2;24260:3;24256:12;24249:19;;23908:366;;;:::o;24280:419::-;24446:4;24484:2;24473:9;24469:18;24461:26;;24533:9;24527:4;24523:20;24519:1;24508:9;24504:17;24497:47;24561:131;24687:4;24561:131;:::i;:::-;24553:139;;24280:419;;;:::o;24705:180::-;24753:77;24750:1;24743:88;24850:4;24847:1;24840:15;24874:4;24871:1;24864:15;24891:305;24931:3;24950:20;24968:1;24950:20;:::i;:::-;24945:25;;24984:20;25002:1;24984:20;:::i;:::-;24979:25;;25138:1;25070:66;25066:74;25063:1;25060:81;25057:107;;;25144:18;;:::i;:::-;25057:107;25188:1;25185;25181:9;25174:16;;24891:305;;;;:::o;25202:173::-;25342:25;25338:1;25330:6;25326:14;25319:49;25202:173;:::o;25381:366::-;25523:3;25544:67;25608:2;25603:3;25544:67;:::i;:::-;25537:74;;25620:93;25709:3;25620:93;:::i;:::-;25738:2;25733:3;25729:12;25722:19;;25381:366;;;:::o;25753:419::-;25919:4;25957:2;25946:9;25942:18;25934:26;;26006:9;26000:4;25996:20;25992:1;25981:9;25977:17;25970:47;26034:131;26160:4;26034:131;:::i;:::-;26026:139;;25753:419;;;:::o;26178:180::-;26226:77;26223:1;26216:88;26323:4;26320:1;26313:15;26347:4;26344:1;26337:15;26364:233;26403:3;26426:24;26444:5;26426:24;:::i;:::-;26417:33;;26472:66;26465:5;26462:77;26459:103;;;26542:18;;:::i;:::-;26459:103;26589:1;26582:5;26578:13;26571:20;;26364:233;;;:::o;26603:231::-;26743:34;26739:1;26731:6;26727:14;26720:58;26812:14;26807:2;26799:6;26795:15;26788:39;26603:231;:::o;26840:366::-;26982:3;27003:67;27067:2;27062:3;27003:67;:::i;:::-;26996:74;;27079:93;27168:3;27079:93;:::i;:::-;27197:2;27192:3;27188:12;27181:19;;26840:366;;;:::o;27212:419::-;27378:4;27416:2;27405:9;27401:18;27393:26;;27465:9;27459:4;27455:20;27451:1;27440:9;27436:17;27429:47;27493:131;27619:4;27493:131;:::i;:::-;27485:139;;27212:419;;;:::o;27637:171::-;27777:23;27773:1;27765:6;27761:14;27754:47;27637:171;:::o;27814:366::-;27956:3;27977:67;28041:2;28036:3;27977:67;:::i;:::-;27970:74;;28053:93;28142:3;28053:93;:::i;:::-;28171:2;28166:3;28162:12;28155:19;;27814:366;;;:::o;28186:419::-;28352:4;28390:2;28379:9;28375:18;28367:26;;28439:9;28433:4;28429:20;28425:1;28414:9;28410:17;28403:47;28467:131;28593:4;28467:131;:::i;:::-;28459:139;;28186:419;;;:::o;28611:176::-;28751:28;28747:1;28739:6;28735:14;28728:52;28611:176;:::o;28793:366::-;28935:3;28956:67;29020:2;29015:3;28956:67;:::i;:::-;28949:74;;29032:93;29121:3;29032:93;:::i;:::-;29150:2;29145:3;29141:12;29134:19;;28793:366;;;:::o;29165:419::-;29331:4;29369:2;29358:9;29354:18;29346:26;;29418:9;29412:4;29408:20;29404:1;29393:9;29389:17;29382:47;29446:131;29572:4;29446:131;:::i;:::-;29438:139;;29165:419;;;:::o;29590:228::-;29730:34;29726:1;29718:6;29714:14;29707:58;29799:11;29794:2;29786:6;29782:15;29775:36;29590:228;:::o;29824:366::-;29966:3;29987:67;30051:2;30046:3;29987:67;:::i;:::-;29980:74;;30063:93;30152:3;30063:93;:::i;:::-;30181:2;30176:3;30172:12;30165:19;;29824:366;;;:::o;30196:419::-;30362:4;30400:2;30389:9;30385:18;30377:26;;30449:9;30443:4;30439:20;30435:1;30424:9;30420:17;30413:47;30477:131;30603:4;30477:131;:::i;:::-;30469:139;;30196:419;;;:::o;30621:229::-;30761:34;30757:1;30749:6;30745:14;30738:58;30830:12;30825:2;30817:6;30813:15;30806:37;30621:229;:::o;30856:366::-;30998:3;31019:67;31083:2;31078:3;31019:67;:::i;:::-;31012:74;;31095:93;31184:3;31095:93;:::i;:::-;31213:2;31208:3;31204:12;31197:19;;30856:366;;;:::o;31228:419::-;31394:4;31432:2;31421:9;31417:18;31409:26;;31481:9;31475:4;31471:20;31467:1;31456:9;31452:17;31445:47;31509:131;31635:4;31509:131;:::i;:::-;31501:139;;31228:419;;;:::o;31653:168::-;31793:20;31789:1;31781:6;31777:14;31770:44;31653:168;:::o;31827:366::-;31969:3;31990:67;32054:2;32049:3;31990:67;:::i;:::-;31983:74;;32066:93;32155:3;32066:93;:::i;:::-;32184:2;32179:3;32175:12;32168:19;;31827:366;;;:::o;32199:419::-;32365:4;32403:2;32392:9;32388:18;32380:26;;32452:9;32446:4;32442:20;32438:1;32427:9;32423:17;32416:47;32480:131;32606:4;32480:131;:::i;:::-;32472:139;;32199:419;;;:::o;32624:175::-;32764:27;32760:1;32752:6;32748:14;32741:51;32624:175;:::o;32805:366::-;32947:3;32968:67;33032:2;33027:3;32968:67;:::i;:::-;32961:74;;33044:93;33133:3;33044:93;:::i;:::-;33162:2;33157:3;33153:12;33146:19;;32805:366;;;:::o;33177:419::-;33343:4;33381:2;33370:9;33366:18;33358:26;;33430:9;33424:4;33420:20;33416:1;33405:9;33401:17;33394:47;33458:131;33584:4;33458:131;:::i;:::-;33450:139;;33177:419;;;:::o;33602:232::-;33742:34;33738:1;33730:6;33726:14;33719:58;33811:15;33806:2;33798:6;33794:15;33787:40;33602:232;:::o;33840:366::-;33982:3;34003:67;34067:2;34062:3;34003:67;:::i;:::-;33996:74;;34079:93;34168:3;34079:93;:::i;:::-;34197:2;34192:3;34188:12;34181:19;;33840:366;;;:::o;34212:419::-;34378:4;34416:2;34405:9;34401:18;34393:26;;34465:9;34459:4;34455:20;34451:1;34440:9;34436:17;34429:47;34493:131;34619:4;34493:131;:::i;:::-;34485:139;;34212:419;;;:::o;34637:234::-;34777:34;34773:1;34765:6;34761:14;34754:58;34846:17;34841:2;34833:6;34829:15;34822:42;34637:234;:::o;34877:366::-;35019:3;35040:67;35104:2;35099:3;35040:67;:::i;:::-;35033:74;;35116:93;35205:3;35116:93;:::i;:::-;35234:2;35229:3;35225:12;35218:19;;34877:366;;;:::o;35249:419::-;35415:4;35453:2;35442:9;35438:18;35430:26;;35502:9;35496:4;35492:20;35488:1;35477:9;35473:17;35466:47;35530:131;35656:4;35530:131;:::i;:::-;35522:139;;35249:419;;;:::o;35674:148::-;35776:11;35813:3;35798:18;;35674:148;;;;:::o;35828:377::-;35934:3;35962:39;35995:5;35962:39;:::i;:::-;36017:89;36099:6;36094:3;36017:89;:::i;:::-;36010:96;;36115:52;36160:6;36155:3;36148:4;36141:5;36137:16;36115:52;:::i;:::-;36192:6;36187:3;36183:16;36176:23;;35938:267;35828:377;;;;:::o;36211:435::-;36391:3;36413:95;36504:3;36495:6;36413:95;:::i;:::-;36406:102;;36525:95;36616:3;36607:6;36525:95;:::i;:::-;36518:102;;36637:3;36630:10;;36211:435;;;;;:::o;36652:174::-;36792:26;36788:1;36780:6;36776:14;36769:50;36652:174;:::o;36832:366::-;36974:3;36995:67;37059:2;37054:3;36995:67;:::i;:::-;36988:74;;37071:93;37160:3;37071:93;:::i;:::-;37189:2;37184:3;37180:12;37173:19;;36832:366;;;:::o;37204:419::-;37370:4;37408:2;37397:9;37393:18;37385:26;;37457:9;37451:4;37447:20;37443:1;37432:9;37428:17;37421:47;37485:131;37611:4;37485:131;:::i;:::-;37477:139;;37204:419;;;:::o;37629:231::-;37769:34;37765:1;37757:6;37753:14;37746:58;37838:14;37833:2;37825:6;37821:15;37814:39;37629:231;:::o;37866:366::-;38008:3;38029:67;38093:2;38088:3;38029:67;:::i;:::-;38022:74;;38105:93;38194:3;38105:93;:::i;:::-;38223:2;38218:3;38214:12;38207:19;;37866:366;;;:::o;38238:419::-;38404:4;38442:2;38431:9;38427:18;38419:26;;38491:9;38485:4;38481:20;38477:1;38466:9;38462:17;38455:47;38519:131;38645:4;38519:131;:::i;:::-;38511:139;;38238:419;;;:::o;38663:224::-;38803:34;38799:1;38791:6;38787:14;38780:58;38872:7;38867:2;38859:6;38855:15;38848:32;38663:224;:::o;38893:366::-;39035:3;39056:67;39120:2;39115:3;39056:67;:::i;:::-;39049:74;;39132:93;39221:3;39132:93;:::i;:::-;39250:2;39245:3;39241:12;39234:19;;38893:366;;;:::o;39265:419::-;39431:4;39469:2;39458:9;39454:18;39446:26;;39518:9;39512:4;39508:20;39504:1;39493:9;39489:17;39482:47;39546:131;39672:4;39546:131;:::i;:::-;39538:139;;39265:419;;;:::o;39690:223::-;39830:34;39826:1;39818:6;39814:14;39807:58;39899:6;39894:2;39886:6;39882:15;39875:31;39690:223;:::o;39919:366::-;40061:3;40082:67;40146:2;40141:3;40082:67;:::i;:::-;40075:74;;40158:93;40247:3;40158:93;:::i;:::-;40276:2;40271:3;40267:12;40260:19;;39919:366;;;:::o;40291:419::-;40457:4;40495:2;40484:9;40480:18;40472:26;;40544:9;40538:4;40534:20;40530:1;40519:9;40515:17;40508:47;40572:131;40698:4;40572:131;:::i;:::-;40564:139;;40291:419;;;:::o;40716:191::-;40756:4;40776:20;40794:1;40776:20;:::i;:::-;40771:25;;40810:20;40828:1;40810:20;:::i;:::-;40805:25;;40849:1;40846;40843:8;40840:34;;;40854:18;;:::i;:::-;40840:34;40899:1;40896;40892:9;40884:17;;40716:191;;;;:::o;40913:173::-;41053:25;41049:1;41041:6;41037:14;41030:49;40913:173;:::o;41092:402::-;41252:3;41273:85;41355:2;41350:3;41273:85;:::i;:::-;41266:92;;41367:93;41456:3;41367:93;:::i;:::-;41485:2;41480:3;41476:12;41469:19;;41092:402;;;:::o;41500:167::-;41640:19;41636:1;41628:6;41624:14;41617:43;41500:167;:::o;41673:402::-;41833:3;41854:85;41936:2;41931:3;41854:85;:::i;:::-;41847:92;;41948:93;42037:3;41948:93;:::i;:::-;42066:2;42061:3;42057:12;42050:19;;41673:402;;;:::o;42081:967::-;42463:3;42485:148;42629:3;42485:148;:::i;:::-;42478:155;;42650:95;42741:3;42732:6;42650:95;:::i;:::-;42643:102;;42762:148;42906:3;42762:148;:::i;:::-;42755:155;;42927:95;43018:3;43009:6;42927:95;:::i;:::-;42920:102;;43039:3;43032:10;;42081:967;;;;;:::o;43054:175::-;43194:27;43190:1;43182:6;43178:14;43171:51;43054:175;:::o;43235:366::-;43377:3;43398:67;43462:2;43457:3;43398:67;:::i;:::-;43391:74;;43474:93;43563:3;43474:93;:::i;:::-;43592:2;43587:3;43583:12;43576:19;;43235:366;;;:::o;43607:419::-;43773:4;43811:2;43800:9;43796:18;43788:26;;43860:9;43854:4;43850:20;43846:1;43835:9;43831:17;43824:47;43888:131;44014:4;43888:131;:::i;:::-;43880:139;;43607:419;;;:::o;44032:237::-;44172:34;44168:1;44160:6;44156:14;44149:58;44241:20;44236:2;44228:6;44224:15;44217:45;44032:237;:::o;44275:366::-;44417:3;44438:67;44502:2;44497:3;44438:67;:::i;:::-;44431:74;;44514:93;44603:3;44514:93;:::i;:::-;44632:2;44627:3;44623:12;44616:19;;44275:366;;;:::o;44647:419::-;44813:4;44851:2;44840:9;44836:18;44828:26;;44900:9;44894:4;44890:20;44886:1;44875:9;44871:17;44864:47;44928:131;45054:4;44928:131;:::i;:::-;44920:139;;44647:419;;;:::o;45072:180::-;45120:77;45117:1;45110:88;45217:4;45214:1;45207:15;45241:4;45238:1;45231:15;45258:185;45298:1;45315:20;45333:1;45315:20;:::i;:::-;45310:25;;45349:20;45367:1;45349:20;:::i;:::-;45344:25;;45388:1;45378:35;;45393:18;;:::i;:::-;45378:35;45435:1;45432;45428:9;45423:14;;45258:185;;;;:::o;45449:176::-;45481:1;45498:20;45516:1;45498:20;:::i;:::-;45493:25;;45532:20;45550:1;45532:20;:::i;:::-;45527:25;;45571:1;45561:35;;45576:18;;:::i;:::-;45561:35;45617:1;45614;45610:9;45605:14;;45449:176;;;;:::o;45631:179::-;45771:31;45767:1;45759:6;45755:14;45748:55;45631:179;:::o;45816:366::-;45958:3;45979:67;46043:2;46038:3;45979:67;:::i;:::-;45972:74;;46055:93;46144:3;46055:93;:::i;:::-;46173:2;46168:3;46164:12;46157:19;;45816:366;;;:::o;46188:419::-;46354:4;46392:2;46381:9;46377:18;46369:26;;46441:9;46435:4;46431:20;46427:1;46416:9;46412:17;46405:47;46469:131;46595:4;46469:131;:::i;:::-;46461:139;;46188:419;;;:::o;46613:348::-;46653:7;46676:20;46694:1;46676:20;:::i;:::-;46671:25;;46710:20;46728:1;46710:20;:::i;:::-;46705:25;;46898:1;46830:66;46826:74;46823:1;46820:81;46815:1;46808:9;46801:17;46797:105;46794:131;;;46905:18;;:::i;:::-;46794:131;46953:1;46950;46946:9;46935:20;;46613:348;;;;:::o;46967:171::-;47006:3;47029:24;47047:5;47029:24;:::i;:::-;47020:33;;47075:4;47068:5;47065:15;47062:41;;;47083:18;;:::i;:::-;47062:41;47130:1;47123:5;47119:13;47112:20;;46967:171;;;:::o;47144:182::-;47284:34;47280:1;47272:6;47268:14;47261:58;47144:182;:::o;47332:366::-;47474:3;47495:67;47559:2;47554:3;47495:67;:::i;:::-;47488:74;;47571:93;47660:3;47571:93;:::i;:::-;47689:2;47684:3;47680:12;47673:19;;47332:366;;;:::o;47704:419::-;47870:4;47908:2;47897:9;47893:18;47885:26;;47957:9;47951:4;47947:20;47943:1;47932:9;47928:17;47921:47;47985:131;48111:4;47985:131;:::i;:::-;47977:139;;47704:419;;;:::o;48129:98::-;48180:6;48214:5;48208:12;48198:22;;48129:98;;;:::o;48233:168::-;48316:11;48350:6;48345:3;48338:19;48390:4;48385:3;48381:14;48366:29;;48233:168;;;;:::o;48407:360::-;48493:3;48521:38;48553:5;48521:38;:::i;:::-;48575:70;48638:6;48633:3;48575:70;:::i;:::-;48568:77;;48654:52;48699:6;48694:3;48687:4;48680:5;48676:16;48654:52;:::i;:::-;48731:29;48753:6;48731:29;:::i;:::-;48726:3;48722:39;48715:46;;48497:270;48407:360;;;;:::o;48773:640::-;48968:4;49006:3;48995:9;48991:19;48983:27;;49020:71;49088:1;49077:9;49073:17;49064:6;49020:71;:::i;:::-;49101:72;49169:2;49158:9;49154:18;49145:6;49101:72;:::i;:::-;49183;49251:2;49240:9;49236:18;49227:6;49183:72;:::i;:::-;49302:9;49296:4;49292:20;49287:2;49276:9;49272:18;49265:48;49330:76;49401:4;49392:6;49330:76;:::i;:::-;49322:84;;48773:640;;;;;;;:::o;49419:141::-;49475:5;49506:6;49500:13;49491:22;;49522:32;49548:5;49522:32;:::i;:::-;49419:141;;;;:::o;49566:349::-;49635:6;49684:2;49672:9;49663:7;49659:23;49655:32;49652:119;;;49690:79;;:::i;:::-;49652:119;49810:1;49835:63;49890:7;49881:6;49870:9;49866:22;49835:63;:::i;:::-;49825:73;;49781:127;49566:349;;;;:::o;49921:182::-;50061:34;50057:1;50049:6;50045:14;50038:58;49921:182;:::o;50109:366::-;50251:3;50272:67;50336:2;50331:3;50272:67;:::i;:::-;50265:74;;50348:93;50437:3;50348:93;:::i;:::-;50466:2;50461:3;50457:12;50450:19;;50109:366;;;:::o;50481:419::-;50647:4;50685:2;50674:9;50670:18;50662:26;;50734:9;50728:4;50724:20;50720:1;50709:9;50705:17;50698:47;50762:131;50888:4;50762:131;:::i;:::-;50754:139;;50481:419;;;:::o;50906:178::-;51046:30;51042:1;51034:6;51030:14;51023:54;50906:178;:::o;51090:366::-;51232:3;51253:67;51317:2;51312:3;51253:67;:::i;:::-;51246:74;;51329:93;51418:3;51329:93;:::i;:::-;51447:2;51442:3;51438:12;51431:19;;51090:366;;;:::o;51462:419::-;51628:4;51666:2;51655:9;51651:18;51643:26;;51715:9;51709:4;51705:20;51701:1;51690:9;51686:17;51679:47;51743:131;51869:4;51743:131;:::i;:::-;51735:139;;51462:419;;;:::o;51887:180::-;51935:77;51932:1;51925:88;52032:4;52029:1;52022:15;52056:4;52053:1;52046:15", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract BEBadge is AccessControl, ERC721Enumerable {\n mapping(uint256 => bool) public lockedTokens;\n string private _baseTokenURI = \"https://market.cebg.games/api/nft/info/\";\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n bytes32 public constant LOCK_ROLE = keccak256(\"LOCK_ROLE\");\n uint256 public immutable supplyLimit;\n uint256 tokenIndex;\n\n event Lock(uint256 indexed tokenId);\n event UnLock(uint256 indexed tokenId);\n event BatchMint(address indexed to, uint256[] tokenIds);\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint256 _supplyLimt\n ) ERC721(_name, _symbol) {\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(LOCK_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 _setupRole(LOCK_ROLE, msg.sender);\n supplyLimit = _supplyLimt;\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n function setBaseURI(\n string memory baseURI_\n ) external onlyRole(DEFAULT_ADMIN_ROLE) {\n _baseTokenURI = baseURI_;\n }\n\n /**\n * @dev Batch mint tokens and transfer to specified address.\n *\n * Requirements:\n * - Caller must have `MINTER_ROLE`.\n * - The total supply limit should not be exceeded.\n * - The number of tokenIds offered for minting should not exceed 100.\n */\n\n function batchMint(\n address to,\n uint256 count\n ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) {\n require(count <= 100, \"tokenIds too many\");\n if (supplyLimit > 0) {\n require(\n (totalSupply() + count) <= supplyLimit,\n \"Exceed the total supply\"\n );\n }\n uint256[] memory tokenIds = new uint256[](count);\n for (uint256 i = 0; i < count; i++) {\n tokenIndex += 1;\n uint256 tokenId = tokenIndex;\n _safeMint(to, tokenId);\n tokenIds[i] = tokenId;\n }\n emit BatchMint(to, tokenIds);\n return tokenIds;\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 proxy) external {\n revokeRole(BURN_ROLE, proxy);\n }\n\n /**\n * @dev Add address for lock item\n */\n function grantLockRole(address to) external {\n grantRole(LOCK_ROLE, to);\n }\n\n /**\n * @dev Remove address for lock item\n */\n function removeLockRole(address account) external {\n revokeRole(LOCK_ROLE, account);\n }\n\n /**\n * @dev Lock token to use in game or for rental\n */\n function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(!lockedTokens[tokenId], \"Token has already locked\");\n lockedTokens[tokenId] = true;\n emit Lock(tokenId);\n }\n\n /**\n * @dev Unlock token to use blockchain or sale on marketplace\n */\n function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(lockedTokens[tokenId], \"Token has already unlocked\");\n lockedTokens[tokenId] = false;\n emit UnLock(tokenId);\n }\n\n /**\n * @dev Get lock status\n */\n function isLocked(uint256 tokenId) external view returns (bool) {\n return lockedTokens[tokenId];\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 See {IERC165-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual override(ERC721Enumerable) {\n require(!lockedTokens[tokenId], \"Can not transfer locked token\");\n super._beforeTokenTransfer(from, to, tokenId);\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 /**\n * @dev Burns `tokenId`.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(\n address owner,\n uint256 tokenId\n ) external virtual onlyRole(BURN_ROLE) {\n require(_exists(tokenId), \"TokenId not exists\");\n require(!lockedTokens[tokenId], \"Can not burn locked token\");\n require(\n ownerOf(tokenId) == owner,\n \"current address is not owner of this item now\"\n );\n _burn(tokenId);\n }\n}\n", + "sourceMap": "195:5114:13:-:0;;;299:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;768:472;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;868:5;875:7;1464:5:2;1456;:13;;;;;;;;;;;;:::i;:::-;;1489:7;1479;:17;;;;;;;;;;;;:::i;:::-;;1390:113;;890:46:13::1;413:24;2072:4:0;917:18:13::0;::::1;890:13;;;:46;;:::i;:::-;942:44;477:22;2072:4:0;967:18:13::0;::::1;942:13;;;:44;;:::i;:::-;992;539:22;2072:4:0;1017:18:13::0;::::1;992:13;;;:44;;:::i;:::-;1043:42;2072:4:0;1054:18:13::0;::::1;1074:10;1043;;;:42;;:::i;:::-;1091:35;413:24;1115:10;1091;;;:35;;:::i;:::-;1132:33;477:22;1154:10;1132;;;:33;;:::i;:::-;1171;539:22;1193:10;1171;;;:33;;:::i;:::-;1224:11;1210:25;;;;::::0;::::1;768:472:::0;;;195:5114;;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;195:5114:13:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:75:14:-;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;195:5114:13:-;;;;;;;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "195:5114:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4616:208;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2488:98:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3999:217;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3537:401;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1615:111:5;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;565:36:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2389:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4726:330:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;503:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1291:253:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2525:77:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:179:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1620:583:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1798:230:5;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2256:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3410:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2191:235:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1929:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2929:91:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3845:138:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2650:102:2;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2656:87:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4961:346;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4283:153:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2795:79:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5367:320:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;441:58:13;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4042:194;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;375:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;251:44:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3086:244;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4502:162:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3702:103:13;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4616:208;4762:4;4783:36;4807:11;4783:23;:36::i;:::-;4776:43;;4616: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;565:36:13:-;;;:::o;2389:83::-;2440:27;413:24;2464:2;2440:10;:27::i;:::-;2389: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;503:58:13:-;539:22;503:58;:::o;4387:145:0:-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;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;2525:77:13:-;2573:24;477:22;2594:2;2573:9;:24::i;:::-;2525: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;1620:583:13:-;1718:16;413:24;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;1759:3:13::1;1750:5;:12;;1742:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;1808:1;1794:11;:15;1790:134;;;1863:11;1853:5;1837:13;:11;:13::i;:::-;:21;;;;:::i;:::-;1836:38;;1819:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;1790:134;1929:25;1971:5;1957:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1929:48;;1988:9;1983:161;2007:5;2003:1;:9;1983:161;;;2041:1;2027:10;;:15;;;;;;;:::i;:::-;;;;;;;;2050;2068:10;;2050:28;;2086:22;2096:2;2100:7;2086:9;:22::i;:::-;2130:7;2116:8;2125:1;2116:11;;;;;;;;:::i;:::-;;;;;;;:21;;;::::0;::::1;2019:125;2014:3;;;;;:::i;:::-;;;;1983:161;;;;2164:2;2154:23;;;2168:8;2154:23;;;;;;:::i;:::-;;;;;;;;2190:8;2183:15;;;1620:583:::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;2256:79:13:-;2304:26;413:24;2327:2;2304:9;:26::i;:::-;2256:79;:::o;3410:250::-;539:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3486:16:13::1;3494:7;3486;:16::i;:::-;3478:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3542:12;:21;3555:7;3542:21;;;;;;;;;;;;;;;;;;;;;3534:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;3624:5;3600:12;:21;3613:7;3600:21;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;3647:7;3640:15;;;;;;;;;;3410:250:::0;;:::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;1929:205::-;2001:7;2045:1;2028:19;;:5;:19;;;;2020:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;2111:9;:16;2121:5;2111:16;;;;;;;;;;;;;;;;2104:23;;1929:205;;;:::o;2929:91:13:-;2985:30;539:22;3007:7;2985:10;:30::i;:::-;2929:91;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;3845:138:13:-;2072:4:0;3924:18:13;;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3966:12:13::1;;3950:13;:28;;;;;;;:::i;:::-;;3845:138:::0;;;:::o;2650:102:2:-;2706:13;2738:7;2731:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2650:102;:::o;2656:87:13:-;2710:28;477:22;2732:5;2710:10;:28::i;:::-;2656:87;:::o;4961:346::-;477:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;5070:16:13::1;5078:7;5070;:16::i;:::-;5062:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;5124:12;:21;5137:7;5124:21;;;;;;;;;;;;;;;;;;;;;5123:22;5115:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;5216:5;5196:25;;:16;5204:7;5196;:16::i;:::-;:25;;;5181:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;5288:14;5294:7;5288:5;:14::i;:::-;4961:346:::0;;;:::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;2795:79:13:-;2845:24;539:22;2866:2;2845:9;:24::i;:::-;2795:79;:::o;5367:320:2:-;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;441:58:13:-;477:22;441:58;:::o;4042:194::-;4123:13;4144:21;4168:10;:8;:10::i;:::-;4144:34;;4215:1;4197:7;4191:21;:25;:40;;;;;;;;;;;;;;;;;4219:7;4191:40;4184:47;;;4042:194;;;:::o;375:62::-;413:24;375: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;251:44:13:-;;;;;;;;;;;;;;;;;;;;;;:::o;3086:244::-;539:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;3160:16:13::1;3168:7;3160;:16::i;:::-;3152:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;3217:12;:21;3230:7;3217:21;;;;;;;;;;;;;;;;;;;;;3216:22;3208:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;3297:4;3273:12;:21;3286:7;3273:21;;;;;;;;;;;;:28;;;;;;;;;;;;;;;;;;3317:7;3312:13;;;;;;;;;;3086:244:::0;;:::o;4502:162:2:-;4599:4;4622:18;:25;4641:5;4622:25;;;;;;;;;;;;;;;:35;4648:8;4622:35;;;;;;;;;;;;;;;;;;;;;;;;;4615:42;;4502:162;;;;:::o;3702:103:13:-;3760:4;3779:12;:21;3792:7;3779:21;;;;;;;;;;;;;;;;;;;;;3772:28;;3702:103;;;:::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;8116:108:2:-;8191:26;8201:2;8205:7;8191:26;;;;;;;;;;;;:9;:26::i;:::-;8116:108;;:::o;9722:406::-;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;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;1244:106:13:-;1304:13;1332;1325:20;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244: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;4298:259:13:-;4446:12;:21;4459:7;4446:21;;;;;;;;;;;;;;;;;;;;;4445:22;4437:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;4507:45;4534:4;4540:2;4544:7;4507:26;:45::i;:::-;4298:259;;;:::o;14162:121:2:-;;;;:::o;1588:441:10:-;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:11:-;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:14:-;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:117::-;9895:1;9892;9885:12;9909:117;10018:1;10015;10008:12;10032:117;10141:1;10138;10131:12;10169:553;10227:8;10237:6;10287:3;10280:4;10272:6;10268:17;10264:27;10254:122;;10295:79;;:::i;:::-;10254:122;10408:6;10395:20;10385:30;;10438:18;10430:6;10427:30;10424:117;;;10460:79;;:::i;:::-;10424:117;10574:4;10566:6;10562:17;10550:29;;10628:3;10620:4;10612:6;10608:17;10598:8;10594:32;10591:41;10588:128;;;10635:79;;:::i;:::-;10588:128;10169:553;;;;;:::o;10728:529::-;10799:6;10807;10856:2;10844:9;10835:7;10831:23;10827:32;10824:119;;;10862:79;;:::i;:::-;10824:119;11010:1;10999:9;10995:17;10982:31;11040:18;11032:6;11029:30;11026:117;;;11062:79;;:::i;:::-;11026:117;11175:65;11232:7;11223:6;11212:9;11208:22;11175:65;:::i;:::-;11157:83;;;;10953:297;10728:529;;;;;:::o;11263:116::-;11333:21;11348:5;11333:21;:::i;:::-;11326:5;11323:32;11313:60;;11369:1;11366;11359:12;11313:60;11263:116;:::o;11385:133::-;11428:5;11466:6;11453:20;11444:29;;11482:30;11506:5;11482:30;:::i;:::-;11385:133;;;;:::o;11524:468::-;11589:6;11597;11646:2;11634:9;11625:7;11621:23;11617:32;11614:119;;;11652:79;;:::i;:::-;11614:119;11772:1;11797:53;11842:7;11833:6;11822:9;11818:22;11797:53;:::i;:::-;11787:63;;11743:117;11899:2;11925:50;11967:7;11958:6;11947:9;11943:22;11925:50;:::i;:::-;11915:60;;11870:115;11524:468;;;;;:::o;11998:117::-;12107:1;12104;12097:12;12121:180;12169:77;12166:1;12159:88;12266:4;12263:1;12256:15;12290:4;12287:1;12280:15;12307:281;12390:27;12412:4;12390:27;:::i;:::-;12382:6;12378:40;12520:6;12508:10;12505:22;12484:18;12472:10;12469:34;12466:62;12463:88;;;12531:18;;:::i;:::-;12463:88;12571:10;12567:2;12560:22;12350:238;12307:281;;:::o;12594:129::-;12628:6;12655:20;;:::i;:::-;12645:30;;12684:33;12712:4;12704:6;12684:33;:::i;:::-;12594:129;;;:::o;12729:307::-;12790:4;12880:18;12872:6;12869:30;12866:56;;;12902:18;;:::i;:::-;12866:56;12940:29;12962:6;12940:29;:::i;:::-;12932:37;;13024:4;13018;13014:15;13006:23;;12729:307;;;:::o;13042:154::-;13126:6;13121:3;13116;13103:30;13188:1;13179:6;13174:3;13170:16;13163:27;13042:154;;;:::o;13202:410::-;13279:5;13304:65;13320:48;13361:6;13320:48;:::i;:::-;13304:65;:::i;:::-;13295:74;;13392:6;13385:5;13378:21;13430:4;13423:5;13419:16;13468:3;13459:6;13454:3;13450:16;13447:25;13444:112;;;13475:79;;:::i;:::-;13444:112;13565:41;13599:6;13594:3;13589;13565:41;:::i;:::-;13285:327;13202:410;;;;;:::o;13631:338::-;13686:5;13735:3;13728:4;13720:6;13716:17;13712:27;13702:122;;13743:79;;:::i;:::-;13702:122;13860:6;13847:20;13885:78;13959:3;13951:6;13944:4;13936:6;13932:17;13885:78;:::i;:::-;13876:87;;13692:277;13631:338;;;;:::o;13975:943::-;14070:6;14078;14086;14094;14143:3;14131:9;14122:7;14118:23;14114:33;14111:120;;;14150:79;;:::i;:::-;14111:120;14270:1;14295:53;14340:7;14331:6;14320:9;14316:22;14295:53;:::i;:::-;14285:63;;14241:117;14397:2;14423:53;14468:7;14459:6;14448:9;14444:22;14423:53;:::i;:::-;14413:63;;14368:118;14525:2;14551:53;14596:7;14587:6;14576:9;14572:22;14551:53;:::i;:::-;14541:63;;14496:118;14681:2;14670:9;14666:18;14653:32;14712:18;14704:6;14701:30;14698:117;;;14734:79;;:::i;:::-;14698:117;14839:62;14893:7;14884:6;14873:9;14869:22;14839:62;:::i;:::-;14829:72;;14624:287;13975:943;;;;;;;:::o;14924:474::-;14992:6;15000;15049:2;15037:9;15028:7;15024:23;15020:32;15017:119;;;15055:79;;:::i;:::-;15017:119;15175:1;15200:53;15245:7;15236:6;15225:9;15221:22;15200:53;:::i;:::-;15190:63;;15146:117;15302:2;15328:53;15373:7;15364:6;15353:9;15349:22;15328:53;:::i;:::-;15318:63;;15273:118;14924:474;;;;;:::o;15404:180::-;15452:77;15449:1;15442:88;15549:4;15546:1;15539:15;15573:4;15570:1;15563:15;15590:320;15634:6;15671:1;15665:4;15661:12;15651:22;;15718:1;15712:4;15708:12;15739:18;15729:81;;15795:4;15787:6;15783:17;15773:27;;15729:81;15857:2;15849:6;15846:14;15826:18;15823:38;15820:84;;;15876:18;;:::i;:::-;15820:84;15641:269;15590:320;;;:::o;15916:231::-;16056:34;16052:1;16044:6;16040:14;16033:58;16125:14;16120:2;16112:6;16108:15;16101:39;15916:231;:::o;16153:366::-;16295:3;16316:67;16380:2;16375:3;16316:67;:::i;:::-;16309:74;;16392:93;16481:3;16392:93;:::i;:::-;16510:2;16505:3;16501:12;16494:19;;16153:366;;;:::o;16525:419::-;16691:4;16729:2;16718:9;16714:18;16706:26;;16778:9;16772:4;16768:20;16764:1;16753:9;16749:17;16742:47;16806:131;16932:4;16806:131;:::i;:::-;16798:139;;16525:419;;;:::o;16950:220::-;17090:34;17086:1;17078:6;17074:14;17067:58;17159:3;17154:2;17146:6;17142:15;17135:28;16950:220;:::o;17176:366::-;17318:3;17339:67;17403:2;17398:3;17339:67;:::i;:::-;17332:74;;17415:93;17504:3;17415:93;:::i;:::-;17533:2;17528:3;17524:12;17517:19;;17176:366;;;:::o;17548:419::-;17714:4;17752:2;17741:9;17737:18;17729:26;;17801:9;17795:4;17791:20;17787:1;17776:9;17772:17;17765:47;17829:131;17955:4;17829:131;:::i;:::-;17821:139;;17548:419;;;:::o;17973:243::-;18113:34;18109:1;18101:6;18097:14;18090:58;18182:26;18177:2;18169:6;18165:15;18158:51;17973:243;:::o;18222:366::-;18364:3;18385:67;18449:2;18444:3;18385:67;:::i;:::-;18378:74;;18461:93;18550:3;18461:93;:::i;:::-;18579:2;18574:3;18570:12;18563:19;;18222:366;;;:::o;18594:419::-;18760:4;18798:2;18787:9;18783:18;18775:26;;18847:9;18841:4;18837:20;18833:1;18822:9;18818:17;18811:47;18875:131;19001:4;18875:131;:::i;:::-;18867:139;;18594:419;;;:::o;19019:236::-;19159:34;19155:1;19147:6;19143:14;19136:58;19228:19;19223:2;19215:6;19211:15;19204:44;19019:236;:::o;19261:366::-;19403:3;19424:67;19488:2;19483:3;19424:67;:::i;:::-;19417:74;;19500:93;19589:3;19500:93;:::i;:::-;19618:2;19613:3;19609:12;19602:19;;19261:366;;;:::o;19633:419::-;19799:4;19837:2;19826:9;19822:18;19814:26;;19886:9;19880:4;19876:20;19872:1;19861:9;19857:17;19850:47;19914:131;20040:4;19914:131;:::i;:::-;19906:139;;19633:419;;;:::o;20058:230::-;20198:34;20194:1;20186:6;20182:14;20175:58;20267:13;20262:2;20254:6;20250:15;20243:38;20058:230;:::o;20294:366::-;20436:3;20457:67;20521:2;20516:3;20457:67;:::i;:::-;20450:74;;20533:93;20622:3;20533:93;:::i;:::-;20651:2;20646:3;20642:12;20635:19;;20294:366;;;:::o;20666:419::-;20832:4;20870:2;20859:9;20855:18;20847:26;;20919:9;20913:4;20909:20;20905:1;20894:9;20890:17;20883:47;20947:131;21073:4;20947:131;:::i;:::-;20939:139;;20666:419;;;:::o;21091:234::-;21231:34;21227:1;21219:6;21215:14;21208:58;21300:17;21295:2;21287:6;21283:15;21276:42;21091:234;:::o;21331:366::-;21473:3;21494:67;21558:2;21553:3;21494:67;:::i;:::-;21487:74;;21570:93;21659:3;21570:93;:::i;:::-;21688:2;21683:3;21679:12;21672:19;;21331:366;;;:::o;21703:419::-;21869:4;21907:2;21896:9;21892:18;21884:26;;21956:9;21950:4;21946:20;21942:1;21931:9;21927:17;21920:47;21984:131;22110:4;21984:131;:::i;:::-;21976:139;;21703:419;;;:::o;22128:167::-;22268:19;22264:1;22256:6;22252:14;22245:43;22128:167;:::o;22301:366::-;22443:3;22464:67;22528:2;22523:3;22464:67;:::i;:::-;22457:74;;22540:93;22629:3;22540:93;:::i;:::-;22658:2;22653:3;22649:12;22642:19;;22301:366;;;:::o;22673:419::-;22839:4;22877:2;22866:9;22862:18;22854:26;;22926:9;22920:4;22916:20;22912:1;22901:9;22897:17;22890:47;22954:131;23080:4;22954:131;:::i;:::-;22946:139;;22673:419;;;:::o;23098:180::-;23146:77;23143:1;23136:88;23243:4;23240:1;23233:15;23267:4;23264:1;23257:15;23284:305;23324:3;23343:20;23361:1;23343:20;:::i;:::-;23338:25;;23377:20;23395:1;23377:20;:::i;:::-;23372:25;;23531:1;23463:66;23459:74;23456:1;23453:81;23450:107;;;23537:18;;:::i;:::-;23450:107;23581:1;23578;23574:9;23567:16;;23284:305;;;;:::o;23595:173::-;23735:25;23731:1;23723:6;23719:14;23712:49;23595:173;:::o;23774:366::-;23916:3;23937:67;24001:2;23996:3;23937:67;:::i;:::-;23930:74;;24013:93;24102:3;24013:93;:::i;:::-;24131:2;24126:3;24122:12;24115:19;;23774:366;;;:::o;24146:419::-;24312:4;24350:2;24339:9;24335:18;24327:26;;24399:9;24393:4;24389:20;24385:1;24374:9;24370:17;24363:47;24427:131;24553:4;24427:131;:::i;:::-;24419:139;;24146:419;;;:::o;24571:180::-;24619:77;24616:1;24609:88;24716:4;24713:1;24706:15;24740:4;24737:1;24730:15;24757:233;24796:3;24819:24;24837:5;24819:24;:::i;:::-;24810:33;;24865:66;24858:5;24855:77;24852:103;;;24935:18;;:::i;:::-;24852:103;24982:1;24975:5;24971:13;24964:20;;24757:233;;;:::o;24996:231::-;25136:34;25132:1;25124:6;25120:14;25113:58;25205:14;25200:2;25192:6;25188:15;25181:39;24996:231;:::o;25233:366::-;25375:3;25396:67;25460:2;25455:3;25396:67;:::i;:::-;25389:74;;25472:93;25561:3;25472:93;:::i;:::-;25590:2;25585:3;25581:12;25574:19;;25233:366;;;:::o;25605:419::-;25771:4;25809:2;25798:9;25794:18;25786:26;;25858:9;25852:4;25848:20;25844:1;25833:9;25829:17;25822:47;25886:131;26012:4;25886:131;:::i;:::-;25878:139;;25605:419;;;:::o;26030:171::-;26170:23;26166:1;26158:6;26154:14;26147:47;26030:171;:::o;26207:366::-;26349:3;26370:67;26434:2;26429:3;26370:67;:::i;:::-;26363:74;;26446:93;26535:3;26446:93;:::i;:::-;26564:2;26559:3;26555:12;26548:19;;26207:366;;;:::o;26579:419::-;26745:4;26783:2;26772:9;26768:18;26760:26;;26832:9;26826:4;26822:20;26818:1;26807:9;26803:17;26796:47;26860:131;26986:4;26860:131;:::i;:::-;26852:139;;26579:419;;;:::o;27004:176::-;27144:28;27140:1;27132:6;27128:14;27121:52;27004:176;:::o;27186:366::-;27328:3;27349:67;27413:2;27408:3;27349:67;:::i;:::-;27342:74;;27425:93;27514:3;27425:93;:::i;:::-;27543:2;27538:3;27534:12;27527:19;;27186:366;;;:::o;27558:419::-;27724:4;27762:2;27751:9;27747:18;27739:26;;27811:9;27805:4;27801:20;27797:1;27786:9;27782:17;27775:47;27839:131;27965:4;27839:131;:::i;:::-;27831:139;;27558:419;;;:::o;27983:228::-;28123:34;28119:1;28111:6;28107:14;28100:58;28192:11;28187:2;28179:6;28175:15;28168:36;27983:228;:::o;28217:366::-;28359:3;28380:67;28444:2;28439:3;28380:67;:::i;:::-;28373:74;;28456:93;28545:3;28456:93;:::i;:::-;28574:2;28569:3;28565:12;28558:19;;28217:366;;;:::o;28589:419::-;28755:4;28793:2;28782:9;28778:18;28770:26;;28842:9;28836:4;28832:20;28828:1;28817:9;28813:17;28806:47;28870:131;28996:4;28870:131;:::i;:::-;28862:139;;28589:419;;;:::o;29014:229::-;29154:34;29150:1;29142:6;29138:14;29131:58;29223:12;29218:2;29210:6;29206:15;29199:37;29014:229;:::o;29249:366::-;29391:3;29412:67;29476:2;29471:3;29412:67;:::i;:::-;29405:74;;29488:93;29577:3;29488:93;:::i;:::-;29606:2;29601:3;29597:12;29590:19;;29249:366;;;:::o;29621:419::-;29787:4;29825:2;29814:9;29810:18;29802:26;;29874:9;29868:4;29864:20;29860:1;29849:9;29845:17;29838:47;29902:131;30028:4;29902:131;:::i;:::-;29894:139;;29621:419;;;:::o;30046:168::-;30186:20;30182:1;30174:6;30170:14;30163:44;30046:168;:::o;30220:366::-;30362:3;30383:67;30447:2;30442:3;30383:67;:::i;:::-;30376:74;;30459:93;30548:3;30459:93;:::i;:::-;30577:2;30572:3;30568:12;30561:19;;30220:366;;;:::o;30592:419::-;30758:4;30796:2;30785:9;30781:18;30773:26;;30845:9;30839:4;30835:20;30831:1;30820:9;30816:17;30809:47;30873:131;30999:4;30873:131;:::i;:::-;30865:139;;30592:419;;;:::o;31017:175::-;31157:27;31153:1;31145:6;31141:14;31134:51;31017:175;:::o;31198:366::-;31340:3;31361:67;31425:2;31420:3;31361:67;:::i;:::-;31354:74;;31437:93;31526:3;31437:93;:::i;:::-;31555:2;31550:3;31546:12;31539:19;;31198:366;;;:::o;31570:419::-;31736:4;31774:2;31763:9;31759:18;31751:26;;31823:9;31817:4;31813:20;31809:1;31798:9;31794:17;31787:47;31851:131;31977:4;31851:131;:::i;:::-;31843:139;;31570:419;;;:::o;31995:232::-;32135:34;32131:1;32123:6;32119:14;32112:58;32204:15;32199:2;32191:6;32187:15;32180:40;31995:232;:::o;32233:366::-;32375:3;32396:67;32460:2;32455:3;32396:67;:::i;:::-;32389:74;;32472:93;32561:3;32472:93;:::i;:::-;32590:2;32585:3;32581:12;32574:19;;32233:366;;;:::o;32605:419::-;32771:4;32809:2;32798:9;32794:18;32786:26;;32858:9;32852:4;32848:20;32844:1;32833:9;32829:17;32822:47;32886:131;33012:4;32886:131;:::i;:::-;32878:139;;32605:419;;;:::o;33030:174::-;33170:26;33166:1;33158:6;33154:14;33147:50;33030:174;:::o;33210:366::-;33352:3;33373:67;33437:2;33432:3;33373:67;:::i;:::-;33366:74;;33449:93;33538:3;33449:93;:::i;:::-;33567:2;33562:3;33558:12;33551:19;;33210:366;;;:::o;33582:419::-;33748:4;33786:2;33775:9;33771:18;33763:26;;33835:9;33829:4;33825:20;33821:1;33810:9;33806:17;33799:47;33863:131;33989:4;33863:131;:::i;:::-;33855:139;;33582:419;;;:::o;34007:231::-;34147:34;34143:1;34135:6;34131:14;34124:58;34216:14;34211:2;34203:6;34199:15;34192:39;34007:231;:::o;34244:366::-;34386:3;34407:67;34471:2;34466:3;34407:67;:::i;:::-;34400:74;;34483:93;34572:3;34483:93;:::i;:::-;34601:2;34596:3;34592:12;34585:19;;34244:366;;;:::o;34616:419::-;34782:4;34820:2;34809:9;34805:18;34797:26;;34869:9;34863:4;34859:20;34855:1;34844:9;34840:17;34833:47;34897:131;35023:4;34897:131;:::i;:::-;34889:139;;34616:419;;;:::o;35041:224::-;35181:34;35177:1;35169:6;35165:14;35158:58;35250:7;35245:2;35237:6;35233:15;35226:32;35041:224;:::o;35271:366::-;35413:3;35434:67;35498:2;35493:3;35434:67;:::i;:::-;35427:74;;35510:93;35599:3;35510:93;:::i;:::-;35628:2;35623:3;35619:12;35612:19;;35271:366;;;:::o;35643:419::-;35809:4;35847:2;35836:9;35832:18;35824:26;;35896:9;35890:4;35886:20;35882:1;35871:9;35867:17;35860:47;35924:131;36050:4;35924:131;:::i;:::-;35916:139;;35643:419;;;:::o;36068:223::-;36208:34;36204:1;36196:6;36192:14;36185:58;36277:6;36272:2;36264:6;36260:15;36253:31;36068:223;:::o;36297:366::-;36439:3;36460:67;36524:2;36519:3;36460:67;:::i;:::-;36453:74;;36536:93;36625:3;36536:93;:::i;:::-;36654:2;36649:3;36645:12;36638:19;;36297:366;;;:::o;36669:419::-;36835:4;36873:2;36862:9;36858:18;36850:26;;36922:9;36916:4;36912:20;36908:1;36897:9;36893:17;36886:47;36950:131;37076:4;36950:131;:::i;:::-;36942:139;;36669:419;;;:::o;37094:191::-;37134:4;37154:20;37172:1;37154:20;:::i;:::-;37149:25;;37188:20;37206:1;37188:20;:::i;:::-;37183:25;;37227:1;37224;37221:8;37218:34;;;37232:18;;:::i;:::-;37218:34;37277:1;37274;37270:9;37262:17;;37094:191;;;;:::o;37291:148::-;37393:11;37430:3;37415:18;;37291:148;;;;:::o;37445:173::-;37585:25;37581:1;37573:6;37569:14;37562:49;37445:173;:::o;37624:402::-;37784:3;37805:85;37887:2;37882:3;37805:85;:::i;:::-;37798:92;;37899:93;37988:3;37899:93;:::i;:::-;38017:2;38012:3;38008:12;38001:19;;37624:402;;;:::o;38032:377::-;38138:3;38166:39;38199:5;38166:39;:::i;:::-;38221:89;38303:6;38298:3;38221:89;:::i;:::-;38214:96;;38319:52;38364:6;38359:3;38352:4;38345:5;38341:16;38319:52;:::i;:::-;38396:6;38391:3;38387:16;38380:23;;38142:267;38032:377;;;;:::o;38415:167::-;38555:19;38551:1;38543:6;38539:14;38532:43;38415:167;:::o;38588:402::-;38748:3;38769:85;38851:2;38846:3;38769:85;:::i;:::-;38762:92;;38863:93;38952:3;38863:93;:::i;:::-;38981:2;38976:3;38972:12;38965:19;;38588:402;;;:::o;38996:967::-;39378:3;39400:148;39544:3;39400:148;:::i;:::-;39393:155;;39565:95;39656:3;39647:6;39565:95;:::i;:::-;39558:102;;39677:148;39821:3;39677:148;:::i;:::-;39670:155;;39842:95;39933:3;39924:6;39842:95;:::i;:::-;39835:102;;39954:3;39947:10;;38996:967;;;;;:::o;39969:175::-;40109:27;40105:1;40097:6;40093:14;40086:51;39969:175;:::o;40150:366::-;40292:3;40313:67;40377:2;40372:3;40313:67;:::i;:::-;40306:74;;40389:93;40478:3;40389:93;:::i;:::-;40507:2;40502:3;40498:12;40491:19;;40150:366;;;:::o;40522:419::-;40688:4;40726:2;40715:9;40711:18;40703:26;;40775:9;40769:4;40765:20;40761:1;40750:9;40746:17;40739:47;40803:131;40929:4;40803:131;:::i;:::-;40795:139;;40522:419;;;:::o;40947:237::-;41087:34;41083:1;41075:6;41071:14;41064:58;41156:20;41151:2;41143:6;41139:15;41132:45;40947:237;:::o;41190:366::-;41332:3;41353:67;41417:2;41412:3;41353:67;:::i;:::-;41346:74;;41429:93;41518:3;41429:93;:::i;:::-;41547:2;41542:3;41538:12;41531:19;;41190:366;;;:::o;41562:419::-;41728:4;41766:2;41755:9;41751:18;41743:26;;41815:9;41809:4;41805:20;41801:1;41790:9;41786:17;41779:47;41843:131;41969:4;41843:131;:::i;:::-;41835:139;;41562:419;;;:::o;41987:179::-;42127:31;42123:1;42115:6;42111:14;42104:55;41987:179;:::o;42172:366::-;42314:3;42335:67;42399:2;42394:3;42335:67;:::i;:::-;42328:74;;42411:93;42500:3;42411:93;:::i;:::-;42529:2;42524:3;42520:12;42513:19;;42172:366;;;:::o;42544:419::-;42710:4;42748:2;42737:9;42733:18;42725:26;;42797:9;42791:4;42787:20;42783:1;42772:9;42768:17;42761:47;42825:131;42951:4;42825:131;:::i;:::-;42817:139;;42544:419;;;:::o;42969:348::-;43009:7;43032:20;43050:1;43032:20;:::i;:::-;43027:25;;43066:20;43084:1;43066:20;:::i;:::-;43061:25;;43254:1;43186:66;43182:74;43179:1;43176:81;43171:1;43164:9;43157:17;43153:105;43150:131;;;43261:18;;:::i;:::-;43150:131;43309:1;43306;43302:9;43291:20;;42969:348;;;;:::o;43323:171::-;43362:3;43385:24;43403:5;43385:24;:::i;:::-;43376:33;;43431:4;43424:5;43421:15;43418:41;;;43439:18;;:::i;:::-;43418:41;43486:1;43479:5;43475:13;43468:20;;43323:171;;;:::o;43500:182::-;43640:34;43636:1;43628:6;43624:14;43617:58;43500:182;:::o;43688:366::-;43830:3;43851:67;43915:2;43910:3;43851:67;:::i;:::-;43844:74;;43927:93;44016:3;43927:93;:::i;:::-;44045:2;44040:3;44036:12;44029:19;;43688:366;;;:::o;44060:419::-;44226:4;44264:2;44253:9;44249:18;44241:26;;44313:9;44307:4;44303:20;44299:1;44288:9;44284:17;44277:47;44341:131;44467:4;44341:131;:::i;:::-;44333:139;;44060:419;;;:::o;44485:98::-;44536:6;44570:5;44564:12;44554:22;;44485:98;;;:::o;44589:168::-;44672:11;44706:6;44701:3;44694:19;44746:4;44741:3;44737:14;44722:29;;44589:168;;;;:::o;44763:360::-;44849:3;44877:38;44909:5;44877:38;:::i;:::-;44931:70;44994:6;44989:3;44931:70;:::i;:::-;44924:77;;45010:52;45055:6;45050:3;45043:4;45036:5;45032:16;45010:52;:::i;:::-;45087:29;45109:6;45087:29;:::i;:::-;45082:3;45078:39;45071:46;;44853:270;44763:360;;;;:::o;45129:640::-;45324:4;45362:3;45351:9;45347:19;45339:27;;45376:71;45444:1;45433:9;45429:17;45420:6;45376:71;:::i;:::-;45457:72;45525:2;45514:9;45510:18;45501:6;45457:72;:::i;:::-;45539;45607:2;45596:9;45592:18;45583:6;45539:72;:::i;:::-;45658:9;45652:4;45648:20;45643:2;45632:9;45628:18;45621:48;45686:76;45757:4;45748:6;45686:76;:::i;:::-;45678:84;;45129:640;;;;;;;:::o;45775:141::-;45831:5;45862:6;45856:13;45847:22;;45878:32;45904:5;45878:32;:::i;:::-;45775:141;;;;:::o;45922:349::-;45991:6;46040:2;46028:9;46019:7;46015:23;46011:32;46008:119;;;46046:79;;:::i;:::-;46008:119;46166:1;46191:63;46246:7;46237:6;46226:9;46222:22;46191:63;:::i;:::-;46181:73;;46137:127;45922:349;;;;:::o;46277:182::-;46417:34;46413:1;46405:6;46401:14;46394:58;46277:182;:::o;46465:366::-;46607:3;46628:67;46692:2;46687:3;46628:67;:::i;:::-;46621:74;;46704:93;46793:3;46704:93;:::i;:::-;46822:2;46817:3;46813:12;46806:19;;46465:366;;;:::o;46837:419::-;47003:4;47041:2;47030:9;47026:18;47018:26;;47090:9;47084:4;47080:20;47076:1;47065:9;47061:17;47054:47;47118:131;47244:4;47118:131;:::i;:::-;47110:139;;46837:419;;;:::o;47262:178::-;47402:30;47398:1;47390:6;47386:14;47379:54;47262:178;:::o;47446:366::-;47588:3;47609:67;47673:2;47668:3;47609:67;:::i;:::-;47602:74;;47685:93;47774:3;47685:93;:::i;:::-;47803:2;47798:3;47794:12;47787:19;;47446:366;;;:::o;47818:419::-;47984:4;48022:2;48011:9;48007:18;47999:26;;48071:9;48065:4;48061:20;48057:1;48046:9;48042:17;48035:47;48099:131;48225:4;48099:131;:::i;:::-;48091:139;;47818:419;;;:::o;48243:180::-;48291:77;48288:1;48281:88;48388:4;48385:1;48378:15;48412:4;48409:1;48402:15", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\nimport \"@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\ncontract BEBadge is AccessControl, ERC721Enumerable {\n mapping(uint256 => bool) public lockedTokens;\n string private _baseTokenURI = \"https://market.cebg.games/api/nft/info/\";\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n bytes32 public constant BURN_ROLE = keccak256(\"BURN_ROLE\");\n bytes32 public constant LOCK_ROLE = keccak256(\"LOCK_ROLE\");\n uint256 public immutable supplyLimit;\n uint256 tokenIndex;\n\n event Lock(uint256 indexed tokenId);\n event UnLock(uint256 indexed tokenId);\n event BatchMint(address indexed to, uint256[] tokenIds);\n\n constructor(\n string memory _name,\n string memory _symbol,\n uint256 _supplyLimt\n ) ERC721(_name, _symbol) {\n _setRoleAdmin(MINTER_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(BURN_ROLE, DEFAULT_ADMIN_ROLE);\n _setRoleAdmin(LOCK_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 _setupRole(LOCK_ROLE, msg.sender);\n supplyLimit = _supplyLimt;\n }\n\n function _baseURI() internal view virtual override returns (string memory) {\n return _baseTokenURI;\n }\n\n /**\n * @dev Batch mint tokens and transfer to specified address.\n *\n * Requirements:\n * - Caller must have `MINTER_ROLE`.\n * - The total supply limit should not be exceeded.\n * - The number of tokenIds offered for minting should not exceed 100.\n */\n\n function batchMint(\n address to,\n uint256 count\n ) external onlyRole(MINTER_ROLE) returns (uint256[] memory) {\n require(count <= 100, \"tokenIds too many\");\n if (supplyLimit > 0) {\n require(\n (totalSupply() + count) <= supplyLimit,\n \"Exceed the total supply\"\n );\n }\n uint256[] memory tokenIds = new uint256[](count);\n for (uint256 i = 0; i < count; i++) {\n tokenIndex += 1;\n uint256 tokenId = tokenIndex;\n _safeMint(to, tokenId);\n tokenIds[i] = tokenId;\n }\n emit BatchMint(to, tokenIds);\n return tokenIds;\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 proxy) external {\n revokeRole(BURN_ROLE, proxy);\n }\n\n /**\n * @dev Add address for lock item\n */\n function grantLockRole(address to) external {\n grantRole(LOCK_ROLE, to);\n }\n\n /**\n * @dev Remove address for lock item\n */\n function removeLockRole(address account) external {\n revokeRole(LOCK_ROLE, account);\n }\n\n /**\n * @dev Lock token to use in game or for rental\n */\n function lock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(!lockedTokens[tokenId], \"Token has already locked\");\n lockedTokens[tokenId] = true;\n emit Lock(tokenId);\n }\n\n /**\n * @dev Unlock token to use blockchain or sale on marketplace\n */\n function unlock(uint256 tokenId) external onlyRole(LOCK_ROLE) {\n require(_exists(tokenId), \"Must be valid tokenId\");\n require(lockedTokens[tokenId], \"Token has already unlocked\");\n lockedTokens[tokenId] = false;\n emit UnLock(tokenId);\n }\n\n /**\n * @dev Get lock status\n */\n function isLocked(uint256 tokenId) external view returns (bool) {\n return lockedTokens[tokenId];\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 badge 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 /**\n * @dev See {IERC165-_beforeTokenTransfer}.\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 tokenId\n ) internal virtual override(ERC721Enumerable) {\n require(!lockedTokens[tokenId], \"Can not transfer locked token\");\n super._beforeTokenTransfer(from, to, tokenId);\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 /**\n * @dev Burns `tokenId`.\n *\n * Requirements:\n *\n * - The caller must own `tokenId` or be an approved operator.\n */\n function burn(\n address owner,\n uint256 tokenId\n ) external virtual onlyRole(BURN_ROLE) {\n require(_exists(tokenId), \"TokenId not exists\");\n require(!lockedTokens[tokenId], \"Can not burn locked token\");\n require(\n ownerOf(tokenId) == owner,\n \"current address is not owner of this item now\"\n );\n _burn(tokenId);\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/tokens/erc721/BEBadge.sol", "ast": { "absolutePath": "project:/contracts/tokens/erc721/BEBadge.sol", @@ -25413,7 +23696,7 @@ 2072 ], "BEBadge": [ - 2803 + 2816 ], "Context": [ 2094 @@ -25449,7 +23732,7 @@ 2297 ] }, - "id": 2804, + "id": 2817, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -25469,7 +23752,7 @@ "id": 2336, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2804, + "scope": 2817, "sourceUnit": 1720, "src": "56:78:13", "symbolAliases": [], @@ -25481,7 +23764,7 @@ "id": 2337, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2804, + "scope": 2817, "sourceUnit": 309, "src": "135:58:13", "symbolAliases": [], @@ -25519,9 +23802,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 2803, + "id": 2816, "linearizedBaseContracts": [ - 2803, + 2816, 1719, 1750, 1247, @@ -25545,7 +23828,7 @@ "name": "lockedTokens", "nameLocation": "283:12:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "251:44:13", "stateVariable": true, "storageLocation": "default", @@ -25591,7 +23874,7 @@ "name": "_baseTokenURI", "nameLocation": "314:13:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "299:72:13", "stateVariable": true, "storageLocation": "default", @@ -25635,7 +23918,7 @@ "name": "MINTER_ROLE", "nameLocation": "399:11:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "375:62:13", "stateVariable": true, "storageLocation": "default", @@ -25715,7 +23998,7 @@ "name": "BURN_ROLE", "nameLocation": "465:9:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "441:58:13", "stateVariable": true, "storageLocation": "default", @@ -25795,7 +24078,7 @@ "name": "LOCK_ROLE", "nameLocation": "527:9:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "503:58:13", "stateVariable": true, "storageLocation": "default", @@ -25875,7 +24158,7 @@ "name": "supplyLimit", "nameLocation": "590:11:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "565:36:13", "stateVariable": true, "storageLocation": "default", @@ -25902,7 +24185,7 @@ "name": "tokenIndex", "nameLocation": "613:10:13", "nodeType": "VariableDeclaration", - "scope": 2803, + "scope": 2816, "src": "605:18:13", "stateVariable": true, "storageLocation": "default", @@ -26820,7 +25103,7 @@ "parameters": [], "src": "884:0:13" }, - "scope": 2803, + "scope": 2816, "src": "768:472:13", "stateMutability": "nonpayable", "virtual": false, @@ -26908,7 +25191,7 @@ ], "src": "1303:15:13" }, - "scope": 2803, + "scope": 2816, "src": "1244:106:13", "stateMutability": "view", "virtual": true, @@ -26916,142 +25199,9 @@ }, { "body": { - "id": 2460, + "id": 2534, "nodeType": "Block", - "src": "1444:35:13", - "statements": [ - { - "expression": { - "id": 2458, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2456, - "name": "_baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2348, - "src": "1450:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2457, - "name": "baseURI_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2450, - "src": "1466:8:13", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - "src": "1450:24:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2459, - "nodeType": "ExpressionStatement", - "src": "1450:24:13" - } - ] - }, - "functionSelector": "55f804b3", - "id": 2461, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2453, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "1424:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2454, - "kind": "modifierInvocation", - "modifierName": { - "id": 2452, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "1415:8:13" - }, - "nodeType": "ModifierInvocation", - "src": "1415:28:13" - } - ], - "name": "setBaseURI", - "nameLocation": "1363:10:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2451, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2450, - "mutability": "mutable", - "name": "baseURI_", - "nameLocation": "1393:8:13", - "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "1379:22:13", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 2449, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1379:6:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - } - ], - "src": "1373:32:13" - }, - "returnParameters": { - "id": 2455, - "nodeType": "ParameterList", - "parameters": [], - "src": "1444:0:13" - }, - "scope": 2803, - "src": "1354:125:13", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2547, - "nodeType": "Block", - "src": "1865:467:13", + "src": "1736:467:13", "statements": [ { "expression": { @@ -27061,18 +25211,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2478, + "id": 2465, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2476, + "id": 2463, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "1879:5:13", + "referencedDeclaration": 2453, + "src": "1750:5:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27082,21 +25232,21 @@ "operator": "<=", "rightExpression": { "hexValue": "313030", - "id": 2477, + "id": 2464, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1888:3:13", + "src": "1759:3:13", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "value": "100" }, - "src": "1879:12:13", + "src": "1750:12:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27104,14 +25254,14 @@ }, { "hexValue": "746f6b656e49647320746f6f206d616e79", - "id": 2479, + "id": 2466, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1893:19:13", + "src": "1764:19:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_04bfe1e76fdc0dd8a7d8ff5123d4d867e22f16ad85a91f714908fd44600dcbef", "typeString": "literal_string \"tokenIds too many\"" @@ -27130,7 +25280,7 @@ "typeString": "literal_string \"tokenIds too many\"" } ], - "id": 2475, + "id": 2462, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27138,13 +25288,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1871:7:13", + "src": "1742:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2480, + "id": 2467, "isConstant": false, "isLValue": false, "isPure": false, @@ -27152,16 +25302,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1871:42:13", + "src": "1742:42:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2481, + "id": 2468, "nodeType": "ExpressionStatement", - "src": "1871:42:13" + "src": "1742:42:13" }, { "condition": { @@ -27169,18 +25319,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2484, + "id": 2471, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2482, + "id": 2469, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2365, - "src": "1923:11:13", + "src": "1794:11:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27190,33 +25340,33 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 2483, + "id": 2470, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1937:1:13", + "src": "1808:1:13", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1923:15:13", + "src": "1794:15:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2497, + "id": 2484, "nodeType": "IfStatement", - "src": "1919:134:13", + "src": "1790:134:13", "trueBody": { - "id": 2496, + "id": 2483, "nodeType": "Block", - "src": "1940:113:13", + "src": "1811:113:13", "statements": [ { "expression": { @@ -27226,7 +25376,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2492, + "id": 2479, "isConstant": false, "isLValue": false, "isPure": false, @@ -27238,7 +25388,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2489, + "id": 2476, "isConstant": false, "isLValue": false, "isPure": false, @@ -27247,18 +25397,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2486, + "id": 2473, "name": "totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1470, - "src": "1966:11:13", + "src": "1837:11:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_uint256_$", "typeString": "function () view returns (uint256)" } }, - "id": 2487, + "id": 2474, "isConstant": false, "isLValue": false, "isPure": false, @@ -27266,7 +25416,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1966:13:13", + "src": "1837:13:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -27276,32 +25426,32 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 2488, + "id": 2475, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "1982:5:13", + "referencedDeclaration": 2453, + "src": "1853:5:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1966:21:13", + "src": "1837:21:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 2490, + "id": 2477, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1965:23:13", + "src": "1836:23:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27310,18 +25460,18 @@ "nodeType": "BinaryOperation", "operator": "<=", "rightExpression": { - "id": 2491, + "id": 2478, "name": "supplyLimit", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2365, - "src": "1992:11:13", + "src": "1863:11:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1965:38:13", + "src": "1836:38:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -27329,14 +25479,14 @@ }, { "hexValue": "4578636565642074686520746f74616c20737570706c79", - "id": 2493, + "id": 2480, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2013:25:13", + "src": "1884:25:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_12d840de55800a407036c108072a110b489a6fba65d56a3541eab87f0f0af5d1", "typeString": "literal_string \"Exceed the total supply\"" @@ -27355,7 +25505,7 @@ "typeString": "literal_string \"Exceed the total supply\"" } ], - "id": 2485, + "id": 2472, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27363,13 +25513,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "1948:7:13", + "src": "1819:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2494, + "id": 2481, "isConstant": false, "isLValue": false, "isPure": false, @@ -27377,34 +25527,34 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1948:98:13", + "src": "1819:98:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2495, + "id": 2482, "nodeType": "ExpressionStatement", - "src": "1948:98:13" + "src": "1819:98:13" } ] } }, { "assignments": [ - 2502 + 2489 ], "declarations": [ { "constant": false, - "id": 2502, + "id": 2489, "mutability": "mutable", "name": "tokenIds", - "nameLocation": "2075:8:13", + "nameLocation": "1946:8:13", "nodeType": "VariableDeclaration", - "scope": 2547, - "src": "2058:25:13", + "scope": 2534, + "src": "1929:25:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -27413,18 +25563,18 @@ }, "typeName": { "baseType": { - "id": 2500, + "id": 2487, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2058:7:13", + "src": "1929:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2501, + "id": 2488, "nodeType": "ArrayTypeName", - "src": "2058:9:13", + "src": "1929:9:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -27433,16 +25583,16 @@ "visibility": "internal" } ], - "id": 2508, + "id": 2495, "initialValue": { "arguments": [ { - "id": 2506, + "id": 2493, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "2100:5:13", + "referencedDeclaration": 2453, + "src": "1971:5:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27456,38 +25606,38 @@ "typeString": "uint256" } ], - "id": 2505, + "id": 2492, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "2086:13:13", + "src": "1957:13:13", "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": 2503, + "id": 2490, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2090:7:13", + "src": "1961:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2504, + "id": 2491, "nodeType": "ArrayTypeName", - "src": "2090:9:13", + "src": "1961:9:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 2507, + "id": 2494, "isConstant": false, "isLValue": false, "isPure": false, @@ -27495,7 +25645,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2086:20:13", + "src": "1957:20:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -27503,28 +25653,28 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2058:48:13" + "src": "1929:48:13" }, { "body": { - "id": 2538, + "id": 2525, "nodeType": "Block", - "src": "2148:125:13", + "src": "2019:125:13", "statements": [ { "expression": { - "id": 2521, + "id": 2508, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2519, + "id": 2506, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2367, - "src": "2156:10:13", + "src": "2027:10:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27534,44 +25684,44 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 2520, + "id": 2507, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2170:1:13", + "src": "2041:1:13", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "2156:15:13", + "src": "2027:15:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2522, + "id": 2509, "nodeType": "ExpressionStatement", - "src": "2156:15:13" + "src": "2027:15:13" }, { "assignments": [ - 2524 + 2511 ], "declarations": [ { "constant": false, - "id": 2524, + "id": 2511, "mutability": "mutable", "name": "tokenId", - "nameLocation": "2187:7:13", + "nameLocation": "2058:7:13", "nodeType": "VariableDeclaration", - "scope": 2538, - "src": "2179:15:13", + "scope": 2525, + "src": "2050:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27579,10 +25729,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2523, + "id": 2510, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2179:7:13", + "src": "2050:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27591,44 +25741,44 @@ "visibility": "internal" } ], - "id": 2526, + "id": 2513, "initialValue": { - "id": 2525, + "id": 2512, "name": "tokenIndex", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2367, - "src": "2197:10:13", + "src": "2068:10:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "2179:28:13" + "src": "2050:28:13" }, { "expression": { "arguments": [ { - "id": 2528, + "id": 2515, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2464, - "src": "2225:2:13", + "referencedDeclaration": 2451, + "src": "2096:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2529, + "id": 2516, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2524, - "src": "2229:7:13", + "referencedDeclaration": 2511, + "src": "2100:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27646,7 +25796,7 @@ "typeString": "uint256" } ], - "id": 2527, + "id": 2514, "name": "_safeMint", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -27654,13 +25804,13 @@ 905 ], "referencedDeclaration": 876, - "src": "2215:9:13", + "src": "2086:9:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2530, + "id": 2517, "isConstant": false, "isLValue": false, "isPure": false, @@ -27668,45 +25818,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2215:22:13", + "src": "2086:22:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2531, + "id": 2518, "nodeType": "ExpressionStatement", - "src": "2215:22:13" + "src": "2086:22:13" }, { "expression": { - "id": 2536, + "id": 2523, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2532, + "id": 2519, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2245:8:13", + "referencedDeclaration": 2489, + "src": "2116:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 2534, + "id": 2521, "indexExpression": { - "id": 2533, + "id": 2520, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "2254:1:13", + "referencedDeclaration": 2497, + "src": "2125:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27717,7 +25867,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "2245:11:13", + "src": "2116:11:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27726,26 +25876,26 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2535, + "id": 2522, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2524, - "src": "2259:7:13", + "referencedDeclaration": 2511, + "src": "2130:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2245:21:13", + "src": "2116:21:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2537, + "id": 2524, "nodeType": "ExpressionStatement", - "src": "2245:21:13" + "src": "2116:21:13" } ] }, @@ -27754,18 +25904,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2515, + "id": 2502, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2513, + "id": 2500, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "2132:1:13", + "referencedDeclaration": 2497, + "src": "2003:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27774,38 +25924,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 2514, + "id": 2501, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2466, - "src": "2136:5:13", + "referencedDeclaration": 2453, + "src": "2007:5:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2132:9:13", + "src": "2003:9:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2539, + "id": 2526, "initializationExpression": { "assignments": [ - 2510 + 2497 ], "declarations": [ { "constant": false, - "id": 2510, + "id": 2497, "mutability": "mutable", "name": "i", - "nameLocation": "2125:1:13", + "nameLocation": "1996:1:13", "nodeType": "VariableDeclaration", - "scope": 2539, - "src": "2117:9:13", + "scope": 2526, + "src": "1988:9:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27813,10 +25963,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2509, + "id": 2496, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2117:7:13", + "src": "1988:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27825,17 +25975,17 @@ "visibility": "internal" } ], - "id": 2512, + "id": 2499, "initialValue": { "hexValue": "30", - "id": 2511, + "id": 2498, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2129:1:13", + "src": "2000:1:13", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27843,11 +25993,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2117:13:13" + "src": "1988:13:13" }, "loopExpression": { "expression": { - "id": 2517, + "id": 2504, "isConstant": false, "isLValue": false, "isPure": false, @@ -27855,14 +26005,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "2143:3:13", + "src": "2014:3:13", "subExpression": { - "id": 2516, + "id": 2503, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2510, - "src": "2143:1:13", + "referencedDeclaration": 2497, + "src": "2014:1:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27873,35 +26023,35 @@ "typeString": "uint256" } }, - "id": 2518, + "id": 2505, "nodeType": "ExpressionStatement", - "src": "2143:3:13" + "src": "2014:3:13" }, "nodeType": "ForStatement", - "src": "2112:161:13" + "src": "1983:161:13" }, { "eventCall": { "arguments": [ { - "id": 2541, + "id": 2528, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2464, - "src": "2293:2:13", + "referencedDeclaration": 2451, + "src": "2164:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2542, + "id": 2529, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2297:8:13", + "referencedDeclaration": 2489, + "src": "2168:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -27919,18 +26069,18 @@ "typeString": "uint256[] memory" } ], - "id": 2540, + "id": 2527, "name": "BatchMint", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2382, - "src": "2283:9:13", + "src": "2154:9:13", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (address,uint256[] memory)" } }, - "id": 2543, + "id": 2530, "isConstant": false, "isLValue": false, "isPure": false, @@ -27938,92 +26088,92 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2283:23:13", + "src": "2154:23:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2544, + "id": 2531, "nodeType": "EmitStatement", - "src": "2278:28:13" + "src": "2149:28:13" }, { "expression": { - "id": 2545, + "id": 2532, "name": "tokenIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2502, - "src": "2319:8:13", + "referencedDeclaration": 2489, + "src": "2190:8:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 2474, - "id": 2546, + "functionReturnParameters": 2461, + "id": 2533, "nodeType": "Return", - "src": "2312:15:13" + "src": "2183:15:13" } ] }, "documentation": { - "id": 2462, + "id": 2449, "nodeType": "StructuredDocumentation", - "src": "1483:262:13", + "src": "1354:262:13", "text": " @dev Batch mint tokens and transfer to specified address.\n Requirements:\n - Caller must have `MINTER_ROLE`.\n - The total supply limit should not be exceeded.\n - The number of tokenIds offered for minting should not exceed 100." }, "functionSelector": "43508b05", - "id": 2548, + "id": 2535, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2469, + "id": 2456, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2353, - "src": "1825:11:13", + "src": "1696:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2470, + "id": 2457, "kind": "modifierInvocation", "modifierName": { - "id": 2468, + "id": 2455, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 40, - "src": "1816:8:13" + "src": "1687:8:13" }, "nodeType": "ModifierInvocation", - "src": "1816:21:13" + "src": "1687:21:13" } ], "name": "batchMint", - "nameLocation": "1758:9:13", + "nameLocation": "1629:9:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2467, + "id": 2454, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2464, + "id": 2451, "mutability": "mutable", "name": "to", - "nameLocation": "1781:2:13", + "nameLocation": "1652:2:13", "nodeType": "VariableDeclaration", - "scope": 2548, - "src": "1773:10:13", + "scope": 2535, + "src": "1644:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28031,10 +26181,10 @@ "typeString": "address" }, "typeName": { - "id": 2463, + "id": 2450, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1773:7:13", + "src": "1644:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28045,13 +26195,13 @@ }, { "constant": false, - "id": 2466, + "id": 2453, "mutability": "mutable", "name": "count", - "nameLocation": "1797:5:13", + "nameLocation": "1668:5:13", "nodeType": "VariableDeclaration", - "scope": 2548, - "src": "1789:13:13", + "scope": 2535, + "src": "1660:13:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28059,10 +26209,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2465, + "id": 2452, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1789:7:13", + "src": "1660:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28071,21 +26221,21 @@ "visibility": "internal" } ], - "src": "1767:39:13" + "src": "1638:39:13" }, "returnParameters": { - "id": 2474, + "id": 2461, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2473, + "id": 2460, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2548, - "src": "1847:16:13", + "scope": 2535, + "src": "1718:16:13", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -28094,18 +26244,18 @@ }, "typeName": { "baseType": { - "id": 2471, + "id": 2458, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1847:7:13", + "src": "1718:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2472, + "id": 2459, "nodeType": "ArrayTypeName", - "src": "1847:9:13", + "src": "1718:9:13", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -28114,42 +26264,42 @@ "visibility": "internal" } ], - "src": "1846:18:13" + "src": "1717:18:13" }, - "scope": 2803, - "src": "1749:583:13", + "scope": 2816, + "src": "1620:583:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2559, + "id": 2546, "nodeType": "Block", - "src": "2427:37:13", + "src": "2298:37:13", "statements": [ { "expression": { "arguments": [ { - "id": 2555, + "id": 2542, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2353, - "src": "2443:11:13", + "src": "2314:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2556, + "id": 2543, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2551, - "src": "2456:2:13", + "referencedDeclaration": 2538, + "src": "2327:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28167,18 +26317,18 @@ "typeString": "address" } ], - "id": 2554, + "id": 2541, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 159, - "src": "2433:9:13", + "src": "2304:9:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2557, + "id": 2544, "isConstant": false, "isLValue": false, "isPure": false, @@ -28186,46 +26336,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2433:26:13", + "src": "2304:26:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2558, + "id": 2545, "nodeType": "ExpressionStatement", - "src": "2433:26:13" + "src": "2304:26:13" } ] }, "documentation": { - "id": 2549, + "id": 2536, "nodeType": "StructuredDocumentation", - "src": "2336:46:13", + "src": "2207:46:13", "text": " @dev Grant mint role to address" }, "functionSelector": "530dd079", - "id": 2560, + "id": 2547, "implemented": true, "kind": "function", "modifiers": [], "name": "setMintRole", - "nameLocation": "2394:11:13", + "nameLocation": "2265:11:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2552, + "id": 2539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2551, + "id": 2538, "mutability": "mutable", "name": "to", - "nameLocation": "2414:2:13", + "nameLocation": "2285:2:13", "nodeType": "VariableDeclaration", - "scope": 2560, - "src": "2406:10:13", + "scope": 2547, + "src": "2277:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28233,10 +26383,10 @@ "typeString": "address" }, "typeName": { - "id": 2550, + "id": 2537, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2406:7:13", + "src": "2277:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28246,48 +26396,48 @@ "visibility": "internal" } ], - "src": "2405:12:13" + "src": "2276:12:13" }, "returnParameters": { - "id": 2553, + "id": 2540, "nodeType": "ParameterList", "parameters": [], - "src": "2427:0:13" + "src": "2298:0:13" }, - "scope": 2803, - "src": "2385:79:13", + "scope": 2816, + "src": "2256:79:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2571, + "id": 2558, "nodeType": "Block", - "src": "2563:38:13", + "src": "2434:38:13", "statements": [ { "expression": { "arguments": [ { - "id": 2567, + "id": 2554, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2353, - "src": "2580:11:13", + "src": "2451:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2568, + "id": 2555, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2563, - "src": "2593:2:13", + "referencedDeclaration": 2550, + "src": "2464:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28305,18 +26455,18 @@ "typeString": "address" } ], - "id": 2566, + "id": 2553, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 179, - "src": "2569:10:13", + "src": "2440:10:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2569, + "id": 2556, "isConstant": false, "isLValue": false, "isPure": false, @@ -28324,46 +26474,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2569:27:13", + "src": "2440:27:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2570, + "id": 2557, "nodeType": "ExpressionStatement", - "src": "2569:27:13" + "src": "2440:27:13" } ] }, "documentation": { - "id": 2561, + "id": 2548, "nodeType": "StructuredDocumentation", - "src": "2468:47:13", + "src": "2339:47:13", "text": " @dev Remove mint role to address" }, "functionSelector": "1cf4e3ee", - "id": 2572, + "id": 2559, "implemented": true, "kind": "function", "modifiers": [], "name": "removeMintRole", - "nameLocation": "2527:14:13", + "nameLocation": "2398:14:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2564, + "id": 2551, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2563, + "id": 2550, "mutability": "mutable", "name": "to", - "nameLocation": "2550:2:13", + "nameLocation": "2421:2:13", "nodeType": "VariableDeclaration", - "scope": 2572, - "src": "2542:10:13", + "scope": 2559, + "src": "2413:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28371,10 +26521,10 @@ "typeString": "address" }, "typeName": { - "id": 2562, + "id": 2549, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2542:7:13", + "src": "2413:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28384,48 +26534,48 @@ "visibility": "internal" } ], - "src": "2541:12:13" + "src": "2412:12:13" }, "returnParameters": { - "id": 2565, + "id": 2552, "nodeType": "ParameterList", "parameters": [], - "src": "2563:0:13" + "src": "2434:0:13" }, - "scope": 2803, - "src": "2518:83:13", + "scope": 2816, + "src": "2389:83:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2583, + "id": 2570, "nodeType": "Block", - "src": "2696:35:13", + "src": "2567:35:13", "statements": [ { "expression": { "arguments": [ { - "id": 2579, + "id": 2566, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2358, - "src": "2712:9:13", + "src": "2583:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2580, + "id": 2567, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2575, - "src": "2723:2:13", + "referencedDeclaration": 2562, + "src": "2594:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28443,18 +26593,18 @@ "typeString": "address" } ], - "id": 2578, + "id": 2565, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 159, - "src": "2702:9:13", + "src": "2573:9:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2581, + "id": 2568, "isConstant": false, "isLValue": false, "isPure": false, @@ -28462,46 +26612,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2702:24:13", + "src": "2573:24:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2582, + "id": 2569, "nodeType": "ExpressionStatement", - "src": "2702:24:13" + "src": "2573:24:13" } ] }, "documentation": { - "id": 2573, + "id": 2560, "nodeType": "StructuredDocumentation", - "src": "2605:46:13", + "src": "2476:46:13", "text": " @dev grant burn role to address" }, "functionSelector": "327ba615", - "id": 2584, + "id": 2571, "implemented": true, "kind": "function", "modifiers": [], "name": "setBurnRole", - "nameLocation": "2663:11:13", + "nameLocation": "2534:11:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2576, + "id": 2563, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2575, + "id": 2562, "mutability": "mutable", "name": "to", - "nameLocation": "2683:2:13", + "nameLocation": "2554:2:13", "nodeType": "VariableDeclaration", - "scope": 2584, - "src": "2675:10:13", + "scope": 2571, + "src": "2546:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28509,10 +26659,10 @@ "typeString": "address" }, "typeName": { - "id": 2574, + "id": 2561, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2675:7:13", + "src": "2546:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28522,48 +26672,48 @@ "visibility": "internal" } ], - "src": "2674:12:13" + "src": "2545:12:13" }, "returnParameters": { - "id": 2577, + "id": 2564, "nodeType": "ParameterList", "parameters": [], - "src": "2696:0:13" + "src": "2567:0:13" }, - "scope": 2803, - "src": "2654:77:13", + "scope": 2816, + "src": "2525:77:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2595, + "id": 2582, "nodeType": "Block", - "src": "2833:39:13", + "src": "2704:39:13", "statements": [ { "expression": { "arguments": [ { - "id": 2591, + "id": 2578, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2358, - "src": "2850:9:13", + "src": "2721:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2592, + "id": 2579, "name": "proxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2587, - "src": "2861:5:13", + "referencedDeclaration": 2574, + "src": "2732:5:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28581,18 +26731,18 @@ "typeString": "address" } ], - "id": 2590, + "id": 2577, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 179, - "src": "2839:10:13", + "src": "2710:10:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2593, + "id": 2580, "isConstant": false, "isLValue": false, "isPure": false, @@ -28600,46 +26750,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2839:28:13", + "src": "2710:28:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2594, + "id": 2581, "nodeType": "ExpressionStatement", - "src": "2839:28:13" + "src": "2710:28:13" } ] }, "documentation": { - "id": 2585, + "id": 2572, "nodeType": "StructuredDocumentation", - "src": "2735:47:13", + "src": "2606:47:13", "text": " @dev Remove burn role to address" }, "functionSelector": "965f4c60", - "id": 2596, + "id": 2583, "implemented": true, "kind": "function", "modifiers": [], "name": "removeBurnRole", - "nameLocation": "2794:14:13", + "nameLocation": "2665:14:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2588, + "id": 2575, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2587, + "id": 2574, "mutability": "mutable", "name": "proxy", - "nameLocation": "2817:5:13", + "nameLocation": "2688:5:13", "nodeType": "VariableDeclaration", - "scope": 2596, - "src": "2809:13:13", + "scope": 2583, + "src": "2680:13:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28647,10 +26797,10 @@ "typeString": "address" }, "typeName": { - "id": 2586, + "id": 2573, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2809:7:13", + "src": "2680:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28660,48 +26810,48 @@ "visibility": "internal" } ], - "src": "2808:15:13" + "src": "2679:15:13" }, "returnParameters": { - "id": 2589, + "id": 2576, "nodeType": "ParameterList", "parameters": [], - "src": "2833:0:13" + "src": "2704:0:13" }, - "scope": 2803, - "src": "2785:87:13", + "scope": 2816, + "src": "2656:87:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2607, + "id": 2594, "nodeType": "Block", - "src": "2968:35:13", + "src": "2839:35:13", "statements": [ { "expression": { "arguments": [ { - "id": 2603, + "id": 2590, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2363, - "src": "2984:9:13", + "src": "2855:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2604, + "id": 2591, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2599, - "src": "2995:2:13", + "referencedDeclaration": 2586, + "src": "2866:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28719,18 +26869,18 @@ "typeString": "address" } ], - "id": 2602, + "id": 2589, "name": "grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 159, - "src": "2974:9:13", + "src": "2845:9:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2605, + "id": 2592, "isConstant": false, "isLValue": false, "isPure": false, @@ -28738,46 +26888,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2974:24:13", + "src": "2845:24:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2606, + "id": 2593, "nodeType": "ExpressionStatement", - "src": "2974:24:13" + "src": "2845:24:13" } ] }, "documentation": { - "id": 2597, + "id": 2584, "nodeType": "StructuredDocumentation", - "src": "2876:45:13", + "src": "2747:45:13", "text": " @dev Add address for lock item" }, "functionSelector": "ace9e2e2", - "id": 2608, + "id": 2595, "implemented": true, "kind": "function", "modifiers": [], "name": "grantLockRole", - "nameLocation": "2933:13:13", + "nameLocation": "2804:13:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2600, + "id": 2587, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2599, + "id": 2586, "mutability": "mutable", "name": "to", - "nameLocation": "2955:2:13", + "nameLocation": "2826:2:13", "nodeType": "VariableDeclaration", - "scope": 2608, - "src": "2947:10:13", + "scope": 2595, + "src": "2818:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28785,10 +26935,10 @@ "typeString": "address" }, "typeName": { - "id": 2598, + "id": 2585, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2947:7:13", + "src": "2818:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28798,48 +26948,48 @@ "visibility": "internal" } ], - "src": "2946:12:13" + "src": "2817:12:13" }, "returnParameters": { - "id": 2601, + "id": 2588, "nodeType": "ParameterList", "parameters": [], - "src": "2968:0:13" + "src": "2839:0:13" }, - "scope": 2803, - "src": "2924:79:13", + "scope": 2816, + "src": "2795:79:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2619, + "id": 2606, "nodeType": "Block", - "src": "3108:41:13", + "src": "2979:41:13", "statements": [ { "expression": { "arguments": [ { - "id": 2615, + "id": 2602, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2363, - "src": "3125:9:13", + "src": "2996:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 2616, + "id": 2603, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2611, - "src": "3136:7:13", + "referencedDeclaration": 2598, + "src": "3007:7:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28857,18 +27007,18 @@ "typeString": "address" } ], - "id": 2614, + "id": 2601, "name": "revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 179, - "src": "3114:10:13", + "src": "2985:10:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 2617, + "id": 2604, "isConstant": false, "isLValue": false, "isPure": false, @@ -28876,46 +27026,46 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3114:30:13", + "src": "2985:30:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2618, + "id": 2605, "nodeType": "ExpressionStatement", - "src": "3114:30:13" + "src": "2985:30:13" } ] }, "documentation": { - "id": 2609, + "id": 2596, "nodeType": "StructuredDocumentation", - "src": "3007:48:13", + "src": "2878:48:13", "text": " @dev Remove address for lock item" }, "functionSelector": "79deb6e7", - "id": 2620, + "id": 2607, "implemented": true, "kind": "function", "modifiers": [], "name": "removeLockRole", - "nameLocation": "3067:14:13", + "nameLocation": "2938:14:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2612, + "id": 2599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2611, + "id": 2598, "mutability": "mutable", "name": "account", - "nameLocation": "3090:7:13", + "nameLocation": "2961:7:13", "nodeType": "VariableDeclaration", - "scope": 2620, - "src": "3082:15:13", + "scope": 2607, + "src": "2953:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28923,10 +27073,10 @@ "typeString": "address" }, "typeName": { - "id": 2610, + "id": 2597, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3082:7:13", + "src": "2953:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28936,25 +27086,25 @@ "visibility": "internal" } ], - "src": "3081:17:13" + "src": "2952:17:13" }, "returnParameters": { - "id": 2613, + "id": 2600, "nodeType": "ParameterList", "parameters": [], - "src": "3108:0:13" + "src": "2979:0:13" }, - "scope": 2803, - "src": "3058:91:13", + "scope": 2816, + "src": "2929:91:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2654, + "id": 2641, "nodeType": "Block", - "src": "3275:184:13", + "src": "3146:184:13", "statements": [ { "expression": { @@ -28962,12 +27112,12 @@ { "arguments": [ { - "id": 2631, + "id": 2618, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3297:7:13", + "referencedDeclaration": 2610, + "src": "3168:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28981,18 +27131,18 @@ "typeString": "uint256" } ], - "id": 2630, + "id": 2617, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 820, - "src": "3289:7:13", + "src": "3160:7:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 2632, + "id": 2619, "isConstant": false, "isLValue": false, "isPure": false, @@ -29000,7 +27150,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3289:16:13", + "src": "3160:16:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29009,14 +27159,14 @@ }, { "hexValue": "4d7573742062652076616c696420746f6b656e4964", - "id": 2633, + "id": 2620, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3307:23:13", + "src": "3178:23:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "typeString": "literal_string \"Must be valid tokenId\"" @@ -29035,7 +27185,7 @@ "typeString": "literal_string \"Must be valid tokenId\"" } ], - "id": 2629, + "id": 2616, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29043,13 +27193,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3281:7:13", + "src": "3152:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2634, + "id": 2621, "isConstant": false, "isLValue": false, "isPure": false, @@ -29057,22 +27207,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3281:50:13", + "src": "3152:50:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2635, + "id": 2622, "nodeType": "ExpressionStatement", - "src": "3281:50:13" + "src": "3152:50:13" }, { "expression": { "arguments": [ { - "id": 2640, + "id": 2627, "isConstant": false, "isLValue": false, "isPure": false, @@ -29080,28 +27230,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3345:22:13", + "src": "3216:22:13", "subExpression": { "baseExpression": { - "id": 2637, + "id": 2624, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "3346:12:13", + "src": "3217:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2639, + "id": 2626, "indexExpression": { - "id": 2638, + "id": 2625, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3359:7:13", + "referencedDeclaration": 2610, + "src": "3230:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29112,7 +27262,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3346:21:13", + "src": "3217:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29125,14 +27275,14 @@ }, { "hexValue": "546f6b656e2068617320616c7265616479206c6f636b6564", - "id": 2641, + "id": 2628, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3369:26:13", + "src": "3240:26:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_5e6558ada038147f5e17e45fca8a6ee3d09ebee2e09181b1da179697f584873a", "typeString": "literal_string \"Token has already locked\"" @@ -29151,7 +27301,7 @@ "typeString": "literal_string \"Token has already locked\"" } ], - "id": 2636, + "id": 2623, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29159,13 +27309,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3337:7:13", + "src": "3208:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2642, + "id": 2629, "isConstant": false, "isLValue": false, "isPure": false, @@ -29173,45 +27323,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3337:59:13", + "src": "3208:59:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2643, + "id": 2630, "nodeType": "ExpressionStatement", - "src": "3337:59:13" + "src": "3208:59:13" }, { "expression": { - "id": 2648, + "id": 2635, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2644, + "id": 2631, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "3402:12:13", + "src": "3273:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2646, + "id": 2633, "indexExpression": { - "id": 2645, + "id": 2632, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3415:7:13", + "referencedDeclaration": 2610, + "src": "3286:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29222,7 +27372,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3402:21:13", + "src": "3273:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29232,40 +27382,40 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 2647, + "id": 2634, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3426:4:13", + "src": "3297:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3402:28:13", + "src": "3273:28:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2649, + "id": 2636, "nodeType": "ExpressionStatement", - "src": "3402:28:13" + "src": "3273:28:13" }, { "eventCall": { "arguments": [ { - "id": 2651, + "id": 2638, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2623, - "src": "3446:7:13", + "referencedDeclaration": 2610, + "src": "3317:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29279,18 +27429,18 @@ "typeString": "uint256" } ], - "id": 2650, + "id": 2637, "name": "Lock", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2371, - "src": "3441:4:13", + "src": "3312:4:13", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2652, + "id": 2639, "isConstant": false, "isLValue": false, "isPure": false, @@ -29298,74 +27448,74 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3441:13:13", + "src": "3312:13:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2653, + "id": 2640, "nodeType": "EmitStatement", - "src": "3436:18:13" + "src": "3307:18:13" } ] }, "documentation": { - "id": 2621, + "id": 2608, "nodeType": "StructuredDocumentation", - "src": "3153:59:13", + "src": "3024:59:13", "text": " @dev Lock token to use in game or for rental" }, "functionSelector": "dd467064", - "id": 2655, + "id": 2642, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2626, + "id": 2613, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2363, - "src": "3264:9:13", + "src": "3135:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2627, + "id": 2614, "kind": "modifierInvocation", "modifierName": { - "id": 2625, + "id": 2612, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 40, - "src": "3255:8:13" + "src": "3126:8:13" }, "nodeType": "ModifierInvocation", - "src": "3255:19:13" + "src": "3126:19:13" } ], "name": "lock", - "nameLocation": "3224:4:13", + "nameLocation": "3095:4:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2624, + "id": 2611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2623, + "id": 2610, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3237:7:13", + "nameLocation": "3108:7:13", "nodeType": "VariableDeclaration", - "scope": 2655, - "src": "3229:15:13", + "scope": 2642, + "src": "3100:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29373,10 +27523,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2622, + "id": 2609, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3229:7:13", + "src": "3100:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29385,25 +27535,25 @@ "visibility": "internal" } ], - "src": "3228:17:13" + "src": "3099:17:13" }, "returnParameters": { - "id": 2628, + "id": 2615, "nodeType": "ParameterList", "parameters": [], - "src": "3275:0:13" + "src": "3146:0:13" }, - "scope": 2803, - "src": "3215:244:13", + "scope": 2816, + "src": "3086:244:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2688, + "id": 2675, "nodeType": "Block", - "src": "3601:188:13", + "src": "3472:188:13", "statements": [ { "expression": { @@ -29411,12 +27561,12 @@ { "arguments": [ { - "id": 2666, + "id": 2653, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3623:7:13", + "referencedDeclaration": 2645, + "src": "3494:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29430,18 +27580,18 @@ "typeString": "uint256" } ], - "id": 2665, + "id": 2652, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 820, - "src": "3615:7:13", + "src": "3486:7:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 2667, + "id": 2654, "isConstant": false, "isLValue": false, "isPure": false, @@ -29449,7 +27599,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3615:16:13", + "src": "3486:16:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -29458,14 +27608,14 @@ }, { "hexValue": "4d7573742062652076616c696420746f6b656e4964", - "id": 2668, + "id": 2655, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3633:23:13", + "src": "3504:23:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a80977690af10bb53627805d006c587e568098223f1f3ac1446a2936854da75e", "typeString": "literal_string \"Must be valid tokenId\"" @@ -29484,7 +27634,7 @@ "typeString": "literal_string \"Must be valid tokenId\"" } ], - "id": 2664, + "id": 2651, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29492,13 +27642,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3607:7:13", + "src": "3478:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2669, + "id": 2656, "isConstant": false, "isLValue": false, "isPure": false, @@ -29506,41 +27656,41 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3607:50:13", + "src": "3478:50:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2670, + "id": 2657, "nodeType": "ExpressionStatement", - "src": "3607:50:13" + "src": "3478:50:13" }, { "expression": { "arguments": [ { "baseExpression": { - "id": 2672, + "id": 2659, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "3671:12:13", + "src": "3542:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2674, + "id": 2661, "indexExpression": { - "id": 2673, + "id": 2660, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3684:7:13", + "referencedDeclaration": 2645, + "src": "3555:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29551,7 +27701,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3671:21:13", + "src": "3542:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29559,14 +27709,14 @@ }, { "hexValue": "546f6b656e2068617320616c726561647920756e6c6f636b6564", - "id": 2675, + "id": 2662, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "3694:28:13", + "src": "3565:28:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_e2ef29bad5d35c618438dda4b374dde06d537fd97096436b36c7df99d26402ca", "typeString": "literal_string \"Token has already unlocked\"" @@ -29585,7 +27735,7 @@ "typeString": "literal_string \"Token has already unlocked\"" } ], - "id": 2671, + "id": 2658, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -29593,13 +27743,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "3663:7:13", + "src": "3534:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2676, + "id": 2663, "isConstant": false, "isLValue": false, "isPure": false, @@ -29607,45 +27757,45 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3663:60:13", + "src": "3534:60:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2677, + "id": 2664, "nodeType": "ExpressionStatement", - "src": "3663:60:13" + "src": "3534:60:13" }, { "expression": { - "id": 2682, + "id": 2669, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2678, + "id": 2665, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "3729:12:13", + "src": "3600:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2680, + "id": 2667, "indexExpression": { - "id": 2679, + "id": 2666, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3742:7:13", + "referencedDeclaration": 2645, + "src": "3613:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29656,7 +27806,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3729:21:13", + "src": "3600:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29666,40 +27816,40 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 2681, + "id": 2668, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3753:5:13", + "src": "3624:5:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "3729:29:13", + "src": "3600:29:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2683, + "id": 2670, "nodeType": "ExpressionStatement", - "src": "3729:29:13" + "src": "3600:29:13" }, { "eventCall": { "arguments": [ { - "id": 2685, + "id": 2672, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2658, - "src": "3776:7:13", + "referencedDeclaration": 2645, + "src": "3647:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29713,18 +27863,18 @@ "typeString": "uint256" } ], - "id": 2684, + "id": 2671, "name": "UnLock", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2375, - "src": "3769:6:13", + "src": "3640:6:13", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2686, + "id": 2673, "isConstant": false, "isLValue": false, "isPure": false, @@ -29732,74 +27882,74 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3769:15:13", + "src": "3640:15:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2687, + "id": 2674, "nodeType": "EmitStatement", - "src": "3764:20:13" + "src": "3635:20:13" } ] }, "documentation": { - "id": 2656, + "id": 2643, "nodeType": "StructuredDocumentation", - "src": "3463:73:13", + "src": "3334:73:13", "text": " @dev Unlock token to use blockchain or sale on marketplace" }, "functionSelector": "6198e339", - "id": 2689, + "id": 2676, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2661, + "id": 2648, "name": "LOCK_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2363, - "src": "3590:9:13", + "src": "3461:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2662, + "id": 2649, "kind": "modifierInvocation", "modifierName": { - "id": 2660, + "id": 2647, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 40, - "src": "3581:8:13" + "src": "3452:8:13" }, "nodeType": "ModifierInvocation", - "src": "3581:19:13" + "src": "3452:19:13" } ], "name": "unlock", - "nameLocation": "3548:6:13", + "nameLocation": "3419:6:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2659, + "id": 2646, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2658, + "id": 2645, "mutability": "mutable", "name": "tokenId", - "nameLocation": "3563:7:13", + "nameLocation": "3434:7:13", "nodeType": "VariableDeclaration", - "scope": 2689, - "src": "3555:15:13", + "scope": 2676, + "src": "3426:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29807,10 +27957,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2657, + "id": 2644, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3555:7:13", + "src": "3426:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29819,48 +27969,48 @@ "visibility": "internal" } ], - "src": "3554:17:13" + "src": "3425:17:13" }, "returnParameters": { - "id": 2663, + "id": 2650, "nodeType": "ParameterList", "parameters": [], - "src": "3601:0:13" + "src": "3472:0:13" }, - "scope": 2803, - "src": "3539:250:13", + "scope": 2816, + "src": "3410:250:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 2701, + "id": 2688, "nodeType": "Block", - "src": "3895:39:13", + "src": "3766:39:13", "statements": [ { "expression": { "baseExpression": { - "id": 2697, + "id": 2684, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "3908:12:13", + "src": "3779:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2699, + "id": 2686, "indexExpression": { - "id": 2698, + "id": 2685, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2692, - "src": "3921:7:13", + "referencedDeclaration": 2679, + "src": "3792:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29871,32 +28021,199 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3908:21:13", + "src": "3779:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2696, - "id": 2700, + "functionReturnParameters": 2683, + "id": 2687, "nodeType": "Return", - "src": "3901:28:13" + "src": "3772:28:13" + } + ] + }, + "documentation": { + "id": 2677, + "nodeType": "StructuredDocumentation", + "src": "3664:35:13", + "text": " @dev Get lock status" + }, + "functionSelector": "f6aacfb1", + "id": 2689, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isLocked", + "nameLocation": "3711:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2679, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3728:7:13", + "nodeType": "VariableDeclaration", + "scope": 2689, + "src": "3720:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2678, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3720:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3719:17:13" + }, + "returnParameters": { + "id": 2683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2682, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2689, + "src": "3760:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2681, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3760:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3759:6:13" + }, + "scope": 2816, + "src": "3702:103:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2702, + "nodeType": "Block", + "src": "3944:39:13", + "statements": [ + { + "expression": { + "id": 2700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2698, + "name": "_baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2348, + "src": "3950:13:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2699, + "name": "baseTokenURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2692, + "src": "3966:12:13", + "typeDescriptions": { + "typeIdentifier": "t_string_calldata_ptr", + "typeString": "string calldata" + } + }, + "src": "3950:28:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2701, + "nodeType": "ExpressionStatement", + "src": "3950:28:13" } ] }, "documentation": { "id": 2690, "nodeType": "StructuredDocumentation", - "src": "3793:35:13", - "text": " @dev Get lock status" + "src": "3809:33:13", + "text": " @dev Set token URI" }, - "functionSelector": "f6aacfb1", - "id": 2702, + "functionSelector": "931688cb", + "id": 2703, "implemented": true, "kind": "function", - "modifiers": [], - "name": "isLocked", - "nameLocation": "3840:8:13", + "modifiers": [ + { + "arguments": [ + { + "id": 2695, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "3924:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2696, + "kind": "modifierInvocation", + "modifierName": { + "id": 2694, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "3915:8:13" + }, + "nodeType": "ModifierInvocation", + "src": "3915:28:13" + } + ], + "name": "updateBaseURI", + "nameLocation": "3854:13:13", "nodeType": "FunctionDefinition", "parameters": { "id": 2693, @@ -29906,178 +28223,11 @@ "constant": false, "id": 2692, "mutability": "mutable", - "name": "tokenId", - "nameLocation": "3857:7:13", - "nodeType": "VariableDeclaration", - "scope": 2702, - "src": "3849:15:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 2691, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3849:7:13", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "3848:17:13" - }, - "returnParameters": { - "id": 2696, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2695, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 2702, - "src": "3889:4:13", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 2694, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "3889:4:13", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "3888:6:13" - }, - "scope": 2803, - "src": "3831:103:13", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "body": { - "id": 2715, - "nodeType": "Block", - "src": "4073:39:13", - "statements": [ - { - "expression": { - "id": 2713, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "id": 2711, - "name": "_baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2348, - "src": "4079:13:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "id": 2712, - "name": "baseTokenURI", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2705, - "src": "4095:12:13", - "typeDescriptions": { - "typeIdentifier": "t_string_calldata_ptr", - "typeString": "string calldata" - } - }, - "src": "4079:28:13", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string storage ref" - } - }, - "id": 2714, - "nodeType": "ExpressionStatement", - "src": "4079:28:13" - } - ] - }, - "documentation": { - "id": 2703, - "nodeType": "StructuredDocumentation", - "src": "3938:33:13", - "text": " @dev Set token URI" - }, - "functionSelector": "931688cb", - "id": 2716, - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": [ - { - "id": 2708, - "name": "DEFAULT_ADMIN_ROLE", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 27, - "src": "4053:18:13", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "id": 2709, - "kind": "modifierInvocation", - "modifierName": { - "id": 2707, - "name": "onlyRole", - "nodeType": "IdentifierPath", - "referencedDeclaration": 40, - "src": "4044:8:13" - }, - "nodeType": "ModifierInvocation", - "src": "4044:28:13" - } - ], - "name": "updateBaseURI", - "nameLocation": "3983:13:13", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 2706, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 2705, - "mutability": "mutable", "name": "baseTokenURI", - "nameLocation": "4018:12:13", + "nameLocation": "3889:12:13", "nodeType": "VariableDeclaration", - "scope": 2716, - "src": "4002:28:13", + "scope": 2703, + "src": "3873:28:13", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -30085,10 +28235,10 @@ "typeString": "string" }, "typeName": { - "id": 2704, + "id": 2691, "name": "string", "nodeType": "ElementaryTypeName", - "src": "4002:6:13", + "src": "3873:6:13", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -30097,34 +28247,359 @@ "visibility": "internal" } ], - "src": "3996:38:13" + "src": "3867:38:13" }, "returnParameters": { - "id": 2710, + "id": 2697, "nodeType": "ParameterList", "parameters": [], - "src": "4073:0:13" + "src": "3944:0:13" }, - "scope": 2803, - "src": "3974:138:13", + "scope": 2816, + "src": "3845:138:13", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, + { + "baseFunctions": [ + 589 + ], + "body": { + "id": 2728, + "nodeType": "Block", + "src": "4138:98:13", + "statements": [ + { + "assignments": [ + 2713 + ], + "declarations": [ + { + "constant": false, + "id": 2713, + "mutability": "mutable", + "name": "baseURI", + "nameLocation": "4158:7:13", + "nodeType": "VariableDeclaration", + "scope": 2728, + "src": "4144:21:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2712, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4144:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 2716, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2714, + "name": "_baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 2448 + ], + "referencedDeclaration": 2448, + "src": "4168:8:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_string_memory_ptr_$", + "typeString": "function () view returns (string memory)" + } + }, + "id": 2715, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4168:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4144:34:13" + }, + { + "expression": { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2719, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2713, + "src": "4197:7:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4191:5:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2717, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4191:5:13", + "typeDescriptions": {} + } + }, + "id": 2720, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4191:14:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4191:21:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4215:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4191:25:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseExpression": { + "hexValue": "", + "id": 2725, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4229:2:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + }, + "id": 2726, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "Conditional", + "src": "4191:40:13", + "trueExpression": { + "id": 2724, + "name": "baseURI", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2713, + "src": "4219:7:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 2711, + "id": 2727, + "nodeType": "Return", + "src": "4184:47:13" + } + ] + }, + "documentation": { + "id": 2704, + "nodeType": "StructuredDocumentation", + "src": "3987:52:13", + "text": " @dev one type badge has same tokenURI" + }, + "functionSelector": "c87b56dd", + "id": 2729, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "tokenURI", + "nameLocation": "4051:8:13", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2708, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4105:8:13" + }, + "parameters": { + "id": 2707, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2706, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4073:7:13", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "4065:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4065:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4059:25:13" + }, + "returnParameters": { + "id": 2711, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2710, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2729, + "src": "4123:13:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4123:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4122:15:13" + }, + "scope": 2816, + "src": "4042:194:13", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, { "baseFunctions": [ 1557 ], "body": { - "id": 2744, + "id": 2757, "nodeType": "Block", - "src": "4307:126:13", + "src": "4431:126:13", "statements": [ { "expression": { "arguments": [ { - "id": 2732, + "id": 2745, "isConstant": false, "isLValue": false, "isPure": false, @@ -30132,28 +28607,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4321:22:13", + "src": "4445:22:13", "subExpression": { "baseExpression": { - "id": 2729, + "id": 2742, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "4322:12:13", + "src": "4446:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2731, + "id": 2744, "indexExpression": { - "id": 2730, + "id": 2743, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2723, - "src": "4335:7:13", + "referencedDeclaration": 2736, + "src": "4459:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30164,7 +28639,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4322:21:13", + "src": "4446:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30177,14 +28652,14 @@ }, { "hexValue": "43616e206e6f74207472616e73666572206c6f636b656420746f6b656e", - "id": 2733, + "id": 2746, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4345:31:13", + "src": "4469:31:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_a49a959892d9f308239e410194012b82e46e9f3698c5e13299823030be494191", "typeString": "literal_string \"Can not transfer locked token\"" @@ -30203,7 +28678,7 @@ "typeString": "literal_string \"Can not transfer locked token\"" } ], - "id": 2728, + "id": 2741, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30211,13 +28686,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4313:7:13", + "src": "4437:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2734, + "id": 2747, "isConstant": false, "isLValue": false, "isPure": false, @@ -30225,51 +28700,51 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4313:64:13", + "src": "4437:64:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2735, + "id": 2748, "nodeType": "ExpressionStatement", - "src": "4313:64:13" + "src": "4437:64:13" }, { "expression": { "arguments": [ { - "id": 2739, + "id": 2752, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2719, - "src": "4410:4:13", + "referencedDeclaration": 2732, + "src": "4534:4:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2740, + "id": 2753, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2721, - "src": "4416:2:13", + "referencedDeclaration": 2734, + "src": "4540:2:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2741, + "id": 2754, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2723, - "src": "4420:7:13", + "referencedDeclaration": 2736, + "src": "4544:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30292,18 +28767,18 @@ } ], "expression": { - "id": 2736, + "id": 2749, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967271, - "src": "4383:5:13", + "src": "4507:5:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_BEBadge_$2803_$", + "typeIdentifier": "t_type$_t_super$_BEBadge_$2816_$", "typeString": "type(contract super BEBadge)" } }, - "id": 2738, + "id": 2751, "isConstant": false, "isLValue": false, "isPure": false, @@ -30311,13 +28786,13 @@ "memberName": "_beforeTokenTransfer", "nodeType": "MemberAccess", "referencedDeclaration": 1557, - "src": "4383:26:13", + "src": "4507:26:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2742, + "id": 2755, "isConstant": false, "isLValue": false, "isPure": false, @@ -30325,59 +28800,59 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4383:45:13", + "src": "4507:45:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2743, + "id": 2756, "nodeType": "ExpressionStatement", - "src": "4383:45:13" + "src": "4507:45:13" } ] }, "documentation": { - "id": 2717, + "id": 2730, "nodeType": "StructuredDocumentation", - "src": "4116:55:13", + "src": "4240:55:13", "text": " @dev See {IERC165-_beforeTokenTransfer}." }, - "id": 2745, + "id": 2758, "implemented": true, "kind": "function", "modifiers": [], "name": "_beforeTokenTransfer", - "nameLocation": "4183:20:13", + "nameLocation": "4307:20:13", "nodeType": "FunctionDefinition", "overrides": { - "id": 2726, + "id": 2739, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 2725, + "id": 2738, "name": "ERC721Enumerable", "nodeType": "IdentifierPath", "referencedDeclaration": 1719, - "src": "4289:16:13" + "src": "4413:16:13" } ], - "src": "4280:26:13" + "src": "4404:26:13" }, "parameters": { - "id": 2724, + "id": 2737, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2719, + "id": 2732, "mutability": "mutable", "name": "from", - "nameLocation": "4217:4:13", + "nameLocation": "4341:4:13", "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "4209:12:13", + "scope": 2758, + "src": "4333:12:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30385,10 +28860,10 @@ "typeString": "address" }, "typeName": { - "id": 2718, + "id": 2731, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4209:7:13", + "src": "4333:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30399,13 +28874,13 @@ }, { "constant": false, - "id": 2721, + "id": 2734, "mutability": "mutable", "name": "to", - "nameLocation": "4235:2:13", + "nameLocation": "4359:2:13", "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "4227:10:13", + "scope": 2758, + "src": "4351:10:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30413,10 +28888,10 @@ "typeString": "address" }, "typeName": { - "id": 2720, + "id": 2733, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4227:7:13", + "src": "4351:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30427,13 +28902,13 @@ }, { "constant": false, - "id": 2723, + "id": 2736, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4251:7:13", + "nameLocation": "4375:7:13", "nodeType": "VariableDeclaration", - "scope": 2745, - "src": "4243:15:13", + "scope": 2758, + "src": "4367:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30441,10 +28916,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2722, + "id": 2735, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4243:7:13", + "src": "4367:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30453,16 +28928,16 @@ "visibility": "internal" } ], - "src": "4203:59:13" + "src": "4327:59:13" }, "returnParameters": { - "id": 2727, + "id": 2740, "nodeType": "ParameterList", "parameters": [], - "src": "4307:0:13" + "src": "4431:0:13" }, - "scope": 2803, - "src": "4174:259:13", + "scope": 2816, + "src": "4298:259:13", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" @@ -30473,20 +28948,20 @@ 1431 ], "body": { - "id": 2761, + "id": 2774, "nodeType": "Block", - "src": "4646:54:13", + "src": "4770:54:13", "statements": [ { "expression": { "arguments": [ { - "id": 2758, + "id": 2771, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2748, - "src": "4683:11:13", + "referencedDeclaration": 2761, + "src": "4807:11:13", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -30501,18 +28976,18 @@ } ], "expression": { - "id": 2756, + "id": 2769, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967271, - "src": "4659:5:13", + "src": "4783:5:13", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_BEBadge_$2803_$", + "typeIdentifier": "t_type$_t_super$_BEBadge_$2816_$", "typeString": "type(contract super BEBadge)" } }, - "id": 2757, + "id": 2770, "isConstant": false, "isLValue": false, "isPure": false, @@ -30520,13 +28995,13 @@ "memberName": "supportsInterface", "nodeType": "MemberAccess", "referencedDeclaration": 1431, - "src": "4659:23:13", + "src": "4783:23:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 2759, + "id": 2772, "isConstant": false, "isLValue": false, "isPure": false, @@ -30534,68 +29009,68 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4659:36:13", + "src": "4783:36:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 2755, - "id": 2760, + "functionReturnParameters": 2768, + "id": 2773, "nodeType": "Return", - "src": "4652:43:13" + "src": "4776:43:13" } ] }, "documentation": { - "id": 2746, + "id": 2759, "nodeType": "StructuredDocumentation", - "src": "4437:52:13", + "src": "4561:52:13", "text": " @dev See {IERC165-supportsInterface}." }, "functionSelector": "01ffc9a7", - "id": 2762, + "id": 2775, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "4501:17:13", + "nameLocation": "4625:17:13", "nodeType": "FunctionDefinition", "overrides": { - "id": 2752, + "id": 2765, "nodeType": "OverrideSpecifier", "overrides": [ { - "id": 2750, + "id": 2763, "name": "AccessControl", "nodeType": "IdentifierPath", "referencedDeclaration": 308, - "src": "4592:13:13" + "src": "4716:13:13" }, { - "id": 2751, + "id": 2764, "name": "ERC721Enumerable", "nodeType": "IdentifierPath", "referencedDeclaration": 1719, - "src": "4607:16:13" + "src": "4731:16:13" } ], - "src": "4583:41:13" + "src": "4707:41:13" }, "parameters": { - "id": 2749, + "id": 2762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2748, + "id": 2761, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "4531:11:13", + "nameLocation": "4655:11:13", "nodeType": "VariableDeclaration", - "scope": 2762, - "src": "4524:18:13", + "scope": 2775, + "src": "4648:18:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30603,10 +29078,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 2747, + "id": 2760, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "4524:6:13", + "src": "4648:6:13", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -30615,21 +29090,21 @@ "visibility": "internal" } ], - "src": "4518:28:13" + "src": "4642:28:13" }, "returnParameters": { - "id": 2755, + "id": 2768, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2754, + "id": 2767, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2762, - "src": "4638:4:13", + "scope": 2775, + "src": "4762:4:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30637,10 +29112,10 @@ "typeString": "bool" }, "typeName": { - "id": 2753, + "id": 2766, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4638:4:13", + "src": "4762:4:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30649,19 +29124,19 @@ "visibility": "internal" } ], - "src": "4637:6:13" + "src": "4761:6:13" }, - "scope": 2803, - "src": "4492:208:13", + "scope": 2816, + "src": "4616:208:13", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 2801, + "id": 2814, "nodeType": "Block", - "src": "4932:251:13", + "src": "5056:251:13", "statements": [ { "expression": { @@ -30669,12 +29144,12 @@ { "arguments": [ { - "id": 2775, + "id": 2788, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "4954:7:13", + "referencedDeclaration": 2780, + "src": "5078:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30688,18 +29163,18 @@ "typeString": "uint256" } ], - "id": 2774, + "id": 2787, "name": "_exists", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 820, - "src": "4946:7:13", + "src": "5070:7:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_bool_$", "typeString": "function (uint256) view returns (bool)" } }, - "id": 2776, + "id": 2789, "isConstant": false, "isLValue": false, "isPure": false, @@ -30707,7 +29182,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4946:16:13", + "src": "5070:16:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -30716,14 +29191,14 @@ }, { "hexValue": "546f6b656e4964206e6f7420657869737473", - "id": 2777, + "id": 2790, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "4964:20:13", + "src": "5088:20:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_044cb421a561a181579d6dc4883e2cc9c9cc5fde939e76877050c9e6a44cb28f", "typeString": "literal_string \"TokenId not exists\"" @@ -30742,7 +29217,7 @@ "typeString": "literal_string \"TokenId not exists\"" } ], - "id": 2773, + "id": 2786, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30750,13 +29225,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4938:7:13", + "src": "5062:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2778, + "id": 2791, "isConstant": false, "isLValue": false, "isPure": false, @@ -30764,22 +29239,22 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4938:47:13", + "src": "5062:47:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2779, + "id": 2792, "nodeType": "ExpressionStatement", - "src": "4938:47:13" + "src": "5062:47:13" }, { "expression": { "arguments": [ { - "id": 2784, + "id": 2797, "isConstant": false, "isLValue": false, "isPure": false, @@ -30787,28 +29262,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "4999:22:13", + "src": "5123:22:13", "subExpression": { "baseExpression": { - "id": 2781, + "id": 2794, "name": "lockedTokens", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2345, - "src": "5000:12:13", + "src": "5124:12:13", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 2783, + "id": 2796, "indexExpression": { - "id": 2782, + "id": 2795, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "5013:7:13", + "referencedDeclaration": 2780, + "src": "5137:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30819,7 +29294,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5000:21:13", + "src": "5124:21:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30832,14 +29307,14 @@ }, { "hexValue": "43616e206e6f74206275726e206c6f636b656420746f6b656e", - "id": 2785, + "id": 2798, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5023:27:13", + "src": "5147:27:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b07b4c730db474841b6a65375f1a272d6de44cb31270129aa59e1d2cd13c0573", "typeString": "literal_string \"Can not burn locked token\"" @@ -30858,7 +29333,7 @@ "typeString": "literal_string \"Can not burn locked token\"" } ], - "id": 2780, + "id": 2793, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -30866,13 +29341,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "4991:7:13", + "src": "5115:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2786, + "id": 2799, "isConstant": false, "isLValue": false, "isPure": false, @@ -30880,16 +29355,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4991:60:13", + "src": "5115:60:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2787, + "id": 2800, "nodeType": "ExpressionStatement", - "src": "4991:60:13" + "src": "5115:60:13" }, { "expression": { @@ -30899,7 +29374,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2793, + "id": 2806, "isConstant": false, "isLValue": false, "isPure": false, @@ -30907,12 +29382,12 @@ "leftExpression": { "arguments": [ { - "id": 2790, + "id": 2803, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "5080:7:13", + "referencedDeclaration": 2780, + "src": "5204:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30926,18 +29401,18 @@ "typeString": "uint256" } ], - "id": 2789, + "id": 2802, "name": "ownerOf", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 527, - "src": "5072:7:13", + "src": "5196:7:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", "typeString": "function (uint256) view returns (address)" } }, - "id": 2791, + "id": 2804, "isConstant": false, "isLValue": false, "isPure": false, @@ -30945,7 +29420,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5072:16:13", + "src": "5196:16:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -30955,18 +29430,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 2792, + "id": 2805, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2765, - "src": "5092:5:13", + "referencedDeclaration": 2778, + "src": "5216:5:13", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5072:25:13", + "src": "5196:25:13", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30974,14 +29449,14 @@ }, { "hexValue": "63757272656e742061646472657373206973206e6f74206f776e6572206f662074686973206974656d206e6f77", - "id": 2794, + "id": 2807, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5105:47:13", + "src": "5229:47:13", "typeDescriptions": { "typeIdentifier": "t_stringliteral_1774cd4f898dccf4fae021d9bb7fddc8118540419f4e63ed0c4f60c9307baeef", "typeString": "literal_string \"current address is not owner of this item now\"" @@ -31000,7 +29475,7 @@ "typeString": "literal_string \"current address is not owner of this item now\"" } ], - "id": 2788, + "id": 2801, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -31008,13 +29483,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "5057:7:13", + "src": "5181:7:13", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 2795, + "id": 2808, "isConstant": false, "isLValue": false, "isPure": false, @@ -31022,27 +29497,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5057:101:13", + "src": "5181:101:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2796, + "id": 2809, "nodeType": "ExpressionStatement", - "src": "5057:101:13" + "src": "5181:101:13" }, { "expression": { "arguments": [ { - "id": 2798, + "id": 2811, "name": "tokenId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2767, - "src": "5170:7:13", + "referencedDeclaration": 2780, + "src": "5294:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31056,18 +29531,18 @@ "typeString": "uint256" } ], - "id": 2797, + "id": 2810, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1031, - "src": "5164:5:13", + "src": "5288:5:13", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 2799, + "id": 2812, "isConstant": false, "isLValue": false, "isPure": false, @@ -31075,74 +29550,74 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "5164:14:13", + "src": "5288:14:13", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2800, + "id": 2813, "nodeType": "ExpressionStatement", - "src": "5164:14:13" + "src": "5288:14:13" } ] }, "documentation": { - "id": 2763, + "id": 2776, "nodeType": "StructuredDocumentation", - "src": "4704:130:13", + "src": "4828:130:13", "text": " @dev Burns `tokenId`.\n Requirements:\n - The caller must own `tokenId` or be an approved operator." }, "functionSelector": "9dc29fac", - "id": 2802, + "id": 2815, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 2770, + "id": 2783, "name": "BURN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2358, - "src": "4921:9:13", + "src": "5045:9:13", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } } ], - "id": 2771, + "id": 2784, "kind": "modifierInvocation", "modifierName": { - "id": 2769, + "id": 2782, "name": "onlyRole", "nodeType": "IdentifierPath", "referencedDeclaration": 40, - "src": "4912:8:13" + "src": "5036:8:13" }, "nodeType": "ModifierInvocation", - "src": "4912:19:13" + "src": "5036:19:13" } ], "name": "burn", - "nameLocation": "4846:4:13", + "nameLocation": "4970:4:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 2768, + "id": 2781, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2765, + "id": 2778, "mutability": "mutable", "name": "owner", - "nameLocation": "4864:5:13", + "nameLocation": "4988:5:13", "nodeType": "VariableDeclaration", - "scope": 2802, - "src": "4856:13:13", + "scope": 2815, + "src": "4980:13:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31150,10 +29625,10 @@ "typeString": "address" }, "typeName": { - "id": 2764, + "id": 2777, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4856:7:13", + "src": "4980:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -31164,13 +29639,13 @@ }, { "constant": false, - "id": 2767, + "id": 2780, "mutability": "mutable", "name": "tokenId", - "nameLocation": "4883:7:13", + "nameLocation": "5007:7:13", "nodeType": "VariableDeclaration", - "scope": 2802, - "src": "4875:15:13", + "scope": 2815, + "src": "4999:15:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -31178,10 +29653,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2766, + "id": 2779, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4875:7:13", + "src": "4999:7:13", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -31190,33 +29665,235 @@ "visibility": "internal" } ], - "src": "4850:44:13" + "src": "4974:44:13" }, "returnParameters": { - "id": 2772, + "id": 2785, "nodeType": "ParameterList", "parameters": [], - "src": "4932:0:13" + "src": "5056:0:13" }, - "scope": 2803, - "src": "4837:346:13", + "scope": 2816, + "src": "4961:346:13", "stateMutability": "nonpayable", "virtual": true, "visibility": "external" } ], - "scope": 2804, - "src": "195:4990:13", + "scope": 2817, + "src": "195:5114:13", "usedErrors": [] } ], - "src": "32:5154:13" + "src": "32:5278:13" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": { + "1338": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "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" + }, + "0x6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd2682431": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + "0x57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf4227": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "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" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "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" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "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" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + }, + "0xa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b320": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + } + }, + "links": {}, + "address": "0xCfEB869F69431e42cdB54A4F4f105C19C080A601", + "transactionHash": "0x4098fd68011ee761134073346f069a3ccd70615a4a70348e8700d059e72392e6" + }, "80001": { "events": { "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { @@ -31418,10 +30095,212 @@ "links": {}, "address": "0x5b36329D0DA1F56eD60F3C5DE1855c8dE0440140", "transactionHash": "0xbbb9aafba195d7dc437c61b5db6d53192519bd94d0e6f01f1d92ed04d35cb164" + }, + "421613": { + "events": { + "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925": { + "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" + }, + "0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31": { + "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" + }, + "0x6fb12a9545315eb6982084f0c16aaa522d6073c42806eed44c5775ddd2682431": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "tokenIds", + "type": "uint256[]" + } + ], + "name": "BatchMint", + "type": "event" + }, + "0x57424d5909ad92dd80fbaa1967a047a5975a0e9bb94726d561734e667cdf4227": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Lock", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "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" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "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" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "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" + }, + "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef": { + "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" + }, + "0xa58a8ae4556605e0a8c4d993e8009ee9bea04a4bdfb3209a76ff8b83fa26b320": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "UnLock", + "type": "event" + } + }, + "links": {}, + "address": "0xB469331cEC98E52b7Eab07dFB586253bE232BBF7", + "transactionHash": "0xf6948dc6f7474d28f924354d03818b88a1ad89df76ef47e4bb6605f91c90d660" } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-04-26T07:39:54.101Z", + "updatedAt": "2023-05-11T08:01:34.528Z", "networkType": "ethereum", "devdoc": { "kind": "dev", @@ -31511,7 +30390,7 @@ "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." }, "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." + "details": "one type badge has same tokenURI" }, "totalSupply()": { "details": "See {IERC721Enumerable-totalSupply}." diff --git a/build/contracts/BEMultiSigWallet.json b/build/contracts/BEMultiSigWallet.json index 31ab8cd..af763fb 100644 --- a/build/contracts/BEMultiSigWallet.json +++ b/build/contracts/BEMultiSigWallet.json @@ -34476,6 +34476,12 @@ "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": { + "1338": { + "events": {}, + "links": {}, + "address": "0xD833215cBcc3f914bD1C9ece3EE7BF8B14f841bb", + "transactionHash": "0xbd42a64a4cfcce217f622c2afbe01522fbba731e7c1a12930e40b68ed160e168" + }, "80001": { "events": { "0xc2617efa69bab66782fa219543714338489c4e9e178271560a91b82c3f612b58": { @@ -34796,10 +34802,16 @@ "links": {}, "address": "0xfeFc3aab779863c1624eE008aba485c53805dCeb", "transactionHash": "0xad6c81625b8a7c0141144b57ee96a962eb1909b87ff050f3e73c96475a391eae" + }, + "421613": { + "events": {}, + "links": {}, + "address": "0xE68F149daF2F314d9960c08496D8701BC7671850", + "transactionHash": "0x2d0bb97e5bbb23a344336df330f4e4342046f63e9355ffa75b01699c402e279a" } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-04-26T07:39:54.120Z", + "updatedAt": "2023-05-11T08:01:34.548Z", "networkType": "ethereum", "devdoc": { "events": { diff --git a/build/contracts/NftDistributor.json b/build/contracts/NftDistributor.json index 220d6f6..4226299 100644 --- a/build/contracts/NftDistributor.json +++ b/build/contracts/NftDistributor.json @@ -48,6 +48,19 @@ "name": "Minted", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bool", + "name": "open", + "type": "bool" + } + ], + "name": "OpenStatusChange", + "type": "event" + }, { "anonymous": false, "inputs": [ @@ -259,6 +272,20 @@ "type": "function", "constant": true }, + { + "inputs": [], + "name": "isOpen", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function", + "constant": true + }, { "inputs": [], "name": "nft", @@ -374,6 +401,19 @@ "type": "function", "constant": true }, + { + "inputs": [ + { + "internalType": "bool", + "name": "_open", + "type": "bool" + } + ], + "name": "updateOpenStatus", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { @@ -451,9 +491,9 @@ "constant": true } ], - "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nftTarget\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_manageAddress\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nftSIds\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nftTIds\",\"type\":\"uint256[]\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MANAGE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nftIds\",\"type\":\"uint256[]\"}],\"name\":\"addNFTData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getMintableCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getMintableNftIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"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\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"mintToUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nft\",\"outputs\":[{\"internalType\":\"contract IBEERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"nftMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ownerToNFTs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addNFTData(address,uint256[])\":{\"details\":\"The addNFTData function adds an array of NFT IDs to the list of NFT IDs owned by a user. mintToUser method would check if target user had permission to mint NFTs. Only functions called by an address with the MANAGE_ROLE permission can access this function. The function takes in the address of the user and an array of NFT IDs. It then loops through the array of NFT IDs, and adds each one to the end of the array of NFTs owned by that user to update their ownership data.\",\"params\":{\"_nftIds\":\"- An array of NFT IDs being added to the user's NFT data\",\"_user\":\"- The address of the user being updated with new NFT data\"}},\"constructor\":{\"details\":\"Contract constructor. Initializes the contract with the specified addresses and sets the admin and management roles. Parameters: - _nftTarget: The address of NFT that will be minted by this contract. Need MINTER_ROLE - _nftSource: The address of the source NFT that will check if user has mint permission. - _manageAddress: The address that will have the MANAGE_ROLE assigned.\"},\"getMintableCount(address)\":{\"details\":\"The getMintableCount function gets the number of NFTs owned by a user that have not yet been minted. This is a read-only function, meaning it doesn't modify the state of the blockchain. It takes in the address of the user whose mintable count is being determined, and returns the number of NFTs owned by the user that have not yet been minted.\",\"params\":{\"_user\":\"- The address of the user whose mintable count is being determined\"},\"returns\":{\"_0\":\"count - The number of NFTs owned by the user that have not yet been minted\"}},\"getMintableNftIds(address)\":{\"details\":\"The getMintableNftIds function gets an array of NFT IDs owned by a user that have not yet been minted. This is a read-only function, meaning it doesn't modify the state of the blockchain. It takes in the address of the user whose mintable NFT IDs are being determined, and returns an array of the NFT IDs owned by the user that have not yet been minted.\",\"params\":{\"_user\":\"- The address of the user whose mintable NFT IDs are being determined\"},\"returns\":{\"_0\":\"mintableNftIds - An array of the NFT IDs owned by the user that have not yet been minted\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"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`.\"},\"mintToUser(address,uint256)\":{\"details\":\"The mintToUser function mints NFTs to a given user. Only functions called by an address with the MANAGE_ROLE permission can access this function. The function takes an array of nftIds and checks that there are enough mintable NFTs for the user. It then loops through the user's owned NFTs, checking if each is mintable, and if so, adds it to a list to be minted. Then it emits the Minted event with details of the operation.\",\"params\":{\"_user\":\"- The address of the user receiving the NFTs\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/logic/NftDistributor.sol\":\"NftDistributor\"},\"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/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9772845c886f87a3aab315f8d6b68aa599027c20f441b131cd4afaf65b588900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad2f29a9c17a4f746416c9e254e17671f43c409dbfa6e4d7d76c3e4a83212d31\",\"dweb:/ipfs/QmTqU65L6iu6yqmXKzcNLPioR8etzKPWycpDJCm17ifVdS\"]},\"project:/contracts/interfaces/IBEERC721.sol\":{\"keccak256\":\"0x20027b750379b3699f109326d0e2d75794fd7af357dd7baceff59b7f26ccc4ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37b2a85036c0a234c5347794e832643b3db4550cc86f7062c111cd30de93d656\",\"dweb:/ipfs/QmPMszafR7MJER2PgUvktY8V3krBLT2u7zyB4PQCfBCdY5\"]},\"project:/contracts/logic/NftDistributor.sol\":{\"keccak256\":\"0x49a702365de385f61e6931c1c0666e93162712b97e1451c4a73797016fc7a69b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://989a9f11761f055a145ec3048cbdb3544dbbd9ab56eb464cb700f8af0cf39754\",\"dweb:/ipfs/QmRCLFFFzo3jHcm6uixLwZsHrdyDs96Tm6cjABxWUhch28\"]}},\"version\":1}", - "bytecode": "0x60806040523480156200001157600080fd5b50604051620029e3380380620029e3833981810160405281019062000037919062000650565b6200006c7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb5570916000801b6200014a60201b60201c565b620000906000801b62000084620001ad60201b60201c565b620001b560201b60201c565b60005b81518110156200010057620000ec7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091838381518110620000d857620000d7620006b6565b5b6020026020010151620001b560201b60201c565b80620000f8906200071e565b905062000093565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506200076c565b60006200015d83620001cb60201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b600033905090565b620001c78282620001ea60201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b6200020182826200023260201b62000d411760201c565b6200022d81600160008581526020019081526020016000206200032360201b62000e211790919060201c565b505050565b6200024482826200035b60201b60201c565b6200031f57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002c4620001ad60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600062000353836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620003c560201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620003d983836200043f60201b60201c565b6200043457826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000439565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004a38262000476565b9050919050565b620004b58162000496565b8114620004c157600080fd5b50565b600081519050620004d581620004aa565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200052b82620004e0565b810181811067ffffffffffffffff821117156200054d576200054c620004f1565b5b80604052505050565b60006200056262000462565b905062000570828262000520565b919050565b600067ffffffffffffffff821115620005935762000592620004f1565b5b602082029050602081019050919050565b600080fd5b6000620005c0620005ba8462000575565b62000556565b90508083825260208201905060208402830185811115620005e657620005e5620005a4565b5b835b81811015620006135780620005fe8882620004c4565b845260208401935050602081019050620005e8565b5050509392505050565b600082601f830112620006355762000634620004db565b5b815162000647848260208601620005a9565b91505092915050565b600080604083850312156200066a57620006696200046c565b5b60006200067a85828601620004c4565b925050602083015167ffffffffffffffff8111156200069e576200069d62000471565b5b620006ac858286016200061d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b60006200072b8262000714565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415620007615762000760620006e5565b5b600182019050919050565b612267806200077c6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806384be00e4116100a2578063a217fddf11610071578063a217fddf146102dc578063ad0f93ad146102fa578063ca15c8731461032a578063d547741f1461035a578063ffd68f15146103765761010b565b806384be00e4146102445780639010d07c1461026057806391d14854146102905780639533a384146102c05761010b565b80632f2ff15d116100de5780632f2ff15d146101d057806336568abe146101ec57806347ccca021461020857806360a4b76a146102265761010b565b806301ffc9a714610110578063032221ad146101405780630431f20514610170578063248a9ca3146101a0575b600080fd5b61012a6004803603810190610125919061160d565b6103a6565b6040516101379190611655565b60405180910390f35b61015a600480360381019061015591906116ce565b610420565b60405161016791906117c3565b60405180910390f35b61018a600480360381019061018591906116ce565b6105a2565b60405161019791906117f4565b60405180910390f35b6101ba60048036038101906101b59190611845565b6106b4565b6040516101c79190611881565b60405180910390f35b6101ea60048036038101906101e5919061189c565b6106d3565b005b6102066004803603810190610201919061189c565b6106fc565b005b61021061077f565b60405161021d919061193b565b60405180910390f35b61022e6107a5565b60405161023b9190611881565b60405180910390f35b61025e600480360381019061025991906119bb565b6107c9565b005b61027a60048036038101906102759190611a47565b6108a0565b6040516102879190611a96565b60405180910390f35b6102aa60048036038101906102a5919061189c565b6108cf565b6040516102b79190611655565b60405180910390f35b6102da60048036038101906102d59190611ab1565b610939565b005b6102e4610c9c565b6040516102f19190611881565b60405180910390f35b610314600480360381019061030f9190611ab1565b610ca3565b60405161032191906117f4565b60405180910390f35b610344600480360381019061033f9190611845565b610cd4565b60405161035191906117f4565b60405180910390f35b610374600480360381019061036f919061189c565b610cf8565b005b610390600480360381019061038b9190611af1565b610d21565b60405161039d9190611655565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610419575061041882610e51565b5b9050919050565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156104ad57602002820191906000526020600020905b815481526020019060010190808311610499575b505050505090506000815167ffffffffffffffff8111156104d1576104d0611b1e565b5b6040519080825280602002602001820160405280156104ff5781602001602082028036833780820191505090505b5090506000805b835181101561059657600084828151811061052457610523611b4d565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff16610582578084848151811061056757610566611b4d565b5b602002602001018181525050828061057e90611bab565b9350505b50808061058e90611bab565b915050610506565b50819350505050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561062e57602002820191906000526020600020905b81548152602001906001019080831161061a575b505050505090506000805b82518110156106a957600083828151811061065757610656611b4d565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff1661069557828061069190611bab565b9350505b5080806106a190611bab565b915050610639565b508092505050919050565b6000806000838152602001908152602001600020600101549050919050565b6106dc826106b4565b6106ed816106e8610ecb565b610ed3565b6106f78383610f70565b505050565b610704610ecb565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076890611c77565b60405180910390fd5b61077b8282610fa4565b5050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709181565b6107fa7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb5570916107f5610ecb565b610ed3565b60005b8282905081101561089a57600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083838381811061085a57610859611b4d565b5b905060200201359080600181540180825580915050600190039060005260206000200160009091909190915055808061089290611bab565b9150506107fd565b50505050565b60006108c78260016000868152602001908152602001600020610fd890919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61096a7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091610965610ecb565b610ed3565b610973826105a2565b8111156109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac90611ce3565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610a4057602002820191906000526020600020905b815481526020019060010190808311610a2c575b505050505090506000808367ffffffffffffffff811115610a6457610a63611b1e565b5b604051908082528060200260200182016040528015610a925781602001602082028036833780820191505090505b50905060005b8351811015610b61576000848281518110610ab657610ab5611b4d565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff16158015610aed57508584105b15610b4d5780838581518110610b0657610b05611b4d565b5b60200260200101818152505060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508380610b4990611bab565b9450505b508080610b5990611bab565b915050610a98565b506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343508b0587876040518363ffffffff1660e01b8152600401610bc1929190611d03565b6000604051808303816000875af1158015610be0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610c099190611e61565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d8484604051610c8c929190611eaa565b60405180910390a3505050505050565b6000801b81565b60026020528160005260406000208181548110610cbf57600080fd5b90600052602060002001600091509150505481565b6000610cf160016000848152602001908152602001600020610ff2565b9050919050565b610d01826106b4565b610d1281610d0d610ecb565b610ed3565b610d1c8383610fa4565b505050565b60036020528060005260406000206000915054906101000a900460ff1681565b610d4b82826108cf565b610e1d57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610dc2610ecb565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610e49836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611007565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ec45750610ec382611077565b5b9050919050565b600033905090565b610edd82826108cf565b610f6c57610f028173ffffffffffffffffffffffffffffffffffffffff1660146110e1565b610f108360001c60206110e1565b604051602001610f21929190611ff3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f639190612066565b60405180910390fd5b5050565b610f7a8282610d41565b610f9f8160016000858152602001908152602001600020610e2190919063ffffffff16565b505050565b610fae828261131d565b610fd381600160008581526020019081526020016000206113fe90919063ffffffff16565b505050565b6000610fe7836000018361142e565b60001c905092915050565b600061100082600001611459565b9050919050565b6000611013838361146a565b61106c578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611071565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6060600060028360026110f49190612088565b6110fe91906120e2565b67ffffffffffffffff81111561111757611116611b1e565b5b6040519080825280601f01601f1916602001820160405280156111495781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061118157611180611b4d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106111e5576111e4611b4d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026112259190612088565b61122f91906120e2565b90505b60018111156112cf577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061127157611270611b4d565b5b1a60f81b82828151811061128857611287611b4d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806112c890612138565b9050611232565b5060008414611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a906121ae565b60405180910390fd5b8091505092915050565b61132782826108cf565b156113fa57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061139f610ecb565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611426836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61148d565b905092915050565b600082600001828154811061144657611445611b4d565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b600080836001016000848152602001908152602001600020549050600081146115955760006001826114bf91906121ce565b90506000600186600001805490506114d791906121ce565b90508181146115465760008660000182815481106114f8576114f7611b4d565b5b906000526020600020015490508087600001848154811061151c5761151b611b4d565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061155a57611559612202565b5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061159b565b60009150505b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115ea816115b5565b81146115f557600080fd5b50565b600081359050611607816115e1565b92915050565b600060208284031215611623576116226115ab565b5b6000611631848285016115f8565b91505092915050565b60008115159050919050565b61164f8161163a565b82525050565b600060208201905061166a6000830184611646565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061169b82611670565b9050919050565b6116ab81611690565b81146116b657600080fd5b50565b6000813590506116c8816116a2565b92915050565b6000602082840312156116e4576116e36115ab565b5b60006116f2848285016116b9565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61173a81611727565b82525050565b600061174c8383611731565b60208301905092915050565b6000602082019050919050565b6000611770826116fb565b61177a8185611706565b935061178583611717565b8060005b838110156117b657815161179d8882611740565b97506117a883611758565b925050600181019050611789565b5085935050505092915050565b600060208201905081810360008301526117dd8184611765565b905092915050565b6117ee81611727565b82525050565b600060208201905061180960008301846117e5565b92915050565b6000819050919050565b6118228161180f565b811461182d57600080fd5b50565b60008135905061183f81611819565b92915050565b60006020828403121561185b5761185a6115ab565b5b600061186984828501611830565b91505092915050565b61187b8161180f565b82525050565b60006020820190506118966000830184611872565b92915050565b600080604083850312156118b3576118b26115ab565b5b60006118c185828601611830565b92505060206118d2858286016116b9565b9150509250929050565b6000819050919050565b60006119016118fc6118f784611670565b6118dc565b611670565b9050919050565b6000611913826118e6565b9050919050565b600061192582611908565b9050919050565b6119358161191a565b82525050565b6000602082019050611950600083018461192c565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261197b5761197a611956565b5b8235905067ffffffffffffffff8111156119985761199761195b565b5b6020830191508360208202830111156119b4576119b3611960565b5b9250929050565b6000806000604084860312156119d4576119d36115ab565b5b60006119e2868287016116b9565b935050602084013567ffffffffffffffff811115611a0357611a026115b0565b5b611a0f86828701611965565b92509250509250925092565b611a2481611727565b8114611a2f57600080fd5b50565b600081359050611a4181611a1b565b92915050565b60008060408385031215611a5e57611a5d6115ab565b5b6000611a6c85828601611830565b9250506020611a7d85828601611a32565b9150509250929050565b611a9081611690565b82525050565b6000602082019050611aab6000830184611a87565b92915050565b60008060408385031215611ac857611ac76115ab565b5b6000611ad6858286016116b9565b9250506020611ae785828601611a32565b9150509250929050565b600060208284031215611b0757611b066115ab565b5b6000611b1584828501611a32565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bb682611727565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611be957611be8611b7c565b5b600182019050919050565b600082825260208201905092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000611c61602f83611bf4565b9150611c6c82611c05565b604082019050919050565b60006020820190508181036000830152611c9081611c54565b9050919050565b7f4d696e7461626c6520636f756e74206973206e6f7420656e6f75676800000000600082015250565b6000611ccd601c83611bf4565b9150611cd882611c97565b602082019050919050565b60006020820190508181036000830152611cfc81611cc0565b9050919050565b6000604082019050611d186000830185611a87565b611d2560208301846117e5565b9392505050565b6000601f19601f8301169050919050565b611d4682611d2c565b810181811067ffffffffffffffff82111715611d6557611d64611b1e565b5b80604052505050565b6000611d786115a1565b9050611d848282611d3d565b919050565b600067ffffffffffffffff821115611da457611da3611b1e565b5b602082029050602081019050919050565b600081519050611dc481611a1b565b92915050565b6000611ddd611dd884611d89565b611d6e565b90508083825260208201905060208402830185811115611e0057611dff611960565b5b835b81811015611e295780611e158882611db5565b845260208401935050602081019050611e02565b5050509392505050565b600082601f830112611e4857611e47611956565b5b8151611e58848260208601611dca565b91505092915050565b600060208284031215611e7757611e766115ab565b5b600082015167ffffffffffffffff811115611e9557611e946115b0565b5b611ea184828501611e33565b91505092915050565b60006040820190508181036000830152611ec48185611765565b90508181036020830152611ed88184611765565b90509392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000611f22601783611ee1565b9150611f2d82611eec565b601782019050919050565b600081519050919050565b60005b83811015611f61578082015181840152602081019050611f46565b83811115611f70576000848401525b50505050565b6000611f8182611f38565b611f8b8185611ee1565b9350611f9b818560208601611f43565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000611fdd601183611ee1565b9150611fe882611fa7565b601182019050919050565b6000611ffe82611f15565b915061200a8285611f76565b915061201582611fd0565b91506120218284611f76565b91508190509392505050565b600061203882611f38565b6120428185611bf4565b9350612052818560208601611f43565b61205b81611d2c565b840191505092915050565b60006020820190508181036000830152612080818461202d565b905092915050565b600061209382611727565b915061209e83611727565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120d7576120d6611b7c565b5b828202905092915050565b60006120ed82611727565b91506120f883611727565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561212d5761212c611b7c565b5b828201905092915050565b600061214382611727565b9150600082141561215757612156611b7c565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612198602083611bf4565b91506121a382612162565b602082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b60006121d982611727565b91506121e483611727565b9250828210156121f7576121f6611b7c565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122069ad5c4797bdadcda346693d13ede91da3fa42a13e93f6f4f077e4fb0891d25664736f6c634300080a0033", - "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806384be00e4116100a2578063a217fddf11610071578063a217fddf146102dc578063ad0f93ad146102fa578063ca15c8731461032a578063d547741f1461035a578063ffd68f15146103765761010b565b806384be00e4146102445780639010d07c1461026057806391d14854146102905780639533a384146102c05761010b565b80632f2ff15d116100de5780632f2ff15d146101d057806336568abe146101ec57806347ccca021461020857806360a4b76a146102265761010b565b806301ffc9a714610110578063032221ad146101405780630431f20514610170578063248a9ca3146101a0575b600080fd5b61012a6004803603810190610125919061160d565b6103a6565b6040516101379190611655565b60405180910390f35b61015a600480360381019061015591906116ce565b610420565b60405161016791906117c3565b60405180910390f35b61018a600480360381019061018591906116ce565b6105a2565b60405161019791906117f4565b60405180910390f35b6101ba60048036038101906101b59190611845565b6106b4565b6040516101c79190611881565b60405180910390f35b6101ea60048036038101906101e5919061189c565b6106d3565b005b6102066004803603810190610201919061189c565b6106fc565b005b61021061077f565b60405161021d919061193b565b60405180910390f35b61022e6107a5565b60405161023b9190611881565b60405180910390f35b61025e600480360381019061025991906119bb565b6107c9565b005b61027a60048036038101906102759190611a47565b6108a0565b6040516102879190611a96565b60405180910390f35b6102aa60048036038101906102a5919061189c565b6108cf565b6040516102b79190611655565b60405180910390f35b6102da60048036038101906102d59190611ab1565b610939565b005b6102e4610c9c565b6040516102f19190611881565b60405180910390f35b610314600480360381019061030f9190611ab1565b610ca3565b60405161032191906117f4565b60405180910390f35b610344600480360381019061033f9190611845565b610cd4565b60405161035191906117f4565b60405180910390f35b610374600480360381019061036f919061189c565b610cf8565b005b610390600480360381019061038b9190611af1565b610d21565b60405161039d9190611655565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610419575061041882610e51565b5b9050919050565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156104ad57602002820191906000526020600020905b815481526020019060010190808311610499575b505050505090506000815167ffffffffffffffff8111156104d1576104d0611b1e565b5b6040519080825280602002602001820160405280156104ff5781602001602082028036833780820191505090505b5090506000805b835181101561059657600084828151811061052457610523611b4d565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff16610582578084848151811061056757610566611b4d565b5b602002602001018181525050828061057e90611bab565b9350505b50808061058e90611bab565b915050610506565b50819350505050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561062e57602002820191906000526020600020905b81548152602001906001019080831161061a575b505050505090506000805b82518110156106a957600083828151811061065757610656611b4d565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff1661069557828061069190611bab565b9350505b5080806106a190611bab565b915050610639565b508092505050919050565b6000806000838152602001908152602001600020600101549050919050565b6106dc826106b4565b6106ed816106e8610ecb565b610ed3565b6106f78383610f70565b505050565b610704610ecb565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610771576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076890611c77565b60405180910390fd5b61077b8282610fa4565b5050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709181565b6107fa7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb5570916107f5610ecb565b610ed3565b60005b8282905081101561089a57600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083838381811061085a57610859611b4d565b5b905060200201359080600181540180825580915050600190039060005260206000200160009091909190915055808061089290611bab565b9150506107fd565b50505050565b60006108c78260016000868152602001908152602001600020610fd890919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61096a7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091610965610ecb565b610ed3565b610973826105a2565b8111156109b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109ac90611ce3565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610a4057602002820191906000526020600020905b815481526020019060010190808311610a2c575b505050505090506000808367ffffffffffffffff811115610a6457610a63611b1e565b5b604051908082528060200260200182016040528015610a925781602001602082028036833780820191505090505b50905060005b8351811015610b61576000848281518110610ab657610ab5611b4d565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff16158015610aed57508584105b15610b4d5780838581518110610b0657610b05611b4d565b5b60200260200101818152505060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508380610b4990611bab565b9450505b508080610b5990611bab565b915050610a98565b506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343508b0587876040518363ffffffff1660e01b8152600401610bc1929190611d03565b6000604051808303816000875af1158015610be0573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610c099190611e61565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d8484604051610c8c929190611eaa565b60405180910390a3505050505050565b6000801b81565b60026020528160005260406000208181548110610cbf57600080fd5b90600052602060002001600091509150505481565b6000610cf160016000848152602001908152602001600020610ff2565b9050919050565b610d01826106b4565b610d1281610d0d610ecb565b610ed3565b610d1c8383610fa4565b505050565b60036020528060005260406000206000915054906101000a900460ff1681565b610d4b82826108cf565b610e1d57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610dc2610ecb565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610e49836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611007565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610ec45750610ec382611077565b5b9050919050565b600033905090565b610edd82826108cf565b610f6c57610f028173ffffffffffffffffffffffffffffffffffffffff1660146110e1565b610f108360001c60206110e1565b604051602001610f21929190611ff3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f639190612066565b60405180910390fd5b5050565b610f7a8282610d41565b610f9f8160016000858152602001908152602001600020610e2190919063ffffffff16565b505050565b610fae828261131d565b610fd381600160008581526020019081526020016000206113fe90919063ffffffff16565b505050565b6000610fe7836000018361142e565b60001c905092915050565b600061100082600001611459565b9050919050565b6000611013838361146a565b61106c578260000182908060018154018082558091505060019003906000526020600020016000909190919091505582600001805490508360010160008481526020019081526020016000208190555060019050611071565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6060600060028360026110f49190612088565b6110fe91906120e2565b67ffffffffffffffff81111561111757611116611b1e565b5b6040519080825280601f01601f1916602001820160405280156111495781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061118157611180611b4d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f7800000000000000000000000000000000000000000000000000000000000000816001815181106111e5576111e4611b4d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026112259190612088565b61122f91906120e2565b90505b60018111156112cf577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061127157611270611b4d565b5b1a60f81b82828151811061128857611287611b4d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806112c890612138565b9050611232565b5060008414611313576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161130a906121ae565b60405180910390fd5b8091505092915050565b61132782826108cf565b156113fa57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061139f610ecb565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000611426836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61148d565b905092915050565b600082600001828154811061144657611445611b4d565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b600080836001016000848152602001908152602001600020549050600081146115955760006001826114bf91906121ce565b90506000600186600001805490506114d791906121ce565b90508181146115465760008660000182815481106114f8576114f7611b4d565b5b906000526020600020015490508087600001848154811061151c5761151b611b4d565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b8560000180548061155a57611559612202565b5b60019003818190600052602060002001600090559055856001016000868152602001908152602001600020600090556001935050505061159b565b60009150505b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115ea816115b5565b81146115f557600080fd5b50565b600081359050611607816115e1565b92915050565b600060208284031215611623576116226115ab565b5b6000611631848285016115f8565b91505092915050565b60008115159050919050565b61164f8161163a565b82525050565b600060208201905061166a6000830184611646565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061169b82611670565b9050919050565b6116ab81611690565b81146116b657600080fd5b50565b6000813590506116c8816116a2565b92915050565b6000602082840312156116e4576116e36115ab565b5b60006116f2848285016116b9565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b61173a81611727565b82525050565b600061174c8383611731565b60208301905092915050565b6000602082019050919050565b6000611770826116fb565b61177a8185611706565b935061178583611717565b8060005b838110156117b657815161179d8882611740565b97506117a883611758565b925050600181019050611789565b5085935050505092915050565b600060208201905081810360008301526117dd8184611765565b905092915050565b6117ee81611727565b82525050565b600060208201905061180960008301846117e5565b92915050565b6000819050919050565b6118228161180f565b811461182d57600080fd5b50565b60008135905061183f81611819565b92915050565b60006020828403121561185b5761185a6115ab565b5b600061186984828501611830565b91505092915050565b61187b8161180f565b82525050565b60006020820190506118966000830184611872565b92915050565b600080604083850312156118b3576118b26115ab565b5b60006118c185828601611830565b92505060206118d2858286016116b9565b9150509250929050565b6000819050919050565b60006119016118fc6118f784611670565b6118dc565b611670565b9050919050565b6000611913826118e6565b9050919050565b600061192582611908565b9050919050565b6119358161191a565b82525050565b6000602082019050611950600083018461192c565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261197b5761197a611956565b5b8235905067ffffffffffffffff8111156119985761199761195b565b5b6020830191508360208202830111156119b4576119b3611960565b5b9250929050565b6000806000604084860312156119d4576119d36115ab565b5b60006119e2868287016116b9565b935050602084013567ffffffffffffffff811115611a0357611a026115b0565b5b611a0f86828701611965565b92509250509250925092565b611a2481611727565b8114611a2f57600080fd5b50565b600081359050611a4181611a1b565b92915050565b60008060408385031215611a5e57611a5d6115ab565b5b6000611a6c85828601611830565b9250506020611a7d85828601611a32565b9150509250929050565b611a9081611690565b82525050565b6000602082019050611aab6000830184611a87565b92915050565b60008060408385031215611ac857611ac76115ab565b5b6000611ad6858286016116b9565b9250506020611ae785828601611a32565b9150509250929050565b600060208284031215611b0757611b066115ab565b5b6000611b1584828501611a32565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611bb682611727565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611be957611be8611b7c565b5b600182019050919050565b600082825260208201905092915050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000611c61602f83611bf4565b9150611c6c82611c05565b604082019050919050565b60006020820190508181036000830152611c9081611c54565b9050919050565b7f4d696e7461626c6520636f756e74206973206e6f7420656e6f75676800000000600082015250565b6000611ccd601c83611bf4565b9150611cd882611c97565b602082019050919050565b60006020820190508181036000830152611cfc81611cc0565b9050919050565b6000604082019050611d186000830185611a87565b611d2560208301846117e5565b9392505050565b6000601f19601f8301169050919050565b611d4682611d2c565b810181811067ffffffffffffffff82111715611d6557611d64611b1e565b5b80604052505050565b6000611d786115a1565b9050611d848282611d3d565b919050565b600067ffffffffffffffff821115611da457611da3611b1e565b5b602082029050602081019050919050565b600081519050611dc481611a1b565b92915050565b6000611ddd611dd884611d89565b611d6e565b90508083825260208201905060208402830185811115611e0057611dff611960565b5b835b81811015611e295780611e158882611db5565b845260208401935050602081019050611e02565b5050509392505050565b600082601f830112611e4857611e47611956565b5b8151611e58848260208601611dca565b91505092915050565b600060208284031215611e7757611e766115ab565b5b600082015167ffffffffffffffff811115611e9557611e946115b0565b5b611ea184828501611e33565b91505092915050565b60006040820190508181036000830152611ec48185611765565b90508181036020830152611ed88184611765565b90509392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000611f22601783611ee1565b9150611f2d82611eec565b601782019050919050565b600081519050919050565b60005b83811015611f61578082015181840152602081019050611f46565b83811115611f70576000848401525b50505050565b6000611f8182611f38565b611f8b8185611ee1565b9350611f9b818560208601611f43565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000611fdd601183611ee1565b9150611fe882611fa7565b601182019050919050565b6000611ffe82611f15565b915061200a8285611f76565b915061201582611fd0565b91506120218284611f76565b91508190509392505050565b600061203882611f38565b6120428185611bf4565b9350612052818560208601611f43565b61205b81611d2c565b840191505092915050565b60006020820190508181036000830152612080818461202d565b905092915050565b600061209382611727565b915061209e83611727565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156120d7576120d6611b7c565b5b828202905092915050565b60006120ed82611727565b91506120f883611727565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561212d5761212c611b7c565b5b828201905092915050565b600061214382611727565b9150600082141561215757612156611b7c565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b6000612198602083611bf4565b91506121a382612162565b602082019050919050565b600060208201905081810360008301526121c78161218b565b9050919050565b60006121d982611727565b91506121e483611727565b9250828210156121f7576121f6611b7c565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122069ad5c4797bdadcda346693d13ede91da3fa42a13e93f6f4f077e4fb0891d25664736f6c634300080a0033", + "metadata": "{\"compiler\":{\"version\":\"0.8.10+commit.fc410830\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nftTarget\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_manageAddress\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nft\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nftSIds\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"nftTIds\",\"type\":\"uint256[]\"}],\"name\":\"Minted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"open\",\"type\":\"bool\"}],\"name\":\"OpenStatusChange\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MANAGE_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"_nftIds\",\"type\":\"uint256[]\"}],\"name\":\"addNFTData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getMintableCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getMintableNftIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"getRoleMember\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleMemberCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isOpen\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"name\":\"mintToUser\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nft\",\"outputs\":[{\"internalType\":\"contract IBEERC721\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"nftMinted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"ownerToNFTs\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_open\",\"type\":\"bool\"}],\"name\":\"updateOpenStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"addNFTData(address,uint256[])\":{\"details\":\"The addNFTData function adds an array of NFT IDs to the list of NFT IDs owned by a user. mintToUser method would check if target user had permission to mint NFTs. Only functions called by an address with the MANAGE_ROLE permission can access this function. The function takes in the address of the user and an array of NFT IDs. It then loops through the array of NFT IDs, and adds each one to the end of the array of NFTs owned by that user to update their ownership data.\",\"params\":{\"_nftIds\":\"- An array of NFT IDs being added to the user's NFT data\",\"_user\":\"- The address of the user being updated with new NFT data\"}},\"constructor\":{\"details\":\"Contract constructor. Initializes the contract with the specified addresses and sets the admin and management roles. Parameters: - _nftTarget: The address of NFT that will be minted by this contract. Need MINTER_ROLE - _nftSource: The address of the source NFT that will check if user has mint permission. - _manageAddress: The address that will have the MANAGE_ROLE assigned.\"},\"getMintableCount(address)\":{\"details\":\"The getMintableCount function gets the number of NFTs owned by a user that have not yet been minted. This is a read-only function, meaning it doesn't modify the state of the blockchain. It takes in the address of the user whose mintable count is being determined, and returns the number of NFTs owned by the user that have not yet been minted.\",\"params\":{\"_user\":\"- The address of the user whose mintable count is being determined\"},\"returns\":{\"_0\":\"count - The number of NFTs owned by the user that have not yet been minted\"}},\"getMintableNftIds(address)\":{\"details\":\"The getMintableNftIds function gets an array of NFT IDs owned by a user that have not yet been minted. This is a read-only function, meaning it doesn't modify the state of the blockchain. It takes in the address of the user whose mintable NFT IDs are being determined, and returns an array of the NFT IDs owned by the user that have not yet been minted.\",\"params\":{\"_user\":\"- The address of the user whose mintable NFT IDs are being determined\"},\"returns\":{\"_0\":\"mintableNftIds - An array of the NFT IDs owned by the user that have not yet been minted\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getRoleMember(bytes32,uint256)\":{\"details\":\"Returns one of the accounts that have `role`. `index` must be a value between 0 and {getRoleMemberCount}, non-inclusive. Role bearers are not sorted in any particular way, and their ordering may change at any point. WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure you perform all queries on the same block. See the following https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] for more information.\"},\"getRoleMemberCount(bytes32)\":{\"details\":\"Returns the number of accounts that have `role`. Can be used together with {getRoleMember} to enumerate all bearers of a role.\"},\"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`.\"},\"mintToUser(address,uint256)\":{\"details\":\"The mintToUser function mints NFTs to a given user. Only functions called by an address with the MANAGE_ROLE permission can access this function. The function takes an array of nftIds and checks that there are enough mintable NFTs for the user. It then loops through the user's owned NFTs, checking if each is mintable, and if so, adds it to a list to be minted. Then it emits the Minted event with details of the operation.\",\"params\":{\"_user\":\"- The address of the user receiving the NFTs\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/logic/NftDistributor.sol\":\"NftDistributor\"},\"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/AccessControlEnumerable.sol\":{\"keccak256\":\"0x13f5e15f2a0650c0b6aaee2ef19e89eaf4870d6e79662d572a393334c1397247\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ee05f28f549a5d6515e152580716b87636ed4bfab9812499a6e3803df88288b\",\"dweb:/ipfs/QmeEnhdwY1t5Y3YU5a4ffzgXuToydH2PNdNxV9W7dEPRQJ\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/IAccessControlEnumerable.sol\":{\"keccak256\":\"0xba4459ab871dfa300f5212c6c30178b63898c03533a1ede28436f11546626676\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dcc7b09bfa6e18aab262ca372f4a9b1fc82e294b430706a4e1378cf58e6a276\",\"dweb:/ipfs/QmT8oSAcesdctR15HMLhr2a1HRpXymxdjTfdtfTYJcj2N2\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9772845c886f87a3aab315f8d6b68aa599027c20f441b131cd4afaf65b588900\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ad2f29a9c17a4f746416c9e254e17671f43c409dbfa6e4d7d76c3e4a83212d31\",\"dweb:/ipfs/QmTqU65L6iu6yqmXKzcNLPioR8etzKPWycpDJCm17ifVdS\"]},\"project:/contracts/interfaces/IBEERC721.sol\":{\"keccak256\":\"0x20027b750379b3699f109326d0e2d75794fd7af357dd7baceff59b7f26ccc4ae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37b2a85036c0a234c5347794e832643b3db4550cc86f7062c111cd30de93d656\",\"dweb:/ipfs/QmPMszafR7MJER2PgUvktY8V3krBLT2u7zyB4PQCfBCdY5\"]},\"project:/contracts/logic/NftDistributor.sol\":{\"keccak256\":\"0x3a9c34957159049d533f04530dae2e84b5575d82a4455d589c9c0d7859d97073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c6b4a5bf1ea0128c5ba2cf812afee86fe30fbfd62ae6f566a3ddddefc1cb232\",\"dweb:/ipfs/QmQPSixA53sNxCDXqjcmguFwerdgpPihViCmskrR5gZQtT\"]}},\"version\":1}", + "bytecode": "0x60806040526001600460146101000a81548160ff0219169083151502179055503480156200002c57600080fd5b5060405162002cb438038062002cb483398181016040528101906200005291906200066b565b620000877fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb5570916000801b6200016560201b60201c565b620000ab6000801b6200009f620001c860201b60201c565b620001d060201b60201c565b60005b81518110156200011b57620001077fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091838381518110620000f357620000f2620006d1565b5b6020026020010151620001d060201b60201c565b80620001139062000739565b9050620000ae565b5081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000787565b60006200017883620001e660201b60201c565b905081600080858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b600033905090565b620001e282826200020560201b60201c565b5050565b6000806000838152602001908152602001600020600101549050919050565b6200021c82826200024d60201b62000ec61760201c565b6200024881600160008581526020019081526020016000206200033e60201b62000fa61790919060201c565b505050565b6200025f82826200037660201b60201c565b6200033a57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620002df620001c860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006200036e836000018373ffffffffffffffffffffffffffffffffffffffff1660001b620003e060201b60201c565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000620003f483836200045a60201b60201c565b6200044f57826000018290806001815401808255809150506001900390600052602060002001600090919091909150558260000180549050836001016000848152602001908152602001600020819055506001905062000454565b600090505b92915050565b600080836001016000848152602001908152602001600020541415905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004be8262000491565b9050919050565b620004d081620004b1565b8114620004dc57600080fd5b50565b600081519050620004f081620004c5565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200054682620004fb565b810181811067ffffffffffffffff821117156200056857620005676200050c565b5b80604052505050565b60006200057d6200047d565b90506200058b82826200053b565b919050565b600067ffffffffffffffff821115620005ae57620005ad6200050c565b5b602082029050602081019050919050565b600080fd5b6000620005db620005d58462000590565b62000571565b90508083825260208201905060208402830185811115620006015762000600620005bf565b5b835b818110156200062e5780620006198882620004df565b84526020840193505060208101905062000603565b5050509392505050565b600082601f83011262000650576200064f620004f6565b5b815162000662848260208601620005c4565b91505092915050565b6000806040838503121562000685576200068462000487565b5b60006200069585828601620004df565b925050602083015167ffffffffffffffff811115620006b957620006b86200048c565b5b620006c78582860162000638565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000819050919050565b600062000746826200072f565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156200077c576200077b62000700565b5b600182019050919050565b61251d80620007976000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806360a4b76a116100ad578063a217fddf11610071578063a217fddf1461032c578063ad0f93ad1461034a578063ca15c8731461037a578063d547741f146103aa578063ffd68f15146103c657610121565b806360a4b76a1461027657806384be00e4146102945780639010d07c146102b057806391d14854146102e05780639533a3841461031057610121565b806329bc78c6116100f457806329bc78c6146101e65780632f2ff15d1461020257806336568abe1461021e57806347535d7b1461023a57806347ccca021461025857610121565b806301ffc9a714610126578063032221ad146101565780630431f20514610186578063248a9ca3146101b6575b600080fd5b610140600480360381019061013b9190611792565b6103f6565b60405161014d91906117da565b60405180910390f35b610170600480360381019061016b9190611853565b610470565b60405161017d9190611948565b60405180910390f35b6101a0600480360381019061019b9190611853565b6105f2565b6040516101ad9190611979565b60405180910390f35b6101d060048036038101906101cb91906119ca565b610704565b6040516101dd9190611a06565b60405180910390f35b61020060048036038101906101fb9190611a4d565b610723565b005b61021c60048036038101906102179190611a7a565b6107f6565b005b61023860048036038101906102339190611a7a565b61081f565b005b6102426108a2565b60405161024f91906117da565b60405180910390f35b6102606108b5565b60405161026d9190611b19565b60405180910390f35b61027e6108db565b60405161028b9190611a06565b60405180910390f35b6102ae60048036038101906102a99190611b99565b6108ff565b005b6102ca60048036038101906102c59190611c25565b6109d6565b6040516102d79190611c74565b60405180910390f35b6102fa60048036038101906102f59190611a7a565b610a05565b60405161030791906117da565b60405180910390f35b61032a60048036038101906103259190611c8f565b610a6f565b005b610334610e21565b6040516103419190611a06565b60405180910390f35b610364600480360381019061035f9190611c8f565b610e28565b6040516103719190611979565b60405180910390f35b610394600480360381019061038f91906119ca565b610e59565b6040516103a19190611979565b60405180910390f35b6103c460048036038101906103bf9190611a7a565b610e7d565b005b6103e060048036038101906103db9190611ccf565b610ea6565b6040516103ed91906117da565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610469575061046882610fd6565b5b9050919050565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156104fd57602002820191906000526020600020905b8154815260200190600101908083116104e9575b505050505090506000815167ffffffffffffffff81111561052157610520611cfc565b5b60405190808252806020026020018201604052801561054f5781602001602082028036833780820191505090505b5090506000805b83518110156105e657600084828151811061057457610573611d2b565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff166105d257808484815181106105b7576105b6611d2b565b5b60200260200101818152505082806105ce90611d89565b9350505b5080806105de90611d89565b915050610556565b50819350505050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561067e57602002820191906000526020600020905b81548152602001906001019080831161066a575b505050505090506000805b82518110156106f95760008382815181106106a7576106a6611d2b565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff166106e55782806106e190611d89565b9350505b5080806106f190611d89565b915050610689565b508092505050919050565b6000806000838152602001908152602001600020600101549050919050565b6107547fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709161074f611050565b611058565b801515600460149054906101000a900460ff16151514156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a190611e2f565b60405180910390fd5b80600460146101000a81548160ff0219169083151502179055508015157f1b6d93c5afd8d0a7da8d601d78cc3583962198954bfb14d0b47f26abc801f46560405160405180910390a250565b6107ff82610704565b6108108161080b611050565b611058565b61081a83836110f5565b505050565b610827611050565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088b90611ec1565b60405180910390fd5b61089e8282611129565b5050565b600460149054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709181565b6109307fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709161092b611050565b611058565b60005b828290508110156109d057600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208383838181106109905761098f611d2b565b5b90506020020135908060018154018082558091505060019003906000526020600020016000909190919091505580806109c890611d89565b915050610933565b50505050565b60006109fd826001600086815260200190815260200160002061115d90919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610aa07fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091610a9b611050565b611058565b600460149054906101000a900460ff16610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae690611f2d565b60405180910390fd5b610af8826105f2565b811115610b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3190611f99565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bc557602002820191906000526020600020905b815481526020019060010190808311610bb1575b505050505090506000808367ffffffffffffffff811115610be957610be8611cfc565b5b604051908082528060200260200182016040528015610c175781602001602082028036833780820191505090505b50905060005b8351811015610ce6576000848281518110610c3b57610c3a611d2b565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff16158015610c7257508584105b15610cd25780838581518110610c8b57610c8a611d2b565b5b60200260200101818152505060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508380610cce90611d89565b9450505b508080610cde90611d89565b915050610c1d565b506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343508b0587876040518363ffffffff1660e01b8152600401610d46929190611fb9565b6000604051808303816000875af1158015610d65573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610d8e9190612117565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d8484604051610e11929190612160565b60405180910390a3505050505050565b6000801b81565b60026020528160005260406000208181548110610e4457600080fd5b90600052602060002001600091509150505481565b6000610e7660016000848152602001908152602001600020611177565b9050919050565b610e8682610704565b610e9781610e92611050565b611058565b610ea18383611129565b505050565b60036020528060005260406000206000915054906101000a900460ff1681565b610ed08282610a05565b610fa257600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f47611050565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610fce836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61118c565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806110495750611048826111fc565b5b9050919050565b600033905090565b6110628282610a05565b6110f1576110878173ffffffffffffffffffffffffffffffffffffffff166014611266565b6110958360001c6020611266565b6040516020016110a69291906122a9565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e8919061231c565b60405180910390fd5b5050565b6110ff8282610ec6565b6111248160016000858152602001908152602001600020610fa690919063ffffffff16565b505050565b61113382826114a2565b611158816001600085815260200190815260200160002061158390919063ffffffff16565b505050565b600061116c83600001836115b3565b60001c905092915050565b6000611185826000016115de565b9050919050565b600061119883836115ef565b6111f15782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506111f6565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b606060006002836002611279919061233e565b6112839190612398565b67ffffffffffffffff81111561129c5761129b611cfc565b5b6040519080825280601f01601f1916602001820160405280156112ce5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061130657611305611d2b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061136a57611369611d2b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026113aa919061233e565b6113b49190612398565b90505b6001811115611454577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106113f6576113f5611d2b565b5b1a60f81b82828151811061140d5761140c611d2b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061144d906123ee565b90506113b7565b5060008414611498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148f90612464565b60405180910390fd5b8091505092915050565b6114ac8282610a05565b1561157f57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611524611050565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006115ab836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611612565b905092915050565b60008260000182815481106115cb576115ca611d2b565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461171a5760006001826116449190612484565b905060006001866000018054905061165c9190612484565b90508181146116cb57600086600001828154811061167d5761167c611d2b565b5b90600052602060002001549050808760000184815481106116a1576116a0611d2b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b856000018054806116df576116de6124b8565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611720565b60009150505b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61176f8161173a565b811461177a57600080fd5b50565b60008135905061178c81611766565b92915050565b6000602082840312156117a8576117a7611730565b5b60006117b68482850161177d565b91505092915050565b60008115159050919050565b6117d4816117bf565b82525050565b60006020820190506117ef60008301846117cb565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611820826117f5565b9050919050565b61183081611815565b811461183b57600080fd5b50565b60008135905061184d81611827565b92915050565b60006020828403121561186957611868611730565b5b60006118778482850161183e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6118bf816118ac565b82525050565b60006118d183836118b6565b60208301905092915050565b6000602082019050919050565b60006118f582611880565b6118ff818561188b565b935061190a8361189c565b8060005b8381101561193b57815161192288826118c5565b975061192d836118dd565b92505060018101905061190e565b5085935050505092915050565b6000602082019050818103600083015261196281846118ea565b905092915050565b611973816118ac565b82525050565b600060208201905061198e600083018461196a565b92915050565b6000819050919050565b6119a781611994565b81146119b257600080fd5b50565b6000813590506119c48161199e565b92915050565b6000602082840312156119e0576119df611730565b5b60006119ee848285016119b5565b91505092915050565b611a0081611994565b82525050565b6000602082019050611a1b60008301846119f7565b92915050565b611a2a816117bf565b8114611a3557600080fd5b50565b600081359050611a4781611a21565b92915050565b600060208284031215611a6357611a62611730565b5b6000611a7184828501611a38565b91505092915050565b60008060408385031215611a9157611a90611730565b5b6000611a9f858286016119b5565b9250506020611ab08582860161183e565b9150509250929050565b6000819050919050565b6000611adf611ada611ad5846117f5565b611aba565b6117f5565b9050919050565b6000611af182611ac4565b9050919050565b6000611b0382611ae6565b9050919050565b611b1381611af8565b82525050565b6000602082019050611b2e6000830184611b0a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611b5957611b58611b34565b5b8235905067ffffffffffffffff811115611b7657611b75611b39565b5b602083019150836020820283011115611b9257611b91611b3e565b5b9250929050565b600080600060408486031215611bb257611bb1611730565b5b6000611bc08682870161183e565b935050602084013567ffffffffffffffff811115611be157611be0611735565b5b611bed86828701611b43565b92509250509250925092565b611c02816118ac565b8114611c0d57600080fd5b50565b600081359050611c1f81611bf9565b92915050565b60008060408385031215611c3c57611c3b611730565b5b6000611c4a858286016119b5565b9250506020611c5b85828601611c10565b9150509250929050565b611c6e81611815565b82525050565b6000602082019050611c896000830184611c65565b92915050565b60008060408385031215611ca657611ca5611730565b5b6000611cb48582860161183e565b9250506020611cc585828601611c10565b9150509250929050565b600060208284031215611ce557611ce4611730565b5b6000611cf384828501611c10565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d94826118ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611dc757611dc6611d5a565b5b600182019050919050565b600082825260208201905092915050565b7f4f70656e207374617475732069732073616d6500000000000000000000000000600082015250565b6000611e19601383611dd2565b9150611e2482611de3565b602082019050919050565b60006020820190508181036000830152611e4881611e0c565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000611eab602f83611dd2565b9150611eb682611e4f565b604082019050919050565b60006020820190508181036000830152611eda81611e9e565b9050919050565b7f4e4654206469737472696275746f72206973206e6f74206f70656e0000000000600082015250565b6000611f17601b83611dd2565b9150611f2282611ee1565b602082019050919050565b60006020820190508181036000830152611f4681611f0a565b9050919050565b7f4d696e7461626c6520636f756e74206973206e6f7420656e6f75676800000000600082015250565b6000611f83601c83611dd2565b9150611f8e82611f4d565b602082019050919050565b60006020820190508181036000830152611fb281611f76565b9050919050565b6000604082019050611fce6000830185611c65565b611fdb602083018461196a565b9392505050565b6000601f19601f8301169050919050565b611ffc82611fe2565b810181811067ffffffffffffffff8211171561201b5761201a611cfc565b5b80604052505050565b600061202e611726565b905061203a8282611ff3565b919050565b600067ffffffffffffffff82111561205a57612059611cfc565b5b602082029050602081019050919050565b60008151905061207a81611bf9565b92915050565b600061209361208e8461203f565b612024565b905080838252602082019050602084028301858111156120b6576120b5611b3e565b5b835b818110156120df57806120cb888261206b565b8452602084019350506020810190506120b8565b5050509392505050565b600082601f8301126120fe576120fd611b34565b5b815161210e848260208601612080565b91505092915050565b60006020828403121561212d5761212c611730565b5b600082015167ffffffffffffffff81111561214b5761214a611735565b5b612157848285016120e9565b91505092915050565b6000604082019050818103600083015261217a81856118ea565b9050818103602083015261218e81846118ea565b90509392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006121d8601783612197565b91506121e3826121a2565b601782019050919050565b600081519050919050565b60005b838110156122175780820151818401526020810190506121fc565b83811115612226576000848401525b50505050565b6000612237826121ee565b6122418185612197565b93506122518185602086016121f9565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612293601183612197565b915061229e8261225d565b601182019050919050565b60006122b4826121cb565b91506122c0828561222c565b91506122cb82612286565b91506122d7828461222c565b91508190509392505050565b60006122ee826121ee565b6122f88185611dd2565b93506123088185602086016121f9565b61231181611fe2565b840191505092915050565b6000602082019050818103600083015261233681846122e3565b905092915050565b6000612349826118ac565b9150612354836118ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561238d5761238c611d5a565b5b828202905092915050565b60006123a3826118ac565b91506123ae836118ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123e3576123e2611d5a565b5b828201905092915050565b60006123f9826118ac565b9150600082141561240d5761240c611d5a565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061244e602083611dd2565b915061245982612418565b602082019050919050565b6000602082019050818103600083015261247d81612441565b9050919050565b600061248f826118ac565b915061249a836118ac565b9250828210156124ad576124ac611d5a565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122039ec2aab4c4b5384b90fa10fc045ad4233a161ec1e44ffce8e37b95612ed121964736f6c634300080a0033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806360a4b76a116100ad578063a217fddf11610071578063a217fddf1461032c578063ad0f93ad1461034a578063ca15c8731461037a578063d547741f146103aa578063ffd68f15146103c657610121565b806360a4b76a1461027657806384be00e4146102945780639010d07c146102b057806391d14854146102e05780639533a3841461031057610121565b806329bc78c6116100f457806329bc78c6146101e65780632f2ff15d1461020257806336568abe1461021e57806347535d7b1461023a57806347ccca021461025857610121565b806301ffc9a714610126578063032221ad146101565780630431f20514610186578063248a9ca3146101b6575b600080fd5b610140600480360381019061013b9190611792565b6103f6565b60405161014d91906117da565b60405180910390f35b610170600480360381019061016b9190611853565b610470565b60405161017d9190611948565b60405180910390f35b6101a0600480360381019061019b9190611853565b6105f2565b6040516101ad9190611979565b60405180910390f35b6101d060048036038101906101cb91906119ca565b610704565b6040516101dd9190611a06565b60405180910390f35b61020060048036038101906101fb9190611a4d565b610723565b005b61021c60048036038101906102179190611a7a565b6107f6565b005b61023860048036038101906102339190611a7a565b61081f565b005b6102426108a2565b60405161024f91906117da565b60405180910390f35b6102606108b5565b60405161026d9190611b19565b60405180910390f35b61027e6108db565b60405161028b9190611a06565b60405180910390f35b6102ae60048036038101906102a99190611b99565b6108ff565b005b6102ca60048036038101906102c59190611c25565b6109d6565b6040516102d79190611c74565b60405180910390f35b6102fa60048036038101906102f59190611a7a565b610a05565b60405161030791906117da565b60405180910390f35b61032a60048036038101906103259190611c8f565b610a6f565b005b610334610e21565b6040516103419190611a06565b60405180910390f35b610364600480360381019061035f9190611c8f565b610e28565b6040516103719190611979565b60405180910390f35b610394600480360381019061038f91906119ca565b610e59565b6040516103a19190611979565b60405180910390f35b6103c460048036038101906103bf9190611a7a565b610e7d565b005b6103e060048036038101906103db9190611ccf565b610ea6565b6040516103ed91906117da565b60405180910390f35b60007f5a05180f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610469575061046882610fd6565b5b9050919050565b60606000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806020026020016040519081016040528092919081815260200182805480156104fd57602002820191906000526020600020905b8154815260200190600101908083116104e9575b505050505090506000815167ffffffffffffffff81111561052157610520611cfc565b5b60405190808252806020026020018201604052801561054f5781602001602082028036833780820191505090505b5090506000805b83518110156105e657600084828151811061057457610573611d2b565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff166105d257808484815181106105b7576105b6611d2b565b5b60200260200101818152505082806105ce90611d89565b9350505b5080806105de90611d89565b915050610556565b50819350505050919050565b600080600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561067e57602002820191906000526020600020905b81548152602001906001019080831161066a575b505050505090506000805b82518110156106f95760008382815181106106a7576106a6611d2b565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff166106e55782806106e190611d89565b9350505b5080806106f190611d89565b915050610689565b508092505050919050565b6000806000838152602001908152602001600020600101549050919050565b6107547fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709161074f611050565b611058565b801515600460149054906101000a900460ff16151514156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a190611e2f565b60405180910390fd5b80600460146101000a81548160ff0219169083151502179055508015157f1b6d93c5afd8d0a7da8d601d78cc3583962198954bfb14d0b47f26abc801f46560405160405180910390a250565b6107ff82610704565b6108108161080b611050565b611058565b61081a83836110f5565b505050565b610827611050565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610894576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088b90611ec1565b60405180910390fd5b61089e8282611129565b5050565b600460149054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709181565b6109307fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb55709161092b611050565b611058565b60005b828290508110156109d057600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208383838181106109905761098f611d2b565b5b90506020020135908060018154018082558091505060019003906000526020600020016000909190919091505580806109c890611d89565b915050610933565b50505050565b60006109fd826001600086815260200190815260200160002061115d90919063ffffffff16565b905092915050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610aa07fa076a07f65bcd51bcb15a0f01a65bc18f2d922acb81bcfd8af4caf5adb557091610a9b611050565b611058565b600460149054906101000a900460ff16610aef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae690611f2d565b60405180910390fd5b610af8826105f2565b811115610b3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3190611f99565b60405180910390fd5b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bc557602002820191906000526020600020905b815481526020019060010190808311610bb1575b505050505090506000808367ffffffffffffffff811115610be957610be8611cfc565b5b604051908082528060200260200182016040528015610c175781602001602082028036833780820191505090505b50905060005b8351811015610ce6576000848281518110610c3b57610c3a611d2b565b5b602002602001015190506003600082815260200190815260200160002060009054906101000a900460ff16158015610c7257508584105b15610cd25780838581518110610c8b57610c8a611d2b565b5b60200260200101818152505060016003600083815260200190815260200160002060006101000a81548160ff0219169083151502179055508380610cce90611d89565b9450505b508080610cde90611d89565b915050610c1d565b506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166343508b0587876040518363ffffffff1660e01b8152600401610d46929190611fb9565b6000604051808303816000875af1158015610d65573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f82011682018060405250810190610d8e9190612117565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d8484604051610e11929190612160565b60405180910390a3505050505050565b6000801b81565b60026020528160005260406000208181548110610e4457600080fd5b90600052602060002001600091509150505481565b6000610e7660016000848152602001908152602001600020611177565b9050919050565b610e8682610704565b610e9781610e92611050565b611058565b610ea18383611129565b505050565b60036020528060005260406000206000915054906101000a900460ff1681565b610ed08282610a05565b610fa257600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610f47611050565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000610fce836000018373ffffffffffffffffffffffffffffffffffffffff1660001b61118c565b905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806110495750611048826111fc565b5b9050919050565b600033905090565b6110628282610a05565b6110f1576110878173ffffffffffffffffffffffffffffffffffffffff166014611266565b6110958360001c6020611266565b6040516020016110a69291906122a9565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e8919061231c565b60405180910390fd5b5050565b6110ff8282610ec6565b6111248160016000858152602001908152602001600020610fa690919063ffffffff16565b505050565b61113382826114a2565b611158816001600085815260200190815260200160002061158390919063ffffffff16565b505050565b600061116c83600001836115b3565b60001c905092915050565b6000611185826000016115de565b9050919050565b600061119883836115ef565b6111f15782600001829080600181540180825580915050600190039060005260206000200160009091909190915055826000018054905083600101600084815260200190815260200160002081905550600190506111f6565b600090505b92915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b606060006002836002611279919061233e565b6112839190612398565b67ffffffffffffffff81111561129c5761129b611cfc565b5b6040519080825280601f01601f1916602001820160405280156112ce5781602001600182028036833780820191505090505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061130657611305611d2b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061136a57611369611d2b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026113aa919061233e565b6113b49190612398565b90505b6001811115611454577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106113f6576113f5611d2b565b5b1a60f81b82828151811061140d5761140c611d2b565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061144d906123ee565b90506113b7565b5060008414611498576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148f90612464565b60405180910390fd5b8091505092915050565b6114ac8282610a05565b1561157f57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611524611050565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60006115ab836000018373ffffffffffffffffffffffffffffffffffffffff1660001b611612565b905092915050565b60008260000182815481106115cb576115ca611d2b565b5b9060005260206000200154905092915050565b600081600001805490509050919050565b600080836001016000848152602001908152602001600020541415905092915050565b6000808360010160008481526020019081526020016000205490506000811461171a5760006001826116449190612484565b905060006001866000018054905061165c9190612484565b90508181146116cb57600086600001828154811061167d5761167c611d2b565b5b90600052602060002001549050808760000184815481106116a1576116a0611d2b565b5b90600052602060002001819055508387600101600083815260200190815260200160002081905550505b856000018054806116df576116de6124b8565b5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611720565b60009150505b92915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61176f8161173a565b811461177a57600080fd5b50565b60008135905061178c81611766565b92915050565b6000602082840312156117a8576117a7611730565b5b60006117b68482850161177d565b91505092915050565b60008115159050919050565b6117d4816117bf565b82525050565b60006020820190506117ef60008301846117cb565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611820826117f5565b9050919050565b61183081611815565b811461183b57600080fd5b50565b60008135905061184d81611827565b92915050565b60006020828403121561186957611868611730565b5b60006118778482850161183e565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6000819050919050565b6118bf816118ac565b82525050565b60006118d183836118b6565b60208301905092915050565b6000602082019050919050565b60006118f582611880565b6118ff818561188b565b935061190a8361189c565b8060005b8381101561193b57815161192288826118c5565b975061192d836118dd565b92505060018101905061190e565b5085935050505092915050565b6000602082019050818103600083015261196281846118ea565b905092915050565b611973816118ac565b82525050565b600060208201905061198e600083018461196a565b92915050565b6000819050919050565b6119a781611994565b81146119b257600080fd5b50565b6000813590506119c48161199e565b92915050565b6000602082840312156119e0576119df611730565b5b60006119ee848285016119b5565b91505092915050565b611a0081611994565b82525050565b6000602082019050611a1b60008301846119f7565b92915050565b611a2a816117bf565b8114611a3557600080fd5b50565b600081359050611a4781611a21565b92915050565b600060208284031215611a6357611a62611730565b5b6000611a7184828501611a38565b91505092915050565b60008060408385031215611a9157611a90611730565b5b6000611a9f858286016119b5565b9250506020611ab08582860161183e565b9150509250929050565b6000819050919050565b6000611adf611ada611ad5846117f5565b611aba565b6117f5565b9050919050565b6000611af182611ac4565b9050919050565b6000611b0382611ae6565b9050919050565b611b1381611af8565b82525050565b6000602082019050611b2e6000830184611b0a565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112611b5957611b58611b34565b5b8235905067ffffffffffffffff811115611b7657611b75611b39565b5b602083019150836020820283011115611b9257611b91611b3e565b5b9250929050565b600080600060408486031215611bb257611bb1611730565b5b6000611bc08682870161183e565b935050602084013567ffffffffffffffff811115611be157611be0611735565b5b611bed86828701611b43565b92509250509250925092565b611c02816118ac565b8114611c0d57600080fd5b50565b600081359050611c1f81611bf9565b92915050565b60008060408385031215611c3c57611c3b611730565b5b6000611c4a858286016119b5565b9250506020611c5b85828601611c10565b9150509250929050565b611c6e81611815565b82525050565b6000602082019050611c896000830184611c65565b92915050565b60008060408385031215611ca657611ca5611730565b5b6000611cb48582860161183e565b9250506020611cc585828601611c10565b9150509250929050565b600060208284031215611ce557611ce4611730565b5b6000611cf384828501611c10565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611d94826118ac565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611dc757611dc6611d5a565b5b600182019050919050565b600082825260208201905092915050565b7f4f70656e207374617475732069732073616d6500000000000000000000000000600082015250565b6000611e19601383611dd2565b9150611e2482611de3565b602082019050919050565b60006020820190508181036000830152611e4881611e0c565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000611eab602f83611dd2565b9150611eb682611e4f565b604082019050919050565b60006020820190508181036000830152611eda81611e9e565b9050919050565b7f4e4654206469737472696275746f72206973206e6f74206f70656e0000000000600082015250565b6000611f17601b83611dd2565b9150611f2282611ee1565b602082019050919050565b60006020820190508181036000830152611f4681611f0a565b9050919050565b7f4d696e7461626c6520636f756e74206973206e6f7420656e6f75676800000000600082015250565b6000611f83601c83611dd2565b9150611f8e82611f4d565b602082019050919050565b60006020820190508181036000830152611fb281611f76565b9050919050565b6000604082019050611fce6000830185611c65565b611fdb602083018461196a565b9392505050565b6000601f19601f8301169050919050565b611ffc82611fe2565b810181811067ffffffffffffffff8211171561201b5761201a611cfc565b5b80604052505050565b600061202e611726565b905061203a8282611ff3565b919050565b600067ffffffffffffffff82111561205a57612059611cfc565b5b602082029050602081019050919050565b60008151905061207a81611bf9565b92915050565b600061209361208e8461203f565b612024565b905080838252602082019050602084028301858111156120b6576120b5611b3e565b5b835b818110156120df57806120cb888261206b565b8452602084019350506020810190506120b8565b5050509392505050565b600082601f8301126120fe576120fd611b34565b5b815161210e848260208601612080565b91505092915050565b60006020828403121561212d5761212c611730565b5b600082015167ffffffffffffffff81111561214b5761214a611735565b5b612157848285016120e9565b91505092915050565b6000604082019050818103600083015261217a81856118ea565b9050818103602083015261218e81846118ea565b90509392505050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b60006121d8601783612197565b91506121e3826121a2565b601782019050919050565b600081519050919050565b60005b838110156122175780820151818401526020810190506121fc565b83811115612226576000848401525b50505050565b6000612237826121ee565b6122418185612197565b93506122518185602086016121f9565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612293601183612197565b915061229e8261225d565b601182019050919050565b60006122b4826121cb565b91506122c0828561222c565b91506122cb82612286565b91506122d7828461222c565b91508190509392505050565b60006122ee826121ee565b6122f88185611dd2565b93506123088185602086016121f9565b61231181611fe2565b840191505092915050565b6000602082019050818103600083015261233681846122e3565b905092915050565b6000612349826118ac565b9150612354836118ac565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561238d5761238c611d5a565b5b828202905092915050565b60006123a3826118ac565b91506123ae836118ac565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156123e3576123e2611d5a565b5b828201905092915050565b60006123f9826118ac565b9150600082141561240d5761240c611d5a565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061244e602083611dd2565b915061245982612418565b602082019050919050565b6000602082019050818103600083015261247d81612441565b9050919050565b600061248f826118ac565b915061249a836118ac565b9250828210156124ad576124ac611d5a565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122039ec2aab4c4b5384b90fa10fc045ad4233a161ec1e44ffce8e37b95612ed121964736f6c634300080a0033", "immutableReferences": {}, "generatedSources": [ { @@ -2876,7 +2916,7 @@ { "ast": { "nodeType": "YulBlock", - "src": "0:23533:12", + "src": "0:26075:12", "statements": [ { "body": { @@ -5831,12 +5871,193 @@ { "body": { "nodeType": "YulBlock", - "src": "5934:391:12", + "src": "5891:76:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "5980:83:12", + "src": "5945:16:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5954:1:12", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5957:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5947:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "5947:12:12" + }, + "nodeType": "YulExpressionStatement", + "src": "5947:12:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5914:5:12" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5936:5:12" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "5921:14:12" + }, + "nodeType": "YulFunctionCall", + "src": "5921:21:12" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5911:2:12" + }, + "nodeType": "YulFunctionCall", + "src": "5911:32:12" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5904:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "5904:40:12" + }, + "nodeType": "YulIf", + "src": "5901:60:12" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5884:5:12", + "type": "" + } + ], + "src": "5851:116:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6022:84:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6032:29:12", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6054:6:12" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "6041:12:12" + }, + "nodeType": "YulFunctionCall", + "src": "6041:20:12" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6032:5:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6094:5:12" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "6070:23:12" + }, + "nodeType": "YulFunctionCall", + "src": "6070:30:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6070:30:12" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6000:6:12", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6008:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6016:5:12", + "type": "" + } + ], + "src": "5973:133:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6175:260:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6221:83:12", "statements": [ { "expression": { @@ -5844,13 +6065,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "5982:77:12" + "src": "6223:77:12" }, "nodeType": "YulFunctionCall", - "src": "5982:79:12" + "src": "6223:79:12" }, "nodeType": "YulExpressionStatement", - "src": "5982:79:12" + "src": "6223:79:12" } ] }, @@ -5861,52 +6082,52 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "5955:7:12" + "src": "6196:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "5964:9:12" + "src": "6205:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "5951:3:12" + "src": "6192:3:12" }, "nodeType": "YulFunctionCall", - "src": "5951:23:12" + "src": "6192:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "5976:2:12", + "src": "6217:2:12", "type": "", - "value": "64" + "value": "32" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "5947:3:12" + "src": "6188:3:12" }, "nodeType": "YulFunctionCall", - "src": "5947:32:12" + "src": "6188:32:12" }, "nodeType": "YulIf", - "src": "5944:119:12" + "src": "6185:119:12" }, { "nodeType": "YulBlock", - "src": "6073:117:12", + "src": "6314:114:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6088:15:12", + "src": "6329:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6102:1:12", + "src": "6343:1:12", "type": "", "value": "0" }, @@ -5914,14 +6135,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6092:6:12", + "src": "6333:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6117:63:12", + "src": "6358:60:12", "value": { "arguments": [ { @@ -5929,41 +6150,210 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6152:9:12" + "src": "6390:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6163:6:12" + "src": "6401:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6148:3:12" + "src": "6386:3:12" }, "nodeType": "YulFunctionCall", - "src": "6148:22:12" + "src": "6386:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6172:7:12" + "src": "6410:7:12" } ], "functionName": { - "name": "abi_decode_t_bytes32", + "name": "abi_decode_t_bool", "nodeType": "YulIdentifier", - "src": "6127:20:12" + "src": "6368:17:12" }, "nodeType": "YulFunctionCall", - "src": "6127:53:12" + "src": "6368:50:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "6117:6:12" + "src": "6358:6:12" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6145:9:12", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "6156:7:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6168:6:12", + "type": "" + } + ], + "src": "6112:323:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6524:391:12", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6570:83:12", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", + "nodeType": "YulIdentifier", + "src": "6572:77:12" + }, + "nodeType": "YulFunctionCall", + "src": "6572:79:12" + }, + "nodeType": "YulExpressionStatement", + "src": "6572:79:12" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6545:7:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6554:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6541:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6541:23:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6566:2:12", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "6537:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6537:32:12" + }, + "nodeType": "YulIf", + "src": "6534:119:12" + }, + { + "nodeType": "YulBlock", + "src": "6663:117:12", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6678:15:12", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6692:1:12", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6682:6:12", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6707:63:12", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6742:9:12" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6753:6:12" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6738:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "6738:22:12" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6762:7:12" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6717:20:12" + }, + "nodeType": "YulFunctionCall", + "src": "6717:53:12" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6707:6:12" } ] } @@ -5971,15 +6361,15 @@ }, { "nodeType": "YulBlock", - "src": "6200:118:12", + "src": "6790:118:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "6215:16:12", + "src": "6805:16:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "6229:2:12", + "src": "6819:2:12", "type": "", "value": "32" }, @@ -5987,14 +6377,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "6219:6:12", + "src": "6809:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "6245:63:12", + "src": "6835:63:12", "value": { "arguments": [ { @@ -6002,41 +6392,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "6280:9:12" + "src": "6870:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "6291:6:12" + "src": "6881:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "6276:3:12" + "src": "6866:3:12" }, "nodeType": "YulFunctionCall", - "src": "6276:22:12" + "src": "6866:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "6300:7:12" + "src": "6890:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "6255:20:12" + "src": "6845:20:12" }, "nodeType": "YulFunctionCall", - "src": "6255:53:12" + "src": "6845:53:12" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "6245:6:12" + "src": "6835:6:12" } ] } @@ -6050,13 +6440,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "5896:9:12", + "src": "6486:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "5907:7:12", + "src": "6497:7:12", "type": "" } ], @@ -6064,36 +6454,36 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "5919:6:12", + "src": "6509:6:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "5927:6:12", + "src": "6517:6:12", "type": "" } ], - "src": "5851:474:12" + "src": "6441:474:12" }, { "body": { "nodeType": "YulBlock", - "src": "6363:28:12", + "src": "6953:28:12", "statements": [ { "nodeType": "YulAssignment", - "src": "6373:12:12", + "src": "6963:12:12", "value": { "name": "value", "nodeType": "YulIdentifier", - "src": "6380:5:12" + "src": "6970:5:12" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "6373:3:12" + "src": "6963:3:12" } ] } @@ -6105,7 +6495,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6349:5:12", + "src": "6939:5:12", "type": "" } ], @@ -6113,20 +6503,20 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "6359:3:12", + "src": "6949:3:12", "type": "" } ], - "src": "6331:60:12" + "src": "6921:60:12" }, { "body": { "nodeType": "YulBlock", - "src": "6457:82:12", + "src": "7047:82:12", "statements": [ { "nodeType": "YulAssignment", - "src": "6467:66:12", + "src": "7057:66:12", "value": { "arguments": [ { @@ -6136,40 +6526,40 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "6525:5:12" + "src": "7115:5:12" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "6507:17:12" + "src": "7097:17:12" }, "nodeType": "YulFunctionCall", - "src": "6507:24:12" + "src": "7097:24:12" } ], "functionName": { "name": "identity", "nodeType": "YulIdentifier", - "src": "6498:8:12" + "src": "7088:8:12" }, "nodeType": "YulFunctionCall", - "src": "6498:34:12" + "src": "7088:34:12" } ], "functionName": { "name": "cleanup_t_uint160", "nodeType": "YulIdentifier", - "src": "6480:17:12" + "src": "7070:17:12" }, "nodeType": "YulFunctionCall", - "src": "6480:53:12" + "src": "7070:53:12" }, "variableNames": [ { "name": "converted", "nodeType": "YulIdentifier", - "src": "6467:9:12" + "src": "7057:9:12" } ] } @@ -6181,7 +6571,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6437:5:12", + "src": "7027:5:12", "type": "" } ], @@ -6189,41 +6579,41 @@ { "name": "converted", "nodeType": "YulTypedName", - "src": "6447:9:12", + "src": "7037:9:12", "type": "" } ], - "src": "6397:142:12" + "src": "6987:142:12" }, { "body": { "nodeType": "YulBlock", - "src": "6605:66:12", + "src": "7195:66:12", "statements": [ { "nodeType": "YulAssignment", - "src": "6615:50:12", + "src": "7205:50:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6659:5:12" + "src": "7249:5:12" } ], "functionName": { "name": "convert_t_uint160_to_t_uint160", "nodeType": "YulIdentifier", - "src": "6628:30:12" + "src": "7218:30:12" }, "nodeType": "YulFunctionCall", - "src": "6628:37:12" + "src": "7218:37:12" }, "variableNames": [ { "name": "converted", "nodeType": "YulIdentifier", - "src": "6615:9:12" + "src": "7205:9:12" } ] } @@ -6235,7 +6625,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6585:5:12", + "src": "7175:5:12", "type": "" } ], @@ -6243,41 +6633,41 @@ { "name": "converted", "nodeType": "YulTypedName", - "src": "6595:9:12", + "src": "7185:9:12", "type": "" } ], - "src": "6545:126:12" + "src": "7135:126:12" }, { "body": { "nodeType": "YulBlock", - "src": "6755:66:12", + "src": "7345:66:12", "statements": [ { "nodeType": "YulAssignment", - "src": "6765:50:12", + "src": "7355:50:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6809:5:12" + "src": "7399:5:12" } ], "functionName": { "name": "convert_t_uint160_to_t_address", "nodeType": "YulIdentifier", - "src": "6778:30:12" + "src": "7368:30:12" }, "nodeType": "YulFunctionCall", - "src": "6778:37:12" + "src": "7368:37:12" }, "variableNames": [ { "name": "converted", "nodeType": "YulIdentifier", - "src": "6765:9:12" + "src": "7355:9:12" } ] } @@ -6289,7 +6679,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6735:5:12", + "src": "7325:5:12", "type": "" } ], @@ -6297,16 +6687,16 @@ { "name": "converted", "nodeType": "YulTypedName", - "src": "6745:9:12", + "src": "7335:9:12", "type": "" } ], - "src": "6677:144:12" + "src": "7267:144:12" }, { "body": { "nodeType": "YulBlock", - "src": "6910:84:12", + "src": "7500:84:12", "statements": [ { "expression": { @@ -6314,35 +6704,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "6927:3:12" + "src": "7517:3:12" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "6981:5:12" + "src": "7571:5:12" } ], "functionName": { "name": "convert_t_contract$_IBEERC721_$1551_to_t_address", "nodeType": "YulIdentifier", - "src": "6932:48:12" + "src": "7522:48:12" }, "nodeType": "YulFunctionCall", - "src": "6932:55:12" + "src": "7522:55:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "6920:6:12" + "src": "7510:6:12" }, "nodeType": "YulFunctionCall", - "src": "6920:68:12" + "src": "7510:68:12" }, "nodeType": "YulExpressionStatement", - "src": "6920:68:12" + "src": "7510:68:12" } ] }, @@ -6352,37 +6742,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "6898:5:12", + "src": "7488:5:12", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "6905:3:12", + "src": "7495:3:12", "type": "" } ], - "src": "6827:167:12" + "src": "7417:167:12" }, { "body": { "nodeType": "YulBlock", - "src": "7116:142:12", + "src": "7706:142:12", "statements": [ { "nodeType": "YulAssignment", - "src": "7126:26:12", + "src": "7716:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7138:9:12" + "src": "7728:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7149:2:12", + "src": "7739:2:12", "type": "", "value": "32" } @@ -6390,16 +6780,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7134:3:12" + "src": "7724:3:12" }, "nodeType": "YulFunctionCall", - "src": "7134:18:12" + "src": "7724:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "7126:4:12" + "src": "7716:4:12" } ] }, @@ -6409,19 +6799,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "7224:6:12" + "src": "7814:6:12" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "7237:9:12" + "src": "7827:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7248:1:12", + "src": "7838:1:12", "type": "", "value": "0" } @@ -6429,22 +6819,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7233:3:12" + "src": "7823:3:12" }, "nodeType": "YulFunctionCall", - "src": "7233:17:12" + "src": "7823:17:12" } ], "functionName": { "name": "abi_encode_t_contract$_IBEERC721_$1551_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "7162:61:12" + "src": "7752:61:12" }, "nodeType": "YulFunctionCall", - "src": "7162:89:12" + "src": "7752:89:12" }, "nodeType": "YulExpressionStatement", - "src": "7162:89:12" + "src": "7752:89:12" } ] }, @@ -6454,13 +6844,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "7088:9:12", + "src": "7678:9:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "7100:6:12", + "src": "7690:6:12", "type": "" } ], @@ -6468,16 +6858,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "7111:4:12", + "src": "7701:4:12", "type": "" } ], - "src": "7000:258:12" + "src": "7590:258:12" }, { "body": { "nodeType": "YulBlock", - "src": "7353:28:12", + "src": "7943:28:12", "statements": [ { "expression": { @@ -6485,14 +6875,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "7370:1:12", + "src": "7960:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7373:1:12", + "src": "7963:1:12", "type": "", "value": "0" } @@ -6500,24 +6890,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "7363:6:12" + "src": "7953:6:12" }, "nodeType": "YulFunctionCall", - "src": "7363:12:12" + "src": "7953:12:12" }, "nodeType": "YulExpressionStatement", - "src": "7363:12:12" + "src": "7953:12:12" } ] }, "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulFunctionDefinition", - "src": "7264:117:12" + "src": "7854:117:12" }, { "body": { "nodeType": "YulBlock", - "src": "7476:28:12", + "src": "8066:28:12", "statements": [ { "expression": { @@ -6525,14 +6915,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "7493:1:12", + "src": "8083:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7496:1:12", + "src": "8086:1:12", "type": "", "value": "0" } @@ -6540,24 +6930,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "7486:6:12" + "src": "8076:6:12" }, "nodeType": "YulFunctionCall", - "src": "7486:12:12" + "src": "8076:12:12" }, "nodeType": "YulExpressionStatement", - "src": "7486:12:12" + "src": "8076:12:12" } ] }, "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", "nodeType": "YulFunctionDefinition", - "src": "7387:117:12" + "src": "7977:117:12" }, { "body": { "nodeType": "YulBlock", - "src": "7599:28:12", + "src": "8189:28:12", "statements": [ { "expression": { @@ -6565,14 +6955,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "7616:1:12", + "src": "8206:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7619:1:12", + "src": "8209:1:12", "type": "", "value": "0" } @@ -6580,29 +6970,29 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "7609:6:12" + "src": "8199:6:12" }, "nodeType": "YulFunctionCall", - "src": "7609:12:12" + "src": "8199:12:12" }, "nodeType": "YulExpressionStatement", - "src": "7609:12:12" + "src": "8199:12:12" } ] }, "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulFunctionDefinition", - "src": "7510:117:12" + "src": "8100:117:12" }, { "body": { "nodeType": "YulBlock", - "src": "7740:478:12", + "src": "8330:478:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "7789:83:12", + "src": "8379:83:12", "statements": [ { "expression": { @@ -6610,13 +7000,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "7791:77:12" + "src": "8381:77:12" }, "nodeType": "YulFunctionCall", - "src": "7791:79:12" + "src": "8381:79:12" }, "nodeType": "YulExpressionStatement", - "src": "7791:79:12" + "src": "8381:79:12" } ] }, @@ -6629,12 +7019,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7768:6:12" + "src": "8358:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7776:4:12", + "src": "8366:4:12", "type": "", "value": "0x1f" } @@ -6642,68 +7032,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "7764:3:12" + "src": "8354:3:12" }, "nodeType": "YulFunctionCall", - "src": "7764:17:12" + "src": "8354:17:12" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "7783:3:12" + "src": "8373:3:12" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "7760:3:12" + "src": "8350:3:12" }, "nodeType": "YulFunctionCall", - "src": "7760:27:12" + "src": "8350:27:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "7753:6:12" + "src": "8343:6:12" }, "nodeType": "YulFunctionCall", - "src": "7753:35:12" + "src": "8343:35:12" }, "nodeType": "YulIf", - "src": "7750:122:12" + "src": "8340:122:12" }, { "nodeType": "YulAssignment", - "src": "7881:30:12", + "src": "8471:30:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "7904:6:12" + "src": "8494:6:12" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "7891:12:12" + "src": "8481:12:12" }, "nodeType": "YulFunctionCall", - "src": "7891:20:12" + "src": "8481:20:12" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "7881:6:12" + "src": "8471:6:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "7954:83:12", + "src": "8544:83:12", "statements": [ { "expression": { @@ -6711,13 +7101,13 @@ "functionName": { "name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490", "nodeType": "YulIdentifier", - "src": "7956:77:12" + "src": "8546:77:12" }, "nodeType": "YulFunctionCall", - "src": "7956:79:12" + "src": "8546:79:12" }, "nodeType": "YulExpressionStatement", - "src": "7956:79:12" + "src": "8546:79:12" } ] }, @@ -6726,12 +7116,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "7926:6:12" + "src": "8516:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "7934:18:12", + "src": "8524:18:12", "type": "", "value": "0xffffffffffffffff" } @@ -6739,28 +7129,28 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "7923:2:12" + "src": "8513:2:12" }, "nodeType": "YulFunctionCall", - "src": "7923:30:12" + "src": "8513:30:12" }, "nodeType": "YulIf", - "src": "7920:117:12" + "src": "8510:117:12" }, { "nodeType": "YulAssignment", - "src": "8046:29:12", + "src": "8636:29:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "8062:6:12" + "src": "8652:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8070:4:12", + "src": "8660:4:12", "type": "", "value": "0x20" } @@ -6768,23 +7158,23 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8058:3:12" + "src": "8648:3:12" }, "nodeType": "YulFunctionCall", - "src": "8058:17:12" + "src": "8648:17:12" }, "variableNames": [ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "8046:8:12" + "src": "8636:8:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "8129:83:12", + "src": "8719:83:12", "statements": [ { "expression": { @@ -6792,13 +7182,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "8131:77:12" + "src": "8721:77:12" }, "nodeType": "YulFunctionCall", - "src": "8131:79:12" + "src": "8721:79:12" }, "nodeType": "YulExpressionStatement", - "src": "8131:79:12" + "src": "8721:79:12" } ] }, @@ -6809,19 +7199,19 @@ { "name": "arrayPos", "nodeType": "YulIdentifier", - "src": "8094:8:12" + "src": "8684:8:12" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "8108:6:12" + "src": "8698:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8116:4:12", + "src": "8706:4:12", "type": "", "value": "0x20" } @@ -6829,36 +7219,36 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "8104:3:12" + "src": "8694:3:12" }, "nodeType": "YulFunctionCall", - "src": "8104:17:12" + "src": "8694:17:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8090:3:12" + "src": "8680:3:12" }, "nodeType": "YulFunctionCall", - "src": "8090:32:12" + "src": "8680:32:12" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "8124:3:12" + "src": "8714:3:12" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "8087:2:12" + "src": "8677:2:12" }, "nodeType": "YulFunctionCall", - "src": "8087:41:12" + "src": "8677:41:12" }, "nodeType": "YulIf", - "src": "8084:128:12" + "src": "8674:128:12" } ] }, @@ -6868,13 +7258,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "7707:6:12", + "src": "8297:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "7715:3:12", + "src": "8305:3:12", "type": "" } ], @@ -6882,27 +7272,27 @@ { "name": "arrayPos", "nodeType": "YulTypedName", - "src": "7723:8:12", + "src": "8313:8:12", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "7733:6:12", + "src": "8323:6:12", "type": "" } ], - "src": "7650:568:12" + "src": "8240:568:12" }, { "body": { "nodeType": "YulBlock", - "src": "8342:586:12", + "src": "8932:586:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "8388:83:12", + "src": "8978:83:12", "statements": [ { "expression": { @@ -6910,13 +7300,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "8390:77:12" + "src": "8980:77:12" }, "nodeType": "YulFunctionCall", - "src": "8390:79:12" + "src": "8980:79:12" }, "nodeType": "YulExpressionStatement", - "src": "8390:79:12" + "src": "8980:79:12" } ] }, @@ -6927,26 +7317,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8363:7:12" + "src": "8953:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8372:9:12" + "src": "8962:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "8359:3:12" + "src": "8949:3:12" }, "nodeType": "YulFunctionCall", - "src": "8359:23:12" + "src": "8949:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8384:2:12", + "src": "8974:2:12", "type": "", "value": "64" } @@ -6954,25 +7344,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "8355:3:12" + "src": "8945:3:12" }, "nodeType": "YulFunctionCall", - "src": "8355:32:12" + "src": "8945:32:12" }, "nodeType": "YulIf", - "src": "8352:119:12" + "src": "8942:119:12" }, { "nodeType": "YulBlock", - "src": "8481:117:12", + "src": "9071:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8496:15:12", + "src": "9086:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "8510:1:12", + "src": "9100:1:12", "type": "", "value": "0" }, @@ -6980,14 +7370,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "8500:6:12", + "src": "9090:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "8525:63:12", + "src": "9115:63:12", "value": { "arguments": [ { @@ -6995,41 +7385,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8560:9:12" + "src": "9150:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8571:6:12" + "src": "9161:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8556:3:12" + "src": "9146:3:12" }, "nodeType": "YulFunctionCall", - "src": "8556:22:12" + "src": "9146:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8580:7:12" + "src": "9170:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "8535:20:12" + "src": "9125:20:12" }, "nodeType": "YulFunctionCall", - "src": "8535:53:12" + "src": "9125:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "8525:6:12" + "src": "9115:6:12" } ] } @@ -7037,11 +7427,11 @@ }, { "nodeType": "YulBlock", - "src": "8608:313:12", + "src": "9198:313:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "8623:46:12", + "src": "9213:46:12", "value": { "arguments": [ { @@ -7049,12 +7439,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8654:9:12" + "src": "9244:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8665:2:12", + "src": "9255:2:12", "type": "", "value": "32" } @@ -7062,25 +7452,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8650:3:12" + "src": "9240:3:12" }, "nodeType": "YulFunctionCall", - "src": "8650:18:12" + "src": "9240:18:12" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "8637:12:12" + "src": "9227:12:12" }, "nodeType": "YulFunctionCall", - "src": "8637:32:12" + "src": "9227:32:12" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "8627:6:12", + "src": "9217:6:12", "type": "" } ] @@ -7088,7 +7478,7 @@ { "body": { "nodeType": "YulBlock", - "src": "8716:83:12", + "src": "9306:83:12", "statements": [ { "expression": { @@ -7096,13 +7486,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "8718:77:12" + "src": "9308:77:12" }, "nodeType": "YulFunctionCall", - "src": "8718:79:12" + "src": "9308:79:12" }, "nodeType": "YulExpressionStatement", - "src": "8718:79:12" + "src": "9308:79:12" } ] }, @@ -7111,12 +7501,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "8688:6:12" + "src": "9278:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "8696:18:12", + "src": "9286:18:12", "type": "", "value": "0xffffffffffffffff" } @@ -7124,17 +7514,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "8685:2:12" + "src": "9275:2:12" }, "nodeType": "YulFunctionCall", - "src": "8685:30:12" + "src": "9275:30:12" }, "nodeType": "YulIf", - "src": "8682:117:12" + "src": "9272:117:12" }, { "nodeType": "YulAssignment", - "src": "8813:98:12", + "src": "9403:98:12", "value": { "arguments": [ { @@ -7142,46 +7532,46 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "8883:9:12" + "src": "9473:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "8894:6:12" + "src": "9484:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "8879:3:12" + "src": "9469:3:12" }, "nodeType": "YulFunctionCall", - "src": "8879:22:12" + "src": "9469:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "8903:7:12" + "src": "9493:7:12" } ], "functionName": { "name": "abi_decode_t_array$_t_uint256_$dyn_calldata_ptr", "nodeType": "YulIdentifier", - "src": "8831:47:12" + "src": "9421:47:12" }, "nodeType": "YulFunctionCall", - "src": "8831:80:12" + "src": "9421:80:12" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "8813:6:12" + "src": "9403:6:12" }, { "name": "value2", "nodeType": "YulIdentifier", - "src": "8821:6:12" + "src": "9411:6:12" } ] } @@ -7195,13 +7585,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "8296:9:12", + "src": "8886:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "8307:7:12", + "src": "8897:7:12", "type": "" } ], @@ -7209,33 +7599,33 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "8319:6:12", + "src": "8909:6:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "8327:6:12", + "src": "8917:6:12", "type": "" }, { "name": "value2", "nodeType": "YulTypedName", - "src": "8335:6:12", + "src": "8925:6:12", "type": "" } ], - "src": "8224:704:12" + "src": "8814:704:12" }, { "body": { "nodeType": "YulBlock", - "src": "8977:79:12", + "src": "9567:79:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "9034:16:12", + "src": "9624:16:12", "statements": [ { "expression": { @@ -7243,14 +7633,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "9043:1:12", + "src": "9633:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9046:1:12", + "src": "9636:1:12", "type": "", "value": "0" } @@ -7258,13 +7648,13 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "9036:6:12" + "src": "9626:6:12" }, "nodeType": "YulFunctionCall", - "src": "9036:12:12" + "src": "9626:12:12" }, "nodeType": "YulExpressionStatement", - "src": "9036:12:12" + "src": "9626:12:12" } ] }, @@ -7275,44 +7665,44 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "9000:5:12" + "src": "9590:5:12" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9025:5:12" + "src": "9615:5:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "9007:17:12" + "src": "9597:17:12" }, "nodeType": "YulFunctionCall", - "src": "9007:24:12" + "src": "9597:24:12" } ], "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "8997:2:12" + "src": "9587:2:12" }, "nodeType": "YulFunctionCall", - "src": "8997:35:12" + "src": "9587:35:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "8990:6:12" + "src": "9580:6:12" }, "nodeType": "YulFunctionCall", - "src": "8990:43:12" + "src": "9580:43:12" }, "nodeType": "YulIf", - "src": "8987:63:12" + "src": "9577:63:12" } ] }, @@ -7322,41 +7712,41 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "8970:5:12", + "src": "9560:5:12", "type": "" } ], - "src": "8934:122:12" + "src": "9524:122:12" }, { "body": { "nodeType": "YulBlock", - "src": "9114:87:12", + "src": "9704:87:12", "statements": [ { "nodeType": "YulAssignment", - "src": "9124:29:12", + "src": "9714:29:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "9146:6:12" + "src": "9736:6:12" } ], "functionName": { "name": "calldataload", "nodeType": "YulIdentifier", - "src": "9133:12:12" + "src": "9723:12:12" }, "nodeType": "YulFunctionCall", - "src": "9133:20:12" + "src": "9723:20:12" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9124:5:12" + "src": "9714:5:12" } ] }, @@ -7366,19 +7756,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "9189:5:12" + "src": "9779:5:12" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "9162:26:12" + "src": "9752:26:12" }, "nodeType": "YulFunctionCall", - "src": "9162:33:12" + "src": "9752:33:12" }, "nodeType": "YulExpressionStatement", - "src": "9162:33:12" + "src": "9752:33:12" } ] }, @@ -7388,13 +7778,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "9092:6:12", + "src": "9682:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "9100:3:12", + "src": "9690:3:12", "type": "" } ], @@ -7402,21 +7792,21 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "9108:5:12", + "src": "9698:5:12", "type": "" } ], - "src": "9062:139:12" + "src": "9652:139:12" }, { "body": { "nodeType": "YulBlock", - "src": "9290:391:12", + "src": "9880:391:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "9336:83:12", + "src": "9926:83:12", "statements": [ { "expression": { @@ -7424,13 +7814,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "9338:77:12" + "src": "9928:77:12" }, "nodeType": "YulFunctionCall", - "src": "9338:79:12" + "src": "9928:79:12" }, "nodeType": "YulExpressionStatement", - "src": "9338:79:12" + "src": "9928:79:12" } ] }, @@ -7441,26 +7831,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9311:7:12" + "src": "9901:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9320:9:12" + "src": "9910:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "9307:3:12" + "src": "9897:3:12" }, "nodeType": "YulFunctionCall", - "src": "9307:23:12" + "src": "9897:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9332:2:12", + "src": "9922:2:12", "type": "", "value": "64" } @@ -7468,25 +7858,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "9303:3:12" + "src": "9893:3:12" }, "nodeType": "YulFunctionCall", - "src": "9303:32:12" + "src": "9893:32:12" }, "nodeType": "YulIf", - "src": "9300:119:12" + "src": "9890:119:12" }, { "nodeType": "YulBlock", - "src": "9429:117:12", + "src": "10019:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9444:15:12", + "src": "10034:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "9458:1:12", + "src": "10048:1:12", "type": "", "value": "0" }, @@ -7494,14 +7884,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "9448:6:12", + "src": "10038:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "9473:63:12", + "src": "10063:63:12", "value": { "arguments": [ { @@ -7509,41 +7899,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9508:9:12" + "src": "10098:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "9519:6:12" + "src": "10109:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9504:3:12" + "src": "10094:3:12" }, "nodeType": "YulFunctionCall", - "src": "9504:22:12" + "src": "10094:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9528:7:12" + "src": "10118:7:12" } ], "functionName": { "name": "abi_decode_t_bytes32", "nodeType": "YulIdentifier", - "src": "9483:20:12" + "src": "10073:20:12" }, "nodeType": "YulFunctionCall", - "src": "9483:53:12" + "src": "10073:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9473:6:12" + "src": "10063:6:12" } ] } @@ -7551,15 +7941,15 @@ }, { "nodeType": "YulBlock", - "src": "9556:118:12", + "src": "10146:118:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "9571:16:12", + "src": "10161:16:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "9585:2:12", + "src": "10175:2:12", "type": "", "value": "32" }, @@ -7567,14 +7957,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "9575:6:12", + "src": "10165:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "9601:63:12", + "src": "10191:63:12", "value": { "arguments": [ { @@ -7582,41 +7972,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9636:9:12" + "src": "10226:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "9647:6:12" + "src": "10237:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9632:3:12" + "src": "10222:3:12" }, "nodeType": "YulFunctionCall", - "src": "9632:22:12" + "src": "10222:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "9656:7:12" + "src": "10246:7:12" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "9611:20:12" + "src": "10201:20:12" }, "nodeType": "YulFunctionCall", - "src": "9611:53:12" + "src": "10201:53:12" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "9601:6:12" + "src": "10191:6:12" } ] } @@ -7630,13 +8020,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9252:9:12", + "src": "9842:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "9263:7:12", + "src": "9853:7:12", "type": "" } ], @@ -7644,22 +8034,22 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "9275:6:12", + "src": "9865:6:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "9283:6:12", + "src": "9873:6:12", "type": "" } ], - "src": "9207:474:12" + "src": "9797:474:12" }, { "body": { "nodeType": "YulBlock", - "src": "9752:53:12", + "src": "10342:53:12", "statements": [ { "expression": { @@ -7667,35 +8057,35 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "9769:3:12" + "src": "10359:3:12" }, { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "9792:5:12" + "src": "10382:5:12" } ], "functionName": { "name": "cleanup_t_address", "nodeType": "YulIdentifier", - "src": "9774:17:12" + "src": "10364:17:12" }, "nodeType": "YulFunctionCall", - "src": "9774:24:12" + "src": "10364:24:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "9762:6:12" + "src": "10352:6:12" }, "nodeType": "YulFunctionCall", - "src": "9762:37:12" + "src": "10352:37:12" }, "nodeType": "YulExpressionStatement", - "src": "9762:37:12" + "src": "10352:37:12" } ] }, @@ -7705,37 +8095,37 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "9740:5:12", + "src": "10330:5:12", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "9747:3:12", + "src": "10337:3:12", "type": "" } ], - "src": "9687:118:12" + "src": "10277:118:12" }, { "body": { "nodeType": "YulBlock", - "src": "9909:124:12", + "src": "10499:124:12", "statements": [ { "nodeType": "YulAssignment", - "src": "9919:26:12", + "src": "10509:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "9931:9:12" + "src": "10521:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "9942:2:12", + "src": "10532:2:12", "type": "", "value": "32" } @@ -7743,16 +8133,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "9927:3:12" + "src": "10517:3:12" }, "nodeType": "YulFunctionCall", - "src": "9927:18:12" + "src": "10517:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "9919:4:12" + "src": "10509:4:12" } ] }, @@ -7762,19 +8152,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "9999:6:12" + "src": "10589:6:12" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10012:9:12" + "src": "10602:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10023:1:12", + "src": "10613:1:12", "type": "", "value": "0" } @@ -7782,22 +8172,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10008:3:12" + "src": "10598:3:12" }, "nodeType": "YulFunctionCall", - "src": "10008:17:12" + "src": "10598:17:12" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "9955:43:12" + "src": "10545:43:12" }, "nodeType": "YulFunctionCall", - "src": "9955:71:12" + "src": "10545:71:12" }, "nodeType": "YulExpressionStatement", - "src": "9955:71:12" + "src": "10545:71:12" } ] }, @@ -7807,13 +8197,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "9881:9:12", + "src": "10471:9:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "9893:6:12", + "src": "10483:6:12", "type": "" } ], @@ -7821,21 +8211,21 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "9904:4:12", + "src": "10494:4:12", "type": "" } ], - "src": "9811:222:12" + "src": "10401:222:12" }, { "body": { "nodeType": "YulBlock", - "src": "10122:391:12", + "src": "10712:391:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "10168:83:12", + "src": "10758:83:12", "statements": [ { "expression": { @@ -7843,13 +8233,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "10170:77:12" + "src": "10760:77:12" }, "nodeType": "YulFunctionCall", - "src": "10170:79:12" + "src": "10760:79:12" }, "nodeType": "YulExpressionStatement", - "src": "10170:79:12" + "src": "10760:79:12" } ] }, @@ -7860,26 +8250,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "10143:7:12" + "src": "10733:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10152:9:12" + "src": "10742:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "10139:3:12" + "src": "10729:3:12" }, "nodeType": "YulFunctionCall", - "src": "10139:23:12" + "src": "10729:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10164:2:12", + "src": "10754:2:12", "type": "", "value": "64" } @@ -7887,25 +8277,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "10135:3:12" + "src": "10725:3:12" }, "nodeType": "YulFunctionCall", - "src": "10135:32:12" + "src": "10725:32:12" }, "nodeType": "YulIf", - "src": "10132:119:12" + "src": "10722:119:12" }, { "nodeType": "YulBlock", - "src": "10261:117:12", + "src": "10851:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "10276:15:12", + "src": "10866:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "10290:1:12", + "src": "10880:1:12", "type": "", "value": "0" }, @@ -7913,14 +8303,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "10280:6:12", + "src": "10870:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "10305:63:12", + "src": "10895:63:12", "value": { "arguments": [ { @@ -7928,41 +8318,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10340:9:12" + "src": "10930:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "10351:6:12" + "src": "10941:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10336:3:12" + "src": "10926:3:12" }, "nodeType": "YulFunctionCall", - "src": "10336:22:12" + "src": "10926:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "10360:7:12" + "src": "10950:7:12" } ], "functionName": { "name": "abi_decode_t_address", "nodeType": "YulIdentifier", - "src": "10315:20:12" + "src": "10905:20:12" }, "nodeType": "YulFunctionCall", - "src": "10315:53:12" + "src": "10905:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "10305:6:12" + "src": "10895:6:12" } ] } @@ -7970,15 +8360,15 @@ }, { "nodeType": "YulBlock", - "src": "10388:118:12", + "src": "10978:118:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "10403:16:12", + "src": "10993:16:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "10417:2:12", + "src": "11007:2:12", "type": "", "value": "32" }, @@ -7986,14 +8376,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "10407:6:12", + "src": "10997:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "10433:63:12", + "src": "11023:63:12", "value": { "arguments": [ { @@ -8001,41 +8391,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10468:9:12" + "src": "11058:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "10479:6:12" + "src": "11069:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10464:3:12" + "src": "11054:3:12" }, "nodeType": "YulFunctionCall", - "src": "10464:22:12" + "src": "11054:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "10488:7:12" + "src": "11078:7:12" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "10443:20:12" + "src": "11033:20:12" }, "nodeType": "YulFunctionCall", - "src": "10443:53:12" + "src": "11033:53:12" }, "variableNames": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "10433:6:12" + "src": "11023:6:12" } ] } @@ -8049,13 +8439,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10084:9:12", + "src": "10674:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "10095:7:12", + "src": "10685:7:12", "type": "" } ], @@ -8063,27 +8453,27 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "10107:6:12", + "src": "10697:6:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "10115:6:12", + "src": "10705:6:12", "type": "" } ], - "src": "10039:474:12" + "src": "10629:474:12" }, { "body": { "nodeType": "YulBlock", - "src": "10585:263:12", + "src": "11175:263:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "10631:83:12", + "src": "11221:83:12", "statements": [ { "expression": { @@ -8091,13 +8481,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "10633:77:12" + "src": "11223:77:12" }, "nodeType": "YulFunctionCall", - "src": "10633:79:12" + "src": "11223:79:12" }, "nodeType": "YulExpressionStatement", - "src": "10633:79:12" + "src": "11223:79:12" } ] }, @@ -8108,26 +8498,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "10606:7:12" + "src": "11196:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10615:9:12" + "src": "11205:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "10602:3:12" + "src": "11192:3:12" }, "nodeType": "YulFunctionCall", - "src": "10602:23:12" + "src": "11192:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10627:2:12", + "src": "11217:2:12", "type": "", "value": "32" } @@ -8135,25 +8525,25 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "10598:3:12" + "src": "11188:3:12" }, "nodeType": "YulFunctionCall", - "src": "10598:32:12" + "src": "11188:32:12" }, "nodeType": "YulIf", - "src": "10595:119:12" + "src": "11185:119:12" }, { "nodeType": "YulBlock", - "src": "10724:117:12", + "src": "11314:117:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "10739:15:12", + "src": "11329:15:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "10753:1:12", + "src": "11343:1:12", "type": "", "value": "0" }, @@ -8161,14 +8551,14 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "10743:6:12", + "src": "11333:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "10768:63:12", + "src": "11358:63:12", "value": { "arguments": [ { @@ -8176,41 +8566,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "10803:9:12" + "src": "11393:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "10814:6:12" + "src": "11404:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "10799:3:12" + "src": "11389:3:12" }, "nodeType": "YulFunctionCall", - "src": "10799:22:12" + "src": "11389:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "10823:7:12" + "src": "11413:7:12" } ], "functionName": { "name": "abi_decode_t_uint256", "nodeType": "YulIdentifier", - "src": "10778:20:12" + "src": "11368:20:12" }, "nodeType": "YulFunctionCall", - "src": "10778:53:12" + "src": "11368:53:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "10768:6:12" + "src": "11358:6:12" } ] } @@ -8224,13 +8614,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "10555:9:12", + "src": "11145:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "10566:7:12", + "src": "11156:7:12", "type": "" } ], @@ -8238,16 +8628,16 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "10578:6:12", + "src": "11168:6:12", "type": "" } ], - "src": "10519:329:12" + "src": "11109:329:12" }, { "body": { "nodeType": "YulBlock", - "src": "10882:152:12", + "src": "11472:152:12", "statements": [ { "expression": { @@ -8255,14 +8645,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10899:1:12", + "src": "11489:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10902:77:12", + "src": "11492:77:12", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -8270,13 +8660,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10892:6:12" + "src": "11482:6:12" }, "nodeType": "YulFunctionCall", - "src": "10892:88:12" + "src": "11482:88:12" }, "nodeType": "YulExpressionStatement", - "src": "10892:88:12" + "src": "11482:88:12" }, { "expression": { @@ -8284,14 +8674,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "10996:1:12", + "src": "11586:1:12", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "10999:4:12", + "src": "11589:4:12", "type": "", "value": "0x41" } @@ -8299,13 +8689,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "10989:6:12" + "src": "11579:6:12" }, "nodeType": "YulFunctionCall", - "src": "10989:15:12" + "src": "11579:15:12" }, "nodeType": "YulExpressionStatement", - "src": "10989:15:12" + "src": "11579:15:12" }, { "expression": { @@ -8313,14 +8703,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11020:1:12", + "src": "11610:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11023:4:12", + "src": "11613:4:12", "type": "", "value": "0x24" } @@ -8328,24 +8718,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "11013:6:12" + "src": "11603:6:12" }, "nodeType": "YulFunctionCall", - "src": "11013:15:12" + "src": "11603:15:12" }, "nodeType": "YulExpressionStatement", - "src": "11013:15:12" + "src": "11603:15:12" } ] }, "name": "panic_error_0x41", "nodeType": "YulFunctionDefinition", - "src": "10854:180:12" + "src": "11444:180:12" }, { "body": { "nodeType": "YulBlock", - "src": "11068:152:12", + "src": "11658:152:12", "statements": [ { "expression": { @@ -8353,14 +8743,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11085:1:12", + "src": "11675:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11088:77:12", + "src": "11678:77:12", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -8368,13 +8758,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11078:6:12" + "src": "11668:6:12" }, "nodeType": "YulFunctionCall", - "src": "11078:88:12" + "src": "11668:88:12" }, "nodeType": "YulExpressionStatement", - "src": "11078:88:12" + "src": "11668:88:12" }, { "expression": { @@ -8382,14 +8772,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11182:1:12", + "src": "11772:1:12", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11185:4:12", + "src": "11775:4:12", "type": "", "value": "0x32" } @@ -8397,13 +8787,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11175:6:12" + "src": "11765:6:12" }, "nodeType": "YulFunctionCall", - "src": "11175:15:12" + "src": "11765:15:12" }, "nodeType": "YulExpressionStatement", - "src": "11175:15:12" + "src": "11765:15:12" }, { "expression": { @@ -8411,14 +8801,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11206:1:12", + "src": "11796:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11209:4:12", + "src": "11799:4:12", "type": "", "value": "0x24" } @@ -8426,24 +8816,24 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "11199:6:12" + "src": "11789:6:12" }, "nodeType": "YulFunctionCall", - "src": "11199:15:12" + "src": "11789:15:12" }, "nodeType": "YulExpressionStatement", - "src": "11199:15:12" + "src": "11789:15:12" } ] }, "name": "panic_error_0x32", "nodeType": "YulFunctionDefinition", - "src": "11040:180:12" + "src": "11630:180:12" }, { "body": { "nodeType": "YulBlock", - "src": "11254:152:12", + "src": "11844:152:12", "statements": [ { "expression": { @@ -8451,14 +8841,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11271:1:12", + "src": "11861:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11274:77:12", + "src": "11864:77:12", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -8466,13 +8856,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11264:6:12" + "src": "11854:6:12" }, "nodeType": "YulFunctionCall", - "src": "11264:88:12" + "src": "11854:88:12" }, "nodeType": "YulExpressionStatement", - "src": "11264:88:12" + "src": "11854:88:12" }, { "expression": { @@ -8480,14 +8870,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11368:1:12", + "src": "11958:1:12", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11371:4:12", + "src": "11961:4:12", "type": "", "value": "0x11" } @@ -8495,13 +8885,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11361:6:12" + "src": "11951:6:12" }, "nodeType": "YulFunctionCall", - "src": "11361:15:12" + "src": "11951:15:12" }, "nodeType": "YulExpressionStatement", - "src": "11361:15:12" + "src": "11951:15:12" }, { "expression": { @@ -8509,14 +8899,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "11392:1:12", + "src": "11982:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11395:4:12", + "src": "11985:4:12", "type": "", "value": "0x24" } @@ -8524,56 +8914,56 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "11385:6:12" + "src": "11975:6:12" }, "nodeType": "YulFunctionCall", - "src": "11385:15:12" + "src": "11975:15:12" }, "nodeType": "YulExpressionStatement", - "src": "11385:15:12" + "src": "11975:15:12" } ] }, "name": "panic_error_0x11", "nodeType": "YulFunctionDefinition", - "src": "11226:180:12" + "src": "11816:180:12" }, { "body": { "nodeType": "YulBlock", - "src": "11455:190:12", + "src": "12045:190:12", "statements": [ { "nodeType": "YulAssignment", - "src": "11465:33:12", + "src": "12055:33:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "11492:5:12" + "src": "12082:5:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "11474:17:12" + "src": "12064:17:12" }, "nodeType": "YulFunctionCall", - "src": "11474:24:12" + "src": "12064:24:12" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "11465:5:12" + "src": "12055:5:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "11588:22:12", + "src": "12178:22:12", "statements": [ { "expression": { @@ -8581,13 +8971,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "11590:16:12" + "src": "12180:16:12" }, "nodeType": "YulFunctionCall", - "src": "11590:18:12" + "src": "12180:18:12" }, "nodeType": "YulExpressionStatement", - "src": "11590:18:12" + "src": "12180:18:12" } ] }, @@ -8596,12 +8986,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "11513:5:12" + "src": "12103:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11520:66:12", + "src": "12110:66:12", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" } @@ -8609,28 +8999,28 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "11510:2:12" + "src": "12100:2:12" }, "nodeType": "YulFunctionCall", - "src": "11510:77:12" + "src": "12100:77:12" }, "nodeType": "YulIf", - "src": "11507:103:12" + "src": "12097:103:12" }, { "nodeType": "YulAssignment", - "src": "11619:20:12", + "src": "12209:20:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "11630:5:12" + "src": "12220:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11637:1:12", + "src": "12227:1:12", "type": "", "value": "1" } @@ -8638,16 +9028,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11626:3:12" + "src": "12216:3:12" }, "nodeType": "YulFunctionCall", - "src": "11626:13:12" + "src": "12216:13:12" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "11619:3:12" + "src": "12209:3:12" } ] } @@ -8659,7 +9049,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "11441:5:12", + "src": "12031:5:12", "type": "" } ], @@ -8667,16 +9057,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "11451:3:12", + "src": "12041:3:12", "type": "" } ], - "src": "11412:233:12" + "src": "12002:233:12" }, { "body": { "nodeType": "YulBlock", - "src": "11747:73:12", + "src": "12337:73:12", "statements": [ { "expression": { @@ -8684,39 +9074,39 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11764:3:12" + "src": "12354:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "11769:6:12" + "src": "12359:6:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11757:6:12" + "src": "12347:6:12" }, "nodeType": "YulFunctionCall", - "src": "11757:19:12" + "src": "12347:19:12" }, "nodeType": "YulExpressionStatement", - "src": "11757:19:12" + "src": "12347:19:12" }, { "nodeType": "YulAssignment", - "src": "11785:29:12", + "src": "12375:29:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "11804:3:12" + "src": "12394:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11809:4:12", + "src": "12399:4:12", "type": "", "value": "0x20" } @@ -8724,16 +9114,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11800:3:12" + "src": "12390:3:12" }, "nodeType": "YulFunctionCall", - "src": "11800:14:12" + "src": "12390:14:12" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "11785:11:12" + "src": "12375:11:12" } ] } @@ -8745,13 +9135,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "11719:3:12", + "src": "12309:3:12", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "11724:6:12", + "src": "12314:6:12", "type": "" } ], @@ -8759,16 +9149,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "11735:11:12", + "src": "12325:11:12", "type": "" } ], - "src": "11651:169:12" + "src": "12241:169:12" }, { "body": { "nodeType": "YulBlock", - "src": "11932:128:12", + "src": "12522:63:12", "statements": [ { "expression": { @@ -8778,12 +9168,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "11954:6:12" + "src": "12544:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "11962:1:12", + "src": "12552:1:12", "type": "", "value": "0" } @@ -8791,127 +9181,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "11950:3:12" + "src": "12540:3:12" }, "nodeType": "YulFunctionCall", - "src": "11950:14:12" + "src": "12540:14:12" }, { - "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "hexValue": "4f70656e207374617475732069732073616d65", "kind": "string", "nodeType": "YulLiteral", - "src": "11966:34:12", + "src": "12556:21:12", "type": "", - "value": "AccessControl: can only renounce" + "value": "Open status is same" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "11943:6:12" + "src": "12533:6:12" }, "nodeType": "YulFunctionCall", - "src": "11943:58:12" + "src": "12533:45:12" }, "nodeType": "YulExpressionStatement", - "src": "11943:58:12" - }, - { - "expression": { - "arguments": [ - { - "arguments": [ - { - "name": "memPtr", - "nodeType": "YulIdentifier", - "src": "12022:6:12" - }, - { - "kind": "number", - "nodeType": "YulLiteral", - "src": "12030:2:12", - "type": "", - "value": "32" - } - ], - "functionName": { - "name": "add", - "nodeType": "YulIdentifier", - "src": "12018:3:12" - }, - "nodeType": "YulFunctionCall", - "src": "12018:15:12" - }, - { - "hexValue": "20726f6c657320666f722073656c66", - "kind": "string", - "nodeType": "YulLiteral", - "src": "12035:17:12", - "type": "", - "value": " roles for self" - } - ], - "functionName": { - "name": "mstore", - "nodeType": "YulIdentifier", - "src": "12011:6:12" - }, - "nodeType": "YulFunctionCall", - "src": "12011:42:12" - }, - "nodeType": "YulExpressionStatement", - "src": "12011:42:12" + "src": "12533:45:12" } ] }, - "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "name": "store_literal_in_memory_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "11924:6:12", + "src": "12514:6:12", "type": "" } ], - "src": "11826:234:12" + "src": "12416:169:12" }, { "body": { "nodeType": "YulBlock", - "src": "12212:220:12", + "src": "12737:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "12222:74:12", + "src": "12747:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12288:3:12" + "src": "12813:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12293:2:12", + "src": "12818:2:12", "type": "", - "value": "47" + "value": "19" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12229:58:12" + "src": "12754:58:12" }, "nodeType": "YulFunctionCall", - "src": "12229:67:12" + "src": "12754:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12222:3:12" + "src": "12747:3:12" } ] }, @@ -8921,34 +9265,407 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12394:3:12" + "src": "12919:3:12" } ], "functionName": { - "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "name": "store_literal_in_memory_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d", "nodeType": "YulIdentifier", - "src": "12305:88:12" + "src": "12830:88:12" }, "nodeType": "YulFunctionCall", - "src": "12305:93:12" + "src": "12830:93:12" }, "nodeType": "YulExpressionStatement", - "src": "12305:93:12" + "src": "12830:93:12" }, { "nodeType": "YulAssignment", - "src": "12407:19:12", + "src": "12932:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "12418:3:12" + "src": "12943:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12423:2:12", + "src": "12948:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12939:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "12939:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12932:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12725:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12733:3:12", + "type": "" + } + ], + "src": "12591:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13134:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13144:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13156:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13167:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13152:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13152:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13144:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13191:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13202:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13187:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13187:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13210:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13216:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "13206:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13206:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13180:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "13180:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13180:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "13236:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13370:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13244:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "13244:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13236:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13114:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13129:4:12", + "type": "" + } + ], + "src": "12963:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13494:128:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13516:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13524:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13512:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13512:14:12" + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e6365", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13528:34:12", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13505:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "13505:58:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13505:58:12" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "13584:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13592:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13580:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "13580:15:12" + }, + { + "hexValue": "20726f6c657320666f722073656c66", + "kind": "string", + "nodeType": "YulLiteral", + "src": "13597:17:12", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13573:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "13573:42:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13573:42:12" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "13486:6:12", + "type": "" + } + ], + "src": "13388:234:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13774:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13784:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13850:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13855:2:12", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "13791:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "13791:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13784:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13956:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "13867:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "13867:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "13867:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "13969:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13980:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13985:2:12", "type": "", "value": "64" } @@ -8956,16 +9673,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12414:3:12" + "src": "13976:3:12" }, "nodeType": "YulFunctionCall", - "src": "12414:12:12" + "src": "13976:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "12407:3:12" + "src": "13969:3:12" } ] } @@ -8977,7 +9694,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "12200:3:12", + "src": "13762:3:12", "type": "" } ], @@ -8985,31 +9702,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "12208:3:12", + "src": "13770:3:12", "type": "" } ], - "src": "12066:366:12" + "src": "13628:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "12609:248:12", + "src": "14171:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "12619:26:12", + "src": "14181:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12631:9:12" + "src": "14193:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12642:2:12", + "src": "14204:2:12", "type": "", "value": "32" } @@ -9017,16 +9734,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12627:3:12" + "src": "14189:3:12" }, "nodeType": "YulFunctionCall", - "src": "12627:18:12" + "src": "14189:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12619:4:12" + "src": "14181:4:12" } ] }, @@ -9038,12 +9755,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12666:9:12" + "src": "14228:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12677:1:12", + "src": "14239:1:12", "type": "", "value": "0" } @@ -9051,68 +9768,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12662:3:12" + "src": "14224:3:12" }, "nodeType": "YulFunctionCall", - "src": "12662:17:12" + "src": "14224:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12685:4:12" + "src": "14247:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "12691:9:12" + "src": "14253:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "12681:3:12" + "src": "14243:3:12" }, "nodeType": "YulFunctionCall", - "src": "12681:20:12" + "src": "14243:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12655:6:12" + "src": "14217:6:12" }, "nodeType": "YulFunctionCall", - "src": "12655:47:12" + "src": "14217:47:12" }, "nodeType": "YulExpressionStatement", - "src": "12655:47:12" + "src": "14217:47:12" }, { "nodeType": "YulAssignment", - "src": "12711:139:12", + "src": "14273:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12845:4:12" + "src": "14407:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "12719:124:12" + "src": "14281:124:12" }, "nodeType": "YulFunctionCall", - "src": "12719:131:12" + "src": "14281:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "12711:4:12" + "src": "14273:4:12" } ] } @@ -9124,7 +9841,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "12589:9:12", + "src": "14151:9:12", "type": "" } ], @@ -9132,16 +9849,16 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "12604:4:12", + "src": "14166:4:12", "type": "" } ], - "src": "12438:419:12" + "src": "14000:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "12969:72:12", + "src": "14531:71:12", "statements": [ { "expression": { @@ -9151,12 +9868,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "12991:6:12" + "src": "14553:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "12999:1:12", + "src": "14561:1:12", "type": "", "value": "0" } @@ -9164,81 +9881,81 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "12987:3:12" + "src": "14549:3:12" }, "nodeType": "YulFunctionCall", - "src": "12987:14:12" + "src": "14549:14:12" }, { - "hexValue": "4d696e7461626c6520636f756e74206973206e6f7420656e6f756768", + "hexValue": "4e4654206469737472696275746f72206973206e6f74206f70656e", "kind": "string", "nodeType": "YulLiteral", - "src": "13003:30:12", + "src": "14565:29:12", "type": "", - "value": "Mintable count is not enough" + "value": "NFT distributor is not open" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "12980:6:12" + "src": "14542:6:12" }, "nodeType": "YulFunctionCall", - "src": "12980:54:12" + "src": "14542:53:12" }, "nodeType": "YulExpressionStatement", - "src": "12980:54:12" + "src": "14542:53:12" } ] }, - "name": "store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08", + "name": "store_literal_in_memory_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "12961:6:12", + "src": "14523:6:12", "type": "" } ], - "src": "12863:178:12" + "src": "14425:177:12" }, { "body": { "nodeType": "YulBlock", - "src": "13193:220:12", + "src": "14754:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "13203:74:12", + "src": "14764:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13269:3:12" + "src": "14830:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13274:2:12", + "src": "14835:2:12", "type": "", - "value": "28" + "value": "27" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13210:58:12" + "src": "14771:58:12" }, "nodeType": "YulFunctionCall", - "src": "13210:67:12" + "src": "14771:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13203:3:12" + "src": "14764:3:12" } ] }, @@ -9248,34 +9965,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13375:3:12" + "src": "14936:3:12" } ], "functionName": { - "name": "store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08", + "name": "store_literal_in_memory_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f", "nodeType": "YulIdentifier", - "src": "13286:88:12" + "src": "14847:88:12" }, "nodeType": "YulFunctionCall", - "src": "13286:93:12" + "src": "14847:93:12" }, "nodeType": "YulExpressionStatement", - "src": "13286:93:12" + "src": "14847:93:12" }, { "nodeType": "YulAssignment", - "src": "13388:19:12", + "src": "14949:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "13399:3:12" + "src": "14960:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13404:2:12", + "src": "14965:2:12", "type": "", "value": "32" } @@ -9283,16 +10000,343 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13395:3:12" + "src": "14956:3:12" }, "nodeType": "YulFunctionCall", - "src": "13395:12:12" + "src": "14956:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "13388:3:12" + "src": "14949:3:12" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "14742:3:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "14750:3:12", + "type": "" + } + ], + "src": "14608:366:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15151:248:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15161:26:12", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15173:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15184:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15169:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15169:18:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15161:4:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15208:9:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15219:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15204:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15204:17:12" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15227:4:12" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15233:9:12" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15223:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15223:20:12" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15197:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "15197:47:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15197:47:12" + }, + { + "nodeType": "YulAssignment", + "src": "15253:139:12", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15387:4:12" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15261:124:12" + }, + "nodeType": "YulFunctionCall", + "src": "15261:131:12" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15253:4:12" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15131:9:12", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15146:4:12", + "type": "" + } + ], + "src": "14980:419:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15511:72:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15533:6:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15541:1:12", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15529:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15529:14:12" + }, + { + "hexValue": "4d696e7461626c6520636f756e74206973206e6f7420656e6f756768", + "kind": "string", + "nodeType": "YulLiteral", + "src": "15545:30:12", + "type": "", + "value": "Mintable count is not enough" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15522:6:12" + }, + "nodeType": "YulFunctionCall", + "src": "15522:54:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15522:54:12" + } + ] + }, + "name": "store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15503:6:12", + "type": "" + } + ], + "src": "15405:178:12" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15735:220:12", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15745:74:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15811:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15816:2:12", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15752:58:12" + }, + "nodeType": "YulFunctionCall", + "src": "15752:67:12" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15745:3:12" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15917:3:12" + } + ], + "functionName": { + "name": "store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08", + "nodeType": "YulIdentifier", + "src": "15828:88:12" + }, + "nodeType": "YulFunctionCall", + "src": "15828:93:12" + }, + "nodeType": "YulExpressionStatement", + "src": "15828:93:12" + }, + { + "nodeType": "YulAssignment", + "src": "15930:19:12", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "15941:3:12" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15946:2:12", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15937:3:12" + }, + "nodeType": "YulFunctionCall", + "src": "15937:12:12" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "15930:3:12" } ] } @@ -9304,7 +10348,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "13181:3:12", + "src": "15723:3:12", "type": "" } ], @@ -9312,31 +10356,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "13189:3:12", + "src": "15731:3:12", "type": "" } ], - "src": "13047:366:12" + "src": "15589:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "13590:248:12", + "src": "16132:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "13600:26:12", + "src": "16142:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13612:9:12" + "src": "16154:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13623:2:12", + "src": "16165:2:12", "type": "", "value": "32" } @@ -9344,16 +10388,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13608:3:12" + "src": "16150:3:12" }, "nodeType": "YulFunctionCall", - "src": "13608:18:12" + "src": "16150:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13600:4:12" + "src": "16142:4:12" } ] }, @@ -9365,12 +10409,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13647:9:12" + "src": "16189:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "13658:1:12", + "src": "16200:1:12", "type": "", "value": "0" } @@ -9378,68 +10422,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13643:3:12" + "src": "16185:3:12" }, "nodeType": "YulFunctionCall", - "src": "13643:17:12" + "src": "16185:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13666:4:12" + "src": "16208:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13672:9:12" + "src": "16214:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "13662:3:12" + "src": "16204:3:12" }, "nodeType": "YulFunctionCall", - "src": "13662:20:12" + "src": "16204:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "13636:6:12" + "src": "16178:6:12" }, "nodeType": "YulFunctionCall", - "src": "13636:47:12" + "src": "16178:47:12" }, "nodeType": "YulExpressionStatement", - "src": "13636:47:12" + "src": "16178:47:12" }, { "nodeType": "YulAssignment", - "src": "13692:139:12", + "src": "16234:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13826:4:12" + "src": "16368:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "13700:124:12" + "src": "16242:124:12" }, "nodeType": "YulFunctionCall", - "src": "13700:131:12" + "src": "16242:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13692:4:12" + "src": "16234:4:12" } ] } @@ -9451,7 +10495,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13570:9:12", + "src": "16112:9:12", "type": "" } ], @@ -9459,31 +10503,31 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13585:4:12", + "src": "16127:4:12", "type": "" } ], - "src": "13419:419:12" + "src": "15961:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "13970:206:12", + "src": "16512:206:12", "statements": [ { "nodeType": "YulAssignment", - "src": "13980:26:12", + "src": "16522:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "13992:9:12" + "src": "16534:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14003:2:12", + "src": "16545:2:12", "type": "", "value": "64" } @@ -9491,16 +10535,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "13988:3:12" + "src": "16530:3:12" }, "nodeType": "YulFunctionCall", - "src": "13988:18:12" + "src": "16530:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "13980:4:12" + "src": "16522:4:12" } ] }, @@ -9510,19 +10554,19 @@ { "name": "value0", "nodeType": "YulIdentifier", - "src": "14060:6:12" + "src": "16602:6:12" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14073:9:12" + "src": "16615:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14084:1:12", + "src": "16626:1:12", "type": "", "value": "0" } @@ -9530,22 +10574,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14069:3:12" + "src": "16611:3:12" }, "nodeType": "YulFunctionCall", - "src": "14069:17:12" + "src": "16611:17:12" } ], "functionName": { "name": "abi_encode_t_address_to_t_address_fromStack", "nodeType": "YulIdentifier", - "src": "14016:43:12" + "src": "16558:43:12" }, "nodeType": "YulFunctionCall", - "src": "14016:71:12" + "src": "16558:71:12" }, "nodeType": "YulExpressionStatement", - "src": "14016:71:12" + "src": "16558:71:12" }, { "expression": { @@ -9553,19 +10597,19 @@ { "name": "value1", "nodeType": "YulIdentifier", - "src": "14141:6:12" + "src": "16683:6:12" }, { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "14154:9:12" + "src": "16696:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14165:2:12", + "src": "16707:2:12", "type": "", "value": "32" } @@ -9573,22 +10617,22 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14150:3:12" + "src": "16692:3:12" }, "nodeType": "YulFunctionCall", - "src": "14150:18:12" + "src": "16692:18:12" } ], "functionName": { "name": "abi_encode_t_uint256_to_t_uint256_fromStack", "nodeType": "YulIdentifier", - "src": "14097:43:12" + "src": "16639:43:12" }, "nodeType": "YulFunctionCall", - "src": "14097:72:12" + "src": "16639:72:12" }, "nodeType": "YulExpressionStatement", - "src": "14097:72:12" + "src": "16639:72:12" } ] }, @@ -9598,19 +10642,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "13934:9:12", + "src": "16476:9:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "13946:6:12", + "src": "16488:6:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "13954:6:12", + "src": "16496:6:12", "type": "" } ], @@ -9618,20 +10662,20 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "13965:4:12", + "src": "16507:4:12", "type": "" } ], - "src": "13844:332:12" + "src": "16386:332:12" }, { "body": { "nodeType": "YulBlock", - "src": "14230:54:12", + "src": "16772:54:12", "statements": [ { "nodeType": "YulAssignment", - "src": "14240:38:12", + "src": "16782:38:12", "value": { "arguments": [ { @@ -9639,12 +10683,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "14258:5:12" + "src": "16800:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14265:2:12", + "src": "16807:2:12", "type": "", "value": "31" } @@ -9652,17 +10696,17 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14254:3:12" + "src": "16796:3:12" }, "nodeType": "YulFunctionCall", - "src": "14254:14:12" + "src": "16796:14:12" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "14274:2:12", + "src": "16816:2:12", "type": "", "value": "31" } @@ -9670,25 +10714,25 @@ "functionName": { "name": "not", "nodeType": "YulIdentifier", - "src": "14270:3:12" + "src": "16812:3:12" }, "nodeType": "YulFunctionCall", - "src": "14270:7:12" + "src": "16812:7:12" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "14250:3:12" + "src": "16792:3:12" }, "nodeType": "YulFunctionCall", - "src": "14250:28:12" + "src": "16792:28:12" }, "variableNames": [ { "name": "result", "nodeType": "YulIdentifier", - "src": "14240:6:12" + "src": "16782:6:12" } ] } @@ -9700,7 +10744,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "14213:5:12", + "src": "16755:5:12", "type": "" } ], @@ -9708,57 +10752,57 @@ { "name": "result", "nodeType": "YulTypedName", - "src": "14223:6:12", + "src": "16765:6:12", "type": "" } ], - "src": "14182:102:12" + "src": "16724:102:12" }, { "body": { "nodeType": "YulBlock", - "src": "14333:238:12", + "src": "16875:238:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "14343:58:12", + "src": "16885:58:12", "value": { "arguments": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14365:6:12" + "src": "16907:6:12" }, { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "14395:4:12" + "src": "16937:4:12" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "14373:21:12" + "src": "16915:21:12" }, "nodeType": "YulFunctionCall", - "src": "14373:27:12" + "src": "16915:27:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "14361:3:12" + "src": "16903:3:12" }, "nodeType": "YulFunctionCall", - "src": "14361:40:12" + "src": "16903:40:12" }, "variables": [ { "name": "newFreePtr", "nodeType": "YulTypedName", - "src": "14347:10:12", + "src": "16889:10:12", "type": "" } ] @@ -9766,7 +10810,7 @@ { "body": { "nodeType": "YulBlock", - "src": "14512:22:12", + "src": "17054:22:12", "statements": [ { "expression": { @@ -9774,13 +10818,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "14514:16:12" + "src": "17056:16:12" }, "nodeType": "YulFunctionCall", - "src": "14514:18:12" + "src": "17056:18:12" }, "nodeType": "YulExpressionStatement", - "src": "14514:18:12" + "src": "17056:18:12" } ] }, @@ -9791,12 +10835,12 @@ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "14455:10:12" + "src": "16997:10:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14467:18:12", + "src": "17009:18:12", "type": "", "value": "0xffffffffffffffff" } @@ -9804,43 +10848,43 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "14452:2:12" + "src": "16994:2:12" }, "nodeType": "YulFunctionCall", - "src": "14452:34:12" + "src": "16994:34:12" }, { "arguments": [ { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "14491:10:12" + "src": "17033:10:12" }, { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14503:6:12" + "src": "17045:6:12" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "14488:2:12" + "src": "17030:2:12" }, "nodeType": "YulFunctionCall", - "src": "14488:22:12" + "src": "17030:22:12" } ], "functionName": { "name": "or", "nodeType": "YulIdentifier", - "src": "14449:2:12" + "src": "16991:2:12" }, "nodeType": "YulFunctionCall", - "src": "14449:62:12" + "src": "16991:62:12" }, "nodeType": "YulIf", - "src": "14446:88:12" + "src": "16988:88:12" }, { "expression": { @@ -9848,26 +10892,26 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "14550:2:12", + "src": "17092:2:12", "type": "", "value": "64" }, { "name": "newFreePtr", "nodeType": "YulIdentifier", - "src": "14554:10:12" + "src": "17096:10:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "14543:6:12" + "src": "17085:6:12" }, "nodeType": "YulFunctionCall", - "src": "14543:22:12" + "src": "17085:22:12" }, "nodeType": "YulExpressionStatement", - "src": "14543:22:12" + "src": "17085:22:12" } ] }, @@ -9877,41 +10921,41 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "14319:6:12", + "src": "16861:6:12", "type": "" }, { "name": "size", "nodeType": "YulTypedName", - "src": "14327:4:12", + "src": "16869:4:12", "type": "" } ], - "src": "14290:281:12" + "src": "16832:281:12" }, { "body": { "nodeType": "YulBlock", - "src": "14618:88:12", + "src": "17160:88:12", "statements": [ { "nodeType": "YulAssignment", - "src": "14628:30:12", + "src": "17170:30:12", "value": { "arguments": [], "functionName": { "name": "allocate_unbounded", "nodeType": "YulIdentifier", - "src": "14638:18:12" + "src": "17180:18:12" }, "nodeType": "YulFunctionCall", - "src": "14638:20:12" + "src": "17180:20:12" }, "variableNames": [ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14628:6:12" + "src": "17170:6:12" } ] }, @@ -9921,24 +10965,24 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "14687:6:12" + "src": "17229:6:12" }, { "name": "size", "nodeType": "YulIdentifier", - "src": "14695:4:12" + "src": "17237:4:12" } ], "functionName": { "name": "finalize_allocation", "nodeType": "YulIdentifier", - "src": "14667:19:12" + "src": "17209:19:12" }, "nodeType": "YulFunctionCall", - "src": "14667:33:12" + "src": "17209:33:12" }, "nodeType": "YulExpressionStatement", - "src": "14667:33:12" + "src": "17209:33:12" } ] }, @@ -9948,7 +10992,7 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "14602:4:12", + "src": "17144:4:12", "type": "" } ], @@ -9956,21 +11000,21 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "14611:6:12", + "src": "17153:6:12", "type": "" } ], - "src": "14577:129:12" + "src": "17119:129:12" }, { "body": { "nodeType": "YulBlock", - "src": "14794:229:12", + "src": "17336:229:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "14899:22:12", + "src": "17441:22:12", "statements": [ { "expression": { @@ -9978,13 +11022,13 @@ "functionName": { "name": "panic_error_0x41", "nodeType": "YulIdentifier", - "src": "14901:16:12" + "src": "17443:16:12" }, "nodeType": "YulFunctionCall", - "src": "14901:18:12" + "src": "17443:18:12" }, "nodeType": "YulExpressionStatement", - "src": "14901:18:12" + "src": "17443:18:12" } ] }, @@ -9993,12 +11037,12 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "14871:6:12" + "src": "17413:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14879:18:12", + "src": "17421:18:12", "type": "", "value": "0xffffffffffffffff" } @@ -10006,28 +11050,28 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "14868:2:12" + "src": "17410:2:12" }, "nodeType": "YulFunctionCall", - "src": "14868:30:12" + "src": "17410:30:12" }, "nodeType": "YulIf", - "src": "14865:56:12" + "src": "17407:56:12" }, { "nodeType": "YulAssignment", - "src": "14931:25:12", + "src": "17473:25:12", "value": { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "14943:6:12" + "src": "17485:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "14951:4:12", + "src": "17493:4:12", "type": "", "value": "0x20" } @@ -10035,33 +11079,33 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "14939:3:12" + "src": "17481:3:12" }, "nodeType": "YulFunctionCall", - "src": "14939:17:12" + "src": "17481:17:12" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "14931:4:12" + "src": "17473:4:12" } ] }, { "nodeType": "YulAssignment", - "src": "14993:23:12", + "src": "17535:23:12", "value": { "arguments": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "15005:4:12" + "src": "17547:4:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15011:4:12", + "src": "17553:4:12", "type": "", "value": "0x20" } @@ -10069,16 +11113,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15001:3:12" + "src": "17543:3:12" }, "nodeType": "YulFunctionCall", - "src": "15001:15:12" + "src": "17543:15:12" }, "variableNames": [ { "name": "size", "nodeType": "YulIdentifier", - "src": "14993:4:12" + "src": "17535:4:12" } ] } @@ -10090,7 +11134,7 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "14778:6:12", + "src": "17320:6:12", "type": "" } ], @@ -10098,41 +11142,41 @@ { "name": "size", "nodeType": "YulTypedName", - "src": "14789:4:12", + "src": "17331:4:12", "type": "" } ], - "src": "14712:311:12" + "src": "17254:311:12" }, { "body": { "nodeType": "YulBlock", - "src": "15092:80:12", + "src": "17634:80:12", "statements": [ { "nodeType": "YulAssignment", - "src": "15102:22:12", + "src": "17644:22:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15117:6:12" + "src": "17659:6:12" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "15111:5:12" + "src": "17653:5:12" }, "nodeType": "YulFunctionCall", - "src": "15111:13:12" + "src": "17653:13:12" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "15102:5:12" + "src": "17644:5:12" } ] }, @@ -10142,19 +11186,19 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "15160:5:12" + "src": "17702:5:12" } ], "functionName": { "name": "validator_revert_t_uint256", "nodeType": "YulIdentifier", - "src": "15133:26:12" + "src": "17675:26:12" }, "nodeType": "YulFunctionCall", - "src": "15133:33:12" + "src": "17675:33:12" }, "nodeType": "YulExpressionStatement", - "src": "15133:33:12" + "src": "17675:33:12" } ] }, @@ -10164,13 +11208,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15070:6:12", + "src": "17612:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "15078:3:12", + "src": "17620:3:12", "type": "" } ], @@ -10178,20 +11222,20 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "15086:5:12", + "src": "17628:5:12", "type": "" } ], - "src": "15029:143:12" + "src": "17571:143:12" }, { "body": { "nodeType": "YulBlock", - "src": "15308:619:12", + "src": "17850:619:12", "statements": [ { "nodeType": "YulAssignment", - "src": "15318:90:12", + "src": "17860:90:12", "value": { "arguments": [ { @@ -10199,47 +11243,47 @@ { "name": "length", "nodeType": "YulIdentifier", - "src": "15400:6:12" + "src": "17942:6:12" } ], "functionName": { "name": "array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr", "nodeType": "YulIdentifier", - "src": "15343:56:12" + "src": "17885:56:12" }, "nodeType": "YulFunctionCall", - "src": "15343:64:12" + "src": "17885:64:12" } ], "functionName": { "name": "allocate_memory", "nodeType": "YulIdentifier", - "src": "15327:15:12" + "src": "17869:15:12" }, "nodeType": "YulFunctionCall", - "src": "15327:81:12" + "src": "17869:81:12" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "15318:5:12" + "src": "17860:5:12" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "15417:16:12", + "src": "17959:16:12", "value": { "name": "array", "nodeType": "YulIdentifier", - "src": "15428:5:12" + "src": "17970:5:12" }, "variables": [ { "name": "dst", "nodeType": "YulTypedName", - "src": "15421:3:12", + "src": "17963:3:12", "type": "" } ] @@ -10250,39 +11294,39 @@ { "name": "array", "nodeType": "YulIdentifier", - "src": "15450:5:12" + "src": "17992:5:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "15457:6:12" + "src": "17999:6:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15443:6:12" + "src": "17985:6:12" }, "nodeType": "YulFunctionCall", - "src": "15443:21:12" + "src": "17985:21:12" }, "nodeType": "YulExpressionStatement", - "src": "15443:21:12" + "src": "17985:21:12" }, { "nodeType": "YulAssignment", - "src": "15473:23:12", + "src": "18015:23:12", "value": { "arguments": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "15484:5:12" + "src": "18026:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15491:4:12", + "src": "18033:4:12", "type": "", "value": "0x20" } @@ -10290,40 +11334,40 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15480:3:12" + "src": "18022:3:12" }, "nodeType": "YulFunctionCall", - "src": "15480:16:12" + "src": "18022:16:12" }, "variableNames": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "15473:3:12" + "src": "18015:3:12" } ] }, { "nodeType": "YulVariableDeclaration", - "src": "15506:44:12", + "src": "18048:44:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "15524:6:12" + "src": "18066:6:12" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "15536:6:12" + "src": "18078:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15544:4:12", + "src": "18086:4:12", "type": "", "value": "0x20" } @@ -10331,25 +11375,25 @@ "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "15532:3:12" + "src": "18074:3:12" }, "nodeType": "YulFunctionCall", - "src": "15532:17:12" + "src": "18074:17:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15520:3:12" + "src": "18062:3:12" }, "nodeType": "YulFunctionCall", - "src": "15520:30:12" + "src": "18062:30:12" }, "variables": [ { "name": "srcEnd", "nodeType": "YulTypedName", - "src": "15510:6:12", + "src": "18052:6:12", "type": "" } ] @@ -10357,7 +11401,7 @@ { "body": { "nodeType": "YulBlock", - "src": "15578:103:12", + "src": "18120:103:12", "statements": [ { "expression": { @@ -10365,13 +11409,13 @@ "functionName": { "name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef", "nodeType": "YulIdentifier", - "src": "15592:77:12" + "src": "18134:77:12" }, "nodeType": "YulFunctionCall", - "src": "15592:79:12" + "src": "18134:79:12" }, "nodeType": "YulExpressionStatement", - "src": "15592:79:12" + "src": "18134:79:12" } ] }, @@ -10380,43 +11424,43 @@ { "name": "srcEnd", "nodeType": "YulIdentifier", - "src": "15565:6:12" + "src": "18107:6:12" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "15573:3:12" + "src": "18115:3:12" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "15562:2:12" + "src": "18104:2:12" }, "nodeType": "YulFunctionCall", - "src": "15562:15:12" + "src": "18104:15:12" }, "nodeType": "YulIf", - "src": "15559:122:12" + "src": "18101:122:12" }, { "body": { "nodeType": "YulBlock", - "src": "15766:155:12", + "src": "18308:155:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15781:21:12", + "src": "18323:21:12", "value": { "name": "src", "nodeType": "YulIdentifier", - "src": "15799:3:12" + "src": "18341:3:12" }, "variables": [ { "name": "elementPos", "nodeType": "YulTypedName", - "src": "15785:10:12", + "src": "18327:10:12", "type": "" } ] @@ -10427,55 +11471,55 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "15823:3:12" + "src": "18365:3:12" }, { "arguments": [ { "name": "elementPos", "nodeType": "YulIdentifier", - "src": "15860:10:12" + "src": "18402:10:12" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "15872:3:12" + "src": "18414:3:12" } ], "functionName": { "name": "abi_decode_t_uint256_fromMemory", "nodeType": "YulIdentifier", - "src": "15828:31:12" + "src": "18370:31:12" }, "nodeType": "YulFunctionCall", - "src": "15828:48:12" + "src": "18370:48:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "15816:6:12" + "src": "18358:6:12" }, "nodeType": "YulFunctionCall", - "src": "15816:61:12" + "src": "18358:61:12" }, "nodeType": "YulExpressionStatement", - "src": "15816:61:12" + "src": "18358:61:12" }, { "nodeType": "YulAssignment", - "src": "15890:21:12", + "src": "18432:21:12", "value": { "arguments": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "15901:3:12" + "src": "18443:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15906:4:12", + "src": "18448:4:12", "type": "", "value": "0x20" } @@ -10483,16 +11527,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15897:3:12" + "src": "18439:3:12" }, "nodeType": "YulFunctionCall", - "src": "15897:14:12" + "src": "18439:14:12" }, "variableNames": [ { "name": "dst", "nodeType": "YulIdentifier", - "src": "15890:3:12" + "src": "18432:3:12" } ] } @@ -10503,41 +11547,41 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "15719:3:12" + "src": "18261:3:12" }, { "name": "srcEnd", "nodeType": "YulIdentifier", - "src": "15724:6:12" + "src": "18266:6:12" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "15716:2:12" + "src": "18258:2:12" }, "nodeType": "YulFunctionCall", - "src": "15716:15:12" + "src": "18258:15:12" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "15732:25:12", + "src": "18274:25:12", "statements": [ { "nodeType": "YulAssignment", - "src": "15734:21:12", + "src": "18276:21:12", "value": { "arguments": [ { "name": "src", "nodeType": "YulIdentifier", - "src": "15745:3:12" + "src": "18287:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "15750:4:12", + "src": "18292:4:12", "type": "", "value": "0x20" } @@ -10545,16 +11589,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "15741:3:12" + "src": "18283:3:12" }, "nodeType": "YulFunctionCall", - "src": "15741:14:12" + "src": "18283:14:12" }, "variableNames": [ { "name": "src", "nodeType": "YulIdentifier", - "src": "15734:3:12" + "src": "18276:3:12" } ] } @@ -10562,28 +11606,28 @@ }, "pre": { "nodeType": "YulBlock", - "src": "15694:21:12", + "src": "18236:21:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "15696:17:12", + "src": "18238:17:12", "value": { "name": "offset", "nodeType": "YulIdentifier", - "src": "15707:6:12" + "src": "18249:6:12" }, "variables": [ { "name": "src", "nodeType": "YulTypedName", - "src": "15700:3:12", + "src": "18242:3:12", "type": "" } ] } ] }, - "src": "15690:231:12" + "src": "18232:231:12" } ] }, @@ -10593,19 +11637,19 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "15278:6:12", + "src": "17820:6:12", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "15286:6:12", + "src": "17828:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "15294:3:12", + "src": "17836:3:12", "type": "" } ], @@ -10613,21 +11657,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "15302:5:12", + "src": "17844:5:12", "type": "" } ], - "src": "15195:732:12" + "src": "17737:732:12" }, { "body": { "nodeType": "YulBlock", - "src": "16038:297:12", + "src": "18580:297:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "16087:83:12", + "src": "18629:83:12", "statements": [ { "expression": { @@ -10635,13 +11679,13 @@ "functionName": { "name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d", "nodeType": "YulIdentifier", - "src": "16089:77:12" + "src": "18631:77:12" }, "nodeType": "YulFunctionCall", - "src": "16089:79:12" + "src": "18631:79:12" }, "nodeType": "YulExpressionStatement", - "src": "16089:79:12" + "src": "18631:79:12" } ] }, @@ -10654,12 +11698,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16066:6:12" + "src": "18608:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16074:4:12", + "src": "18616:4:12", "type": "", "value": "0x1f" } @@ -10667,68 +11711,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16062:3:12" + "src": "18604:3:12" }, "nodeType": "YulFunctionCall", - "src": "16062:17:12" + "src": "18604:17:12" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "16081:3:12" + "src": "18623:3:12" } ], "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "16058:3:12" + "src": "18600:3:12" }, "nodeType": "YulFunctionCall", - "src": "16058:27:12" + "src": "18600:27:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "16051:6:12" + "src": "18593:6:12" }, "nodeType": "YulFunctionCall", - "src": "16051:35:12" + "src": "18593:35:12" }, "nodeType": "YulIf", - "src": "16048:122:12" + "src": "18590:122:12" }, { "nodeType": "YulVariableDeclaration", - "src": "16179:27:12", + "src": "18721:27:12", "value": { "arguments": [ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16199:6:12" + "src": "18741:6:12" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "16193:5:12" + "src": "18735:5:12" }, "nodeType": "YulFunctionCall", - "src": "16193:13:12" + "src": "18735:13:12" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "16183:6:12", + "src": "18725:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "16215:114:12", + "src": "18757:114:12", "value": { "arguments": [ { @@ -10736,12 +11780,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16302:6:12" + "src": "18844:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16310:4:12", + "src": "18852:4:12", "type": "", "value": "0x20" } @@ -10749,35 +11793,35 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16298:3:12" + "src": "18840:3:12" }, "nodeType": "YulFunctionCall", - "src": "16298:17:12" + "src": "18840:17:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "16317:6:12" + "src": "18859:6:12" }, { "name": "end", "nodeType": "YulIdentifier", - "src": "16325:3:12" + "src": "18867:3:12" } ], "functionName": { "name": "abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "16224:73:12" + "src": "18766:73:12" }, "nodeType": "YulFunctionCall", - "src": "16224:105:12" + "src": "18766:105:12" }, "variableNames": [ { "name": "array", "nodeType": "YulIdentifier", - "src": "16215:5:12" + "src": "18757:5:12" } ] } @@ -10789,13 +11833,13 @@ { "name": "offset", "nodeType": "YulTypedName", - "src": "16016:6:12", + "src": "18558:6:12", "type": "" }, { "name": "end", "nodeType": "YulTypedName", - "src": "16024:3:12", + "src": "18566:3:12", "type": "" } ], @@ -10803,21 +11847,21 @@ { "name": "array", "nodeType": "YulTypedName", - "src": "16032:5:12", + "src": "18574:5:12", "type": "" } ], - "src": "15950:385:12" + "src": "18492:385:12" }, { "body": { "nodeType": "YulBlock", - "src": "16443:452:12", + "src": "18985:452:12", "statements": [ { "body": { "nodeType": "YulBlock", - "src": "16489:83:12", + "src": "19031:83:12", "statements": [ { "expression": { @@ -10825,13 +11869,13 @@ "functionName": { "name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b", "nodeType": "YulIdentifier", - "src": "16491:77:12" + "src": "19033:77:12" }, "nodeType": "YulFunctionCall", - "src": "16491:79:12" + "src": "19033:79:12" }, "nodeType": "YulExpressionStatement", - "src": "16491:79:12" + "src": "19033:79:12" } ] }, @@ -10842,26 +11886,26 @@ { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16464:7:12" + "src": "19006:7:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16473:9:12" + "src": "19015:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "16460:3:12" + "src": "19002:3:12" }, "nodeType": "YulFunctionCall", - "src": "16460:23:12" + "src": "19002:23:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16485:2:12", + "src": "19027:2:12", "type": "", "value": "32" } @@ -10869,21 +11913,21 @@ "functionName": { "name": "slt", "nodeType": "YulIdentifier", - "src": "16456:3:12" + "src": "18998:3:12" }, "nodeType": "YulFunctionCall", - "src": "16456:32:12" + "src": "18998:32:12" }, "nodeType": "YulIf", - "src": "16453:119:12" + "src": "18995:119:12" }, { "nodeType": "YulBlock", - "src": "16582:306:12", + "src": "19124:306:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "16597:38:12", + "src": "19139:38:12", "value": { "arguments": [ { @@ -10891,12 +11935,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16621:9:12" + "src": "19163:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16632:1:12", + "src": "19174:1:12", "type": "", "value": "0" } @@ -10904,25 +11948,25 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16617:3:12" + "src": "19159:3:12" }, "nodeType": "YulFunctionCall", - "src": "16617:17:12" + "src": "19159:17:12" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "16611:5:12" + "src": "19153:5:12" }, "nodeType": "YulFunctionCall", - "src": "16611:24:12" + "src": "19153:24:12" }, "variables": [ { "name": "offset", "nodeType": "YulTypedName", - "src": "16601:6:12", + "src": "19143:6:12", "type": "" } ] @@ -10930,7 +11974,7 @@ { "body": { "nodeType": "YulBlock", - "src": "16682:83:12", + "src": "19224:83:12", "statements": [ { "expression": { @@ -10938,13 +11982,13 @@ "functionName": { "name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db", "nodeType": "YulIdentifier", - "src": "16684:77:12" + "src": "19226:77:12" }, "nodeType": "YulFunctionCall", - "src": "16684:79:12" + "src": "19226:79:12" }, "nodeType": "YulExpressionStatement", - "src": "16684:79:12" + "src": "19226:79:12" } ] }, @@ -10953,12 +11997,12 @@ { "name": "offset", "nodeType": "YulIdentifier", - "src": "16654:6:12" + "src": "19196:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "16662:18:12", + "src": "19204:18:12", "type": "", "value": "0xffffffffffffffff" } @@ -10966,17 +12010,17 @@ "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "16651:2:12" + "src": "19193:2:12" }, "nodeType": "YulFunctionCall", - "src": "16651:30:12" + "src": "19193:30:12" }, "nodeType": "YulIf", - "src": "16648:117:12" + "src": "19190:117:12" }, { "nodeType": "YulAssignment", - "src": "16779:99:12", + "src": "19321:99:12", "value": { "arguments": [ { @@ -10984,41 +12028,41 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "16850:9:12" + "src": "19392:9:12" }, { "name": "offset", "nodeType": "YulIdentifier", - "src": "16861:6:12" + "src": "19403:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "16846:3:12" + "src": "19388:3:12" }, "nodeType": "YulFunctionCall", - "src": "16846:22:12" + "src": "19388:22:12" }, { "name": "dataEnd", "nodeType": "YulIdentifier", - "src": "16870:7:12" + "src": "19412:7:12" } ], "functionName": { "name": "abi_decode_t_array$_t_uint256_$dyn_memory_ptr_fromMemory", "nodeType": "YulIdentifier", - "src": "16789:56:12" + "src": "19331:56:12" }, "nodeType": "YulFunctionCall", - "src": "16789:89:12" + "src": "19331:89:12" }, "variableNames": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "16779:6:12" + "src": "19321:6:12" } ] } @@ -11032,13 +12076,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "16413:9:12", + "src": "18955:9:12", "type": "" }, { "name": "dataEnd", "nodeType": "YulTypedName", - "src": "16424:7:12", + "src": "18966:7:12", "type": "" } ], @@ -11046,31 +12090,31 @@ { "name": "value0", "nodeType": "YulTypedName", - "src": "16436:6:12", + "src": "18978:6:12", "type": "" } ], - "src": "16341:554:12" + "src": "18883:554:12" }, { "body": { "nodeType": "YulBlock", - "src": "17127:408:12", + "src": "19669:408:12", "statements": [ { "nodeType": "YulAssignment", - "src": "17137:26:12", + "src": "19679:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17149:9:12" + "src": "19691:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17160:2:12", + "src": "19702:2:12", "type": "", "value": "64" } @@ -11078,16 +12122,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17145:3:12" + "src": "19687:3:12" }, "nodeType": "YulFunctionCall", - "src": "17145:18:12" + "src": "19687:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17137:4:12" + "src": "19679:4:12" } ] }, @@ -11099,12 +12143,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17184:9:12" + "src": "19726:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17195:1:12", + "src": "19737:1:12", "type": "", "value": "0" } @@ -11112,73 +12156,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17180:3:12" + "src": "19722:3:12" }, "nodeType": "YulFunctionCall", - "src": "17180:17:12" + "src": "19722:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17203:4:12" + "src": "19745:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17209:9:12" + "src": "19751:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17199:3:12" + "src": "19741:3:12" }, "nodeType": "YulFunctionCall", - "src": "17199:20:12" + "src": "19741:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17173:6:12" + "src": "19715:6:12" }, "nodeType": "YulFunctionCall", - "src": "17173:47:12" + "src": "19715:47:12" }, "nodeType": "YulExpressionStatement", - "src": "17173:47:12" + "src": "19715:47:12" }, { "nodeType": "YulAssignment", - "src": "17229:116:12", + "src": "19771:116:12", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "17331:6:12" + "src": "19873:6:12" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "17340:4:12" + "src": "19882:4:12" } ], "functionName": { "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17237:93:12" + "src": "19779:93:12" }, "nodeType": "YulFunctionCall", - "src": "17237:108:12" + "src": "19779:108:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17229:4:12" + "src": "19771:4:12" } ] }, @@ -11190,12 +12234,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17366:9:12" + "src": "19908:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17377:2:12", + "src": "19919:2:12", "type": "", "value": "32" } @@ -11203,73 +12247,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17362:3:12" + "src": "19904:3:12" }, "nodeType": "YulFunctionCall", - "src": "17362:18:12" + "src": "19904:18:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17386:4:12" + "src": "19928:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "17392:9:12" + "src": "19934:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "17382:3:12" + "src": "19924:3:12" }, "nodeType": "YulFunctionCall", - "src": "17382:20:12" + "src": "19924:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17355:6:12" + "src": "19897:6:12" }, "nodeType": "YulFunctionCall", - "src": "17355:48:12" + "src": "19897:48:12" }, "nodeType": "YulExpressionStatement", - "src": "17355:48:12" + "src": "19897:48:12" }, { "nodeType": "YulAssignment", - "src": "17412:116:12", + "src": "19954:116:12", "value": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "17514:6:12" + "src": "20056:6:12" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "17523:4:12" + "src": "20065:4:12" } ], "functionName": { "name": "abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "17420:93:12" + "src": "19962:93:12" }, "nodeType": "YulFunctionCall", - "src": "17420:108:12" + "src": "19962:108:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "17412:4:12" + "src": "19954:4:12" } ] } @@ -11281,19 +12325,19 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "17091:9:12", + "src": "19633:9:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "17103:6:12", + "src": "19645:6:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "17111:6:12", + "src": "19653:6:12", "type": "" } ], @@ -11301,30 +12345,30 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "17122:4:12", + "src": "19664:4:12", "type": "" } ], - "src": "16901:634:12" + "src": "19443:634:12" }, { "body": { "nodeType": "YulBlock", - "src": "17655:34:12", + "src": "20197:34:12", "statements": [ { "nodeType": "YulAssignment", - "src": "17665:18:12", + "src": "20207:18:12", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "17680:3:12" + "src": "20222:3:12" }, "variableNames": [ { "name": "updated_pos", "nodeType": "YulIdentifier", - "src": "17665:11:12" + "src": "20207:11:12" } ] } @@ -11336,13 +12380,13 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "17627:3:12", + "src": "20169:3:12", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "17632:6:12", + "src": "20174:6:12", "type": "" } ], @@ -11350,16 +12394,16 @@ { "name": "updated_pos", "nodeType": "YulTypedName", - "src": "17643:11:12", + "src": "20185:11:12", "type": "" } ], - "src": "17541:148:12" + "src": "20083:148:12" }, { "body": { "nodeType": "YulBlock", - "src": "17801:67:12", + "src": "20343:67:12", "statements": [ { "expression": { @@ -11369,12 +12413,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "17823:6:12" + "src": "20365:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "17831:1:12", + "src": "20373:1:12", "type": "", "value": "0" } @@ -11382,16 +12426,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "17819:3:12" + "src": "20361:3:12" }, "nodeType": "YulFunctionCall", - "src": "17819:14:12" + "src": "20361:14:12" }, { "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", "kind": "string", "nodeType": "YulLiteral", - "src": "17835:25:12", + "src": "20377:25:12", "type": "", "value": "AccessControl: account " } @@ -11399,13 +12443,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "17812:6:12" + "src": "20354:6:12" }, "nodeType": "YulFunctionCall", - "src": "17812:49:12" + "src": "20354:49:12" }, "nodeType": "YulExpressionStatement", - "src": "17812:49:12" + "src": "20354:49:12" } ] }, @@ -11415,31 +12459,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "17793:6:12", + "src": "20335:6:12", "type": "" } ], - "src": "17695:173:12" + "src": "20237:173:12" }, { "body": { "nodeType": "YulBlock", - "src": "18038:238:12", + "src": "20580:238:12", "statements": [ { "nodeType": "YulAssignment", - "src": "18048:92:12", + "src": "20590:92:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18132:3:12" + "src": "20674:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18137:2:12", + "src": "20679:2:12", "type": "", "value": "23" } @@ -11447,16 +12491,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "18055:76:12" + "src": "20597:76:12" }, "nodeType": "YulFunctionCall", - "src": "18055:85:12" + "src": "20597:85:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18048:3:12" + "src": "20590:3:12" } ] }, @@ -11466,34 +12510,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18238:3:12" + "src": "20780:3:12" } ], "functionName": { "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", "nodeType": "YulIdentifier", - "src": "18149:88:12" + "src": "20691:88:12" }, "nodeType": "YulFunctionCall", - "src": "18149:93:12" + "src": "20691:93:12" }, "nodeType": "YulExpressionStatement", - "src": "18149:93:12" + "src": "20691:93:12" }, { "nodeType": "YulAssignment", - "src": "18251:19:12", + "src": "20793:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18262:3:12" + "src": "20804:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18267:2:12", + "src": "20809:2:12", "type": "", "value": "23" } @@ -11501,16 +12545,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18258:3:12" + "src": "20800:3:12" }, "nodeType": "YulFunctionCall", - "src": "18258:12:12" + "src": "20800:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "18251:3:12" + "src": "20793:3:12" } ] } @@ -11522,7 +12566,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "18026:3:12", + "src": "20568:3:12", "type": "" } ], @@ -11530,41 +12574,41 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18034:3:12", + "src": "20576:3:12", "type": "" } ], - "src": "17874:402:12" + "src": "20416:402:12" }, { "body": { "nodeType": "YulBlock", - "src": "18341:40:12", + "src": "20883:40:12", "statements": [ { "nodeType": "YulAssignment", - "src": "18352:22:12", + "src": "20894:22:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "18368:5:12" + "src": "20910:5:12" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "18362:5:12" + "src": "20904:5:12" }, "nodeType": "YulFunctionCall", - "src": "18362:12:12" + "src": "20904:12:12" }, "variableNames": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "18352:6:12" + "src": "20894:6:12" } ] } @@ -11576,7 +12620,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "18324:5:12", + "src": "20866:5:12", "type": "" } ], @@ -11584,24 +12628,24 @@ { "name": "length", "nodeType": "YulTypedName", - "src": "18334:6:12", + "src": "20876:6:12", "type": "" } ], - "src": "18282:99:12" + "src": "20824:99:12" }, { "body": { "nodeType": "YulBlock", - "src": "18436:258:12", + "src": "20978:258:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "18446:10:12", + "src": "20988:10:12", "value": { "kind": "number", "nodeType": "YulLiteral", - "src": "18455:1:12", + "src": "20997:1:12", "type": "", "value": "0" }, @@ -11609,7 +12653,7 @@ { "name": "i", "nodeType": "YulTypedName", - "src": "18450:1:12", + "src": "20992:1:12", "type": "" } ] @@ -11617,7 +12661,7 @@ { "body": { "nodeType": "YulBlock", - "src": "18515:63:12", + "src": "21057:63:12", "statements": [ { "expression": { @@ -11627,21 +12671,21 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "18540:3:12" + "src": "21082:3:12" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "18545:1:12" + "src": "21087:1:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18536:3:12" + "src": "21078:3:12" }, "nodeType": "YulFunctionCall", - "src": "18536:11:12" + "src": "21078:11:12" }, { "arguments": [ @@ -11650,42 +12694,42 @@ { "name": "src", "nodeType": "YulIdentifier", - "src": "18559:3:12" + "src": "21101:3:12" }, { "name": "i", "nodeType": "YulIdentifier", - "src": "18564:1:12" + "src": "21106:1:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18555:3:12" + "src": "21097:3:12" }, "nodeType": "YulFunctionCall", - "src": "18555:11:12" + "src": "21097:11:12" } ], "functionName": { "name": "mload", "nodeType": "YulIdentifier", - "src": "18549:5:12" + "src": "21091:5:12" }, "nodeType": "YulFunctionCall", - "src": "18549:18:12" + "src": "21091:18:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18529:6:12" + "src": "21071:6:12" }, "nodeType": "YulFunctionCall", - "src": "18529:39:12" + "src": "21071:39:12" }, "nodeType": "YulExpressionStatement", - "src": "18529:39:12" + "src": "21071:39:12" } ] }, @@ -11694,41 +12738,41 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "18476:1:12" + "src": "21018:1:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "18479:6:12" + "src": "21021:6:12" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "18473:2:12" + "src": "21015:2:12" }, "nodeType": "YulFunctionCall", - "src": "18473:13:12" + "src": "21015:13:12" }, "nodeType": "YulForLoop", "post": { "nodeType": "YulBlock", - "src": "18487:19:12", + "src": "21029:19:12", "statements": [ { "nodeType": "YulAssignment", - "src": "18489:15:12", + "src": "21031:15:12", "value": { "arguments": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "18498:1:12" + "src": "21040:1:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18501:2:12", + "src": "21043:2:12", "type": "", "value": "32" } @@ -11736,16 +12780,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18494:3:12" + "src": "21036:3:12" }, "nodeType": "YulFunctionCall", - "src": "18494:10:12" + "src": "21036:10:12" }, "variableNames": [ { "name": "i", "nodeType": "YulIdentifier", - "src": "18489:1:12" + "src": "21031:1:12" } ] } @@ -11753,15 +12797,15 @@ }, "pre": { "nodeType": "YulBlock", - "src": "18469:3:12", + "src": "21011:3:12", "statements": [] }, - "src": "18465:113:12" + "src": "21007:113:12" }, { "body": { "nodeType": "YulBlock", - "src": "18612:76:12", + "src": "21154:76:12", "statements": [ { "expression": { @@ -11771,26 +12815,26 @@ { "name": "dst", "nodeType": "YulIdentifier", - "src": "18662:3:12" + "src": "21204:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "18667:6:12" + "src": "21209:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "18658:3:12" + "src": "21200:3:12" }, "nodeType": "YulFunctionCall", - "src": "18658:16:12" + "src": "21200:16:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "18676:1:12", + "src": "21218:1:12", "type": "", "value": "0" } @@ -11798,13 +12842,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "18651:6:12" + "src": "21193:6:12" }, "nodeType": "YulFunctionCall", - "src": "18651:27:12" + "src": "21193:27:12" }, "nodeType": "YulExpressionStatement", - "src": "18651:27:12" + "src": "21193:27:12" } ] }, @@ -11813,24 +12857,24 @@ { "name": "i", "nodeType": "YulIdentifier", - "src": "18593:1:12" + "src": "21135:1:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "18596:6:12" + "src": "21138:6:12" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "18590:2:12" + "src": "21132:2:12" }, "nodeType": "YulFunctionCall", - "src": "18590:13:12" + "src": "21132:13:12" }, "nodeType": "YulIf", - "src": "18587:101:12" + "src": "21129:101:12" } ] }, @@ -11840,86 +12884,86 @@ { "name": "src", "nodeType": "YulTypedName", - "src": "18418:3:12", + "src": "20960:3:12", "type": "" }, { "name": "dst", "nodeType": "YulTypedName", - "src": "18423:3:12", + "src": "20965:3:12", "type": "" }, { "name": "length", "nodeType": "YulTypedName", - "src": "18428:6:12", + "src": "20970:6:12", "type": "" } ], - "src": "18387:307:12" + "src": "20929:307:12" }, { "body": { "nodeType": "YulBlock", - "src": "18810:267:12", + "src": "21352:267:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "18820:53:12", + "src": "21362:53:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "18867:5:12" + "src": "21409:5:12" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "18834:32:12" + "src": "21376:32:12" }, "nodeType": "YulFunctionCall", - "src": "18834:39:12" + "src": "21376:39:12" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "18824:6:12", + "src": "21366:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "18882:96:12", + "src": "21424:96:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18966:3:12" + "src": "21508:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "18971:6:12" + "src": "21513:6:12" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "18889:76:12" + "src": "21431:76:12" }, "nodeType": "YulFunctionCall", - "src": "18889:89:12" + "src": "21431:89:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "18882:3:12" + "src": "21424:3:12" } ] }, @@ -11931,12 +12975,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "19013:5:12" + "src": "21555:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19020:4:12", + "src": "21562:4:12", "type": "", "value": "0x20" } @@ -11944,62 +12988,62 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19009:3:12" + "src": "21551:3:12" }, "nodeType": "YulFunctionCall", - "src": "19009:16:12" + "src": "21551:16:12" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "19027:3:12" + "src": "21569:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "19032:6:12" + "src": "21574:6:12" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "18987:21:12" + "src": "21529:21:12" }, "nodeType": "YulFunctionCall", - "src": "18987:52:12" + "src": "21529:52:12" }, "nodeType": "YulExpressionStatement", - "src": "18987:52:12" + "src": "21529:52:12" }, { "nodeType": "YulAssignment", - "src": "19048:23:12", + "src": "21590:23:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19059:3:12" + "src": "21601:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "19064:6:12" + "src": "21606:6:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19055:3:12" + "src": "21597:3:12" }, "nodeType": "YulFunctionCall", - "src": "19055:16:12" + "src": "21597:16:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19048:3:12" + "src": "21590:3:12" } ] } @@ -12011,13 +13055,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "18791:5:12", + "src": "21333:5:12", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "18798:3:12", + "src": "21340:3:12", "type": "" } ], @@ -12025,16 +13069,16 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "18806:3:12", + "src": "21348:3:12", "type": "" } ], - "src": "18700:377:12" + "src": "21242:377:12" }, { "body": { "nodeType": "YulBlock", - "src": "19189:61:12", + "src": "21731:61:12", "statements": [ { "expression": { @@ -12044,12 +13088,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "19211:6:12" + "src": "21753:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19219:1:12", + "src": "21761:1:12", "type": "", "value": "0" } @@ -12057,16 +13101,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19207:3:12" + "src": "21749:3:12" }, "nodeType": "YulFunctionCall", - "src": "19207:14:12" + "src": "21749:14:12" }, { "hexValue": "206973206d697373696e6720726f6c6520", "kind": "string", "nodeType": "YulLiteral", - "src": "19223:19:12", + "src": "21765:19:12", "type": "", "value": " is missing role " } @@ -12074,13 +13118,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "19200:6:12" + "src": "21742:6:12" }, "nodeType": "YulFunctionCall", - "src": "19200:43:12" + "src": "21742:43:12" }, "nodeType": "YulExpressionStatement", - "src": "19200:43:12" + "src": "21742:43:12" } ] }, @@ -12090,31 +13134,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "19181:6:12", + "src": "21723:6:12", "type": "" } ], - "src": "19083:167:12" + "src": "21625:167:12" }, { "body": { "nodeType": "YulBlock", - "src": "19420:238:12", + "src": "21962:238:12", "statements": [ { "nodeType": "YulAssignment", - "src": "19430:92:12", + "src": "21972:92:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19514:3:12" + "src": "22056:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19519:2:12", + "src": "22061:2:12", "type": "", "value": "17" } @@ -12122,16 +13166,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "19437:76:12" + "src": "21979:76:12" }, "nodeType": "YulFunctionCall", - "src": "19437:85:12" + "src": "21979:85:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19430:3:12" + "src": "21972:3:12" } ] }, @@ -12141,34 +13185,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19620:3:12" + "src": "22162:3:12" } ], "functionName": { "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", "nodeType": "YulIdentifier", - "src": "19531:88:12" + "src": "22073:88:12" }, "nodeType": "YulFunctionCall", - "src": "19531:93:12" + "src": "22073:93:12" }, "nodeType": "YulExpressionStatement", - "src": "19531:93:12" + "src": "22073:93:12" }, { "nodeType": "YulAssignment", - "src": "19633:19:12", + "src": "22175:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "19644:3:12" + "src": "22186:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "19649:2:12", + "src": "22191:2:12", "type": "", "value": "17" } @@ -12176,16 +13220,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "19640:3:12" + "src": "22182:3:12" }, "nodeType": "YulFunctionCall", - "src": "19640:12:12" + "src": "22182:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "19633:3:12" + "src": "22175:3:12" } ] } @@ -12197,7 +13241,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "19408:3:12", + "src": "21950:3:12", "type": "" } ], @@ -12205,148 +13249,148 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "19416:3:12", + "src": "21958:3:12", "type": "" } ], - "src": "19256:402:12" + "src": "21798:402:12" }, { "body": { "nodeType": "YulBlock", - "src": "20050:581:12", + "src": "22592:581:12", "statements": [ { "nodeType": "YulAssignment", - "src": "20061:155:12", + "src": "22603:155:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20212:3:12" + "src": "22754:3:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "20068:142:12" + "src": "22610:142:12" }, "nodeType": "YulFunctionCall", - "src": "20068:148:12" + "src": "22610:148:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20061:3:12" + "src": "22603:3:12" } ] }, { "nodeType": "YulAssignment", - "src": "20226:102:12", + "src": "22768:102:12", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "20315:6:12" + "src": "22857:6:12" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "20324:3:12" + "src": "22866:3:12" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "20233:81:12" + "src": "22775:81:12" }, "nodeType": "YulFunctionCall", - "src": "20233:95:12" + "src": "22775:95:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20226:3:12" + "src": "22768:3:12" } ] }, { "nodeType": "YulAssignment", - "src": "20338:155:12", + "src": "22880:155:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20489:3:12" + "src": "23031:3:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "20345:142:12" + "src": "22887:142:12" }, "nodeType": "YulFunctionCall", - "src": "20345:148:12" + "src": "22887:148:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20338:3:12" + "src": "22880:3:12" } ] }, { "nodeType": "YulAssignment", - "src": "20503:102:12", + "src": "23045:102:12", "value": { "arguments": [ { "name": "value1", "nodeType": "YulIdentifier", - "src": "20592:6:12" + "src": "23134:6:12" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "20601:3:12" + "src": "23143:3:12" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", "nodeType": "YulIdentifier", - "src": "20510:81:12" + "src": "23052:81:12" }, "nodeType": "YulFunctionCall", - "src": "20510:95:12" + "src": "23052:95:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20503:3:12" + "src": "23045:3:12" } ] }, { "nodeType": "YulAssignment", - "src": "20615:10:12", + "src": "23157:10:12", "value": { "name": "pos", "nodeType": "YulIdentifier", - "src": "20622:3:12" + "src": "23164:3:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20615:3:12" + "src": "23157:3:12" } ] } @@ -12358,19 +13402,19 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "20021:3:12", + "src": "22563:3:12", "type": "" }, { "name": "value1", "nodeType": "YulTypedName", - "src": "20027:6:12", + "src": "22569:6:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "20035:6:12", + "src": "22577:6:12", "type": "" } ], @@ -12378,74 +13422,74 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20046:3:12", + "src": "22588:3:12", "type": "" } ], - "src": "19664:967:12" + "src": "22206:967:12" }, { "body": { "nodeType": "YulBlock", - "src": "20729:272:12", + "src": "23271:272:12", "statements": [ { "nodeType": "YulVariableDeclaration", - "src": "20739:53:12", + "src": "23281:53:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "20786:5:12" + "src": "23328:5:12" } ], "functionName": { "name": "array_length_t_string_memory_ptr", "nodeType": "YulIdentifier", - "src": "20753:32:12" + "src": "23295:32:12" }, "nodeType": "YulFunctionCall", - "src": "20753:39:12" + "src": "23295:39:12" }, "variables": [ { "name": "length", "nodeType": "YulTypedName", - "src": "20743:6:12", + "src": "23285:6:12", "type": "" } ] }, { "nodeType": "YulAssignment", - "src": "20801:78:12", + "src": "23343:78:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20867:3:12" + "src": "23409:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "20872:6:12" + "src": "23414:6:12" } ], "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "20808:58:12" + "src": "23350:58:12" }, "nodeType": "YulFunctionCall", - "src": "20808:71:12" + "src": "23350:71:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20801:3:12" + "src": "23343:3:12" } ] }, @@ -12457,12 +13501,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "20914:5:12" + "src": "23456:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "20921:4:12", + "src": "23463:4:12", "type": "", "value": "0x20" } @@ -12470,73 +13514,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20910:3:12" + "src": "23452:3:12" }, "nodeType": "YulFunctionCall", - "src": "20910:16:12" + "src": "23452:16:12" }, { "name": "pos", "nodeType": "YulIdentifier", - "src": "20928:3:12" + "src": "23470:3:12" }, { "name": "length", "nodeType": "YulIdentifier", - "src": "20933:6:12" + "src": "23475:6:12" } ], "functionName": { "name": "copy_memory_to_memory", "nodeType": "YulIdentifier", - "src": "20888:21:12" + "src": "23430:21:12" }, "nodeType": "YulFunctionCall", - "src": "20888:52:12" + "src": "23430:52:12" }, "nodeType": "YulExpressionStatement", - "src": "20888:52:12" + "src": "23430:52:12" }, { "nodeType": "YulAssignment", - "src": "20949:46:12", + "src": "23491:46:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "20960:3:12" + "src": "23502:3:12" }, { "arguments": [ { "name": "length", "nodeType": "YulIdentifier", - "src": "20987:6:12" + "src": "23529:6:12" } ], "functionName": { "name": "round_up_to_mul_of_32", "nodeType": "YulIdentifier", - "src": "20965:21:12" + "src": "23507:21:12" }, "nodeType": "YulFunctionCall", - "src": "20965:29:12" + "src": "23507:29:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "20956:3:12" + "src": "23498:3:12" }, "nodeType": "YulFunctionCall", - "src": "20956:39:12" + "src": "23498:39:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "20949:3:12" + "src": "23491:3:12" } ] } @@ -12548,13 +13592,13 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "20710:5:12", + "src": "23252:5:12", "type": "" }, { "name": "pos", "nodeType": "YulTypedName", - "src": "20717:3:12", + "src": "23259:3:12", "type": "" } ], @@ -12562,31 +13606,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "20725:3:12", + "src": "23267:3:12", "type": "" } ], - "src": "20637:364:12" + "src": "23179:364:12" }, { "body": { "nodeType": "YulBlock", - "src": "21125:195:12", + "src": "23667:195:12", "statements": [ { "nodeType": "YulAssignment", - "src": "21135:26:12", + "src": "23677:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21147:9:12" + "src": "23689:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21158:2:12", + "src": "23700:2:12", "type": "", "value": "32" } @@ -12594,16 +13638,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21143:3:12" + "src": "23685:3:12" }, "nodeType": "YulFunctionCall", - "src": "21143:18:12" + "src": "23685:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21135:4:12" + "src": "23677:4:12" } ] }, @@ -12615,12 +13659,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21182:9:12" + "src": "23724:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "21193:1:12", + "src": "23735:1:12", "type": "", "value": "0" } @@ -12628,73 +13672,73 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21178:3:12" + "src": "23720:3:12" }, "nodeType": "YulFunctionCall", - "src": "21178:17:12" + "src": "23720:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21201:4:12" + "src": "23743:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "21207:9:12" + "src": "23749:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21197:3:12" + "src": "23739:3:12" }, "nodeType": "YulFunctionCall", - "src": "21197:20:12" + "src": "23739:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "21171:6:12" + "src": "23713:6:12" }, "nodeType": "YulFunctionCall", - "src": "21171:47:12" + "src": "23713:47:12" }, "nodeType": "YulExpressionStatement", - "src": "21171:47:12" + "src": "23713:47:12" }, { "nodeType": "YulAssignment", - "src": "21227:86:12", + "src": "23769:86:12", "value": { "arguments": [ { "name": "value0", "nodeType": "YulIdentifier", - "src": "21299:6:12" + "src": "23841:6:12" }, { "name": "tail", "nodeType": "YulIdentifier", - "src": "21308:4:12" + "src": "23850:4:12" } ], "functionName": { "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "21235:63:12" + "src": "23777:63:12" }, "nodeType": "YulFunctionCall", - "src": "21235:78:12" + "src": "23777:78:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "21227:4:12" + "src": "23769:4:12" } ] } @@ -12706,13 +13750,13 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "21097:9:12", + "src": "23639:9:12", "type": "" }, { "name": "value0", "nodeType": "YulTypedName", - "src": "21109:6:12", + "src": "23651:6:12", "type": "" } ], @@ -12720,75 +13764,75 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "21120:4:12", + "src": "23662:4:12", "type": "" } ], - "src": "21007:313:12" + "src": "23549:313:12" }, { "body": { "nodeType": "YulBlock", - "src": "21374:300:12", + "src": "23916:300:12", "statements": [ { "nodeType": "YulAssignment", - "src": "21384:25:12", + "src": "23926:25:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "21407:1:12" + "src": "23949:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "21389:17:12" + "src": "23931:17:12" }, "nodeType": "YulFunctionCall", - "src": "21389:20:12" + "src": "23931:20:12" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "21384:1:12" + "src": "23926:1:12" } ] }, { "nodeType": "YulAssignment", - "src": "21418:25:12", + "src": "23960:25:12", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "21441:1:12" + "src": "23983:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "21423:17:12" + "src": "23965:17:12" }, "nodeType": "YulFunctionCall", - "src": "21423:20:12" + "src": "23965:20:12" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "21418:1:12" + "src": "23960:1:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "21616:22:12", + "src": "24158:22:12", "statements": [ { "expression": { @@ -12796,13 +13840,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "21618:16:12" + "src": "24160:16:12" }, "nodeType": "YulFunctionCall", - "src": "21618:18:12" + "src": "24160:18:12" }, "nodeType": "YulExpressionStatement", - "src": "21618:18:12" + "src": "24160:18:12" } ] }, @@ -12815,106 +13859,106 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "21528:1:12" + "src": "24070:1:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "21521:6:12" + "src": "24063:6:12" }, "nodeType": "YulFunctionCall", - "src": "21521:9:12" + "src": "24063:9:12" } ], "functionName": { "name": "iszero", "nodeType": "YulIdentifier", - "src": "21514:6:12" + "src": "24056:6:12" }, "nodeType": "YulFunctionCall", - "src": "21514:17:12" + "src": "24056:17:12" }, { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "21536:1:12" + "src": "24078:1:12" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "21543:66:12", + "src": "24085:66:12", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "x", "nodeType": "YulIdentifier", - "src": "21611:1:12" + "src": "24153:1:12" } ], "functionName": { "name": "div", "nodeType": "YulIdentifier", - "src": "21539:3:12" + "src": "24081:3:12" }, "nodeType": "YulFunctionCall", - "src": "21539:74:12" + "src": "24081:74:12" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "21533:2:12" + "src": "24075:2:12" }, "nodeType": "YulFunctionCall", - "src": "21533:81:12" + "src": "24075:81:12" } ], "functionName": { "name": "and", "nodeType": "YulIdentifier", - "src": "21510:3:12" + "src": "24052:3:12" }, "nodeType": "YulFunctionCall", - "src": "21510:105:12" + "src": "24052:105:12" }, "nodeType": "YulIf", - "src": "21507:131:12" + "src": "24049:131:12" }, { "nodeType": "YulAssignment", - "src": "21648:20:12", + "src": "24190:20:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "21663:1:12" + "src": "24205:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "21666:1:12" + "src": "24208:1:12" } ], "functionName": { "name": "mul", "nodeType": "YulIdentifier", - "src": "21659:3:12" + "src": "24201:3:12" }, "nodeType": "YulFunctionCall", - "src": "21659:9:12" + "src": "24201:9:12" }, "variableNames": [ { "name": "product", "nodeType": "YulIdentifier", - "src": "21648:7:12" + "src": "24190:7:12" } ] } @@ -12926,13 +13970,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "21357:1:12", + "src": "23899:1:12", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "21360:1:12", + "src": "23902:1:12", "type": "" } ], @@ -12940,75 +13984,75 @@ { "name": "product", "nodeType": "YulTypedName", - "src": "21366:7:12", + "src": "23908:7:12", "type": "" } ], - "src": "21326:348:12" + "src": "23868:348:12" }, { "body": { "nodeType": "YulBlock", - "src": "21724:261:12", + "src": "24266:261:12", "statements": [ { "nodeType": "YulAssignment", - "src": "21734:25:12", + "src": "24276:25:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "21757:1:12" + "src": "24299:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "21739:17:12" + "src": "24281:17:12" }, "nodeType": "YulFunctionCall", - "src": "21739:20:12" + "src": "24281:20:12" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "21734:1:12" + "src": "24276:1:12" } ] }, { "nodeType": "YulAssignment", - "src": "21768:25:12", + "src": "24310:25:12", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "21791:1:12" + "src": "24333:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "21773:17:12" + "src": "24315:17:12" }, "nodeType": "YulFunctionCall", - "src": "21773:20:12" + "src": "24315:20:12" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "21768:1:12" + "src": "24310:1:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "21931:22:12", + "src": "24473:22:12", "statements": [ { "expression": { @@ -13016,13 +14060,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "21933:16:12" + "src": "24475:16:12" }, "nodeType": "YulFunctionCall", - "src": "21933:18:12" + "src": "24475:18:12" }, "nodeType": "YulExpressionStatement", - "src": "21933:18:12" + "src": "24475:18:12" } ] }, @@ -13031,72 +14075,72 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "21852:1:12" + "src": "24394:1:12" }, { "arguments": [ { "kind": "number", "nodeType": "YulLiteral", - "src": "21859:66:12", + "src": "24401:66:12", "type": "", "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "21927:1:12" + "src": "24469:1:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "21855:3:12" + "src": "24397:3:12" }, "nodeType": "YulFunctionCall", - "src": "21855:74:12" + "src": "24397:74:12" } ], "functionName": { "name": "gt", "nodeType": "YulIdentifier", - "src": "21849:2:12" + "src": "24391:2:12" }, "nodeType": "YulFunctionCall", - "src": "21849:81:12" + "src": "24391:81:12" }, "nodeType": "YulIf", - "src": "21846:107:12" + "src": "24388:107:12" }, { "nodeType": "YulAssignment", - "src": "21963:16:12", + "src": "24505:16:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "21974:1:12" + "src": "24516:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "21977:1:12" + "src": "24519:1:12" } ], "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "21970:3:12" + "src": "24512:3:12" }, "nodeType": "YulFunctionCall", - "src": "21970:9:12" + "src": "24512:9:12" }, "variableNames": [ { "name": "sum", "nodeType": "YulIdentifier", - "src": "21963:3:12" + "src": "24505:3:12" } ] } @@ -13108,13 +14152,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "21711:1:12", + "src": "24253:1:12", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "21714:1:12", + "src": "24256:1:12", "type": "" } ], @@ -13122,48 +14166,48 @@ { "name": "sum", "nodeType": "YulTypedName", - "src": "21720:3:12", + "src": "24262:3:12", "type": "" } ], - "src": "21680:305:12" + "src": "24222:305:12" }, { "body": { "nodeType": "YulBlock", - "src": "22034:128:12", + "src": "24576:128:12", "statements": [ { "nodeType": "YulAssignment", - "src": "22044:33:12", + "src": "24586:33:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "22071:5:12" + "src": "24613:5:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "22053:17:12" + "src": "24595:17:12" }, "nodeType": "YulFunctionCall", - "src": "22053:24:12" + "src": "24595:24:12" }, "variableNames": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "22044:5:12" + "src": "24586:5:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "22105:22:12", + "src": "24647:22:12", "statements": [ { "expression": { @@ -13171,13 +14215,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "22107:16:12" + "src": "24649:16:12" }, "nodeType": "YulFunctionCall", - "src": "22107:18:12" + "src": "24649:18:12" }, "nodeType": "YulExpressionStatement", - "src": "22107:18:12" + "src": "24649:18:12" } ] }, @@ -13186,12 +14230,12 @@ { "name": "value", "nodeType": "YulIdentifier", - "src": "22092:5:12" + "src": "24634:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22099:4:12", + "src": "24641:4:12", "type": "", "value": "0x00" } @@ -13199,28 +14243,28 @@ "functionName": { "name": "eq", "nodeType": "YulIdentifier", - "src": "22089:2:12" + "src": "24631:2:12" }, "nodeType": "YulFunctionCall", - "src": "22089:15:12" + "src": "24631:15:12" }, "nodeType": "YulIf", - "src": "22086:41:12" + "src": "24628:41:12" }, { "nodeType": "YulAssignment", - "src": "22136:20:12", + "src": "24678:20:12", "value": { "arguments": [ { "name": "value", "nodeType": "YulIdentifier", - "src": "22147:5:12" + "src": "24689:5:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22154:1:12", + "src": "24696:1:12", "type": "", "value": "1" } @@ -13228,16 +14272,16 @@ "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22143:3:12" + "src": "24685:3:12" }, "nodeType": "YulFunctionCall", - "src": "22143:13:12" + "src": "24685:13:12" }, "variableNames": [ { "name": "ret", "nodeType": "YulIdentifier", - "src": "22136:3:12" + "src": "24678:3:12" } ] } @@ -13249,7 +14293,7 @@ { "name": "value", "nodeType": "YulTypedName", - "src": "22020:5:12", + "src": "24562:5:12", "type": "" } ], @@ -13257,16 +14301,16 @@ { "name": "ret", "nodeType": "YulTypedName", - "src": "22030:3:12", + "src": "24572:3:12", "type": "" } ], - "src": "21991:171:12" + "src": "24533:171:12" }, { "body": { "nodeType": "YulBlock", - "src": "22274:76:12", + "src": "24816:76:12", "statements": [ { "expression": { @@ -13276,12 +14320,12 @@ { "name": "memPtr", "nodeType": "YulIdentifier", - "src": "22296:6:12" + "src": "24838:6:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22304:1:12", + "src": "24846:1:12", "type": "", "value": "0" } @@ -13289,16 +14333,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22292:3:12" + "src": "24834:3:12" }, "nodeType": "YulFunctionCall", - "src": "22292:14:12" + "src": "24834:14:12" }, { "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", "kind": "string", "nodeType": "YulLiteral", - "src": "22308:34:12", + "src": "24850:34:12", "type": "", "value": "Strings: hex length insufficient" } @@ -13306,13 +14350,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22285:6:12" + "src": "24827:6:12" }, "nodeType": "YulFunctionCall", - "src": "22285:58:12" + "src": "24827:58:12" }, "nodeType": "YulExpressionStatement", - "src": "22285:58:12" + "src": "24827:58:12" } ] }, @@ -13322,31 +14366,31 @@ { "name": "memPtr", "nodeType": "YulTypedName", - "src": "22266:6:12", + "src": "24808:6:12", "type": "" } ], - "src": "22168:182:12" + "src": "24710:182:12" }, { "body": { "nodeType": "YulBlock", - "src": "22502:220:12", + "src": "25044:220:12", "statements": [ { "nodeType": "YulAssignment", - "src": "22512:74:12", + "src": "25054:74:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22578:3:12" + "src": "25120:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22583:2:12", + "src": "25125:2:12", "type": "", "value": "32" } @@ -13354,16 +14398,16 @@ "functionName": { "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "22519:58:12" + "src": "25061:58:12" }, "nodeType": "YulFunctionCall", - "src": "22519:67:12" + "src": "25061:67:12" }, "variableNames": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22512:3:12" + "src": "25054:3:12" } ] }, @@ -13373,34 +14417,34 @@ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22684:3:12" + "src": "25226:3:12" } ], "functionName": { "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", "nodeType": "YulIdentifier", - "src": "22595:88:12" + "src": "25137:88:12" }, "nodeType": "YulFunctionCall", - "src": "22595:93:12" + "src": "25137:93:12" }, "nodeType": "YulExpressionStatement", - "src": "22595:93:12" + "src": "25137:93:12" }, { "nodeType": "YulAssignment", - "src": "22697:19:12", + "src": "25239:19:12", "value": { "arguments": [ { "name": "pos", "nodeType": "YulIdentifier", - "src": "22708:3:12" + "src": "25250:3:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22713:2:12", + "src": "25255:2:12", "type": "", "value": "32" } @@ -13408,16 +14452,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22704:3:12" + "src": "25246:3:12" }, "nodeType": "YulFunctionCall", - "src": "22704:12:12" + "src": "25246:12:12" }, "variableNames": [ { "name": "end", "nodeType": "YulIdentifier", - "src": "22697:3:12" + "src": "25239:3:12" } ] } @@ -13429,7 +14473,7 @@ { "name": "pos", "nodeType": "YulTypedName", - "src": "22490:3:12", + "src": "25032:3:12", "type": "" } ], @@ -13437,31 +14481,31 @@ { "name": "end", "nodeType": "YulTypedName", - "src": "22498:3:12", + "src": "25040:3:12", "type": "" } ], - "src": "22356:366:12" + "src": "24898:366:12" }, { "body": { "nodeType": "YulBlock", - "src": "22899:248:12", + "src": "25441:248:12", "statements": [ { "nodeType": "YulAssignment", - "src": "22909:26:12", + "src": "25451:26:12", "value": { "arguments": [ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22921:9:12" + "src": "25463:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22932:2:12", + "src": "25474:2:12", "type": "", "value": "32" } @@ -13469,16 +14513,16 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22917:3:12" + "src": "25459:3:12" }, "nodeType": "YulFunctionCall", - "src": "22917:18:12" + "src": "25459:18:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22909:4:12" + "src": "25451:4:12" } ] }, @@ -13490,12 +14534,12 @@ { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22956:9:12" + "src": "25498:9:12" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "22967:1:12", + "src": "25509:1:12", "type": "", "value": "0" } @@ -13503,68 +14547,68 @@ "functionName": { "name": "add", "nodeType": "YulIdentifier", - "src": "22952:3:12" + "src": "25494:3:12" }, "nodeType": "YulFunctionCall", - "src": "22952:17:12" + "src": "25494:17:12" }, { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "22975:4:12" + "src": "25517:4:12" }, { "name": "headStart", "nodeType": "YulIdentifier", - "src": "22981:9:12" + "src": "25523:9:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "22971:3:12" + "src": "25513:3:12" }, "nodeType": "YulFunctionCall", - "src": "22971:20:12" + "src": "25513:20:12" } ], "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "22945:6:12" + "src": "25487:6:12" }, "nodeType": "YulFunctionCall", - "src": "22945:47:12" + "src": "25487:47:12" }, "nodeType": "YulExpressionStatement", - "src": "22945:47:12" + "src": "25487:47:12" }, { "nodeType": "YulAssignment", - "src": "23001:139:12", + "src": "25543:139:12", "value": { "arguments": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23135:4:12" + "src": "25677:4:12" } ], "functionName": { "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", "nodeType": "YulIdentifier", - "src": "23009:124:12" + "src": "25551:124:12" }, "nodeType": "YulFunctionCall", - "src": "23009:131:12" + "src": "25551:131:12" }, "variableNames": [ { "name": "tail", "nodeType": "YulIdentifier", - "src": "23001:4:12" + "src": "25543:4:12" } ] } @@ -13576,7 +14620,7 @@ { "name": "headStart", "nodeType": "YulTypedName", - "src": "22879:9:12", + "src": "25421:9:12", "type": "" } ], @@ -13584,75 +14628,75 @@ { "name": "tail", "nodeType": "YulTypedName", - "src": "22894:4:12", + "src": "25436:4:12", "type": "" } ], - "src": "22728:419:12" + "src": "25270:419:12" }, { "body": { "nodeType": "YulBlock", - "src": "23198:146:12", + "src": "25740:146:12", "statements": [ { "nodeType": "YulAssignment", - "src": "23208:25:12", + "src": "25750:25:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "23231:1:12" + "src": "25773:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "23213:17:12" + "src": "25755:17:12" }, "nodeType": "YulFunctionCall", - "src": "23213:20:12" + "src": "25755:20:12" }, "variableNames": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "23208:1:12" + "src": "25750:1:12" } ] }, { "nodeType": "YulAssignment", - "src": "23242:25:12", + "src": "25784:25:12", "value": { "arguments": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "23265:1:12" + "src": "25807:1:12" } ], "functionName": { "name": "cleanup_t_uint256", "nodeType": "YulIdentifier", - "src": "23247:17:12" + "src": "25789:17:12" }, "nodeType": "YulFunctionCall", - "src": "23247:20:12" + "src": "25789:20:12" }, "variableNames": [ { "name": "y", "nodeType": "YulIdentifier", - "src": "23242:1:12" + "src": "25784:1:12" } ] }, { "body": { "nodeType": "YulBlock", - "src": "23289:22:12", + "src": "25831:22:12", "statements": [ { "expression": { @@ -13660,13 +14704,13 @@ "functionName": { "name": "panic_error_0x11", "nodeType": "YulIdentifier", - "src": "23291:16:12" + "src": "25833:16:12" }, "nodeType": "YulFunctionCall", - "src": "23291:18:12" + "src": "25833:18:12" }, "nodeType": "YulExpressionStatement", - "src": "23291:18:12" + "src": "25833:18:12" } ] }, @@ -13675,54 +14719,54 @@ { "name": "x", "nodeType": "YulIdentifier", - "src": "23283:1:12" + "src": "25825:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "23286:1:12" + "src": "25828:1:12" } ], "functionName": { "name": "lt", "nodeType": "YulIdentifier", - "src": "23280:2:12" + "src": "25822:2:12" }, "nodeType": "YulFunctionCall", - "src": "23280:8:12" + "src": "25822:8:12" }, "nodeType": "YulIf", - "src": "23277:34:12" + "src": "25819:34:12" }, { "nodeType": "YulAssignment", - "src": "23321:17:12", + "src": "25863:17:12", "value": { "arguments": [ { "name": "x", "nodeType": "YulIdentifier", - "src": "23333:1:12" + "src": "25875:1:12" }, { "name": "y", "nodeType": "YulIdentifier", - "src": "23336:1:12" + "src": "25878:1:12" } ], "functionName": { "name": "sub", "nodeType": "YulIdentifier", - "src": "23329:3:12" + "src": "25871:3:12" }, "nodeType": "YulFunctionCall", - "src": "23329:9:12" + "src": "25871:9:12" }, "variableNames": [ { "name": "diff", "nodeType": "YulIdentifier", - "src": "23321:4:12" + "src": "25863:4:12" } ] } @@ -13734,13 +14778,13 @@ { "name": "x", "nodeType": "YulTypedName", - "src": "23184:1:12", + "src": "25726:1:12", "type": "" }, { "name": "y", "nodeType": "YulTypedName", - "src": "23187:1:12", + "src": "25729:1:12", "type": "" } ], @@ -13748,16 +14792,16 @@ { "name": "diff", "nodeType": "YulTypedName", - "src": "23193:4:12", + "src": "25735:4:12", "type": "" } ], - "src": "23153:191:12" + "src": "25695:191:12" }, { "body": { "nodeType": "YulBlock", - "src": "23378:152:12", + "src": "25920:152:12", "statements": [ { "expression": { @@ -13765,14 +14809,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23395:1:12", + "src": "25937:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23398:77:12", + "src": "25940:77:12", "type": "", "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" } @@ -13780,13 +14824,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23388:6:12" + "src": "25930:6:12" }, "nodeType": "YulFunctionCall", - "src": "23388:88:12" + "src": "25930:88:12" }, "nodeType": "YulExpressionStatement", - "src": "23388:88:12" + "src": "25930:88:12" }, { "expression": { @@ -13794,14 +14838,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23492:1:12", + "src": "26034:1:12", "type": "", "value": "4" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23495:4:12", + "src": "26037:4:12", "type": "", "value": "0x31" } @@ -13809,13 +14853,13 @@ "functionName": { "name": "mstore", "nodeType": "YulIdentifier", - "src": "23485:6:12" + "src": "26027:6:12" }, "nodeType": "YulFunctionCall", - "src": "23485:15:12" + "src": "26027:15:12" }, "nodeType": "YulExpressionStatement", - "src": "23485:15:12" + "src": "26027:15:12" }, { "expression": { @@ -13823,14 +14867,14 @@ { "kind": "number", "nodeType": "YulLiteral", - "src": "23516:1:12", + "src": "26058:1:12", "type": "", "value": "0" }, { "kind": "number", "nodeType": "YulLiteral", - "src": "23519:4:12", + "src": "26061:4:12", "type": "", "value": "0x24" } @@ -13838,31 +14882,31 @@ "functionName": { "name": "revert", "nodeType": "YulIdentifier", - "src": "23509:6:12" + "src": "26051:6:12" }, "nodeType": "YulFunctionCall", - "src": "23509:15:12" + "src": "26051:15:12" }, "nodeType": "YulExpressionStatement", - "src": "23509:15:12" + "src": "26051:15:12" } ] }, "name": "panic_error_0x31", "nodeType": "YulFunctionDefinition", - "src": "23350:180:12" + "src": "25892:180:12" } ] }, - "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 cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function 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 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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 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 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 identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_IBEERC721_$1551_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_IBEERC721_$1551_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IBEERC721_$1551_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_IBEERC721_$1551__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IBEERC721_$1551_to_t_address_fromStack(value0, add(headStart, 0))\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 // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2 {\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 := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n 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_bytes32t_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_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_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_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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\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 array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_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_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08(memPtr) {\n\n mstore(add(memPtr, 0), \"Mintable count is not enough\")\n\n }\n\n function abi_encode_t_stringliteral_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08__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_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08_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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\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 // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, 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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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_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 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 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 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 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 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", + "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 cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function 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 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 cleanup_t_uint256(value) -> cleaned {\n cleaned := value\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 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 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 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_bool(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_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 identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_IBEERC721_$1551_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_IBEERC721_$1551_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IBEERC721_$1551_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_IBEERC721_$1551__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IBEERC721_$1551_to_t_address_fromStack(value0, add(headStart, 0))\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 // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_addresst_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1, value2 {\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 := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value1, value2 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n 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_bytes32t_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_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_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_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 panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function panic_error_0x32() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x32)\n revert(0, 0x24)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\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 array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d(memPtr) {\n\n mstore(add(memPtr, 0), \"Open status is same\")\n\n }\n\n function abi_encode_t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 19)\n store_literal_in_memory_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d__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_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d_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_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f(memPtr) {\n\n mstore(add(memPtr, 0), \"NFT distributor is not open\")\n\n }\n\n function abi_encode_t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 27)\n store_literal_in_memory_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f__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_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08(memPtr) {\n\n mstore(add(memPtr, 0), \"Mintable count is not enough\")\n\n }\n\n function abi_encode_t_stringliteral_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08__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_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08_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 round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\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_array$_t_uint256_$dyn_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := mul(length, 0x20)\n\n // add length slot\n size := add(size, 0x20)\n\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 // uint256[]\n function abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr_fromMemory(offset, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr(length))\n let dst := array\n\n mstore(array, length)\n dst := add(array, 0x20)\n\n let srcEnd := add(offset, mul(length, 0x20))\n if gt(srcEnd, end) {\n revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef()\n }\n for { let src := offset } lt(src, srcEnd) { src := add(src, 0x20) }\n {\n\n let elementPos := src\n\n mstore(dst, abi_decode_t_uint256_fromMemory(elementPos, end))\n dst := add(dst, 0x20)\n }\n }\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_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_array$_t_uint256_$dyn_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\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 mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_array$_t_uint256_$dyn_memory_ptr_to_t_array$_t_uint256_$dyn_memory_ptr_fromStack(value1, 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 array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\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_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 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 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 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 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 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": 12, "language": "Yul", "name": "#utility.yul" } ], - "sourceMap": "165:7183:11:-:0;;;1013:552;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1129:46;258:24;2072:4:0;1156:18:11;;1129:13;;;:46;;:::i;:::-;1253:44;2072:4:0;1264:18:11;;1284:12;:10;;;:12;;:::i;:::-;1253:10;;;:44;;:::i;:::-;1363:9;1358:109;1382:14;:21;1378:1;:25;1358:109;;;1418:42;258:24;1442:14;1457:1;1442:17;;;;;;;;:::i;:::-;;;;;;;;1418:10;;;:42;;:::i;:::-;1405:3;;;;:::i;:::-;;;1358:109;;;;1549:10;1533:3;;:27;;;;;;;;;;;;;;;;;;1013:552;;165:7183;;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;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;6257:110:0:-;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;1978:166:1:-;2065:31;2082:4;2088:7;2065:16;;;;;:31;;:::i;:::-;2106;2129:7;2106:12;:18;2119:4;2106:18;;;;;;;;;;;:22;;;;;;:31;;;;:::i;:::-;;1978:166;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7612:150:9:-;7682:4;7705:50;7710:3;:10;;7746:5;7730:23;;7722:32;;7705:4;;;:50;;:::i;:::-;7698:57;;7612:150;;;;:::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:404:9:-;1760:4;1781:21;1791:3;1796:5;1781:9;;;:21;;:::i;:::-;1776:319;;1818:3;:11;;1835:5;1818:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:3;:11;;:18;;;;1976:3;:12;;:19;1989:5;1976:19;;;;;;;;;;;:40;;;;2037:4;2030:11;;;;1776:319;2079:5;2072:12;;1697:404;;;;;:::o;3738:127::-;3811:4;3857:1;3834:3;:12;;:19;3847:5;3834:19;;;;;;;;;;;;:24;;3827:31;;3738:127;;;;:::o;7:75:12:-;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:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:117::-;954:1;951;944:12;968:102;1009:6;1060:2;1056:7;1051:2;1044:5;1040:14;1036:28;1026:38;;968:102;;;:::o;1076:180::-;1124:77;1121:1;1114:88;1221:4;1218:1;1211:15;1245:4;1242:1;1235:15;1262:281;1345:27;1367:4;1345:27;:::i;:::-;1337:6;1333:40;1475:6;1463:10;1460:22;1439:18;1427:10;1424:34;1421:62;1418:88;;;1486:18;;:::i;:::-;1418:88;1526:10;1522:2;1515:22;1305:238;1262:281;;:::o;1549:129::-;1583:6;1610:20;;:::i;:::-;1600:30;;1639:33;1667:4;1659:6;1639:33;:::i;:::-;1549:129;;;:::o;1684:311::-;1761:4;1851:18;1843:6;1840:30;1837:56;;;1873:18;;:::i;:::-;1837:56;1923:4;1915:6;1911:17;1903:25;;1983:4;1977;1973:15;1965:23;;1684:311;;;:::o;2001:117::-;2110:1;2107;2100:12;2141:732;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:710::-;3391:6;3399;3448:2;3436:9;3427:7;3423:23;3419:32;3416:119;;;3454:79;;:::i;:::-;3416:119;3574:1;3599:64;3655:7;3646:6;3635:9;3631:22;3599:64;:::i;:::-;3589:74;;3545:128;3733:2;3722:9;3718:18;3712:25;3764:18;3756:6;3753:30;3750:117;;;3786:79;;:::i;:::-;3750:117;3891:89;3972:7;3963:6;3952:9;3948:22;3891:89;:::i;:::-;3881:99;;3683:307;3287:710;;;;;:::o;4003:180::-;4051:77;4048:1;4041:88;4148:4;4145:1;4138:15;4172:4;4169:1;4162:15;4189:180;4237:77;4234:1;4227:88;4334:4;4331:1;4324:15;4358:4;4355:1;4348:15;4375:77;4412:7;4441:5;4430:16;;4375:77;;;:::o;4458:233::-;4497:3;4520:24;4538:5;4520:24;:::i;:::-;4511:33;;4566:66;4559:5;4556:77;4553:103;;;4636:18;;:::i;:::-;4553:103;4683:1;4676:5;4672:13;4665:20;;4458:233;;;:::o;165:7183:11:-;;;;;;;", - "deployedSourceMap": "165:7183:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;634:212:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6405:941:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5161:649;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;436:20:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;220:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4276:317;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1431:151:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2597:992:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;316:48:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1750:140:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;390:41:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;634:212:1;719:4;757:42;742:57;;;:11;:57;;;;:97;;;;803:36;827:11;803:23;:36::i;:::-;742:97;735:104;;634:212;;;:::o;6405:941:11:-;6478:16;6555:21;6579:11;:18;6591:5;6579:18;;;;;;;;;;;;;;;6555:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:31;6748:4;:11;6734:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6700:60;;6809:13;6878:9;6873:398;6897:4;:11;6893:1;:15;6873:398;;;6973:13;6989:4;6994:1;6989:7;;;;;;;;:::i;:::-;;;;;;;;6973:23;;7059:9;:16;7069:5;7059:16;;;;;;;;;;;;;;;;;;;;;7054:211;;7195:5;7171:14;7186:5;7171:21;;;;;;;;:::i;:::-;;;;;;;:29;;;;;7249:7;;;;;:::i;:::-;;;;7054:211;6915:356;6910:3;;;;;:::i;:::-;;;;6873:398;;;;7327:14;7320:21;;;;;6405:941;;;:::o;5161:649::-;5223:7;5291:21;5315:11;:18;5327:5;5315:18;;;;;;;;;;;;;;;5291:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5371:13;5440:9;5435:314;5459:4;:11;5455:1;:15;5435:314;;;5535:14;5552:4;5557:1;5552:7;;;;;;;;:::i;:::-;;;;;;;;5535:24;;5622:9;:17;5632:6;5622:17;;;;;;;;;;;;;;;;;;;;;5617:126;;5727:7;;;;;:::i;:::-;;;;5617:126;5477:272;5472:3;;;;;:::i;:::-;;;;5435:314;;;;5800:5;5793:12;;;;5161:649;;;:::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;5404:214::-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;436:20:11:-;;;;;;;;;;;;;:::o;220:62::-;258:24;220:62;:::o;4276:317::-;1912:37;258:24;1936:12;:10;:12::i;:::-;1912:10;:37::i;:::-;4424:9:::1;4419:170;4443:7;;:14;;4439:1;:18;4419:170;;;4547:11;:18;4559:5;4547:18;;;;;;;;;;;;;;;4571:7;;4579:1;4571:10;;;;;;;:::i;:::-;;;;;;;;4547:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4459:3;;;;;:::i;:::-;;;;4419:170;;;;4276:317:::0;;;:::o;1431:151:1:-;1521:7;1547:28;1569:5;1547:12;:18;1560:4;1547:18;;;;;;;;;;;:21;;:28;;;;:::i;:::-;1540:35;;1431:151;;;;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2597:992:11:-;1912:37;258:24;1936:12;:10;:12::i;:::-;1912:10;:37::i;:::-;2740:23:::1;2757:5;2740:16;:23::i;:::-;2731:5;:32;;2723:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2848:21;2872:11;:18;2884:5;2872:18;;;;;;;;;;;;;;;2848:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2924:13;2947:26:::0;2990:5:::1;2976:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2947:49;;3050:9;3045:366;3069:4;:11;3065:1;:15;3045:366;;;3095:14;3112:4;3117:1;3112:7;;;;;;;;:::i;:::-;;;;;;;;3095:24;;3170:9;:17;3180:6;3170:17;;;;;;;;;;;;;;;;;;;;;3169:18;:35;;;;;3199:5;3191;:13;3169:35;3165:240;;;3293:6;3274:9;3284:5;3274:16;;;;;;;;:::i;:::-;;;;;;;:25;;;::::0;::::1;3329:4;3309:9;:17;3319:6;3309:17;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;3389:7;;;;;:::i;:::-;;;;3165:240;3087:324;3082:3;;;;;:::i;:::-;;;;3045:366;;;;3416:24;3443:3;;;;;;;;;;;:13;;;3457:5;3464;3443:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3416:54;;3559:3;;;;;;;;;;;3537:47;;3544:5;3537:47;;;3565:9;3576:7;3537:47;;;;;;;:::i;:::-;;;;;;;;2668:921;;;;2597:992:::0;;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;316:48:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1750:140:1:-;1830:7;1856:27;:12;:18;1869:4;1856:18;;;;;;;;;;;:25;:27::i;:::-;1849:34;;1750:140;;;:::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;390:41:11:-;;;;;;;;;;;;;;;;;;;;;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7612:150:9:-;7682:4;7705:50;7710:3;:10;;7746:5;7730:23;;7722:32;;7705:4;:50::i;:::-;7698:57;;7612:150;;;;:::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;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;3335:492:0:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;1978:166:1:-;2065:31;2082:4;2088:7;2065:16;:31::i;:::-;2106;2129:7;2106:12;:18;2119:4;2106:18;;;;;;;;;;;:22;;:31;;;;:::i;:::-;;1978:166;;:::o;2233:171::-;2321:32;2339:4;2345:7;2321:17;:32::i;:::-;2363:34;2389:7;2363:12;:18;2376:4;2363:18;;;;;;;;;;;:25;;:34;;;;:::i;:::-;;2233:171;;:::o;8870:156:9:-;8944:7;8994:22;8998:3;:10;;9010:5;8994:3;:22::i;:::-;8986:31;;8963:56;;8870:156;;;;:::o;8413:115::-;8476:7;8502:19;8510:3;:10;;8502:7;:19::i;:::-;8495:26;;8413:115;;;:::o;1697:404::-;1760:4;1781:21;1791:3;1796:5;1781:9;:21::i;:::-;1776:319;;1818:3;:11;;1835:5;1818:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:3;:11;;:18;;;;1976:3;:12;;:19;1989:5;1976:19;;;;;;;;;;;:40;;;;2037:4;2030:11;;;;1776:319;2079:5;2072:12;;1697:404;;;;;:::o;829:155:7:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;1588:441:6:-;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;7219:234:0:-;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;7930:156:9:-;8003:4;8026:53;8034:3;:10;;8070:5;8054:23;;8046:32;;8026:7;:53::i;:::-;8019:60;;7930:156;;;;:::o;4395:118::-;4462:7;4488:3;:11;;4500:5;4488:18;;;;;;;;:::i;:::-;;;;;;;;;;4481:25;;4395:118;;;;:::o;3946:107::-;4002:7;4028:3;:11;;:18;;;;4021:25;;3946:107;;;:::o;3738:127::-;3811:4;3857:1;3834:3;:12;;:19;3847:5;3834:19;;;;;;;;;;;;:24;;3827:31;;3738:127;;;;:::o;2269:1388::-;2335:4;2451:18;2472:3;:12;;:19;2485:5;2472:19;;;;;;;;;;;;2451:40;;2520:1;2506:10;:15;2502:1149;;2875:21;2912:1;2899:10;:14;;;;:::i;:::-;2875:38;;2927:17;2968:1;2947:3;:11;;:18;;;;:22;;;;:::i;:::-;2927:42;;3001:13;2988:9;:26;2984:398;;3034:17;3054:3;:11;;3066:9;3054:22;;;;;;;;:::i;:::-;;;;;;;;;;3034:42;;3205:9;3176:3;:11;;3188:13;3176:26;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;3314:10;3288:3;:12;;:23;3301:9;3288:23;;;;;;;;;;;:36;;;;3016:366;2984:398;3460:3;:11;;:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3552:3;:12;;:19;3565:5;3552:19;;;;;;;;;;;3545:26;;;3593:4;3586:11;;;;;;;2502:1149;3635:5;3628:12;;;2269:1388;;;;;:::o;7:75:12:-;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:126::-;1555:7;1595:42;1588:5;1584:54;1573:65;;1518:126;;;:::o;1650:96::-;1687:7;1716:24;1734:5;1716:24;:::i;:::-;1705:35;;1650:96;;;:::o;1752:122::-;1825:24;1843:5;1825:24;:::i;:::-;1818:5;1815:35;1805:63;;1864:1;1861;1854:12;1805:63;1752:122;:::o;1880:139::-;1926:5;1964:6;1951:20;1942:29;;1980:33;2007:5;1980:33;:::i;:::-;1880:139;;;;:::o;2025:329::-;2084:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:119;;;2139:79;;:::i;:::-;2101:119;2259:1;2284:53;2329:7;2320:6;2309:9;2305:22;2284:53;:::i;:::-;2274:63;;2230:117;2025:329;;;;:::o;2360:114::-;2427:6;2461:5;2455:12;2445:22;;2360:114;;;:::o;2480:184::-;2579:11;2613:6;2608:3;2601:19;2653:4;2648:3;2644:14;2629:29;;2480:184;;;;:::o;2670:132::-;2737:4;2760:3;2752:11;;2790:4;2785:3;2781:14;2773:22;;2670:132;;;:::o;2808:77::-;2845:7;2874:5;2863:16;;2808:77;;;:::o;2891:108::-;2968:24;2986:5;2968:24;:::i;:::-;2963:3;2956:37;2891:108;;:::o;3005:179::-;3074:10;3095:46;3137:3;3129:6;3095:46;:::i;:::-;3173:4;3168:3;3164:14;3150:28;;3005:179;;;;:::o;3190:113::-;3260:4;3292;3287:3;3283:14;3275:22;;3190:113;;;:::o;3339:732::-;3458:3;3487:54;3535:5;3487:54;:::i;:::-;3557:86;3636:6;3631:3;3557:86;:::i;:::-;3550:93;;3667:56;3717:5;3667:56;:::i;:::-;3746:7;3777:1;3762:284;3787:6;3784:1;3781:13;3762:284;;;3863:6;3857:13;3890:63;3949:3;3934:13;3890:63;:::i;:::-;3883:70;;3976:60;4029:6;3976:60;:::i;:::-;3966:70;;3822:224;3809:1;3806;3802:9;3797:14;;3762:284;;;3766:14;4062:3;4055:10;;3463:608;;;3339:732;;;;:::o;4077:373::-;4220:4;4258:2;4247:9;4243:18;4235:26;;4307:9;4301:4;4297:20;4293:1;4282:9;4278:17;4271:47;4335:108;4438:4;4429:6;4335:108;:::i;:::-;4327:116;;4077:373;;;;:::o;4456:118::-;4543:24;4561:5;4543:24;:::i;:::-;4538:3;4531:37;4456:118;;:::o;4580:222::-;4673:4;4711:2;4700:9;4696:18;4688:26;;4724:71;4792:1;4781:9;4777:17;4768:6;4724:71;:::i;:::-;4580:222;;;;:::o;4808:77::-;4845:7;4874:5;4863:16;;4808:77;;;:::o;4891:122::-;4964:24;4982:5;4964:24;:::i;:::-;4957:5;4954:35;4944:63;;5003:1;5000;4993:12;4944:63;4891:122;:::o;5019:139::-;5065:5;5103:6;5090:20;5081:29;;5119:33;5146:5;5119:33;:::i;:::-;5019:139;;;;:::o;5164:329::-;5223:6;5272:2;5260:9;5251:7;5247:23;5243:32;5240:119;;;5278:79;;:::i;:::-;5240:119;5398:1;5423:53;5468:7;5459:6;5448:9;5444:22;5423:53;:::i;:::-;5413:63;;5369:117;5164:329;;;;:::o;5499:118::-;5586:24;5604:5;5586:24;:::i;:::-;5581:3;5574:37;5499:118;;:::o;5623:222::-;5716:4;5754:2;5743:9;5739:18;5731:26;;5767:71;5835:1;5824:9;5820:17;5811:6;5767:71;:::i;:::-;5623:222;;;;:::o;5851:474::-;5919:6;5927;5976:2;5964:9;5955:7;5951:23;5947:32;5944:119;;;5982:79;;:::i;:::-;5944:119;6102:1;6127:53;6172:7;6163:6;6152:9;6148:22;6127:53;:::i;:::-;6117:63;;6073:117;6229:2;6255:53;6300:7;6291:6;6280:9;6276:22;6255:53;:::i;:::-;6245:63;;6200:118;5851:474;;;;;:::o;6331:60::-;6359:3;6380:5;6373:12;;6331:60;;;:::o;6397:142::-;6447:9;6480:53;6498:34;6507:24;6525:5;6507:24;:::i;:::-;6498:34;:::i;:::-;6480:53;:::i;:::-;6467:66;;6397:142;;;:::o;6545:126::-;6595:9;6628:37;6659:5;6628:37;:::i;:::-;6615:50;;6545:126;;;:::o;6677:144::-;6745:9;6778:37;6809:5;6778:37;:::i;:::-;6765:50;;6677:144;;;:::o;6827:167::-;6932:55;6981:5;6932:55;:::i;:::-;6927:3;6920:68;6827:167;;:::o;7000:258::-;7111:4;7149:2;7138:9;7134:18;7126:26;;7162:89;7248:1;7237:9;7233:17;7224:6;7162:89;:::i;:::-;7000:258;;;;:::o;7264:117::-;7373:1;7370;7363:12;7387:117;7496:1;7493;7486:12;7510:117;7619:1;7616;7609:12;7650:568;7723:8;7733:6;7783:3;7776:4;7768:6;7764:17;7760:27;7750:122;;7791:79;;:::i;:::-;7750:122;7904:6;7891:20;7881:30;;7934:18;7926:6;7923:30;7920:117;;;7956:79;;:::i;:::-;7920:117;8070:4;8062:6;8058:17;8046:29;;8124:3;8116:4;8108:6;8104:17;8094:8;8090:32;8087:41;8084:128;;;8131:79;;:::i;:::-;8084:128;7650:568;;;;;:::o;8224:704::-;8319:6;8327;8335;8384:2;8372:9;8363:7;8359:23;8355:32;8352:119;;;8390:79;;:::i;:::-;8352:119;8510:1;8535:53;8580:7;8571:6;8560:9;8556:22;8535:53;:::i;:::-;8525:63;;8481:117;8665:2;8654:9;8650:18;8637:32;8696:18;8688:6;8685:30;8682:117;;;8718:79;;:::i;:::-;8682:117;8831:80;8903:7;8894:6;8883:9;8879:22;8831:80;:::i;:::-;8813:98;;;;8608:313;8224:704;;;;;:::o;8934:122::-;9007:24;9025:5;9007:24;:::i;:::-;9000:5;8997:35;8987:63;;9046:1;9043;9036:12;8987:63;8934:122;:::o;9062:139::-;9108:5;9146:6;9133:20;9124:29;;9162:33;9189:5;9162:33;:::i;:::-;9062:139;;;;:::o;9207:474::-;9275:6;9283;9332:2;9320:9;9311:7;9307:23;9303:32;9300:119;;;9338:79;;:::i;:::-;9300:119;9458:1;9483:53;9528:7;9519:6;9508:9;9504:22;9483:53;:::i;:::-;9473:63;;9429:117;9585:2;9611:53;9656:7;9647:6;9636:9;9632:22;9611:53;:::i;:::-;9601:63;;9556:118;9207:474;;;;;:::o;9687:118::-;9774:24;9792:5;9774:24;:::i;:::-;9769:3;9762:37;9687:118;;:::o;9811:222::-;9904:4;9942:2;9931:9;9927:18;9919:26;;9955:71;10023:1;10012:9;10008:17;9999:6;9955:71;:::i;:::-;9811:222;;;;:::o;10039:474::-;10107:6;10115;10164:2;10152:9;10143:7;10139:23;10135:32;10132:119;;;10170:79;;:::i;:::-;10132:119;10290:1;10315:53;10360:7;10351:6;10340:9;10336:22;10315:53;:::i;:::-;10305:63;;10261:117;10417:2;10443:53;10488:7;10479:6;10468:9;10464:22;10443:53;:::i;:::-;10433:63;;10388:118;10039:474;;;;;:::o;10519:329::-;10578:6;10627:2;10615:9;10606:7;10602:23;10598:32;10595:119;;;10633:79;;:::i;:::-;10595:119;10753:1;10778:53;10823:7;10814:6;10803:9;10799:22;10778:53;:::i;:::-;10768:63;;10724:117;10519:329;;;;:::o;10854:180::-;10902:77;10899:1;10892:88;10999:4;10996:1;10989:15;11023:4;11020:1;11013:15;11040:180;11088:77;11085:1;11078:88;11185:4;11182:1;11175:15;11209:4;11206:1;11199:15;11226:180;11274:77;11271:1;11264:88;11371:4;11368:1;11361:15;11395:4;11392:1;11385:15;11412:233;11451:3;11474:24;11492:5;11474:24;:::i;:::-;11465:33;;11520:66;11513:5;11510:77;11507:103;;;11590:18;;:::i;:::-;11507:103;11637:1;11630:5;11626:13;11619:20;;11412:233;;;:::o;11651:169::-;11735:11;11769:6;11764:3;11757:19;11809:4;11804:3;11800:14;11785:29;;11651:169;;;;:::o;11826:234::-;11966:34;11962:1;11954:6;11950:14;11943:58;12035:17;12030:2;12022:6;12018:15;12011:42;11826:234;:::o;12066:366::-;12208:3;12229:67;12293:2;12288:3;12229:67;:::i;:::-;12222:74;;12305:93;12394:3;12305:93;:::i;:::-;12423:2;12418:3;12414:12;12407:19;;12066:366;;;:::o;12438:419::-;12604:4;12642:2;12631:9;12627:18;12619:26;;12691:9;12685:4;12681:20;12677:1;12666:9;12662:17;12655:47;12719:131;12845:4;12719:131;:::i;:::-;12711:139;;12438:419;;;:::o;12863:178::-;13003:30;12999:1;12991:6;12987:14;12980:54;12863:178;:::o;13047:366::-;13189:3;13210:67;13274:2;13269:3;13210:67;:::i;:::-;13203:74;;13286:93;13375:3;13286:93;:::i;:::-;13404:2;13399:3;13395:12;13388:19;;13047:366;;;:::o;13419:419::-;13585:4;13623:2;13612:9;13608:18;13600:26;;13672:9;13666:4;13662:20;13658:1;13647:9;13643:17;13636:47;13700:131;13826:4;13700:131;:::i;:::-;13692:139;;13419:419;;;:::o;13844:332::-;13965:4;14003:2;13992:9;13988:18;13980:26;;14016:71;14084:1;14073:9;14069:17;14060:6;14016:71;:::i;:::-;14097:72;14165:2;14154:9;14150:18;14141:6;14097:72;:::i;:::-;13844:332;;;;;:::o;14182:102::-;14223:6;14274:2;14270:7;14265:2;14258:5;14254:14;14250:28;14240:38;;14182:102;;;:::o;14290:281::-;14373:27;14395:4;14373:27;:::i;:::-;14365:6;14361:40;14503:6;14491:10;14488:22;14467:18;14455:10;14452:34;14449:62;14446:88;;;14514:18;;:::i;:::-;14446:88;14554:10;14550:2;14543:22;14333:238;14290:281;;:::o;14577:129::-;14611:6;14638:20;;:::i;:::-;14628:30;;14667:33;14695:4;14687:6;14667:33;:::i;:::-;14577:129;;;:::o;14712:311::-;14789:4;14879:18;14871:6;14868:30;14865:56;;;14901:18;;:::i;:::-;14865:56;14951:4;14943:6;14939:17;14931:25;;15011:4;15005;15001:15;14993:23;;14712:311;;;:::o;15029:143::-;15086:5;15117:6;15111:13;15102:22;;15133:33;15160:5;15133:33;:::i;:::-;15029:143;;;;:::o;15195:732::-;15302:5;15327:81;15343:64;15400:6;15343:64;:::i;:::-;15327:81;:::i;:::-;15318:90;;15428:5;15457:6;15450:5;15443:21;15491:4;15484:5;15480:16;15473:23;;15544:4;15536:6;15532:17;15524:6;15520:30;15573:3;15565:6;15562:15;15559:122;;;15592:79;;:::i;:::-;15559:122;15707:6;15690:231;15724:6;15719:3;15716:15;15690:231;;;15799:3;15828:48;15872:3;15860:10;15828:48;:::i;:::-;15823:3;15816:61;15906:4;15901:3;15897:14;15890:21;;15766:155;15750:4;15745:3;15741:14;15734:21;;15690:231;;;15694:21;15308:619;;15195:732;;;;;:::o;15950:385::-;16032:5;16081:3;16074:4;16066:6;16062:17;16058:27;16048:122;;16089:79;;:::i;:::-;16048:122;16199:6;16193:13;16224:105;16325:3;16317:6;16310:4;16302:6;16298:17;16224:105;:::i;:::-;16215:114;;16038:297;15950:385;;;;:::o;16341:554::-;16436:6;16485:2;16473:9;16464:7;16460:23;16456:32;16453:119;;;16491:79;;:::i;:::-;16453:119;16632:1;16621:9;16617:17;16611:24;16662:18;16654:6;16651:30;16648:117;;;16684:79;;:::i;:::-;16648:117;16789:89;16870:7;16861:6;16850:9;16846:22;16789:89;:::i;:::-;16779:99;;16582:306;16341:554;;;;:::o;16901:634::-;17122:4;17160:2;17149:9;17145:18;17137:26;;17209:9;17203:4;17199:20;17195:1;17184:9;17180:17;17173:47;17237:108;17340:4;17331:6;17237:108;:::i;:::-;17229:116;;17392:9;17386:4;17382:20;17377:2;17366:9;17362:18;17355:48;17420:108;17523:4;17514:6;17420:108;:::i;:::-;17412:116;;16901:634;;;;;:::o;17541:148::-;17643:11;17680:3;17665:18;;17541:148;;;;:::o;17695:173::-;17835:25;17831:1;17823:6;17819:14;17812:49;17695:173;:::o;17874:402::-;18034:3;18055:85;18137:2;18132:3;18055:85;:::i;:::-;18048:92;;18149:93;18238:3;18149:93;:::i;:::-;18267:2;18262:3;18258:12;18251:19;;17874:402;;;:::o;18282:99::-;18334:6;18368:5;18362:12;18352:22;;18282:99;;;:::o;18387:307::-;18455:1;18465:113;18479:6;18476:1;18473:13;18465:113;;;18564:1;18559:3;18555:11;18549:18;18545:1;18540:3;18536:11;18529:39;18501:2;18498:1;18494:10;18489:15;;18465:113;;;18596:6;18593:1;18590:13;18587:101;;;18676:1;18667:6;18662:3;18658:16;18651:27;18587:101;18436:258;18387:307;;;:::o;18700:377::-;18806:3;18834:39;18867:5;18834:39;:::i;:::-;18889:89;18971:6;18966:3;18889:89;:::i;:::-;18882:96;;18987:52;19032:6;19027:3;19020:4;19013:5;19009:16;18987:52;:::i;:::-;19064:6;19059:3;19055:16;19048:23;;18810:267;18700:377;;;;:::o;19083:167::-;19223:19;19219:1;19211:6;19207:14;19200:43;19083:167;:::o;19256:402::-;19416:3;19437:85;19519:2;19514:3;19437:85;:::i;:::-;19430:92;;19531:93;19620:3;19531:93;:::i;:::-;19649:2;19644:3;19640:12;19633:19;;19256:402;;;:::o;19664:967::-;20046:3;20068:148;20212:3;20068:148;:::i;:::-;20061:155;;20233:95;20324:3;20315:6;20233:95;:::i;:::-;20226:102;;20345:148;20489:3;20345:148;:::i;:::-;20338:155;;20510:95;20601:3;20592:6;20510:95;:::i;:::-;20503:102;;20622:3;20615:10;;19664:967;;;;;:::o;20637:364::-;20725:3;20753:39;20786:5;20753:39;:::i;:::-;20808:71;20872:6;20867:3;20808:71;:::i;:::-;20801:78;;20888:52;20933:6;20928:3;20921:4;20914:5;20910:16;20888:52;:::i;:::-;20965:29;20987:6;20965:29;:::i;:::-;20960:3;20956:39;20949:46;;20729:272;20637:364;;;;:::o;21007:313::-;21120:4;21158:2;21147:9;21143:18;21135:26;;21207:9;21201:4;21197:20;21193:1;21182:9;21178:17;21171:47;21235:78;21308:4;21299:6;21235:78;:::i;:::-;21227:86;;21007:313;;;;:::o;21326:348::-;21366:7;21389:20;21407:1;21389:20;:::i;:::-;21384:25;;21423:20;21441:1;21423:20;:::i;:::-;21418:25;;21611:1;21543:66;21539:74;21536:1;21533:81;21528:1;21521:9;21514:17;21510:105;21507:131;;;21618:18;;:::i;:::-;21507:131;21666:1;21663;21659:9;21648:20;;21326:348;;;;:::o;21680:305::-;21720:3;21739:20;21757:1;21739:20;:::i;:::-;21734:25;;21773:20;21791:1;21773:20;:::i;:::-;21768:25;;21927:1;21859:66;21855:74;21852:1;21849:81;21846:107;;;21933:18;;:::i;:::-;21846:107;21977:1;21974;21970:9;21963:16;;21680:305;;;;:::o;21991:171::-;22030:3;22053:24;22071:5;22053:24;:::i;:::-;22044:33;;22099:4;22092:5;22089:15;22086:41;;;22107:18;;:::i;:::-;22086:41;22154:1;22147:5;22143:13;22136:20;;21991:171;;;:::o;22168:182::-;22308:34;22304:1;22296:6;22292:14;22285:58;22168:182;:::o;22356:366::-;22498:3;22519:67;22583:2;22578:3;22519:67;:::i;:::-;22512:74;;22595:93;22684:3;22595:93;:::i;:::-;22713:2;22708:3;22704:12;22697:19;;22356:366;;;:::o;22728:419::-;22894:4;22932:2;22921:9;22917:18;22909:26;;22981:9;22975:4;22971:20;22967:1;22956:9;22952:17;22945:47;23009:131;23135:4;23009:131;:::i;:::-;23001:139;;22728:419;;;:::o;23153:191::-;23193:4;23213:20;23231:1;23213:20;:::i;:::-;23208:25;;23247:20;23265:1;23247:20;:::i;:::-;23242:25;;23286:1;23283;23280:8;23277:34;;;23291:18;;:::i;:::-;23277:34;23336:1;23333;23329:9;23321:17;;23153:191;;;;:::o;23350:180::-;23398:77;23395:1;23388:88;23495:4;23492:1;23485:15;23519:4;23516:1;23509:15", - "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"@openzeppelin/contracts/access/AccessControlEnumerable.sol\";\nimport \"../interfaces/IBEERC721.sol\";\n\ncontract NftDistributor is AccessControlEnumerable {\n bytes32 public constant MANAGE_ROLE = keccak256(\"MANAGE_ROLE\");\n\n // user address => nft ids\n mapping(address => uint256[]) public ownerToNFTs;\n // nft id => minted\n mapping(uint256 => bool) public nftMinted;\n\n IBEERC721 public nft;\n\n event Minted(\n address indexed user,\n address indexed nft,\n uint256[] nftSIds,\n uint256[] nftTIds\n );\n\n /**\n * @dev Contract constructor.\n *\n * Initializes the contract with the specified addresses and sets the admin and management roles.\n *\n * Parameters:\n * - _nftTarget: The address of NFT that will be minted by this contract. Need MINTER_ROLE\n * - _nftSource: The address of the source NFT that will check if user has mint permission.\n * - _manageAddress: The address that will have the MANAGE_ROLE assigned.\n */\n constructor(address _nftTarget, address[] memory _manageAddress) {\n // Set up the ADMIN_ROLE and MANAGE_ROLE\n _setRoleAdmin(MANAGE_ROLE, DEFAULT_ADMIN_ROLE);\n\n // Grant the ADMIN_ROLE to the deployer and to the contract itself\n _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n\n // Grant the MANAGE_ROLE to the specified address\n for (uint256 i = 0; i < _manageAddress.length; ++i) {\n _setupRole(MANAGE_ROLE, _manageAddress[i]);\n }\n\n // Initialize the nft contract with IBEERC721 interface\n nft = IBEERC721(_nftTarget);\n }\n\n /**\n * @dev Modifier that checks if the caller has the MANAGE_ROLE.\n *\n * The function uses the _checkRole() function from the AccessControl library.\n * If the check is successful, the code defined by the function that uses this modifier is executed.\n */\n modifier onlyManager() {\n // Check if the caller has the MANAGE_ROLE\n _checkRole(MANAGE_ROLE, _msgSender());\n // If the check is successful, execute the code in the function that uses this modifier\n _;\n }\n\n /**\n * @dev The mintToUser function mints NFTs to a given user.\n *\n * Only functions called by an address with the MANAGE_ROLE permission can access this function.\n * The function takes an array of nftIds and checks that there are enough mintable NFTs for the user.\n * It then loops through the user's owned NFTs, checking if each is mintable, and if so, adds it to a list to be minted.\n * Then it emits the Minted event with details of the operation.\n *\n * @param _user - The address of the user receiving the NFTs\n */\n function mintToUser(address _user, uint256 count) external onlyManager {\n // Check that there are enough mintable NFTs\n require(count <= getMintableCount(_user), \"Mintable count is not enough\");\n // Get the array of the user's owned NFTs\n uint256[] memory nfts = ownerToNFTs[_user];\n // Initialize variables\n uint256 index = 0;\n uint256[] memory nftSource = new uint256[](count);\n\n // Loop through the user's owned NFTs\n for (uint256 i = 0; i < nfts.length; i++) {\n uint256 nftSId = nfts[i];\n // Check if the NFT is mintable\n if (!nftMinted[nftSId] && index < count) {\n // Add the NFT's source ID to the list of sources\n nftSource[index] = nftSId;\n nftMinted[nftSId] = true;\n // Mint the NFT to the user's address\n index++;\n }\n }\n uint256[] memory _nftIds = nft.batchMint(_user, count);\n // Emit event with details of the minting operation\n emit Minted(_user, address(nft), nftSource, _nftIds);\n }\n\n /**\n * @dev The addNFTData function adds an array of NFT IDs to the list of NFT IDs owned by a user.\n * mintToUser method would check if target user had permission to mint NFTs.\n *\n * Only functions called by an address with the MANAGE_ROLE permission can access this function.\n * The function takes in the address of the user and an array of NFT IDs. It then loops through the array\n * of NFT IDs, and adds each one to the end of the array of NFTs owned by that user to update their ownership data.\n *\n * @param _user - The address of the user being updated with new NFT data\n * @param _nftIds - An array of NFT IDs being added to the user's NFT data\n */\n function addNFTData(\n address _user,\n uint256[] calldata _nftIds\n ) external onlyManager {\n // Loop through the array of NFT IDs\n for (uint256 i = 0; i < _nftIds.length; i++) {\n // Add each NFT ID to the end of the array of NFTs owned by the user\n ownerToNFTs[_user].push(_nftIds[i]);\n }\n }\n\n /**\n * @dev The getMintableCount function gets the number of NFTs owned by a user that have not yet been minted.\n *\n * This is a read-only function, meaning it doesn't modify the state of the blockchain.\n * It takes in the address of the user whose mintable count is being determined,\n * and returns the number of NFTs owned by the user that have not yet been minted.\n *\n * @param _user - The address of the user whose mintable count is being determined\n * @return count - The number of NFTs owned by the user that have not yet been minted\n */\n function getMintableCount(address _user) public view returns (uint256) {\n // Get an array of all NFT IDs owned by the user\n uint256[] memory nfts = ownerToNFTs[_user];\n // Initialize count to zero\n uint256 count = 0;\n // Loop through the array of NFT IDs\n for (uint256 i = 0; i < nfts.length; i++) {\n // Get the NFT ID at this index of the loop\n uint256 nftAId = nfts[i];\n // Check if the NFT has not yet been minted\n if (!nftMinted[nftAId]) {\n // If the NFT has not yet been minted, increment the mintable count\n count++;\n }\n }\n // Return the final mintable count\n return count;\n }\n\n /**\n * @dev The getMintableNftIds function gets an array of NFT IDs owned by a user that have not yet been minted.\n *\n * This is a read-only function, meaning it doesn't modify the state of the blockchain.\n * It takes in the address of the user whose mintable NFT IDs are being determined,\n * and returns an array of the NFT IDs owned by the user that have not yet been minted.\n *\n * @param _user - The address of the user whose mintable NFT IDs are being determined\n * @return mintableNftIds - An array of the NFT IDs owned by the user that have not yet been minted\n */\n function getMintableNftIds(\n address _user\n ) external view returns (uint256[] memory) {\n // Get an array of all NFT IDs owned by the user\n uint256[] memory nfts = ownerToNFTs[_user];\n // Initialize an array for mintable NFT IDs with the same length as the array of all NFT IDs\n uint256[] memory mintableNftIds = new uint256[](nfts.length);\n // Initialize an index counter to zero\n uint256 index = 0;\n // Loop through the array of NFT IDs\n for (uint256 i = 0; i < nfts.length; i++) {\n // Get the NFT ID at this index of the loop\n uint256 nftId = nfts[i];\n // Check if the NFT has not yet been minted\n if (!nftMinted[nftId]) {\n // If the NFT has not yet been minted, add it to the mintable NFT IDs array\n mintableNftIds[index] = nftId;\n // Increment the index counter\n index++;\n }\n }\n // Return the array of mintable NFT IDs\n return mintableNftIds;\n }\n}\n", + "sourceMap": "165:7519:11:-:0;;;515:4;494:25;;;;;;;;;;;;;;;;;;;;1122:552;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1238:46;258:24;2072:4:0;1265:18:11;;1238:13;;;:46;;:::i;:::-;1362:44;2072:4:0;1373:18:11;;1393:12;:10;;;:12;;:::i;:::-;1362:10;;;:44;;:::i;:::-;1472:9;1467:109;1491:14;:21;1487:1;:25;1467:109;;;1527:42;258:24;1551:14;1566:1;1551:17;;;;;;;;:::i;:::-;;;;;;;;1527:10;;;:42;;:::i;:::-;1514:3;;;;:::i;:::-;;;1467:109;;;;1658:10;1642:3;;:27;;;;;;;;;;;;;;;;;;1122:552;;165:7519;;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;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;6257:110:0:-;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;1978:166:1:-;2065:31;2082:4;2088:7;2065:16;;;;;:31;;:::i;:::-;2106;2129:7;2106:12;:18;2119:4;2106:18;;;;;;;;;;;:22;;;;;;:31;;;;:::i;:::-;;1978:166;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7612:150:9:-;7682:4;7705:50;7710:3;:10;;7746:5;7730:23;;7722:32;;7705:4;;;:50;;:::i;:::-;7698:57;;7612:150;;;;:::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:404:9:-;1760:4;1781:21;1791:3;1796:5;1781:9;;;:21;;:::i;:::-;1776:319;;1818:3;:11;;1835:5;1818:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:3;:11;;:18;;;;1976:3;:12;;:19;1989:5;1976:19;;;;;;;;;;;:40;;;;2037:4;2030:11;;;;1776:319;2079:5;2072:12;;1697:404;;;;;:::o;3738:127::-;3811:4;3857:1;3834:3;:12;;:19;3847:5;3834:19;;;;;;;;;;;;:24;;3827:31;;3738:127;;;;:::o;7:75:12:-;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:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:117::-;954:1;951;944:12;968:102;1009:6;1060:2;1056:7;1051:2;1044:5;1040:14;1036:28;1026:38;;968:102;;;:::o;1076:180::-;1124:77;1121:1;1114:88;1221:4;1218:1;1211:15;1245:4;1242:1;1235:15;1262:281;1345:27;1367:4;1345:27;:::i;:::-;1337:6;1333:40;1475:6;1463:10;1460:22;1439:18;1427:10;1424:34;1421:62;1418:88;;;1486:18;;:::i;:::-;1418:88;1526:10;1522:2;1515:22;1305:238;1262:281;;:::o;1549:129::-;1583:6;1610:20;;:::i;:::-;1600:30;;1639:33;1667:4;1659:6;1639:33;:::i;:::-;1549:129;;;:::o;1684:311::-;1761:4;1851:18;1843:6;1840:30;1837:56;;;1873:18;;:::i;:::-;1837:56;1923:4;1915:6;1911:17;1903:25;;1983:4;1977;1973:15;1965:23;;1684:311;;;:::o;2001:117::-;2110:1;2107;2100:12;2141:732;2248:5;2273:81;2289:64;2346:6;2289:64;:::i;:::-;2273:81;:::i;:::-;2264:90;;2374:5;2403:6;2396:5;2389:21;2437:4;2430:5;2426:16;2419:23;;2490:4;2482:6;2478:17;2470:6;2466:30;2519:3;2511:6;2508:15;2505:122;;;2538:79;;:::i;:::-;2505:122;2653:6;2636:231;2670:6;2665:3;2662:15;2636:231;;;2745:3;2774:48;2818:3;2806:10;2774:48;:::i;:::-;2769:3;2762:61;2852:4;2847:3;2843:14;2836:21;;2712:155;2696:4;2691:3;2687:14;2680:21;;2636:231;;;2640:21;2254:619;;2141:732;;;;;:::o;2896:385::-;2978:5;3027:3;3020:4;3012:6;3008:17;3004:27;2994:122;;3035:79;;:::i;:::-;2994:122;3145:6;3139:13;3170:105;3271:3;3263:6;3256:4;3248:6;3244:17;3170:105;:::i;:::-;3161:114;;2984:297;2896:385;;;;:::o;3287:710::-;3391:6;3399;3448:2;3436:9;3427:7;3423:23;3419:32;3416:119;;;3454:79;;:::i;:::-;3416:119;3574:1;3599:64;3655:7;3646:6;3635:9;3631:22;3599:64;:::i;:::-;3589:74;;3545:128;3733:2;3722:9;3718:18;3712:25;3764:18;3756:6;3753:30;3750:117;;;3786:79;;:::i;:::-;3750:117;3891:89;3972:7;3963:6;3952:9;3948:22;3891:89;:::i;:::-;3881:99;;3683:307;3287:710;;;;;:::o;4003:180::-;4051:77;4048:1;4041:88;4148:4;4145:1;4138:15;4172:4;4169:1;4162:15;4189:180;4237:77;4234:1;4227:88;4334:4;4331:1;4324:15;4358:4;4355:1;4348:15;4375:77;4412:7;4441:5;4430:16;;4375:77;;;:::o;4458:233::-;4497:3;4520:24;4538:5;4520:24;:::i;:::-;4511:33;;4566:66;4559:5;4556:77;4553:103;;;4636:18;;:::i;:::-;4553:103;4683:1;4676:5;4672:13;4665:20;;4458:233;;;:::o;165:7519:11:-;;;;;;;", + "deployedSourceMap": "165:7519:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;634:212:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6741:941:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5497:649;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2166:171:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4387:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;494:25:11;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;436:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;220:62;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4612:317;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1431:151:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2881:1044:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2027:49:0;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;316:48:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1750:140:1;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;390:41:11;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;634:212:1;719:4;757:42;742:57;;;:11;:57;;;;:97;;;;803:36;827:11;803:23;:36::i;:::-;742:97;735:104;;634:212;;;:::o;6741:941:11:-;6814:16;6891:21;6915:11;:18;6927:5;6915:18;;;;;;;;;;;;;;;6891:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7036:31;7084:4;:11;7070:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7036:60;;7145:13;7214:9;7209:398;7233:4;:11;7229:1;:15;7209:398;;;7309:13;7325:4;7330:1;7325:7;;;;;;;;:::i;:::-;;;;;;;;7309:23;;7395:9;:16;7405:5;7395:16;;;;;;;;;;;;;;;;;;;;;7390:211;;7531:5;7507:14;7522:5;7507:21;;;;;;;;:::i;:::-;;;;;;;:29;;;;;7585:7;;;;;:::i;:::-;;;;7390:211;7251:356;7246:3;;;;;:::i;:::-;;;;7209:398;;;;7663:14;7656:21;;;;;6741:941;;;:::o;5497:649::-;5559:7;5627:21;5651:11;:18;5663:5;5651:18;;;;;;;;;;;;;;;5627:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5707:13;5776:9;5771:314;5795:4;:11;5791:1;:15;5771:314;;;5871:14;5888:4;5893:1;5888:7;;;;;;;;:::i;:::-;;;;;;;;5871:24;;5958:9;:17;5968:6;5958:17;;;;;;;;;;;;;;;;;;;;;5953:126;;6063:7;;;;;:::i;:::-;;;;5953:126;5813:272;5808:3;;;;;:::i;:::-;;;;5771:314;;;;6136:5;6129:12;;;;5497:649;;;:::o;4008:129:0:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;2166:171:11:-;2021:37;258:24;2045:12;:10;:12::i;:::-;2021:10;:37::i;:::-;2249:5:::1;2239:15;;:6;;;;;;;;;;;:15;;;;2231:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;2293:5;2284:6;;:14;;;;;;;;;;;;;;;;;;2326:5;2309:23;;;;;;;;;;;;2166:171:::0;:::o;4387:145:0:-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;5404:214::-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;494:25:11:-;;;;;;;;;;;;;:::o;436:20::-;;;;;;;;;;;;;:::o;220:62::-;258:24;220:62;:::o;4612:317::-;2021:37;258:24;2045:12;:10;:12::i;:::-;2021:10;:37::i;:::-;4760:9:::1;4755:170;4779:7;;:14;;4775:1;:18;4755:170;;;4883:11;:18;4895:5;4883:18;;;;;;;;;;;;;;;4907:7;;4915:1;4907:10;;;;;;;:::i;:::-;;;;;;;;4883:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4795:3;;;;;:::i;:::-;;;;4755:170;;;;4612:317:::0;;;:::o;1431:151:1:-;1521:7;1547:28;1569:5;1547:12;:18;1560:4;1547:18;;;;;;;;;;;:21;;:28;;;;:::i;:::-;1540:35;;1431:151;;;;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2881:1044:11:-;2021:37;258:24;2045:12;:10;:12::i;:::-;2021:10;:37::i;:::-;2966:6:::1;;;;;;;;;;;2958:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3076:23;3093:5;3076:16;:23::i;:::-;3067:5;:32;;3059:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3184:21;3208:11;:18;3220:5;3208:18;;;;;;;;;;;;;;;3184:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3260:13;3283:26:::0;3326:5:::1;3312:20;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3283:49;;3386:9;3381:366;3405:4;:11;3401:1;:15;3381:366;;;3431:14;3448:4;3453:1;3448:7;;;;;;;;:::i;:::-;;;;;;;;3431:24;;3506:9;:17;3516:6;3506:17;;;;;;;;;;;;;;;;;;;;;3505:18;:35;;;;;3535:5;3527;:13;3505:35;3501:240;;;3629:6;3610:9;3620:5;3610:16;;;;;;;;:::i;:::-;;;;;;;:25;;;::::0;::::1;3665:4;3645:9;:17;3655:6;3645:17;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;3725:7;;;;;:::i;:::-;;;;3501:240;3423:324;3418:3;;;;;:::i;:::-;;;;3381:366;;;;3752:24;3779:3;;;;;;;;;;;:13;;;3793:5;3800;3779:27;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3752:54;;3895:3;;;;;;;;;;;3873:47;;3880:5;3873:47;;;3901:9;3912:7;3873:47;;;;;;;:::i;:::-;;;;;;;;2952:973;;;;2881:1044:::0;;:::o;2027:49:0:-;2072:4;2027:49;;;:::o;316:48:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1750:140:1:-;1830:7;1856:27;:12;:18;1869:4;1856:18;;;;;;;;;;;:25;:27::i;:::-;1849:34;;1750:140;;;:::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;390:41:11:-;;;;;;;;;;;;;;;;;;;;;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7612:150:9:-;7682:4;7705:50;7710:3;:10;;7746:5;7730:23;;7722:32;;7705:4;:50::i;:::-;7698:57;;7612:150;;;;:::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;640:96:5:-;693:7;719:10;712:17;;640:96;:::o;3335:492:0:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;1978:166:1:-;2065:31;2082:4;2088:7;2065:16;:31::i;:::-;2106;2129:7;2106:12;:18;2119:4;2106:18;;;;;;;;;;;:22;;:31;;;;:::i;:::-;;1978:166;;:::o;2233:171::-;2321:32;2339:4;2345:7;2321:17;:32::i;:::-;2363:34;2389:7;2363:12;:18;2376:4;2363:18;;;;;;;;;;;:25;;:34;;;;:::i;:::-;;2233:171;;:::o;8870:156:9:-;8944:7;8994:22;8998:3;:10;;9010:5;8994:3;:22::i;:::-;8986:31;;8963:56;;8870:156;;;;:::o;8413:115::-;8476:7;8502:19;8510:3;:10;;8502:7;:19::i;:::-;8495:26;;8413:115;;;:::o;1697:404::-;1760:4;1781:21;1791:3;1796:5;1781:9;:21::i;:::-;1776:319;;1818:3;:11;;1835:5;1818:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1998:3;:11;;:18;;;;1976:3;:12;;:19;1989:5;1976:19;;;;;;;;;;;:40;;;;2037:4;2030:11;;;;1776:319;2079:5;2072:12;;1697:404;;;;;:::o;829:155:7:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;1588:441:6:-;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;7219:234:0:-;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;7930:156:9:-;8003:4;8026:53;8034:3;:10;;8070:5;8054:23;;8046:32;;8026:7;:53::i;:::-;8019:60;;7930:156;;;;:::o;4395:118::-;4462:7;4488:3;:11;;4500:5;4488:18;;;;;;;;:::i;:::-;;;;;;;;;;4481:25;;4395:118;;;;:::o;3946:107::-;4002:7;4028:3;:11;;:18;;;;4021:25;;3946:107;;;:::o;3738:127::-;3811:4;3857:1;3834:3;:12;;:19;3847:5;3834:19;;;;;;;;;;;;:24;;3827:31;;3738:127;;;;:::o;2269:1388::-;2335:4;2451:18;2472:3;:12;;:19;2485:5;2472:19;;;;;;;;;;;;2451:40;;2520:1;2506:10;:15;2502:1149;;2875:21;2912:1;2899:10;:14;;;;:::i;:::-;2875:38;;2927:17;2968:1;2947:3;:11;;:18;;;;:22;;;;:::i;:::-;2927:42;;3001:13;2988:9;:26;2984:398;;3034:17;3054:3;:11;;3066:9;3054:22;;;;;;;;:::i;:::-;;;;;;;;;;3034:42;;3205:9;3176:3;:11;;3188:13;3176:26;;;;;;;;:::i;:::-;;;;;;;;;:38;;;;3314:10;3288:3;:12;;:23;3301:9;3288:23;;;;;;;;;;;:36;;;;3016:366;2984:398;3460:3;:11;;:17;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3552:3;:12;;:19;3565:5;3552:19;;;;;;;;;;;3545:26;;;3593:4;3586:11;;;;;;;2502:1149;3635:5;3628:12;;;2269:1388;;;;;:::o;7:75:12:-;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:126::-;1555:7;1595:42;1588:5;1584:54;1573:65;;1518:126;;;:::o;1650:96::-;1687:7;1716:24;1734:5;1716:24;:::i;:::-;1705:35;;1650:96;;;:::o;1752:122::-;1825:24;1843:5;1825:24;:::i;:::-;1818:5;1815:35;1805:63;;1864:1;1861;1854:12;1805:63;1752:122;:::o;1880:139::-;1926:5;1964:6;1951:20;1942:29;;1980:33;2007:5;1980:33;:::i;:::-;1880:139;;;;:::o;2025:329::-;2084:6;2133:2;2121:9;2112:7;2108:23;2104:32;2101:119;;;2139:79;;:::i;:::-;2101:119;2259:1;2284:53;2329:7;2320:6;2309:9;2305:22;2284:53;:::i;:::-;2274:63;;2230:117;2025:329;;;;:::o;2360:114::-;2427:6;2461:5;2455:12;2445:22;;2360:114;;;:::o;2480:184::-;2579:11;2613:6;2608:3;2601:19;2653:4;2648:3;2644:14;2629:29;;2480:184;;;;:::o;2670:132::-;2737:4;2760:3;2752:11;;2790:4;2785:3;2781:14;2773:22;;2670:132;;;:::o;2808:77::-;2845:7;2874:5;2863:16;;2808:77;;;:::o;2891:108::-;2968:24;2986:5;2968:24;:::i;:::-;2963:3;2956:37;2891:108;;:::o;3005:179::-;3074:10;3095:46;3137:3;3129:6;3095:46;:::i;:::-;3173:4;3168:3;3164:14;3150:28;;3005:179;;;;:::o;3190:113::-;3260:4;3292;3287:3;3283:14;3275:22;;3190:113;;;:::o;3339:732::-;3458:3;3487:54;3535:5;3487:54;:::i;:::-;3557:86;3636:6;3631:3;3557:86;:::i;:::-;3550:93;;3667:56;3717:5;3667:56;:::i;:::-;3746:7;3777:1;3762:284;3787:6;3784:1;3781:13;3762:284;;;3863:6;3857:13;3890:63;3949:3;3934:13;3890:63;:::i;:::-;3883:70;;3976:60;4029:6;3976:60;:::i;:::-;3966:70;;3822:224;3809:1;3806;3802:9;3797:14;;3762:284;;;3766:14;4062:3;4055:10;;3463:608;;;3339:732;;;;:::o;4077:373::-;4220:4;4258:2;4247:9;4243:18;4235:26;;4307:9;4301:4;4297:20;4293:1;4282:9;4278:17;4271:47;4335:108;4438:4;4429:6;4335:108;:::i;:::-;4327:116;;4077:373;;;;:::o;4456:118::-;4543:24;4561:5;4543:24;:::i;:::-;4538:3;4531:37;4456:118;;:::o;4580:222::-;4673:4;4711:2;4700:9;4696:18;4688:26;;4724:71;4792:1;4781:9;4777:17;4768:6;4724:71;:::i;:::-;4580:222;;;;:::o;4808:77::-;4845:7;4874:5;4863:16;;4808:77;;;:::o;4891:122::-;4964:24;4982:5;4964:24;:::i;:::-;4957:5;4954:35;4944:63;;5003:1;5000;4993:12;4944:63;4891:122;:::o;5019:139::-;5065:5;5103:6;5090:20;5081:29;;5119:33;5146:5;5119:33;:::i;:::-;5019:139;;;;:::o;5164:329::-;5223:6;5272:2;5260:9;5251:7;5247:23;5243:32;5240:119;;;5278:79;;:::i;:::-;5240:119;5398:1;5423:53;5468:7;5459:6;5448:9;5444:22;5423:53;:::i;:::-;5413:63;;5369:117;5164:329;;;;:::o;5499:118::-;5586:24;5604:5;5586:24;:::i;:::-;5581:3;5574:37;5499:118;;:::o;5623:222::-;5716:4;5754:2;5743:9;5739:18;5731:26;;5767:71;5835:1;5824:9;5820:17;5811:6;5767:71;:::i;:::-;5623:222;;;;:::o;5851:116::-;5921:21;5936:5;5921:21;:::i;:::-;5914:5;5911:32;5901:60;;5957:1;5954;5947:12;5901:60;5851:116;:::o;5973:133::-;6016:5;6054:6;6041:20;6032:29;;6070:30;6094:5;6070:30;:::i;:::-;5973:133;;;;:::o;6112:323::-;6168:6;6217:2;6205:9;6196:7;6192:23;6188:32;6185:119;;;6223:79;;:::i;:::-;6185:119;6343:1;6368:50;6410:7;6401:6;6390:9;6386:22;6368:50;:::i;:::-;6358:60;;6314:114;6112:323;;;;:::o;6441:474::-;6509:6;6517;6566:2;6554:9;6545:7;6541:23;6537:32;6534:119;;;6572:79;;:::i;:::-;6534:119;6692:1;6717:53;6762:7;6753:6;6742:9;6738:22;6717:53;:::i;:::-;6707:63;;6663:117;6819:2;6845:53;6890:7;6881:6;6870:9;6866:22;6845:53;:::i;:::-;6835:63;;6790:118;6441:474;;;;;:::o;6921:60::-;6949:3;6970:5;6963:12;;6921:60;;;:::o;6987:142::-;7037:9;7070:53;7088:34;7097:24;7115:5;7097:24;:::i;:::-;7088:34;:::i;:::-;7070:53;:::i;:::-;7057:66;;6987:142;;;:::o;7135:126::-;7185:9;7218:37;7249:5;7218:37;:::i;:::-;7205:50;;7135:126;;;:::o;7267:144::-;7335:9;7368:37;7399:5;7368:37;:::i;:::-;7355:50;;7267:144;;;:::o;7417:167::-;7522:55;7571:5;7522:55;:::i;:::-;7517:3;7510:68;7417:167;;:::o;7590:258::-;7701:4;7739:2;7728:9;7724:18;7716:26;;7752:89;7838:1;7827:9;7823:17;7814:6;7752:89;:::i;:::-;7590:258;;;;:::o;7854:117::-;7963:1;7960;7953:12;7977:117;8086:1;8083;8076:12;8100:117;8209:1;8206;8199:12;8240:568;8313:8;8323:6;8373:3;8366:4;8358:6;8354:17;8350:27;8340:122;;8381:79;;:::i;:::-;8340:122;8494:6;8481:20;8471:30;;8524:18;8516:6;8513:30;8510:117;;;8546:79;;:::i;:::-;8510:117;8660:4;8652:6;8648:17;8636:29;;8714:3;8706:4;8698:6;8694:17;8684:8;8680:32;8677:41;8674:128;;;8721:79;;:::i;:::-;8674:128;8240:568;;;;;:::o;8814:704::-;8909:6;8917;8925;8974:2;8962:9;8953:7;8949:23;8945:32;8942:119;;;8980:79;;:::i;:::-;8942:119;9100:1;9125:53;9170:7;9161:6;9150:9;9146:22;9125:53;:::i;:::-;9115:63;;9071:117;9255:2;9244:9;9240:18;9227:32;9286:18;9278:6;9275:30;9272:117;;;9308:79;;:::i;:::-;9272:117;9421:80;9493:7;9484:6;9473:9;9469:22;9421:80;:::i;:::-;9403:98;;;;9198:313;8814:704;;;;;:::o;9524:122::-;9597:24;9615:5;9597:24;:::i;:::-;9590:5;9587:35;9577:63;;9636:1;9633;9626:12;9577:63;9524:122;:::o;9652:139::-;9698:5;9736:6;9723:20;9714:29;;9752:33;9779:5;9752:33;:::i;:::-;9652:139;;;;:::o;9797:474::-;9865:6;9873;9922:2;9910:9;9901:7;9897:23;9893:32;9890:119;;;9928:79;;:::i;:::-;9890:119;10048:1;10073:53;10118:7;10109:6;10098:9;10094:22;10073:53;:::i;:::-;10063:63;;10019:117;10175:2;10201:53;10246:7;10237:6;10226:9;10222:22;10201:53;:::i;:::-;10191:63;;10146:118;9797:474;;;;;:::o;10277:118::-;10364:24;10382:5;10364:24;:::i;:::-;10359:3;10352:37;10277:118;;:::o;10401:222::-;10494:4;10532:2;10521:9;10517:18;10509:26;;10545:71;10613:1;10602:9;10598:17;10589:6;10545:71;:::i;:::-;10401:222;;;;:::o;10629:474::-;10697:6;10705;10754:2;10742:9;10733:7;10729:23;10725:32;10722:119;;;10760:79;;:::i;:::-;10722:119;10880:1;10905:53;10950:7;10941:6;10930:9;10926:22;10905:53;:::i;:::-;10895:63;;10851:117;11007:2;11033:53;11078:7;11069:6;11058:9;11054:22;11033:53;:::i;:::-;11023:63;;10978:118;10629:474;;;;;:::o;11109:329::-;11168:6;11217:2;11205:9;11196:7;11192:23;11188:32;11185:119;;;11223:79;;:::i;:::-;11185:119;11343:1;11368:53;11413:7;11404:6;11393:9;11389:22;11368:53;:::i;:::-;11358:63;;11314:117;11109:329;;;;:::o;11444:180::-;11492:77;11489:1;11482:88;11589:4;11586:1;11579:15;11613:4;11610:1;11603:15;11630:180;11678:77;11675:1;11668:88;11775:4;11772:1;11765:15;11799:4;11796:1;11789:15;11816:180;11864:77;11861:1;11854:88;11961:4;11958:1;11951:15;11985:4;11982:1;11975:15;12002:233;12041:3;12064:24;12082:5;12064:24;:::i;:::-;12055:33;;12110:66;12103:5;12100:77;12097:103;;;12180:18;;:::i;:::-;12097:103;12227:1;12220:5;12216:13;12209:20;;12002:233;;;:::o;12241:169::-;12325:11;12359:6;12354:3;12347:19;12399:4;12394:3;12390:14;12375:29;;12241:169;;;;:::o;12416:::-;12556:21;12552:1;12544:6;12540:14;12533:45;12416:169;:::o;12591:366::-;12733:3;12754:67;12818:2;12813:3;12754:67;:::i;:::-;12747:74;;12830:93;12919:3;12830:93;:::i;:::-;12948:2;12943:3;12939:12;12932:19;;12591:366;;;:::o;12963:419::-;13129:4;13167:2;13156:9;13152:18;13144:26;;13216:9;13210:4;13206:20;13202:1;13191:9;13187:17;13180:47;13244:131;13370:4;13244:131;:::i;:::-;13236:139;;12963:419;;;:::o;13388:234::-;13528:34;13524:1;13516:6;13512:14;13505:58;13597:17;13592:2;13584:6;13580:15;13573:42;13388:234;:::o;13628:366::-;13770:3;13791:67;13855:2;13850:3;13791:67;:::i;:::-;13784:74;;13867:93;13956:3;13867:93;:::i;:::-;13985:2;13980:3;13976:12;13969:19;;13628:366;;;:::o;14000:419::-;14166:4;14204:2;14193:9;14189:18;14181:26;;14253:9;14247:4;14243:20;14239:1;14228:9;14224:17;14217:47;14281:131;14407:4;14281:131;:::i;:::-;14273:139;;14000:419;;;:::o;14425:177::-;14565:29;14561:1;14553:6;14549:14;14542:53;14425:177;:::o;14608:366::-;14750:3;14771:67;14835:2;14830:3;14771:67;:::i;:::-;14764:74;;14847:93;14936:3;14847:93;:::i;:::-;14965:2;14960:3;14956:12;14949:19;;14608:366;;;:::o;14980:419::-;15146:4;15184:2;15173:9;15169:18;15161:26;;15233:9;15227:4;15223:20;15219:1;15208:9;15204:17;15197:47;15261:131;15387:4;15261:131;:::i;:::-;15253:139;;14980:419;;;:::o;15405:178::-;15545:30;15541:1;15533:6;15529:14;15522:54;15405:178;:::o;15589:366::-;15731:3;15752:67;15816:2;15811:3;15752:67;:::i;:::-;15745:74;;15828:93;15917:3;15828:93;:::i;:::-;15946:2;15941:3;15937:12;15930:19;;15589:366;;;:::o;15961:419::-;16127:4;16165:2;16154:9;16150:18;16142:26;;16214:9;16208:4;16204:20;16200:1;16189:9;16185:17;16178:47;16242:131;16368:4;16242:131;:::i;:::-;16234:139;;15961:419;;;:::o;16386:332::-;16507:4;16545:2;16534:9;16530:18;16522:26;;16558:71;16626:1;16615:9;16611:17;16602:6;16558:71;:::i;:::-;16639:72;16707:2;16696:9;16692:18;16683:6;16639:72;:::i;:::-;16386:332;;;;;:::o;16724:102::-;16765:6;16816:2;16812:7;16807:2;16800:5;16796:14;16792:28;16782:38;;16724:102;;;:::o;16832:281::-;16915:27;16937:4;16915:27;:::i;:::-;16907:6;16903:40;17045:6;17033:10;17030:22;17009:18;16997:10;16994:34;16991:62;16988:88;;;17056:18;;:::i;:::-;16988:88;17096:10;17092:2;17085:22;16875:238;16832:281;;:::o;17119:129::-;17153:6;17180:20;;:::i;:::-;17170:30;;17209:33;17237:4;17229:6;17209:33;:::i;:::-;17119:129;;;:::o;17254:311::-;17331:4;17421:18;17413:6;17410:30;17407:56;;;17443:18;;:::i;:::-;17407:56;17493:4;17485:6;17481:17;17473:25;;17553:4;17547;17543:15;17535:23;;17254:311;;;:::o;17571:143::-;17628:5;17659:6;17653:13;17644:22;;17675:33;17702:5;17675:33;:::i;:::-;17571:143;;;;:::o;17737:732::-;17844:5;17869:81;17885:64;17942:6;17885:64;:::i;:::-;17869:81;:::i;:::-;17860:90;;17970:5;17999:6;17992:5;17985:21;18033:4;18026:5;18022:16;18015:23;;18086:4;18078:6;18074:17;18066:6;18062:30;18115:3;18107:6;18104:15;18101:122;;;18134:79;;:::i;:::-;18101:122;18249:6;18232:231;18266:6;18261:3;18258:15;18232:231;;;18341:3;18370:48;18414:3;18402:10;18370:48;:::i;:::-;18365:3;18358:61;18448:4;18443:3;18439:14;18432:21;;18308:155;18292:4;18287:3;18283:14;18276:21;;18232:231;;;18236:21;17850:619;;17737:732;;;;;:::o;18492:385::-;18574:5;18623:3;18616:4;18608:6;18604:17;18600:27;18590:122;;18631:79;;:::i;:::-;18590:122;18741:6;18735:13;18766:105;18867:3;18859:6;18852:4;18844:6;18840:17;18766:105;:::i;:::-;18757:114;;18580:297;18492:385;;;;:::o;18883:554::-;18978:6;19027:2;19015:9;19006:7;19002:23;18998:32;18995:119;;;19033:79;;:::i;:::-;18995:119;19174:1;19163:9;19159:17;19153:24;19204:18;19196:6;19193:30;19190:117;;;19226:79;;:::i;:::-;19190:117;19331:89;19412:7;19403:6;19392:9;19388:22;19331:89;:::i;:::-;19321:99;;19124:306;18883:554;;;;:::o;19443:634::-;19664:4;19702:2;19691:9;19687:18;19679:26;;19751:9;19745:4;19741:20;19737:1;19726:9;19722:17;19715:47;19779:108;19882:4;19873:6;19779:108;:::i;:::-;19771:116;;19934:9;19928:4;19924:20;19919:2;19908:9;19904:18;19897:48;19962:108;20065:4;20056:6;19962:108;:::i;:::-;19954:116;;19443:634;;;;;:::o;20083:148::-;20185:11;20222:3;20207:18;;20083:148;;;;:::o;20237:173::-;20377:25;20373:1;20365:6;20361:14;20354:49;20237:173;:::o;20416:402::-;20576:3;20597:85;20679:2;20674:3;20597:85;:::i;:::-;20590:92;;20691:93;20780:3;20691:93;:::i;:::-;20809:2;20804:3;20800:12;20793:19;;20416:402;;;:::o;20824:99::-;20876:6;20910:5;20904:12;20894:22;;20824:99;;;:::o;20929:307::-;20997:1;21007:113;21021:6;21018:1;21015:13;21007:113;;;21106:1;21101:3;21097:11;21091:18;21087:1;21082:3;21078:11;21071:39;21043:2;21040:1;21036:10;21031:15;;21007:113;;;21138:6;21135:1;21132:13;21129:101;;;21218:1;21209:6;21204:3;21200:16;21193:27;21129:101;20978:258;20929:307;;;:::o;21242:377::-;21348:3;21376:39;21409:5;21376:39;:::i;:::-;21431:89;21513:6;21508:3;21431:89;:::i;:::-;21424:96;;21529:52;21574:6;21569:3;21562:4;21555:5;21551:16;21529:52;:::i;:::-;21606:6;21601:3;21597:16;21590:23;;21352:267;21242:377;;;;:::o;21625:167::-;21765:19;21761:1;21753:6;21749:14;21742:43;21625:167;:::o;21798:402::-;21958:3;21979:85;22061:2;22056:3;21979:85;:::i;:::-;21972:92;;22073:93;22162:3;22073:93;:::i;:::-;22191:2;22186:3;22182:12;22175:19;;21798:402;;;:::o;22206:967::-;22588:3;22610:148;22754:3;22610:148;:::i;:::-;22603:155;;22775:95;22866:3;22857:6;22775:95;:::i;:::-;22768:102;;22887:148;23031:3;22887:148;:::i;:::-;22880:155;;23052:95;23143:3;23134:6;23052:95;:::i;:::-;23045:102;;23164:3;23157:10;;22206:967;;;;;:::o;23179:364::-;23267:3;23295:39;23328:5;23295:39;:::i;:::-;23350:71;23414:6;23409:3;23350:71;:::i;:::-;23343:78;;23430:52;23475:6;23470:3;23463:4;23456:5;23452:16;23430:52;:::i;:::-;23507:29;23529:6;23507:29;:::i;:::-;23502:3;23498:39;23491:46;;23271:272;23179:364;;;;:::o;23549:313::-;23662:4;23700:2;23689:9;23685:18;23677:26;;23749:9;23743:4;23739:20;23735:1;23724:9;23720:17;23713:47;23777:78;23850:4;23841:6;23777:78;:::i;:::-;23769:86;;23549:313;;;;:::o;23868:348::-;23908:7;23931:20;23949:1;23931:20;:::i;:::-;23926:25;;23965:20;23983:1;23965:20;:::i;:::-;23960:25;;24153:1;24085:66;24081:74;24078:1;24075:81;24070:1;24063:9;24056:17;24052:105;24049:131;;;24160:18;;:::i;:::-;24049:131;24208:1;24205;24201:9;24190:20;;23868:348;;;;:::o;24222:305::-;24262:3;24281:20;24299:1;24281:20;:::i;:::-;24276:25;;24315:20;24333:1;24315:20;:::i;:::-;24310:25;;24469:1;24401:66;24397:74;24394:1;24391:81;24388:107;;;24475:18;;:::i;:::-;24388:107;24519:1;24516;24512:9;24505:16;;24222:305;;;;:::o;24533:171::-;24572:3;24595:24;24613:5;24595:24;:::i;:::-;24586:33;;24641:4;24634:5;24631:15;24628:41;;;24649:18;;:::i;:::-;24628:41;24696:1;24689:5;24685:13;24678:20;;24533:171;;;:::o;24710:182::-;24850:34;24846:1;24838:6;24834:14;24827:58;24710:182;:::o;24898:366::-;25040:3;25061:67;25125:2;25120:3;25061:67;:::i;:::-;25054:74;;25137:93;25226:3;25137:93;:::i;:::-;25255:2;25250:3;25246:12;25239:19;;24898:366;;;:::o;25270:419::-;25436:4;25474:2;25463:9;25459:18;25451:26;;25523:9;25517:4;25513:20;25509:1;25498:9;25494:17;25487:47;25551:131;25677:4;25551:131;:::i;:::-;25543:139;;25270:419;;;:::o;25695:191::-;25735:4;25755:20;25773:1;25755:20;:::i;:::-;25750:25;;25789:20;25807:1;25789:20;:::i;:::-;25784:25;;25828:1;25825;25822:8;25819:34;;;25833:18;;:::i;:::-;25819:34;25878:1;25875;25871:9;25863:17;;25695:191;;;;:::o;25892:180::-;25940:77;25937:1;25930:88;26037:4;26034:1;26027:15;26061:4;26058:1;26051:15", + "source": "// SPDX-License-Identifier: MIT\npragma solidity 0.8.10;\n\nimport \"@openzeppelin/contracts/access/AccessControlEnumerable.sol\";\nimport \"../interfaces/IBEERC721.sol\";\n\ncontract NftDistributor is AccessControlEnumerable {\n bytes32 public constant MANAGE_ROLE = keccak256(\"MANAGE_ROLE\");\n\n // user address => nft ids\n mapping(address => uint256[]) public ownerToNFTs;\n // nft id => minted\n mapping(uint256 => bool) public nftMinted;\n\n IBEERC721 public nft;\n\n // NFT distributor open status\n bool public isOpen = true;\n\n event Minted(\n address indexed user,\n address indexed nft,\n uint256[] nftSIds,\n uint256[] nftTIds\n );\n\n event OpenStatusChange(bool indexed open);\n\n /**\n * @dev Contract constructor.\n *\n * Initializes the contract with the specified addresses and sets the admin and management roles.\n *\n * Parameters:\n * - _nftTarget: The address of NFT that will be minted by this contract. Need MINTER_ROLE\n * - _nftSource: The address of the source NFT that will check if user has mint permission.\n * - _manageAddress: The address that will have the MANAGE_ROLE assigned.\n */\n constructor(address _nftTarget, address[] memory _manageAddress) {\n // Set up the ADMIN_ROLE and MANAGE_ROLE\n _setRoleAdmin(MANAGE_ROLE, DEFAULT_ADMIN_ROLE);\n\n // Grant the ADMIN_ROLE to the deployer and to the contract itself\n _setupRole(DEFAULT_ADMIN_ROLE, _msgSender());\n\n // Grant the MANAGE_ROLE to the specified address\n for (uint256 i = 0; i < _manageAddress.length; ++i) {\n _setupRole(MANAGE_ROLE, _manageAddress[i]);\n }\n\n // Initialize the nft contract with IBEERC721 interface\n nft = IBEERC721(_nftTarget);\n }\n\n /**\n * @dev Modifier that checks if the caller has the MANAGE_ROLE.\n *\n * The function uses the _checkRole() function from the AccessControl library.\n * If the check is successful, the code defined by the function that uses this modifier is executed.\n */\n modifier onlyManager() {\n // Check if the caller has the MANAGE_ROLE\n _checkRole(MANAGE_ROLE, _msgSender());\n // If the check is successful, execute the code in the function that uses this modifier\n _;\n }\n\n function updateOpenStatus(bool _open) external onlyManager {\n require(isOpen != _open, \"Open status is same\");\n isOpen = _open;\n emit OpenStatusChange(_open);\n }\n\n /**\n * @dev The mintToUser function mints NFTs to a given user.\n *\n * Only functions called by an address with the MANAGE_ROLE permission can access this function.\n * The function takes an array of nftIds and checks that there are enough mintable NFTs for the user.\n * It then loops through the user's owned NFTs, checking if each is mintable, and if so, adds it to a list to be minted.\n * Then it emits the Minted event with details of the operation.\n *\n * @param _user - The address of the user receiving the NFTs\n */\n function mintToUser(address _user, uint256 count) external onlyManager {\n require(isOpen, \"NFT distributor is not open\");\n // Check that there are enough mintable NFTs\n require(count <= getMintableCount(_user), \"Mintable count is not enough\");\n // Get the array of the user's owned NFTs\n uint256[] memory nfts = ownerToNFTs[_user];\n // Initialize variables\n uint256 index = 0;\n uint256[] memory nftSource = new uint256[](count);\n\n // Loop through the user's owned NFTs\n for (uint256 i = 0; i < nfts.length; i++) {\n uint256 nftSId = nfts[i];\n // Check if the NFT is mintable\n if (!nftMinted[nftSId] && index < count) {\n // Add the NFT's source ID to the list of sources\n nftSource[index] = nftSId;\n nftMinted[nftSId] = true;\n // Mint the NFT to the user's address\n index++;\n }\n }\n uint256[] memory _nftIds = nft.batchMint(_user, count);\n // Emit event with details of the minting operation\n emit Minted(_user, address(nft), nftSource, _nftIds);\n }\n\n /**\n * @dev The addNFTData function adds an array of NFT IDs to the list of NFT IDs owned by a user.\n * mintToUser method would check if target user had permission to mint NFTs.\n *\n * Only functions called by an address with the MANAGE_ROLE permission can access this function.\n * The function takes in the address of the user and an array of NFT IDs. It then loops through the array\n * of NFT IDs, and adds each one to the end of the array of NFTs owned by that user to update their ownership data.\n *\n * @param _user - The address of the user being updated with new NFT data\n * @param _nftIds - An array of NFT IDs being added to the user's NFT data\n */\n function addNFTData(\n address _user,\n uint256[] calldata _nftIds\n ) external onlyManager {\n // Loop through the array of NFT IDs\n for (uint256 i = 0; i < _nftIds.length; i++) {\n // Add each NFT ID to the end of the array of NFTs owned by the user\n ownerToNFTs[_user].push(_nftIds[i]);\n }\n }\n\n /**\n * @dev The getMintableCount function gets the number of NFTs owned by a user that have not yet been minted.\n *\n * This is a read-only function, meaning it doesn't modify the state of the blockchain.\n * It takes in the address of the user whose mintable count is being determined,\n * and returns the number of NFTs owned by the user that have not yet been minted.\n *\n * @param _user - The address of the user whose mintable count is being determined\n * @return count - The number of NFTs owned by the user that have not yet been minted\n */\n function getMintableCount(address _user) public view returns (uint256) {\n // Get an array of all NFT IDs owned by the user\n uint256[] memory nfts = ownerToNFTs[_user];\n // Initialize count to zero\n uint256 count = 0;\n // Loop through the array of NFT IDs\n for (uint256 i = 0; i < nfts.length; i++) {\n // Get the NFT ID at this index of the loop\n uint256 nftAId = nfts[i];\n // Check if the NFT has not yet been minted\n if (!nftMinted[nftAId]) {\n // If the NFT has not yet been minted, increment the mintable count\n count++;\n }\n }\n // Return the final mintable count\n return count;\n }\n\n /**\n * @dev The getMintableNftIds function gets an array of NFT IDs owned by a user that have not yet been minted.\n *\n * This is a read-only function, meaning it doesn't modify the state of the blockchain.\n * It takes in the address of the user whose mintable NFT IDs are being determined,\n * and returns an array of the NFT IDs owned by the user that have not yet been minted.\n *\n * @param _user - The address of the user whose mintable NFT IDs are being determined\n * @return mintableNftIds - An array of the NFT IDs owned by the user that have not yet been minted\n */\n function getMintableNftIds(\n address _user\n ) external view returns (uint256[] memory) {\n // Get an array of all NFT IDs owned by the user\n uint256[] memory nfts = ownerToNFTs[_user];\n // Initialize an array for mintable NFT IDs with the same length as the array of all NFT IDs\n uint256[] memory mintableNftIds = new uint256[](nfts.length);\n // Initialize an index counter to zero\n uint256 index = 0;\n // Loop through the array of NFT IDs\n for (uint256 i = 0; i < nfts.length; i++) {\n // Get the NFT ID at this index of the loop\n uint256 nftId = nfts[i];\n // Check if the NFT has not yet been minted\n if (!nftMinted[nftId]) {\n // If the NFT has not yet been minted, add it to the mintable NFT IDs array\n mintableNftIds[index] = nftId;\n // Increment the index counter\n index++;\n }\n }\n // Return the array of mintable NFT IDs\n return mintableNftIds;\n }\n}\n", "sourcePath": "/Users/zhl/Documents/workspace/crypto/becrypto/contracts/logic/NftDistributor.sol", "ast": { "absolutePath": "project:/contracts/logic/NftDistributor.sol", @@ -13898,13 +14942,13 @@ 647 ], "NftDistributor": [ - 1911 + 1946 ], "Strings": [ 872 ] }, - "id": 1912, + "id": 1947, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -13924,7 +14968,7 @@ "id": 1554, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1912, + "scope": 1947, "sourceUnit": 434, "src": "57:68:11", "symbolAliases": [], @@ -13936,7 +14980,7 @@ "id": 1555, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1912, + "scope": 1947, "sourceUnit": 1552, "src": "126:37:11", "symbolAliases": [], @@ -13962,9 +15006,9 @@ "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, - "id": 1911, + "id": 1946, "linearizedBaseContracts": [ - 1911, + 1946, 433, 308, 896, @@ -13985,7 +15029,7 @@ "name": "MANAGE_ROLE", "nameLocation": "244:11:11", "nodeType": "VariableDeclaration", - "scope": 1911, + "scope": 1946, "src": "220:62:11", "stateVariable": true, "storageLocation": "default", @@ -14065,7 +15109,7 @@ "name": "ownerToNFTs", "nameLocation": "353:11:11", "nodeType": "VariableDeclaration", - "scope": 1911, + "scope": 1946, "src": "316:48:11", "stateVariable": true, "storageLocation": "default", @@ -14121,7 +15165,7 @@ "name": "nftMinted", "nameLocation": "422:9:11", "nodeType": "VariableDeclaration", - "scope": 1911, + "scope": 1946, "src": "390:41:11", "stateVariable": true, "storageLocation": "default", @@ -14168,7 +15212,7 @@ "name": "nft", "nameLocation": "453:3:11", "nodeType": "VariableDeclaration", - "scope": 1911, + "scope": 1946, "src": "436:20:11", "stateVariable": true, "storageLocation": "default", @@ -14195,26 +15239,70 @@ }, "visibility": "public" }, + { + "constant": false, + "functionSelector": "47535d7b", + "id": 1577, + "mutability": "mutable", + "name": "isOpen", + "nameLocation": "506:6:11", + "nodeType": "VariableDeclaration", + "scope": 1946, + "src": "494:25:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1575, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "494:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "value": { + "hexValue": "74727565", + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "515:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "visibility": "public" + }, { "anonymous": false, - "id": 1586, + "id": 1589, "name": "Minted", - "nameLocation": "467:6:11", + "nameLocation": "530:6:11", "nodeType": "EventDefinition", "parameters": { - "id": 1585, + "id": 1588, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1576, + "id": 1579, "indexed": true, "mutability": "mutable", "name": "user", - "nameLocation": "495:4:11", + "nameLocation": "558:4:11", "nodeType": "VariableDeclaration", - "scope": 1586, - "src": "479:20:11", + "scope": 1589, + "src": "542:20:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14222,39 +15310,10 @@ "typeString": "address" }, "typeName": { - "id": 1575, + "id": 1578, "name": "address", "nodeType": "ElementaryTypeName", - "src": "479:7:11", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 1578, - "indexed": true, - "mutability": "mutable", - "name": "nft", - "nameLocation": "521:3:11", - "nodeType": "VariableDeclaration", - "scope": 1586, - "src": "505:19:11", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 1577, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "505:7:11", + "src": "542:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14266,36 +15325,28 @@ { "constant": false, "id": 1581, - "indexed": false, + "indexed": true, "mutability": "mutable", - "name": "nftSIds", - "nameLocation": "540:7:11", + "name": "nft", + "nameLocation": "584:3:11", "nodeType": "VariableDeclaration", - "scope": 1586, - "src": "530:17:11", + "scope": 1589, + "src": "568:19:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" }, "typeName": { - "baseType": { - "id": 1579, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "530:7:11", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, "id": 1580, - "nodeType": "ArrayTypeName", - "src": "530:9:11", + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "568:7:11", + "stateMutability": "nonpayable", "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" + "typeIdentifier": "t_address", + "typeString": "address" } }, "visibility": "internal" @@ -14305,11 +15356,11 @@ "id": 1584, "indexed": false, "mutability": "mutable", - "name": "nftTIds", - "nameLocation": "563:7:11", + "name": "nftSIds", + "nameLocation": "603:7:11", "nodeType": "VariableDeclaration", - "scope": 1586, - "src": "553:17:11", + "scope": 1589, + "src": "593:17:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14321,7 +15372,7 @@ "id": 1582, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "553:7:11", + "src": "593:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14329,7 +15380,44 @@ }, "id": 1583, "nodeType": "ArrayTypeName", - "src": "553:9:11", + "src": "593:9:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1587, + "indexed": false, + "mutability": "mutable", + "name": "nftTIds", + "nameLocation": "626:7:11", + "nodeType": "VariableDeclaration", + "scope": 1589, + "src": "616:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1585, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "616:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1586, + "nodeType": "ArrayTypeName", + "src": "616:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -14338,38 +15426,81 @@ "visibility": "internal" } ], - "src": "473:101:11" + "src": "536:101:11" }, - "src": "461:114:11" + "src": "524:114:11" + }, + { + "anonymous": false, + "id": 1593, + "name": "OpenStatusChange", + "nameLocation": "648:16:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1592, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1591, + "indexed": true, + "mutability": "mutable", + "name": "open", + "nameLocation": "678:4:11", + "nodeType": "VariableDeclaration", + "scope": 1593, + "src": "665:17:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1590, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "665:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "664:19:11" + }, + "src": "642:42:11" }, { "body": { - "id": 1632, + "id": 1639, "nodeType": "Block", - "src": "1078:487:11", + "src": "1187:487:11", "statements": [ { "expression": { "arguments": [ { - "id": 1596, + "id": 1603, "name": "MANAGE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1562, - "src": "1143:11:11", + "src": "1252:11:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 1597, + "id": 1604, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1156:18:11", + "src": "1265:18:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14387,18 +15518,18 @@ "typeString": "bytes32" } ], - "id": 1595, + "id": 1602, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 244, - "src": "1129:13:11", + "src": "1238:13:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 1598, + "id": 1605, "isConstant": false, "isLValue": false, "isPure": false, @@ -14406,27 +15537,27 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1129:46:11", + "src": "1238:46:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1599, + "id": 1606, "nodeType": "ExpressionStatement", - "src": "1129:46:11" + "src": "1238:46:11" }, { "expression": { "arguments": [ { - "id": 1601, + "id": 1608, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27, - "src": "1264:18:11", + "src": "1373:18:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14436,18 +15567,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1602, + "id": 1609, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "1284:10:11", + "src": "1393:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1603, + "id": 1610, "isConstant": false, "isLValue": false, "isPure": false, @@ -14455,7 +15586,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1284:12:11", + "src": "1393:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -14474,18 +15605,18 @@ "typeString": "address" } ], - "id": 1600, + "id": 1607, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, - "src": "1253:10:11", + "src": "1362:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 1604, + "id": 1611, "isConstant": false, "isLValue": false, "isPure": false, @@ -14493,33 +15624,33 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1253:44:11", + "src": "1362:44:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1605, + "id": 1612, "nodeType": "ExpressionStatement", - "src": "1253:44:11" + "src": "1362:44:11" }, { "body": { - "id": 1624, + "id": 1631, "nodeType": "Block", - "src": "1410:57:11", + "src": "1519:57:11", "statements": [ { "expression": { "arguments": [ { - "id": 1618, + "id": 1625, "name": "MANAGE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1562, - "src": "1429:11:11", + "src": "1538:11:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14527,25 +15658,25 @@ }, { "baseExpression": { - "id": 1619, + "id": 1626, "name": "_manageAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1592, - "src": "1442:14:11", + "referencedDeclaration": 1599, + "src": "1551:14:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1621, + "id": 1628, "indexExpression": { - "id": 1620, + "id": 1627, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "1457:1:11", + "referencedDeclaration": 1614, + "src": "1566:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14556,7 +15687,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "1442:17:11", + "src": "1551:17:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14574,18 +15705,18 @@ "typeString": "address" } ], - "id": 1617, + "id": 1624, "name": "_setupRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 216, - "src": "1418:10:11", + "src": "1527:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address)" } }, - "id": 1622, + "id": 1629, "isConstant": false, "isLValue": false, "isPure": false, @@ -14593,16 +15724,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1418:42:11", + "src": "1527:42:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1623, + "id": 1630, "nodeType": "ExpressionStatement", - "src": "1418:42:11" + "src": "1527:42:11" } ] }, @@ -14611,18 +15742,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1613, + "id": 1620, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1610, + "id": 1617, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "1378:1:11", + "referencedDeclaration": 1614, + "src": "1487:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14632,51 +15763,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1611, + "id": 1618, "name": "_manageAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1592, - "src": "1382:14:11", + "referencedDeclaration": 1599, + "src": "1491:14:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[] memory" } }, - "id": 1612, + "id": 1619, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "1382:21:11", + "src": "1491:21:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "1378:25:11", + "src": "1487:25:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1625, + "id": 1632, "initializationExpression": { "assignments": [ - 1607 + 1614 ], "declarations": [ { "constant": false, - "id": 1607, + "id": 1614, "mutability": "mutable", "name": "i", - "nameLocation": "1371:1:11", + "nameLocation": "1480:1:11", "nodeType": "VariableDeclaration", - "scope": 1625, - "src": "1363:9:11", + "scope": 1632, + "src": "1472:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14684,10 +15815,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1606, + "id": 1613, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1363:7:11", + "src": "1472:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14696,17 +15827,17 @@ "visibility": "internal" } ], - "id": 1609, + "id": 1616, "initialValue": { "hexValue": "30", - "id": 1608, + "id": 1615, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1375:1:11", + "src": "1484:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -14714,11 +15845,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "1363:13:11" + "src": "1472:13:11" }, "loopExpression": { "expression": { - "id": 1615, + "id": 1622, "isConstant": false, "isLValue": false, "isPure": false, @@ -14726,14 +15857,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": true, - "src": "1405:3:11", + "src": "1514:3:11", "subExpression": { - "id": 1614, + "id": 1621, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1607, - "src": "1407:1:11", + "referencedDeclaration": 1614, + "src": "1516:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -14744,27 +15875,27 @@ "typeString": "uint256" } }, - "id": 1616, + "id": 1623, "nodeType": "ExpressionStatement", - "src": "1405:3:11" + "src": "1514:3:11" }, "nodeType": "ForStatement", - "src": "1358:109:11" + "src": "1467:109:11" }, { "expression": { - "id": 1630, + "id": 1637, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1626, + "id": 1633, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "1533:3:11", + "src": "1642:3:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBEERC721_$1551", "typeString": "contract IBEERC721" @@ -14775,12 +15906,12 @@ "rightHandSide": { "arguments": [ { - "id": 1628, + "id": 1635, "name": "_nftTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1589, - "src": "1549:10:11", + "referencedDeclaration": 1596, + "src": "1658:10:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -14794,18 +15925,18 @@ "typeString": "address" } ], - "id": 1627, + "id": 1634, "name": "IBEERC721", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1551, - "src": "1539:9:11", + "src": "1648:9:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IBEERC721_$1551_$", "typeString": "type(contract IBEERC721)" } }, - "id": 1629, + "id": 1636, "isConstant": false, "isLValue": false, "isPure": false, @@ -14813,32 +15944,32 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1539:21:11", + "src": "1648:21:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IBEERC721_$1551", "typeString": "contract IBEERC721" } }, - "src": "1533:27:11", + "src": "1642:27:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBEERC721_$1551", "typeString": "contract IBEERC721" } }, - "id": 1631, + "id": 1638, "nodeType": "ExpressionStatement", - "src": "1533:27:11" + "src": "1642:27:11" } ] }, "documentation": { - "id": 1587, + "id": 1594, "nodeType": "StructuredDocumentation", - "src": "579:431:11", + "src": "688:431:11", "text": " @dev Contract constructor.\n Initializes the contract with the specified addresses and sets the admin and management roles.\n Parameters:\n - _nftTarget: The address of NFT that will be minted by this contract. Need MINTER_ROLE\n - _nftSource: The address of the source NFT that will check if user has mint permission.\n - _manageAddress: The address that will have the MANAGE_ROLE assigned." }, - "id": 1633, + "id": 1640, "implemented": true, "kind": "constructor", "modifiers": [], @@ -14846,18 +15977,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1593, + "id": 1600, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1589, + "id": 1596, "mutability": "mutable", "name": "_nftTarget", - "nameLocation": "1033:10:11", + "nameLocation": "1142:10:11", "nodeType": "VariableDeclaration", - "scope": 1633, - "src": "1025:18:11", + "scope": 1640, + "src": "1134:18:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14865,10 +15996,10 @@ "typeString": "address" }, "typeName": { - "id": 1588, + "id": 1595, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1025:7:11", + "src": "1134:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14879,13 +16010,13 @@ }, { "constant": false, - "id": 1592, + "id": 1599, "mutability": "mutable", "name": "_manageAddress", - "nameLocation": "1062:14:11", + "nameLocation": "1171:14:11", "nodeType": "VariableDeclaration", - "scope": 1633, - "src": "1045:31:11", + "scope": 1640, + "src": "1154:31:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -14894,19 +16025,19 @@ }, "typeName": { "baseType": { - "id": 1590, + "id": 1597, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1045:7:11", + "src": "1154:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1591, + "id": 1598, "nodeType": "ArrayTypeName", - "src": "1045:9:11", + "src": "1154:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" @@ -14915,36 +16046,36 @@ "visibility": "internal" } ], - "src": "1024:53:11" + "src": "1133:53:11" }, "returnParameters": { - "id": 1594, + "id": 1601, "nodeType": "ParameterList", "parameters": [], - "src": "1078:0:11" + "src": "1187:0:11" }, - "scope": 1911, - "src": "1013:552:11", + "scope": 1946, + "src": "1122:552:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 1643, + "id": 1650, "nodeType": "Block", - "src": "1859:194:11", + "src": "1968:194:11", "statements": [ { "expression": { "arguments": [ { - "id": 1637, + "id": 1644, "name": "MANAGE_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1562, - "src": "1923:11:11", + "src": "2032:11:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14954,18 +16085,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1638, + "id": 1645, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 659, - "src": "1936:10:11", + "src": "2045:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1639, + "id": 1646, "isConstant": false, "isLValue": false, "isPure": false, @@ -14973,7 +16104,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1936:12:11", + "src": "2045:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -14992,18 +16123,18 @@ "typeString": "address" } ], - "id": 1636, + "id": 1643, "name": "_checkRole", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 124, - "src": "1912:10:11", + "src": "2021:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address) view" } }, - "id": 1640, + "id": 1647, "isConstant": false, "isLValue": false, "isPure": false, @@ -15011,50 +16142,404 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "1912:37:11", + "src": "2021:37:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1641, + "id": 1648, "nodeType": "ExpressionStatement", - "src": "1912:37:11" + "src": "2021:37:11" }, { - "id": 1642, + "id": 1649, "nodeType": "PlaceholderStatement", - "src": "2047:1:11" + "src": "2156:1:11" } ] }, "documentation": { - "id": 1634, + "id": 1641, "nodeType": "StructuredDocumentation", - "src": "1569:264:11", + "src": "1678:264:11", "text": " @dev Modifier that checks if the caller has the MANAGE_ROLE.\n The function uses the _checkRole() function from the AccessControl library.\n If the check is successful, the code defined by the function that uses this modifier is executed." }, - "id": 1644, + "id": 1651, "name": "onlyManager", - "nameLocation": "1845:11:11", + "nameLocation": "1954:11:11", "nodeType": "ModifierDefinition", "parameters": { - "id": 1635, + "id": 1642, "nodeType": "ParameterList", "parameters": [], - "src": "1856:2:11" + "src": "1965:2:11" }, - "src": "1836:217:11", + "src": "1945:217:11", "virtual": false, "visibility": "internal" }, { "body": { - "id": 1752, + "id": 1673, "nodeType": "Block", - "src": "2668:921:11", + "src": "2225:112:11", "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1661, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1659, + "name": "isOpen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1577, + "src": "2239:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 1660, + "name": "_open", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1653, + "src": "2249:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2239:15:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f70656e207374617475732069732073616d65", + "id": 1662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2256:21:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d", + "typeString": "literal_string \"Open status is same\"" + }, + "value": "Open status is same" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e3e050e2ce450b3b7a09abb0085b9f82d70bd3d19685e6e9fe38cfe7c2e22c0d", + "typeString": "literal_string \"Open status is same\"" + } + ], + "id": 1658, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2231:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1663, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2231:47:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1664, + "nodeType": "ExpressionStatement", + "src": "2231:47:11" + }, + { + "expression": { + "id": 1667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1665, + "name": "isOpen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1577, + "src": "2284:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1666, + "name": "_open", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1653, + "src": "2293:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2284:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1668, + "nodeType": "ExpressionStatement", + "src": "2284:14:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1670, + "name": "_open", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1653, + "src": "2326:5:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1669, + "name": "OpenStatusChange", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1593, + "src": "2309:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bool_$returns$__$", + "typeString": "function (bool)" + } + }, + "id": 1671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2309:23:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1672, + "nodeType": "EmitStatement", + "src": "2304:28:11" + } + ] + }, + "functionSelector": "29bc78c6", + "id": 1674, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1656, + "kind": "modifierInvocation", + "modifierName": { + "id": 1655, + "name": "onlyManager", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1651, + "src": "2213:11:11" + }, + "nodeType": "ModifierInvocation", + "src": "2213:11:11" + } + ], + "name": "updateOpenStatus", + "nameLocation": "2175:16:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1654, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1653, + "mutability": "mutable", + "name": "_open", + "nameLocation": "2197:5:11", + "nodeType": "VariableDeclaration", + "scope": 1674, + "src": "2192:10:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1652, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2192:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2191:12:11" + }, + "returnParameters": { + "id": 1657, + "nodeType": "ParameterList", + "parameters": [], + "src": "2225:0:11" + }, + "scope": 1946, + "src": "2166:171:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1787, + "nodeType": "Block", + "src": "2952:973:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1685, + "name": "isOpen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1577, + "src": "2966:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e4654206469737472696275746f72206973206e6f74206f70656e", + "id": 1686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2974:29:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f", + "typeString": "literal_string \"NFT distributor is not open\"" + }, + "value": "NFT distributor is not open" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_135c3291bc2e815fa2362801676581f5853c20deaafc5dda4430223b06f7646f", + "typeString": "literal_string \"NFT distributor is not open\"" + } + ], + "id": 1684, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 4294967278, + 4294967278 + ], + "referencedDeclaration": 4294967278, + "src": "2958:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2958:46:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1688, + "nodeType": "ExpressionStatement", + "src": "2958:46:11" + }, { "expression": { "arguments": [ @@ -15063,18 +16548,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1659, + "id": 1694, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1655, + "id": 1690, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "2731:5:11", + "referencedDeclaration": 1679, + "src": "3067:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15085,12 +16570,12 @@ "rightExpression": { "arguments": [ { - "id": 1657, + "id": 1692, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "2757:5:11", + "referencedDeclaration": 1677, + "src": "3093:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15104,18 +16589,18 @@ "typeString": "address" } ], - "id": 1656, + "id": 1691, "name": "getMintableCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1839, - "src": "2740:16:11", + "referencedDeclaration": 1874, + "src": "3076:16:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", "typeString": "function (address) view returns (uint256)" } }, - "id": 1658, + "id": 1693, "isConstant": false, "isLValue": false, "isPure": false, @@ -15123,14 +16608,14 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2740:23:11", + "src": "3076:23:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "2731:32:11", + "src": "3067:32:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15138,14 +16623,14 @@ }, { "hexValue": "4d696e7461626c6520636f756e74206973206e6f7420656e6f756768", - "id": 1660, + "id": 1695, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "2765:30:11", + "src": "3101:30:11", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c0532a597c4fcdca619b8bd483d77a931af948aaf6338ee552604b6087393e08", "typeString": "literal_string \"Mintable count is not enough\"" @@ -15164,7 +16649,7 @@ "typeString": "literal_string \"Mintable count is not enough\"" } ], - "id": 1654, + "id": 1689, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -15172,13 +16657,13 @@ 4294967278 ], "referencedDeclaration": 4294967278, - "src": "2723:7:11", + "src": "3059:7:11", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 1661, + "id": 1696, "isConstant": false, "isLValue": false, "isPure": false, @@ -15186,31 +16671,31 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2723:73:11", + "src": "3059:73:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1662, + "id": 1697, "nodeType": "ExpressionStatement", - "src": "2723:73:11" + "src": "3059:73:11" }, { "assignments": [ - 1667 + 1702 ], "declarations": [ { "constant": false, - "id": 1667, + "id": 1702, "mutability": "mutable", "name": "nfts", - "nameLocation": "2865:4:11", + "nameLocation": "3201:4:11", "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "2848:21:11", + "scope": 1787, + "src": "3184:21:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15219,18 +16704,18 @@ }, "typeName": { "baseType": { - "id": 1665, + "id": 1700, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2848:7:11", + "src": "3184:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1666, + "id": 1701, "nodeType": "ArrayTypeName", - "src": "2848:9:11", + "src": "3184:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -15239,28 +16724,28 @@ "visibility": "internal" } ], - "id": 1671, + "id": 1706, "initialValue": { "baseExpression": { - "id": 1668, + "id": 1703, "name": "ownerToNFTs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1567, - "src": "2872:11:11", + "src": "3208:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1670, + "id": 1705, "indexExpression": { - "id": 1669, + "id": 1704, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "2884:5:11", + "referencedDeclaration": 1677, + "src": "3220:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -15271,29 +16756,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2872:18:11", + "src": "3208:18:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "2848:42:11" + "src": "3184:42:11" }, { "assignments": [ - 1673 + 1708 ], "declarations": [ { "constant": false, - "id": 1673, + "id": 1708, "mutability": "mutable", "name": "index", - "nameLocation": "2932:5:11", + "nameLocation": "3268:5:11", "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "2924:13:11", + "scope": 1787, + "src": "3260:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15301,10 +16786,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1672, + "id": 1707, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2924:7:11", + "src": "3260:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15313,17 +16798,17 @@ "visibility": "internal" } ], - "id": 1675, + "id": 1710, "initialValue": { "hexValue": "30", - "id": 1674, + "id": 1709, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2940:1:11", + "src": "3276:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15331,22 +16816,22 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "2924:17:11" + "src": "3260:17:11" }, { "assignments": [ - 1680 + 1715 ], "declarations": [ { "constant": false, - "id": 1680, + "id": 1715, "mutability": "mutable", "name": "nftSource", - "nameLocation": "2964:9:11", + "nameLocation": "3300:9:11", "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "2947:26:11", + "scope": 1787, + "src": "3283:26:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15355,18 +16840,18 @@ }, "typeName": { "baseType": { - "id": 1678, + "id": 1713, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2947:7:11", + "src": "3283:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1679, + "id": 1714, "nodeType": "ArrayTypeName", - "src": "2947:9:11", + "src": "3283:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -15375,16 +16860,16 @@ "visibility": "internal" } ], - "id": 1686, + "id": 1721, "initialValue": { "arguments": [ { - "id": 1684, + "id": 1719, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "2990:5:11", + "referencedDeclaration": 1679, + "src": "3326:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15398,38 +16883,38 @@ "typeString": "uint256" } ], - "id": 1683, + "id": 1718, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "2976:13:11", + "src": "3312:13:11", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 1681, + "id": 1716, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2980:7:11", + "src": "3316:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1682, + "id": 1717, "nodeType": "ArrayTypeName", - "src": "2980:9:11", + "src": "3316:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 1685, + "id": 1720, "isConstant": false, "isLValue": false, "isPure": false, @@ -15437,7 +16922,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "2976:20:11", + "src": "3312:20:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -15445,28 +16930,28 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "2947:49:11" + "src": "3283:49:11" }, { "body": { - "id": 1729, + "id": 1764, "nodeType": "Block", - "src": "3087:324:11", + "src": "3423:324:11", "statements": [ { "assignments": [ - 1699 + 1734 ], "declarations": [ { "constant": false, - "id": 1699, + "id": 1734, "mutability": "mutable", "name": "nftSId", - "nameLocation": "3103:6:11", + "nameLocation": "3439:6:11", "nodeType": "VariableDeclaration", - "scope": 1729, - "src": "3095:14:11", + "scope": 1764, + "src": "3431:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15474,10 +16959,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1698, + "id": 1733, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3095:7:11", + "src": "3431:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15486,28 +16971,28 @@ "visibility": "internal" } ], - "id": 1703, + "id": 1738, "initialValue": { "baseExpression": { - "id": 1700, + "id": 1735, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1667, - "src": "3112:4:11", + "referencedDeclaration": 1702, + "src": "3448:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1702, + "id": 1737, "indexExpression": { - "id": 1701, + "id": 1736, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1688, - "src": "3117:1:11", + "referencedDeclaration": 1723, + "src": "3453:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15518,14 +17003,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3112:7:11", + "src": "3448:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "3095:24:11" + "src": "3431:24:11" }, { "condition": { @@ -15533,13 +17018,13 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 1711, + "id": 1746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1707, + "id": 1742, "isConstant": false, "isLValue": false, "isPure": false, @@ -15547,28 +17032,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3169:18:11", + "src": "3505:18:11", "subExpression": { "baseExpression": { - "id": 1704, + "id": 1739, "name": "nftMinted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1571, - "src": "3170:9:11", + "src": "3506:9:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 1706, + "id": 1741, "indexExpression": { - "id": 1705, + "id": 1740, "name": "nftSId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "3180:6:11", + "referencedDeclaration": 1734, + "src": "3516:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15579,7 +17064,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3170:17:11", + "src": "3506:17:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15597,18 +17082,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1710, + "id": 1745, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1708, + "id": 1743, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1673, - "src": "3191:5:11", + "referencedDeclaration": 1708, + "src": "3527:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15617,65 +17102,65 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 1709, + "id": 1744, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "3199:5:11", + "referencedDeclaration": 1679, + "src": "3535:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3191:13:11", + "src": "3527:13:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "3169:35:11", + "src": "3505:35:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1728, + "id": 1763, "nodeType": "IfStatement", - "src": "3165:240:11", + "src": "3501:240:11", "trueBody": { - "id": 1727, + "id": 1762, "nodeType": "Block", - "src": "3206:199:11", + "src": "3542:199:11", "statements": [ { "expression": { - "id": 1716, + "id": 1751, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1712, + "id": 1747, "name": "nftSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1680, - "src": "3274:9:11", + "referencedDeclaration": 1715, + "src": "3610:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1714, + "id": 1749, "indexExpression": { - "id": 1713, + "id": 1748, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1673, - "src": "3284:5:11", + "referencedDeclaration": 1708, + "src": "3620:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15686,7 +17171,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3274:16:11", + "src": "3610:16:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15695,55 +17180,55 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1715, + "id": 1750, "name": "nftSId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "3293:6:11", + "referencedDeclaration": 1734, + "src": "3629:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3274:25:11", + "src": "3610:25:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1717, + "id": 1752, "nodeType": "ExpressionStatement", - "src": "3274:25:11" + "src": "3610:25:11" }, { "expression": { - "id": 1722, + "id": 1757, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1718, + "id": 1753, "name": "nftMinted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1571, - "src": "3309:9:11", + "src": "3645:9:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 1720, + "id": 1755, "indexExpression": { - "id": 1719, + "id": 1754, "name": "nftSId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1699, - "src": "3319:6:11", + "referencedDeclaration": 1734, + "src": "3655:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15754,7 +17239,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "3309:17:11", + "src": "3645:17:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -15764,33 +17249,33 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 1721, + "id": 1756, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3329:4:11", + "src": "3665:4:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "3309:24:11", + "src": "3645:24:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1723, + "id": 1758, "nodeType": "ExpressionStatement", - "src": "3309:24:11" + "src": "3645:24:11" }, { "expression": { - "id": 1725, + "id": 1760, "isConstant": false, "isLValue": false, "isPure": false, @@ -15798,14 +17283,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3389:7:11", + "src": "3725:7:11", "subExpression": { - "id": 1724, + "id": 1759, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1673, - "src": "3389:5:11", + "referencedDeclaration": 1708, + "src": "3725:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15816,9 +17301,9 @@ "typeString": "uint256" } }, - "id": 1726, + "id": 1761, "nodeType": "ExpressionStatement", - "src": "3389:7:11" + "src": "3725:7:11" } ] } @@ -15830,18 +17315,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1694, + "id": 1729, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1691, + "id": 1726, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1688, - "src": "3065:1:11", + "referencedDeclaration": 1723, + "src": "3401:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15851,51 +17336,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1692, + "id": 1727, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1667, - "src": "3069:4:11", + "referencedDeclaration": 1702, + "src": "3405:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1693, + "id": 1728, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "3069:11:11", + "src": "3405:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "3065:15:11", + "src": "3401:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1730, + "id": 1765, "initializationExpression": { "assignments": [ - 1688 + 1723 ], "declarations": [ { "constant": false, - "id": 1688, + "id": 1723, "mutability": "mutable", "name": "i", - "nameLocation": "3058:1:11", + "nameLocation": "3394:1:11", "nodeType": "VariableDeclaration", - "scope": 1730, - "src": "3050:9:11", + "scope": 1765, + "src": "3386:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -15903,10 +17388,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1687, + "id": 1722, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3050:7:11", + "src": "3386:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15915,17 +17400,17 @@ "visibility": "internal" } ], - "id": 1690, + "id": 1725, "initialValue": { "hexValue": "30", - "id": 1689, + "id": 1724, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "3062:1:11", + "src": "3398:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -15933,11 +17418,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "3050:13:11" + "src": "3386:13:11" }, "loopExpression": { "expression": { - "id": 1696, + "id": 1731, "isConstant": false, "isLValue": false, "isPure": false, @@ -15945,14 +17430,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "3082:3:11", + "src": "3418:3:11", "subExpression": { - "id": 1695, + "id": 1730, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1688, - "src": "3082:1:11", + "referencedDeclaration": 1723, + "src": "3418:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -15963,27 +17448,27 @@ "typeString": "uint256" } }, - "id": 1697, + "id": 1732, "nodeType": "ExpressionStatement", - "src": "3082:3:11" + "src": "3418:3:11" }, "nodeType": "ForStatement", - "src": "3045:366:11" + "src": "3381:366:11" }, { "assignments": [ - 1735 + 1770 ], "declarations": [ { "constant": false, - "id": 1735, + "id": 1770, "mutability": "mutable", "name": "_nftIds", - "nameLocation": "3433:7:11", + "nameLocation": "3769:7:11", "nodeType": "VariableDeclaration", - "scope": 1752, - "src": "3416:24:11", + "scope": 1787, + "src": "3752:24:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -15992,18 +17477,18 @@ }, "typeName": { "baseType": { - "id": 1733, + "id": 1768, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3416:7:11", + "src": "3752:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1734, + "id": 1769, "nodeType": "ArrayTypeName", - "src": "3416:9:11", + "src": "3752:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -16012,28 +17497,28 @@ "visibility": "internal" } ], - "id": 1741, + "id": 1776, "initialValue": { "arguments": [ { - "id": 1738, + "id": 1773, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3457:5:11", + "referencedDeclaration": 1677, + "src": "3793:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 1739, + "id": 1774, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1649, - "src": "3464:5:11", + "referencedDeclaration": 1679, + "src": "3800:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16052,18 +17537,18 @@ } ], "expression": { - "id": 1736, + "id": 1771, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "3443:3:11", + "src": "3779:3:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBEERC721_$1551", "typeString": "contract IBEERC721" } }, - "id": 1737, + "id": 1772, "isConstant": false, "isLValue": false, "isPure": false, @@ -16071,13 +17556,13 @@ "memberName": "batchMint", "nodeType": "MemberAccess", "referencedDeclaration": 1529, - "src": "3443:13:11", + "src": "3779:13:11", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (address,uint256) external returns (uint256[] memory)" } }, - "id": 1740, + "id": 1775, "isConstant": false, "isLValue": false, "isPure": false, @@ -16085,7 +17570,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3443:27:11", + "src": "3779:27:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -16093,18 +17578,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3416:54:11" + "src": "3752:54:11" }, { "eventCall": { "arguments": [ { - "id": 1743, + "id": 1778, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1647, - "src": "3544:5:11", + "referencedDeclaration": 1677, + "src": "3880:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16113,12 +17598,12 @@ { "arguments": [ { - "id": 1746, + "id": 1781, "name": "nft", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1574, - "src": "3559:3:11", + "src": "3895:3:11", "typeDescriptions": { "typeIdentifier": "t_contract$_IBEERC721_$1551", "typeString": "contract IBEERC721" @@ -16132,26 +17617,26 @@ "typeString": "contract IBEERC721" } ], - "id": 1745, + "id": 1780, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "3551:7:11", + "src": "3887:7:11", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 1744, + "id": 1779, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3551:7:11", + "src": "3887:7:11", "typeDescriptions": {} } }, - "id": 1747, + "id": 1782, "isConstant": false, "isLValue": false, "isPure": false, @@ -16159,7 +17644,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3551:12:11", + "src": "3887:12:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -16167,24 +17652,24 @@ } }, { - "id": 1748, + "id": 1783, "name": "nftSource", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1680, - "src": "3565:9:11", + "referencedDeclaration": 1715, + "src": "3901:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, { - "id": 1749, + "id": 1784, "name": "_nftIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1735, - "src": "3576:7:11", + "referencedDeclaration": 1770, + "src": "3912:7:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" @@ -16210,18 +17695,18 @@ "typeString": "uint256[] memory" } ], - "id": 1742, + "id": 1777, "name": "Minted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1586, - "src": "3537:6:11", + "referencedDeclaration": 1589, + "src": "3873:6:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256[] memory,uint256[] memory)" } }, - "id": 1750, + "id": 1785, "isConstant": false, "isLValue": false, "isPure": false, @@ -16229,60 +17714,60 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "3537:47:11", + "src": "3873:47:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1751, + "id": 1786, "nodeType": "EmitStatement", - "src": "3532:52:11" + "src": "3868:52:11" } ] }, "documentation": { - "id": 1645, + "id": 1675, "nodeType": "StructuredDocumentation", - "src": "2057:537:11", + "src": "2341:537:11", "text": " @dev The mintToUser function mints NFTs to a given user.\n Only functions called by an address with the MANAGE_ROLE permission can access this function.\n The function takes an array of nftIds and checks that there are enough mintable NFTs for the user.\n It then loops through the user's owned NFTs, checking if each is mintable, and if so, adds it to a list to be minted.\n Then it emits the Minted event with details of the operation.\n @param _user - The address of the user receiving the NFTs" }, "functionSelector": "9533a384", - "id": 1753, + "id": 1788, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1652, + "id": 1682, "kind": "modifierInvocation", "modifierName": { - "id": 1651, + "id": 1681, "name": "onlyManager", "nodeType": "IdentifierPath", - "referencedDeclaration": 1644, - "src": "2656:11:11" + "referencedDeclaration": 1651, + "src": "2940:11:11" }, "nodeType": "ModifierInvocation", - "src": "2656:11:11" + "src": "2940:11:11" } ], "name": "mintToUser", - "nameLocation": "2606:10:11", + "nameLocation": "2890:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1650, + "id": 1680, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1647, + "id": 1677, "mutability": "mutable", "name": "_user", - "nameLocation": "2625:5:11", + "nameLocation": "2909:5:11", "nodeType": "VariableDeclaration", - "scope": 1753, - "src": "2617:13:11", + "scope": 1788, + "src": "2901:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16290,10 +17775,10 @@ "typeString": "address" }, "typeName": { - "id": 1646, + "id": 1676, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2617:7:11", + "src": "2901:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16304,13 +17789,13 @@ }, { "constant": false, - "id": 1649, + "id": 1679, "mutability": "mutable", "name": "count", - "nameLocation": "2640:5:11", + "nameLocation": "2924:5:11", "nodeType": "VariableDeclaration", - "scope": 1753, - "src": "2632:13:11", + "scope": 1788, + "src": "2916:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16318,10 +17803,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1648, + "id": 1678, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2632:7:11", + "src": "2916:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16330,56 +17815,56 @@ "visibility": "internal" } ], - "src": "2616:30:11" + "src": "2900:30:11" }, "returnParameters": { - "id": 1653, + "id": 1683, "nodeType": "ParameterList", "parameters": [], - "src": "2668:0:11" + "src": "2952:0:11" }, - "scope": 1911, - "src": "2597:992:11", + "scope": 1946, + "src": "2881:1044:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1786, + "id": 1821, "nodeType": "Block", - "src": "4372:221:11", + "src": "4708:221:11", "statements": [ { "body": { - "id": 1784, + "id": 1819, "nodeType": "Block", - "src": "4464:125:11", + "src": "4800:125:11", "statements": [ { "expression": { "arguments": [ { "baseExpression": { - "id": 1779, + "id": 1814, "name": "_nftIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1759, - "src": "4571:7:11", + "referencedDeclaration": 1794, + "src": "4907:7:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 1781, + "id": 1816, "indexExpression": { - "id": 1780, + "id": 1815, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1765, - "src": "4579:1:11", + "referencedDeclaration": 1800, + "src": "4915:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16390,7 +17875,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4571:10:11", + "src": "4907:10:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16406,25 +17891,25 @@ ], "expression": { "baseExpression": { - "id": 1775, + "id": 1810, "name": "ownerToNFTs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1567, - "src": "4547:11:11", + "src": "4883:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1777, + "id": 1812, "indexExpression": { - "id": 1776, + "id": 1811, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1756, - "src": "4559:5:11", + "referencedDeclaration": 1791, + "src": "4895:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16435,26 +17920,26 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "4547:18:11", + "src": "4883:18:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, - "id": 1778, + "id": 1813, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "push", "nodeType": "MemberAccess", - "src": "4547:23:11", + "src": "4883:23:11", "typeDescriptions": { "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_array$_t_uint256_$dyn_storage_ptr_$", "typeString": "function (uint256[] storage pointer,uint256)" } }, - "id": 1782, + "id": 1817, "isConstant": false, "isLValue": false, "isPure": false, @@ -16462,16 +17947,16 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "4547:35:11", + "src": "4883:35:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 1783, + "id": 1818, "nodeType": "ExpressionStatement", - "src": "4547:35:11" + "src": "4883:35:11" } ] }, @@ -16480,18 +17965,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1771, + "id": 1806, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1768, + "id": 1803, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1765, - "src": "4439:1:11", + "referencedDeclaration": 1800, + "src": "4775:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16501,51 +17986,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1769, + "id": 1804, "name": "_nftIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1759, - "src": "4443:7:11", + "referencedDeclaration": 1794, + "src": "4779:7:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr", "typeString": "uint256[] calldata" } }, - "id": 1770, + "id": 1805, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "4443:14:11", + "src": "4779:14:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "4439:18:11", + "src": "4775:18:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1785, + "id": 1820, "initializationExpression": { "assignments": [ - 1765 + 1800 ], "declarations": [ { "constant": false, - "id": 1765, + "id": 1800, "mutability": "mutable", "name": "i", - "nameLocation": "4432:1:11", + "nameLocation": "4768:1:11", "nodeType": "VariableDeclaration", - "scope": 1785, - "src": "4424:9:11", + "scope": 1820, + "src": "4760:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16553,10 +18038,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1764, + "id": 1799, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4424:7:11", + "src": "4760:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16565,17 +18050,17 @@ "visibility": "internal" } ], - "id": 1767, + "id": 1802, "initialValue": { "hexValue": "30", - "id": 1766, + "id": 1801, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "4436:1:11", + "src": "4772:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -16583,11 +18068,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "4424:13:11" + "src": "4760:13:11" }, "loopExpression": { "expression": { - "id": 1773, + "id": 1808, "isConstant": false, "isLValue": false, "isPure": false, @@ -16595,14 +18080,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "4459:3:11", + "src": "4795:3:11", "subExpression": { - "id": 1772, + "id": 1807, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1765, - "src": "4459:1:11", + "referencedDeclaration": 1800, + "src": "4795:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16613,56 +18098,56 @@ "typeString": "uint256" } }, - "id": 1774, + "id": 1809, "nodeType": "ExpressionStatement", - "src": "4459:3:11" + "src": "4795:3:11" }, "nodeType": "ForStatement", - "src": "4419:170:11" + "src": "4755:170:11" } ] }, "documentation": { - "id": 1754, + "id": 1789, "nodeType": "StructuredDocumentation", - "src": "3593:680:11", + "src": "3929:680:11", "text": " @dev The addNFTData function adds an array of NFT IDs to the list of NFT IDs owned by a user.\n mintToUser method would check if target user had permission to mint NFTs.\n Only functions called by an address with the MANAGE_ROLE permission can access this function.\n The function takes in the address of the user and an array of NFT IDs. It then loops through the array\n of NFT IDs, and adds each one to the end of the array of NFTs owned by that user to update their ownership data.\n @param _user - The address of the user being updated with new NFT data\n @param _nftIds - An array of NFT IDs being added to the user's NFT data" }, "functionSelector": "84be00e4", - "id": 1787, + "id": 1822, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1762, + "id": 1797, "kind": "modifierInvocation", "modifierName": { - "id": 1761, + "id": 1796, "name": "onlyManager", "nodeType": "IdentifierPath", - "referencedDeclaration": 1644, - "src": "4360:11:11" + "referencedDeclaration": 1651, + "src": "4696:11:11" }, "nodeType": "ModifierInvocation", - "src": "4360:11:11" + "src": "4696:11:11" } ], "name": "addNFTData", - "nameLocation": "4285:10:11", + "nameLocation": "4621:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1760, + "id": 1795, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1756, + "id": 1791, "mutability": "mutable", "name": "_user", - "nameLocation": "4309:5:11", + "nameLocation": "4645:5:11", "nodeType": "VariableDeclaration", - "scope": 1787, - "src": "4301:13:11", + "scope": 1822, + "src": "4637:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16670,10 +18155,10 @@ "typeString": "address" }, "typeName": { - "id": 1755, + "id": 1790, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4301:7:11", + "src": "4637:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16684,13 +18169,13 @@ }, { "constant": false, - "id": 1759, + "id": 1794, "mutability": "mutable", "name": "_nftIds", - "nameLocation": "4339:7:11", + "nameLocation": "4675:7:11", "nodeType": "VariableDeclaration", - "scope": 1787, - "src": "4320:26:11", + "scope": 1822, + "src": "4656:26:11", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { @@ -16699,18 +18184,18 @@ }, "typeName": { "baseType": { - "id": 1757, + "id": 1792, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4320:7:11", + "src": "4656:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1758, + "id": 1793, "nodeType": "ArrayTypeName", - "src": "4320:9:11", + "src": "4656:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -16719,40 +18204,40 @@ "visibility": "internal" } ], - "src": "4295:55:11" + "src": "4631:55:11" }, "returnParameters": { - "id": 1763, + "id": 1798, "nodeType": "ParameterList", "parameters": [], - "src": "4372:0:11" + "src": "4708:0:11" }, - "scope": 1911, - "src": "4276:317:11", + "scope": 1946, + "src": "4612:317:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 1838, + "id": 1873, "nodeType": "Block", - "src": "5232:578:11", + "src": "5568:578:11", "statements": [ { "assignments": [ - 1799 + 1834 ], "declarations": [ { "constant": false, - "id": 1799, + "id": 1834, "mutability": "mutable", "name": "nfts", - "nameLocation": "5308:4:11", + "nameLocation": "5644:4:11", "nodeType": "VariableDeclaration", - "scope": 1838, - "src": "5291:21:11", + "scope": 1873, + "src": "5627:21:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -16761,18 +18246,18 @@ }, "typeName": { "baseType": { - "id": 1797, + "id": 1832, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5291:7:11", + "src": "5627:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1798, + "id": 1833, "nodeType": "ArrayTypeName", - "src": "5291:9:11", + "src": "5627:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -16781,28 +18266,28 @@ "visibility": "internal" } ], - "id": 1803, + "id": 1838, "initialValue": { "baseExpression": { - "id": 1800, + "id": 1835, "name": "ownerToNFTs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1567, - "src": "5315:11:11", + "src": "5651:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1802, + "id": 1837, "indexExpression": { - "id": 1801, + "id": 1836, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1790, - "src": "5327:5:11", + "referencedDeclaration": 1825, + "src": "5663:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -16813,29 +18298,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5315:18:11", + "src": "5651:18:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "5291:42:11" + "src": "5627:42:11" }, { "assignments": [ - 1805 + 1840 ], "declarations": [ { "constant": false, - "id": 1805, + "id": 1840, "mutability": "mutable", "name": "count", - "nameLocation": "5379:5:11", + "nameLocation": "5715:5:11", "nodeType": "VariableDeclaration", - "scope": 1838, - "src": "5371:13:11", + "scope": 1873, + "src": "5707:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16843,10 +18328,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1804, + "id": 1839, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5371:7:11", + "src": "5707:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16855,17 +18340,17 @@ "visibility": "internal" } ], - "id": 1807, + "id": 1842, "initialValue": { "hexValue": "30", - "id": 1806, + "id": 1841, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5387:1:11", + "src": "5723:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -16873,28 +18358,28 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "5371:17:11" + "src": "5707:17:11" }, { "body": { - "id": 1834, + "id": 1869, "nodeType": "Block", - "src": "5477:272:11", + "src": "5813:272:11", "statements": [ { "assignments": [ - 1820 + 1855 ], "declarations": [ { "constant": false, - "id": 1820, + "id": 1855, "mutability": "mutable", "name": "nftAId", - "nameLocation": "5543:6:11", + "nameLocation": "5879:6:11", "nodeType": "VariableDeclaration", - "scope": 1834, - "src": "5535:14:11", + "scope": 1869, + "src": "5871:14:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -16902,10 +18387,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1819, + "id": 1854, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5535:7:11", + "src": "5871:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16914,28 +18399,28 @@ "visibility": "internal" } ], - "id": 1824, + "id": 1859, "initialValue": { "baseExpression": { - "id": 1821, + "id": 1856, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1799, - "src": "5552:4:11", + "referencedDeclaration": 1834, + "src": "5888:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1823, + "id": 1858, "indexExpression": { - "id": 1822, + "id": 1857, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "5557:1:11", + "referencedDeclaration": 1844, + "src": "5893:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16946,18 +18431,18 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5552:7:11", + "src": "5888:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "5535:24:11" + "src": "5871:24:11" }, { "condition": { - "id": 1828, + "id": 1863, "isConstant": false, "isLValue": false, "isPure": false, @@ -16965,28 +18450,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "5621:18:11", + "src": "5957:18:11", "subExpression": { "baseExpression": { - "id": 1825, + "id": 1860, "name": "nftMinted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1571, - "src": "5622:9:11", + "src": "5958:9:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 1827, + "id": 1862, "indexExpression": { - "id": 1826, + "id": 1861, "name": "nftAId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1820, - "src": "5632:6:11", + "referencedDeclaration": 1855, + "src": "5968:6:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -16997,7 +18482,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5622:17:11", + "src": "5958:17:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17008,17 +18493,17 @@ "typeString": "bool" } }, - "id": 1833, + "id": 1868, "nodeType": "IfStatement", - "src": "5617:126:11", + "src": "5953:126:11", "trueBody": { - "id": 1832, + "id": 1867, "nodeType": "Block", - "src": "5641:102:11", + "src": "5977:102:11", "statements": [ { "expression": { - "id": 1830, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": false, @@ -17026,14 +18511,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5727:7:11", + "src": "6063:7:11", "subExpression": { - "id": 1829, + "id": 1864, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1805, - "src": "5727:5:11", + "referencedDeclaration": 1840, + "src": "6063:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17044,9 +18529,9 @@ "typeString": "uint256" } }, - "id": 1831, + "id": 1866, "nodeType": "ExpressionStatement", - "src": "5727:7:11" + "src": "6063:7:11" } ] } @@ -17058,18 +18543,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1815, + "id": 1850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1812, + "id": 1847, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "5455:1:11", + "referencedDeclaration": 1844, + "src": "5791:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17079,51 +18564,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1813, + "id": 1848, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1799, - "src": "5459:4:11", + "referencedDeclaration": 1834, + "src": "5795:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1814, + "id": 1849, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "5459:11:11", + "src": "5795:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "5455:15:11", + "src": "5791:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1835, + "id": 1870, "initializationExpression": { "assignments": [ - 1809 + 1844 ], "declarations": [ { "constant": false, - "id": 1809, + "id": 1844, "mutability": "mutable", "name": "i", - "nameLocation": "5448:1:11", + "nameLocation": "5784:1:11", "nodeType": "VariableDeclaration", - "scope": 1835, - "src": "5440:9:11", + "scope": 1870, + "src": "5776:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17131,10 +18616,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1808, + "id": 1843, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5440:7:11", + "src": "5776:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17143,17 +18628,17 @@ "visibility": "internal" } ], - "id": 1811, + "id": 1846, "initialValue": { "hexValue": "30", - "id": 1810, + "id": 1845, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5452:1:11", + "src": "5788:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -17161,11 +18646,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "5440:13:11" + "src": "5776:13:11" }, "loopExpression": { "expression": { - "id": 1817, + "id": 1852, "isConstant": false, "isLValue": false, "isPure": false, @@ -17173,14 +18658,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "5472:3:11", + "src": "5808:3:11", "subExpression": { - "id": 1816, + "id": 1851, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1809, - "src": "5472:1:11", + "referencedDeclaration": 1844, + "src": "5808:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17191,60 +18676,60 @@ "typeString": "uint256" } }, - "id": 1818, + "id": 1853, "nodeType": "ExpressionStatement", - "src": "5472:3:11" + "src": "5808:3:11" }, "nodeType": "ForStatement", - "src": "5435:314:11" + "src": "5771:314:11" }, { "expression": { - "id": 1836, + "id": 1871, "name": "count", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1805, - "src": "5800:5:11", + "referencedDeclaration": 1840, + "src": "6136:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 1794, - "id": 1837, + "functionReturnParameters": 1829, + "id": 1872, "nodeType": "Return", - "src": "5793:12:11" + "src": "6129:12:11" } ] }, "documentation": { - "id": 1788, + "id": 1823, "nodeType": "StructuredDocumentation", - "src": "4597:561:11", + "src": "4933:561:11", "text": " @dev The getMintableCount function gets the number of NFTs owned by a user that have not yet been minted.\n This is a read-only function, meaning it doesn't modify the state of the blockchain.\n It takes in the address of the user whose mintable count is being determined,\n and returns the number of NFTs owned by the user that have not yet been minted.\n @param _user - The address of the user whose mintable count is being determined\n @return count - The number of NFTs owned by the user that have not yet been minted" }, "functionSelector": "0431f205", - "id": 1839, + "id": 1874, "implemented": true, "kind": "function", "modifiers": [], "name": "getMintableCount", - "nameLocation": "5170:16:11", + "nameLocation": "5506:16:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1791, + "id": 1826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1790, + "id": 1825, "mutability": "mutable", "name": "_user", - "nameLocation": "5195:5:11", + "nameLocation": "5531:5:11", "nodeType": "VariableDeclaration", - "scope": 1839, - "src": "5187:13:11", + "scope": 1874, + "src": "5523:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17252,10 +18737,10 @@ "typeString": "address" }, "typeName": { - "id": 1789, + "id": 1824, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5187:7:11", + "src": "5523:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17265,21 +18750,21 @@ "visibility": "internal" } ], - "src": "5186:15:11" + "src": "5522:15:11" }, "returnParameters": { - "id": 1794, + "id": 1829, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1793, + "id": 1828, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1839, - "src": "5223:7:11", + "scope": 1874, + "src": "5559:7:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17287,10 +18772,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1792, + "id": 1827, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5223:7:11", + "src": "5559:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17299,34 +18784,34 @@ "visibility": "internal" } ], - "src": "5222:9:11" + "src": "5558:9:11" }, - "scope": 1911, - "src": "5161:649:11", + "scope": 1946, + "src": "5497:649:11", "stateMutability": "view", "virtual": false, "visibility": "public" }, { "body": { - "id": 1909, + "id": 1944, "nodeType": "Block", - "src": "6496:850:11", + "src": "6832:850:11", "statements": [ { "assignments": [ - 1852 + 1887 ], "declarations": [ { "constant": false, - "id": 1852, + "id": 1887, "mutability": "mutable", "name": "nfts", - "nameLocation": "6572:4:11", + "nameLocation": "6908:4:11", "nodeType": "VariableDeclaration", - "scope": 1909, - "src": "6555:21:11", + "scope": 1944, + "src": "6891:21:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17335,18 +18820,18 @@ }, "typeName": { "baseType": { - "id": 1850, + "id": 1885, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6555:7:11", + "src": "6891:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1851, + "id": 1886, "nodeType": "ArrayTypeName", - "src": "6555:9:11", + "src": "6891:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -17355,28 +18840,28 @@ "visibility": "internal" } ], - "id": 1856, + "id": 1891, "initialValue": { "baseExpression": { - "id": 1853, + "id": 1888, "name": "ownerToNFTs", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1567, - "src": "6579:11:11", + "src": "6915:11:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 1855, + "id": 1890, "indexExpression": { - "id": 1854, + "id": 1889, "name": "_user", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1842, - "src": "6591:5:11", + "referencedDeclaration": 1877, + "src": "6927:5:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -17387,29 +18872,29 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6579:18:11", + "src": "6915:18:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage", "typeString": "uint256[] storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "6555:42:11" + "src": "6891:42:11" }, { "assignments": [ - 1861 + 1896 ], "declarations": [ { "constant": false, - "id": 1861, + "id": 1896, "mutability": "mutable", "name": "mintableNftIds", - "nameLocation": "6717:14:11", + "nameLocation": "7053:14:11", "nodeType": "VariableDeclaration", - "scope": 1909, - "src": "6700:31:11", + "scope": 1944, + "src": "7036:31:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -17418,18 +18903,18 @@ }, "typeName": { "baseType": { - "id": 1859, + "id": 1894, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6700:7:11", + "src": "7036:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1860, + "id": 1895, "nodeType": "ArrayTypeName", - "src": "6700:9:11", + "src": "7036:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -17438,30 +18923,30 @@ "visibility": "internal" } ], - "id": 1868, + "id": 1903, "initialValue": { "arguments": [ { "expression": { - "id": 1865, + "id": 1900, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1852, - "src": "6748:4:11", + "referencedDeclaration": 1887, + "src": "7084:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1866, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "6748:11:11", + "src": "7084:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17475,38 +18960,38 @@ "typeString": "uint256" } ], - "id": 1864, + "id": 1899, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "6734:13:11", + "src": "7070:13:11", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", "typeString": "function (uint256) pure returns (uint256[] memory)" }, "typeName": { "baseType": { - "id": 1862, + "id": 1897, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6738:7:11", + "src": "7074:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1863, + "id": 1898, "nodeType": "ArrayTypeName", - "src": "6738:9:11", + "src": "7074:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" } } }, - "id": 1867, + "id": 1902, "isConstant": false, "isLValue": false, "isPure": false, @@ -17514,7 +18999,7 @@ "lValueRequested": false, "names": [], "nodeType": "FunctionCall", - "src": "6734:26:11", + "src": "7070:26:11", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", @@ -17522,22 +19007,22 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "6700:60:11" + "src": "7036:60:11" }, { "assignments": [ - 1870 + 1905 ], "declarations": [ { "constant": false, - "id": 1870, + "id": 1905, "mutability": "mutable", "name": "index", - "nameLocation": "6817:5:11", + "nameLocation": "7153:5:11", "nodeType": "VariableDeclaration", - "scope": 1909, - "src": "6809:13:11", + "scope": 1944, + "src": "7145:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17545,10 +19030,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1869, + "id": 1904, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6809:7:11", + "src": "7145:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17557,17 +19042,17 @@ "visibility": "internal" } ], - "id": 1872, + "id": 1907, "initialValue": { "hexValue": "30", - "id": 1871, + "id": 1906, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6825:1:11", + "src": "7161:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -17575,28 +19060,28 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "6809:17:11" + "src": "7145:17:11" }, { "body": { - "id": 1905, + "id": 1940, "nodeType": "Block", - "src": "6915:356:11", + "src": "7251:356:11", "statements": [ { "assignments": [ - 1885 + 1920 ], "declarations": [ { "constant": false, - "id": 1885, + "id": 1920, "mutability": "mutable", "name": "nftId", - "nameLocation": "6981:5:11", + "nameLocation": "7317:5:11", "nodeType": "VariableDeclaration", - "scope": 1905, - "src": "6973:13:11", + "scope": 1940, + "src": "7309:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17604,10 +19089,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1884, + "id": 1919, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6973:7:11", + "src": "7309:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17616,28 +19101,28 @@ "visibility": "internal" } ], - "id": 1889, + "id": 1924, "initialValue": { "baseExpression": { - "id": 1886, + "id": 1921, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1852, - "src": "6989:4:11", + "referencedDeclaration": 1887, + "src": "7325:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1888, + "id": 1923, "indexExpression": { - "id": 1887, + "id": 1922, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "6994:1:11", + "referencedDeclaration": 1909, + "src": "7330:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17648,18 +19133,18 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6989:7:11", + "src": "7325:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6973:23:11" + "src": "7309:23:11" }, { "condition": { - "id": 1893, + "id": 1928, "isConstant": false, "isLValue": false, "isPure": false, @@ -17667,28 +19152,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "7058:17:11", + "src": "7394:17:11", "subExpression": { "baseExpression": { - "id": 1890, + "id": 1925, "name": "nftMinted", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1571, - "src": "7059:9:11", + "src": "7395:9:11", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_uint256_$_t_bool_$", "typeString": "mapping(uint256 => bool)" } }, - "id": 1892, + "id": 1927, "indexExpression": { - "id": 1891, + "id": 1926, "name": "nftId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "7069:5:11", + "referencedDeclaration": 1920, + "src": "7405:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17699,7 +19184,7 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7059:16:11", + "src": "7395:16:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -17710,42 +19195,42 @@ "typeString": "bool" } }, - "id": 1904, + "id": 1939, "nodeType": "IfStatement", - "src": "7054:211:11", + "src": "7390:211:11", "trueBody": { - "id": 1903, + "id": 1938, "nodeType": "Block", - "src": "7077:188:11", + "src": "7413:188:11", "statements": [ { "expression": { - "id": 1898, + "id": 1933, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 1894, + "id": 1929, "name": "mintableNftIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "7171:14:11", + "referencedDeclaration": 1896, + "src": "7507:14:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1896, + "id": 1931, "indexExpression": { - "id": 1895, + "id": 1930, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "7186:5:11", + "referencedDeclaration": 1905, + "src": "7522:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17756,7 +19241,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7171:21:11", + "src": "7507:21:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17765,30 +19250,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1897, + "id": 1932, "name": "nftId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1885, - "src": "7195:5:11", + "referencedDeclaration": 1920, + "src": "7531:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7171:29:11", + "src": "7507:29:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1899, + "id": 1934, "nodeType": "ExpressionStatement", - "src": "7171:29:11" + "src": "7507:29:11" }, { "expression": { - "id": 1901, + "id": 1936, "isConstant": false, "isLValue": false, "isPure": false, @@ -17796,14 +19281,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "7249:7:11", + "src": "7585:7:11", "subExpression": { - "id": 1900, + "id": 1935, "name": "index", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1870, - "src": "7249:5:11", + "referencedDeclaration": 1905, + "src": "7585:5:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17814,9 +19299,9 @@ "typeString": "uint256" } }, - "id": 1902, + "id": 1937, "nodeType": "ExpressionStatement", - "src": "7249:7:11" + "src": "7585:7:11" } ] } @@ -17828,18 +19313,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1880, + "id": 1915, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1877, + "id": 1912, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "6893:1:11", + "referencedDeclaration": 1909, + "src": "7229:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17849,51 +19334,51 @@ "operator": "<", "rightExpression": { "expression": { - "id": 1878, + "id": 1913, "name": "nfts", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1852, - "src": "6897:4:11", + "referencedDeclaration": 1887, + "src": "7233:4:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "id": 1879, + "id": 1914, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", - "src": "6897:11:11", + "src": "7233:11:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6893:15:11", + "src": "7229:15:11", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 1906, + "id": 1941, "initializationExpression": { "assignments": [ - 1874 + 1909 ], "declarations": [ { "constant": false, - "id": 1874, + "id": 1909, "mutability": "mutable", "name": "i", - "nameLocation": "6886:1:11", + "nameLocation": "7222:1:11", "nodeType": "VariableDeclaration", - "scope": 1906, - "src": "6878:9:11", + "scope": 1941, + "src": "7214:9:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -17901,10 +19386,10 @@ "typeString": "uint256" }, "typeName": { - "id": 1873, + "id": 1908, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6878:7:11", + "src": "7214:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17913,17 +19398,17 @@ "visibility": "internal" } ], - "id": 1876, + "id": 1911, "initialValue": { "hexValue": "30", - "id": 1875, + "id": 1910, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6890:1:11", + "src": "7226:1:11", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -17931,11 +19416,11 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "6878:13:11" + "src": "7214:13:11" }, "loopExpression": { "expression": { - "id": 1882, + "id": 1917, "isConstant": false, "isLValue": false, "isPure": false, @@ -17943,14 +19428,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "6910:3:11", + "src": "7246:3:11", "subExpression": { - "id": 1881, + "id": 1916, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1874, - "src": "6910:1:11", + "referencedDeclaration": 1909, + "src": "7246:1:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -17961,60 +19446,60 @@ "typeString": "uint256" } }, - "id": 1883, + "id": 1918, "nodeType": "ExpressionStatement", - "src": "6910:3:11" + "src": "7246:3:11" }, "nodeType": "ForStatement", - "src": "6873:398:11" + "src": "7209:398:11" }, { "expression": { - "id": 1907, + "id": 1942, "name": "mintableNftIds", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1861, - "src": "7327:14:11", + "referencedDeclaration": 1896, + "src": "7663:14:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", "typeString": "uint256[] memory" } }, - "functionReturnParameters": 1847, - "id": 1908, + "functionReturnParameters": 1882, + "id": 1943, "nodeType": "Return", - "src": "7320:21:11" + "src": "7656:21:11" } ] }, "documentation": { - "id": 1840, + "id": 1875, "nodeType": "StructuredDocumentation", - "src": "5814:588:11", + "src": "6150:588:11", "text": " @dev The getMintableNftIds function gets an array of NFT IDs owned by a user that have not yet been minted.\n This is a read-only function, meaning it doesn't modify the state of the blockchain.\n It takes in the address of the user whose mintable NFT IDs are being determined,\n and returns an array of the NFT IDs owned by the user that have not yet been minted.\n @param _user - The address of the user whose mintable NFT IDs are being determined\n @return mintableNftIds - An array of the NFT IDs owned by the user that have not yet been minted" }, "functionSelector": "032221ad", - "id": 1910, + "id": 1945, "implemented": true, "kind": "function", "modifiers": [], "name": "getMintableNftIds", - "nameLocation": "6414:17:11", + "nameLocation": "6750:17:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1843, + "id": 1878, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1842, + "id": 1877, "mutability": "mutable", "name": "_user", - "nameLocation": "6445:5:11", + "nameLocation": "6781:5:11", "nodeType": "VariableDeclaration", - "scope": 1910, - "src": "6437:13:11", + "scope": 1945, + "src": "6773:13:11", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -18022,10 +19507,10 @@ "typeString": "address" }, "typeName": { - "id": 1841, + "id": 1876, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6437:7:11", + "src": "6773:7:11", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18035,21 +19520,21 @@ "visibility": "internal" } ], - "src": "6431:23:11" + "src": "6767:23:11" }, "returnParameters": { - "id": 1847, + "id": 1882, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1846, + "id": 1881, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1910, - "src": "6478:16:11", + "scope": 1945, + "src": "6814:16:11", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -18058,18 +19543,18 @@ }, "typeName": { "baseType": { - "id": 1844, + "id": 1879, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6478:7:11", + "src": "6814:7:11", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 1845, + "id": 1880, "nodeType": "ArrayTypeName", - "src": "6478:9:11", + "src": "6814:9:11", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", "typeString": "uint256[]" @@ -18078,27 +19563,153 @@ "visibility": "internal" } ], - "src": "6477:18:11" + "src": "6813:18:11" }, - "scope": 1911, - "src": "6405:941:11", + "scope": 1946, + "src": "6741:941:11", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 1912, - "src": "165:7183:11", + "scope": 1947, + "src": "165:7519:11", "usedErrors": [] } ], - "src": "32:7317:11" + "src": "32:7653:11" }, "compiler": { "name": "solc", "version": "0.8.10+commit.fc410830.Emscripten.clang" }, "networks": { + "1338": { + "events": { + "0x044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "nft", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nftSIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nftTIds", + "type": "uint256[]" + } + ], + "name": "Minted", + "type": "event" + }, + "0x1b6d93c5afd8d0a7da8d601d78cc3583962198954bfb14d0b47f26abc801f465": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bool", + "name": "open", + "type": "bool" + } + ], + "name": "OpenStatusChange", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "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" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "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" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "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" + } + }, + "links": {}, + "address": "0x59d3631c86BbE35EF041872d502F218A39FBa150", + "transactionHash": "0xffe662a1ca0c676eccc4d63c736fade4da8fe3e07cbd2d09ed027649655728e4" + }, "80001": { "events": { "0x044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d": { @@ -18211,10 +19822,136 @@ "links": {}, "address": "0xC0DA6D9d8AaDCFf7BD6d69B8b46948dD40BF0dec", "transactionHash": "0x1d6dba27c3bd6e5473f76d9ae16fc138477e41962d613cf57b633ff3e9581776" + }, + "421613": { + "events": { + "0x044ffb6dcd4ec715d7d57b6c88fa43e63f1e156efb2a93d1072314f910286e9d": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "user", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "nft", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nftSIds", + "type": "uint256[]" + }, + { + "indexed": false, + "internalType": "uint256[]", + "name": "nftTIds", + "type": "uint256[]" + } + ], + "name": "Minted", + "type": "event" + }, + "0x1b6d93c5afd8d0a7da8d601d78cc3583962198954bfb14d0b47f26abc801f465": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bool", + "name": "open", + "type": "bool" + } + ], + "name": "OpenStatusChange", + "type": "event" + }, + "0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff": { + "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" + }, + "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d": { + "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" + }, + "0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b": { + "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" + } + }, + "links": {}, + "address": "0xf45702180314187a3549FEDac3B78349b47ca6A0", + "transactionHash": "0xfe3cca291abc1f9896b340af8153e7438cb46b589ecc80bb680adab1a1878cdc" } }, "schemaVersion": "3.4.11", - "updatedAt": "2023-04-26T07:39:54.130Z", + "updatedAt": "2023-05-11T08:01:34.556Z", "networkType": "ethereum", "devdoc": { "kind": "dev", diff --git a/contracts/logic/NftDistributor.sol b/contracts/logic/NftDistributor.sol index cb8ee20..40839ba 100644 --- a/contracts/logic/NftDistributor.sol +++ b/contracts/logic/NftDistributor.sol @@ -14,6 +14,9 @@ contract NftDistributor is AccessControlEnumerable { IBEERC721 public nft; + // NFT distributor open status + bool public isOpen = false; + event Minted( address indexed user, address indexed nft, @@ -21,6 +24,8 @@ contract NftDistributor is AccessControlEnumerable { uint256[] nftTIds ); + event OpenStatusChange(bool indexed open); + /** * @dev Contract constructor. * @@ -60,6 +65,12 @@ contract NftDistributor is AccessControlEnumerable { _; } + function updateOpenStatus(bool _open) external onlyManager { + require(isOpen != _open, "Open status is same"); + isOpen = _open; + emit OpenStatusChange(_open); + } + /** * @dev The mintToUser function mints NFTs to a given user. * @@ -71,6 +82,7 @@ contract NftDistributor is AccessControlEnumerable { * @param _user - The address of the user receiving the NFTs */ function mintToUser(address _user, uint256 count) external onlyManager { + require(isOpen, "NFT distributor is not open"); // Check that there are enough mintable NFTs require(count <= getMintableCount(_user), "Mintable count is not enough"); // Get the array of the user's owned NFTs diff --git a/contracts/tokens/erc721/BEBadge.sol b/contracts/tokens/erc721/BEBadge.sol index fcc18d2..49cdae8 100644 --- a/contracts/tokens/erc721/BEBadge.sol +++ b/contracts/tokens/erc721/BEBadge.sol @@ -145,6 +145,16 @@ contract BEBadge is AccessControl, ERC721Enumerable { _baseTokenURI = baseTokenURI; } + /** + * @dev one type badge has same tokenURI + */ + function tokenURI( + uint256 tokenId + ) public view virtual override returns (string memory) { + string memory baseURI = _baseURI(); + return bytes(baseURI).length > 0 ? baseURI : ""; + } + /** * @dev See {IERC165-_beforeTokenTransfer}. */ diff --git a/migrations/2_depoly_etc.js b/migrations/2_depoly_etc.js index ee6a1de..d3cb955 100644 --- a/migrations/2_depoly_etc.js +++ b/migrations/2_depoly_etc.js @@ -5,36 +5,36 @@ const Distributor = artifacts.require("logic/NftDistributor"); const config = require("../config/config"); module.exports = async function (deployer, network, accounts) { - // await deployer.deploy(Badge, "BE Badge", "Badge", "0"); + await deployer.deploy(Badge, "BE Badge", "Badge", "4000"); const badgeInstance = await Badge.deployed(); if (badgeInstance) { console.log("BEBadge successfully deployed. "); console.log("address: " + badgeInstance.address); } - // await badgeInstance.updateBaseURI(config.token.baseTokenURI); - // await deployer.deploy(Coin, "BE test USDT", "USDT"); + await badgeInstance.updateBaseURI(config.token.baseTokenURI); + await deployer.deploy(Coin, "BE test USDT", "USDT"); const coinInstance = await Coin.deployed(); - // if (coinInstance) { - // console.log("BEUSDT successfully deployed. "); - // console.log("address: " + coinInstance.address); - // } - // await deployer.deploy( - // Wallet, - // 60, - // 1, - // config.admins.proposers, - // config.admins.confirmers, - // config.admins.executors - // ); + if (coinInstance) { + console.log("BEUSDT successfully deployed. "); + console.log("address: " + coinInstance.address); + } + await deployer.deploy( + Wallet, + 60, + 1, + config.admins.proposers, + config.admins.confirmers, + config.admins.executors + ); const walletInstance = await Wallet.deployed(); if (walletInstance) { console.log("BEMultiSigWallet successfully deployed."); console.log("address: " + walletInstance.address); } - // await badgeInstance.setMintRole(walletInstance.address); - // console.log("success add wallet to badge's mint role"); - // await coinInstance.setMintRole(walletInstance.address); - // console.log("success add wallet to usdt's mint role"); + await badgeInstance.setMintRole(walletInstance.address); + console.log("success add wallet to badge's mint role"); + await coinInstance.setMintRole(walletInstance.address); + console.log("success add wallet to usdt's mint role"); await deployer.deploy( Distributor, diff --git a/package.json b/package.json index d9a96bb..9c42776 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "deploy:bsctest": "truffle migrate --network bsc_testnet --compile-none", "deploy:kcctest": "truffle migrate --network kcc_testnet --compile-none", "deploy:polygon_testnet": "truffle migrate --network polygon_testnet --compile-none", + "deploy:arbitrum_testnet": "truffle migrate --network arbitrum_testnet --compile-none", "update:nft_sample": "npx truffle exec --network lan20 ./init_scripts/update_nft_setting.js", "mint_presale:dev": "npx truffle exec --network development ./init_scripts/generate_presalebox.js", "size": "truffle run contract-size" diff --git a/truffle-config.js b/truffle-config.js index a23bfc4..894e385 100644 --- a/truffle-config.js +++ b/truffle-config.js @@ -119,6 +119,24 @@ module.exports = { production: true, from: "0x565edA4ef351EB78F03B8AfCb6dCF02E29cAD62e", }, + arbitrum_testnet: { + provider: () => + new HDWalletProvider({ + privateKeys: [kccTestnetKey], + providerOrUrl: `https://arbitrum-goerli.public.blastapi.io`, + pollingInterval: 8000, + }), + gasPrice: 28000000000, + network_id: 421613, + confirmations: 6, + timeoutBlocks: 5000, + networkCheckTimeout: 10000000, + deploymentPollingInterval: 8000, + skipDryRun: true, + production: true, + disableConfirmationListener: true, + from: "0x50A8e60041A206AcaA5F844a1104896224be6F39", + }, kcc_testnet: { provider: () => new HDWalletProvider(kccTestnetKey, `https://rpc-testnet.kcc.network`),