[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint8", "name": "decimals_", "type": "uint8" }, { "internalType": "uint256", "name": "cap_", "type": "uint256" }, { "internalType": "uint256", "name": "initialBalance_", "type": "uint256" }, { "internalType": "address payable", "name": "feeReceiver_", "type": "address" } ], "stateMutability": "payable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [], "name": "MintFinished", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approveAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "approveAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "finishMinting", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintingFinished", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "uint256", "name": "tokenAmount", "type": "uint256" } ], "name": "recoverERC20", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "transferFromAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFromAndCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c060408190526005805460ff1916905562002590388190039081908339810160408190526200002f9162000535565b806040518060400160405280600d81526020016c0506f77657266756c455243323609c1b8152508486898981600390805190602001906200007292919062000400565b5080516200008890600490602084019062000400565b50505060f81b7fff000000000000000000000000000000000000000000000000000000000000001660805280620001065760405162461bcd60e51b815260206004820152601560248201527f45524332304361707065643a206361702069732030000000000000000000000060448201526064015b60405180910390fd5b60a05260058054610100600160a81b0319163361010081029190911790915560405181906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506200016060003362000267565b6200018c7ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc93362000267565b6040516315b36b9760e11b81526001600160a01b03831690632b66d72e903490620001bc908590600401620005e9565b6000604051808303818588803b158015620001d657600080fd5b505af1158015620001eb573d6000803e3d6000fd5b5050505050505082821115620002445760405162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a20436170206578636565646564000000000000006044820152606401620000fd565b6200025b33836200027760201b62000d0f1760201c565b505050505050620006c9565b6200027382826200035c565b5050565b6001600160a01b038216620002cf5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401620000fd565b8060026000828254620002e391906200061e565b90915550506001600160a01b03821660009081526020819052604081208054839290620003129084906200061e565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60008281526006602090815260408083206001600160a01b038516845290915290205460ff16620002735760008281526006602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620003bc3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b8280546200040e9062000676565b90600052602060002090601f0160209004810192826200043257600085556200047d565b82601f106200044d57805160ff19168380011785556200047d565b828001600101855582156200047d579182015b828111156200047d57825182559160200191906001019062000460565b506200048b9291506200048f565b5090565b5b808211156200048b576000815560010162000490565b600082601f830112620004b7578081fd5b81516001600160401b0380821115620004d457620004d4620006b3565b604051601f8301601f19908116603f01168101908282118183101715620004ff57620004ff620006b3565b8160405283815286602085880101111562000518578485fd5b6200052b84602083016020890162000643565b9695505050505050565b60008060008060008060c087890312156200054e578182fd5b86516001600160401b038082111562000565578384fd5b620005738a838b01620004a6565b9750602089015191508082111562000589578384fd5b506200059889828a01620004a6565b955050604087015160ff81168114620005af578283fd5b6060880151608089015160a08a015192965090945092506001600160a01b0381168114620005db578182fd5b809150509295509295509295565b60208152600082518060208401526200060a81604085016020870162000643565b601f01601f19169190910160400192915050565b600082198211156200063e57634e487b7160e01b81526011600452602481fd5b500190565b60005b838110156200066057818101518382015260200162000646565b8381111562000670576000848401525b50505050565b600181811c908216806200068b57607f821691505b60208210811415620006ad57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b60805160f81c60a051611e97620006f960003960008181610327015261180e015260006102e80152611e976000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806370a0823111610125578063a457c2d7116100ad578063d53913931161007c578063d5391393146104a1578063d547741f146104c8578063d8fbe994146104db578063dd62ed3e146104ee578063f2fde38b1461052757600080fd5b8063a457c2d714610455578063a9059cbb14610468578063c1d34b891461047b578063cae9ca511461048e57600080fd5b80638980f11f116100f45780638980f11f146103f65780638da5cb5b1461040957806391d148541461043257806395d89b4114610445578063a217fddf1461044d57600080fd5b806370a08231146103aa578063715018a6146103d357806379cc6790146103db5780637d64bcb4146103ee57600080fd5b80632f2ff15d116101a857806336568abe1161017757806336568abe1461034b578063395093511461035e5780634000aea01461037157806340c10f191461038457806342966c681461039757600080fd5b80632f2ff15d146102cc578063313ce567146102e15780633177029f14610312578063355274ea1461032557600080fd5b80631296ee62116101e45780631296ee621461027157806318160ddd1461028457806323b872dd14610296578063248a9ca3146102a957600080fd5b806301ffc9a71461021657806305d2035b1461023e57806306fdde0314610249578063095ea7b31461025e575b600080fd5b610229610224366004611b39565b61053a565b60405190151581526020015b60405180910390f35b60055460ff16610229565b61025161054b565b6040516102359190611c7f565b61022961026c366004611a61565b6105dd565b61022961027f366004611a61565b6105f3565b6002545b604051908152602001610235565b6102296102a43660046119c0565b610616565b6102886102b7366004611aff565b60009081526006602052604090206001015490565b6102df6102da366004611b17565b6106cc565b005b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610235565b610229610320366004611a61565b6106f7565b7f0000000000000000000000000000000000000000000000000000000000000000610288565b6102df610359366004611b17565b610713565b61022961036c366004611a61565b610791565b61022961037f366004611a8a565b6107c8565b6102df610392366004611a61565b610807565b6102df6103a5366004611aff565b610834565b6102886103b8366004611974565b6001600160a01b031660009081526020819052604090205490565b6102df610841565b6102df6103e9366004611a61565b6108c1565b6102df610944565b6102df610404366004611a61565b610971565b60055461010090046001600160a01b03166040516001600160a01b039091168152602001610235565b610229610440366004611b17565b610a48565b610251610a73565b610288600081565b610229610463366004611a61565b610a82565b610229610476366004611a61565b610b13565b6102296104893660046119fb565b610b20565b61022961049c366004611a8a565b610b5e565b6102887ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc981565b6102df6104d6366004611b17565b610bd0565b6102296104e93660046119c0565b610bf6565b6102886104fc36600461198e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6102df610535366004611974565b610c13565b600061054582610dee565b92915050565b60606003805461055a90611de4565b80601f016020809104026020016040519081016040528092919081815260200182805461058690611de4565b80156105d35780601f106105a8576101008083540402835291602001916105d3565b820191906000526020600020905b8154815290600101906020018083116105b657829003601f168201915b5050505050905090565b60006105ea338484610e13565b50600192915050565b600061060f8383604051806020016040528060008152506107c8565b9392505050565b6000610623848484610f38565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156106ad5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6106c185336106bc8685611d86565b610e13565b506001949350505050565b6000828152600660205260409020600101546106e88133611110565b6106f28383611174565b505050565b600061060f838360405180602001604052806000815250610b5e565b6001600160a01b03811633146107835760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016106a4565b61078d82826111fa565b5050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916105ea9185906106bc908690611d4f565b60006107d48484610b13565b506107e133858585611261565b6107fd5760405162461bcd60e51b81526004016106a490611cd4565b5060019392505050565b60055460ff161561082a5760405162461bcd60e51b81526004016106a490611c92565b61078d828261131f565b61083e33826113b3565b50565b6005546001600160a01b036101009091041633146108715760405162461bcd60e51b81526004016106a490611d1a565b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b60006108cd83336104fc565b90508181101561092b5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b60648201526084016106a4565b61093a83336106bc8585611d86565b6106f283836113b3565b60055460ff16156109675760405162461bcd60e51b81526004016106a490611c92565b61096f611502565b565b6005546001600160a01b036101009091041633146109a15760405162461bcd60e51b81526004016106a490611d1a565b816001600160a01b031663a9059cbb6109c86005546001600160a01b036101009091041690565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b158015610a1057600080fd5b505af1158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106f29190611adf565b60009182526006602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461055a90611de4565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610b045760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106a4565b6107fd33856106bc8685611d86565b60006105ea338484610f38565b6000610b2d858585610616565b50610b3a85858585611261565b6106c15760405162461bcd60e51b81526004016106a490611cd4565b949350505050565b6000610b6a84846105dd565b50610b7684848461153a565b6107fd5760405162461bcd60e51b815260206004820152602560248201527f455243313336333a205f636865636b416e6443616c6c417070726f7665207265604482015264766572747360d81b60648201526084016106a4565b600082815260066020526040902060010154610bec8133611110565b6106f283836111fa565b6000610b5684848460405180602001604052806000815250610b20565b6005546001600160a01b03610100909104163314610c435760405162461bcd60e51b81526004016106a490611d1a565b6001600160a01b038116610ca85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106a4565b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b6001600160a01b038216610d655760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016106a4565b8060026000828254610d779190611d4f565b90915550506001600160a01b03821660009081526020819052604081208054839290610da4908490611d4f565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b60006001600160e01b03198216637965db0b60e01b14806105455750610545826115f5565b6001600160a01b038316610e755760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a4565b6001600160a01b038216610ed65760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a4565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316610f9c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a4565b6001600160a01b038216610ffe5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a4565b6001600160a01b038316600090815260208190526040902054818110156110765760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106a4565b6110808282611d86565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906110b6908490611d4f565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161110291815260200190565b60405180910390a350505050565b61111a8282610a48565b61078d57611132816001600160a01b0316601461162a565b61113d83602061162a565b60405160200161114e929190611b9d565b60408051601f198184030181529082905262461bcd60e51b82526106a491600401611c7f565b61117e8282610a48565b61078d5760008281526006602090815260408083206001600160a01b03851684529091529020805460ff191660011790556111b63390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6112048282610a48565b1561078d5760008281526006602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b60006001600160a01b0384163b61127a57506000610b56565b604051632229f29760e21b81526000906001600160a01b038616906388a7ca5c906112af9033908a9089908990600401611c12565b602060405180830381600087803b1580156112c957600080fd5b505af11580156112dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113019190611b55565b6001600160e01b031916632229f29760e21b14915050949350505050565b6113497ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc933610a48565b6113a95760405162461bcd60e51b815260206004820152602b60248201527f526f6c65733a2063616c6c657220646f6573206e6f742068617665207468652060448201526a4d494e54455220726f6c6560a81b60648201526084016106a4565b61078d828261180c565b6001600160a01b0382166114135760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b60648201526084016106a4565b6001600160a01b038216600090815260208190526040902054818110156114875760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b60648201526084016106a4565b6114918282611d86565b6001600160a01b038416600090815260208190526040812091909155600280548492906114bf908490611d86565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610f2b565b6005546001600160a01b036101009091041633146115325760405162461bcd60e51b81526004016106a490611d1a565b61096f611899565b60006001600160a01b0384163b6115535750600061060f565b6040516307b04a2d60e41b81526000906001600160a01b03861690637b04a2d09061158690339088908890600401611c4f565b602060405180830381600087803b1580156115a057600080fd5b505af11580156115b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115d89190611b55565b6001600160e01b0319166307b04a2d60e41b149150509392505050565b60006001600160e01b0319821663b0202a1160e01b148061054557506301ffc9a760e01b6001600160e01b0319831614610545565b60606000611639836002611d67565b611644906002611d4f565b67ffffffffffffffff81111561166a57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611694576020820181803683370190505b509050600360fc1b816000815181106116bd57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106116fa57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600061171e846002611d67565b611729906001611d4f565b90505b60018111156117bd576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061176b57634e487b7160e01b600052603260045260246000fd5b1a60f81b82828151811061178f57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936117b681611dcd565b905061172c565b50831561060f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016106a4565b7f00000000000000000000000000000000000000000000000000000000000000008161183760025490565b6118419190611d4f565b111561188f5760405162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a206361702065786365656465640000000000000060448201526064016106a4565b61078d8282610d0f565b6005805460ff191660011790556040517fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0890600090a1565b80356001600160a01b03811681146118e857600080fd5b919050565b600082601f8301126118fd578081fd5b813567ffffffffffffffff8082111561191857611918611e35565b604051601f8301601f19908116603f0116810190828211818310171561194057611940611e35565b81604052838152866020858801011115611958578485fd5b8360208701602083013792830160200193909352509392505050565b600060208284031215611985578081fd5b61060f826118d1565b600080604083850312156119a0578081fd5b6119a9836118d1565b91506119b7602084016118d1565b90509250929050565b6000806000606084860312156119d4578081fd5b6119dd846118d1565b92506119eb602085016118d1565b9150604084013590509250925092565b60008060008060808587031215611a10578081fd5b611a19856118d1565b9350611a27602086016118d1565b925060408501359150606085013567ffffffffffffffff811115611a49578182fd5b611a55878288016118ed565b91505092959194509250565b60008060408385031215611a73578182fd5b611a7c836118d1565b946020939093013593505050565b600080600060608486031215611a9e578283fd5b611aa7846118d1565b925060208401359150604084013567ffffffffffffffff811115611ac9578182fd5b611ad5868287016118ed565b9150509250925092565b600060208284031215611af0578081fd5b8151801515811461060f578182fd5b600060208284031215611b10578081fd5b5035919050565b60008060408385031215611b29578182fd5b823591506119b7602084016118d1565b600060208284031215611b4a578081fd5b813561060f81611e4b565b600060208284031215611b66578081fd5b815161060f81611e4b565b60008151808452611b89816020860160208601611d9d565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351611bd5816017850160208801611d9d565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351611c06816028840160208801611d9d565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090611c4590830184611b71565b9695505050505050565b60018060a01b0384168152826020820152606060408201526000611c766060830184611b71565b95945050505050565b60208152600061060f6020830184611b71565b60208082526022908201527f45524332304d696e7461626c653a204d696e74696e672069732066696e697368604082015261195960f21b606082015260800190565b60208082526026908201527f455243313336333a205f636865636b416e6443616c6c5472616e73666572207260408201526565766572747360d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008219821115611d6257611d62611e1f565b500190565b6000816000190483118215151615611d8157611d81611e1f565b500290565b600082821015611d9857611d98611e1f565b500390565b60005b83811015611db8578181015183820152602001611da0565b83811115611dc7576000848401525b50505050565b600081611ddc57611ddc611e1f565b506000190190565b600181811c90821680611df857607f821691505b60208210811415611e1957634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b03198116811461083e57600080fdfea2646970667358221220b4de40bb8e7b3e63cc8a8703e35632a090f33f9e50bdc8ae44821951a681b51764736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000001200000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000052b7d2dcc80cd2e4000000000000000000000000000000930e15f678b9ded1bc1a2cd98ba5861e34de3b0f000000000000000000000000000000000000000000000000000000000000000856656e646574746100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000035644540000000000000000000000000000000000000000000000000000000000