0 txs
2 calls
constructor
constructor()
functions
balanceOf
viewfunction balanceOf(uint256 tokenId) view returns (uint256)
balanceOfAt
viewfunction balanceOfAt(uint256 tokenId, uint256 _timestamp) view returns (uint256)
balanceOfOwner
viewfunction balanceOfOwner(address _owner) view returns (uint256)
balanceOfOwnerAt
viewfunction balanceOfOwnerAt(address _owner, uint256 _timestamp) view returns (uint256)
bribeFactory
viewfunction bribeFactory() view returns (address)
earned
viewfunction earned(uint256 tokenId, address _rewardToken) view returns (uint256)
earnedOwner
viewfunction earnedOwner(address _owner, address _rewardToken, uint256 _timestamp) view returns (uint256)
earnedTokenId
viewfunction earnedTokenId(uint256 _tokenId, address _rewardToken, uint48 _timestamp) view returns (uint256)
firstBribeTimestamp
viewfunction firstBribeTimestamp() view returns (uint256)
getEpochStart
viewfunction getEpochStart() view returns (uint256)
getNextEpochStart
viewfunction getNextEpochStart() view returns (uint256)
isRewardToken
viewfunction isRewardToken(address) view returns (bool)
minter
viewfunction minter() view returns (address)
owner
viewfunction owner() view returns (address)
rewardData
viewfunction rewardData(address, uint256) view returns (uint256 periodFinish, uint256 rewardsPerEpoch, uint256 lastUpdateTime)
rewardPerToken
viewfunction rewardPerToken(address _rewardsToken, uint256 _timestamp) view returns (uint256)
rewardsListLength
viewfunction rewardsListLength() view returns (uint256)
rewardTokens
viewfunction rewardTokens(uint256) view returns (address)
supportsInterface
purefunction supportsInterface(bytes4 interfaceId) pure returns (bool)
tokenTimestamp
viewfunction tokenTimestamp(uint256, address) view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
totalSupplyAt
viewfunction totalSupplyAt(uint256 _timestamp) view returns (uint256)
TYPE
viewfunction TYPE() view returns (string)
ve
viewfunction ve() view returns (address)
VERSION
viewfunction VERSION() view returns (string)
voter
viewfunction voter() view returns (address)
WEEK
viewfunction WEEK() view returns (uint256)
addRewardToken
nonpayablefunction addRewardToken(address _rewardsToken)
addRewardTokens
nonpayablefunction addRewardTokens(address[] _rewardsToken)
deposit
nonpayablefunction deposit(uint256 amount, address user)
emergencyRecoverERC20
nonpayablefunction emergencyRecoverERC20(address tokenAddress, uint256 tokenAmount)
getReward
nonpayablefunction getReward(address[] tokens)
getReward
nonpayablefunction getReward(uint256 tokenId, address[] tokens)
getRewardForAddress
nonpayablefunction getRewardForAddress(address _owner, address[] tokens)
getRewardForAddressToRecipient
nonpayablefunction getRewardForAddressToRecipient(address _owner, address[] tokens, address _recipient)
getRewardForOwner
nonpayablefunction getRewardForOwner(uint256 tokenId, address[] tokens)
getRewardToRecipient
nonpayablefunction getRewardToRecipient(uint256 tokenId, address[] tokens, address _recipient)
initialize
nonpayablefunction initialize(address _owner, address _voter, address _bribeFactory, string _type)
notifyRewardAmount
nonpayablefunction notifyRewardAmount(address _rewardsToken, uint256 reward)
recoverERC20AndUpdateData
nonpayablefunction recoverERC20AndUpdateData(address tokenAddress, uint256 tokenAmount)
setMinter
nonpayablefunction setMinter(address _minter)
setOwner
nonpayablefunction setOwner(address _owner)
setVoter
nonpayablefunction setVoter(address _Voter)
withdraw
nonpayablefunction withdraw(uint256 amount, address user)
events
Initialized
event Initialized(uint8 version)
Recovered
event Recovered(address indexed token, uint256 amount)
RewardAdded
event RewardAdded(address indexed rewardToken, uint256 reward, uint256 startTimestamp)
RewardPaid
event RewardPaid(address indexed user, address indexed rewardsToken, uint256 reward)
SetOwner
event SetOwner(address indexed _owner)
Staked
event Staked(address indexed user, uint256 amount)
Withdrawn
event Withdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x6080604052620151806033553480156200001857600080fd5b506200002362000029565b620000ea565b600054610100900460ff1615620000965760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e8576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61320a80620000fa6000396000f3fe608060405234801561001057600080fd5b50600436106102735760003560e01c8063981b24d011610151578063c95bda70116100c3578063eb4a78e011610087578063eb4a78e0146105b2578063f4359ce5146105c5578063f5f8d365146105ce578063f808a774146105e1578063fca3b5aa1461060c578063ffa1ad741461061f57600080fd5b8063c95bda701461055e578063d7b4565e14610571578063db0ea98414610584578063e39c08fc14610597578063e6886396146105aa57600080fd5b8063a7852afa11610115578063a7852afa146104da578063ae205536146104ed578063b5fd73f814610500578063b66503cf14610523578063bb24fe8a14610536578063c66130d71461054b57600080fd5b8063981b24d0146104795780639cc7f70814610499578063a147ab03146104ac578063a1f87809146104bf578063a4a3e035146104d257600080fd5b80634bc2a657116101ea5780636e553f65116101ae5780636e553f65146104075780637bb7bed11461041a5780637fd7d0621461042d578063853c8aeb1461044057806389ed41e6146104535780638da5cb5b1461046657600080fd5b80634bc2a657146103bd57806355288eea146103d057806357bc5614146103d957806365c5f94a146103ec57806365e8e4f4146103f457600080fd5b806313af40351161023c57806313af40351461031457806318160ddd146103275780631c03e6cc1461032f5780631f85071614610342578063381748621461035557806346c96aac146103aa57600080fd5b8062f714ce146102785780630125bb321461028d57806301ffc9a7146102a057806303efc66c146102c857806307546172146102e9575b600080fd5b61028b610286366004612afc565b610643565b005b61028b61029b366004612b2c565b6107fe565b6102b36102ae366004612b58565b610912565b60405190151581526020015b60405180910390f35b6102db6102d6366004612b96565b61094c565b6040519081526020016102bf565b603a546102fc906001600160a01b031681565b6040516001600160a01b0390911681526020016102bf565b61028b610322366004612bd8565b610988565b6102db610a24565b61028b61033d366004612bd8565b610ab3565b603b546102fc906001600160a01b031681565b61038f610363366004612b2c565b603560209081526000928352604080842090915290825290208054600182015460029092015490919083565b604080519384526020840192909252908201526060016102bf565b6038546102fc906001600160a01b031681565b61028b6103cb366004612bd8565b610afe565b6102db60345481565b6102db6103e7366004612b2c565b610b72565b6102db610c21565b61028b610402366004612c3c565b610c3d565b61028b610415366004612afc565b610eff565b6102fc610428366004612d09565b611077565b61028b61043b366004612da0565b6110a1565b6102db61044e366004612dd5565b6111ca565b61028b610461366004612df7565b611265565b603c546102fc906001600160a01b031681565b6102db610487366004612d09565b6000908152603f602052604090205490565b6102db6104a7366004612d09565b611455565b6102db6104ba366004612e50565b6114fe565b61028b6104cd366004612da0565b61155d565b6102db6115dc565b61028b6104e8366004612e91565b61164a565b6102db6104fb366004612b2c565b6116e4565b6102b361050e366004612bd8565b60366020526000908152604090205460ff1681565b61028b610531366004612b2c565b61170b565b61053e6119b0565b6040516102bf9190612f04565b6102db610559366004612bd8565b611a3e565b61028b61056c366004612b2c565b611a75565b61028b61057f366004612f37565b611c58565b61028b610592366004612f6a565b611d39565b6102db6105a5366004612afc565b611e75565b6037546102db565b6039546102fc906001600160a01b031681565b6102db60335481565b61028b6105dc366004612e91565b61203d565b6102db6105ef366004612afc565b603e60209081526000928352604080842090915290825290205481565b61028b61061a366004612bd8565b6120c1565b61053e604051806040016040528060058152602001640322e312e360dc1b81525081565b61064b612135565b600082116106945760405162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b60448201526064015b60405180910390fd5b6038546001600160a01b031633146106ab57600080fd5b603a5460408051631a2732c160e31b815290516000926001600160a01b03169163d13996089160048083019260209291908290030181865afa1580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107199190612fa4565b6001600160a01b038316600090815260406020818152818320848452905290205490915083116107f0576000818152603f60209081526040808320546001600160a01b03861684528183528184208585529092529091205461077b8583612fd3565b6000848152603f60205260409020556107948582612fd3565b6001600160a01b03851660008181526040602081815281832088845281529181902093909355915187815290917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d591015b60405180910390a250505b506107fa60018055565b5050565b603c546001600160a01b031633148061082157506039546001600160a01b031633145b61083d5760405162461bcd60e51b815260040161068b90612fea565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015610881573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a59190612fa4565b8111156108b157600080fd5b603c546108cb906001600160a01b0384811691168361218e565b816001600160a01b03167f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa288260405161090691815260200190565b60405180910390a25050565b60006001600160e01b03198216632b5e10ed60e01b148061094657506001600160e01b031982166001621794a360e21b0319145b92915050565b60335460009081906109668165ffffffffffff8616613019565b610970919061303b565b905061097d8585836121f1565b9150505b9392505050565b603c546001600160a01b03163314806109ab57506039546001600160a01b031633145b6109c75760405162461bcd60e51b815260040161068b90612fea565b6001600160a01b0381166109da57600080fd5b603c80546001600160a01b0319166001600160a01b0383169081179091556040517f167d3e9c1016ab80e58802ca9da10ce5c6a0f4debc46a2e7a2cd9e56899a4fb590600090a250565b600080603a60009054906101000a90046001600160a01b03166001600160a01b031663d13996086040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9e9190612fa4565b6000908152603f602052604090205492915050565b603c546001600160a01b0316331480610ad657506039546001600160a01b031633145b610af25760405162461bcd60e51b815260040161068b90612fea565b610afb81612481565b50565b603c546001600160a01b0316331480610b2157506039546001600160a01b031633145b610b3d5760405162461bcd60e51b815260040161068b90612fea565b6001600160a01b038116610b5057600080fd5b603880546001600160a01b0319166001600160a01b0392909216919091179055565b6000818152603f60205260408120548103610bcd576001600160a01b0383166000908152603560209081526040808320858452909152902060010154610bc6906d04ee2d6d415b85acef810000000061303b565b9050610946565b6000828152603f60209081526040808320546001600160a01b03871684526035835281842086855290925290912060010154610c17906d04ee2d6d415b85acef810000000061303b565b6109819190613019565b6000603354610c2e6115dc565b610c38919061305a565b905090565b600054610100900460ff1615808015610c5d5750600054600160ff909116105b80610c775750303b158015610c77575060005460ff166001145b610cda5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161068b565b6000805460ff191660011790558015610cfd576000805461ff0019166101001790555b6001600160a01b03831615801590610d1d57506001600160a01b03841615155b8015610d3157506001600160a01b03851615155b610d3a57600080fd5b603880546001600160a01b038087166001600160a01b031992831681179093556039805491871691909216179055600060345560408051630fc2838b60e11b81529051631f850716916004818101926020929091908290030181865afa158015610da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcc9190613072565b603b60006101000a8154816001600160a01b0302191690836001600160a01b03160217905550836001600160a01b031663075461726040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e549190613072565b603a80546001600160a01b0319166001600160a01b03929092169182179055610e7c57600080fd5b603c80546001600160a01b0319166001600160a01b0387161790558151610eaa90603d906020850190612a4e565b50620151806033558015610ef8576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610f07612135565b60008211610f485760405162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015260640161068b565b6038546001600160a01b03163314610f5f57600080fd5b603a5460408051631a2732c160e31b815290516000926001600160a01b03169163d13996089160048083019260209291908290030181865afa158015610fa9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fcd9190612fa4565b6000818152603f60209081526040808320546001600160a01b03871684528183528184208585529092529091205491925090611009858361305a565b6000848152603f6020526040902055611022858261305a565b6001600160a01b03851660008181526040602081815281832088845281529181902093909355915187815290917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d91016107e5565b6037818154811061108757600080fd5b6000918252602090912001546001600160a01b0316905081565b6110a9612135565b603b546040516370a0823160e01b81523360048201819052916000916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156110f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061111b9190612fa4565b905060005b818110156111be57603b54604051632f745c5960e01b81526001600160a01b038581166004830152602482018490526000921690632f745c5990604401602060405180830381865afa15801561117a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119e9190612fa4565b90506111ab818587612507565b50806111b68161308f565b915050611120565b505050610afb60018055565b603b546040516331a9108f60e11b81526004810184905260009182916001600160a01b0390911690636352211e90602401602060405180830381865afa158015611218573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123c9190613072565b6001600160a01b0316600090815260406020818152818320868452905290205491505092915050565b61126d612135565b603b54604051630eaa5de960e11b81526001600160a01b03858116600483015233602483015290911690631d54bbd290604401602060405180830381865afa1580156112bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e191906130a8565b806112f657506038546001600160a01b031633145b6113335760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161068b565b603b546040516370a0823160e01b81526001600160a01b03858116600483015260009216906370a0823190602401602060405180830381865afa15801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a29190612fa4565b905060005b8181101561144557603b54604051632f745c5960e01b81526001600160a01b038781166004830152602482018490526000921690632f745c5990604401602060405180830381865afa158015611401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114259190612fa4565b9050611432818587612507565b508061143d8161308f565b9150506113a7565b505061145060018055565b505050565b6000806114606115dc565b603b546040516331a9108f60e11b8152600481018690529192506000916001600160a01b0390911690636352211e90602401602060405180830381865afa1580156114af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d39190613072565b6001600160a01b03166000908152604060208181528183209483529390935291909120549392505050565b60008061150b85846116e4565b90508060000361151f576000915050610981565b600061152b8585610b72565b905060006d04ee2d6d415b85acef8100000000611548848461303b565b6115529190613019565b935061098192505050565b603c546001600160a01b031633148061158057506039546001600160a01b031633145b61159c5760405162461bcd60e51b815260040161068b90612fea565b60005b81518110156107fa576115ca8282815181106115bd576115bd6130ca565b6020026020010151612481565b806115d48161308f565b91505061159f565b603a5460408051631a2732c160e31b815290516000926001600160a01b03169163d13996089160048083019260209291908290030181865afa158015611626573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c389190612fa4565b611652612135565b6038546001600160a01b0316331461166957600080fd5b603b546040516331a9108f60e11b8152600481018490526000916001600160a01b031690636352211e90602401602060405180830381865afa1580156116b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116d79190613072565b90506107f0838284612507565b6001600160a01b038216600090815260406020818152818320848452905290205492915050565b611713612135565b6001600160a01b03821660009081526036602052604090205460ff1661177b5760405162461bcd60e51b815260206004820152601960248201527f72657761726420746f6b656e206e6f7420766572696669656400000000000000604482015260640161068b565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156117c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117e69190612fa4565b90506117fd6001600160a01b0384163330856125e8565b6040516370a0823160e01b81523060048201526000906001600160a01b038516906370a0823190602401602060405180830381865afa158015611844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118689190612fa4565b905060006118768383612fd3565b90506000603a60009054906101000a90046001600160a01b03166001600160a01b031663d13996086040518163ffffffff1660e01b8152600401602060405180830381865afa1580156118cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f19190612fa4565b90506034546000036119035760348190555b6001600160a01b0386166000908152603560209081526040808320848452909152902060010154611934838261305a565b6001600160a01b0388166000818152603560209081526040808320878452825291829020600181019490945542600285015592859055805186815292830185905290917f6a6f77044107a33658235d41bedbbaf2fe9ccdceb313143c947a5e76e1ec8474910160405180910390a250505050506107fa60018055565b603d80546119bd906130e0565b80601f01602080910402602001604051908101604052809291908181526020018280546119e9906130e0565b8015611a365780601f10611a0b57610100808354040283529160200191611a36565b820191906000526020600020905b815481529060010190602001808311611a1957829003601f168201915b505050505081565b600080611a496115dc565b6001600160a01b0390931660009081526040602081815281832095835294909452929092205492915050565b603c546001600160a01b0316331480611a9857506039546001600160a01b031633145b611ab45760405162461bcd60e51b815260040161068b90612fea565b6040516370a0823160e01b81523060048201526001600160a01b038316906370a0823190602401602060405180830381865afa158015611af8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1c9190612fa4565b811115611b2857600080fd5b603a5460408051631a2732c160e31b815290516000926001600160a01b03169163d13996089160048083019260209291908290030181865afa158015611b72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b969190612fa4565b6001600160a01b0384166000908152603560209081526040808320848452909152902060010154909150611bca8382612fd3565b6001600160a01b0385811660008181526035602090815260408083208884529091529020600181019390935542600290930192909255603c54611c0f9291168561218e565b836001600160a01b03167f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa2884604051611c4a91815260200190565b60405180910390a250505050565b611c60612135565b603b5460405163f4a221a160e01b8152336004820152602481018590526001600160a01b039091169063f4a221a190604401602060405180830381865afa158015611caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd391906130a8565b80611ce857506038546001600160a01b031633145b611d255760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161068b565b611d30838284612507565b61145060018055565b611d41612135565b6038546001600160a01b03163314611d5857600080fd5b603b546040516370a0823160e01b81526001600160a01b03848116600483015260009216906370a0823190602401602060405180830381865afa158015611da3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc79190612fa4565b905060005b81811015611e6a57603b54604051632f745c5960e01b81526001600160a01b038681166004830152602482018490526000921690632f745c5990604401602060405180830381865afa158015611e26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e4a9190612fa4565b9050611e57818686612507565b5080611e628161308f565b915050611dcc565b50506107fa60018055565b603a5460408051631a2732c160e31b815290516000928392839283926001600160a01b03169163d13996089160048083019260209291908290030181865afa158015611ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ee99190612fa4565b6000878152603e602090815260408083206001600160a01b038a168452909152902054909150808203611f23576000945050505050610946565b603454811015611fe857603b5460405163f778e0a360e01b8152600481018990526000916001600160a01b03169063f778e0a390602401608060405180830381865afa158015611f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9b9190613131565b60335490925060009150611fb78165ffffffffffff8516613019565b611fc1919061303b565b90506034548111611fe157603354603454611fdc9190612fd3565b611fe3565b805b925050505b60328410156120325781811015612032576120048787836121f1565b61200e908461305a565b92506033548161201e919061305a565b90508361202a8161308f565b945050611fe8565b509095945050505050565b612045612135565b603b5460405163430c208160e01b8152336004820152602481018490526001600160a01b039091169063430c208190604401602060405180830381865afa158015612094573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b891906130a8565b61166957600080fd5b603c546001600160a01b03163314806120e457506039546001600160a01b031633145b6121005760405162461bcd60e51b815260040161068b90612fea565b6001600160a01b03811661211357600080fd5b603a80546001600160a01b0319166001600160a01b0392909216919091179055565b6002600154036121875760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161068b565b6002600155565b6040516001600160a01b03831660248201526044810182905261145090849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612626565b603b54604051630acec27b60e21b81526004810185905265ffffffffffff8316602482015260009182916001600160a01b0390911690632b3b09ec90604401602060405180830381865afa15801561224d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122719190613072565b90506001600160a01b03811661228b576000915050610981565b603b54604051637028a55d60e11b81526004810187905265ffffffffffff851660248201526000916001600160a01b03169063e0514aba90604401602060405180830381865afa1580156122e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123079190612fa4565b90508060000361231c57600092505050610981565b6000612330838665ffffffffffff166116e4565b9050806000036123465760009350505050610981565b603b54604051630748d63560e31b81526001600160a01b03858116600483015265ffffffffffff881660248301526000921690633a46b1a890604401602060405180830381865afa15801561239f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123c39190612fa4565b9050806000036123da576000945050505050610981565b6000816123ef85670de0b6b3a764000061303b565b6123f99190613019565b9050821580612406575080155b1561241957600095505050505050610981565b600061242d898965ffffffffffff16610b72565b90506000670de0b6b3a7640000836d04ee2d6d415b85acef8100000000612454888661303b565b61245e9190613019565b612468919061303b565b6124729190613019565b97506109819650505050505050565b6001600160a01b03811660009081526036602052604090205460ff16610afb576001600160a01b03166000818152603660205260408120805460ff191660019081179091556037805491820181559091527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319169091179055565b600080805b83518110156125e0576000848281518110612529576125296130ca565b6020026020010151905061253d87826126fb565b9450925082156125a95761255b6001600160a01b038216878561218e565b806001600160a01b0316866001600160a01b03167f540798df468d7b23d11f156fdb954cb19ad414d150722a7b6d55ba369dea792e856040516125a091815260200190565b60405180910390a35b6000878152603e602090815260408083206001600160a01b03909416835292905220839055806125d88161308f565b91505061250c565b505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526126209085906323b872dd60e01b906084016121ba565b50505050565b600061267b826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166128be9092919063ffffffff16565b905080516000148061269c57508080602001905181019061269c91906130a8565b6114505760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161068b565b6000806000806000603a60009054906101000a90046001600160a01b03166001600160a01b031663d13996086040518163ffffffff1660e01b8152600401602060405180830381865afa158015612756573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277a9190612fa4565b6000888152603e602090815260408083206001600160a01b038b1684529091529020546034549192509081101561286657603b5460405163f778e0a360e01b8152600481018a90526000916001600160a01b03169063f778e0a390602401608060405180830381865afa1580156127f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128199190613131565b603354909250600091506128358165ffffffffffff8516613019565b61283f919061303b565b9050603454811161285f5760335460345461285a9190612fd3565b612861565b805b925050505b60328410156128b057818110156128b0576128828888836121f1565b61288c908461305a565b92506033548161289c919061305a565b9050836128a88161308f565b945050612866565b919791965090945050505050565b60606128cd84846000856128d5565b949350505050565b6060824710156129365760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161068b565b600080866001600160a01b0316858760405161295291906131b8565b60006040518083038185875af1925050503d806000811461298f576040519150601f19603f3d011682016040523d82523d6000602084013e612994565b606091505b50915091506129a5878383876129b0565b979650505050505050565b60608315612a1f578251600003612a18576001600160a01b0385163b612a185760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161068b565b50816128cd565b6128cd8383815115612a345781518083602001fd5b8060405162461bcd60e51b815260040161068b9190612f04565b828054612a5a906130e0565b90600052602060002090601f016020900481019282612a7c5760008555612ac2565b82601f10612a9557805160ff1916838001178555612ac2565b82800160010185558215612ac2579182015b82811115612ac2578251825591602001919060010190612aa7565b50612ace929150612ad2565b5090565b5b80821115612ace5760008155600101612ad3565b6001600160a01b0381168114610afb57600080fd5b60008060408385031215612b0f57600080fd5b823591506020830135612b2181612ae7565b809150509250929050565b60008060408385031215612b3f57600080fd5b8235612b4a81612ae7565b946020939093013593505050565b600060208284031215612b6a57600080fd5b81356001600160e01b03198116811461098157600080fd5b65ffffffffffff81168114610afb57600080fd5b600080600060608486031215612bab57600080fd5b833592506020840135612bbd81612ae7565b91506040840135612bcd81612b82565b809150509250925092565b600060208284031215612bea57600080fd5b813561098181612ae7565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612c3457612c34612bf5565b604052919050565b60008060008060808587031215612c5257600080fd5b8435612c5d81612ae7565b9350602085810135612c6e81612ae7565b93506040860135612c7e81612ae7565b9250606086013567ffffffffffffffff80821115612c9b57600080fd5b818801915088601f830112612caf57600080fd5b813581811115612cc157612cc1612bf5565b612cd3601f8201601f19168501612c0b565b91508082528984828501011115612ce957600080fd5b808484018584013760008482840101525080935050505092959194509250565b600060208284031215612d1b57600080fd5b5035919050565b600082601f830112612d3357600080fd5b8135602067ffffffffffffffff821115612d4f57612d4f612bf5565b8160051b612d5e828201612c0b565b9283528481018201928281019087851115612d7857600080fd5b83870192505b848310156129a5578235612d9181612ae7565b82529183019190830190612d7e565b600060208284031215612db257600080fd5b813567ffffffffffffffff811115612dc957600080fd5b6128cd84828501612d22565b60008060408385031215612de857600080fd5b50508035926020909101359150565b600080600060608486031215612e0c57600080fd5b8335612e1781612ae7565b9250602084013567ffffffffffffffff811115612e3357600080fd5b612e3f86828701612d22565b9250506040840135612bcd81612ae7565b600080600060608486031215612e6557600080fd5b8335612e7081612ae7565b92506020840135612e8081612ae7565b929592945050506040919091013590565b60008060408385031215612ea457600080fd5b82359150602083013567ffffffffffffffff811115612ec257600080fd5b612ece85828601612d22565b9150509250929050565b60005b83811015612ef3578181015183820152602001612edb565b838111156126205750506000910152565b6020815260008251806020840152612f23816040850160208701612ed8565b601f01601f19169190910160400192915050565b600080600060608486031215612f4c57600080fd5b83359250602084013567ffffffffffffffff811115612e3357600080fd5b60008060408385031215612f7d57600080fd5b8235612f8881612ae7565b9150602083013567ffffffffffffffff811115612ec257600080fd5b600060208284031215612fb657600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082821015612fe557612fe5612fbd565b500390565b6020808252601590820152747065726d697373696f6e2069732064656e6965642160581b604082015260600190565b60008261303657634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561305557613055612fbd565b500290565b6000821982111561306d5761306d612fbd565b500190565b60006020828403121561308457600080fd5b815161098181612ae7565b6000600182016130a1576130a1612fbd565b5060010190565b6000602082840312156130ba57600080fd5b8151801515811461098157600080fd5b634e487b7160e01b600052603260045260246000fd5b600181811c908216806130f457607f821691505b60208210810361311457634e487b7160e01b600052602260045260246000fd5b50919050565b8051600f81900b811461312c57600080fd5b919050565b600080828403608081121561314557600080fd5b606081121561315357600080fd5b506040516060810181811067ffffffffffffffff8211171561317757613177612bf5565b6040526131838461311a565b81526131916020850161311a565b60208201526131a26040850161311a565b60408201526060840151909250612b2181612b82565b600082516131ca818460208701612ed8565b919091019291505056fea2646970667358221220008c53fca3caee5641feb69eed372944115e9f4e9fb60cc10cd0675257d2319064736f6c634300080d0033