[ { "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": false, "internalType": "address", "name": "_pAccount", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_pId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_pAmount", "type": "uint256" } ], "name": "EMint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_pAccount", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_pStatus", "type": "bool" } ], "name": "ESetBlacklist", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "_pUri", "type": "string" } ], "name": "ESetURI", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_pAccount", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "_pStatus", "type": "bool" } ], "name": "ESetWhitelist", "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": "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": [], "name": "APPROVER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "BURNER_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": "EDITOR_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": "string", "name": "uri_", "type": "string" } ], "name": "MaviaLegendaryItemsInit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "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": "", "type": "address" } ], "name": "blacklist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pAccount", "type": "address" }, { "internalType": "uint256", "name": "_pId", "type": "uint256" }, { "internalType": "uint256", "name": "_pAmount", "type": "uint256" } ], "name": "fBurn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pAccount", "type": "address" }, { "internalType": "uint256", "name": "_pId", "type": "uint256" }, { "internalType": "uint256", "name": "_pAmount", "type": "uint256" } ], "name": "fMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pAccount", "type": "address" }, { "internalType": "bool", "name": "_pStatus", "type": "bool" } ], "name": "fSetBlacklist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_pIsPaused", "type": "bool" } ], "name": "fSetPause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_pUri", "type": "string" } ], "name": "fSetURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_pAccount", "type": "address" }, { "internalType": "bool", "name": "_pStatus", "type": "bool" } ], "name": "fSetWhitelist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_pMode", "type": "bool" } ], "name": "fSetWhitelistMode", "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": "_pAccount", "type": "address" }, { "internalType": "address", "name": "_pOperator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isPaused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isWhitelistMode", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "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": "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": "tos", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom2", "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": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelist", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
608060405234801561001057600080fd5b50612903806100206000396000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c806395d89b411161011a578063b11fe7b6116100ad578063d547741f1161007c578063d547741f146104ca578063e985e9c5146104dd578063f242432a146104f0578063f5ff2f1b14610503578063f9f92be41461051657600080fd5b8063b11fe7b614610471578063b187bd2614610484578063c3a875be14610496578063d5391393146104a357600080fd5b8063a22cb465116100e9578063a22cb46514610423578063a853211a14610436578063aa2f73351461044b578063add0ca681461045e57600080fd5b806395d89b41146103c05780639b19251a146103e55780639d0b037914610408578063a217fddf1461041b57600080fd5b80632eb2c2d6116101925780634245962b116101615780634245962b146103535780634e1273f41461037a5780634e73fb001461039a57806391d14854146103ad57600080fd5b80632eb2c2d6146103075780632f2ff15d1461031a57806336568abe1461032d57806336fe5b2f1461034057600080fd5b80630e89341c116101ce5780630e89341c14610297578063241de63d146102aa578063248a9ca3146102bd578063282c51f3146102e057600080fd5b8062fdd58e146101ff57806301ffc9a71461022557806303ee40191461024857806306fdde031461025d575b600080fd5b61021261020d36600461221b565b610539565b6040519081526020015b60405180910390f35b61023861023336600461232b565b6105d2565b604051901515815260200161021c565b61025b6102563660046122d7565b6105e3565b005b6040805180820190915260158152744d61766961204c6567656e64617279204974656d7360581b60208201525b60405161021c9190612570565b61028a6102a53660046122f1565b610610565b61025b6102b83660046121f2565b6106a4565b6102126102cb3660046122f1565b60009081526097602052604090206001015490565b6102127f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a84881565b61025b61031536600461208c565b610722565b61025b610328366004612309565b6107b9565b61025b61033b366004612309565b6107e4565b61025b61034e366004612363565b610862565b6102127f408a36151f841709116a4e8aca4e0202874f7f54687dcb863b1ea4672dc9d8cf81565b61038d610388366004612276565b610902565b60405161021c919061252f565b61025b6103a8366004612244565b610a64565b6102386103bb366004612309565b610ab0565b6040805180820190915260098152684c4547454e4441525960b81b602082015261028a565b6102386103f3366004612040565b60ca6020526000908152604090205460ff1681565b61025b610416366004612244565b610adb565b610212600081565b61025b6104313660046121f2565b610b11565b6102126000805160206128ae83398151915281565b61025b610459366004612363565b610be8565b61025b61046c3660046121f2565b610c45565b61025b61047f3660046122d7565b610cba565b60cb5461023890610100900460ff1681565b60cb546102389060ff1681565b6102127f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b61025b6104d8366004612309565b610cee565b6102386104eb36600461205a565b610d14565b61025b6104fe366004612132565b610d77565b61025b610511366004612195565b610dfe565b610238610524366004612040565b60c96020526000908152604090205460ff1681565b60006001600160a01b0383166105aa5760405162461bcd60e51b815260206004820152602b60248201527f455243313135353a2062616c616e636520717565727920666f7220746865207a60448201526a65726f206164647265737360a81b60648201526084015b60405180910390fd5b5060009081526065602090815260408083206001600160a01b03949094168352929052205490565b60006105dd82610f04565b92915050565b6000805160206128ae8339815191526105fc8133610f29565b5060cb805460ff1916911515919091179055565b60606067805461061f90612746565b80601f016020809104026020016040519081016040528092919081815260200182805461064b90612746565b80156106985780601f1061066d57610100808354040283529160200191610698565b820191906000526020600020905b81548152906001019060200180831161067b57829003601f168201915b50505050509050919050565b6000805160206128ae8339815191526106bd8133610f29565b6001600160a01b038316600081815260ca6020908152604091829020805460ff19168615159081179091558251938452908301527f0f035a7b5cd3a16de7240c055ea99af74f036ef6d31b11ea37b09ecf3e774c4691015b60405180910390a1505050565b6001600160a01b03851633148061073e575061073e8533610d14565b6107a55760405162461bcd60e51b815260206004820152603260248201527f455243313135353a207472616e736665722063616c6c6572206973206e6f74206044820152711bdddb995c881b9bdc88185c1c1c9bdd995960721b60648201526084016105a1565b6107b28585858585610f8d565b5050505050565b6000828152609760205260409020600101546107d58133610f29565b6107df838361118f565b505050565b6001600160a01b03811633146108545760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016105a1565b61085e8282611215565b5050565b600054610100900460ff168061087b575060005460ff16155b6108975760405162461bcd60e51b81526004016105a190612610565b600054610100900460ff161580156108b9576000805461ffff19166101011790555b6108c28261127c565b6108ca6112ec565b6108d5600033611370565b6108ed6000805160206128ae83398151915233611370565b801561085e576000805461ff00191690555050565b606081518351146109675760405162461bcd60e51b815260206004820152602960248201527f455243313135353a206163636f756e747320616e6420696473206c656e677468604482015268040dad2e6dac2e8c6d60bb1b60648201526084016105a1565b6000835167ffffffffffffffff81111561099157634e487b7160e01b600052604160045260246000fd5b6040519080825280602002602001820160405280156109ba578160200160208202803683370190505b50905060005b8451811015610a5c57610a218582815181106109ec57634e487b7160e01b600052603260045260246000fd5b6020026020010151858381518110610a1457634e487b7160e01b600052603260045260246000fd5b6020026020010151610539565b828281518110610a4157634e487b7160e01b600052603260045260246000fd5b6020908102919091010152610a55816127ae565b90506109c0565b509392505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610a8f8133610f29565b610aaa8484846040518060200160405280600081525061137a565b50505050565b60009182526097602090815260408084206001600160a01b0393909316845291905290205460ff1690565b7f3c11d16cbaffd01df69ce1c404f6340ee057498f5f00246190ea54220576a848610b068133610f29565b610aaa84848461148c565b336001600160a01b0383161415610b7c5760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2073657474696e6720617070726f76616c20737461747573604482015268103337b91039b2b63360b91b60648201526084016105a1565b3360008181526066602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6000805160206128ae833981519152610c018133610f29565b610c0a82611609565b7fdd0e90ffd4b3add591e993d5d5a07a2a7a59cb783913d0b3fa8f73b36365b56282604051610c399190612570565b60405180910390a15050565b6000805160206128ae833981519152610c5e8133610f29565b6001600160a01b038316600081815260c96020908152604091829020805460ff19168615159081179091558251938452908301527f8e76ce3f1e0d4c9bc4c14b49a3a5d306b7a43a638508252f978f2b3df239e6e89101610715565b6000805160206128ae833981519152610cd38133610f29565b5060cb80549115156101000261ff0019909216919091179055565b600082815260976020526040902060010154610d0a8133610f29565b6107df8383611215565b6000610d407f408a36151f841709116a4e8aca4e0202874f7f54687dcb863b1ea4672dc9d8cf83610ab0565b80610d7057506001600160a01b0380841660009081526066602090815260408083209386168352929052205460ff165b9392505050565b6001600160a01b038516331480610d935750610d938533610d14565b610df15760405162461bcd60e51b815260206004820152602960248201527f455243313135353a2063616c6c6572206973206e6f74206f776e6572206e6f7260448201526808185c1c1c9bdd995960ba1b60648201526084016105a1565b6107b2858585858561161c565b6001600160a01b038516331480610e1a5750610e1a8533610d14565b610e5c5760405162461bcd60e51b815260206004820152601360248201527227232a1d1034b73b30b634b21031b0b63632b960691b60448201526064016105a1565b60005b8451811015610efc57610eea86868381518110610e8c57634e487b7160e01b600052603260045260246000fd5b6020026020010151868481518110610eb457634e487b7160e01b600052603260045260246000fd5b6020026020010151868581518110610edc57634e487b7160e01b600052603260045260246000fd5b60200260200101518661161c565b80610ef4816127ae565b915050610e5f565b505050505050565b60006001600160e01b03198216637965db0b60e01b14806105dd57506105dd8261173d565b610f338282610ab0565b61085e57610f4b816001600160a01b0316601461178d565b610f5683602061178d565b604051602001610f67929190612417565b60408051601f198184030181529082905262461bcd60e51b82526105a191600401612570565b8151835114610fef5760405162461bcd60e51b815260206004820152602860248201527f455243313135353a2069647320616e6420616d6f756e7473206c656e677468206044820152670dad2e6dac2e8c6d60c31b60648201526084016105a1565b6001600160a01b0384166110155760405162461bcd60e51b81526004016105a1906125cb565b3361102481878787878761196f565b60005b845181101561112957600085828151811061105257634e487b7160e01b600052603260045260246000fd5b60200260200101519050600085838151811061107e57634e487b7160e01b600052603260045260246000fd5b60209081029190910181015160008481526065835260408082206001600160a01b038e1683529093529190912054909150818110156110cf5760405162461bcd60e51b81526004016105a19061265e565b60008381526065602090815260408083206001600160a01b038e8116855292528083208585039055908b1682528120805484929061110e9084906126cc565b9250508190555050505080611122906127ae565b9050611027565b50846001600160a01b0316866001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8787604051611179929190612542565b60405180910390a4610efc818787878787611ac4565b6111998282610ab0565b61085e5760008281526097602090815260408083206001600160a01b03851684529091529020805460ff191660011790556111d13390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61121f8282610ab0565b1561085e5760008281526097602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600054610100900460ff1680611295575060005460ff16155b6112b15760405162461bcd60e51b81526004016105a190612610565b600054610100900460ff161580156112d3576000805461ffff19166101011790555b6112db611c2f565b6112e3611c2f565b6108ed82611c99565b600054610100900460ff1680611305575060005460ff16155b6113215760405162461bcd60e51b81526004016105a190612610565b600054610100900460ff16158015611343576000805461ffff19166101011790555b61134b611c2f565b611353611c2f565b61135b611c2f565b801561136d576000805461ff00191690555b50565b61085e828261118f565b6001600160a01b0384166113da5760405162461bcd60e51b815260206004820152602160248201527f455243313135353a206d696e7420746f20746865207a65726f206164647265736044820152607360f81b60648201526084016105a1565b336113fa816000876113eb88611cf9565b6113f488611cf9565b8761196f565b60008481526065602090815260408083206001600160a01b03891684529091528120805485929061142c9084906126cc565b909155505060408051858152602081018590526001600160a01b0380881692600092918516917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46107b281600087878787611d52565b6001600160a01b0383166114ee5760405162461bcd60e51b815260206004820152602360248201527f455243313135353a206275726e2066726f6d20746865207a65726f206164647260448201526265737360e81b60648201526084016105a1565b3361151d818560006114ff87611cf9565b61150887611cf9565b6040518060200160405280600081525061196f565b60008381526065602090815260408083206001600160a01b03881684529091529020548281101561159c5760405162461bcd60e51b8152602060048201526024808201527f455243313135353a206275726e20616d6f756e7420657863656564732062616c604482015263616e636560e01b60648201526084016105a1565b60008481526065602090815260408083206001600160a01b03898116808652918452828520888703905582518981529384018890529092908616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a45050505050565b805161085e906067906020840190611e1c565b6001600160a01b0384166116425760405162461bcd60e51b81526004016105a1906125cb565b336116528187876113eb88611cf9565b60008481526065602090815260408083206001600160a01b038a168452909152902054838110156116955760405162461bcd60e51b81526004016105a19061265e565b60008581526065602090815260408083206001600160a01b038b81168552925280832087850390559088168252812080548692906116d49084906126cc565b909155505060408051868152602081018690526001600160a01b03808916928a821692918616917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a4611734828888888888611d52565b50505050505050565b60006001600160e01b03198216636cdb3d1360e11b148061176e57506001600160e01b031982166303a24d0760e21b145b806105dd57506301ffc9a760e01b6001600160e01b03198316146105dd565b6060600061179c8360026126e4565b6117a79060026126cc565b67ffffffffffffffff8111156117cd57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156117f7576020820181803683370190505b509050600360fc1b8160008151811061182057634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061185d57634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060006118818460026126e4565b61188c9060016126cc565b90505b6001811115611920576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106118ce57634e487b7160e01b600052603260045260246000fd5b1a60f81b8282815181106118f257634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c936119198161272f565b905061188f565b508315610d705760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016105a1565b60cb54610100900460ff16156119b55760405162461bcd60e51b815260206004820152600b60248201526a1391950e8814185d5cd95960aa1b60448201526064016105a1565b6001600160a01b038616600090815260c9602052604090205460ff161580156119f757506001600160a01b038516600090815260c9602052604090205460ff16155b8015611a1c57506001600160a01b038416600090815260c9602052604090205460ff16155b611a595760405162461bcd60e51b815260206004820152600e60248201526d1391950e88109b1858dadb1a5cdd60921b60448201526064016105a1565b60cb5460ff1615610efc576001600160a01b038616600090815260ca602052604090205460ff16610efc5760405162461bcd60e51b81526020600482015260156024820152741391950e88139bdd081a5b881dda1a5d195b1a5cdd605a1b60448201526064016105a1565b6001600160a01b0384163b15610efc5760405163bc197c8160e01b81526001600160a01b0385169063bc197c8190611b08908990899088908890889060040161248c565b602060405180830381600087803b158015611b2257600080fd5b505af1925050508015611b52575060408051601f3d908101601f19168201909252611b4f91810190612347565b60015b611bff57611b5e6127f5565b806308c379a01415611b985750611b7361280d565b80611b7e5750611b9a565b8060405162461bcd60e51b81526004016105a19190612570565b505b60405162461bcd60e51b815260206004820152603460248201527f455243313135353a207472616e7366657220746f206e6f6e20455243313135356044820152732932b1b2b4bb32b91034b6b83632b6b2b73a32b960611b60648201526084016105a1565b6001600160e01b0319811663bc197c8160e01b146117345760405162461bcd60e51b81526004016105a190612583565b600054610100900460ff1680611c48575060005460ff16155b611c645760405162461bcd60e51b81526004016105a190612610565b600054610100900460ff1615801561135b576000805461ffff1916610101179055801561136d576000805461ff001916905550565b600054610100900460ff1680611cb2575060005460ff16155b611cce5760405162461bcd60e51b81526004016105a190612610565b600054610100900460ff16158015611cf0576000805461ffff19166101011790555b6108ed82611609565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110611d4157634e487b7160e01b600052603260045260246000fd5b602090810291909101015292915050565b6001600160a01b0384163b15610efc5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190611d9690899089908890889088906004016124ea565b602060405180830381600087803b158015611db057600080fd5b505af1925050508015611de0575060408051601f3d908101601f19168201909252611ddd91810190612347565b60015b611dec57611b5e6127f5565b6001600160e01b0319811663f23a6e6160e01b146117345760405162461bcd60e51b81526004016105a190612583565b828054611e2890612746565b90600052602060002090601f016020900481019282611e4a5760008555611e90565b82601f10611e6357805160ff1916838001178555611e90565b82800160010185558215611e90579182015b82811115611e90578251825591602001919060010190611e75565b50611e9c929150611ea0565b5090565b5b80821115611e9c5760008155600101611ea1565b600067ffffffffffffffff831115611ecf57611ecf6127df565b604051611ee6601f8501601f191660200182612781565b809150838152848484011115611efb57600080fd5b83836020830137600060208583010152509392505050565b80356001600160a01b0381168114611f2a57600080fd5b919050565b600082601f830112611f3f578081fd5b81356020611f4c826126a8565b604051611f598282612781565b8381528281019150858301600585901b87018401881015611f78578586fd5b855b85811015611f9d57611f8b82611f13565b84529284019290840190600101611f7a565b5090979650505050505050565b600082601f830112611fba578081fd5b81356020611fc7826126a8565b604051611fd48282612781565b8381528281019150858301600585901b87018401881015611ff3578586fd5b855b85811015611f9d57813584529284019290840190600101611ff5565b80358015158114611f2a57600080fd5b600082601f830112612031578081fd5b610d7083833560208501611eb5565b600060208284031215612051578081fd5b610d7082611f13565b6000806040838503121561206c578081fd5b61207583611f13565b915061208360208401611f13565b90509250929050565b600080600080600060a086880312156120a3578081fd5b6120ac86611f13565b94506120ba60208701611f13565b9350604086013567ffffffffffffffff808211156120d6578283fd5b6120e289838a01611faa565b945060608801359150808211156120f7578283fd5b61210389838a01611faa565b93506080880135915080821115612118578283fd5b5061212588828901612021565b9150509295509295909350565b600080600080600060a08688031215612149578081fd5b61215286611f13565b945061216060208701611f13565b93506040860135925060608601359150608086013567ffffffffffffffff811115612189578182fd5b61212588828901612021565b600080600080600060a086880312156121ac578081fd5b6121b586611f13565b9450602086013567ffffffffffffffff808211156121d1578283fd5b6121dd89838a01611f2f565b955060408801359150808211156120d6578283fd5b60008060408385031215612204578182fd5b61220d83611f13565b915061208360208401612011565b6000806040838503121561222d578081fd5b61223683611f13565b946020939093013593505050565b600080600060608486031215612258578081fd5b61226184611f13565b95602085013595506040909401359392505050565b60008060408385031215612288578182fd5b823567ffffffffffffffff8082111561229f578384fd5b6122ab86838701611f2f565b935060208501359150808211156122c0578283fd5b506122cd85828601611faa565b9150509250929050565b6000602082840312156122e8578081fd5b610d7082612011565b600060208284031215612302578081fd5b5035919050565b6000806040838503121561231b578182fd5b8235915061208360208401611f13565b60006020828403121561233c578081fd5b8135610d7081612897565b600060208284031215612358578081fd5b8151610d7081612897565b600060208284031215612374578081fd5b813567ffffffffffffffff81111561238a578182fd5b8201601f8101841361239a578182fd5b6123a984823560208401611eb5565b949350505050565b6000815180845260208085019450808401835b838110156123e0578151875295820195908201906001016123c4565b509495945050505050565b60008151808452612403816020860160208601612703565b601f01601f19169290920160200192915050565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161244f816017850160208801612703565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612480816028840160208801612703565b01602801949350505050565b6001600160a01b0386811682528516602082015260a0604082018190526000906124b8908301866123b1565b82810360608401526124ca81866123b1565b905082810360808401526124de81856123eb565b98975050505050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090612524908301846123eb565b979650505050505050565b602081526000610d7060208301846123b1565b60408152600061255560408301856123b1565b828103602084015261256781856123b1565b95945050505050565b602081526000610d7060208301846123eb565b60208082526028908201527f455243313135353a204552433131353552656365697665722072656a656374656040820152676420746f6b656e7360c01b606082015260800190565b60208082526025908201527f455243313135353a207472616e7366657220746f20746865207a65726f206164604082015264647265737360d81b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252602a908201527f455243313135353a20696e73756666696369656e742062616c616e636520666f60408201526939103a3930b739b332b960b11b606082015260800190565b600067ffffffffffffffff8211156126c2576126c26127df565b5060051b60200190565b600082198211156126df576126df6127c9565b500190565b60008160001904831182151516156126fe576126fe6127c9565b500290565b60005b8381101561271e578181015183820152602001612706565b83811115610aaa5750506000910152565b60008161273e5761273e6127c9565b506000190190565b600181811c9082168061275a57607f821691505b6020821081141561277b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8201601f1916810167ffffffffffffffff811182821017156127a7576127a76127df565b6040525050565b60006000198214156127c2576127c26127c9565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d111561280a57600481823e5160e01c5b90565b600060443d101561281b5790565b6040516003193d81016004833e81513d67ffffffffffffffff816024840111818411171561284b57505050505090565b82850191508151818111156128635750505050505090565b843d870101602082850101111561287d5750505050505090565b61288c60208286010187612781565b509095945050505050565b6001600160e01b03198116811461136d57600080fdfe21d1167972f621f75904fb065136bc8b53c7ba1c60ccd3a7758fbee465851e9ca2646970667358221220ce97bb0fc113611917e72775e9e00f9dbbbbfea3cc7839802f8f5e2701fab8fa64736f6c63430008040033