0 txs
0 calls
constructor
constructor()
functions
cakePool
viewfunction cakePool() view returns (address)
dailyDeposit
viewfunction dailyDeposit(uint32, uint256) view returns (uint128)
dailyWithdraw
viewfunction dailyWithdraw(uint32, uint256) view returns (uint128)
earn
viewfunction earn() view returns (address)
getCurrentDay
viewfunction getCurrentDay() view returns (uint32 currentDay)
getDailyBalances
viewfunction getDailyBalances(uint256 poolId, uint32 firstDay, uint256 count) view returns (uint128[] _deposit, uint128[] _withdraw)
getUserInfo
viewfunction getUserInfo(uint256 _poolIndex, address _user) view returns (tuple info, uint32 currentDay)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
pendingWithdraw
viewfunction pendingWithdraw(uint32, uint256) view returns (uint128)
PERCENT_BASE
viewfunction PERCENT_BASE() view returns (uint128)
poolLength
viewfunction poolLength() view returns (uint256 length)
pools
viewfunction pools(uint256) view returns (address token, uint32 endDay, uint32 lockDayPercent, uint32 boostDayPercent, uint32 unlockDayPercent, uint32 lockPeriod, uint32 withdrawalCut1, uint32 withdrawalCut2, bool depositEnabled, uint128 maxDeposit, uint128 minDeposit, uint128 totalDeposited, uint128 maxPoolAmount, uint128 minBoostAmount)
user
viewfunction user(address, address) view returns (uint256)
userInfo
viewfunction userInfo(address, uint256) view returns (uint128 userDeposit, uint128 accrueInterest, uint32 lastDayAction, bool boost)
userPendingWithdraw
viewfunction userPendingWithdraw(address, uint256) view returns (uint32)
WBNB
viewfunction WBNB() view returns (address)
addPool
nonpayablefunction addPool(tuple _pool)
changePool
nonpayablefunction changePool(uint256 _poolIndex, tuple _pool)
deposit
payablefunction deposit(uint256 _poolIndex, uint128 _amount) payable
harvest
payablefunction harvest(uint256 _poolIndex) payable
initialize
nonpayablefunction initialize(address _cakePool, address _earn)
pause
nonpayablefunction pause()
renounceOwnership
nonpayablefunction renounceOwnership()
setCakePool
nonpayablefunction setCakePool(address _newCakePool)
setEarn
nonpayablefunction setEarn(address _newEarn)
setPoolEndDay
nonpayablefunction setPoolEndDay(uint256 _poolIndex, uint32 _endDay)
setPoolState
nonpayablefunction setPoolState(uint256 _poolIndex, bool _state)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
userCall
nonpayablefunction userCall(address _token, uint256 _amount, address _to)
withdraw
payablefunction withdraw(uint256 _poolIndex) payable
withdrawToken
nonpayablefunction withdrawToken(address _token, uint256 _amount, address _to)
events
Deposit
event Deposit(address indexed user, uint256 poolIndex, address indexed token, uint128 amount)
Harvest
event Harvest(address indexed user, uint256 poolIndex, address indexed token, uint128 amount)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
PendingWithdraw
event PendingWithdraw(address indexed user, uint256 poolIndex, uint128 accumAmount)
PoolAdded
event PoolAdded(address indexed token, uint32 lockPeriod, uint256 poolIndex)
PoolChanged
event PoolChanged(uint256 poolIndex)
PoolChangeState
event PoolChangeState(uint256 poolIndex, bool state)
TokenWithdraw
event TokenWithdraw(address indexed token, uint256 amount, address indexed to)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(address indexed user, uint256 poolIndex, address indexed token, uint128 amount)
errors
No errors.
creation bytecode
0x608080604052346100c2576000549060ff8260081c16610070575060ff80821603610035575b6040516133379081620000c88239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe60806040526004361015610022575b3615610020573461001b57005b600080fd5b005b6000803560e01c8062f42fba146125c8578063081e3eda146125aa5780631069f3b5146121a0578063144bb3c31461215757806321ce919d146120e45780632e1a7d4d14611b3b578063390e5ca014611af25780633ccdbb2814611a745780633e6968b614611a4b5780633f4ba83a146119b65780633fff102a1461191d578063466881d114611793578063485cc9551461159c5780635c975abb14611579578063629615f71461152f578063715018a6146114e457806379bda018146111f8578063805d835d146111d95780638456cb591461117e5780638da5cb5b146111555780638dd95002146111265780639e9e2e1314610a93578063a184877314610a46578063ac4afa3814610961578063b317640b14610845578063b52d881f1461079c578063bb0a420a1461074d578063d11ace6214610700578063d389800f146106d7578063ddc632621461029d578063ed64a96714610274578063efa504ab1461022b5763f2fde38b14610198575061000e565b34610228576020366003190112610228576101b1612842565b6101b9612924565b6001600160a01b038116156101d4576101d19061297c565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b80fd5b50346102285760403660031901126102285760209063ffffffff61024d612858565b16815260cf82526040812060243582528252604060018060801b0391205416604051908152f35b503461022857806003193601126102285760d1546040516001600160a01b039091168152602090f35b506020806003193601126106d357600435906102b7612f0e565b6102bf612b10565b6102ca323314612d79565b6102d5333b15612dc2565b6102e260c9548310612acf565b6102f46102ee836128ef565b50612c6a565b9033845260cb81526040842083855281526040842090610312612b54565b91600181019384549063ffffffff9182811661032e8188612b6f565b60a0840190858083511691161180156106c2575b156106825760ff926103678593633b9aca0093888f988c8291015116915116916131e7565b949091891c161561065a5761039a60018060801b039187610392848b54168260608901511690612d2a565b911690612d2a565b1604945b8054600160801b6001900396878083169588806080880151166103c19089612d2a565b91166103cc91612d2a565b16633b9aca0090049160801c906103e291612d46565b906103ec91612d46565b82516040516370a0823160e01b8152306004820152919a6001600160a01b039592939092918a9085908816815a91602492fa93841561064f57879461061d575b50888c16809410600014610527575050505050505033875260cd8352604087208688528352806040882054169316809314156000146104e857916000805160206132c283398151915293916104dc9382885260cc8252604088208789528252604088209081549061049f86828416612d46565b169060018060801b03191617905533875260cd8152604087209086885252604086209063ffffffff19825416179055604051918291339583612ef5565b0390a25b600160655580f35b60405162461bcd60e51b81526004810183905260176024820152764861727665737420726571756573742070656e64696e6760481b6044820152606490fd5b90919396929497999598509a999a558560d1541693604051978895630cacd00160e11b87523360048801528660246101209889935afa8015610610577f29a50dc17a723e3ec396de922780d70fd6eb98b5d943bca198616b583d6c67d49a6105d09a6105bf986105a894936105d8575b50506101a089015116111584612ed8565b1663ffffffff1982541617905533848451166131a9565b511693604051918291339583612ef5565b0390a36104e0565b6105f8929350803d10610609575b6105f08183612bea565b810190612e90565b975050505050505050903880610597565b503d6105e6565b50604051903d90823e3d90fd5b965092508886813d8111610648575b6106368183612bea565b8101031261001b578c9551923861042c565b503d61062c565b6040513d89823e3d90fd5b61067a60018060801b039187610392848b54168260408901511690612d2a565b16049461039e565b60405162461bcd60e51b8152600481018890526018602482015277131bd8dac81c195c9a5bd9081b9bdd08199a5b9a5cda195960421b6044820152606490fd5b508487850151168589161015610342565b5080fd5b503461022857806003193601126102285760ca546040516001600160a01b039091168152602090f35b50346102285760203660031901126102285761071a612842565b610722612924565b6001600160a01b0316610736811515612a29565b60ca80546001600160a01b03191691909117905580f35b503461022857604036600319011261022857610767612842565b604061077161282c565b9260018060a01b03809316815260d06020522091166000526020526020604060002054604051908152f35b5034610228576040366003190112610228576004356024358015918215808303610841577f5d57360943975524407b3e31c9845524f8e0c8c1925b1ab6b6a6034dca520c069361080f6040946107f0612924565b6107fd60c9548610612acf565b6001610808866128ef565b5001612a8f565b610822575b82519182526020820152a180f35b61083c61082d612b54565b610836846128ef565b50612a6c565b610814565b8480fd5b5034610228576108543661287e565b338452602060d08152604085209060018060a01b0385169182600052815260406000205461088485821015612e05565b6040516370a0823160e01b8152306004820152908282602481875afa918215610956578892610927575b50116108f65733865260d0815260408620916000525260406000209283548381039081116108e0576101d194556131a9565b634e487b7160e01b600052601160045260246000fd5b6064906040519062461bcd60e51b82526004820152600a602482015269496e616465717561746560b01b6044820152fd5b9091508281813d831161094f575b61093f8183612bea565b8101031261001b575190386108ae565b503d610935565b6040513d8a823e3d90fd5b5034610228576020366003190112610228576004359060c954821015610228576101c061098d836128ef565b508054906001810154906004600282015460ff60038401549360018060801b03938491015416946040519660018060a01b038116885263ffffffff90818160a01c1660208a0152818160c01c1660408a015260e01c60608901528082166080890152808260201c1660a0890152808260401c1660c08901528160601c1660e088015260801c16151561010086015281811661012086015260801c610140850152811661016084015260801c6101808301526101a0820152f35b503461022857602036600319011261022857610a60612842565b610a68612924565b6001600160a01b0316610a7c811515612a29565b60d180546001600160a01b03191691909117905580f35b506040366003190112610228576024356001600160801b038116900361022857610abb612f0e565b610ac3612b10565b610ace323314612d79565b610ad9333b15612dc2565b610ae860c95460043510612acf565b610af66102ee6004356128ef565b33825260cb60205260408220600435835260205260408220610b16612b54565b610100830151151580611110575b156110cd576101408301516001600160801b0390811660243590911610611095578154610b5d90602435906001600160801b0316612d46565b6101208401516001600160801b03908116911611158061105e575b1561101f57610b9163ffffffff60a08501511682612b9b565b63ffffffff8060208601511691161015610fef5782516001600160a01b031673bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c8103610fc557503415610efa57610be86024356001600160801b03163414612e05565b60ca54604051906001600160a01b03166001600160401b036020830190811190831117610ee45760208201604081905291869052859182918291906024356001600160801b0316905af1610c3a612e44565b5015610eaa575b8154829085906001600160801b0381168681610ddc575b50505050600101805463ffffffff191663ffffffff929092169182178155825492602491906001600160801b03610c928435828816612d46565b166001600160801b031995861617905560d154604051630cacd00160e11b8152336004820152926101209184919082906001600160a01b03165afa8015610dd157610cf6928791610da7575b506101a08601516001600160801b0316111590612ed8565b6003610d036004356128ef565b50018054836001600160801b03610d1e602435828516612d46565b169116179055835260ce6020908152604080852060043586529091528320805490916001600160801b03610d56602435828516612d46565b16911617905560018060a01b039051166040517f6606df085b84170dc1c95f54ed1ba9fede7e0acb4295233ee87ebf8039d18c11339180610d9c60243560043583612ef5565b0390a3600160655580f35b610dc291506101203d61012011610609576105f08183612bea565b97505050505050505038610cde565b6040513d88823e3d90fd5b633b9aca00610e7f94610e6e610e59610e769563ffffffff6080866001610e859d01549660ff610e1d8b8660a0816020840151169201511690878c166131e7565b9990925060201c1615610e8f57610e4c610e3d8560608d01511687612d2a565b85600180871b03931690612d2a565b1604975b01511690612d2a565b6001600160801b039263ffffffff1690612d2a565b160490612d46565b9060801c612d46565b83612aac565b8184388086610c58565b610ea2610e3d8560408d01511687612d2a565b160497610e50565b60405162461bcd60e51b81526020600482015260126024820152712330b4b632b2103a379039b2b7321021272160711b6044820152606490fd5b634e487b7160e01b600052604160045260246000fd5b8251610f1f906024356001600160801b031690309033906001600160a01b0316612f64565b73bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c3b15610fc157604051632e1a7d4d60e01b8152602480356001600160801b0316600483015285908290818373bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c5af18015610fb657610f87575b50610be8565b9093906001600160401b038111610fa2576040529238610f81565b634e487b7160e01b82526041600452602482fd5b6040513d87823e3d90fd5b8380fd5b60ca54610fea916024356001600160801b0316916001600160a01b0316903390612f64565b610c41565b60405162461bcd60e51b8152602060048201526008602482015267546f6f206c61746560c01b6044820152606490fd5b60405162461bcd60e51b8152602060048201526017602482015276416d6f756e74206f76657220706f6f6c206c696d69747360481b6044820152606490fd5b5061016083015161107b90602435906001600160801b0316612d46565b6101808401516001600160801b0390811691161115610b78565b60405162461bcd60e51b815260206004820152601060248201526f13995959081b5bdc9948185b5bdd5b9d60821b6044820152606490fd5b60405162461bcd60e51b815260206004820152601b60248201527a11195c1bdcda5d081bdb881c1bdbdb081a5cc8191a5cd8589b1959602a1b6044820152606490fd5b5063ffffffff8060208501511690821610610b24565b5034610228578060031936011261022857602060405173bb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c8152f35b50346102285780600319360112610228576033546040516001600160a01b039091168152602090f35b5034610228578060031936011261022857611197612924565b61119f612b10565b600160ff1960975416176097557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b50346102285780600319360112610228576020604051633b9aca008152f35b5034610228576101e0366003190112610228576004356101c03660231901126106d357611223612924565b61123060c9548210612acf565b6001600160801b03610144358181169290839003610fc157610164358281168082036114e05784106114a157826003611268846128ef565b5001541693611276836128ef565b50546001600160a01b03929083169161128e856128ef565b91909161148d576024359485168095036114895781546001600160a01b0319908116909517825563ffffffff926044358481168103611485576112d19084612a6c565b606435848116810361148557835463ffffffff60c01b19811660c09290921b63ffffffff60c01b169182178555906084358681168103611481576001600160c01b039092161760e09190911b6001600160e01b031916178355600183019160a435858116908190036114755783549060c43591878316830361147d5760e435918883168303611479576101043598891689036114795760018060801b0319809963ffffffff60601b9060601b169463ffffffff60201b9060201b16921617179063ffffffff60401b9060401b161717835561012435928315158403611475576113ce936113bd91612a8f565b600284019085825416178155612aac565b60038101906101843587811680910361147157838354161782556101a4359187831683036114715760049261140291612aac565b01956101c43595861680960361146d5786602096837f3b1d71e69e3b2adb64196f00f76bdd2fa274489e4075eee547697bc0851b50e29954161790556003611449866128ef565b50019182541617905561145b836128ef565b5091825416179055604051908152a180f35b8780fd5b8980fd5b8b80fd5b8e80fd5b8d80fd5b8c80fd5b8a80fd5b8880fd5b634e487b7160e01b89526004899052602489fd5b60405162461bcd60e51b8152602060048201526017602482015276125b98dbdc9c9958dd0819195c1bdcda5d081b1a5b5a5d604a1b6044820152606490fd5b8580fd5b50346102285780600319360112610228576114fd612924565b603380546001600160a01b0319811690915581906001600160a01b03166000805160206132e28339815191528280a380f35b50346102285760403660031901126102285760209063ffffffff906040906001600160a01b0361155d612842565b16815260cd845281812060243582528452205416604051908152f35b5034610228578060031936011261022857602060ff609754166040519015158152f35b5034610228576040366003190112610228576115b6612842565b6115be61282c565b9082549160ff8360081c161591828093611786575b801561176f575b156117135760ff1984811660011786559383611702575b506001600160a01b0390811691821515806116f7575b156116bb5761162560ff875460081c16611620816129b3565b6129b3565b61162e3361297c565b85549461165b60ff8760081c16611644816129b3565b61164d816129b3565b6001606555611620816129b3565b6097541660975560018060a01b0319928360d154161760d155169060ca54161760ca55611686575080f35b61ff00191681557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60405162461bcd60e51b8152602060048201526014602482015273416464726573732063616e74206265207a65726f60601b6044820152606490fd5b508181161515611607565b61ffff1916610101178555386115f1565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156115da5750600160ff8516146115da565b50600160ff8516106115d3565b503461022857606036600319011261022857600435906117b161286b565b63ffffffff9290604435846117c4612b54565b16858316116118e757806118e257506001846117e7836117e2612b54565b612b6f565b16018481116118ce5784165b6117fc81612c24565b9261180682612c24565b92855b878116848110156118a057908891826118228386612b9b565b16895260ce60209081526040808b20878c5282528a205461187b916001600160801b03918216611852858d612c56565b528561185e8689612b9b565b168c5260cf815260408c2090888d525260408b2054169188612c56565b521687811461188c57600101611809565b634e487b7160e01b87526011600452602487fd5b6118bc876118ca886040519384936040855260408501906128b2565b9083820360208501526128b2565b0390f35b634e487b7160e01b84526011600452602484fd5b6117f3565b60405162461bcd60e51b815260206004820152600e60248201526d57726f6e6720666972737444617960901b6044820152606490fd5b50346102285760403660031901126102285760043561193a61286b565b611942612924565b61194f60c9548310612acf565b63ffffffff8061195d612b54565b1690821610611972576108366101d1926128ef565b606460405162461bcd60e51b815260206004820152602060248201527f456e6420646179206561726c696572207468616e2063757272656e74206461796044820152fd5b50346102285780600319360112610228576119cf612924565b60975460ff811615611a0f5760ff19166097557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b50346102285780600319360112610228576020611a66612b54565b63ffffffff60405191168152f35b5034610228577f72cb8a894ddb372ceec3d2a7648d86f17d5a15caae0e986c53109b8a9a9385e66020611aa63661287e565b611ab39492939194612924565b60018060a01b0390611adb86828488169788151580611ae7575b611ad690612a29565b6131a9565b6040519586521693a380f35b508186161515611acd565b50346102285760403660031901126102285760209063ffffffff611b14612858565b16815260cc82526040812060243582528252604060018060801b0391205416604051908152f35b50602036600319011261022857611b50612f0e565b611b58612b10565b611b63323314612d79565b611b6e333b15612dc2565b611b7d60c95460043510612acf565b611b8b6102ee6004356128ef565b33825260cb6020526040822060043583526020526040822090815460018060801b038116156120a757600183015490611c55633b9aca00611c5081611bec63ffffffff60208901511663ffffffff60a08a0151169063ffffffff89166131e7565b939060ff8860201c1660001461207d576060890151611c1e90610e599063ffffffff166001600160801b038a16612d2a565b1604925b6080880151611c4490610e599063ffffffff166001600160801b038916612d2a565b1604918460801c612d46565b612d46565b92611c69846001600160801b038416612d46565b94611c72612b54565b94600363ffffffff60a08501511604889563ffffffff60208601511663ffffffff891610611f24575b505082516040516370a0823160e01b81523060048201526001600160a01b03959250906020908290602490829089165afa908115611f19578991611ee7575b506001600160801b0388161115611df057505050505033835260cd60205260408320600435845260205263ffffffff811663ffffffff6040852054161415600014611dae5763ffffffff8116835260cc602090815260408085206004358652909152832080546001600160801b03611d5485828416612d46565b169060018060801b03191617905533835260cd60205260408320600435845260205263ffffffff60408420911663ffffffff198254161790556000805160206132c2833981519152604051806104dc339460043583612ef5565b60405162461bcd60e51b815260206004820152601a6024820152795769746864726177616c20726571756573742070656e64696e6760301b6044820152606490fd5b63ffffffff611eb4966001926003611e096004356128ef565b5001805491608086901b86900390611e25908216828516613190565b16858060801b0319809316179055838060801b038554168383168c5260cf60205260408c206004358d5260205260408c2091825491611e71878060801b0391888060801b038516612d46565b1691161790558984551664ffffffffff19828401541617910155611eac8282511660018060801b03611ea38689613190565b169033906131a9565b511692613190565b7f95a09358636d67e6e6658417405e0a9d244505c299fe249feae4718bfce60fb3604051806105d0339460043583612ef5565b90506020813d602011611f11575b81611f0260209383612bea565b81010312611489575138611cda565b3d9150611ef5565b6040513d8b823e3d90fd5b63ffffffff611f3891979394971688612b6f565b9063ffffffff811663ffffffff83161115612040578060011b6401fffffffe811663fffffffe82160361202c5763fffffffe1663ffffffff831611611fb45750505060c0820151611faa9190612710906001600160801b0390611fa39063ffffffff16878316612d2a565b1604612d46565b925b388080611c9b565b63ffffffff6003919794939716028063ffffffff8116036120185763ffffffff80911691161115611fe6575b50611fac565b60e083015191945061201191612710906001600160801b0390611fa39063ffffffff16878316612d2a565b9238611fe0565b634e487b7160e01b8a52601160045260248afd5b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b8152602060048201526015602482015274139bc81dda5d1a191c985dd85b08185b1b1bddd959605a1b6044820152606490fd5b604089015161209f90610e599063ffffffff166001600160801b038a16612d2a565b160492611c22565b60405162461bcd60e51b8152602060048201526015602482015274155cd95c881a185cc81e995c9bc819195c1bdcda5d605a1b6044820152606490fd5b5034610228576040366003190112610228576080906040906001600160a01b0361210c612842565b16815260cb60205281812060243582526020522060ff6001825492015460405192600180861b0381168452841c602084015263ffffffff8116604084015260201c1615156060820152f35b50346102285760403660031901126102285760209063ffffffff612179612858565b16815260ce82526040812060243582528252604060018060801b0391205416604051908152f35b5034610228576040366003190112610228576121ba61282c565b604051906001600160401b036060830190811190831117612596576102809263ffffffff91606084016040526121f260608501612bb3565b8160608501528160808501528160a08501528160c08501528160e08501528161010085015281610120850152816101408501528161016085015281610180850152816101a0850152816101c0850152816101e08501528161020085015260608401845260405161226181612bcf565b828152826020820152826040820152826060820152602085015281604085015261229060c95460043510612acf565b61229e6102ee6004356128ef565b845260018060a01b0316815260cb6020526040812060043582526020526040812060ff6001604051926122d084612bcf565b8054828060801b038116855260801c60208501520154848116604084015260201c1615156060820152602084015281612307612b54565b916123bc633b9aca008061233585604060208b015101511689518760a08160208401511692015116916131e7565b92908960208101516060810151151560001461256e575060208101515190516060015161238291612371918a16906001600160801b0316612d2a565b6001600160801b0392891690612d2a565b1604915b602089015151895160800151610e6e916123ab918916906001600160801b0316612d2a565b6001600160801b0392881690612d2a565b60208681015101805190916001600160801b03916123dc91908316612d46565b1690526123fb82604060208801510151168360a0885101511690612b9b565b602086015180519192916001600160801b0316156125595750508451602001518216818316811115612546575061243461243991612d5f565b612b85565b1660408481019182528051855180516001600160a01b031682526020808201518716818401528184015187168385015260608083015188168185015260808084015189169085015260a08084015189169085015260c08084015189169085015260e08084015189169085015261010080840151151590850152610120808401516001600160801b03908116918601919091526101408085015182169086015261016080850151821690860152610180808501518216908601526101a09384015181169385019390935297810151805183166101c0850152908101519091166101e0830152918201518516610200820152940151151561022085015251821661024084015216610260820152f35b612554915061243490612d5f565b612439565b60400151612554925061243491508316612d5f565b5190516040015161258e91612371918a16906001600160801b0316612d2a565b160491612386565b634e487b7160e01b83526041600452602483fd5b5034610228578060031936011261022857602060c954604051908152f35b5034610228576101c0366003190112610228576125e3612924565b6001600160a01b036125ff816125f7612a13565b161515612a29565b60c954600160401b8110156125965780600161261e920160c9556128ef565b91909161281857600435818116809103610fc15782546001600160a01b03191617825563ffffffff60243581811681036108415761265c9084612a6c565b604435818116810361084157835463ffffffff60c01b19811660c09290921b63ffffffff60c01b169182178555906064358381168103612814576001600160c01b039092161760e09190911b6001600160e01b031916178355608435818116939060018201908590036114e05780549460a43590848216968783036114895760c4359186831683036114715760e43596871687036114715760018060801b0319809763ffffffff60601b9060601b169463ffffffff60201b9060201b16921617179063ffffffff60401b9060401b16171781556101043580151581036128145761274591612a8f565b6001600160801b039060028101610124358381169081900361146d578482541617815561014435838116810361146d5761277e91612aac565b60038101906101643583811680910361146d57848354161782556101843591838316830361146d576004926127b291612aac565b01916101a4359182168092036114e0578254161790556127d0612a13565b169060c95460001981019081116118ce577fc5bab428b8b82b6a89b32ec3db704250bd4ce34763806ba266762bac6bbbd5e09160409182519182526020820152a280f35b8680fd5b634e487b7160e01b83526004839052602483fd5b602435906001600160a01b038216820361001b57565b600435906001600160a01b038216820361001b57565b6004359063ffffffff8216820361001b57565b6024359063ffffffff8216820361001b57565b606090600319011261001b576001600160a01b03600435818116810361001b579160243591604435908116810361001b5790565b90815180825260208080930193019160005b8281106128d2575050505090565b83516001600160801b0316855293810193928101926001016128c4565b60c95481101561290e5760c96000526005602060002091020190600090565b634e487b7160e01b600052603260045260246000fd5b6033546001600160a01b0316330361293857565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091166000805160206132e2833981519152600080a3565b156129ba57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6004356001600160a01b038116810361001b5790565b15612a3057565b60405162461bcd60e51b815260206004820152601460248201527343616e74206265207a65726f206164647265737360601b6044820152606490fd5b805463ffffffff60a01b191660a09290921b63ffffffff60a01b16919091179055565b805460ff60801b191691151560801b60ff60801b16919091179055565b80546001600160801b031660809290921b6001600160801b031916919091179055565b15612ad657565b60405162461bcd60e51b8152602060048201526012602482015271125b99195e081bdd5d081bd988189bdd5b9960721b6044820152606490fd5b60ff60975416612b1c57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b61a8c042018042116108e0576201518063ffffffff91041690565b63ffffffff91821690821603919082116108e057565b9061a8c063ffffffff809316019182116108e057565b91909163ffffffff808094169116019182116108e057565b6101c081019081106001600160401b03821117610ee457604052565b608081019081106001600160401b03821117610ee457604052565b601f909101601f19168101906001600160401b03821190821017610ee457604052565b6001600160401b038111610ee45760051b60200190565b90612c2e82612c0d565b612c3b6040519182612bea565b8281528092612c4c601f1991612c0d565b0190602036910137565b805182101561290e5760209160051b010190565b90604051612c7781612bb3565b6101a0819360ff815460018060a01b038116855263ffffffff90818160a01c166020870152818160c01c16604087015260e01c60608601526001830154908082166080870152808260201c1660a0870152808260401c1660c08701528160601c1660e086015260801c161515610100840152600460028201549160018060801b039283811661012087015260801c610140860152600381015483811661016087015260801c610180860152015416910152565b6001600160801b0391821690821602908116919082036108e057565b6001600160801b0391821690821601919082116108e057565b906201518063ffffffff809316029182169182036108e057565b15612d8057565b60405162461bcd60e51b815260206004820152601a602482015279141c9bde1e4818dbdb9d1c9858dd081b9bdd08185b1b1bddd95960321b6044820152606490fd5b15612dc957565b60405162461bcd60e51b815260206004820152601460248201527310dbdb9d1c9858dd081b9bdd08185b1b1bddd95960621b6044820152606490fd5b15612e0c57565b60405162461bcd60e51b815260206004820152601060248201526f125b98dbdc9c9958dd08185b5bdd5b9d60821b6044820152606490fd5b3d15612e7e573d906001600160401b038211610ee45760405191612e72601f8201601f191660200184612bea565b82523d6000602084013e565b606090565b5190811515820361001b57565b908161012091031261001b5780519160208201519160408101519160608201519160808101519160a08201519160c081015191610100612ed260e08401612e83565b92015190565b805460ff60201b191691151560201b60ff60201b16919091179055565b9081526001600160801b03909116602082015260400190565b600260655414612f1f576002606555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610ee457612fbc92604052612fbe565b565b60408051908101916001600160a01b03166001600160401b03831182841017610ee45761302d926040526000806020958685527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656487860152868151910182855af1613027612e44565b916130bc565b805182811591821561309d575b50509050156130465750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b838092935001031261001b57816130b49101612e83565b80823861303a565b9192901561311e57508151156130d0575090565b3b156130d95790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156131315750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510613177575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350613154565b6001600160801b0391821690821603919082116108e057565b60405163a9059cbb60e01b60208201526001600160a01b039092166024830152604480830193909352918152612fbc916131e282612bcf565b612fbe565b92916131f1612b54565b936131fc8282612b9b565b9263ffffffff8083169182156132b15787821692808410159081806132a5575b1561324e575050508416101561323b5750906132389193612b6f565b90565b9150506132489192612b6f565b90600090565b919850919282613299575b508161328c575b501561327e57858116908416101561323b5750906132389193612b6f565b505050509050600090600090565b9050818716101538613260565b88841610915038613259565b5083831685111561321c565b505050505050905060009060009056fe95b2b6dc4b182e56512e2182496dfddcdf1c752d1fffa88a5fbf93421a2f6d8e8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a264697066735822122005c45ff80f64f6946eedac0b9c8eafd084e5c0418f2b7885bec3c56952e5fa0f64736f6c63430008130033