0 txs
1 call
constructor
No constructor.
functions
accTokensPerShare
viewfunction accTokensPerShare() view returns (uint256)
allowReinvest
viewfunction allowReinvest() view returns (bool)
allPaidReward
viewfunction allPaidReward() view returns (uint256)
allPenalties
viewfunction allPenalties(uint256) view returns (uint256 duration, uint256 penaltyBP)
allRewardDebt
viewfunction allRewardDebt() view returns (uint256)
allStakedAmount
viewfunction allStakedAmount() view returns (uint256)
depositFeeBP
viewfunction depositFeeBP() view returns (uint256)
feeTo
viewfunction feeTo() view returns (address)
finishTime
viewfunction finishTime() view returns (uint256)
getPenalty
viewfunction getPenalty(uint256 _claimAmount) view returns (uint256 penaltyAmount, uint256 penaltyBP)
getPenaltyBP
viewfunction getPenaltyBP(uint256 _startTime) view returns (uint256)
getUserInfo
viewfunction getUserInfo(address user) view returns (uint256, uint256)
hasWhitelisting
viewfunction hasWhitelisting() view returns (bool)
isAdmin
viewfunction isAdmin(address) view returns (bool)
isWhitelisted
viewfunction isWhitelisted(address _address) view returns (bool)
lastRewardTime
viewfunction lastRewardTime() view returns (uint256)
MAX_BPS
viewfunction MAX_BPS() view returns (uint256)
owner
viewfunction owner() view returns (address)
participants
viewfunction participants() view returns (uint256)
pendingReward
viewfunction pendingReward(address _user) view returns (uint256)
poolTokenAmount
viewfunction poolTokenAmount() view returns (uint256)
rewardPerSec
viewfunction rewardPerSec() view returns (uint256)
rewardToken
viewfunction rewardToken() view returns (address)
stakeMaster
viewfunction stakeMaster() view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
startTime
viewfunction startTime() view returns (uint256)
userInfo
viewfunction userInfo(address) view returns (uint256 amount, uint256 rewardDebt, bool registrated)
version
purefunction version() pure returns (uint256)
whitelist
viewfunction whitelist(address) view returns (bool)
__StakingPenaltyPool_init
nonpayablefunction __StakingPenaltyPool_init(address _stakingToken, address _poolToken, uint256 _startTime, uint256 _finishTime, uint256 _poolTokenAmount, bool _hasWhitelisting, address _stakeMaster, uint256 _depositFeeBP, address _feeTo)
__StakingPool_init
nonpayablefunction __StakingPool_init(address _stakingToken, address _poolToken, uint256 _startTime, uint256 _finishTime, uint256 _poolTokenAmount, bool _hasWhitelisting, address _stakeMaster, uint256 _depositFeeBP, address _feeTo)
__Whitelist_init
nonpayablefunction __Whitelist_init(bool _hasWhitelisting)
add
nonpayablefunction add(address[] _addresses)
changeWallet
nonpayablefunction changeWallet(address from, address to)
emergencyWithdraw
nonpayablefunction emergencyWithdraw()
extendDuration
nonpayablefunction extendDuration(uint256 _addTokenAmount, uint256 _duration)
reduceDuration
nonpayablefunction reduceDuration(uint256 _finishTime)
reinvestTokens
nonpayablefunction reinvestTokens()
remove
nonpayablefunction remove(address[] _addresses)
renounceOwnership
nonpayablefunction renounceOwnership()
setAdminPermission
nonpayablefunction setAdminPermission(address _user, bool _permission)
setDepositFeeBP
nonpayablefunction setDepositFeeBP(uint256 _depositFeeBP)
setFeeTo
nonpayablefunction setFeeTo(address _feeTo)
setHasWhitelisting
nonpayablefunction setHasWhitelisting(bool value)
stakeFromLocker
nonpayablefunction stakeFromLocker(uint256 _amountToStake)
stakeTokens
nonpayablefunction stakeTokens(uint256 _amountToStake, address _referrer)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updatePenalty
nonpayablefunction updatePenalty(uint256 _index, uint256 _duration, uint256 _penaltyBP)
updatePool
nonpayablefunction updatePool()
withdrawPoolRemainder
nonpayablefunction withdrawPoolRemainder()
withdrawStake
nonpayablefunction withdrawStake(uint256 _amount)
events
AddedToWhitelist
event AddedToWhitelist(address account)
ChargedDepositFee
event ChargedDepositFee(uint256 feeAmountToMasterWallet, uint256 feeAmountToPoolWallet)
ChargedPenalty
event ChargedPenalty(uint256 penaltyAmount, uint256 penaltyBP)
EmergencyWithdraw
event EmergencyWithdraw(address indexed user, uint256 amount)
HasWhitelistingUpdated
event HasWhitelistingUpdated(bool newValue)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolReplenished
event PoolReplenished(uint256 amount)
RemovedFromWhitelist
event RemovedFromWhitelist(address account)
SetAdminPermission
event SetAdminPermission(address indexed admin, bool permission)
SetDepositFeeBP
event SetDepositFeeBP(uint256 depositFeeBP)
SetFeeTo
event SetFeeTo(address feeTo)
StakeWithdrawn
event StakeWithdrawn(address indexed user, uint256 amount, uint256 reward)
TokensStaked
event TokensStaked(address indexed user, uint256 amount, uint256 reward, bool reinvest)
UpdateFinishTime
event UpdateFinishTime(uint256 addedTokenAmount, uint256 newFinishTime)
WithdrawPoolRemainder
event WithdrawPoolRemainder(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405234801561001057600080fd5b50613826806100206000396000f3fe608060405234801561001057600080fd5b50600436106102f15760003560e01c806377f54ea81161019d578063c5ebffb4116100e9578063e3161ddd116100a2578063f40f0f521161007c578063f40f0f52146108f6578063f46901ed1461091c578063f7c618c114610942578063fd967f471461094a576102f1565b8063e3161ddd146108c0578063e42578ce146108c8578063f2fde38b146108d0576102f1565b8063c5ebffb41461083f578063d501953d14610847578063d6605fd81461084f578063d955536114610872578063db2e21bc1461088f578063dd262dce14610897576102f1565b8063960ea6d1116101565780639dd7a603116101305780639dd7a6031461075a578063a3c17bab14610777578063c4b9b20014610794578063c4c1c94f1461079c576102f1565b8063960ea6d1146106fa57806396e59682146107175780639b19251a14610734576102f1565b806377f54ea81461065b57806378e9792514610678578063826136a9146106805780638da5cb5b146106e25780639231cf74146106ea578063951fbcc8146106f2576102f1565b80634f41e95d1161025c57806366b87b2a11610215578063715018a6116101ef578063715018a61461061557806372f702f31461061d57806375f3974b146106255780637647ca0514610653576102f1565b806366b87b2a146105c05780636c4470fb146105ee5780636eaaabd5146105f6576102f1565b80634f41e95d146104be57806354747a70146104c657806354fd4d50146104ce5780635958611e146104d65780635e4ba17c146104de5780636386c1c714610581576102f1565b806324d7806c116102ae57806324d7806c1461042657806325d5971f1461044c5780632b1b8687146104695780632f3c9a4f146104885780633af32abf14610490578063439ee941146104b6576102f1565b8063017e7e58146102f6578063076623451461031a5780630bea440d1461033657806314d3bf41146103645780631959a0021461037e5780631f833a22146103c4575b600080fd5b6102fe610952565b604080516001600160a01b039092168252519081900360200190f35b610322610961565b604080519115158252519081900360200190f35b6103626004803603604081101561034c57600080fd5b50803590602001356001600160a01b031661096a565b005b61036c610a5c565b60408051918252519081900360200190f35b6103a46004803603602081101561039457600080fd5b50356001600160a01b0316610a62565b604080519384526020840192909252151582820152519081900360600190f35b61036260048036036101208110156103db57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013515159160c082013581169160e0810135916101009091013516610a86565b6103226004803603602081101561043c57600080fd5b50356001600160a01b0316610bbd565b6103626004803603602081101561046257600080fd5b5035610bd2565b6103626004803603602081101561047f57600080fd5b50351515610c68565b61036c610d20565b610322600480360360208110156104a657600080fd5b50356001600160a01b0316610d26565b6102fe610d48565b61036c610d57565b61036c610d5d565b61036c610d63565b61036c610d68565b610362600480360360208110156104f457600080fd5b81019060208101813564010000000081111561050f57600080fd5b82018360208201111561052157600080fd5b8035906020019184602083028401116401000000008311171561054357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610d6e945050505050565b6105a76004803603602081101561059757600080fd5b50356001600160a01b0316610e84565b6040805192835260208301919091528051918290030190f35b610362600480360360408110156105d657600080fd5b506001600160a01b0381358116916020013516610eda565b61036c61101d565b6103626004803603602081101561060c57600080fd5b50351515611023565b6103626110db565b6102fe611187565b6103626004803603604081101561063b57600080fd5b506001600160a01b038135169060200135151561119b565b61036261125d565b61036c6004803603602081101561067157600080fd5b5035611416565b61036c611496565b610362600480360361012081101561069757600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013515159160c082013581169160e081013591610100909101351661149c565b6102fe611708565b61036c611717565b61036c61171d565b6103626004803603602081101561071057600080fd5b5035611723565b6105a76004803603602081101561072d57600080fd5b5035611882565b6103226004803603602081101561074a57600080fd5b50356001600160a01b03166118a9565b6103626004803603602081101561077057600080fd5b50356118be565b6105a76004803603602081101561078d57600080fd5b50356119ae565b6103226119d9565b610362600480360360208110156107b257600080fd5b8101906020810181356401000000008111156107cd57600080fd5b8201836020820111156107df57600080fd5b8035906020019184602083028401116401000000008311171561080157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506119e2945050505050565b610362611b06565b61036c611b82565b6103626004803603604081101561086557600080fd5b5080359060200135611b88565b6103626004803603602081101561088857600080fd5b5035611d0c565b610362611ea2565b610362600480360360608110156108ad57600080fd5b5080359060208101359060400135611ed4565b610362612000565b61036c612080565b610362600480360360208110156108e657600080fd5b50356001600160a01b0316612086565b61036c6004803603602081101561090c57600080fd5b50356001600160a01b0316612189565b6103626004803603602081101561093257600080fd5b50356001600160a01b0316612240565b6102fe6122f6565b61036c612305565b60a7546001600160a01b031681565b60675460ff1681565b610974828261230b565b609c54604080516317c1e57160e31b815290516000926001600160a01b03169163be0f2b88916004808301926020929190829003018186803b1580156109b957600080fd5b505afa1580156109cd573d6000803e3d6000fd5b505050506040513d60208110156109e357600080fd5b50516001600160a01b031614610a5857609c5460408051634a5e168560e01b815233600482015290516001600160a01b0390921691634a5e16859160248082019260009290919082900301818387803b158015610a3f57600080fd5b505af1158015610a53573d6000803e3d6000fd5b505050505b5050565b60a05481565b60a96020526000908152604090208054600182015460029092015490919060ff1683565b600054610100900460ff1680610a9f5750610a9f61244a565b80610aad575060005460ff16155b610ae85760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff16158015610b13576000805460ff1961ff0019909116610100171660011790555b610b248a8a8a8a8a8a8a8a8a61149c565b604080518082019091528888038152610bb86020820190815260aa805460018101825560009190915291517f550d3de95be0bd28a79c3eb4ea7f05692c60b0602e48b49461e703379b08a71a600290930292830155517f550d3de95be0bd28a79c3eb4ea7f05692c60b0602e48b49461e703379b08a71b909101558015610bb1576000805461ff00191690555b50505050505050505050565b60656020526000908152604090205460ff1681565b600080610bde83611882565b9092509050610bf5610bf0848461245b565b6124bd565b610c0033838361266d565b8115610c635733600090815260a960205260409020600181015460a254610c269161245b565b60a25560a5548154610c4b91670de0b6b3a764000091610c4591612721565b90612781565b6001820181905560a254610c5e916127e8565b60a255505b505050565b600054610100900460ff1680610c815750610c8161244a565b80610c8f575060005460ff16155b610cca5760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff16158015610cf5576000805460ff1961ff0019909116610100171660011790555b610cfd612842565b6067805460ff19168315151790558015610a58576000805461ff00191690555050565b60a55481565b6001600160a01b03811660009081526066602052604090205460ff165b919050565b609c546001600160a01b031681565b60a45481565b60a85481565b606c90565b609f5481565b33610d77611708565b6001600160a01b03161480610d9b57503360009081526065602052604090205460ff165b610dda576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b60005b8151811015610a58576000828281518110610df457fe5b6020908102919091018101516001600160a01b0381166000908152606690925260409091205490915060ff1615610e7b576001600160a01b038116600081815260666020908152604091829020805460ff19169055815192835290517fcdd2e9b91a56913d370075169cefa1602ba36be5301664f752192bb1709df7579281900390910190a15b50600101610ddd565b600080610e8f613652565b5050506001600160a01b0316600090815260a9602090815260409182902082516060810184528154808252600183015493820184905260029092015460ff1615159301929092529091565b33610ee3611708565b6001600160a01b03161480610f0757503360009081526065602052604090205460ff165b610f46576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b6001600160a01b03808316600090815260a9602052604080822092841682529020600281015460ff16158015610f7b57508054155b8015610f8957506001810154155b610fda576040805162461bcd60e51b815260206004820152601860248201527f5461726765742061646472657373206e6f7420656d7074790000000000000000604482015290519081900360640190fd5b8154815560018083018054918301919091556002808401805491909301805460ff909216151560ff19928316179055600093849055929055805490911690555050565b60a65481565b3361102c611708565b6001600160a01b0316148061105057503360009081526065602052604090205460ff165b61108f576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b6067805460ff191682151517908190556040805160ff90921615158252517f81a1b67ab393231a9f3a2ce8c84cc6c46c76cc94cf733e155af6fb539873fa39916020908290030190a150565b6110e36128eb565b6001600160a01b03166110f4611708565b6001600160a01b03161461113d576040805162461bcd60e51b8152602060048201819052602482015260008051602061374d833981519152604482015290519081900360640190fd5b6033546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603380546001600160a01b0319169055565b609a5461010090046001600160a01b031681565b6111a36128eb565b6001600160a01b03166111b4611708565b6001600160a01b0316146111fd576040805162461bcd60e51b8152602060048201819052602482015260008051602061374d833981519152604482015290519081900360640190fd5b6001600160a01b038216600081815260656020908152604091829020805460ff1916851515908117909155825190815291517f0e7bea53cb2b3130dd1aac8d56b61cc8da7ebab0432e2d1622513523d848f2e79281900390910190a25050565b6112656128eb565b6001600160a01b0316611276611708565b6001600160a01b0316146112bf576040805162461bcd60e51b8152602060048201819052602482015260008051602061374d833981519152604482015290519081900360640190fd5b60026068541415611305576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b6002606855609f544211611355576040805162461bcd60e51b8152602060048201526012602482015271082d8d8deee40c2cce8cae440ccd2dcd2e6d60731b604482015290519081900360640190fd5b61135d612000565b600061138e60a254611388670de0b6b3a7640000610c4560a55460a05461272190919063ffffffff16565b9061245b565b905060006113ad8261138860a15460a35461245b90919063ffffffff16565b60a1549091506113bd90826127e8565b60a155609b546113d7906001600160a01b031633836128ef565b60408051828152905133917f575274ea138cb54fdd6aded4d581d6cfb06d6cda7b8d9c519804512d1d61b5a4919081900360200190a250506001606855565b600080611423428461245b565b60aa5490915060005b8181101561148b5760aa818154811061144157fe5b9060005260206000209060020201600001548310156114835760aa818154811061146757fe5b9060005260206000209060020201600101549350505050610d43565b60010161142c565b506000949350505050565b609d5481565b600054610100900460ff16806114b557506114b561244a565b806114c3575060005460ff16155b6114fe5760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff16158015611529576000805460ff1961ff0019909116610100171660011790555b61153285610c68565b61153a612941565b86881061158e576040805162461bcd60e51b815260206004820152601e60248201527f5374617274206d757374206265206c657373207468616e2066696e6973680000604482015290519081900360640190fd5b4288116115e2576040805162461bcd60e51b815260206004820152601b60248201527f5374617274206d757374206265206d6f7265207468616e206e6f770000000000604482015290519081900360640190fd5b612710831115611632576040805162461bcd60e51b81526020600482015260166024820152750496e76616c6964206465706f736974206665652042560541b604482015290519081900360640190fd5b609a80546001600160a01b03808d1661010002610100600160a81b031990921691909117909155609b80548b83166001600160a01b031991821617909155609c805492871692909116919091179055609d889055609e889055609f87905560a38690556116a96116a2888a61245b565b8790612781565b60a455609b54609a80546001600160a01b03928316610100820484161460ff1990911617905560a780546001600160a01b03191691841691909117905560a88390558015610bb1576000805461ff001916905550505050505050505050565b6033546001600160a01b031690565b609e5481565b60a25481565b3361172c611708565b6001600160a01b0316148061175057503360009081526065602052604090205460ff165b61178f576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b609c60009054906101000a90046001600160a01b03166001600160a01b031663a8d1dbfb6040518163ffffffff1660e01b815260040160206040518083038186803b1580156117dd57600080fd5b505afa1580156117f1573d6000803e3d6000fd5b505050506040513d602081101561180757600080fd5b50518111156118475760405162461bcd60e51b815260040180806020018281038252603981526020018061378e6039913960400191505060405180910390fd5b60a88190556040805182815290517f9a28ac632aad122f0a94262433637d12a4b8202a29b11adbcf0058cb1139d92d9181900360200190a150565b600080611890609d54611416565b90506118a2612710610c458584612721565b9150915091565b60666020526000908152604090205460ff1681565b6118c7816129d6565b609c54604080516317c1e57160e31b815290516000926001600160a01b03169163be0f2b88916004808301926020929190829003018186803b15801561190c57600080fd5b505afa158015611920573d6000803e3d6000fd5b505050506040513d602081101561193657600080fd5b50516001600160a01b0316146119ab57609c5460408051634a5e168560e01b815232600482015290516001600160a01b0390921691634a5e16859160248082019260009290919082900301818387803b15801561199257600080fd5b505af11580156119a6573d6000803e3d6000fd5b505050505b50565b60aa81815481106119bb57fe5b60009182526020909120600290910201805460019091015490915082565b609a5460ff1681565b336119eb611708565b6001600160a01b03161480611a0f57503360009081526065602052604090205460ff165b611a4e576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b60005b8151811015610a5857600160666000848481518110611a6c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa850ae9193f515cbae8d35e8925bd2be26627fc91bce650b8652ed254e9cab03828281518110611ad857fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a1600101611a51565b60026068541415611b4c576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b600260685560675460ff1615611b6e57611b6533610d26565b611b6e57600080fd5b611b7b6000336001612a52565b6001606855565b60a35481565b33611b91611708565b6001600160a01b03161480611bb557503360009081526065602052604090205460ff165b611bf4576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b60026068541415611c3a576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b6002606855609b54611c57906001600160a01b0316333085612d4a565b60a354611c6490836127e8565b60a3558015611ca057609f54611c7a90826127e8565b609f819055609d54611c9891611c8f9161245b565b60a35490612781565b60a455611cc5565b611cc1611cb860a4548461278190919063ffffffff16565b609f54906127e8565b609f555b609f5460408051848152602081019290925280517f127b91073863d59a24754139ce8786738818c7bfcf79fc24cadc1480bd3247919281900390910190a150506001606855565b33611d15611708565b6001600160a01b03161480611d3957503360009081526065602052604090205460ff165b611d78576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b60026068541415611dbe576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b6002606855609f548110611e035760405162461bcd60e51b81526004018080602001828103825260228152602001806136dc6022913960400191505060405180910390fd5b428111611e415760405162461bcd60e51b815260040180806020018281038252602181526020018061376d6021913960400191505060405180910390fd5b609f819055609d54611e5890611c8f90839061245b565b60a455609f546040805160008152602081019290925280517f127b91073863d59a24754139ce8786738818c7bfcf79fc24cadc1480bd3247919281900390910190a1506001606855565b33600090815260a960205260408120548190611ebd90611882565b91509150611ecc33838361266d565b610a58612daa565b33611edd611708565b6001600160a01b03161480611f0157503360009081526065602052604090205460ff165b611f40576040805162461bcd60e51b815260206004820152601c60248201526000805160206136bc833981519152604482015290519081900360640190fd5b60aa548310611f88576040805162461bcd60e51b815260206004820152600f60248201526e092dcc6dee4e4cac6e840d2dcc8caf608b1b604482015290519081900360640190fd5b612710811115611fd4576040805162461bcd60e51b81526020600482015260126024820152710496e76616c69642070656e616c74792042560741b604482015290519081900360640190fd5b600060aa8481548110611fe357fe5b600091825260209091206002909102019283555060019091015550565b609e54421161200e5761207e565b60a05461201e5742609e5561207e565b600061202c609e5442612e97565b9050600061204560a4548361272190919063ffffffff16565b905061207461206b60a054610c45670de0b6b3a76400008561272190919063ffffffff16565b60a554906127e8565b60a555505042609e555b565b60a15481565b61208e6128eb565b6001600160a01b031661209f611708565b6001600160a01b0316146120e8576040805162461bcd60e51b8152602060048201819052602482015260008051602061374d833981519152604482015290519081900360640190fd5b6001600160a01b03811661212d5760405162461bcd60e51b81526004018080602001828103825260268152602001806136966026913960400191505060405180910390fd5b6033546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603380546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038116600090815260a96020526040812060a554609e54421180156121b6575060a05415155b1561220d5760006121c9609e5442612e97565b905060006121e260a4548361272190919063ffffffff16565b905061220861206b60a054610c45670de0b6b3a76400008561272190919063ffffffff16565b925050505b6122388260010154611388670de0b6b3a7640000610c4585876000015461272190919063ffffffff16565b949350505050565b6122486128eb565b6001600160a01b0316612259611708565b6001600160a01b0316146122a2576040805162461bcd60e51b8152602060048201819052602482015260008051602061374d833981519152604482015290519081900360640190fd5b60a780546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ff6b59ffc88fbb27f33470b919e00b41139ee340eb349521f0cbbc1504ce29c3e9181900360200190a150565b609b546001600160a01b031681565b61271081565b60026068541415612351576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b600260685560675460ff16156123735761236a33610d26565b61237357600080fd5b6000612390612710610c4560a8548661272190919063ffffffff16565b905061239b81612ee0565b6123b06123a8848361245b565b336000612a52565b6001600160a01b038216156124405760408051636876935760e11b81526001600160a01b0384166004820152336024820152604481018590529051734f2fea9ef60557b4a70a8b3fc6379ac32b7be4769163d0ed26ae91606480830192600092919082900301818387803b15801561242757600080fd5b505af115801561243b573d6000803e3d6000fd5b505050505b5050600160685550565b600061245530613089565b15905090565b6000828211156124b2576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b60026068541415612503576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b600260685533600090815260a9602052604090208054821115612562576040805162461bcd60e51b81526020600482015260126024820152711dda5d1a191c985dce881b9bdd0819dbdbd960721b604482015290519081900360640190fd5b61256a612000565b604080516060810182528254815260018301546020820152600283015460ff161515918101919091526000906125a190338361308f565b905082156125d35781546125b5908461245b565b8255609a546125d39061010090046001600160a01b031633856128ef565b600182015460a2546125e49161245b565b60a25560a554825461260391670de0b6b3a764000091610c4591612721565b6001830181905560a254612616916127e8565b60a25560a054612626908461245b565b60a0556040805184815260208101839052815133927f933735aa8de6d7547d0126171b2f31b9c34dd00f3ecd4be85a0ba047db4fafef928290030190a25050600160685550565b81156126e1576001600160a01b038316600090815260a96020526040902054612696908361245b565b6001600160a01b038416600090815260a9602052604090205560a0546126bc908361245b565b60a05560a754609a546126e1916001600160a01b0361010090920482169116846128ef565b604080518381526020810183905281517f74447e5d2ff91bade39ce1e3bf81ae58a4aaa35d470bf24b28b54f5894e43f79929181900390910190a1505050565b600082612730575060006124b7565b8282028284828161273d57fe5b041461277a5760405162461bcd60e51b815260040180806020018281038252602181526020018061372c6021913960400191505060405180910390fd5b9392505050565b60008082116127d7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816127e057fe5b049392505050565b60008282018381101561277a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600054610100900460ff168061285b575061285b61244a565b80612869575060005460ff16155b6128a45760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff161580156128cf576000805460ff1961ff0019909116610100171660011790555b6128d76130fb565b80156119ab576000805461ff001916905550565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610c63908490613198565b600054610100900460ff168061295a575061295a61244a565b80612968575060005460ff16155b6129a35760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff161580156129ce576000805460ff1961ff0019909116610100171660011790555b6128d7613249565b60026068541415612a1c576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b600260685560675460ff1615612a3e57612a3533610d26565b612a3e57600080fd5b612a4a81326000612a52565b506001606855565b612a5a612000565b6001600160a01b038216600090815260a960205260408120600281015460ff16612aa05760028101805460ff1916600190811790915560a654612a9c916127e8565b60a6555b805415612b4d57604080516060810182528254815260018301546020820152600283015460ff16151591810191909152612adb90858561308f565b91508215612b4d57609a5460ff16612b2e576040805162461bcd60e51b815260206004820152601160248201527014995a5b9d995cdd08191a5cd8589b1959607a1b604482015290519081900360640190fd5b8054612b3a90836127e8565b815560a054612b4990836127e8565b60a0555b8415612cb057609a54604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b158015612ba357600080fd5b505afa158015612bb7573d6000803e3d6000fd5b505050506040513d6020811015612bcd57600080fd5b5051609a54909150612bef9061010090046001600160a01b0316333089612d4a565b6000612c8982609a60019054906101000a90046001600160a01b03166001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612c5757600080fd5b505afa158015612c6b573d6000803e3d6000fd5b505050506040513d6020811015612c8157600080fd5b50519061245b565b8354909750879150612c9b90826127e8565b835560a054612caa90886127e8565b60a05550505b600181015460a254612cc19161245b565b60a25560a5548154612ce091670de0b6b3a764000091610c4591612721565b6001820181905560a254612cf3916127e8565b60a25560408051868152602081018490528415158183015290516001600160a01b038616917f6363655a3c7ace10eb7a32098436bd120788e6c01329bb863799624f11b575f3919081900360600190a25050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052612da4908590613198565b50505050565b60026068541415612df0576040805162461bcd60e51b815260206004820152601f6024820152600080516020613676833981519152604482015290519081900360640190fd5b600260685533600090815260a960205260409020805415612a4a578054609a54612e2b916101009091046001600160a01b03169033906128ef565b8054604080519182525133917f5fafa99d0643513820be26656b45130b01e1c03062e1266bf36f88cbd3bd9695919081900360200190a2805460a054612e709161245b565b60a055600181015460a254612e849161245b565b60a2556000808255600191820155606855565b6000818310612ea8575060006124b7565b609f548211612ec257612ebb828461245b565b90506124b7565b609f548310612ed3575060006124b7565b609f54612ebb908461245b565b600080821561304957609c546040805163c0ae035360e01b815230600482015290516000926001600160a01b03169163c0ae0353916024808301926020929190829003018186803b158015612f3457600080fd5b505afa158015612f48573d6000803e3d6000fd5b505050506040513d6020811015612f5e57600080fd5b50519050801561301157612f78612710610c458684612721565b925061301133609c60009054906101000a90046001600160a01b03166001600160a01b031663f25f4b566040518163ffffffff1660e01b815260040160206040518083038186803b158015612fcc57600080fd5b505afa158015612fe0573d6000803e3d6000fd5b505050506040513d6020811015612ff657600080fd5b5051609a5461010090046001600160a01b0316919086612d4a565b61301b848461245b565b915081156130475760a754609a54613047916001600160a01b0361010090920482169133911685612d4a565b505b604080518381526020810183905281517fb909069d3abe606afdfa845fac7adc9d64830b5663c6ec8df017a52e74274285929181900390910190a1505050565b3b151590565b6000806130bf8560200151611388670de0b6b3a7640000610c4560a5548a6000015161272190919063ffffffff16565b9050801561223857826130e357609b546130e3906001600160a01b031685836128ef565b60a1546130f090826127e8565b60a155949350505050565b600054610100900460ff1680613114575061311461244a565b80613122575060005460ff16155b61315d5760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff16158015613188576000805460ff1961ff0019909116610100171660011790555b6131906132ef565b6128d761338f565b60606131ed826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166134889092919063ffffffff16565b805190915015610c635780806020019051602081101561320c57600080fd5b5051610c635760405162461bcd60e51b815260040180806020018281038252602a8152602001806137c7602a913960400191505060405180910390fd5b600054610100900460ff1680613262575061326261244a565b80613270575060005460ff16155b6132ab5760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff161580156132d6576000805460ff1961ff0019909116610100171660011790555b600160685580156119ab576000805461ff001916905550565b600054610100900460ff1680613308575061330861244a565b80613316575060005460ff16155b6133515760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff161580156128d7576000805460ff1961ff00199091166101001716600117905580156119ab576000805461ff001916905550565b600054610100900460ff16806133a857506133a861244a565b806133b6575060005460ff16155b6133f15760405162461bcd60e51b815260040180806020018281038252602e8152602001806136fe602e913960400191505060405180910390fd5b600054610100900460ff1615801561341c576000805460ff1961ff0019909116610100171660011790555b60006134266128eb565b603380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35080156119ab576000805461ff001916905550565b606061223884846000858561349c85613089565b6134ed576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061352c5780518252601f19909201916020918201910161350d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461358e576040519150601f19603f3d011682016040523d82523d6000602084013e613593565b606091505b50915091506135a38282866135ae565b979650505050505050565b606083156135bd57508161277a565b8251156135cd5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156136175781810151838201526020016135ff565b50505050905090810190601f1680156136445780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60405180606001604052806000815260200160008152602001600015158152509056fe5265656e7472616e637947756172643a207265656e7472616e742063616c6c004f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734f6e6c79206f776e6572206f722061646d696e2063616e2063616c6c0000000046696e6973682074696d65206d757374206265206265666f72652063757272656e74496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657246696e6973682074696d65206d75737420626520696e20746865206675747572657365744465706f7369744665653a205f6465706f73697446656542502063616e6e6f74206265206d6f7265206d61784465706f7369744665655361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212206ae90f6a13e23cc94d9b902f482d7d11a402c5ec24936ef9a881797f4df5bf1a64736f6c634300060c0033