28 txs
52 calls
constructor
constructor(address _stakedToken, address _minter, address _permit2Address)
functions
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
controller
viewfunction controller() view returns (address)
decimals
viewfunction decimals() view returns (uint8)
futureEpochTime
viewfunction futureEpochTime() view returns (uint256)
inflationRate
viewfunction inflationRate() view returns (uint256)
integrateCheckpoint
viewfunction integrateCheckpoint() view returns (uint256)
integrateCheckpointOf
viewfunction integrateCheckpointOf(address) view returns (uint256)
integrateFraction
viewfunction integrateFraction(address) view returns (uint256)
integrateInvSupplyOf
viewfunction integrateInvSupplyOf(address) view returns (uint256)
isKilled
viewfunction isKilled() view returns (bool)
lpBalanceOf
viewfunction lpBalanceOf(address _addr) view returns (uint256)
lpToken
viewfunction lpToken() view returns (address)
lpTotalSupply
viewfunction lpTotalSupply() view returns (uint256)
ltToken
viewfunction ltToken() view returns (address)
minter
viewfunction minter() view returns (address)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
period
viewfunction period() view returns (uint256)
periodTimestamp
viewfunction periodTimestamp(uint256) view returns (uint256)
permit2Address
viewfunction permit2Address() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalNotRedeemAmount
viewfunction totalNotRedeemAmount() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
unstakedBalanceOf
viewfunction unstakedBalanceOf(address _addr) view returns (uint256)
unstakedTotal
viewfunction unstakedTotal() view returns (uint256)
unstakingBalanceOf
viewfunction unstakingBalanceOf(address _addr) view returns (uint256)
unstakingDayHistory
viewfunction unstakingDayHistory(uint256) view returns (uint256)
unstakingMap
viewfunction unstakingMap(address) view returns (uint256 notRedeemAmount, uint256 index)
unstakingTotal
viewfunction unstakingTotal() view returns (uint256)
votingEscrow
viewfunction votingEscrow() view returns (address)
workingBalances
viewfunction workingBalances(address) view returns (uint256)
workingSupply
viewfunction workingSupply() view returns (uint256)
acceptOwnership
nonpayablefunction acceptOwnership()
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
claimableTokens
nonpayablefunction claimableTokens(address _addr) returns (uint256)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
kick
nonpayablefunction kick(address _addr)
redeemAll
nonpayablefunction redeemAll() returns (uint256)
redeemByMaxIndex
nonpayablefunction redeemByMaxIndex(uint256 maxIndex) returns (uint256)
renounceOwnership
nonpayablefunction renounceOwnership()
setKilled
nonpayablefunction setKilled(bool _isKilled)
setPermit2Address
nonpayablefunction setPermit2Address(address newAddress)
staking
nonpayablefunction staking(uint256 amount, uint256 nonce, uint256 deadline, bytes signature) returns (bool)
transfer
nonpayablefunction transfer(address _to, uint256 _amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address _from, address _to, uint256 _amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstaking
nonpayablefunction unstaking(uint256 amount)
userCheckpoint
nonpayablefunction userCheckpoint(address _addr) returns (bool)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Deposit
event Deposit(address indexed provider, uint256 value)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
OwnershipTransferStarted
event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner)
Redeem
event Redeem(address indexed user, uint256 amount)
RewardsAccrued
event RewardsAccrued(address user, uint256 amount)
RewardsClaimed
event RewardsClaimed(address indexed user, uint256 amount)
SetPermit2Address
event SetPermit2Address(address oldAddress, address newAddress)
Staking
event Staking(address indexed user, uint256 amount)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
Unstaking
event Unstaking(address indexed user, uint256 amount)
UpdateLiquidityLimit
event UpdateLiquidityLimit(address user, uint256 originalBalance, uint256 originalSupply, uint256 workingBalance, uint256 workingSupply, uint256 votingBalance, uint256 votingTotal)
Withdraw
event Withdraw(address indexed provider, uint256 value)
errors
No errors.
creation bytecode
0x608060409080825234620006db57606081620032de8038038091620000258285620006fc565b833981010312620006db576200003b8162000720565b9060209062000059846200005184840162000720565b920162000720565b928451916200006883620006e0565b600b83526a7374616b656420484f504560a81b848401528551926200008d84620006e0565b60068452657374484f504560d01b8585015280516001600160401b0390818111620005db576003908154906001948583811c93168015620006d0575b8a841014620006ba578190601f9384811162000664575b508a90848311600114620005fd57600092620005f1575b505060001982851b1c191690851b1782555b8651928311620005db5760049687548581811c91168015620005d0575b8a821014620005bb57908183869594931162000561575b5089918411600114620004f657600093620004ea575b505082841b92600019911b1c19161784555b62000170336200076a565b6001600160a01b03928316918390620001a5841515620001908162000735565b6200019f848b16151562000735565b62000735565b1690620001b482151562000735565b620001c133151562000735565b60165460ff8116620004905760ff191617601655620001e0336200076a565b600780546001600160a01b03199081169093179055600880548316821790558651637e062a3560e11b81529085828681845afa908115620004855784879287946000916200043f575b501684600954161760095588519283809263f77c479160e01b82525afa8015620003f1578386918693600091620003fc575b50168084600a541617600a55885192838092634f2bfe5b60e01b82525afa8015620003f1578391600091620003b2575b501690600b541617600b55600080526010835242856000205560095416908451631627391760e11b815283818381865afa908115620003a75760009162000373575b50601555845163277dbafb60e01b815292918291849182906000905af1908115620003685760009162000333575b50600c555060168054610100600160a81b03191660089290921b610100600160a81b031691909117905551612b1f9081620007bf8239f35b82813d831162000360575b6200034a8183620006fc565b810103126200035d5750518038620002fb565b80fd5b503d6200033e565b84513d6000823e3d90fd5b908482813d83116200039f575b6200038c8183620006fc565b810103126200035d5750516000620002cd565b503d62000380565b86513d6000823e3d90fd5b91508582813d8311620003e9575b620003cc8183620006fc565b810103126200035d5750620003e2839162000720565b386200028b565b503d620003c0565b87513d6000823e3d90fd5b935091905082813d831162000437575b620004188183620006fc565b810103126200035d5750848362000430869362000720565b386200025b565b503d6200040c565b9384919395508092503d83116200047d575b6200045d8183620006fc565b810103126200035d575084918462000476889362000720565b3862000229565b503d62000451565b88513d6000823e3d90fd5b885162461bcd60e51b8152808701889052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b01519150388062000153565b9190859450601f19841692896000528a6000209360005b8c8282106200054a57505085116200052f575b50505050811b01845562000165565b01519060f884600019921b161c191690553880808062000520565b83850151875589989096019593840193016200050d565b909192935088600052896000208380870160051c8201928c8810620005b1575b9188918897969594930160051c01915b828110620005a15750506200013d565b6000815587965088910162000591565b9250819262000581565b602289634e487b7160e01b6000525260246000fd5b90607f169062000126565b634e487b7160e01b600052604160045260246000fd5b015190503880620000f7565b60008681528c8120899550929190601f198516908e5b8282106200064c575050841162000633575b505050811b01825562000109565b015160001983871b60f8161c1916905538808062000625565b8385015186558b979095019493840193018e62000613565b909150846000528a6000208480850160051c8201928d8610620006b0575b918991869594930160051c01915b828110620006a0575050620000e0565b6000815585945089910162000690565b9250819262000682565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b604081019081106001600160401b03821117620005db57604052565b601f909101601f19168101906001600160401b03821190821017620005db57604052565b51906001600160a01b0382168203620006db57565b156200073d57565b60405162461bcd60e51b8152602060048201526005602482015264043453030360dc1b6044820152606490fd5b600680546001600160a01b0319908116909155600580549182166001600160a01b0393841690811790915591167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a356fe608080604052600436101561001357600080fd5b600090813560e01c90816306fdde0314611ae1575080630754617214611ab85780630959950414611a71578063095ea7b314611a4a57806317a3c37014611a2357806318160ddd14611a0557806323b872dd146119155780632f4350c214611805578063313ce567146117e957806331e202cc146117bf57806331f9e35b146117a157806339509351146117515780634f2bfe5b14611728578063505362c4146116ff57806353f7425f146116bc5780635fcbd2851461169357806366be23221461167157806370a0823114611639578063715018a6146115d257806373dd0555146111095780637699b4cd146110d05780637915b1c3146110a657806379ba509714610fdd5780637b4dacef14610fc257806384d2422614610ef55780638b45a67314610ed15780638da5cb5b14610ea85780638fe8a10114610e8257806390827da714610ce1578063958da8de14610ca857806395d89b4114610b9757806396c55175146109915780639c46665c146109655780639e48d35e14610947578063a154f1bb1461087c578063a457c2d7146107d7578063a5870d6b146107ae578063a9059cbb14610743578063b07b709b1461069d578063b1bd608614610664578063bdc83b1f14610646578063c522498314610619578063c826860414610579578063c8562f721461055b578063caa0b9ed14610522578063dd62ed3e146104d3578063e30c3978146104aa578063ef78d4fd1461048c578063f2fde38b1461041e578063f77c4791146103f55763fc566d521461025257600080fd5b346103f257602090816003193601126103f25760043561027b61027433611f34565b1515611e18565b8161028533612464565b338352601884526040832090839160019384820195600291828401965b885481116103e4578187101561034557808352878a52600160408420015442101580610334575b6102dc575b6102d790611e8c565b6102a2565b9561032c6102d7916102f360408620548099611d09565b978986528a8d52866040872001600160ff19825416179055610316818954611e9b565b88556103256017918254611e9b565b9055611e8c565b9690506102ce565b5060ff8460408520015416156102c9565b5050509350509250505b8161035e575b50604051908152f35b6103a49061036c8333611fc3565b60075461038590849033906001600160a01b0316612986565b5061039d610392336120ca565b915460175490611e9b565b9033612265565b6103b081601a54611e9b565b601a556040518181527f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6833392a238610355565b50505093505092505061034f565b80fd5b50346103f257806003193601126103f257600a546040516001600160a01b039091168152602090f35b50346103f25760203660031901126103f257610438611c01565b610440611cb1565b600680546001600160a01b0319166001600160a01b039283169081179091556005549091167f38d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008380a380f35b50346103f257806003193601126103f2576020600f54604051908152f35b50346103f257806003193601126103f2576006546040516001600160a01b039091168152602090f35b50346103f25760403660031901126103f2576104ed611c01565b60406104f7611c17565b9260018060a01b03809316815260016020522091166000526020526020604060002054604051908152f35b50346103f25760203660031901126103f2576020906040906001600160a01b0361054a611c01565b168152601483522054604051908152f35b50346103f257806003193601126103f2576020600e54604051908152f35b50346103f257602090816003193601126103f257610595611c01565b6001600160a01b031681526018825260408120600181810154600292830192849291805b6105c8575b8686604051908152f35b80845284875260ff8260408620015416610614578260408520015442106105f9575b6105f390611e7f565b806105b9565b9461060c6105f391604086205490611d09565b9590506105ea565b6105be565b50346103f257806003193601126103f25760165460405160089190911c6001600160a01b03168152602090f35b50346103f257806003193601126103f2576020601754604051908152f35b50346103f25760203660031901126103f2576020906040906001600160a01b0361068c611c01565b168152601283522054604051908152f35b50346103f25760203660031901126103f2576106b7611c01565b6001600160a01b038181163314908115610735575b501561070857806106df6106fd92612464565b6106e8816120ca565b6106f760025460175490611e9b565b91612265565b602060405160018152f35b60405162461bcd60e51b8152602060048201526005602482015264047503030360dc1b6044820152606490fd5b9050600854163314826106cc565b50346103f25760403660031901126103f2576106fd610760611c01565b61079360243561077a81610773336120ca565b1015611e18565b61078333612464565b61078c83612464565b82336120f7565b6106df61079f336120ca565b61039d60025460175490611e9b565b50346103f257806003193601126103f2576009546040516001600160a01b039091168152602090f35b50346103f25760403660031901126103f2576107f1611c01565b60406024359233815260016020522060018060a01b03821660005260205260406000205491808310610829576106fd92039033611d16565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b50346103f25760203660031901126103f257610896611c01565b61089e611cb1565b6001600160a01b038181161561091a5760168054610100600160a81b03198116600885811b610100600160a81b031691909117909255604080516001600160a01b039290931c939093168116825290921660208301527f35f7c25f313d8b378045946ab43056cd8fbf3cb403496ebaa0beef117936ec3291a180f35b60405162461bcd60e51b8152602060048201526005602482015264043453030360dc1b6044820152606490fd5b50346103f257806003193601126103f2576020600c54604051908152f35b50346103f25760203660031901126103f2576020610989610984611c01565b6120ca565b604051908152f35b50346103f257602080600319360112610b93576109ac611c01565b9060018060a01b038083169182855260138152604085205491600b5416926040516381fc83bb60e01b81528160048201528281602481885afa8015610b595783908890610b64575b60405163eac6a66760e01b81526001600160a01b0389166004820152602481019190915291508180604481015b0381885afa908115610b59578791610b2c575b50610a3e866120ca565b604051633037408d60e01b81526001600160a01b038816600482015242602482015290958490829060449082905afa908115610b21578891610aec575b5090600d94610a949215918215610ae2575b5050612935565b855252604083205490602881029080820460281490151715610ace57610acb92916064610ac2920410612935565b6106df81612464565b80f35b634e487b7160e01b84526011600452602484fd5b1190503880610a8d565b9190508382813d8311610b1a575b610b048183611c8f565b81010312610b15579051600d610a7b565b600080fd5b503d610afa565b6040513d8a823e3d90fd5b90508281813d8311610b52575b610b438183611c8f565b81010312610b15575138610a34565b503d610b39565b6040513d89823e3d90fd5b5081813d8311610b8c575b610b798183611c8f565b81010312610b155782610a2191516109f4565b503d610b6f565b5080fd5b50346103f257806003193601126103f257604051908060045491600183811c92818516948515610c9e575b6020958686108114610c8a57858852879493929187908215610c68575050600114610c0e575b5050610bf692500383611c8f565b610c0a604051928284938452830190611bc1565b0390f35b90859250600482527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b858310610c50575050610bf693508201013880610be8565b80548389018501528794508693909201918101610c38565b9250935050610bf694915060ff191682840152151560051b8201013880610be8565b634e487b7160e01b83526022600452602483fd5b93607f1693610bc2565b50346103f25760203660031901126103f2576020906040906001600160a01b03610cd0611c01565b168152600d83522054604051908152f35b50346103f257602080600319360112610b935760043590610d03821515611e18565b610d1082610773336120ca565b610d1933612464565b62015180804201804211610e6e57819004818102918183041490151715610ace576224ea00810190818111610e585780855260198352610d5d846040872054611d09565b908552601983526040852055610d7583601a54611d09565b601a553384526018825260408420610d8e848254611d09565b8155600181019182549260018401809411610e445791600291847ff2619dcba9802bb8ec071016f659320c48304701ba220f0420bed16f87139a66969594558260405192610ddb84611c5f565b88845286840192835260408401958a87528a520185526040882091518255516001820155019051151560ff80198354169116179055610e38610e1f84601754611d09565b8060175561039d610e2f336120ca565b91600254611e9b565b6040519283523392a280f35b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b85526011600452602485fd5b50346103f257806003193601126103f257602060ff60065460a01c166040519015158152f35b50346103f257806003193601126103f2576005546040516001600160a01b039091168152602090f35b50346103f25760203660031901126103f2576020610989610ef0611c01565b611f34565b50346103f257602090816003193601126103f257610f6a90610f15611c01565b610f1e81612464565b6001600160a01b039081168083526014855260408084205460085491516308b752bb60e41b81526004810193909352306024840152919491928692869290911690829081906044820190565b03915afa918215610fb65791610f85575b6109899250611e9b565b90508282813d8311610faf575b610f9c8183611c8f565b81010312610b1557610989915190610f7b565b503d610f92565b604051903d90823e3d90fd5b50346103f257806003193601126103f2576020610989611ea8565b50346103f257806003193601126103f2576006546001600160a01b03338183160361104f576bffffffffffffffffffffffff60a01b8092166006556005549133908316176005553391167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60405162461bcd60e51b815260206004820152602960248201527f4f776e61626c6532537465703a2063616c6c6572206973206e6f7420746865206044820152683732bb9037bbb732b960b91b6064820152608490fd5b50346103f25760203660031901126103f25760406020916004358152601983522054604051908152f35b50346103f25760203660031901126103f2576020906040906001600160a01b036110f8611c01565b168152601383522054604051908152f35b50346103f25760803660031901126103f25767ffffffffffffffff6064358181116115ba57366023820112156115ba5780600401359182116115be5782906040519261115f6020601f19601f8401160185611c8f565b80845236602482840101116115ba5780602460209301838601378301015261118a6004351515611e18565b6007546040516370a0823160e01b81523360048201526001600160a01b039091169190602081602481865afa801561143a578490611582575b6111d291506004351115611e18565b60018060a01b0360165460081c1690604051926111ee84611c2d565b835260043560208401526040519261120584611c5f565b8352602435602084015260443560408401526040519161122483611c2d565b308352600435602084015260018060a01b038451511690604051926370a0823160e01b8452306004850152602084602481865afa938415610b5957879461154a575b506024351580611540575b1561148157505082516020808501516040516323b872dd60e01b81523360048201526001600160a01b039093166024840152604483015291869160649183905af13d15601f3d116001875114161716156114455760206024935b51516040516370a0823160e01b815230600482015294859182906001600160a01b03165afa92831561143a578493611404575b5061130e60209161131894611e9b565b9101511015612969565b61132133612464565b33156113bf57611335600435600254611d09565b600255338152806020526040812060043581540190556040519060043582527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a361138661079f336120ca565b60405160043581527fb831f69f1cebc12b23cd864ce5bfea2669d01956050a0147d71d418074559c2160203392a2602060405160018152f35b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b92506020833d602011611432575b8161141f60209383611c8f565b81010312610b155791519161130e6112fe565b3d9150611412565b6040513d86823e3d90fd5b60405162461bcd60e51b81526020600482015260146024820152731514905394d1915497d19493d357d1905253115160621b6044820152606490fd5b908092509594953b1561153c5760405163187945bd60e11b8152865180516001600160a01b0316600483015260200151602482015291859183919082908490829061150c9060208d810151604485015260408e015160648501528b516001600160a01b031660848501528b015160a48401523360c484015261010060e4840152610104830190611bc1565b03925af1801561143a57611527575b506020602493946112cb565b602493611535602092611c7b565b935061151b565b8480fd5b5060443515611271565b9093506020813d60201161157a575b8161156660209383611c8f565b8101031261157657519238611266565b8680fd5b3d9150611559565b506020813d6020116115b2575b8161159c60209383611c8f565b810103126115ae576111d290516111c3565b8380fd5b3d915061158f565b8280fd5b634e487b7160e01b83526041600452602483fd5b50346103f257806003193601126103f2576115eb611cb1565b600680546001600160a01b031990811690915560058054918216905581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346103f25760203660031901126103f2576020906040906001600160a01b03611661611c01565b1681528083522054604051908152f35b50346103f257806003193601126103f257602061098960025460175490611e9b565b50346103f257806003193601126103f2576007546040516001600160a01b039091168152602090f35b50346103f25760203660031901126103f25760409081906001600160a01b036116e3611c01565b1681526018602052206001815491015482519182526020820152f35b50346103f257806003193601126103f2576040602091600f548152601083522054604051908152f35b50346103f257806003193601126103f257600b546040516001600160a01b039091168152602090f35b50346103f25760403660031901126103f2576106fd9061179a611772611c01565b9133815260016020526040812060018060a01b03841682526020526040602435912054611d09565b9033611d16565b50346103f257806003193601126103f2576020601554604051908152f35b50346103f25760203660031901126103f25760406020916004358152601083522054604051908152f35b50346103f257806003193601126103f257602060405160128152f35b50346103f257806003193601126103f25761181f33611f34565b61182a811515611e18565b61183333612464565b3382526020916018835260408120600191828201549160029383858301945b6118a9575b87876118678861036c8333611fc3565b61187381601a54611e9b565b601a556040518181527f222838db2794d11532d940e8dec38ae307ed0b63cd97c233322e221f998767a6833392a2604051908152f35b80845284885260ff8660408620015416611910576118d490826040862001544210156118da57611e7f565b80611852565b60408520548760408720018460ff198254161790556118fa818654611e9b565b85556119096017918254611e9b565b9055611e7f565b611857565b50346103f25760603660031901126103f25761192f611c01565b90611938611c17565b9060406044359161194c83610773876120ca565b61195585612464565b61195e84612464565b6001600160a01b038516815260016020818152838320338452905291902054908101611998575b50826106df6106df92846106fd966120f7565b928184106119c0576106df826119b76106df946106fd97033385611d16565b92505092611985565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b50346103f257806003193601126103f2576020600254604051908152f35b50346103f257806003193601126103f2576020610989601a54611a44611ea8565b90611e9b565b50346103f25760403660031901126103f2576106fd611a67611c01565b6024359033611d16565b50346103f25760203660031901126103f257600435801515809103610b9357611a98611cb1565b6006805460ff60a01b191660a09290921b60ff60a01b1691909117905580f35b50346103f257806003193601126103f2576008546040516001600160a01b039091168152602090f35b82346103f257806003193601126103f2578060035491600183811c92818516948515611bb7575b6020958686108114610c8a57858852879493929187908215611b95575050600114611b3b575050610bf692500383611c8f565b90859250600382527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b858310611b7d575050610bf693508201018580610be8565b80548389018501528794508693909201918101611b65565b9250935050610bf694915060ff191682840152151560051b8201018580610be8565b93607f1693611b08565b919082519283825260005b848110611bed575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611bcc565b600435906001600160a01b0382168203610b1557565b602435906001600160a01b0382168203610b1557565b6040810190811067ffffffffffffffff821117611c4957604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff821117611c4957604052565b67ffffffffffffffff8111611c4957604052565b90601f8019910116810190811067ffffffffffffffff821117611c4957604052565b6005546001600160a01b03163303611cc557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b91908201809211610e5857565b6001600160a01b03908116918215611dc75716918215611d775760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b15611e1f57565b60405162461bcd60e51b815260206004820152600560248201526421a298181960d91b6044820152606490fd5b8115611e56570490565b634e487b7160e01b600052601260045260246000fd5b81810292918115918404141715610e5857565b8015610e58576000190190565b6000198114610e585760010190565b91908203918211610e5857565b600062015180804201804211611f20578190049080820291808304821490151715611f20579082915b601c8310611edf5750505090565b9091928382028281048503610e5857611f1991611eff611f139286611e9b565b600052601960205260406000205490611d09565b93611e8c565b9190611ed1565b634e487b7160e01b83526011600452602483fd5b6001600160a01b031660009081526018602090815260408083206001818101549394936002928301939290805b611f70575b5050505050905090565b8060005284875260ff8285600020015416611fbe5782846000200154421015611fa3575b611f9d90611e7f565b80611f61565b94611fb6611f9d91856000205490611d09565b959050611f94565b611f66565b6001600160a01b0316801561207b5760009181835282602052604083205481811061202b57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60018060a01b031660005260006020526120f4604060002054601860205260406000205490611e9b565b90565b6001600160a01b0390811691821561221257169182156121c15760008281528060205260408120549180831061216d57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b600b5460408051633037408d60e01b81526001600160a01b0384811660048301524260248301529283169695929493909260209283856044818c5afa94851561242857600095612433575b508360249697989982519788809263d2dcd93360e01b82524260048301525afa958615612428576000966123f9575b506028870287810460281488151715610e5857606490048661238a575b7f47211fe8b1eecabef1c013b28eb9caa892fd6bf2d3f1f5111d08cc115de841659860e0989796959493929180891015612384575087935b169687600052600d855261235d826000205485846000205561235886600e54611d09565b611e9b565b9485600e5582519889528801528601526060850152608084015260a083015260c0820152a1565b93612334565b9695949392919061239b8583611e6c565b98603c8a0299808b04603c1490151715610e58576123e960e09960646123e28a7f47211fe8b1eecabef1c013b28eb9caa892fd6bf2d3f1f5111d08cc115de841659e611e4c565b0490611d09565b91929394959697985098506122fc565b90958482813d8311612421575b6124108183611c8f565b810103126103f257505194386122df565b503d612406565b50513d6000823e3d90fd5b9894848a813d831161245d575b61244a8183611c8f565b810103126103f2575097519397836122b0565b503d612440565b60405160009160c0820167ffffffffffffffff811183821017612921576040528260208301528260408301528260608301528260808301528260a0830152600f548083528352601060205260408320546020830152815183526011602052604083205460408301526015548060608401526080830152600c548060a08401526020830151111561283b575b600a546001600160a01b0316803b156115ae57838091602460405180948193638aca6a2360e01b83523060048401525af1801561143a57612828575b5060ff60065460a01c1661281d575b60208201518042116125ef575b50815160018101809111610ace579081604092845280600f55845260106020524282852055818301518351855260116020528285205560018060a01b031691828452600d602052670de0b6b3a76400006125ba838620546125b48585015160126020528689205490611e9b565b90611e6c565b0483855260146020526125d1838620918254611d09565b90550151908252601260205260408220556013602052604042912055565b600e5462093a808201808311610e585762093a80900462093a8081029080820462093a801490151715610e585742811015612816575b600a546001600160a01b031692869291905b6101f4841061264a575b50505050612547565b6126548183611e9b565b9062093a808104918262093a8081020462093a801483151715610e5857604051630cb8c08d60e31b815230600482015262093a809390930260248401526020836044818a5afa92831561280b579189918694938c946127d0575b5084612701575b50505050504281146126fb578062093a8081018111610e58574262093a80820110156126f15762093a806126ea910193611e8c565b9290612637565b506126ea42611f13565b80612641565b60a0830151868382101591826127c6575b50501561279d57506127758361275f84604061275789612752612752986125b46127476127839d61278d9f9d60600151611e6c565b9160a0880151611e9b565b611e4c565b910151611d09565b60408d015260808c015160608d01819052611e6c565b6125b460a08c015187611e9b565b6040880151611d09565b60408701525b81388781806126b5565b61275291506127b76127839460606127bc97950151611e6c565b611e6c565b6040870152612793565b1090508638612712565b9250925092506020813d602011612803575b816127ef60209383611c8f565b81010312610b1557849289915192386126ae565b3d91506127e2565b6040513d8c823e3d90fd5b5042612625565b82606083015261253a565b61283490939193611c7b565b913861252b565b60095460405163277dbafb60e01b81526001600160a01b039160209082906004908290899087165af19081156129165785916128e3575b50600c55600954604051631627391760e11b81529160209183916004918391165afa90811561143a5784916128b1575b508060808401526015556124ef565b90506020813d6020116128db575b816128cc60209383611c8f565b810103126115ae5751386128a2565b3d91506128bf565b90506020813d60201161290e575b816128fe60209383611c8f565b8101031261153c57516004612872565b3d91506128f1565b6040513d87823e3d90fd5b634e487b7160e01b84526041600452602484fd5b1561293c57565b60405162461bcd60e51b8152602060048201526005602482015264475030303160d81b6044820152606490fd5b1561297057565b634e487b7160e01b600052600160045260246000fd5b604080516370a0823160e01b8082526001600160a01b038086166004840181905292959394169260209291908387602481885afa968715612ade57600097612aae575b5060006044859288519063a9059cbb60e01b825260048201528a602482015282885af13d15601f3d1160016000511416171615612a7857906024839286519586938492835260048301525afa928315612a6e5750600092612a3d575b50506120f491612a3491611e9b565b91821115612969565b81819392933d8311612a67575b612a548183611c8f565b810103126103f257505181612a34612a25565b503d612a4a565b513d6000823e3d90fd5b845162461bcd60e51b815260048101849052600f60248201526e1514905394d1915497d19052531151608a1b6044820152606490fd5b90968482813d8311612ad7575b612ac58183611c8f565b810103126103f25750519560006129c9565b503d612abb565b86513d6000823e3d90fdfea26469706673582212206bed956b7effe049f0ab60543dc33361256b1d1e0807d7f2a3c83c8870d6113064736f6c63430008110033000000000000000000000000c353bf07405304aeab75f4c2fac7e88d6a68f98e00000000000000000000000094afb2c17af24cfacf19f364628f459dfab2688f000000000000000000000000c53c83d26151dbcffa349fae20b6155299e87a35