@alpsfinance/core
Version:
This is the official Alps Finance smart contract repository.
535 lines • 838 kB
JSON
{
"contractName": "ERC1155Custom",
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "_uri",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "account",
"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": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"indexed": false,
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "TransferBatch",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "TransferSingle",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "value",
"type": "string"
},
{
"indexed": true,
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "URI",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address[]",
"name": "accounts",
"type": "address[]"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
}
],
"name": "balanceOfBatch",
"outputs": [
{
"internalType": "uint256[]",
"name": "",
"type": "uint256[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "burn",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "values",
"type": "uint256[]"
}
],
"name": "burnBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "exists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeBatchTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "safeTransferFrom",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"name": "setApprovalForAll",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
}
],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"name": "uri",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "newuri",
"type": "string"
}
],
"name": "setURI",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint256",
"name": "id",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "mint",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "ids",
"type": "uint256[]"
},
{
"internalType": "uint256[]",
"name": "amounts",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "data",
"type": "bytes"
}
],
"name": "mintBatch",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"metadata": "{\"compiler\":{\"version\":\"0.8.11+commit.d7f03943\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_uri\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"TransferBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"TransferSingle\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"URI\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"accounts\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"}],\"name\":\"balanceOfBatch\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"burnBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mintBatch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeBatchTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":\"newuri\",\"type\":\"string\"}],\"name\":\"setURI\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"uri\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"balanceOf(address,uint256)\":{\"details\":\"See {IERC1155-balanceOf}. Requirements: - `account` cannot be the zero address.\"},\"balanceOfBatch(address[],uint256[])\":{\"details\":\"See {IERC1155-balanceOfBatch}. Requirements: - `accounts` and `ids` must have the same length.\"},\"exists(uint256)\":{\"details\":\"Indicates whether any token exist with a given id, or not.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC1155-isApprovedForAll}.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"safeBatchTransferFrom(address,address,uint256[],uint256[],bytes)\":{\"details\":\"See {IERC1155-safeBatchTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,uint256,bytes)\":{\"details\":\"See {IERC1155-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC1155-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalSupply(uint256)\":{\"details\":\"Total amount of tokens in with a given id.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"uri(uint256)\":{\"details\":\"See {IERC1155MetadataURI-uri}. This implementation returns the same URI for *all* token types. It relies on the token type ID substitution mechanism https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. Clients calling this function must replace the `\\\\{id\\\\}` substring with the actual token type ID.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/token/ERC1155Custom.sol\":\"ERC1155Custom\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC1155/ERC1155.sol\":{\"keccak256\":\"0x04d6d1342ece664085921a4fabc928a7bcf1cf2873fa81780f61a54dc2b9b66e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6d2b052effa2e9a7479b0fea53b46f4cbbd91947848ef632aadad20ae2e9275\",\"dweb:/ipfs/QmcZp7f5cooGZrhHE8RC1yQR53RFZt19d5fyVqNfbHmPgY\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155.sol\":{\"keccak256\":\"0x8e93de94c9062ebc94fb7e2e3929b0781ac6a2b7772e2f7a59045861c93e5be9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f920a631bf986c610fe573d3c70a2bb6f224f86f4a8550016470c7ee476c9ab5\",\"dweb:/ipfs/QmYzsyVMfnaREKHcHv5RPS8Xg5r1Q38E2SDsGBTnXeFWzb\"]},\"@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol\":{\"keccak256\":\"0xeb373f1fdc7b755c6a750123a9b9e3a8a02c1470042fd6505d875000a80bde0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e28648f994abf1d6bc345644a361cc0b7efa544f8bc0c8ec26011fed85a91ec\",\"dweb:/ipfs/QmVVE7AiRjKaQYYji7TkjmTeVzGpNmms5eoxqTCfvvpj6D\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol\":{\"keccak256\":\"0x65283046c52a6bd3e57e456cc5eeab0dd86c00979b84495dc0109b609747fd16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cae1aa0113f29cb099e7ff5c2b8f559ede5fc9a8f1d57746e5ecea8fff9157de\",\"dweb:/ipfs/QmQrymH5ACUZcoWYSYZTQTGM1xVEZpnuQce8etBWTB33xm\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol\":{\"keccak256\":\"0xe243a49f159c97fdd011edb7a8ed1b48175f0fa6b8592bb6dcccac7e22d8c37b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9fcf3c76e66e7cbd95bc1d47eb41c2764670deea0e129a0bc8ed893f5ee20628\",\"dweb:/ipfs/QmUVYsGME7ikBfN638shb36WHbqecVAzxVMqSHT1eE5Qdk\"]},\"@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol\":{\"keccak256\":\"0xa66d18b9a85458d28fc3304717964502ae36f7f8a2ff35bc83f6f85d74b03574\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e46c80ea068989111d6103e5521223f9ef337e93de76deed8b03f75c6f7b2797\",\"dweb:/ipfs/QmNoSE6knNfFncdDDLTb3fGR6oSQty1srG96Vsx3E9wQdw\"]},\"@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/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/token/ERC1155Custom.sol\":{\"keccak256\":\"0xa7cd0153f18d14bccac3b4a0202cf23261658eada3cdec24feb30d4e40349eba\",\"license\":\"AGPL-3.0\",\"urls\":[\"bzz-raw://c9b4ba93e141667068d7f35351771693b491f9b7af625614440f14d212d4298c\",\"dweb:/ipfs/QmSVLiLdXFXk8WaRBShprn7T8TycgMoZmPLf2N4yesfouU\"]},\"project:/contracts/token/interfaces/IERC1155Custom.sol\":{\"keccak256\":\"0xb16853709db61bedf8994332beccc2d5e042debb2c0ca1b50c5022b819f790fa\",\"license\":\"AGPL-3.0\",\"urls\":[\"bzz-raw://24addd30689e75b0aac04414379f3ad5222a18695b61aaf4b1f3046a3db13c3a\",\"dweb:/ipfs/QmYAq7zbY8pUkZuqfCnohmKgWzQmUszqq9H7eh1bX7CpcF\"]}},\"version\":1}",
"bytecode": "0x60806040523480156200001157600080fd5b50604051620023cf380380620023cf83398101604081905262000034916200017a565b80620000408162000053565b506200004c336200006c565b5062000293565b805162000068906002906020840190620000be565b5050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620000cc9062000256565b90600052602060002090601f016020900481019282620000f057600085556200013b565b82601f106200010b57805160ff19168380011785556200013b565b828001600101855582156200013b579182015b828111156200013b5782518255916020019190600101906200011e565b50620001499291506200014d565b5090565b5b808211156200014957600081556001016200014e565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156200018e57600080fd5b82516001600160401b0380821115620001a657600080fd5b818501915085601f830112620001bb57600080fd5b815181811115620001d057620001d062000164565b604051601f8201601f19908116603f01168101908382118183101715620001fb57620001fb62000164565b8160405282815288868487010111156200021457600080fd5b600093505b8284101562000238578484018601518185018701529285019262000219565b828411156200024a5760008684830101525b98975050505050505050565b600181811c908216806200026b57607f821691505b602082108114156200028d57634e487b7160e01b600052602260045260246000fd5b50919050565b61212c80620002a36000396000f3fe608060405234801561001057600080fd5b50600436106101155760003560e01c8063715018a6116100a2578063bd85b03911610071578063bd85b0391461025c578063e985e9c51461027c578063f242432a146102b8578063f2fde38b146102cb578063f5298aca146102de57600080fd5b8063715018a614610213578063731133e91461021b5780638da5cb5b1461022e578063a22cb4651461024957600080fd5b80631f7fdffa116100e95780631f7fdffa146101985780632eb2c2d6146101ab5780634e1273f4146101be5780634f558e79146101de5780636b20c4541461020057600080fd5b8062fdd58e1461011a57806301ffc9a71461014057806302fe5305146101635780630e89341c14610178575b600080fd5b61012d610128366004611581565b6102f1565b6040519081526020015b60405180910390f35b61015361014e3660046115c1565b610388565b6040519015158152602001610137565b610176610171366004611686565b6103da565b005b61018b6101863660046116d7565b610410565b604051610137919061173d565b6101766101a6366004611805565b6104a4565b6101766101b936600461189e565b6104e0565b6101d16101cc366004611948565b610577565b6040516101379190611a4e565b6101536101ec3660046116d7565b600090815260046020526040902054151590565b61017661020e366004611a61565b6106a1565b6101766106e9565b610176610229366004611ad5565b61071f565b6003546040516001600160a01b039091168152602001610137565b610176610257366004611b2a565b610755565b61012d61026a3660046116d7565b60009081526004602052604090205490565b61015361028a366004611b66565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6101766102c6366004611b99565b610764565b6101766102d9366004611bfe565b6107a9565b6101766102ec366004611c19565b610841565b60006001600160a01b0383166103625760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806103b957506001600160e01b031982166303a24d0760e21b145b806103d457506301ffc9a760e01b6001600160e01b03198316145b92915050565b6003546001600160a01b031633146104045760405162461bcd60e51b815260040161035990611c4c565b61040d81610884565b50565b60606002805461041f90611c81565b80601f016020809104026020016040519081016040528092919081815260200182805461044b90611c81565b80156104985780601f1061046d57610100808354040283529160200191610498565b820191906000526020600020905b81548152906001019060200180831161047b57829003601f168201915b50505050509050919050565b6003546001600160a01b031633146104ce5760405162461bcd60e51b815260040161035990611c4c565b6104da84848484610897565b50505050565b6001600160a01b0385163314806104fc57506104fc853361028a565b6105635760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610359565b61057085858585856109f1565b5050505050565b606081518351146105dc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610359565b6000835167ffffffffffffffff8111156105f8576105f86115e5565b604051908082528060200260200182016040528015610621578160200160208202803683370190505b50905060005b84518110156106995761066c85828151811061064557610645611cbc565b602002602001015185838151811061065f5761065f611cbc565b60200260200101516102f1565b82828151811061067e5761067e611cbc565b602090810291909101015261069281611ce8565b9050610627565b509392505050565b6001600160a01b0383163314806106bd57506106bd833361028a565b6106d95760405162461bcd60e51b815260040161035990611d03565b6106e4838383610b9b565b505050565b6003546001600160a01b031633146107135760405162461bcd60e51b815260040161035990611c4c565b61071d6000610d29565b565b6003546001600160a01b031633146107495760405162461bcd60e51b815260040161035990611c4c565b6104da84848484610d7b565b610760338383610e51565b5050565b6001600160a01b0385163314806107805750610780853361028a565b61079c5760405162461bcd60e51b815260040161035990611d03565b6105708585858585610f32565b6003546001600160a01b031633146107d35760405162461bcd60e51b815260040161035990611c4c565b6001600160a01b0381166108385760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610359565b61040d81610d29565b6001600160a01b03831633148061085d575061085d833361028a565b6108795760405162461bcd60e51b815260040161035990611d03565b6106e483838361104f565b80516107609060029060208401906114cc565b6001600160a01b0384166108bd5760405162461bcd60e51b815260040161035990611d4c565b81518351146108de5760405162461bcd60e51b815260040161035990611d8d565b336108ee81600087878787611150565b60005b84518110156109895783818151811061090c5761090c611cbc565b602002602001015160008087848151811061092957610929611cbc565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109719190611dd5565b9091555081905061098181611ce8565b9150506108f1565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516109da929190611ded565b60405180910390a46105708160008787878761115e565b8151835114610a125760405162461bcd60e51b815260040161035990611d8d565b6001600160a01b038416610a385760405162461bcd60e51b815260040161035990611e1b565b33610a47818787878787611150565b60005b8451811015610b2d576000858281518110610a6757610a67611cbc565b602002602001015190506000858381518110610a8557610a85611cbc565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610ad55760405162461bcd60e51b815260040161035990611e60565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610b12908490611dd5565b9250508190555050505080610b2690611ce8565b9050610a4a565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610b7d929190611ded565b60405180910390a4610b9381878787878761115e565b505050505050565b6001600160a01b038316610bc15760405162461bcd60e51b815260040161035990611eaa565b8051825114610be25760405162461bcd60e51b815260040161035990611d8d565b6000339050610c0581856000868660405180602001604052806000815250611150565b60005b8351811015610cca576000848281518110610c2557610c25611cbc565b602002602001015190506000848381518110610c4357610c43611cbc565b602090810291909101810151600084815280835260408082206001600160a01b038c168352909352919091205490915081811015610c935760405162461bcd60e51b815260040161035990611eed565b6000928352602083815260408085206001600160a01b038b1686529091529092209103905580610cc281611ce8565b915050610c08565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610d1b929190611ded565b60405180910390a450505050565b600380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038416610da15760405162461bcd60e51b815260040161035990611d4c565b33610dc181600087610db2886112ba565b610dbb886112ba565b87611150565b6000848152602081815260408083206001600160a01b038916845290915281208054859290610df1908490611dd5565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a461057081600087878787611305565b816001600160a01b0316836001600160a01b03161415610ec55760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b6064820152608401610359565b6001600160a01b03838116600081815260016020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6001600160a01b038416610f585760405162461bcd60e51b815260040161035990611e1b565b33610f68818787610db2886112ba565b6000848152602081815260408083206001600160a01b038a16845290915290205483811015610fa95760405162461bcd60e51b815260040161035990611e60565b6000858152602081815260408083206001600160a01b038b8116855292528083208785039055908816825281208054869290610fe6908490611dd5565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611046828888888888611305565b50505050505050565b6001600160a01b0383166110755760405162461bcd60e51b815260040161035990611eaa565b336110a481856000611086876112ba565b61108f876112ba565b60405180602001604052806000815250611150565b6000838152602081815260408083206001600160a01b0388168452909152902054828110156110e55760405162461bcd60e51b815260040161035990611eed565b6000848152602081815260408083206001600160a01b03898116808652918452828520888703905582518981529384018890529092908616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b610b938686868686866113c0565b6001600160a01b0384163b15610b935760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906111a29089908990889088908890600401611f31565b6020604051808303816000875af19250505080156111dd575060408051601f3d908101601f191682019092526111da91810190611f8f565b60015b61128a576111e9611fac565b806308c379a0141561122357506111fe611fc8565b806112095750611225565b8060405162461bcd60e51b8152600401610359919061173d565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b6064820152608401610359565b6001600160e01b0319811663bc197c8160e01b146110465760405162461bcd60e51b815260040161035990612052565b604080516001808252818301909252606091600091906020808301908036833701905050905082816000815181106112f4576112f4611cbc565b602090810291909101015292915050565b6001600160a01b0384163b15610b935760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611349908990899088908890889060040161209a565b6020604051808303816000875af1925050508015611384575060408051601f3d908101601f1916820190925261138191810190611f8f565b60015b611390576111e9611fac565b6001600160e01b0319811663f23a6e6160e01b146110465760405162461bcd60e51b815260040161035990612052565b6001600160a01b0385166114475760005b8351811015611445578281815181106113ec576113ec611cbc565b60200260200101516004600086848151811061140a5761140a611cbc565b60200260200101518152602001908152602001600020600082825461142f9190611dd5565b9091555061143e905081611ce8565b90506113d1565b505b6001600160a01b038416610b935760005b83518110156110465782818151811061147357611473611cbc565b60200260200101516004600086848151811061149157611491611cbc565b6020026020010151815260200190815260200160002060008282546114b691906120df565b909155506114c5905081611ce8565b9050611458565b8280546114d890611c81565b90600052602060002090601f0160209004810192826114fa5760008555611540565b82601f1061151357805160ff1916838001178555611540565b82800160010185558215611540579182015b82811115611540578251825591602001919060010190611525565b5061154c929150611550565b5090565b5b8082111561154c5760008155600101611551565b80356001600160a01b038116811461157c57600080fd5b919050565b6000806040838503121561159457600080fd5b61159d83611565565b946020939093013593505050565b6001600160e01b03198116811461040d57600080fd5b6000602082840312156115d357600080fd5b81356115de816115ab565b9392505050565b634e487b7160e01b600052604160045260246000fd5b601f8201601f1916810167ffffffffffffffff81118282101715611621576116216115e5565b6040525050565b600067ffffffffffffffff831115611642576116426115e5565b604051611659601f8501601f1916602001826115fb565b80915083815284848401111561166e57600080fd5b83836020830137600060208583010152509392505050565b60006020828403121561169857600080fd5b813567ffffffffffffffff8111156116af57600080fd5b8201601f810184136116c057600080fd5b6116cf84823560208401611628565b949350505050565b6000602082840312156116e957600080fd5b5035919050565b6000815180845260005b81811015611716576020818501810151868301820152016116fa565b81811115611728576000602083870101525b50601f01601f19169290920160200192915050565b6020815260006115de60208301846116f0565b600067ffffffffffffffff82111561176a5761176a6115e5565b5060051b60200190565b600082601f83011261178557600080fd5b8135602061179282611750565b60405161179f82826115fb565b83815260059390931b85018201928281019150868411156117bf57600080fd5b8286015b848110156117da57803583529183019183016117c3565b509695505050505050565b600082601f8301126117f657600080fd5b6115de83833560208501611628565b6000806000806080858703121561181b57600080fd5b61182485611565565b9350602085013567ffffffffffffffff8082111561184157600080fd5b61184d88838901611774565b9450604087013591508082111561186357600080fd5b61186f88838901611774565b9350606087013591508082111561188557600080fd5b50611892878288016117e5565b91505092959194509250565b600080600080600060a086880312156118b657600080fd5b6118bf86611565565b94506118cd60208701611565565b9350604086013567ffffffffffffffff808211156118ea57600080fd5b6118f689838a01611774565b9450606088013591508082111561190c57600080fd5b61191889838a01611774565b9350608088013591508082111561192e57600080fd5b5061193b888289016117e5565b9150509295509295909350565b6000806040838503121561195b57600080fd5b823567ffffffffffffffff8082111561197357600080fd5b818501915085601f83011261198757600080fd5b8135602061199482611750565b6040516119a182826115fb565b83815260059390931b85018201928281019150898411156119c157600080fd5b948201945b838610156119e6576119d786611565565b825294820194908201906119c6565b965050860135925050808211156119fc57600080fd5b50611a0985828601611774565b9150509250929050565b600081518084526020808501945080840160005b83811015611a4357815187529582019590820190600101611a27565b509495945050505050565b6020815260006115de6020830184611a13565b600080600060608486031215611a7657600080fd5b611a7f84611565565b9250602084013567ffffffffffffffff80821115611a9c57600080fd5b611aa887838801611774565b93506040860135915080821115611abe57600080fd5b50611acb86828701611774565b9150509250925092565b60008060008060808587031215611aeb57600080fd5b611af485611565565b93506020850135925060408501359150606085013567ffffffffffffffff811115611b1e57600080fd5b611892878288016117e5565b60008060408385031215611b3d57600080fd5b611b4683611565565b915060208301358015158114611b5b57600080fd5b809150509250929050565b60008060408385031215611b7957600080fd5b611b8283611565565b9150611b9060208401611565565b90509250929050565b600080600080600060a08688031215611bb157600080fd5b611bba86611565565b9450611bc860208701611565565b93506040860135925060608601359150608086013567ffffffffffffffff811115611bf257600080fd5b61193b888289016117e5565b600060208284031215611c1057600080fd5b6115de82611565565b600080600060608486031215611c2e57600080fd5b611c3784611565565b95602085013595506040909401359392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680611c9557607f821691505b60208210811415611cb657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611cfc57611cfc611cd2565b5060010190565b60208082526029908201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260408201526808185c1c1c9bdd995960ba1b606082015260800190565b60208082526021908201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526028908201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206040820152670dad2e6dac2e8c6d60c31b606082015260800190565b60008219821115611de857611de8611cd2565b500190565b604081526000611e006040830185611a13565b8281036020840152611e128185611a13565b95945050505050565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b60208082526023908201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526024908201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604082015263616e636560e01b606082015260800190565b6001600160a01b0386811682528516602082015260a060408201819052600090611f5d90830186611a13565b8281036060840152611f6f8186611a13565b90508281036080840152611f8381856116f0565b98975050505050505050565b600060208284031215611fa157600080fd5b81516115de816115ab565b600060033d1115611fc55760046000803e5060005160e01c5b90565b600060443d1015611fd65790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561200657505050505090565b828501915081518181111561201e5750505050505090565b843d87010160208285010111156120385750505050505090565b612047602082860101876115fb565b509095945050505050565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906120d4908301846116f0565b979650505050505050565b6000828210156120f1576120f1611cd2565b50039056fea26469706673582212207ef8c935ea9dce6d8dd9c7e4fd81b2d99ee02dc40453a3eba4a3afda693fcd1c64736f6c634300080b0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101155760003560e01c8063715018a6116100a2578063bd85b03911610071578063bd85b0391461025c578063e985e9c51461027c578063f242432a146102b8578063f2fde38b146102cb578063f5298aca146102de57600080fd5b8063715018a614610213578063731133e91461021b5780638da5cb5b1461022e578063a22cb4651461024957600080fd5b80631f7fdffa116100e95780631f7fdffa146101985780632eb2c2d6146101ab5780634e1273f4146101be5780634f558e79146101de5780636b20c4541461020057600080fd5b8062fdd58e1461011a57806301ffc9a71461014057806302fe5305146101635780630e89341c14610178575b600080fd5b61012d610128366004611581565b6102f1565b6040519081526020015b60405180910390f35b61015361014e3660046115c1565b610388565b6040519015158152602001610137565b610176610171366004611686565b6103da565b005b61018b6101863660046116d7565b610410565b604051610137919061173d565b6101766101a6366004611805565b6104a4565b6101766101b936600461189e565b6104e0565b6101d16101cc366004611948565b610577565b6040516101379190611a4e565b6101536101ec3660046116d7565b600090815260046020526040902054151590565b61017661020e366004611a61565b6106a1565b6101766106e9565b610176610229366004611ad5565b61071f565b6003546040516001600160a01b039091168152602001610137565b610176610257366004611b2a565b610755565b61012d61026a3660046116d7565b60009081526004602052604090205490565b61015361028a366004611b66565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205460ff1690565b6101766102c6366004611b99565b610764565b6101766102d9366004611bfe565b6107a9565b6101766102ec366004611c19565b610841565b60006001600160a01b0383166103625760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b506000908152602081815260408083206001600160a01b03949094168352929052205490565b60006001600160e01b03198216636cdb3d1360e11b14806103b957506001600160e01b031982166303a24d0760e21b145b806103d457506301ffc9a760e01b6001600160e01b03198316145b92915050565b6003546001600160a01b031633146104045760405162461bcd60e51b815260040161035990611c4c565b61040d81610884565b50565b60606002805461041f90611c81565b80601f016020809104026020016040519081016040528092919081815260200182805461044b90611c81565b80156104985780601f1061046d57610100808354040283529160200191610498565b820191906000526020600020905b81548152906001019060200180831161047b57829003601f168201915b50505050509050919050565b6003546001600160a01b031633146104ce5760405162461bcd60e51b815260040161035990611c4c565b6104da84848484610897565b50505050565b6001600160a01b0385163314806104fc57506104fc853361028a565b6105635760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b6064820152608401610359565b61057085858585856109f1565b5050505050565b606081518351146105dc5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b6064820152608401610359565b6000835167ffffffffffffffff8111156105f8576105f86115e5565b604051908082528060200260200182016040528015610621578160200160208202803683370190505b50905060005b84518110156106995761066c85828151811061064557610645611cbc565b602002602001015185838151811061065f5761065f611cbc565b60200260200101516102f1565b82828151811061067e5761067e611cbc565b602090810291909101015261069281611ce8565b9050610627565b509392505050565b6001600160a01b0383163314806106bd57506106bd833361028a565b6106d95760405162461bcd60e51b815260040161035990611d03565b6106e4838383610b9b565b505050565b6003546001600160a01b031633146107135760405162461bcd60e51b815260040161035990611c4c565b61071d6000610d29565b565b6003546001600160a01b031633146107495760405162461bcd60e51b815260040161035990611c4c565b6104da84848484610d7b565b610760338383610e51565b5050565b6001600160a01b0385163314806107805750610780853361028a565b61079c5760405162461bcd60e51b815260040161035990611d03565b6105708585858585610f32565b6003546001600160a01b031633146107d35760405162461bcd60e51b815260040161035990611c4c565b6001600160a01b0381166108385760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610359565b61040d81610d29565b6001600160a01b03831633148061085d575061085d833361028a565b6108795760405162461bcd60e51b815260040161035990611d03565b6106e483838361104f565b80516107609060029060208401906114cc565b6001600160a01b0384166108bd5760405162461bcd60e51b815260040161035990611d4c565b81518351146108de5760405162461bcd60e51b815260040161035990611d8d565b336108ee81600087878787611150565b60005b84518110156109895783818151811061090c5761090c611cbc565b602002602001015160008087848151811061092957610929611cbc565b602002602001015181526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109719190611dd5565b9091555081905061098181611ce8565b9150506108f1565b50846001600160a01b031660006001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb87876040516109da929190611ded565b60405180910390a46105708160008787878761115e565b8151835114610a125760405162461bcd60e51b815260040161035990611d8d565b6001600160a01b038416610a385760405162461bcd60e51b815260040161035990611e1b565b33610a47818787878787611150565b60005b8451811015610b2d576000858281518110610a6757610a67611cbc565b602002602001015190506000858381518110610a8557610a85611cbc565b602090810291909101810151600084815280835260408082206001600160a01b038e168352909352919091205490915081811015610ad55760405162461bcd60e51b815260040161035990611e60565b6000838152602081815260408083206001600160a01b038e8116855292528083208585039055908b16825281208054849290610b12908490611dd5565b9250508190555050505080610b2690611ce8565b9050610a4a565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051610b7d929190611ded565b60405180910390a4610b9381878787878761115e565b505050505050565b6001600160a01b038316610bc15760405162461bcd60e51b815260040161035990611eaa565b8051825114610be25760405162461bcd60e51b815260040161035990611d8d565b6000339050610c0581856000868660405180602001604052806000815250611150565b60005b8351811015610cca576000848281518110610c2557610c25611cbc565b602002602001015190506000848381518110610c4357610c43611cbc565b602090810291909101810151600084815280835260408082206001600160a01b038c168352909352919091205490915081811015610c935760405162461bcd60e51b815260040161035990611eed565b6000928352602083815260408085206001600160a01b038b1686529091529092209103905580610cc281611ce8565b915050610c08565b5060006001600160a01b0316846001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610d1b929190611ded565b60405180910390a