0 txs
0 calls
constructor
constructor()
functions
currentRoundId
viewfunction currentRoundId() view returns (uint256)
entropyNonce
viewfunction entropyNonce() view returns (uint256)
FEE_BPS
viewfunction FEE_BPS() view returns (uint256)
firstUnclosedId
viewfunction firstUnclosedId() view returns (uint256)
getOpenRoundIds
viewfunction getOpenRoundIds() view returns (uint256[])
getRound
viewfunction getRound(uint256 roundId) view returns (uint256 openerAmount, uint256 minReturn, uint256 maxReturn, uint256 closerAmount, uint256 randomNum, address opener, address token, address closer, address refWinner)
getUserClosedRounds
viewfunction getUserClosedRounds(address user) view returns (uint256[])
getUserOpenRounds
viewfunction getUserOpenRounds(address user) view returns (uint256[])
getUserRounds
viewfunction getUserRounds(address user) view returns (uint256[])
getUserRoundsDetails
viewfunction getUserRoundsDetails(address user) view returns (tuple[])
owner
viewfunction owner() view returns (address)
protocolFeeRecipient
viewfunction protocolFeeRecipient() view returns (address)
roundCloseEntropy
viewfunction roundCloseEntropy(uint256) view returns (uint256)
roundOpenEntropy
viewfunction roundOpenEntropy(uint256) view returns (uint256)
rounds
viewfunction rounds(uint256) view returns (uint256 openerAmount, uint256 minReturn, uint256 maxReturn, uint256 closerAmount, uint256 draw, address opener, address closer, address refWinner, address token)
roundTxHash
viewfunction roundTxHash(uint256) view returns (bytes32)
supportedTokens
viewfunction supportedTokens(address) view returns (bool)
taskManager
viewfunction taskManager(address) view returns (bool)
TOKEN_DEGEN
viewfunction TOKEN_DEGEN() view returns (address)
tokenSummary
viewfunction tokenSummary(address user, address[] tokens) view returns (uint256[], uint256[], uint256[], address[])
userRounds
viewfunction userRounds(address, uint256) view returns (uint256)
userTokenBalances
viewfunction userTokenBalances(address, address) view returns (uint256)
cancel
nonpayablefunction cancel(uint256[] roundIds)
draw
nonpayablefunction draw(uint256[] roundIds)
join
nonpayablefunction join(uint256[] roundIds, uint256[] closerAmounts, address closerReferrer)
open
nonpayablefunction open(address token, address referrer, uint256[] openerAmounts, uint256[] minReturns, uint256[] maxReturns)
renounceOwnership
nonpayablefunction renounceOwnership()
setFirstUnclosedId
nonpayablefunction setFirstUnclosedId()
setProtocolFeeRecipient
nonpayablefunction setProtocolFeeRecipient(address recipient)
setSupportedToken
nonpayablefunction setSupportedToken(address token, bool supported)
setTaskManager
nonpayablefunction setTaskManager(address _address, bool _isManager)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(address token)
withdrawETH
nonpayablefunction withdrawETH()
withdrawProtocolFees
nonpayablefunction withdrawProtocolFees(address token)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RoundCanceled
event RoundCanceled(uint256 indexed roundId, address indexed actor)
RoundClosed
event RoundClosed(uint256 indexed roundId, address indexed actor, address indexed admin, uint256 randomNum)
RoundFees
event RoundFees(uint256 indexed roundId, address indexed actor, address indexed token, uint256 amount, bool isClose)
RoundJoined
event RoundJoined(uint256 indexed roundId, address indexed actor, uint256 amount)
RoundOpened
event RoundOpened(uint256 indexed roundId, address indexed actor, address indexed token, uint256 amount, uint256 minReturn, uint256 maxReturn)
TokenSupported
event TokenSupported(address indexed token, bool supported)
Withdrawn
event Withdrawn(address indexed token, address indexed actor, uint256 amount)
errors
No errors.
creation bytecode
0x6080604052348015600e575f5ffd5b50336017816078565b50600380546001600160a01b031916339081179091557f10f1daf09c7819fcdc5577bf22c81739e70c061edc8d71d7060ce48fa2fe28f2805460ff1990811660019081179092555f92835260066020526040909220805490921617905560c7565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b612df2806100d45f395ff3fe6080604052600436106101ff575f3560e01c80638c65c81f11610113578063bf333f2c1161009d578063dd1f75961161006d578063dd1f75961461072b578063e086e5ec1461074a578063e521cb921461075e578063e79864661461077d578063f2fde38b1461079c575f5ffd5b8063bf333f2c1461069f578063c4f18e80146106b3578063cc85e271146106de578063d5af00b0146106fd575f5ffd5b8063916bfbf7116100e3578063916bfbf7146106185780639279cead146106375780639cbe5efd1461064b578063a31f609014610660578063bcdede6d1461068b575f5ffd5b80638c65c81f1461049b5780638da5cb5b146105655780638ebcf537146105815780638f1327c0146105a0575f5ffd5b806351cff8d91161019457806368c4ac261161016457806368c4ac2614610400578063690264b21461043e5780636bb1bd791461045357806370d85d6f14610468578063715018a614610487575f5ffd5b806351cff8d91461037457806356ac19e61461039357806359f97115146103c257806364df049e146103e1575f5ffd5b8063343d1715116101cf578063343d1715146102a75780633a506294146102e657806345bc97021461031257806345f2d1051461033e575f5ffd5b806329d8f6bd1461020a5780632d80caa5146102485780632e34082314610269578063333ac0b414610288575f5ffd5b3661020657005b5f5ffd5b348015610215575f5ffd5b5061023561022436600461273e565b600b6020525f908152604090205481565b6040519081526020015b60405180910390f35b348015610253575f5ffd5b50610267610262366004612770565b6107bb565b005b348015610274575f5ffd5b506102676102833660046127d7565b610927565b348015610293575f5ffd5b506102676102a2366004612815565b610b32565b3480156102b2575f5ffd5b506102ce734ed4e862860bed51a9570b96d89af5e1b0efefed81565b6040516001600160a01b03909116815260200161023f565b3480156102f1575f5ffd5b50610305610300366004612770565b610ec6565b60405161023f91906128cd565b34801561031d575f5ffd5b5061033161032c366004612770565b610f2f565b60405161023f91906128df565b348015610349575f5ffd5b506102356103583660046129a3565b600760209081525f928352604080842090915290825290205481565b34801561037f575f5ffd5b5061026761038e366004612770565b611128565b34801561039e575f5ffd5b506103b26103ad3660046129d4565b611276565b60405161023f9493929190612a22565b3480156103cd575f5ffd5b506102676103dc366004612aa9565b611599565b3480156103ec575f5ffd5b506003546102ce906001600160a01b031681565b34801561040b575f5ffd5b5061042e61041a366004612770565b60056020525f908152604090205460ff1681565b604051901515815260200161023f565b348015610449575f5ffd5b50610235600c5481565b34801561045e575f5ffd5b5061023560025481565b348015610473575f5ffd5b506102676104823660046127d7565b6119fc565b348015610492575f5ffd5b50610267611d15565b3480156104a6575f5ffd5b5061050f6104b536600461273e565b600460208190525f918252604090912080546001820154600283015460038401549484015460058501546006860154600787015460089097015495979496939592936001600160a01b039283169391831692908116911689565b60408051998a5260208a019890985296880195909552606087019390935260808601919091526001600160a01b0390811660a086015290811660c085015290811660e0840152166101008201526101200161023f565b348015610570575f5ffd5b505f546001600160a01b03166102ce565b34801561058c575f5ffd5b5061026761059b366004612b72565b611d28565b3480156105ab575f5ffd5b5061050f6105ba36600461273e565b5f908152600460208190526040909120805460018201546002830154600384015494840154600585015460088601546006870154600790970154959894979396939592946001600160a01b0392831694918316939183169290911690565b348015610623575f5ffd5b50610305610632366004612770565b611d5a565b348015610642575f5ffd5b50610267611ed2565b348015610656575f5ffd5b5061023560015481565b34801561066b575f5ffd5b5061023561067a36600461273e565b600a6020525f908152604090205481565b348015610696575f5ffd5b50610305611f17565b3480156106aa575f5ffd5b50610235601e81565b3480156106be575f5ffd5b506102356106cd36600461273e565b60096020525f908152604090205481565b3480156106e9575f5ffd5b506103056106f8366004612770565b612028565b348015610708575f5ffd5b5061042e610717366004612770565b60066020525f908152604090205460ff1681565b348015610736575f5ffd5b50610235610745366004612ba7565b612185565b348015610755575f5ffd5b506102676121b0565b348015610769575f5ffd5b50610267610778366004612770565b6122ba565b348015610788575f5ffd5b50610267610797366004612b72565b61232e565b3480156107a7575f5ffd5b506102676107b6366004612770565b612394565b6003546001600160a01b039081165f908152600760209081526040808320938516835292905220548061082e5760405162461bcd60e51b81526020600482015260166024820152754e6f2062616c616e636520746f20776974686472617760501b60448201526064015b60405180910390fd5b600380546001600160a01b039081165f9081526007602090815260408083208785168085529252808320929092559254905163a9059cbb60e01b8152911660048201526024810183905263a9059cbb906044016020604051808303815f875af115801561089d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108c19190612bcf565b6108dd5760405162461bcd60e51b815260040161082590612bea565b6003546040518281526001600160a01b03918216918416907fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb906020015b60405180910390a35050565b5f5b81811015610b2d575f83838381811061094457610944612c13565b602090810292909201355f818152600490935260409092206005810154929350916001600160a01b0316331490506109ab5760405162461bcd60e51b815260206004820152600a6024820152692737ba1037b832b732b960b11b6044820152606401610825565b60068101546001600160a01b0316156109fd5760405162461bcd60e51b8152602060048201526014602482015273149bdd5b9908185b1c9958591e4818db1bdcd95960621b6044820152606401610825565b60088101546005820154825460405163a9059cbb60e01b81526001600160a01b039283166004820152602481019190915291169063a9059cbb906044016020604051808303815f875af1158015610a56573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a7a9190612bcf565b610a965760405162461bcd60e51b815260040161082590612bea565b5f8281526004602081905260408083208381556001810184905560028101849055600381018490559182018390556005820180546001600160a01b031990811690915560068301805482169055600783018054821690556008909201805490921690915551339184917fc81f6ac63eef7e97e153209a9ec0a9a48d2aea88138d142d25ef66dfffdee7219190a35050600101610929565b505050565b838214610b7a5760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f240d8cadccee8d0e640dad2e6dac2e8c6d60531b6044820152606401610825565b81610bbd5760405162461bcd60e51b8152602060048201526013602482015272139bc8185b5bdd5b9d1cc81c1c9bdd9a591959606a1b6044820152606401610825565b5f5b84811015610ebe575f60045f888885818110610bdd57610bdd612c13565b602090810292909201358352508101919091526040015f2060068101549091506001600160a01b031615610c4a5760405162461bcd60e51b8152602060048201526014602482015273149bdd5b9908185b1c9958591e4818db1bdcd95960621b6044820152606401610825565b8060010154858584818110610c6157610c61612c13565b9050602002013510158015610c9257508060020154858584818110610c8857610c88612c13565b9050602002013511155b610cd45760405162461bcd60e51b8152602060048201526013602482015272416d6f756e74206f7574206f662072616e676560681b6044820152606401610825565b60088101546001600160a01b03166323b872dd3330888887818110610cfb57610cfb612c13565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064016020604051808303815f875af1158015610d54573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d789190612bcf565b610d945760405162461bcd60e51b815260040161082590612bea565b610d9d8361240a565b6006820180546001600160a01b031916331790559250848483818110610dc557610dc5612c13565b6020029190910135600383015550610df6878784818110610de857610de8612c13565b90506020020135828561242e565b506007810180546001600160a01b0319169055335f908152600860205260409020878784818110610e2957610e29612c13565b83546001810185555f94855260209485902091909402929092013591909201555033878784818110610e5d57610e5d612c13565b905060200201357f177975f7f03cc26fbad9278941aebe85b38ff44502109625cb8e058b9200e575878786818110610e9757610e97612c13565b90506020020135604051610ead91815260200190565b60405180910390a350600101610bbf565b505050505050565b6001600160a01b0381165f90815260086020908152604091829020805483518184028101840190945280845260609392830182828015610f2357602002820191905f5260205f20905b815481526020019060010190808311610f0f575b50505050509050919050565b6001600160a01b0381165f908152600860209081526040808320805482518185028101850190935280835260609493830182828015610f8b57602002820191905f5260205f20905b815481526020019060010190808311610f77575b505050505090505f81516001600160401b03811115610fac57610fac612c27565b60405190808252806020026020018201604052801561104757816020015b6110346040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681526020015f6001600160a01b031681525090565b815260200190600190039081610fca5790505b5090505f5b82518110156111205760045f84838151811061106a5761106a612c13565b60209081029190910181015182528181019290925260409081015f2081516101208101835281548152600182015493810193909352600281015491830191909152600381015460608301526004810154608083015260058101546001600160a01b0390811660a08401526006820154811660c08401526007820154811660e084015260089091015416610100820152825183908390811061110d5761110d612c13565b602090810291909101015260010161104c565b509392505050565b335f9081526007602090815260408083206001600160a01b0385168452909152902054806111915760405162461bcd60e51b81526020600482015260166024820152754e6f2062616c616e636520746f20776974686472617760501b6044820152606401610825565b335f8181526007602090815260408083206001600160a01b038716808552925280832092909255905163a9059cbb60e01b81526004810192909252602482018390529063a9059cbb906044016020604051808303815f875af11580156111f9573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061121d9190612bcf565b6112395760405162461bcd60e51b815260040161082590612bea565b60405181815233906001600160a01b038416907fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb9060200161091b565b60608080805f856001600160401b0381111561129457611294612c27565b6040519080825280602002602001820160405280156112bd578160200160208202803683370190505b5090505f866001600160401b038111156112d9576112d9612c27565b604051908082528060200260200182016040528015611302578160200160208202803683370190505b5090505f876001600160401b0381111561131e5761131e612c27565b604051908082528060200260200182016040528015611347578160200160208202803683370190505b5090505f5b888110156115485789898281811061136657611366612c13565b905060200201602081019061137b9190612770565b6040516370a0823160e01b81526001600160a01b038d8116600483015291909116906370a0823190602401602060405180830381865afa1580156113c1573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113e59190612c3b565b8482815181106113f7576113f7612c13565b60200260200101818152505089898281811061141557611415612c13565b905060200201602081019061142a9190612770565b604051636eb1769f60e11b81526001600160a01b038d81166004830152306024830152919091169063dd62ed3e90604401602060405180830381865afa158015611476573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149a9190612c3b565b8382815181106114ac576114ac612c13565b60200260200101818152505060075f8c6001600160a01b03166001600160a01b031681526020019081526020015f205f8b8b848181106114ee576114ee612c13565b90506020020160208101906115039190612770565b6001600160a01b03166001600160a01b031681526020019081526020015f205482828151811061153557611535612c13565b602090810291909101015260010161134c565b508282828b8b8181808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250979e50959c50939a509850505050505050505093509350935093565b6001600160a01b0388165f90815260056020526040902054889060ff166115f85760405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606401610825565b858414801561160657508382145b61164b5760405162461bcd60e51b8152602060048201526016602482015275082e4e4c2f240d8cadccee8d0e640dad2e6dac2e8c6d60531b6044820152606401610825565b5f6116558961240a565b98505f5b878110156119ef575f89898381811061167457611674612c13565b90506020020135116116bd5760405162461bcd60e51b81526020600482015260126024820152710416d6f756e74206d757374206265203e20360741b6044820152606401610825565b8686828181106116cf576116cf612c13565b905060200201358585838181106116e8576116e8612c13565b90506020020135101561173d5760405162461bcd60e51b815260206004820181905260248201527f4d61782072657475726e206d757374206265203e3d206d696e2072657475726e6044820152606401610825565b8a6001600160a01b03166323b872dd33308c8c8681811061176057611760612c13565b6040516001600160e01b031960e088901b1681526001600160a01b039586166004820152949093166024850152506020909102013560448201526064016020604051808303815f875af11580156117b9573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117dd9190612bcf565b6117f95760405162461bcd60e51b815260040161082590612bea565b60018054905f61180883612c66565b90915550506001545f81815260046020526040902090925089898381811061183257611832612c13565b602002919091013582555087878381811061184f5761184f612c13565b602002919091013560018301555085858381811061186f5761186f612c13565b90506020020135816002018190555033816005015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508b816008015f6101000a8154816001600160a01b0302191690836001600160a01b031602179055508a816007015f6101000a8154816001600160a01b0302191690836001600160a01b0316021790555060085f336001600160a01b03166001600160a01b031681526020019081526020015f2083908060018154018082558091505060019003905f5260205f20015f90919091909150558b6001600160a01b0316336001600160a01b0316847f867f4eb37064375ddffc069ef0fb06aca010aa0320c112a799c9bb33e04326678d8d8781811061198557611985612c13565b905060200201358c8c8881811061199e5761199e612c13565b905060200201358b8b898181106119b7576119b7612c13565b905060200201356040516119de939291909283526020830191909152604082015260600190565b60405180910390a450600101611659565b5050505050505050505050565b80611a415760405162461bcd60e51b8152602060048201526015602482015274139bc81c9bdd5b990812511cc81c1c9bdd9a591959605a1b6044820152606401610825565b335f9081526006602052604090205460ff16611a945760405162461bcd60e51b81526020600482015260126024820152712737ba1030903a30b9b59036b0b730b3b2b960711b6044820152606401610825565b5f5b81811015610b2d575f838383818110611ab157611ab1612c13565b602090810292909201355f818152600490935260409092206006810154929350916001600160a01b03169050611ae8575050611d0d565b60078101546001600160a01b031615611b02575050611d0d565b600381015481545f91611b1491612c7e565b60408051610120810182528454815260018501546020820152600285015491810191909152600384015460608201526004840154608082015260058401546001600160a01b0390811660a08301526006850154811660c08301526007850154811660e08301526008850154166101008201529091505f90611b959083612603565b90505f835f0154821115611bb65760068401546001600160a01b0316611bc5565b60058401546001600160a01b03165b6007850180546001600160a01b0319166001600160a01b0383161790556004850183905590505f612710611bfa601e86612c91565b611c05906002612c91565b611c0f9190612cbc565b60088601549091506001600160a01b031663a9059cbb83611c308488612ccf565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303815f875af1158015611c78573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611c9c9190612bcf565b611cb85760405162461bcd60e51b815260040161082590612bea565b336001600160a01b0316826001600160a01b0316877f8ea7e9c9eac361d902bbd7900b4feac345b491485a57fa56eb70c2390c01d4b186604051611cfe91815260200190565b60405180910390a45050505050505b600101611a96565b611d1d612696565b611d265f6126ef565b565b611d30612696565b6001600160a01b03919091165f908152600660205260409020805460ff1916911515919091179055565b60605f60015b6001548111611de0575f81815260046020526040902060068101546001600160a01b031615801590611dba575060058101546001600160a01b0386811691161480611dba575060068101546001600160a01b038681169116145b15611dcd5782611dc981612c66565b9350505b5080611dd881612c66565b915050611d60565b505f816001600160401b03811115611dfa57611dfa612c27565b604051908082528060200260200182016040528015611e23578160200160208202803683370190505b5090505f60015b6001548111611ec8575f81815260046020526040902060068101546001600160a01b031615801590611e84575060058101546001600160a01b0388811691161480611e84575060068101546001600160a01b038881169116145b15611eb55781848481518110611e9c57611e9c612c13565b602090810291909101015282611eb181612c66565b9350505b5080611ec081612c66565b915050611e2a565b5090949350505050565b6002545b6001548111611f14575f818152600460205260409020600601546001600160a01b0316611f0257600255565b80611f0c81612c66565b915050611ed6565b50565b60605f5f60025411611f2a576001611f2e565b6002545b90505f815b6001548111611f7a575f818152600460205260409020600601546001600160a01b0316611f685781611f6481612c66565b9250505b80611f7281612c66565b915050611f33565b505f816001600160401b03811115611f9457611f94612c27565b604051908082528060200260200182016040528015611fbd578160200160208202803683370190505b5090505f835b6001548111611ec8575f818152600460205260409020600601546001600160a01b03166120165780838381518110611ffd57611ffd612c13565b60209081029190910101528161201281612c66565b9250505b8061202081612c66565b915050611fc3565b60605f5f90505f5f6002541161203f576001612043565b6002545b9050805b60015481116120ad575f81815260046020526040902060068101546001600160a01b0316158015612087575060058101546001600160a01b038781169116145b1561209a578361209681612c66565b9450505b50806120a581612c66565b915050612047565b505f826001600160401b038111156120c7576120c7612c27565b6040519080825280602002602001820160405280156120f0578160200160208202803683370190505b5090505f825b600154811161217a575f81815260046020526040902060068101546001600160a01b0316158015612136575060058101546001600160a01b038981169116145b15612167578184848151811061214e5761214e612c13565b60209081029190910101528261216381612c66565b9350505b508061217281612c66565b9150506120f6565b509095945050505050565b6008602052815f5260405f20818154811061219e575f80fd5b905f5260205f20015f91509150505481565b6121b8612696565b47806121fb5760405162461bcd60e51b81526020600482015260126024820152714e6f2045544820746f20776974686472617760701b6044820152606401610825565b6040515f90339083908381818185875af1925050503d805f811461223a576040519150601f19603f3d011682016040523d82523d5f602084013e61223f565b606091505b50509050806122865760405162461bcd60e51b8152602060048201526013602482015272115512081d1c985b9cd9995c8819985a5b1959606a1b6044820152606401610825565b60405182815233905f907fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb9060200161091b565b6122c2612696565b6001600160a01b03811661230c5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610825565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612336612696565b6001600160a01b0382165f81815260056020908152604091829020805460ff191685151590811790915591519182527fd86c88b4a367d9b81a6e00c9d3f7d01657bffef358fa8968c91c045ae99f0d52910160405180910390a25050565b61239c612696565b6001600160a01b0381166124015760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610825565b611f14816126ef565b5f6001600160a01b03821661242a5750506003546001600160a01b031690565b5090565b5f5f612710601e855f01546124439190612c91565b61244d9190612cbc565b90505f612710601e86600301546124649190612c91565b61246e9190612cbc565b905061247a8183612c7e565b6003546001600160a01b039081165f90815260076020908152604080832060088b0154909416835292905290812080549091906124b8908490612c7e565b90915550506007858101546001600160a01b039081165f9081526020928352604080822060088a0154909316825291909252812080548492906124fc908490612c7e565b90915550506001600160a01b038085165f90815260076020908152604080832060088a01549094168352929052908120805483929061253c908490612c7e565b90915550506008850154600786015460408051858152600160208201526001600160a01b03938416939092169189917f6eae40ba375fc6817e24a0a0c743c5a5ae209a86888900930771e78b1d21be99910160405180910390a46008850154604080518381525f60208201526001600160a01b039283169287169189917f6eae40ba375fc6817e24a0a0c743c5a5ae209a86888900930771e78b1d21be99910160405180910390a46125ee8183612c7e565b6125f9906002612c91565b9695505050505050565b5f804244612612600143612ccf565b40414543338a60a001518b60c001518c61010001518d5f01518e606001518f60400151600c5f81548092919061264790612c66565b919050556040516020016126689e9d9c9b9a99989796959493929190612ce2565b60408051601f198184030181529190528051602090910120905061268c8382612da9565b9150505b92915050565b5f546001600160a01b03163314611d265760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610825565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121561274e575f5ffd5b5035919050565b80356001600160a01b038116811461276b575f5ffd5b919050565b5f60208284031215612780575f5ffd5b61278982612755565b9392505050565b5f5f83601f8401126127a0575f5ffd5b5081356001600160401b038111156127b6575f5ffd5b6020830191508360208260051b85010111156127d0575f5ffd5b9250929050565b5f5f602083850312156127e8575f5ffd5b82356001600160401b038111156127fd575f5ffd5b61280985828601612790565b90969095509350505050565b5f5f5f5f5f60608688031215612829575f5ffd5b85356001600160401b0381111561283e575f5ffd5b61284a88828901612790565b90965094505060208601356001600160401b03811115612868575f5ffd5b61287488828901612790565b9094509250612887905060408701612755565b90509295509295909350565b5f8151808452602084019350602083015f5b828110156128c35781518652602095860195909101906001016128a5565b5093949350505050565b602081525f6127896020830184612893565b602080825282518282018190525f918401906040840190835b8181101561217a578351805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260018060a01b0360a08201511660a085015260018060a01b0360c08201511660c085015260e081015161296c60e08601826001600160a01b03169052565b50610100810151905061298b6101008501826001600160a01b03169052565b506020939093019261012092909201916001016128f8565b5f5f604083850312156129b4575f5ffd5b6129bd83612755565b91506129cb60208401612755565b90509250929050565b5f5f5f604084860312156129e6575f5ffd5b6129ef84612755565b925060208401356001600160401b03811115612a09575f5ffd5b612a1586828701612790565b9497909650939450505050565b608081525f612a346080830187612893565b8281036020840152612a468187612893565b90508281036040840152612a5a8186612893565b8381036060850152845180825260208087019350909101905f5b81811015612a9b5783516001600160a01b0316835260209384019390920191600101612a74565b509098975050505050505050565b5f5f5f5f5f5f5f5f60a0898b031215612ac0575f5ffd5b612ac989612755565b9750612ad760208a01612755565b965060408901356001600160401b03811115612af1575f5ffd5b612afd8b828c01612790565b90975095505060608901356001600160401b03811115612b1b575f5ffd5b612b278b828c01612790565b90955093505060808901356001600160401b03811115612b45575f5ffd5b612b518b828c01612790565b999c989b5096995094979396929594505050565b8015158114611f14575f5ffd5b5f5f60408385031215612b83575f5ffd5b612b8c83612755565b91506020830135612b9c81612b65565b809150509250929050565b5f5f60408385031215612bb8575f5ffd5b612bc183612755565b946020939093013593505050565b5f60208284031215612bdf575f5ffd5b815161278981612b65565b6020808252600f908201526e151c985b9cd9995c8819985a5b1959608a1b604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215612c4b575f5ffd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b5f60018201612c7757612c77612c52565b5060010190565b8082018082111561269057612690612c52565b808202811582820484141761269057612690612c52565b634e487b7160e01b5f52601260045260245ffd5b5f82612cca57612cca612ca8565b500490565b8181038181111561269057612690612c52565b8e81528d60208201528c60408201526bffffffffffffffffffffffff198c60601b1660608201528a6074820152896094820152612d2e60b482018a60601b6001600160601b0319169052565b612d4760c882018960601b6001600160601b0319169052565b612d6060dc82018860601b6001600160601b0319169052565b612d7960f082018760601b6001600160601b0319169052565b610104810194909452610124840192909252610144830152610164820152610184019a9950505050505050505050565b5f82612db757612db7612ca8565b50069056fea264697066735822122079cffd1da077c54bdc12c54bd027e6cf58b891a0a5284061cefc060361bc9ef364736f6c634300081d0033