More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 81 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw LP Toke... | 11433221 | 1487 days ago | IN | 0 ETH | 0.00131166 | ||||
Withdraw LP Toke... | 11433124 | 1487 days ago | IN | 0 ETH | 0.00166143 | ||||
Withdraw Reward ... | 11119248 | 1535 days ago | IN | 0 ETH | 0.00181247 | ||||
Withdraw LP Toke... | 11119244 | 1535 days ago | IN | 0 ETH | 0.00196292 | ||||
Withdraw LP Toke... | 11118848 | 1535 days ago | IN | 0 ETH | 0.00202511 | ||||
Stake | 11115978 | 1536 days ago | IN | 0.0175 ETH | 0.0050653 | ||||
Stake | 11115940 | 1536 days ago | IN | 0.175 ETH | 0.00560586 | ||||
Withdraw Reward ... | 11085016 | 1541 days ago | IN | 0 ETH | 0.00280109 | ||||
Stake | 11069390 | 1543 days ago | IN | 0.05 ETH | 0.00507197 | ||||
Stake | 11065382 | 1544 days ago | IN | 2.43 ETH | 0.0180964 | ||||
Stake | 11065248 | 1544 days ago | IN | 0.56 ETH | 0.0192964 | ||||
Stake | 11062162 | 1544 days ago | IN | 1.06 ETH | 0.02242346 | ||||
Withdraw LP Toke... | 11032693 | 1549 days ago | IN | 0 ETH | 0.0026056 | ||||
Stake | 11012131 | 1552 days ago | IN | 0.058968 ETH | 0.00907616 | ||||
Withdraw LP Toke... | 11005932 | 1553 days ago | IN | 0 ETH | 0.00441592 | ||||
Withdraw LP Toke... | 11005932 | 1553 days ago | IN | 0 ETH | 0.00441592 | ||||
Withdraw LP Toke... | 11005931 | 1553 days ago | IN | 0 ETH | 0.00901162 | ||||
Withdraw Reward ... | 11005786 | 1553 days ago | IN | 0 ETH | 0.0090568 | ||||
Withdraw LP Toke... | 11004739 | 1553 days ago | IN | 0 ETH | 0.00428275 | ||||
Withdraw Reward ... | 11004715 | 1553 days ago | IN | 0 ETH | 0.0023562 | ||||
Withdraw Reward ... | 11004711 | 1553 days ago | IN | 0 ETH | 0.00457709 | ||||
Withdraw Reward ... | 11004204 | 1553 days ago | IN | 0 ETH | 0.02504504 | ||||
Withdraw LP Toke... | 11004199 | 1553 days ago | IN | 0 ETH | 0.02712409 | ||||
Withdraw LP Toke... | 11003224 | 1553 days ago | IN | 0 ETH | 0.01507885 | ||||
Withdraw Reward ... | 11003197 | 1553 days ago | IN | 0 ETH | 0.01655545 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
12720346 | 1289 days ago | 1 wei | ||||
12720346 | 1289 days ago | 0.01 ETH | ||||
12720346 | 1289 days ago | 0.01 ETH | ||||
12720346 | 1289 days ago | 0.02 ETH | ||||
11115978 | 1536 days ago | 1 wei | ||||
11115978 | 1536 days ago | 0.00875 ETH | ||||
11115978 | 1536 days ago | 0.00875 ETH | ||||
11115940 | 1536 days ago | 1 wei | ||||
11115940 | 1536 days ago | 0.0875 ETH | ||||
11115940 | 1536 days ago | 0.0875 ETH | ||||
11069390 | 1543 days ago | 1 wei | ||||
11069390 | 1543 days ago | 0.025 ETH | ||||
11069390 | 1543 days ago | 0.025 ETH | ||||
11065382 | 1544 days ago | 1 wei | ||||
11065382 | 1544 days ago | 1.215 ETH | ||||
11065382 | 1544 days ago | 1.215 ETH | ||||
11065248 | 1544 days ago | 1 wei | ||||
11065248 | 1544 days ago | 0.28 ETH | ||||
11065248 | 1544 days ago | 0.28 ETH | ||||
11062162 | 1544 days ago | 1 wei | ||||
11062162 | 1544 days ago | 0.53 ETH | ||||
11062162 | 1544 days ago | 0.53 ETH | ||||
11012131 | 1552 days ago | 1 wei | ||||
11012131 | 1552 days ago | 0.029484 ETH | ||||
11012131 | 1552 days ago | 0.029484 ETH |
Loading...
Loading
Contract Name:
Staker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-09-30 */ pragma solidity 0.6.12; library SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c;} function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow");} function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c;} function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) {return 0;} uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c;} function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero");} function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; return c;} function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero");} function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b;} } interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function transfer(address recipient, uint256 amount) external returns (bool); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); function transferFrom(address sender, address recipient, uint256 amount) external returns (bool); function mint(address account, uint256 amount) external; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } interface Uniswap{ function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity); function getPair(address tokenA, address tokenB) external view returns (address pair); function WETH() external pure returns (address); } interface Pool{ function primary() external view returns (address); } contract Poolable{ address payable internal constant _POOLADDRESS = 0x64D4bF1f4cb2b3Fdbb6ffFb0947b8D8331c2dF57; function primary() private view returns (address) { return Pool(_POOLADDRESS).primary(); } modifier onlyPrimary() { require(msg.sender == primary(), "Caller is not primary"); _; } } contract Staker is Poolable{ using SafeMath for uint256; uint constant internal DECIMAL = 10**18; uint constant public INF = 33136721748; uint private _rewardValue = 10**18; mapping (address => uint256) public timePooled; mapping (address => uint256) private internalTime; mapping (address => uint256) private LPTokenBalance; mapping (address => uint256) private rewards; mapping (address => uint256) private referralEarned; address public apycAddress; address constant public UNIROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address constant public FACTORY = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; address public WETHAddress = Uniswap(UNIROUTER).WETH(); bool private _unchangeable = false; bool private _tokenAddressGiven = false; receive() external payable { if(msg.sender != UNIROUTER){ stake(address(0)); } } function sendValue(address payable recipient, uint256 amount) internal { (bool success, ) = recipient.call{ value: amount }(""); require(success, "Address: unable to send value, recipient may have reverted"); } //If true, no changes can be made function unchangeable() public view returns (bool){ return _unchangeable; } function lpToken() public view returns (address){ return Uniswap(FACTORY).getPair(apycAddress, WETHAddress); } function rewardValue() public view returns (uint){ return _rewardValue; } //THE ONLY ADMIN FUNCTIONS vvvv //After this is called, no changes can be made function makeUnchangeable() public onlyPrimary{ _unchangeable = true; } //Can only be called once to set token address function setTokenAddress(address input) public onlyPrimary{ require(!_tokenAddressGiven, "Function was already called"); _tokenAddressGiven = true; apycAddress = input; } //Set reward value that has high APY, can't be called if makeUnchangeable() was called function updateRewardValue(uint input) public onlyPrimary { require(!unchangeable(), "makeUnchangeable() function was already called"); _rewardValue = input; } //THE ONLY ADMIN FUNCTIONS ^^^^ function stake(address payable ref) public payable{ address staker = msg.sender; if(ref != address(0)){ referralEarned[ref] = referralEarned[ref] + ((address(this).balance/15)*DECIMAL)/price(); } sendValue(_POOLADDRESS, address(this).balance/2); address poolAddress = Uniswap(FACTORY).getPair(apycAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(apycAddress).balanceOf(poolAddress); //token in uniswap uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount); IERC20(apycAddress).mint(address(this), toMint); uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this)); uint amountTokenDesired = IERC20(apycAddress).balanceOf(address(this)); IERC20(apycAddress).approve(UNIROUTER, amountTokenDesired ); //allow pool to get tokens Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(apycAddress, amountTokenDesired, 1, 1, address(this), INF); uint poolTokenAmountAfter = IERC20(poolAddress).balanceOf(address(this)); uint poolTokenGot = poolTokenAmountAfter.sub(poolTokenAmountBefore); rewards[staker] = rewards[staker].add(viewRecentRewardTokenAmount(staker)); timePooled[staker] = now; internalTime[staker] = now; LPTokenBalance[staker] = LPTokenBalance[staker].add(poolTokenGot); } function withdrawLPTokens(uint amount) public { require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet"); rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender)); LPTokenBalance[msg.sender] = LPTokenBalance[msg.sender].sub(amount); address poolAddress = Uniswap(FACTORY).getPair(apycAddress, WETHAddress); IERC20(poolAddress).transfer(msg.sender, amount); internalTime[msg.sender] = now; } function withdrawRewardTokens(uint amount) public { require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet"); rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender)); internalTime[msg.sender] = now; uint removeAmount = ethtimeCalc(amount)/2; rewards[msg.sender] = rewards[msg.sender].sub(removeAmount); IERC20(apycAddress).mint(msg.sender, amount); } function withdrawReferralEarned(uint amount) public{ require(timePooled[msg.sender] != 0, "You have to stake at least a little bit to withdraw referral rewards"); require(timePooled[msg.sender] + 3 days <= now, "It has not been 3 days since you staked yet"); referralEarned[msg.sender] = referralEarned[msg.sender].sub(amount); IERC20(apycAddress).mint(msg.sender, amount); } function viewRecentRewardTokenAmount(address who) internal view returns (uint){ return (viewPooledEthAmount(who).mul( now.sub(internalTime[who]) )); } function viewRewardTokenAmount(address who) public view returns (uint){ return earnCalc( rewards[who].add(viewRecentRewardTokenAmount(who))*2 ); } function viewLPTokenAmount(address who) public view returns (uint){ return LPTokenBalance[who]; } function viewPooledEthAmount(address who) public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(apycAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap return (ethAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function viewPooledTokenAmount(address who) public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(apycAddress, WETHAddress); uint tokenAmount = IERC20(apycAddress).balanceOf(poolAddress); //token in uniswap return (tokenAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function viewReferralEarned(address who) public view returns (uint){ return referralEarned[who]; } function price() public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(apycAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(apycAddress).balanceOf(poolAddress); //token in uniswap return (DECIMAL.mul(ethAmount)).div(tokenAmount); } function earnCalc(uint ethTime) public view returns(uint){ return ( rewardValue().mul(ethTime) ) / ( 31557600 * DECIMAL ); } function ethtimeCalc(uint apyc) internal view returns(uint){ return ( apyc.mul(31557600 * DECIMAL) ).div( rewardValue() ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNIROUTER","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETHAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"apycAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"ethTime","type":"uint256"}],"name":"earnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeUnchangeable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"price","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"rewardValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"input","type":"address"}],"name":"setTokenAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"ref","type":"address"}],"name":"stake","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timePooled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unchangeable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"input","type":"uint256"}],"name":"updateRewardValue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewLPTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledEthAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewPooledTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewReferralEarned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"viewRewardTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawLPTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawReferralEarned","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052670de0b6b3a7640000600055737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561006a57600080fd5b505afa15801561007e573d6000803e3d6000fd5b505050506040513d602081101561009457600080fd5b8101908080519060200190929190505050600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff02191690831515021790555034801561012757600080fd5b5061309c80620001386000396000f3fe6080604052600436106101445760003560e01c80638439a541116100b6578063cb43b2dd1161006f578063cb43b2dd146105ee578063d28de27314610629578063d488ebe81461066a578063e42255d8146106cf578063e91ed7c914610734578063ecd3bfbb146107995761019d565b80638439a5411461046e5780638d301f99146104a95780639d2a679f146104e4578063a035b1fe1461050f578063a064b44b1461053a578063b1fd6740146105895761019d565b80632dd31000116101085780632dd3100014610308578063452d003f14610349578063475d8733146103845780634caacd751461039b5780635fcbd285146103c85780636dc64a02146104095761019d565b80630af88b24146101a257806312c7df73146101e3578063264762041461020e57806326a4e8d21461025257806329b83c2e146102a35761019d565b3661019d57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019b5761019a60006107da565b5b005b600080fd5b3480156101ae57600080fd5b506101b761126f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ef57600080fd5b506101f8611295565b6040518082815260200191505060405180910390f35b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b005b34801561025e57600080fd5b506102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b005b3480156102af57600080fd5b506102f2600480360360208110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d611440565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050611458565b005b34801561039057600080fd5b50610399611838565b005b3480156103a757600080fd5b506103b06118fd565b60405180821515815260200191505060405180910390f35b3480156103d457600080fd5b506103dd611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b506104586004803603602081101561042c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a33565b6040518082815260200191505060405180910390f35b34801561047a57600080fd5b506104a76004803603602081101561049157600080fd5b8101908080359060200190929190505050611a7c565b005b3480156104b557600080fd5b506104e2600480360360208110156104cc57600080fd5b8101908080359060200190929190505050611b8c565b005b3480156104f057600080fd5b506104f9611e05565b6040518082815260200191505060405180910390f35b34801561051b57600080fd5b50610524611e0e565b6040518082815260200191505060405180910390f35b34801561054657600080fd5b506105736004803603602081101561055d57600080fd5b81019080803590602001909291905050506120f0565b6040518082815260200191505060405180910390f35b34801561059557600080fd5b506105d8600480360360208110156105ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061212a565b6040518082815260200191505060405180910390f35b3480156105fa57600080fd5b506106276004803603602081101561061157600080fd5b81019080803590602001909291905050506123c5565b005b34801561063557600080fd5b5061063e61269e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561067657600080fd5b506106b96004803603602081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b6565b6040518082815260200191505060405180910390f35b3480156106db57600080fd5b5061071e600480360360208110156106f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612724565b6040518082815260200191505060405180910390f35b34801561074057600080fd5b506107836004803603602081101561075757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129bf565b6040518082815260200191505060405180910390f35b3480156107a557600080fd5b506107ae612a08565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146108bd5761081b611e0e565b670de0b6b3a7640000600f478161082e57fe5b04028161083757fe5b04600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108e57364d4bf1f4cb2b3fdbb6fffb0947b8d8331c2df57600247816108df57fe5b04612a2e565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d6020811015610ab657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6020811015610b7e57600080fd5b810190808051906020019092919050505090506000610bb883610baa8447612af290919063ffffffff16565b612b7890919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9657600080fd5b505afa158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b50505050506040513d6060811015610fc457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d602081101561107f57600080fd5b8101908080519060200190929190505050905060006110a78483612bc290919063ffffffff16565b90506111036110b58a612c0c565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122081600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6112a6612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156114f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b61154f61150133612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e481600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b457600080fd5b505af11580156117c8573d6000803e3d6000fd5b505050506040513d60208110156117de57600080fd5b81019080805190602001909291905050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611840612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156119f357600080fd5b505afa158015611a07573d6000803e3d6000fd5b505050506040513d6020811015611a1d57600080fd5b8101908080519060200190929190505050905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611a84612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611b2c6118fd565b15611b82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613039602e913960400191505060405180910390fd5b8060008190555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526044815260200180612f6f6044913960600191505060405180910390fd5b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115611cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b611d1481600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611dea57600080fd5b505af1158015611dfe573d6000803e3d6000fd5b5050505050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611eee57600080fd5b505afa158015611f02573d6000803e3d6000fd5b505050506040513d6020811015611f1857600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fb657600080fd5b505afa158015611fca573d6000803e3d6000fd5b505050506040513d6020811015611fe057600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561207e57600080fd5b505afa158015612092573d6000803e3d6000fd5b505050506040513d60208110156120a857600080fd5b810190808051906020019092919050505090506120e8816120da84670de0b6b3a7640000612af290919063ffffffff16565b612b7890919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261211b8361210d611295565b612af290919063ffffffff16565b8161212257fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561220a57600080fd5b505afa15801561221e573d6000803e3d6000fd5b505050506040513d602081101561223457600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122d257600080fd5b505afa1580156122e6573d6000803e3d6000fd5b505050506040513d60208110156122fc57600080fd5b810190808051906020019092919050505090506123bc8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561235857600080fd5b505afa15801561236c573d6000803e3d6000fd5b505050506040513d602081101561238257600080fd5b81019080805190602001909291905050506123ae61239f876129bf565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115612462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b6124bc61246e33612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261255083612da5565b8161255757fe5b0490506125ac81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561268257600080fd5b505af1158015612696573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061271d60026127176126c985612c0c565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b026120f0565b9050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561280457600080fd5b505afa158015612818573d6000803e3d6000fd5b505050506040513d602081101561282e57600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128cc57600080fd5b505afa1580156128e0573d6000803e3d6000fd5b505050506040513d60208110156128f657600080fd5b810190808051906020019092919050505090506129b68273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561295257600080fd5b505afa158015612966573d6000803e3d6000fd5b505050506040513d602081101561297c57600080fd5b81019080805190602001909291905050506129a8612999876129bf565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5050905080612aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b600080831415612b055760009050612b72565b6000828402905082848281612b1657fe5b0414612b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b6000612bba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612de8565b905092915050565b6000612c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612eae565b905092915050565b6000612c7a612c63600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612bc290919063ffffffff16565b612c6c8461212a565b612af290919063ffffffff16565b9050919050565b600080828401905083811015612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007364d4bf1f4cb2b3fdbb6fffb0947b8d8331c2df5773ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612d6557600080fd5b505afa158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b8101908080519060200190929190505050905090565b6000612de1612db2611295565b612dd3670de0b6b3a76400006301e187e00285612af290919063ffffffff16565b612b7890919063ffffffff16565b9050919050565b60008083118290612e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e59578082015181840152602081019050612e3e565b50505050905090810190601f168015612e865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ea057fe5b049050809150509392505050565b6000838311158290612f5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f20578082015181840152602081019050612f05565b50505050905090810190601f168015612f4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a264697066735822122080478bbc144b1516e59f0ddbca3aaffd30fcdc5478d8f699b4f1ffeb51ef5fa164736f6c634300060c0033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80638439a541116100b6578063cb43b2dd1161006f578063cb43b2dd146105ee578063d28de27314610629578063d488ebe81461066a578063e42255d8146106cf578063e91ed7c914610734578063ecd3bfbb146107995761019d565b80638439a5411461046e5780638d301f99146104a95780639d2a679f146104e4578063a035b1fe1461050f578063a064b44b1461053a578063b1fd6740146105895761019d565b80632dd31000116101085780632dd3100014610308578063452d003f14610349578063475d8733146103845780634caacd751461039b5780635fcbd285146103c85780636dc64a02146104095761019d565b80630af88b24146101a257806312c7df73146101e3578063264762041461020e57806326a4e8d21461025257806329b83c2e146102a35761019d565b3661019d57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019b5761019a60006107da565b5b005b600080fd5b3480156101ae57600080fd5b506101b761126f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ef57600080fd5b506101f8611295565b6040518082815260200191505060405180910390f35b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b005b34801561025e57600080fd5b506102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b005b3480156102af57600080fd5b506102f2600480360360208110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d611440565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050611458565b005b34801561039057600080fd5b50610399611838565b005b3480156103a757600080fd5b506103b06118fd565b60405180821515815260200191505060405180910390f35b3480156103d457600080fd5b506103dd611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b506104586004803603602081101561042c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a33565b6040518082815260200191505060405180910390f35b34801561047a57600080fd5b506104a76004803603602081101561049157600080fd5b8101908080359060200190929190505050611a7c565b005b3480156104b557600080fd5b506104e2600480360360208110156104cc57600080fd5b8101908080359060200190929190505050611b8c565b005b3480156104f057600080fd5b506104f9611e05565b6040518082815260200191505060405180910390f35b34801561051b57600080fd5b50610524611e0e565b6040518082815260200191505060405180910390f35b34801561054657600080fd5b506105736004803603602081101561055d57600080fd5b81019080803590602001909291905050506120f0565b6040518082815260200191505060405180910390f35b34801561059557600080fd5b506105d8600480360360208110156105ac57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061212a565b6040518082815260200191505060405180910390f35b3480156105fa57600080fd5b506106276004803603602081101561061157600080fd5b81019080803590602001909291905050506123c5565b005b34801561063557600080fd5b5061063e61269e565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561067657600080fd5b506106b96004803603602081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126b6565b6040518082815260200191505060405180910390f35b3480156106db57600080fd5b5061071e600480360360208110156106f257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612724565b6040518082815260200191505060405180910390f35b34801561074057600080fd5b506107836004803603602081101561075757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129bf565b6040518082815260200191505060405180910390f35b3480156107a557600080fd5b506107ae612a08565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146108bd5761081b611e0e565b670de0b6b3a7640000600f478161082e57fe5b04028161083757fe5b04600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108e57364d4bf1f4cb2b3fdbb6fffb0947b8d8331c2df57600247816108df57fe5b04612a2e565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d6020811015610ab657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6020811015610b7e57600080fd5b810190808051906020019092919050505090506000610bb883610baa8447612af290919063ffffffff16565b612b7890919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9657600080fd5b505afa158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b50505050506040513d6060811015610fc457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d602081101561107f57600080fd5b8101908080519060200190929190505050905060006110a78483612bc290919063ffffffff16565b90506111036110b58a612c0c565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122081600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6112a6612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156114f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b61154f61150133612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e481600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b457600080fd5b505af11580156117c8573d6000803e3d6000fd5b505050506040513d60208110156117de57600080fd5b81019080805190602001909291905050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611840612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156119f357600080fd5b505afa158015611a07573d6000803e3d6000fd5b505050506040513d6020811015611a1d57600080fd5b8101908080519060200190929190505050905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611a84612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b24576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611b2c6118fd565b15611b82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613039602e913960400191505060405180910390fd5b8060008190555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c25576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526044815260200180612f6f6044913960600191505060405180910390fd5b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115611cc2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b611d1481600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611dea57600080fd5b505af1158015611dfe573d6000803e3d6000fd5b5050505050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611eee57600080fd5b505afa158015611f02573d6000803e3d6000fd5b505050506040513d6020811015611f1857600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fb657600080fd5b505afa158015611fca573d6000803e3d6000fd5b505050506040513d6020811015611fe057600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561207e57600080fd5b505afa158015612092573d6000803e3d6000fd5b505050506040513d60208110156120a857600080fd5b810190808051906020019092919050505090506120e8816120da84670de0b6b3a7640000612af290919063ffffffff16565b612b7890919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261211b8361210d611295565b612af290919063ffffffff16565b8161212257fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561220a57600080fd5b505afa15801561221e573d6000803e3d6000fd5b505050506040513d602081101561223457600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122d257600080fd5b505afa1580156122e6573d6000803e3d6000fd5b505050506040513d60208110156122fc57600080fd5b810190808051906020019092919050505090506123bc8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561235857600080fd5b505afa15801561236c573d6000803e3d6000fd5b505050506040513d602081101561238257600080fd5b81019080805190602001909291905050506123ae61239f876129bf565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115612462576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b6124bc61246e33612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261255083612da5565b8161255757fe5b0490506125ac81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561268257600080fd5b505af1158015612696573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061271d60026127176126c985612c0c565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b026120f0565b9050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561280457600080fd5b505afa158015612818573d6000803e3d6000fd5b505050506040513d602081101561282e57600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128cc57600080fd5b505afa1580156128e0573d6000803e3d6000fd5b505050506040513d60208110156128f657600080fd5b810190808051906020019092919050505090506129b68273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561295257600080fd5b505afa158015612966573d6000803e3d6000fd5b505050506040513d602081101561297c57600080fd5b81019080805190602001909291905050506129a8612999876129bf565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5050905080612aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b600080831415612b055760009050612b72565b6000828402905082848281612b1657fe5b0414612b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b6000612bba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612de8565b905092915050565b6000612c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612eae565b905092915050565b6000612c7a612c63600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612bc290919063ffffffff16565b612c6c8461212a565b612af290919063ffffffff16565b9050919050565b600080828401905083811015612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007364d4bf1f4cb2b3fdbb6fffb0947b8d8331c2df5773ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612d6557600080fd5b505afa158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b8101908080519060200190929190505050905090565b6000612de1612db2611295565b612dd3670de0b6b3a76400006301e187e00285612af290919063ffffffff16565b612b7890919063ffffffff16565b9050919050565b60008083118290612e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e59578082015181840152602081019050612e3e565b50505050905090810190601f168015612e865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ea057fe5b049050809150509392505050565b6000838311158290612f5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f20578082015181840152602081019050612f05565b50505050905090810190601f168015612f4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a264697066735822122080478bbc144b1516e59f0ddbca3aaffd30fcdc5478d8f699b4f1ffeb51ef5fa164736f6c634300060c0033
Deployed Bytecode Sourcemap
3304:7587:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3885:42;4252:23;;:10;:23;;;4249:69;;4290:17;4304:1;4290:5;:17::i;:::-;4249:69;3304:7587;;;;;4027:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4855:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5739:1578;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5198:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3523:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3934:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7325:547;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5049:85;;;;;;;;;;;;;:::i;:::-;;4622:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4719:124;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10066:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5504:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8403:426;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3429:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10190:401;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10599:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9312:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7884:507;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3841:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9017:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9684:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9189:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3802:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5739:1578;5800:14;5817:10;5800:27;;5856:1;5841:17;;:3;:17;;;5838:150;;5969:7;:5;:7::i;:::-;3416:6;5956:2;5934:21;:24;;;;;;5933:34;5932:44;;;;;;5910:14;:19;5925:3;5910:19;;;;;;;;;;;;;;;;:66;5888:14;:19;5903:3;5888:19;;;;;;;;;;;;;;;:88;;;;5838:150;6004:48;3018:42;6050:1;6028:21;:23;;;;;;6004:9;:48::i;:::-;6073:19;3978:42;6095:24;;;6120:11;;;;;;;;;;;6133;;;;;;;;;;;6095:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6073:72;;6156:14;6180:11;;;;;;;;;;;6173:29;;;6203:11;6173:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6156:59;;6243:16;6269:11;;;;;;;;;;;6262:29;;;6292:11;6262:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6243:61;;6344:11;6358:55;6403:9;6359:38;6385:11;6359:21;:25;;:38;;;;:::i;:::-;6358:44;;:55;;;;:::i;:::-;6344:69;;6431:11;;;;;;;;;;;6424:24;;;6457:4;6464:6;6424:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6492:26;6528:11;6521:29;;;6559:4;6521:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6492:73;;6586:23;6619:11;;;;;;;;;;;6612:29;;;6650:4;6612:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6586:70;;6674:11;;;;;;;;;;;6667:27;;;3885:42;6706:18;6667:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3885:42;6764:34;;;6807:21;6831:11;;;;;;;;;;;6844:18;6864:1;6867;6878:4;3456:11;6764:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6910:25;6945:11;6938:29;;;6976:4;6938:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6910:72;;6993:17;7013:47;7038:21;7013:20;:24;;:47;;;;:::i;:::-;6993:67;;7099:56;7119:35;7147:6;7119:27;:35::i;:::-;7099:7;:15;7107:6;7099:15;;;;;;;;;;;;;;;;:19;;:56;;;;:::i;:::-;7081:7;:15;7089:6;7081:15;;;;;;;;;;;;;;;:74;;;;7187:3;7166:10;:18;7177:6;7166:18;;;;;;;;;;;;;;;:24;;;;7224:3;7201:12;:20;7214:6;7201:20;;;;;;;;;;;;;;;:26;;;;7269:40;7296:12;7269:14;:22;7284:6;7269:22;;;;;;;;;;;;;;;;:26;;:40;;;;:::i;:::-;7244:14;:22;7259:6;7244:22;;;;;;;;;;;;;;;:65;;;;5739:1578;;;;;;;;;;:::o;4027:69::-;;;;;;;;;;;;;:::o;4855:87::-;4899:4;4922:12;;4915:19;;4855:87;:::o;5198:202::-;3242:9;:7;:9::i;:::-;3228:23;;:10;:23;;;3220:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5276:18:::1;;;;;;;;;;;5275:19;5267:59;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5358:4;5337:18;;:25;;;;;;;;;;;;;;;;;;5387:5;5373:11;;:19;;;;;;;;;;;;;;;;;;5198:202:::0;:::o;3523:47::-;;;;;;;;;;;;;;;;;:::o;3934:86::-;3978:42;3934:86;:::o;7325:547::-;7425:3;7415:6;7390:10;:22;7401:10;7390:22;;;;;;;;;;;;;;;;:31;:38;;7382:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7519:64;7543:39;7571:10;7543:27;:39::i;:::-;7519:7;:19;7527:10;7519:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7497:7;:19;7505:10;7497:19;;;;;;;;;;;;;;;:86;;;;7623:38;7654:6;7623:14;:26;7638:10;7623:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;7594:14;:26;7609:10;7594:26;;;;;;;;;;;;;;;:67;;;;7682:19;3978:42;7704:24;;;7729:11;;;;;;;;;;;7742;;;;;;;;;;;7704:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7682:72;;7772:11;7765:28;;;7794:10;7806:6;7765:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7861:3;7834:12;:24;7847:10;7834:24;;;;;;;;;;;;;;;:30;;;;7325:547;;:::o;5049:85::-;3242:9;:7;:9::i;:::-;3228:23;;:10;:23;;;3220:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5122:4:::1;5106:13;;:20;;;;;;;;;;;;;;;;;;5049:85::o:0;4622:89::-;4667:4;4690:13;;;;;;;;;;;4683:20;;4622:89;:::o;4719:124::-;4759:7;3978:42;4785:24;;;4810:11;;;;;;;;;;;4823;;;;;;;;;;;4785:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4778:57;;4719:124;:::o;10066:112::-;10128:4;10151:14;:19;10166:3;10151:19;;;;;;;;;;;;;;;;10144:26;;10066:112;;;:::o;5504:182::-;3242:9;:7;:9::i;:::-;3228:23;;:10;:23;;;3220:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5582:14:::1;:12;:14::i;:::-;5581:15;5573:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5673:5;5658:12;:20;;;;5504:182:::0;:::o;8403:426::-;8499:1;8473:10;:22;8484:10;8473:22;;;;;;;;;;;;;;;;:27;;8465:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8627:3;8617:6;8592:10;:22;8603:10;8592:22;;;;;;;;;;;;;;;;:31;:38;;8584:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8728:38;8759:6;8728:14;:26;8743:10;8728:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8699:14;:26;8714:10;8699:26;;;;;;;;;;;;;;;:67;;;;8784:11;;;;;;;;;;;8777:24;;;8802:10;8814:6;8777:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8403:426;:::o;3429:38::-;3456:11;3429:38;:::o;10190:401::-;10228:4;10254:19;3978:42;10276:24;;;10301:11;;;;;;;;;;;10314;;;;;;;;;;;10276:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10254:72;;10347:14;10371:11;;;;;;;;;;;10364:29;;;10394:11;10364:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10347:59;;10434:16;10460:11;;;;;;;;;;;10453:29;;;10483:11;10453:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10434:61;;10542:41;10571:11;10543:22;10555:9;3416:6;10543:11;;:22;;;;:::i;:::-;10542:28;;:41;;;;:::i;:::-;10535:48;;;;;10190:401;:::o;10599:139::-;10651:4;3416:6;10710:8;:18;10676:26;10694:7;10676:13;:11;:13::i;:::-;:17;;:26;;;;:::i;:::-;10674:56;;;;;;10667:63;;10599:139;;;:::o;9312:360::-;9375:4;9399:19;3978:42;9421:24;;;9446:11;;;;;;;;;;;9459;;;;;;;;;;;9421:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9399:72;;9482:14;9506:11;;;;;;;;;;;9499:29;;;9529:11;9499:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9482:59;;9586:78;9637:11;9630:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9587:37;9601:22;9619:3;9601:17;:22::i;:::-;9587:9;:13;;:37;;;;:::i;:::-;9586:43;;:78;;;;:::i;:::-;9579:85;;;;9312:360;;;:::o;7884:507::-;7988:3;7978:6;7953:10;:22;7964:10;7953:22;;;;;;;;;;;;;;;;:31;:38;;7945:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8082:64;8106:39;8134:10;8106:27;:39::i;:::-;8082:7;:19;8090:10;8082:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;8060:7;:19;8068:10;8060:19;;;;;;;;;;;;;;;:86;;;;8184:3;8157:12;:24;8170:10;8157:24;;;;;;;;;;;;;;;:30;;;;8208:17;8248:1;8228:19;8240:6;8228:11;:19::i;:::-;:21;;;;;;8208:41;;8282:37;8306:12;8282:7;:19;8290:10;8282:19;;;;;;;;;;;;;;;;:23;;:37;;;;:::i;:::-;8260:7;:19;8268:10;8260:19;;;;;;;;;;;;;;;:59;;;;8346:11;;;;;;;;;;;8339:24;;;8364:10;8376:6;8339:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7884:507;;:::o;3841:86::-;3885:42;3841:86;:::o;9017:160::-;9082:4;9105:64;9166:1;9115:50;9132:32;9160:3;9132:27;:32::i;:::-;9115:7;:12;9123:3;9115:12;;;;;;;;;;;;;;;;:16;;:50;;;;:::i;:::-;:52;9105:8;:64::i;:::-;9098:71;;9017:160;;;:::o;9684:370::-;9749:4;9775:19;3978:42;9797:24;;;9822:11;;;;;;;;;;;9835;;;;;;;;;;;9797:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9775:72;;9858:16;9884:11;;;;;;;;;;;9877:29;;;9907:11;9877:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9858:61;;9966:80;10019:11;10012:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9967:39;9983:22;10001:3;9983:17;:22::i;:::-;9967:11;:15;;:39;;;;:::i;:::-;9966:45;;:80;;;;:::i;:::-;9959:87;;;;9684:370;;;:::o;9189:111::-;9250:4;9273:14;:19;9288:3;9273:19;;;;;;;;;;;;;;;;9266:26;;9189:111;;;:::o;3802:26::-;;;;;;;;;;;;;:::o;4337:234::-;4420:12;4438:9;:14;;4461:6;4438:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4419:54;;;4493:7;4485:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4337:234;;;:::o;567:216::-;625:7;654:1;649;:6;645:23;;;665:1;658:8;;;;645:23;678:9;694:1;690;:5;678:17;;723:1;718;714;:5;;;;;;:10;706:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;780:1;773:8;;;567:216;;;;;:::o;791:126::-;849:7;876:39;880:1;883;876:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;869:46;;791:126;;;;:::o;237:130::-;295:7;322:43;326:1;329;322:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;315:50;;237:130;;;;:::o;8841:164::-;8914:4;8938:58;8968:26;8976:12;:17;8989:3;8976:17;;;;;;;;;;;;;;;;8968:3;:7;;:26;;;;:::i;:::-;8938:24;8958:3;8938:19;:24::i;:::-;:28;;:58;;;;:::i;:::-;8930:67;;8841:164;;;:::o;56:173::-;114:7;134:9;150:1;146;:5;134:17;;175:1;170;:6;;162:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;226:1;219:8;;;56:173;;;;:::o;3070:104::-;3111:7;3018:42;3138:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3131:35;;3070:104;:::o;10750:138::-;10804:4;10827:53;10865:13;:11;:13::i;:::-;10829:28;3416:6;10838:8;:18;10829:4;:8;;:28;;;;:::i;:::-;10827:36;;:53;;;;:::i;:::-;10820:60;;10750:138;;;:::o;925:183::-;1011:7;1043:1;1039;:5;1046:12;1031:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1070:9;1086:1;1082;:5;;;;;;1070:17;;1105:1;1098:8;;;925:183;;;;;:::o;375:184::-;461:7;494:1;489;:6;;497:12;481:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;521:9;537:1;533;:5;521:17;;556:1;549:8;;;375:184;;;;;:::o
Swarm Source
ipfs://80478bbc144b1516e59f0ddbca3aaffd30fcdc5478d8f699b4f1ffeb51ef5fa1
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,672.7 | 0.000000000000000001 | <$0.000001 |
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.