Transactions
Token Transfers
Tokens
Internal Transactions
Coin Balance History
Logs
Code
Read Contract
Write Contract
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
- Contract name:
- Farm
- Optimization enabled
- true
- Compiler version
- v0.6.12+commit.27d51765
- Optimization runs
- 200
- EVM Version
- default
- Verified at
- 2023-05-13T22:06:35.894499Z
Constructor Arguments
000000000000000000000000f8c36fcdaf58b077d102400b88d1b7b1917e0987000000000000000000000000000000000000000000000000001d5ef882903c00000000000000000000000000000000000000000000000000000000000033556b
Arg [0] (address) : 0xf8c36fcdaf58b077d102400b88d1b7b1917e0987
Arg [1] (uint256) : 8267195760000000
Arg [2] (uint256) : 3364203
Contract source code
// File: @openzeppelin/contracts/token/ERC20/IERC20.sol// SPDX-License-Identifier: MITpragma solidity ^0.6.0;/*** @dev Interface of the ERC20 standard as defined in the EIP.*/interface IERC20 {/*** @dev Returns the amount of tokens in existence.*/function totalSupply() external view returns (uint256);/*** @dev Returns the amount of tokens owned by `account`.*/function balanceOf(address account) external view returns (uint256);/*** @dev Moves `amount` tokens from the caller's account to `recipient`.** Returns a boolean value indicating whether the operation succeeded.** Emits a {Transfer} event.*/function transfer(address recipient, uint256 amount) external returns (bool);/*** @dev Returns the remaining number of tokens that `spender` will be* allowed to spend on behalf of `owner` through {transferFrom}. This is* zero by default.** This value changes when {approve} or {transferFrom} are called.*/function allowance(address owner, address spender) external view returns (uint256);/*** @dev Sets `amount` as the allowance of `spender` over the caller's tokens.*
Contract ABI
[{"type":"constructor","stateMutability":"nonpayable","inputs":[{"type":"address","name":"_erc20","internalType":"contract IERC20"},{"type":"uint256","name":"_rewardPerBlock","internalType":"uint256"},{"type":"uint256","name":"_startBlock","internalType":"uint256"}]},{"type":"event","name":"Deposit","inputs":[{"type":"address","name":"user","internalType":"address","indexed":true},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"EmergencyWithdraw","inputs":[{"type":"address","name":"user","internalType":"address","indexed":true},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"type":"address","name":"previousOwner","internalType":"address","indexed":true},{"type":"address","name":"newOwner","internalType":"address","indexed":true}],"anonymous":false},{"type":"event","name":"Withdraw","inputs":[{"type":"address","name":"user","internalType":"address","indexed":true},{"type":"uint256","name":"pid","internalType":"uint256","indexed":true},{"type":"uint256","name":"amount","internalType":"uint256","indexed":false}],"anonymous":false},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"add","inputs":[{"type":"uint256","name":"_allocPoint","internalType":"uint256"},{"type":"address","name":"_lpToken","internalType":"contract IERC20"},{"type":"bool","name":"_withUpdate","internalType":"bool"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"deposit","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"},{"type":"uint256","name":"_amount","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"deposited","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"},{"type":"address","name":"_user","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"emergencyWithdraw","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"endBlock","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"contract IERC20"}],"name":"erc20","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"fund","inputs":[{"type":"uint256","name":"_amount","internalType":"uint256"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"massUpdatePools","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"","internalType":"address"}],"name":"owner","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"paidOut","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"pending","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"},{"type":"address","name":"_user","internalType":"address"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"address","name":"lpToken","internalType":"contract IERC20"},{"type":"uint256","name":"allocPoint","internalType":"uint256"},{"type":"uint256","name":"lastRewardBlock","internalType":"uint256"},{"type":"uint256","name":"accERC20PerShare","internalType":"uint256"}],"name":"poolInfo","inputs":[{"type":"uint256","name":"","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"poolLength","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"renounceOwnership","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"rewardPerBlock","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"set","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"},{"type":"uint256","name":"_allocPoint","internalType":"uint256"},{"type":"bool","name":"_withUpdate","internalType":"bool"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"startBlock","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalAllocPoint","inputs":[]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"","internalType":"uint256"}],"name":"totalPending","inputs":[]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"transferOwnership","inputs":[{"type":"address","name":"newOwner","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"updatePool","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"}]},{"type":"function","stateMutability":"view","outputs":[{"type":"uint256","name":"amount","internalType":"uint256"},{"type":"uint256","name":"rewardDebt","internalType":"uint256"}],"name":"userInfo","inputs":[{"type":"uint256","name":"","internalType":"uint256"},{"type":"address","name":"","internalType":"address"}]},{"type":"function","stateMutability":"nonpayable","outputs":[],"name":"withdraw","inputs":[{"type":"uint256","name":"_pid","internalType":"uint256"},{"type":"uint256","name":"_amount","internalType":"uint256"}]}]
Contract Creation Code
0x60806040526000600255600060065534801561001a57600080fd5b506040516117483803806117488339818101604052606081101561003d57600080fd5b508051602082015160409092015190919060006100586100d3565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b0319166001600160a01b03949094169390931790925560035560078190556008556100d7565b3390565b611662806100e66000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063630b5ba1116100c357806393f1a40b1161007c57806393f1a40b146102e3578063a238310614610328578063ca1d209d14610354578063e2bbb15814610371578063e4c75c2714610394578063f2fde38b146103c05761014d565b8063630b5ba11461027457806364482f791461027c578063715018a6146102a7578063785e9e86146102af5780638ae39cac146102d35780638da5cb5b146102db5761014d565b80633f90916a116101155780633f90916a146101ff578063441a3e701461020757806348cd4cb11461022a57806351eb05a6146102325780635312ea8e1461024f5780635c76ca2d1461026c5761014d565b8063081e3eda14610152578063083c63231461016c5780631526fe271461017457806317caf6f1146101c15780631eaaa045146101c9575b600080fd5b61015a6103e6565b60408051918252519081900360200190f35b61015a6103ed565b6101916004803603602081101561018a57600080fd5b50356103f3565b604080516001600160a01b0390951685526020850193909352838301919091526060830152519081900360800190f35b61015a610434565b6101fd600480360360608110156101df57600080fd5b508035906001600160a01b036020820135169060400135151561043a565b005b61015a6105b9565b6101fd6004803603604081101561021d57600080fd5b508035906020013561060e565b61015a610762565b6101fd6004803603602081101561024857600080fd5b5035610768565b6101fd6004803603602081101561026557600080fd5b50356108c2565b61015a61095d565b6101fd610963565b6101fd6004803603606081101561029257600080fd5b50803590602081013590604001351515610986565b6101fd610a57565b6102b7610af9565b604080516001600160a01b039092168252519081900360200190f35b61015a610b08565b6102b7610b0e565b61030f600480360360408110156102f957600080fd5b50803590602001356001600160a01b0316610b1d565b6040805192835260208301919091528051918290030190f35b61015a6004803603604081101561033e57600080fd5b50803590602001356001600160a01b0316610b41565b6101fd6004803603602081101561036a57600080fd5b5035610b6b565b6101fd6004803603604081101561038757600080fd5b5080359060200135610bdd565b61015a600480360360408110156103aa57600080fd5b50803590602001356001600160a01b0316610cf4565b6101fd600480360360208110156103d657600080fd5b50356001600160a01b0316610e99565b6004545b90565b60085481565b6004818154811061040057fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b60065481565b610442610f91565b6000546001600160a01b03908116911614610492576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b80156104a0576104a0610963565b600060075443116104b3576007546104b5565b435b6006549091506104c59085610f95565b600655604080516080810182526001600160a01b03948516815260208101958652908101918252600060608201818152600480546001810182559281905292517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9290930291820180546001600160a01b031916939096169290921790945593517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c840155517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d8301555090517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e90910155565b600060075443116105cc575060006103ea565b600060085443106105df576008546105e1565b435b90506106086002546106026007548403600354610ff690919063ffffffff16565b9061104f565b91505090565b60006004838154811061061d57fe5b6000918252602080832086845260058252604080852033865290925292208054600490920290920192508311156106855760405162461bcd60e51b815260040180806020018281038252602a8152602001806115d9602a913960400191505060405180910390fd5b61068e84610768565b60006106cb82600101546106026a0c097ce7bc90715b34b9f160241b6106c587600301548760000154610ff690919063ffffffff16565b90611091565b90506106d733826110d3565b81546106e3908561104f565b8083556003840154610709916a0c097ce7bc90715b34b9f160241b916106c59190610ff6565b60018301558254610724906001600160a01b03163386611161565b604080518581529051869133917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360200190a35050505050565b60075481565b60006004828154811061077757fe5b906000526020600020906004020190506000600854431061079a5760085461079c565b435b9050816002015481116107b05750506108bf565b8154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156107fa57600080fd5b505afa15801561080e573d6000803e3d6000fd5b505050506040513d602081101561082457600080fd5b505190508061083957506002909101556108bf565b600061085284600201548461104f90919063ffffffff16565b9050600061087f6006546106c5876001015461087960035487610ff690919063ffffffff16565b90610ff6565b90506108ab6108a0846106c5846a0c097ce7bc90715b34b9f160241b610ff6565b600387015490610f95565b600386015550504360029093019290925550505b50565b6000600482815481106108d157fe5b60009182526020808320858452600582526040808520338087529352909320805460049093029093018054909450610916926001600160a01b03919091169190611161565b80546040805191825251849133917fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959181900360200190a360008082556001909101555050565b60025481565b60045460005b818110156109825761097a81610768565b600101610969565b5050565b61098e610f91565b6000546001600160a01b039081169116146109de576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b80156109ec576109ec610963565b610a2982610a2360048681548110610a0057fe5b90600052602060002090600402016001015460065461104f90919063ffffffff16565b90610f95565b6006819055508160048481548110610a3d57fe5b906000526020600020906004020160010181905550505050565b610a5f610f91565b6000546001600160a01b03908116911614610aaf576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b031681565b60035481565b6000546001600160a01b031690565b60056020908152600092835260408084209091529082529020805460019091015482565b60008281526005602090815260408083206001600160a01b03851684529091529020545b92915050565b6008544310610bab5760405162461bcd60e51b81526004018080602001828103825260228152602001806115b76022913960400191505060405180910390fd5b600154610bc3906001600160a01b03163330846111b8565b600354610bd1908290611091565b60088054909101905550565b600060048381548110610bec57fe5b60009182526020808320868452600582526040808520338652909252922060049091029091019150610c1d84610768565b805415610c69576000610c5b82600101546106026a0c097ce7bc90715b34b9f160241b6106c587600301548760000154610ff690919063ffffffff16565b9050610c6733826110d3565b505b8154610c80906001600160a01b03163330866111b8565b8054610c8c9084610f95565b8082556003830154610cb2916a0c097ce7bc90715b34b9f160241b916106c59190610ff6565b6001820155604080518481529051859133917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159181900360200190a350505050565b60008060048481548110610d0457fe5b600091825260208083208784526005825260408085206001600160a01b03898116875290845281862060049586029093016003810154815484516370a0823160e01b81523098810198909852935191985093969395939492909116926370a08231926024808301939192829003018186803b158015610d8257600080fd5b505afa158015610d96573d6000803e3d6000fd5b505050506040513d6020811015610dac57600080fd5b50516008549091506000904310610dc557600854610dc7565b435b9050846002015481118015610ddf5750846002015443115b8015610dea57508115155b15610e5c576000610e0886600201548361104f90919063ffffffff16565b90506000610e2f6006546106c5896001015461087960035487610ff690919063ffffffff16565b9050610e57610e50856106c5846a0c097ce7bc90715b34b9f160241b610ff6565b8690610f95565b945050505b610e8d84600101546106026a0c097ce7bc90715b34b9f160241b6106c5878960000154610ff690919063ffffffff16565b98975050505050505050565b610ea1610f91565b6000546001600160a01b03908116911614610ef1576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b6001600160a01b038116610f365760405162461bcd60e51b81526004018080602001828103825260268152602001806115506026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b600082820183811015610fef576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008261100557506000610b65565b8282028284828161101257fe5b0414610fef5760405162461bcd60e51b81526004018080602001828103825260218152602001806115766021913960400191505060405180910390fd5b6000610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611218565b6000610fef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112af565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561112957600080fd5b505af115801561113d573d6000803e3d6000fd5b505050506040513d602081101561115357600080fd5b505060028054909101905550565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b3908490611314565b505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611212908590611314565b50505050565b600081848411156112a75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561126c578181015183820152602001611254565b50505050905090810190601f1680156112995780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112fe5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561126c578181015183820152602001611254565b50600083858161130a57fe5b0495945050505050565b6060611369826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113c59092919063ffffffff16565b8051909150156111b35780806020019051602081101561138857600080fd5b50516111b35760405162461bcd60e51b815260040180806020018281038252602a815260200180611603602a913960400191505060405180910390fd5b60606113d484846000856113dc565b949350505050565b60606113e785611549565b611438576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106114775780518252601f199092019160209182019101611458565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146114d9576040519150601f19603f3d011682016040523d82523d6000602084013e6114de565b606091505b509150915081156114f25791506113d49050565b8051156115025780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561126c578181015183820152602001611254565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657266756e643a20746f6f206c6174652c20746865206661726d20697320636c6f73656477697468647261773a2063616e2774207769746864726177206d6f7265207468616e206465706f7369745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212207b8753e2207402eae14522dbdec20b9065c86a8e2331238f01e7e041401483ff64736f6c634300060c0033000000000000000000000000f8c36fcdaf58b077d102400b88d1b7b1917e0987000000000000000000000000000000000000000000000000001d5ef882903c00000000000000000000000000000000000000000000000000000000000033556b
Deployed ByteCode
0x608060405234801561001057600080fd5b506004361061014d5760003560e01c8063630b5ba1116100c357806393f1a40b1161007c57806393f1a40b146102e3578063a238310614610328578063ca1d209d14610354578063e2bbb15814610371578063e4c75c2714610394578063f2fde38b146103c05761014d565b8063630b5ba11461027457806364482f791461027c578063715018a6146102a7578063785e9e86146102af5780638ae39cac146102d35780638da5cb5b146102db5761014d565b80633f90916a116101155780633f90916a146101ff578063441a3e701461020757806348cd4cb11461022a57806351eb05a6146102325780635312ea8e1461024f5780635c76ca2d1461026c5761014d565b8063081e3eda14610152578063083c63231461016c5780631526fe271461017457806317caf6f1146101c15780631eaaa045146101c9575b600080fd5b61015a6103e6565b60408051918252519081900360200190f35b61015a6103ed565b6101916004803603602081101561018a57600080fd5b50356103f3565b604080516001600160a01b0390951685526020850193909352838301919091526060830152519081900360800190f35b61015a610434565b6101fd600480360360608110156101df57600080fd5b508035906001600160a01b036020820135169060400135151561043a565b005b61015a6105b9565b6101fd6004803603604081101561021d57600080fd5b508035906020013561060e565b61015a610762565b6101fd6004803603602081101561024857600080fd5b5035610768565b6101fd6004803603602081101561026557600080fd5b50356108c2565b61015a61095d565b6101fd610963565b6101fd6004803603606081101561029257600080fd5b50803590602081013590604001351515610986565b6101fd610a57565b6102b7610af9565b604080516001600160a01b039092168252519081900360200190f35b61015a610b08565b6102b7610b0e565b61030f600480360360408110156102f957600080fd5b50803590602001356001600160a01b0316610b1d565b6040805192835260208301919091528051918290030190f35b61015a6004803603604081101561033e57600080fd5b50803590602001356001600160a01b0316610b41565b6101fd6004803603602081101561036a57600080fd5b5035610b6b565b6101fd6004803603604081101561038757600080fd5b5080359060200135610bdd565b61015a600480360360408110156103aa57600080fd5b50803590602001356001600160a01b0316610cf4565b6101fd600480360360208110156103d657600080fd5b50356001600160a01b0316610e99565b6004545b90565b60085481565b6004818154811061040057fe5b600091825260209091206004909102018054600182015460028301546003909301546001600160a01b039092169350919084565b60065481565b610442610f91565b6000546001600160a01b03908116911614610492576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b80156104a0576104a0610963565b600060075443116104b3576007546104b5565b435b6006549091506104c59085610f95565b600655604080516080810182526001600160a01b03948516815260208101958652908101918252600060608201818152600480546001810182559281905292517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9290930291820180546001600160a01b031916939096169290921790945593517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19c840155517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19d8301555090517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19e90910155565b600060075443116105cc575060006103ea565b600060085443106105df576008546105e1565b435b90506106086002546106026007548403600354610ff690919063ffffffff16565b9061104f565b91505090565b60006004838154811061061d57fe5b6000918252602080832086845260058252604080852033865290925292208054600490920290920192508311156106855760405162461bcd60e51b815260040180806020018281038252602a8152602001806115d9602a913960400191505060405180910390fd5b61068e84610768565b60006106cb82600101546106026a0c097ce7bc90715b34b9f160241b6106c587600301548760000154610ff690919063ffffffff16565b90611091565b90506106d733826110d3565b81546106e3908561104f565b8083556003840154610709916a0c097ce7bc90715b34b9f160241b916106c59190610ff6565b60018301558254610724906001600160a01b03163386611161565b604080518581529051869133917ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689181900360200190a35050505050565b60075481565b60006004828154811061077757fe5b906000526020600020906004020190506000600854431061079a5760085461079c565b435b9050816002015481116107b05750506108bf565b8154604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156107fa57600080fd5b505afa15801561080e573d6000803e3d6000fd5b505050506040513d602081101561082457600080fd5b505190508061083957506002909101556108bf565b600061085284600201548461104f90919063ffffffff16565b9050600061087f6006546106c5876001015461087960035487610ff690919063ffffffff16565b90610ff6565b90506108ab6108a0846106c5846a0c097ce7bc90715b34b9f160241b610ff6565b600387015490610f95565b600386015550504360029093019290925550505b50565b6000600482815481106108d157fe5b60009182526020808320858452600582526040808520338087529352909320805460049093029093018054909450610916926001600160a01b03919091169190611161565b80546040805191825251849133917fbb757047c2b5f3974fe26b7c10f732e7bce710b0952a71082702781e62ae05959181900360200190a360008082556001909101555050565b60025481565b60045460005b818110156109825761097a81610768565b600101610969565b5050565b61098e610f91565b6000546001600160a01b039081169116146109de576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b80156109ec576109ec610963565b610a2982610a2360048681548110610a0057fe5b90600052602060002090600402016001015460065461104f90919063ffffffff16565b90610f95565b6006819055508160048481548110610a3d57fe5b906000526020600020906004020160010181905550505050565b610a5f610f91565b6000546001600160a01b03908116911614610aaf576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6001546001600160a01b031681565b60035481565b6000546001600160a01b031690565b60056020908152600092835260408084209091529082529020805460019091015482565b60008281526005602090815260408083206001600160a01b03851684529091529020545b92915050565b6008544310610bab5760405162461bcd60e51b81526004018080602001828103825260228152602001806115b76022913960400191505060405180910390fd5b600154610bc3906001600160a01b03163330846111b8565b600354610bd1908290611091565b60088054909101905550565b600060048381548110610bec57fe5b60009182526020808320868452600582526040808520338652909252922060049091029091019150610c1d84610768565b805415610c69576000610c5b82600101546106026a0c097ce7bc90715b34b9f160241b6106c587600301548760000154610ff690919063ffffffff16565b9050610c6733826110d3565b505b8154610c80906001600160a01b03163330866111b8565b8054610c8c9084610f95565b8082556003830154610cb2916a0c097ce7bc90715b34b9f160241b916106c59190610ff6565b6001820155604080518481529051859133917f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a159181900360200190a350505050565b60008060048481548110610d0457fe5b600091825260208083208784526005825260408085206001600160a01b03898116875290845281862060049586029093016003810154815484516370a0823160e01b81523098810198909852935191985093969395939492909116926370a08231926024808301939192829003018186803b158015610d8257600080fd5b505afa158015610d96573d6000803e3d6000fd5b505050506040513d6020811015610dac57600080fd5b50516008549091506000904310610dc557600854610dc7565b435b9050846002015481118015610ddf5750846002015443115b8015610dea57508115155b15610e5c576000610e0886600201548361104f90919063ffffffff16565b90506000610e2f6006546106c5896001015461087960035487610ff690919063ffffffff16565b9050610e57610e50856106c5846a0c097ce7bc90715b34b9f160241b610ff6565b8690610f95565b945050505b610e8d84600101546106026a0c097ce7bc90715b34b9f160241b6106c5878960000154610ff690919063ffffffff16565b98975050505050505050565b610ea1610f91565b6000546001600160a01b03908116911614610ef1576040805162461bcd60e51b81526020600482018190526024820152600080516020611597833981519152604482015290519081900360640190fd5b6001600160a01b038116610f365760405162461bcd60e51b81526004018080602001828103825260268152602001806115506026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b3390565b600082820183811015610fef576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008261100557506000610b65565b8282028284828161101257fe5b0414610fef5760405162461bcd60e51b81526004018080602001828103825260218152602001806115766021913960400191505060405180910390fd5b6000610fef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611218565b6000610fef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112af565b6001546040805163a9059cbb60e01b81526001600160a01b038581166004830152602482018590529151919092169163a9059cbb9160448083019260209291908290030181600087803b15801561112957600080fd5b505af115801561113d573d6000803e3d6000fd5b505050506040513d602081101561115357600080fd5b505060028054909101905550565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b3908490611314565b505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611212908590611314565b50505050565b600081848411156112a75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561126c578181015183820152602001611254565b50505050905090810190601f1680156112995780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112fe5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561126c578181015183820152602001611254565b50600083858161130a57fe5b0495945050505050565b6060611369826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113c59092919063ffffffff16565b8051909150156111b35780806020019051602081101561138857600080fd5b50516111b35760405162461bcd60e51b815260040180806020018281038252602a815260200180611603602a913960400191505060405180910390fd5b60606113d484846000856113dc565b949350505050565b60606113e785611549565b611438576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106114775780518252601f199092019160209182019101611458565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146114d9576040519150601f19603f3d011682016040523d82523d6000602084013e6114de565b606091505b509150915081156114f25791506113d49050565b8051156115025780518082602001fd5b60405162461bcd60e51b815260206004820181815286516024840152865187939192839260440191908501908083836000831561126c578181015183820152602001611254565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657266756e643a20746f6f206c6174652c20746865206661726d20697320636c6f73656477697468647261773a2063616e2774207769746864726177206d6f7265207468616e206465706f7369745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a26469706673582212207b8753e2207402eae14522dbdec20b9065c86a8e2331238f01e7e041401483ff64736f6c634300060c0033