More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 6,359 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw LP Toke... | 20188434 | 24 days ago | IN | 0 ETH | 0.00023453 | ||||
Withdraw Reward ... | 18165793 | 308 days ago | IN | 0 ETH | 0.00110792 | ||||
Withdraw Reward ... | 18165778 | 308 days ago | IN | 0 ETH | 0.00145033 | ||||
Withdraw LP Toke... | 18165716 | 308 days ago | IN | 0 ETH | 0.00207342 | ||||
Withdraw LP Toke... | 17759056 | 365 days ago | IN | 0 ETH | 0.00196622 | ||||
Withdraw LP Toke... | 17566578 | 392 days ago | IN | 0 ETH | 0.00435232 | ||||
Withdraw Referra... | 17045998 | 465 days ago | IN | 0 ETH | 0.00133746 | ||||
Withdraw Reward ... | 17045991 | 465 days ago | IN | 0 ETH | 0.00327913 | ||||
Withdraw LP Toke... | 17045978 | 465 days ago | IN | 0 ETH | 0.00285612 | ||||
Withdraw Reward ... | 17045968 | 465 days ago | IN | 0 ETH | 0.00064606 | ||||
Withdraw LP Toke... | 13766918 | 957 days ago | IN | 0 ETH | 0.01154856 | ||||
Withdraw LP Toke... | 13015280 | 1074 days ago | IN | 0 ETH | 0.00407371 | ||||
Withdraw LP Toke... | 12876194 | 1096 days ago | IN | 0 ETH | 0.00195535 | ||||
Withdraw LP Toke... | 12858088 | 1099 days ago | IN | 0 ETH | 0.00289103 | ||||
Withdraw Reward ... | 12804965 | 1107 days ago | IN | 0 ETH | 0.00094119 | ||||
Withdraw LP Toke... | 12802395 | 1108 days ago | IN | 0 ETH | 0.00044648 | ||||
Withdraw Referra... | 12761079 | 1114 days ago | IN | 0 ETH | 0.00064217 | ||||
Withdraw LP Toke... | 12761069 | 1114 days ago | IN | 0 ETH | 0.00095236 | ||||
Withdraw Referra... | 12738221 | 1118 days ago | IN | 0 ETH | 0.00127995 | ||||
Stake | 12738180 | 1118 days ago | IN | 2.55146563 ETH | 0.0068029 | ||||
Withdraw LP Toke... | 12738110 | 1118 days ago | IN | 0 ETH | 0.00296916 | ||||
Withdraw Reward ... | 12738090 | 1118 days ago | IN | 0 ETH | 0.00296523 | ||||
Withdraw LP Toke... | 12715251 | 1121 days ago | IN | 0 ETH | 0.00024246 | ||||
Stake | 12714873 | 1121 days ago | IN | 2.39940501 ETH | 0.00309142 | ||||
Withdraw Reward ... | 12713442 | 1121 days ago | IN | 0 ETH | 0.00112872 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
12760178 | 1114 days ago | 1 wei | ||||
12760178 | 1114 days ago | 0.05 ETH | ||||
12760178 | 1114 days ago | 0.05 ETH | ||||
12760178 | 1114 days ago | 0.1 ETH | ||||
12740553 | 1117 days ago | 1 wei | ||||
12740553 | 1117 days ago | 0.25 ETH | ||||
12740553 | 1117 days ago | 0.25 ETH | ||||
12740553 | 1117 days ago | 0.5 ETH | ||||
12738180 | 1118 days ago | 1 wei | ||||
12738180 | 1118 days ago | 1.27573281 ETH | ||||
12738180 | 1118 days ago | 1.27573281 ETH | ||||
12721244 | 1120 days ago | 1 wei | ||||
12721244 | 1120 days ago | 0.6 ETH | ||||
12721244 | 1120 days ago | 0.6 ETH | ||||
12721244 | 1120 days ago | 1.2 ETH | ||||
12714873 | 1121 days ago | 1 wei | ||||
12714873 | 1121 days ago | 1.1997025 ETH | ||||
12714873 | 1121 days ago | 1.1997025 ETH | ||||
12624023 | 1135 days ago | 1 wei | ||||
12624023 | 1135 days ago | 0.003 ETH | ||||
12624023 | 1135 days ago | 0.003 ETH | ||||
12341377 | 1179 days ago | 1 wei | ||||
12341377 | 1179 days ago | 0.21393412 ETH | ||||
12341377 | 1179 days ago | 0.21393412 ETH | ||||
11474970 | 1312 days ago | 1 wei |
Loading...
Loading
Contract Name:
Staker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-02 */ 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 = 0x8aaE129C2B176F1F3909F763B80998439ca11485; 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 capyAddress; 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(capyAddress, 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; capyAddress = 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(capyAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(capyAddress).balanceOf(poolAddress); //token in uniswap uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount); IERC20(capyAddress).mint(address(this), toMint); uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this)); uint amountTokenDesired = IERC20(capyAddress).balanceOf(address(this)); IERC20(capyAddress).approve(UNIROUTER, amountTokenDesired ); //allow pool to get tokens Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(capyAddress, 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(capyAddress, 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(capyAddress).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(capyAddress).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(capyAddress, 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(capyAddress, WETHAddress); uint tokenAmount = IERC20(capyAddress).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(capyAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(capyAddress).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 capy) internal view returns(uint){ return ( capy.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":"capyAddress","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
6080604052670de0b6b3a7640000600055737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561006a57600080fd5b505afa15801561007e573d6000803e3d6000fd5b505050506040513d602081101561009457600080fd5b8101908080519060200190929190505050600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600760146101000a81548160ff0219169083151502179055506000600760156101000a81548160ff02191690831515021790555034801561012757600080fd5b5061309c80620001386000396000f3fe6080604052600436106101445760003560e01c80636dc64a02116100b6578063b1fd67401161006f578063b1fd6740146105ca578063cb43b2dd1461062f578063d28de2731461066a578063d488ebe8146106ab578063e42255d814610710578063e91ed7c9146107755761019d565b80636dc64a021461044a5780638439a541146104af5780638d301f99146104ea5780639d2a679f14610525578063a035b1fe14610550578063a064b44b1461057b5761019d565b80632dd31000116101085780632dd3100014610308578063452d003f14610349578063475d8733146103845780634caacd751461039b578063569eb019146103c85780635fcbd285146104095761019d565b80630af88b24146101a257806312c7df73146101e3578063264762041461020e57806326a4e8d21461025257806329b83c2e146102a35761019d565b3661019d57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019b5761019a60006107da565b5b005b600080fd5b3480156101ae57600080fd5b506101b761126f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ef57600080fd5b506101f8611295565b6040518082815260200191505060405180910390f35b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b005b34801561025e57600080fd5b506102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b005b3480156102af57600080fd5b506102f2600480360360208110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d611440565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050611458565b005b34801561039057600080fd5b50610399611838565b005b3480156103a757600080fd5b506103b06118fd565b60405180821515815260200191505060405180910390f35b3480156103d457600080fd5b506103dd611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b5061041e61193a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045657600080fd5b506104996004803603602081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a59565b6040518082815260200191505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360208110156104d257600080fd5b8101908080359060200190929190505050611aa2565b005b3480156104f657600080fd5b506105236004803603602081101561050d57600080fd5b8101908080359060200190929190505050611bb2565b005b34801561053157600080fd5b5061053a611e2b565b6040518082815260200191505060405180910390f35b34801561055c57600080fd5b50610565611e34565b6040518082815260200191505060405180910390f35b34801561058757600080fd5b506105b46004803603602081101561059e57600080fd5b8101908080359060200190929190505050612116565b6040518082815260200191505060405180910390f35b3480156105d657600080fd5b50610619600480360360208110156105ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612150565b6040518082815260200191505060405180910390f35b34801561063b57600080fd5b506106686004803603602081101561065257600080fd5b81019080803590602001909291905050506123eb565b005b34801561067657600080fd5b5061067f6126c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106b757600080fd5b506106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126dc565b6040518082815260200191505060405180910390f35b34801561071c57600080fd5b5061075f6004803603602081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061274a565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107c46004803603602081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129e5565b6040518082815260200191505060405180910390f35b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146108bd5761081b611e34565b670de0b6b3a7640000600f478161082e57fe5b04028161083757fe5b04600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108e5738aae129c2b176f1f3909f763b80998439ca11485600247816108df57fe5b04612a2e565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d6020811015610ab657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6020811015610b7e57600080fd5b810190808051906020019092919050505090506000610bb883610baa8447612af290919063ffffffff16565b612b7890919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9657600080fd5b505afa158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b50505050506040513d6060811015610fc457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d602081101561107f57600080fd5b8101908080519060200190929190505050905060006110a78483612bc290919063ffffffff16565b90506111036110b58a612c0c565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122081600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6112a6612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156114f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b61154f61150133612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e481600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b457600080fd5b505af11580156117c8573d6000803e3d6000fd5b505050506040513d60208110156117de57600080fd5b81019080805190602001909291905050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611840612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b8101908080519060200190929190505050905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611aaa612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611b526118fd565b15611ba8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613039602e913960400191505060405180910390fd5b8060008190555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526044815260200180612f6f6044913960600191505060405180910390fd5b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115611ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b611d3a81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611e1057600080fd5b505af1158015611e24573d6000803e3d6000fd5b5050505050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f1457600080fd5b505afa158015611f28573d6000803e3d6000fd5b505050506040513d6020811015611f3e57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d602081101561200657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120a457600080fd5b505afa1580156120b8573d6000803e3d6000fd5b505050506040513d60208110156120ce57600080fd5b8101908080519060200190929190505050905061210e8161210084670de0b6b3a7640000612af290919063ffffffff16565b612b7890919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261214183612133611295565b612af290919063ffffffff16565b8161214857fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561223057600080fd5b505afa158015612244573d6000803e3d6000fd5b505050506040513d602081101561225a57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d602081101561232257600080fd5b810190808051906020019092919050505090506123e28273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561237e57600080fd5b505afa158015612392573d6000803e3d6000fd5b505050506040513d60208110156123a857600080fd5b81019080805190602001909291905050506123d46123c5876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b6124e261249433612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261257683612da5565b8161257d57fe5b0490506125d281600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156126a857600080fd5b505af11580156126bc573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000612743600261273d6126ef85612c0c565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b02612116565b9050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561282a57600080fd5b505afa15801561283e573d6000803e3d6000fd5b505050506040513d602081101561285457600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128f257600080fd5b505afa158015612906573d6000803e3d6000fd5b505050506040513d602081101561291c57600080fd5b810190808051906020019092919050505090506129dc8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561297857600080fd5b505afa15801561298c573d6000803e3d6000fd5b505050506040513d60208110156129a257600080fd5b81019080805190602001909291905050506129ce6129bf876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5050905080612aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b600080831415612b055760009050612b72565b6000828402905082848281612b1657fe5b0414612b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b6000612bba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612de8565b905092915050565b6000612c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612eae565b905092915050565b6000612c7a612c63600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612bc290919063ffffffff16565b612c6c84612150565b612af290919063ffffffff16565b9050919050565b600080828401905083811015612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000738aae129c2b176f1f3909f763b80998439ca1148573ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612d6557600080fd5b505afa158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b8101908080519060200190929190505050905090565b6000612de1612db2611295565b612dd3670de0b6b3a76400006301e187e00285612af290919063ffffffff16565b612b7890919063ffffffff16565b9050919050565b60008083118290612e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e59578082015181840152602081019050612e3e565b50505050905090810190601f168015612e865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ea057fe5b049050809150509392505050565b6000838311158290612f5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f20578082015181840152602081019050612f05565b50505050905090810190601f168015612f4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a2646970667358221220f4c1ef46373f02c775e099cc5bbc3e2b76c0e7810684b1fcced577d585e8fcb964736f6c634300060c0033
Deployed Bytecode
0x6080604052600436106101445760003560e01c80636dc64a02116100b6578063b1fd67401161006f578063b1fd6740146105ca578063cb43b2dd1461062f578063d28de2731461066a578063d488ebe8146106ab578063e42255d814610710578063e91ed7c9146107755761019d565b80636dc64a021461044a5780638439a541146104af5780638d301f99146104ea5780639d2a679f14610525578063a035b1fe14610550578063a064b44b1461057b5761019d565b80632dd31000116101085780632dd3100014610308578063452d003f14610349578063475d8733146103845780634caacd751461039b578063569eb019146103c85780635fcbd285146104095761019d565b80630af88b24146101a257806312c7df73146101e3578063264762041461020e57806326a4e8d21461025257806329b83c2e146102a35761019d565b3661019d57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461019b5761019a60006107da565b5b005b600080fd5b3480156101ae57600080fd5b506101b761126f565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101ef57600080fd5b506101f8611295565b6040518082815260200191505060405180910390f35b6102506004803603602081101561022457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506107da565b005b34801561025e57600080fd5b506102a16004803603602081101561027557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061129e565b005b3480156102af57600080fd5b506102f2600480360360208110156102c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611428565b6040518082815260200191505060405180910390f35b34801561031457600080fd5b5061031d611440565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561035557600080fd5b506103826004803603602081101561036c57600080fd5b8101908080359060200190929190505050611458565b005b34801561039057600080fd5b50610399611838565b005b3480156103a757600080fd5b506103b06118fd565b60405180821515815260200191505060405180910390f35b3480156103d457600080fd5b506103dd611914565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561041557600080fd5b5061041e61193a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561045657600080fd5b506104996004803603602081101561046d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611a59565b6040518082815260200191505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360208110156104d257600080fd5b8101908080359060200190929190505050611aa2565b005b3480156104f657600080fd5b506105236004803603602081101561050d57600080fd5b8101908080359060200190929190505050611bb2565b005b34801561053157600080fd5b5061053a611e2b565b6040518082815260200191505060405180910390f35b34801561055c57600080fd5b50610565611e34565b6040518082815260200191505060405180910390f35b34801561058757600080fd5b506105b46004803603602081101561059e57600080fd5b8101908080359060200190929190505050612116565b6040518082815260200191505060405180910390f35b3480156105d657600080fd5b50610619600480360360208110156105ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612150565b6040518082815260200191505060405180910390f35b34801561063b57600080fd5b506106686004803603602081101561065257600080fd5b81019080803590602001909291905050506123eb565b005b34801561067657600080fd5b5061067f6126c4565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106b757600080fd5b506106fa600480360360208110156106ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506126dc565b6040518082815260200191505060405180910390f35b34801561071c57600080fd5b5061075f6004803603602081101561073357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061274a565b6040518082815260200191505060405180910390f35b34801561078157600080fd5b506107c46004803603602081101561079857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506129e5565b6040518082815260200191505060405180910390f35b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146108bd5761081b611e34565b670de0b6b3a7640000600f478161082e57fe5b04028161083757fe5b04600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6108e5738aae129c2b176f1f3909f763b80998439ca11485600247816108df57fe5b04612a2e565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156109c457600080fd5b505afa1580156109d8573d6000803e3d6000fd5b505050506040513d60208110156109ee57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610a8c57600080fd5b505afa158015610aa0573d6000803e3d6000fd5b505050506040513d6020811015610ab657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610b5457600080fd5b505afa158015610b68573d6000803e3d6000fd5b505050506040513d6020811015610b7e57600080fd5b810190808051906020019092919050505090506000610bb883610baa8447612af290919063ffffffff16565b612b7890919063ffffffff16565b9050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610c4d57600080fd5b505af1158015610c61573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cce57600080fd5b505afa158015610ce2573d6000803e3d6000fd5b505050506040513d6020811015610cf857600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610d9657600080fd5b505afa158015610daa573d6000803e3d6000fd5b505050506040513d6020811015610dc057600080fd5b81019080805190602001909291905050509050600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610e7a57600080fd5b505af1158015610e8e573d6000803e3d6000fd5b505050506040513d6020811015610ea457600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b158015610f9957600080fd5b505af1158015610fad573d6000803e3d6000fd5b50505050506040513d6060811015610fc457600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561105557600080fd5b505afa158015611069573d6000803e3d6000fd5b505050506040513d602081101561107f57600080fd5b8101908080519060200190929190505050905060006110a78483612bc290919063ffffffff16565b90506111036110b58a612c0c565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600160008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061122081600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6112a6612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611346576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b600760159054906101000a900460ff16156113c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f46756e6374696f6e2077617320616c72656164792063616c6c6564000000000081525060200191505060405180910390fd5b6001600760156101000a81548160ff02191690831515021790555080600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60016020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111156114f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b61154f61150133612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115e481600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561170657600080fd5b505afa15801561171a573d6000803e3d6000fd5b505050506040513d602081101561173057600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1580156117b457600080fd5b505af11580156117c8573d6000803e3d6000fd5b505050506040513d60208110156117de57600080fd5b81019080805190602001909291905050505042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b611840612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600760149054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a1957600080fd5b505afa158015611a2d573d6000803e3d6000fd5b505050506040513d6020811015611a4357600080fd5b8101908080519060200190929190505050905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611aaa612d09565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b4a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611b526118fd565b15611ba8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602e815260200180613039602e913960400191505060405180910390fd5b8060008190555050565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526044815260200180612f6f6044913960600191505060405180910390fd5b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115611ce8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b611d3a81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611e1057600080fd5b505af1158015611e24573d6000803e3d6000fd5b5050505050565b6407b71a3f5481565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611f1457600080fd5b505afa158015611f28573d6000803e3d6000fd5b505050506040513d6020811015611f3e57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015611fdc57600080fd5b505afa158015611ff0573d6000803e3d6000fd5b505050506040513d602081101561200657600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120a457600080fd5b505afa1580156120b8573d6000803e3d6000fd5b505050506040513d60208110156120ce57600080fd5b8101908080519060200190929190505050905061210e8161210084670de0b6b3a7640000612af290919063ffffffff16565b612b7890919063ffffffff16565b935050505090565b6000670de0b6b3a76400006301e187e00261214183612133611295565b612af290919063ffffffff16565b8161214857fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561223057600080fd5b505afa158015612244573d6000803e3d6000fd5b505050506040513d602081101561225a57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d602081101561232257600080fd5b810190808051906020019092919050505090506123e28273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561237e57600080fd5b505afa158015612392573d6000803e3d6000fd5b505050506040513d60208110156123a857600080fd5b81019080805190602001909291905050506123d46123c5876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b426203f480600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011115612488576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602b81526020018061300e602b913960400191505060405180910390fd5b6124e261249433612c0c565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261257683612da5565b8161257d57fe5b0490506125d281600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612bc290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1580156126a857600080fd5b505af11580156126bc573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b6000612743600261273d6126ef85612c0c565b600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612c8190919063ffffffff16565b02612116565b9050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561282a57600080fd5b505afa15801561283e573d6000803e3d6000fd5b505050506040513d602081101561285457600080fd5b810190808051906020019092919050505090506000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156128f257600080fd5b505afa158015612906573d6000803e3d6000fd5b505050506040513d602081101561291c57600080fd5b810190808051906020019092919050505090506129dc8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561297857600080fd5b505afa15801561298c573d6000803e3d6000fd5b505050506040513d60208110156129a257600080fd5b81019080805190602001909291905050506129ce6129bf876129e5565b84612af290919063ffffffff16565b612b7890919063ffffffff16565b92505050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612a8e576040519150601f19603f3d011682016040523d82523d6000602084013e612a93565b606091505b5050905080612aed576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a815260200180612fb3603a913960400191505060405180910390fd5b505050565b600080831415612b055760009050612b72565b6000828402905082848281612b1657fe5b0414612b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180612fed6021913960400191505060405180910390fd5b809150505b92915050565b6000612bba83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612de8565b905092915050565b6000612c0483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612eae565b905092915050565b6000612c7a612c63600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612bc290919063ffffffff16565b612c6c84612150565b612af290919063ffffffff16565b9050919050565b600080828401905083811015612cff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000738aae129c2b176f1f3909f763b80998439ca1148573ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612d6557600080fd5b505afa158015612d79573d6000803e3d6000fd5b505050506040513d6020811015612d8f57600080fd5b8101908080519060200190929190505050905090565b6000612de1612db2611295565b612dd3670de0b6b3a76400006301e187e00285612af290919063ffffffff16565b612b7890919063ffffffff16565b9050919050565b60008083118290612e94576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612e59578082015181840152602081019050612e3e565b50505050905090810190601f168015612e865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581612ea057fe5b049050809150509392505050565b6000838311158290612f5b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f20578082015181840152602081019050612f05565b50505050905090810190601f168015612f4d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a2646970667358221220f4c1ef46373f02c775e099cc5bbc3e2b76c0e7810684b1fcced577d585e8fcb964736f6c634300060c0033
Deployed Bytecode Sourcemap
3292:7303:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3857:42;4208:23;;:10;:23;;;4205:69;;4246:17;4260:1;4246:5;:17::i;:::-;4205:69;3292:7303;;;;;3999:69;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4798:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5660:1510;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5129:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3499:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3906:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7178:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4984:85;;;;;;;;;;;;;:::i;:::-;;4569:89;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;3778:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4666:124;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9802:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5431:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8201:418;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3409:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9922:377;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10307:139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9086:346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7709:484;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3813:86;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8799:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9440:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8967:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5660:1510;5721:14;5738:10;5721:27;;5777:1;5762:17;;:3;:17;;;5759:138;;5878:7;:5;:7::i;:::-;3396:6;5865:2;5843:21;:24;;;;;;5842:34;5841:44;;;;;;5819:14;:19;5834:3;5819:19;;;;;;;;;;;;;;;;:66;5797:14;:19;5812:3;5797:19;;;;;;;;;;;;;;;:88;;;;5759:138;5909:48;3011:42;5955:1;5933:21;:23;;;;;;5909:9;:48::i;:::-;5970:19;3950:42;5992:24;;;6017:11;;;;;;;;;;;6030;;;;;;;;;;;5992:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5970:72;;6053:14;6077:11;;;;;;;;;;;6070:29;;;6100:11;6070:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6053:59;;6140:16;6166:11;;;;;;;;;;;6159:29;;;6189:11;6159:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6140:61;;6233:11;6247:55;6292:9;6248:38;6274:11;6248:21;:25;;:38;;;;:::i;:::-;6247:44;;:55;;;;:::i;:::-;6233:69;;6320:11;;;;;;;;;;;6313:24;;;6346:4;6353:6;6313:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6373:26;6409:11;6402:29;;;6440:4;6402:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6373:73;;6459:23;6492:11;;;;;;;;;;;6485:29;;;6523:4;6485:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6459:70;;6547:11;;;;;;;;;;;6540:27;;;3857:42;6579:18;6540:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3857:42;6637:34;;;6680:21;6704:11;;;;;;;;;;;6717:18;6737:1;6740;6751:4;3436:11;6637:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:25;6810:11;6803:29;;;6841:4;6803:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6775:72;;6858:17;6878:47;6903:21;6878:20;:24;;:47;;;;:::i;:::-;6858:67;;6956:56;6976:35;7004:6;6976:27;:35::i;:::-;6956:7;:15;6964:6;6956:15;;;;;;;;;;;;;;;;:19;;:56;;;;:::i;:::-;6938:7;:15;6946:6;6938:15;;;;;;;;;;;;;;;:74;;;;7044:3;7023:10;:18;7034:6;7023:18;;;;;;;;;;;;;;;:24;;;;7081:3;7058:12;:20;7071:6;7058:20;;;;;;;;;;;;;;;:26;;;;7122:40;7149:12;7122:14;:22;7137:6;7122:22;;;;;;;;;;;;;;;;:26;;:40;;;;:::i;:::-;7097:14;:22;7112:6;7097:22;;;;;;;;;;;;;;;:65;;;;5660:1510;;;;;;;;;;:::o;3999:69::-;;;;;;;;;;;;;:::o;4798:87::-;4842:4;4865:12;;4858:19;;4798:87;:::o;5129:202::-;3230:9;:7;:9::i;:::-;3216:23;;:10;:23;;;3208:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5207:18:::1;;;;;;;;;;;5206:19;5198:59;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5289:4;5268:18;;:25;;;;;;;;;;;;;;;;;;5318:5;5304:11;;:19;;;;;;;;;;;;;;;;;;5129:202:::0;:::o;3499:47::-;;;;;;;;;;;;;;;;;:::o;3906:86::-;3950:42;3906:86;:::o;7178:523::-;7278:3;7268:6;7243:10;:22;7254:10;7243:22;;;;;;;;;;;;;;;;:31;:38;;7235:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7364:64;7388:39;7416:10;7388:27;:39::i;:::-;7364:7;:19;7372:10;7364:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7342:7;:19;7350:10;7342:19;;;;;;;;;;;;;;;:86;;;;7468:38;7499:6;7468:14;:26;7483:10;7468:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;7439:14;:26;7454:10;7439:26;;;;;;;;;;;;;;;:67;;;;7519:19;3950:42;7541:24;;;7566:11;;;;;;;;;;;7579;;;;;;;;;;;7541:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7519:72;;7609:11;7602:28;;;7631:10;7643:6;7602:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7690:3;7663:12;:24;7676:10;7663:24;;;;;;;;;;;;;;;:30;;;;7178:523;;:::o;4984:85::-;3230:9;:7;:9::i;:::-;3216:23;;:10;:23;;;3208:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5057:4:::1;5041:13;;:20;;;;;;;;;;;;;;;;;;4984:85::o:0;4569:89::-;4614:4;4637:13;;;;;;;;;;;4630:20;;4569:89;:::o;3778:26::-;;;;;;;;;;;;;:::o;4666:124::-;4706:7;3950:42;4732:24;;;4757:11;;;;;;;;;;;4770;;;;;;;;;;;4732:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4725:57;;4666:124;:::o;9802:112::-;9864:4;9887:14;:19;9902:3;9887:19;;;;;;;;;;;;;;;;9880:26;;9802:112;;;:::o;5431:182::-;3230:9;:7;:9::i;:::-;3216:23;;:10;:23;;;3208:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5509:14:::1;:12;:14::i;:::-;5508:15;5500:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5600:5;5585:12;:20;;;;5431:182:::0;:::o;8201:418::-;8297:1;8271:10;:22;8282:10;8271:22;;;;;;;;;;;;;;;;:27;;8263:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8425:3;8415:6;8390:10;:22;8401:10;8390:22;;;;;;;;;;;;;;;;:31;:38;;8382:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8518:38;8549:6;8518:14;:26;8533:10;8518:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8489:14;:26;8504:10;8489:26;;;;;;;;;;;;;;;:67;;;;8574:11;;;;;;;;;;;8567:24;;;8592:10;8604:6;8567:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8201:418;:::o;3409:38::-;3436:11;3409:38;:::o;9922:377::-;9960:4;9978:19;3950:42;10000:24;;;10025:11;;;;;;;;;;;10038;;;;;;;;;;;10000:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9978:72;;10063:14;10087:11;;;;;;;;;;;10080:29;;;10110:11;10080:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10063:59;;10150:16;10176:11;;;;;;;;;;;10169:29;;;10199:11;10169:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10150:61;;10250:41;10279:11;10251:22;10263:9;3396:6;10251:11;;:22;;;;:::i;:::-;10250:28;;:41;;;;:::i;:::-;10243:48;;;;;9922:377;:::o;10307:139::-;10359:4;3396:6;10418:8;:18;10384:26;10402:7;10384:13;:11;:13::i;:::-;:17;;:26;;;;:::i;:::-;10382:56;;;;;;10375:63;;10307:139;;;:::o;9086:346::-;9149:4;9167:19;3950:42;9189:24;;;9214:11;;;;;;;;;;;9227;;;;;;;;;;;9189:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9167:72;;9250:14;9274:11;;;;;;;;;;;9267:29;;;9297:11;9267:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9250:59;;9346:78;9397:11;9390:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9347:37;9361:22;9379:3;9361:17;:22::i;:::-;9347:9;:13;;:37;;;;:::i;:::-;9346:43;;:78;;;;:::i;:::-;9339:85;;;;9086:346;;;:::o;7709:484::-;7813:3;7803:6;7778:10;:22;7789:10;7778:22;;;;;;;;;;;;;;;;:31;:38;;7770:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7899:64;7923:39;7951:10;7923:27;:39::i;:::-;7899:7;:19;7907:10;7899:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7877:7;:19;7885:10;7877:19;;;;;;;;;;;;;;;:86;;;;8001:3;7974:12;:24;7987:10;7974:24;;;;;;;;;;;;;;;:30;;;;8017:17;8057:1;8037:19;8049:6;8037:11;:19::i;:::-;:21;;;;;;8017:41;;8091:37;8115:12;8091:7;:19;8099:10;8091:19;;;;;;;;;;;;;;;;:23;;:37;;;;:::i;:::-;8069:7;:19;8077:10;8069:19;;;;;;;;;;;;;;;:59;;;;8148:11;;;;;;;;;;;8141:24;;;8166:10;8178:6;8141:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7709:484;;:::o;3813:86::-;3857:42;3813:86;:::o;8799:160::-;8864:4;8887:64;8948:1;8897:50;8914:32;8942:3;8914:27;:32::i;:::-;8897:7;:12;8905:3;8897:12;;;;;;;;;;;;;;;;:16;;:50;;;;:::i;:::-;:52;8887:8;:64::i;:::-;8880:71;;8799:160;;;:::o;9440:354::-;9505:4;9523:19;3950:42;9545:24;;;9570:11;;;;;;;;;;;9583;;;;;;;;;;;9545:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:72;;9606:16;9632:11;;;;;;;;;;;9625:29;;;9655:11;9625:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9606:61;;9706:80;9759:11;9752:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9707:39;9723:22;9741:3;9723:17;:22::i;:::-;9707:11;:15;;:39;;;;:::i;:::-;9706:45;;:80;;;;:::i;:::-;9699:87;;;;9440:354;;;:::o;8967:111::-;9028:4;9051:14;:19;9066:3;9051:19;;;;;;;;;;;;;;;;9044:26;;8967:111;;;:::o;4289:233::-;4372:12;4390:9;:14;;4413:6;4390:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4371:54;;;4444:7;4436:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4289:233;;;:::o;564:216::-;622:7;651:1;646;:6;642:23;;;662:1;655:8;;;;642:23;675:9;691:1;687;:5;675:17;;720:1;715;711;:5;;;;;;:10;703:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;777:1;770:8;;;564:216;;;;;:::o;788:126::-;846:7;873:39;877:1;880;873:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;866:46;;788:126;;;;:::o;234:130::-;292:7;319:43;323:1;326;319:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;312:50;;234:130;;;;:::o;8627:164::-;8700:4;8724:58;8754:26;8762:12;:17;8775:3;8762:17;;;;;;;;;;;;;;;;8754:3;:7;;:26;;;;:::i;:::-;8724:24;8744:3;8724:19;:24::i;:::-;:28;;:58;;;;:::i;:::-;8716:67;;8627:164;;;:::o;53:173::-;111:7;131:9;147:1;143;:5;131:17;;172:1;167;:6;;159:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;223:1;216:8;;;53:173;;;;:::o;3062:104::-;3103:7;3011:42;3130:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3123:35;;3062:104;:::o;10454:138::-;10508:4;10531:53;10569:13;:11;:13::i;:::-;10533:28;3396:6;10542:8;:18;10533:4;:8;;:28;;;;:::i;:::-;10531:36;;:53;;;;:::i;:::-;10524:60;;10454:138;;;:::o;922:183::-;1008:7;1040:1;1036;:5;1043:12;1028:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1067:9;1083:1;1079;:5;;;;;;1067:17;;1102:1;1095:8;;;922:183;;;;;:::o;372:184::-;458:7;491:1;486;:6;;494:12;478:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;518:9;534:1;530;:5;518:17;;553:1;546:8;;;372:184;;;;;:::o
Swarm Source
ipfs://f4c1ef46373f02c775e099cc5bbc3e2b76c0e7810684b1fcced577d585e8fcb9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $3,454.97 | 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.