2.6k txs
2.6k calls
constructor
constructor(address _aliceToken, address admin, address _primaryWallet, address _secondaryWallet, uint256 _secondaryMarketFees)
functions
ADMIN
viewfunction ADMIN() view returns (bytes32)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
acceptOffer
nonpayablefunction acceptOffer(address nftContract, uint256 tokenID)
blacklist
nonpayablefunction blacklist(address nftContract)
declineOffer
nonpayablefunction declineOffer(address nftContract, uint256 tokenID)
delist
nonpayablefunction delist(uint256 tokenID, address nftContract)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
offer
nonpayablefunction offer(address nftContract, uint256 tokenID, uint256 offerAmount)
purchase
nonpayablefunction purchase(address nftContract, uint256 tokenID)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
sell
nonpayablefunction sell(uint256 tokenID, address nftContract, uint256 price)
setPrimaryWallet
nonpayablefunction setPrimaryWallet(address wallet)
setSecondaryMarketFee
nonpayablefunction setSecondaryMarketFee(uint8 value)
setSecondaryWallet
nonpayablefunction setSecondaryWallet(address wallet)
whitelist
nonpayablefunction whitelist(address nftContract)
withdrawOffer
nonpayablefunction withdrawOffer(address nftContract, uint256 tokenID)
events
AssetDelisting
event AssetDelisting(address nftContract, uint256 tokenID)
AssetListing
event AssetListing(address indexed nftContract, uint256 tokenID, uint256 price, bool primary)
AssetOffer
event AssetOffer(address indexed offerer, address indexed nftContract, uint256 tokenID, uint256 amount)
AssetRelisting
event AssetRelisting(address indexed nftContract, uint256 tokenID, uint256 newPrice)
FixedPriceTransfer
event FixedPriceTransfer(address indexed from, address indexed to, address indexed nftContract, uint256 tokenID, uint256 price, uint256 royaltyFee, uint256 secondaryMarketFee, bool primary, bool offer)
OfferDeclined
event OfferDeclined(address indexed decliner, address indexed declinedOfferer, address indexed nftContract, uint256 tokenID)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b5060405162003383380380620033838339810160408190526200003491620002ca565b60408051606081018252600e602082018181526d4669786564507269636553616c6560901b938301938452825290916005916200007391839162000207565b50620000a591507f3b822d42f20e775e27986b90f36e550048710237dc1edb097984b657d5347cd5905060006200011b565b620000d17f3b822d42f20e775e27986b90f36e550048710237dc1edb097984b657d5347cd58562000166565b600480546001600160a01b03199081166001600160a01b0397881617909155600280548216938716939093179092556001805490921692909416919091179055506003556200036d565b600082815260208190526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff1662000203576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620001c23390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b828054620002159062000331565b90600052602060002090601f01602090048101928262000239576000855562000284565b82601f106200025457805160ff191683800117855562000284565b8280016001018555821562000284579182015b828111156200028457825182559160200191906001019062000267565b506200029292915062000296565b5090565b5b8082111562000292576000815560010162000297565b80516001600160a01b0381168114620002c557600080fd5b919050565b600080600080600060a08688031215620002e357600080fd5b620002ee86620002ad565b9450620002fe60208701620002ad565b93506200030e60408701620002ad565b92506200031e60608701620002ad565b9150608086015190509295509295909350565b600181811c908216806200034657607f821691505b6020821081036200036757634e487b7160e01b600052602260045260246000fd5b50919050565b613006806200037d6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c8063775b271c116100ad578063b1b9e78d11610071578063b1b9e78d1461027a578063d547741f1461028d578063d6fd7a5d146102a0578063f9f92be4146102b3578063ff3d5511146102c657600080fd5b8063775b271c146102265780638de932221461023957806391d148541461024c5780639b19251a1461025f578063a217fddf1461027257600080fd5b80634b78286a116100f45780634b78286a146101c75780634e74b66f146101da5780635b609021146101ed57806367cdf6c91461020057806374a460501461021357600080fd5b806301ffc9a714610131578063248a9ca3146101595780632a0acc6a1461018a5780632f2ff15d1461019f57806336568abe146101b4575b600080fd5b61014461013f366004612a26565b6102d9565b60405190151581526020015b60405180910390f35b61017c610167366004612a50565b60009081526020819052604090206001015490565b604051908152602001610150565b61017c600080516020612fb183398151915281565b6101b26101ad366004612a7e565b610310565b005b6101b26101c2366004612a7e565b61033a565b6101b26101d5366004612aae565b6103bd565b6101b26101e8366004612acb565b610413565b6101b26101fb366004612aee565b610499565b6101b261020e366004612b1a565b610610565b6101b2610221366004612b52565b610951565b6101b2610234366004612a7e565b610db3565b6101b2610247366004612aee565b610e9b565b61014461025a366004612a7e565b6115d0565b6101b261026d366004612aae565b6115f9565b61017c600081565b6101b2610288366004612aee565b611793565b6101b261029b366004612a7e565b611d92565b6101b26102ae366004612aae565b611db7565b6101b26102c1366004612aae565b611e0d565b6101b26102d4366004612aee565b611e62565b60006001600160e01b03198216637965db0b60e01b148061030a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60008281526020819052604090206001015461032b8161205b565b6103358383612065565b505050565b6001600160a01b03811633146103af5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6103b982826120e9565b5050565b6103d5600080516020612fb1833981519152336115d0565b6103f15760405162461bcd60e51b81526004016103a690612b87565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b61042b600080516020612fb1833981519152336115d0565b6104475760405162461bcd60e51b81526004016103a690612b87565b60648160ff1611156104915760405162461bcd60e51b8152602060048201526013602482015272056616c7565206d75737420626520302d31303606c1b60448201526064016103a6565b60ff16600355565b6001600160a01b038216600090815260066020526040902054829060ff1615156001146104d85760405162461bcd60e51b81526004016103a690612bb5565b6040516331a9108f60e11b81526004810183905283908390829033906001600160a01b03831690636352211e90602401602060405180830381865afa158015610525573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105499190612bdf565b6001600160a01b03161461056f5760405162461bcd60e51b81526004016103a690612bfc565b6001600160a01b038087166000908152600760209081526040808320898452825291829020825180840190935260028101549093168252600390920154918101919091526105be90878761214e565b6001600160a01b03968716600090815260076020908152604080832098835297815296902081516002820180546001600160a01b03191691909916179097559094015160039095019490945550505050565b6001600160a01b038216600090815260066020526040902054829060ff16151560011461064f5760405162461bcd60e51b81526004016103a690612bb5565b6040516331a9108f60e11b81526004810185905283908590829033906001600160a01b03831690636352211e90602401602060405180830381865afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c09190612bdf565b6001600160a01b0316146106e65760405162461bcd60e51b81526004016103a690612bfc565b6000851161072a5760405162461bcd60e51b8152602060048201526011602482015270050726963652063616e6e6f74206265203607c1b60448201526064016103a6565b6001600160a01b0386811660008181526007602090815260408083208c8452825291829020825160a08101845281548616815260018201548184015283518085018552600283015490961686526003820154928601929092528183019490945260049384015460ff808216151560608401526101009091041615156080820152905163020604bf60e21b81529283018a9052918891309163081812fc90602401602060405180830381865afa1580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b9190612bdf565b6001600160a01b0316146108615760405162461bcd60e51b815260206004820152601a60248201527f417070726f766520746f6b656e20666f72207472616e7366657200000000000060448201526064016103a6565b6001600160a01b03881660009081526007602090815260408083208c845290915290206004015460ff1661089f5761089a888a896121c8565b6108ab565b6108ab888a848a61227e565b6001600160a01b0398891660009081526007602090815260408083209c83529b8152908b902082518154908c166001600160a01b03199182161782558383015160018301559b830151805160028301805491909d169d169c909c17909a559990990151600389015550505060608601516004909501805460809097015115156101000261ff00199615159690961661ffff19909716969096179490941790945550505050565b6001600160a01b038316600090815260066020526040902054839060ff1615156001146109905760405162461bcd60e51b81526004016103a690612bb5565b60405163020604bf60e21b81526004810184905284908490829030906001600160a01b0383169063081812fc90602401602060405180830381865afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a019190612bdf565b6001600160a01b031614610a275760405162461bcd60e51b81526004016103a690612c27565b6001600160a01b0380881660009081526007602090815260408083208a8452825291829020825160a0810184528154851681526001820154818401528351808501855260028301549095168552600382015492850192909252918101929092526004015460ff8082161515606084018190526101009092041615156080830152610ae35760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a5908185cdcd95d609a1b60448201526064016103a6565b6040810151602082015187108015610afe5750868160200151105b610b565760405162461bcd60e51b8152602060048201526024808201527f6c6174657374206f66666572203c204f66666572203c206c697374696e6720706044820152637269636560e01b60648201526084016103a6565b600480546040516370a0823160e01b8152339281019290925288916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610ba3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc79190612c6b565b1015610be55760405162461bcd60e51b81526004016103a690612c84565b60048054604051636eb1769f60e11b8152339281019290925230602483015288916001600160a01b039091169063dd62ed3e90604401602060405180830381865afa158015610c38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5c9190612c6b565b1015610cb55760405162461bcd60e51b815260206004820152602260248201527f4552433230206e6f7420617070726f76656420666f72207468697320616d6f756044820152611b9d60f21b60648201526084016103a6565b610cc0818a8a61214e565b506040518060400160405280336001600160a01b0316815260200188815250600760008b6001600160a01b03166001600160a01b0316815260200190815260200160002060008a815260200190815260200160002060020160008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155905050886001600160a01b0316336001600160a01b03167fee0887f7b6c05b3db979d6db3af3bf889f29ac334aecbbea2482a93ea08c68818a8a604051610da0929190918252602082015260400190565b60405180910390a3505050505050505050565b6001600160a01b038116600090815260066020526040902054819060ff161515600114610df25760405162461bcd60e51b81526004016103a690612bb5565b6040516331a9108f60e11b81526004810184905282908490829033906001600160a01b03831690636352211e90602401602060405180830381865afa158015610e3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e639190612bdf565b6001600160a01b031614610e895760405162461bcd60e51b81526004016103a690612bfc565b610e9386866122f1565b505050505050565b6001600160a01b038216600090815260066020526040902054829060ff161515600114610eda5760405162461bcd60e51b81526004016103a690612bb5565b6001600160a01b038381166000908152600760209081526040808320868452825291829020825160a08101845281548516815260018201548184015283518085018552600283015490951685526003820154928501929092528183019390935260049283015460ff80821615156060840181905261010090920416151560808301528251632f5359a360e11b81526005948101949094526024840192909252600c60448401526b4e6f7420666f722073616c6560a01b60648401529173a84a29c8ec180d959998f9ebbae35b88209b24c390635ea6b34690608401600060405180830381865af4158015610fd2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ffa9190810190612cfc565b906110185760405162461bcd60e51b81526004016103a69190612da9565b50600480546040516370a0823160e01b815233928101929092526001600160a01b0316906370a0823190602401602060405180830381865afa158015611062573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110869190612c6b565b6020820151604051632f5359a360e11b81529110159073a84a29c8ec180d959998f9ebbae35b88209b24c390635ea6b346906110c790600590600401612ddc565b600060405180830381865af41580156110e4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261110c9190810190612cfc565b9061112a5760405162461bcd60e51b81526004016103a69190612da9565b50602081015160048054604051636eb1769f60e11b815233928101929092523060248301526001600160a01b03169063dd62ed3e90604401602060405180830381865afa15801561117f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a39190612c6b565b60408051632f5359a360e11b8152600560048201526024810191909152601d60448201527f4173736574207072696365206578636565647320616c6c6f77616e636500000060648201529111159073a84a29c8ec180d959998f9ebbae35b88209b24c390635ea6b34690608401600060405180830381865af415801561122d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112559190810190612cfc565b906112735760405162461bcd60e51b81526004016103a69190612da9565b5060405163020604bf60e21b815260048101849052849030906001600160a01b0383169063081812fc90602401602060405180830381865afa1580156112bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e19190612bdf565b6001600160a01b031614611300576112f984866122f1565b5050505050565b61130f8260400151868661214e565b6001600160a01b0386811660009081526007602090815260408083208984528252822084516002820180546001600160a01b0319169190951617909355929092015160039091015560808301518190156113e8576004805460015460208701516040516323b872dd60e01b81526001600160a01b03938416946323b872dd9461139f943394911692909101612e14565b6020604051808303816000875af11580156113be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e29190612e38565b50611498565b6113f88787866020015133612455565b60208601519193509150829061140f908390612e70565b6114199190612e70565b602085018190526004805486516040516323b872dd60e01b81526001600160a01b03909216936323b872dd93611453933393929101612e14565b6020604051808303816000875af1158015611472573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114969190612e38565b505b8351604051632142170760e11b81526001600160a01b038516916342842e0e916114c9919033908b90600401612e14565b600060405180830381600087803b1580156114e357600080fd5b505af11580156114f7573d6000803e3d6000fd5b505085516020808801516080808a0151604080518e81529485019390935283830188905260608401899052151590830152600060a0830152516001600160a01b038c81169550339450909216917f14613898ac09ecd8b774c0fcbab4dfc12b56ea893405ac56a95aa1b34f772f579181900360c00190a45050506001600160a01b0384166000908152600760209081526040808320868452909152812080546001600160a01b031990811682556001820183905560028201805490911690556003810191909155600401805461ffff1916905550505050565b6000918252602082815260408084206001600160a01b0393909316845291905290205460ff1690565b611611600080516020612fb1833981519152336115d0565b61162d5760405162461bcd60e51b81526004016103a690612b87565b6040516301ffc9a760e01b81526380ac58cd60e01b600482015281906001600160a01b038216906301ffc9a790602401602060405180830381865afa15801561167a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061169e9190612e38565b60408051632f5359a360e11b8152600560048201526024810191909152601760448201527f496e76616c69642045524337323120436f6e7472616374000000000000000000606482015273a84a29c8ec180d959998f9ebbae35b88209b24c390635ea6b34690608401600060405180830381865af4158015611724573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261174c9190810190612cfc565b9061176a5760405162461bcd60e51b81526004016103a69190612da9565b50506001600160a01b0381166000908152600660205260409020805460ff191660011790555b50565b6001600160a01b038216600090815260066020526040902054829060ff1615156001146117d25760405162461bcd60e51b81526004016103a690612bb5565b6040516331a9108f60e11b81526004810183905283908390829033906001600160a01b03831690636352211e90602401602060405180830381865afa15801561181f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118439190612bdf565b6001600160a01b0316146118695760405162461bcd60e51b81526004016103a690612bfc565b60405163020604bf60e21b81526004810186905286908690829030906001600160a01b0383169063081812fc90602401602060405180830381865afa1580156118b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118da9190612bdf565b6001600160a01b0316146119005760405162461bcd60e51b81526004016103a690612c27565b6001600160a01b03808a1660009081526007602090815260408083208c8452825291829020825160a081018452815485168152600182015481840152835180850185526002830154861681526003830154938101939093529283018290526004015460ff808216151560608501526101009091041615156080830152519091166119c45760405162461bcd60e51b81526020600482015260156024820152744e6f2076616c6964206f666665722065786973747360581b60448201526064016103a6565b60408181015160208101516004805492519351636eb1769f60e11b81526001600160a01b039485169181019190915230602482015290929091169063dd62ed3e90604401602060405180830381865afa158015611a25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a499190612c6b565b1015611aaf5760405162461bcd60e51b815260206004820152602f60248201527f426964646572204552433230206e6f206c6f6e67657220617070726f7665642060448201526e199bdc881d1a1a5cc8185b5bdd5b9d608a1b60648201526084016103a6565b600080826080015115611b4557600480546040808601518051875160209092015192516323b872dd60e01b81526001600160a01b03909416946323b872dd94611afc949293929101612e14565b6020604051808303816000875af1158015611b1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b3f9190612e38565b50611c16565b611b618c8c856040015160200151866040015160000151612455565b60408501516020015191935091508290611b7c908390612e70565b611b869190612e70565b6040808501805160209081019390935260048054915180518851919095015193516323b872dd60e01b81526001600160a01b03909316946323b872dd94611bd1949193909101612e14565b6020604051808303816000875af1158015611bf0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c149190612e38565b505b60008c9050806001600160a01b03166342842e0e85600001518660400151600001518f6040518463ffffffff1660e01b8152600401611c5793929190612e14565b600060405180830381600087803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b505050508c6001600160a01b03168460400151600001516001600160a01b031685600001516001600160a01b03167f14613898ac09ecd8b774c0fcbab4dfc12b56ea893405ac56a95aa1b34f772f578f88604001516020015187898b608001516001604051611d209695949392919095865260208601949094526040850192909252606084015215156080830152151560a082015260c00190565b60405180910390a45050506001600160a01b0390991660009081526007602090815260408083209a835299905297882080546001600160a01b03199081168255600182018a9055600282018054909116905560038101989098555050506004909401805461ffff191690555050505050565b600082815260208190526040902060010154611dad8161205b565b61033583836120e9565b611dcf600080516020612fb1833981519152336115d0565b611deb5760405162461bcd60e51b81526004016103a690612b87565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611e25600080516020612fb1833981519152336115d0565b611e415760405162461bcd60e51b81526004016103a690612b87565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b038216600090815260066020526040902054829060ff161515600114611ea15760405162461bcd60e51b81526004016103a690612bb5565b6001600160a01b038084166000908152600760209081526040808320868452825291829020825160a0810184528154851681526001820154818401528351808501855260028301548616815260038301549381019390935280840183905260049182015460ff80821615156060840152610100909104161515608082015291519251632f5359a360e11b815291939290921633149173a84a29c8ec180d959998f9ebbae35b88209b24c391635ea6b34691611f9891600591019081526040602082018190526019908201527f4f6e6c79204f666665726572206973207065726d697474656400000000000000606082015260800190565b600060405180830381865af4158015611fb5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611fdd9190810190612cfc565b90611ffb5760405162461bcd60e51b81526004016103a69190612da9565b5061200b8160400151858561214e565b6001600160a01b03948516600090815260076020908152604080832096835295815294902081516002820180546001600160a01b0319169190971617909555909201516003909301929092555050565b61179081336125db565b61206f82826115d0565b6103b9576000828152602081815260408083206001600160a01b03851684529091529020805460ff191660011790556120a53390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6120f382826115d0565b156103b9576000828152602081815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b604080518082019091526000808252602082015283516001600160a01b0316156121b85783516040518381526001600160a01b0380861692169033907f7515631784eaaae1894f4d5a73e3701333aab9e528cb74019a920ce1f2f039929060200160405180910390a45b5050600080835260208301525090565b6121d06129ca565b60006121ea600080516020612fb1833981519152336115d0565b60408051868152602081018690528215158183015290519192506001600160a01b038716917f873c68440b93316be55fa6546b1de9ec0346af19ecdcf03d9de4fe3b94d6616a9181900360600190a26040805160a081018252338152602080820195909552815180830183526000808252958101959095529081019390935260016060840152151560808301525092915050565b6122866129ca565b60208301829052604083015161229d90868661214e565b6040808501919091528051858152602081018490526001600160a01b038716917fc1ca1d2f88dd331752a2db17e9e0d2a690a4df83618f7773581ede753cf926e5910160405180910390a250909392505050565b6001600160a01b038082166000908152600760209081526040808320868452825291829020825160a0810184528154851681526001820154818401528351808501855260028301549095168552600382015492850192909252918101929092526004015460ff80821615156060840181905261010090920416151560808301526123b05760405162461bcd60e51b815260206004820152601060248201526f105cdcd95d081b9bdd081b1a5cdd195960821b60448201526064016103a6565b6123bf8160400151838561214e565b506001600160a01b0382166000818152600760209081526040808320878452825280832080546001600160a01b0319908116825560018201859055600282018054909116905560038101939093556004909201805461ffff19169055815192835282018590527fcb7fe4c71e0e65496c7b40b65dd9d6983509a6e672741bb62ce32f63a665c9d4910160405180910390a1505050565b600080600061246587878761263f565b909250905061247581838661274a565b6003546124828387612e70565b61248c9190612e87565b92506003548310156124e05760405162461bcd60e51b815260206004820152601960248201527f4f766572666c6f774050757263686173654665654379636c650000000000000060448201526064016103a6565b6124ec61271084612ea6565b925082156124fa57826124fd565b60015b600480546002546040516323b872dd60e01b81529396506001600160a01b03918216936323b872dd93612536938a931691899101612e14565b6020604051808303816000875af1158015612555573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125799190612e38565b6125d15760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220746f205365636f6e646172792057616c6c6574206661696044820152621b195960ea1b60648201526084016103a6565b5094509492505050565b6125e582826115d0565b6103b9576125fd816001600160a01b03166014612827565b612608836020612827565b604051602001612619929190612ec8565b60408051601f198184030181529082905262461bcd60e51b82526103a691600401612da9565b6040516301ffc9a760e01b815263152a902d60e11b6004820152600090819085906001600160a01b038216906301ffc9a790602401602060405180830381865afa158015612691573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126b59190612e38565b156127395760405163152a902d60e11b815260048101869052602481018590526001600160a01b03821690632a55205a906044016040805180830381865afa158015612705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127299190612f3d565b9350915082156127395750612742565b60008092509250505b935093915050565b6001600160a01b0383161561033557600480546040516323b872dd60e01b81526001600160a01b03909116916323b872dd9161278c9185918891889101612e14565b6020604051808303816000875af11580156127ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127cf9190612e38565b6103355760405162461bcd60e51b815260206004820152602360248201527f5472616e7366657220746f20526f79616c7479205265636569766572206661696044820152621b195960ea1b60648201526084016103a6565b60606000612836836002612e87565b612841906002612f6b565b67ffffffffffffffff81111561285957612859612cb6565b6040519080825280601f01601f191660200182016040528015612883576020820181803683370190505b509050600360fc1b8160008151811061289e5761289e612f83565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106128cd576128cd612f83565b60200101906001600160f81b031916908160001a90535060006128f1846002612e87565b6128fc906001612f6b565b90505b6001811115612974576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061293057612930612f83565b1a60f81b82828151811061294657612946612f83565b60200101906001600160f81b031916908160001a90535060049490941c9361296d81612f99565b90506128ff565b5083156129c35760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016103a6565b9392505050565b6040518060a0016040528060006001600160a01b0316815260200160008152602001612a12604051806040016040528060006001600160a01b03168152602001600081525090565b815260006020820181905260409091015290565b600060208284031215612a3857600080fd5b81356001600160e01b0319811681146129c357600080fd5b600060208284031215612a6257600080fd5b5035919050565b6001600160a01b038116811461179057600080fd5b60008060408385031215612a9157600080fd5b823591506020830135612aa381612a69565b809150509250929050565b600060208284031215612ac057600080fd5b81356129c381612a69565b600060208284031215612add57600080fd5b813560ff811681146129c357600080fd5b60008060408385031215612b0157600080fd5b8235612b0c81612a69565b946020939093013593505050565b600080600060608486031215612b2f57600080fd5b833592506020840135612b4181612a69565b929592945050506040919091013590565b600080600060608486031215612b6757600080fd5b8335612b7281612a69565b95602085013595506040909401359392505050565b602080825260149082015273125b9d985b1a59081858d8d95cdcc81b195d995b60621b604082015260600190565b60208082526010908201526f125b9d985b1a590818dbdb9d1c9858dd60821b604082015260600190565b600060208284031215612bf157600080fd5b81516129c381612a69565b6020808252601190820152700496e76616c6964206f776e65727368697607c1b604082015260600190565b60208082526024908201527f496e76616c69642041737365742f4f776e6572207265766f6b656420617070726040820152631bdd985b60e21b606082015260800190565b600060208284031215612c7d57600080fd5b5051919050565b60208152600061030a602083016012815271496e73756666696369656e742066756e647360701b602082015260400190565b634e487b7160e01b600052604160045260246000fd5b60005b83811015612ce7578181015183820152602001612ccf565b83811115612cf6576000848401525b50505050565b600060208284031215612d0e57600080fd5b815167ffffffffffffffff80821115612d2657600080fd5b818401915084601f830112612d3a57600080fd5b815181811115612d4c57612d4c612cb6565b604051601f8201601f19908116603f01168101908382118183101715612d7457612d74612cb6565b81604052828152876020848701011115612d8d57600080fd5b612d9e836020830160208801612ccc565b979650505050505050565b6020815260008251806020840152612dc8816040850160208701612ccc565b601f01601f19169190910160400192915050565b8181526040602082015260006129c3604083016012815271496e73756666696369656e742066756e647360701b602082015260400190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b600060208284031215612e4a57600080fd5b815180151581146129c357600080fd5b634e487b7160e01b600052601160045260246000fd5b600082821015612e8257612e82612e5a565b500390565b6000816000190483118215151615612ea157612ea1612e5a565b500290565b600082612ec357634e487b7160e01b600052601260045260246000fd5b500490565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612f00816017850160208801612ccc565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612f31816028840160208801612ccc565b01602801949350505050565b60008060408385031215612f5057600080fd5b8251612f5b81612a69565b6020939093015192949293505050565b60008219821115612f7e57612f7e612e5a565b500190565b634e487b7160e01b600052603260045260246000fd5b600081612fa857612fa8612e5a565b50600019019056fe3b822d42f20e775e27986b90f36e550048710237dc1edb097984b657d5347cd5a26469706673582212202fdee848ea3025daed7bcceb9d6d4f6a550addd30fdedb74fbe88cd3f4226d3064736f6c634300080d0033000000000000000000000000ac51066d7bec65dc4589368da368b212745d63e8000000000000000000000000237239e5a85ac47d82e677565d94e357a85e046a000000000000000000000000782adf5ac14384c358965c82dc38ce4d4f62f07c000000000000000000000000a5bae0a2f7afccb4e57724cf822a0c84846ab1d500000000000000000000000000000000000000000000000000000000000001f4