More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 779 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Reward ... | 21308041 | 12 days ago | IN | 0 ETH | 0.00173365 | ||||
Withdraw LP Toke... | 21307993 | 12 days ago | IN | 0 ETH | 0.00217077 | ||||
Withdraw Reward ... | 20668179 | 101 days ago | IN | 0 ETH | 0.00010503 | ||||
Withdraw LP Toke... | 20668153 | 101 days ago | IN | 0 ETH | 0.0000999 | ||||
Withdraw Reward ... | 20040186 | 189 days ago | IN | 0 ETH | 0.0017962 | ||||
Withdraw Reward ... | 20040186 | 189 days ago | IN | 0 ETH | 0.0017962 | ||||
Withdraw Reward ... | 20040186 | 189 days ago | IN | 0 ETH | 0.00152049 | ||||
Withdraw Reward ... | 20040186 | 189 days ago | IN | 0 ETH | 0.00152049 | ||||
Withdraw LP Toke... | 20040127 | 189 days ago | IN | 0 ETH | 0.001254 | ||||
Withdraw Reward ... | 19932940 | 204 days ago | IN | 0 ETH | 0.00253482 | ||||
Withdraw Reward ... | 19807612 | 221 days ago | IN | 0 ETH | 0.00074638 | ||||
Stake | 12721188 | 1264 days ago | IN | 0.01 ETH | 0.00084342 | ||||
Stake | 12719972 | 1264 days ago | IN | 0.00001 ETH | 0.00096307 | ||||
Withdraw LP Toke... | 11595643 | 1438 days ago | IN | 0 ETH | 0.01050834 | ||||
Withdraw Reward ... | 11595560 | 1438 days ago | IN | 0 ETH | 0.01124469 | ||||
Stake | 11594174 | 1438 days ago | IN | 1.5 ETH | 0.02206797 | ||||
Stake | 11546230 | 1445 days ago | IN | 0.8 ETH | 0.0142374 | ||||
Withdraw Reward ... | 11527465 | 1448 days ago | IN | 0 ETH | 0.0027483 | ||||
Withdraw LP Toke... | 11527454 | 1448 days ago | IN | 0 ETH | 0.00346826 | ||||
Withdraw Reward ... | 11511211 | 1451 days ago | IN | 0 ETH | 0.0011 | ||||
Withdraw Reward ... | 11479428 | 1456 days ago | IN | 0 ETH | 0.00224275 | ||||
Withdraw Reward ... | 11403055 | 1467 days ago | IN | 0 ETH | 0.00149907 | ||||
Withdraw LP Toke... | 11403050 | 1467 days ago | IN | 0 ETH | 0.00153168 | ||||
Withdraw Reward ... | 11397220 | 1468 days ago | IN | 0 ETH | 0.00158234 | ||||
Withdraw Reward ... | 11370482 | 1472 days ago | IN | 0 ETH | 0.0039308 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
12721188 | 1264 days ago | 0.005 ETH | ||||
12719972 | 1264 days ago | 0.000005 ETH | ||||
11594174 | 1438 days ago | 1 wei | ||||
11594174 | 1438 days ago | 0.75 ETH | ||||
11594174 | 1438 days ago | 0.75 ETH | ||||
11546230 | 1445 days ago | 1 wei | ||||
11546230 | 1445 days ago | 0.4 ETH | ||||
11546230 | 1445 days ago | 0.4 ETH | ||||
11351379 | 1475 days ago | 1 wei | ||||
11351379 | 1475 days ago | 0.0255 ETH | ||||
11351379 | 1475 days ago | 0.0255 ETH | ||||
11311523 | 1481 days ago | 1 wei | ||||
11311523 | 1481 days ago | 0.0001 ETH | ||||
11311523 | 1481 days ago | 0.0001 ETH | ||||
11250951 | 1491 days ago | 1 wei | ||||
11250951 | 1491 days ago | 0.04 ETH | ||||
11250951 | 1491 days ago | 0.04 ETH | ||||
11215433 | 1496 days ago | 1 wei | ||||
11215433 | 1496 days ago | 0.001 ETH | ||||
11215433 | 1496 days ago | 0.001 ETH | ||||
11214817 | 1496 days ago | 1 wei | ||||
11214817 | 1496 days ago | 0.02525 ETH | ||||
11214817 | 1496 days ago | 0.02525 ETH | ||||
11196332 | 1499 days ago | 1 wei | ||||
11196332 | 1499 days ago | 0.05 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-10-19 */ 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 = 0x47736910408e26f13f1C09917DB21eCD458cA955; 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 constant public LOCK = 14 days; uint private _rewardValue = 10**18; uint private _rewardTimeLock = 0; 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 tokenAddress; address constant public UNIROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address constant public FACTORY = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; address public WETHAddress = Uniswap(UNIROUTER).WETH(); bool private _started = false; modifier onlyIfUnlocked() { require(_started && _rewardTimeLock <= now, "It has not been 14 days since start"); _; } 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"); } function started() public view returns (bool) { return _started; } function start() public onlyPrimary { require(!started(), "Contract is already started"); _started = true; } function lpToken() public view returns (address) { return Uniswap(FACTORY).getPair(tokenAddress, WETHAddress); } function rewardValue() public view returns (uint) { return _rewardValue; } function setTokenAddress(address input) public onlyPrimary { require(!started(), "Contract is already started"); tokenAddress = input; } function updateRewardValue(uint input) public onlyPrimary { require(!started(), "Contract is already started"); _rewardValue = input; } function stake(address payable ref) public payable { require(started(), "Contract should be started"); if(_rewardTimeLock == 0) { _rewardTimeLock = now + LOCK; } address staker = msg.sender; if(ref != address(0)) { referralEarned[ref] = referralEarned[ref] + ((address(this).balance * 5 / 100) * DECIMAL) / price(); } sendValue(_POOLADDRESS, address(this).balance / 2); address poolAddress = Uniswap(FACTORY).getPair(tokenAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); uint tokenAmount = IERC20(tokenAddress).balanceOf(poolAddress); uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount); IERC20(tokenAddress).mint(address(this), toMint); uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this)); uint amountTokenDesired = IERC20(tokenAddress).balanceOf(address(this)); IERC20(tokenAddress).approve(UNIROUTER, amountTokenDesired ); Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(tokenAddress, 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 onlyIfUnlocked { rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender)); LPTokenBalance[msg.sender] = LPTokenBalance[msg.sender].sub(amount); address poolAddress = Uniswap(FACTORY).getPair(tokenAddress, WETHAddress); IERC20(poolAddress).transfer(msg.sender, amount); internalTime[msg.sender] = now; } function withdrawRewardTokens(uint amount) public onlyIfUnlocked { rewards[msg.sender] = rewards[msg.sender].add(viewRecentRewardTokenAmount(msg.sender)); internalTime[msg.sender] = now; uint removeAmount = rewardToEthtime(amount) / 2; rewards[msg.sender] = rewards[msg.sender].sub(removeAmount); IERC20(tokenAddress).mint(msg.sender, amount); } function withdrawReferralEarned(uint amount) public onlyIfUnlocked { require(timePooled[msg.sender] != 0, "You have to stake at least a little bit to withdraw referral rewards"); referralEarned[msg.sender] = referralEarned[msg.sender].sub(amount); IERC20(tokenAddress).mint(msg.sender, amount); } function viewRecentRewardTokenAmount(address who) internal view returns (uint) { return viewRecentRewardTokenAmountByDuration(who, now.sub(internalTime[who])); } function viewRecentRewardTokenAmountByDuration(address who, uint duration) internal view returns (uint) { return viewPooledEthAmount(who).mul(duration); } function viewRewardTokenAmount(address who) public view returns (uint) { return earnRewardAmount(rewards[who].add(viewRecentRewardTokenAmount(who)) * 2); } function viewRewardTokenAmountByDuration(address who, uint duration) public view returns (uint) { return earnRewardAmount(rewards[who].add(viewRecentRewardTokenAmountByDuration(who, duration)) * 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(tokenAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); return (ethAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function viewPooledTokenAmount(address who) public view returns (uint) { address poolAddress = Uniswap(FACTORY).getPair(tokenAddress, WETHAddress); uint tokenAmount = IERC20(tokenAddress).balanceOf(poolAddress); return (tokenAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function viewReferralEarned(address who) public view returns (uint) { return referralEarned[who]; } function viewRewardTimeLock() public view returns (uint) { return _rewardTimeLock; } function price() public view returns (uint) { address poolAddress = Uniswap(FACTORY).getPair(tokenAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); uint tokenAmount = IERC20(tokenAddress).balanceOf(poolAddress); return (DECIMAL.mul(ethAmount)).div(tokenAmount); } function earnRewardAmount(uint ethTime) public view returns(uint) { return (rewardValue().mul(ethTime)) / (31557600 * DECIMAL); } function rewardToEthtime(uint amount) internal view returns(uint) { return (amount.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":"LOCK","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":[{"internalType":"uint256","name":"ethTime","type":"uint256"}],"name":"earnRewardAmount","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":"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":[],"name":"start","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"started","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"timePooled","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"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":[],"name":"viewRewardTimeLock","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":"address","name":"who","type":"address"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"viewRewardTokenAmountByDuration","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
6080604052670de0b6b3a76400006000556000600155737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561006f57600080fd5b505afa158015610083573d6000803e3d6000fd5b505050506040513d602081101561009957600080fd5b8101908080519060200190929190505050600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600860146101000a81548160ff02191690831515021790555034801561011157600080fd5b5061328d80620001226000396000f3fe6080604052600436106101855760003560e01c80639a6bbdd7116100d1578063be9a65551161008a578063d488ebe811610064578063d488ebe814610762578063e2f47b16146107c7578063e42255d814610816578063e91ed7c91461087b576101de565b8063be9a6555146106cf578063cb43b2dd146106e6578063d28de27314610721576101de565b80639a6bbdd7146105395780639d2a679f146105a85780639d76ea58146105d3578063a035b1fe14610614578063a4f0d7d01461063f578063b1fd67401461066a576101de565b80632dd310001161013e5780636dc64a02116101185780636dc64a021461043357806375ed442b146104985780638439a541146104c35780638d301f99146104fe576101de565b80632dd3100014610376578063452d003f146103b75780635fcbd285146103f2576101de565b80630af88b24146101e357806312c7df73146102245780631f2698ab1461024f578063264762041461027c57806326a4e8d2146102c057806329b83c2e14610311576101de565b366101de57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101dc576101db60006108e0565b5b005b600080fd5b3480156101ef57600080fd5b506101f861140a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023057600080fd5b50610239611430565b6040518082815260200191505060405180910390f35b34801561025b57600080fd5b50610264611439565b60405180821515815260200191505060405180910390f35b6102be6004803603602081101561029257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e0565b005b3480156102cc57600080fd5b5061030f600480360360208110156102e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611450565b005b34801561031d57600080fd5b506103606004803603602081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b7565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b5061038b6115cf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c357600080fd5b506103f0600480360360208110156103da57600080fd5b81019080803590602001909291905050506115e7565b005b3480156103fe57600080fd5b5061040761199d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043f57600080fd5b506104826004803603602081101561045657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611abc565b6040518082815260200191505060405180910390f35b3480156104a457600080fd5b506104ad611b05565b6040518082815260200191505060405180910390f35b3480156104cf57600080fd5b506104fc600480360360208110156104e657600080fd5b8101908080359060200190929190505050611b0f565b005b34801561050a57600080fd5b506105376004803603602081101561052157600080fd5b8101908080359060200190929190505050611c3c565b005b34801561054557600080fd5b506105926004803603604081101561055c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e8b565b6040518082815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611efb565b6040518082815260200191505060405180910390f35b3480156105df57600080fd5b506105e8611f04565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561062057600080fd5b50610629611f2a565b6040518082815260200191505060405180910390f35b34801561064b57600080fd5b5061065461220c565b6040518082815260200191505060405180910390f35b34801561067657600080fd5b506106b96004803603602081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612213565b6040518082815260200191505060405180910390f35b3480156106db57600080fd5b506106e46124ae565b005b3480156106f257600080fd5b5061071f6004803603602081101561070957600080fd5b81019080803590602001909291905050506125ee565b005b34801561072d57600080fd5b5061073661289d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076e57600080fd5b506107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b5565b6040518082815260200191505060405180910390f35b3480156107d357600080fd5b50610800600480360360208110156107ea57600080fd5b8101908080359060200190929190505050612923565b6040518082815260200191505060405180910390f35b34801561082257600080fd5b506108656004803603602081101561083957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061295d565b6040518082815260200191505060405180910390f35b34801561088757600080fd5b506108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bf8565b6040518082815260200191505060405180910390f35b6108e8611439565b61095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f6e74726163742073686f756c64206265207374617274656400000000000081525060200191505060405180910390fd5b60006001541415610972576212750042016001819055505b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a58576109b3611f2a565b670de0b6b3a7640000606460054702816109c957fe5b0402816109d257fe5b04600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a807347736910408e26f13f1c09917db21ecd458ca95560024781610a7a57fe5b04612c41565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d6020811015610b8957600080fd5b810190808051906020019092919050505090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c2757600080fd5b505afa158015610c3b573d6000803e3d6000fd5b505050506040513d6020811015610c5157600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b810190808051906020019092919050505090506000610d5383610d458447612d0590919063ffffffff16565b612d8b90919063ffffffff16565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d6020811015610e9357600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f3157600080fd5b505afa158015610f45573d6000803e3d6000fd5b505050506040513d6020811015610f5b57600080fd5b81019080805190602001909291905050509050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561101557600080fd5b505af1158015611029573d6000803e3d6000fd5b505050506040513d602081101561103f57600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b50505050506040513d606081101561115f57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156111f057600080fd5b505afa158015611204573d6000803e3d6000fd5b505050506040513d602081101561121a57600080fd5b8101908080519060200190929190505050905060006112428483612dd590919063ffffffff16565b905061129e6112508a612e1f565b600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113bb81600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6000600860149054906101000a900460ff16905090565b611458612f0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611500611439565b15611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f436f6e747261637420697320616c72656164792073746172746564000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b600860149054906101000a900460ff16801561160557504260015411155b61165a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132356023913960400191505060405180910390fd5b6116b461166633612e1f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174981600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dd590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561186b57600080fd5b505afa15801561187f573d6000803e3d6000fd5b505050506040513d602081101561189557600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561191957600080fd5b505af115801561192d573d6000803e3d6000fd5b505050506040513d602081101561194357600080fd5b81019080805190602001909291905050505042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a7c57600080fd5b505afa158015611a90573d6000803e3d6000fd5b505050506040513d6020811015611aa657600080fd5b8101908080519060200190929190505050905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b611b17612f0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611bbf611439565b15611c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f436f6e747261637420697320616c72656164792073746172746564000000000081525060200191505060405180910390fd5b8060008190555050565b600860149054906101000a900460ff168015611c5a57504260015411155b611caf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132356023913960400191505060405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611d48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806131966044913960600191505060405180910390fd5b611d9a81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dd590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611e7057600080fd5b505af1158015611e84573d6000803e3d6000fd5b5050505050565b6000611ef36002611eed611e9f8686612fa7565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b02612923565b905092915050565b6407b71a3f5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561200a57600080fd5b505afa15801561201e573d6000803e3d6000fd5b505050506040513d602081101561203457600080fd5b810190808051906020019092919050505090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120d257600080fd5b505afa1580156120e6573d6000803e3d6000fd5b505050506040513d60208110156120fc57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561219a57600080fd5b505afa1580156121ae573d6000803e3d6000fd5b505050506040513d60208110156121c457600080fd5b81019080805190602001909291905050509050612204816121f684670de0b6b3a7640000612d0590919063ffffffff16565b612d8b90919063ffffffff16565b935050505090565b6212750081565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156122f357600080fd5b505afa158015612307573d6000803e3d6000fd5b505050506040513d602081101561231d57600080fd5b810190808051906020019092919050505090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156123bb57600080fd5b505afa1580156123cf573d6000803e3d6000fd5b505050506040513d60208110156123e557600080fd5b810190808051906020019092919050505090506124a58273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561244157600080fd5b505afa158015612455573d6000803e3d6000fd5b505050506040513d602081101561246b57600080fd5b810190808051906020019092919050505061249761248887612bf8565b84612d0590919063ffffffff16565b612d8b90919063ffffffff16565b92505050919050565b6124b6612f0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612556576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b61255e611439565b156125d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f436f6e747261637420697320616c72656164792073746172746564000000000081525060200191505060405180910390fd5b6001600860146101000a81548160ff021916908315150217905550565b600860149054906101000a900460ff16801561260c57504260015411155b612661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132356023913960400191505060405180910390fd5b6126bb61266d33612e1f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261274f83612fcc565b8161275657fe5b0490506127ab81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dd590919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561288157600080fd5b505af1158015612895573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061291c60026129166128c885612e1f565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b02612923565b9050919050565b6000670de0b6b3a76400006301e187e00261294e83612940611430565b612d0590919063ffffffff16565b8161295557fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612a3d57600080fd5b505afa158015612a51573d6000803e3d6000fd5b505050506040513d6020811015612a6757600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b0557600080fd5b505afa158015612b19573d6000803e3d6000fd5b505050506040513d6020811015612b2f57600080fd5b81019080805190602001909291905050509050612bef8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b8b57600080fd5b505afa158015612b9f573d6000803e3d6000fd5b505050506040513d6020811015612bb557600080fd5b8101908080519060200190929190505050612be1612bd287612bf8565b84612d0590919063ffffffff16565b612d8b90919063ffffffff16565b92505050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612ca1576040519150601f19603f3d011682016040523d82523d6000602084013e612ca6565b606091505b5050905080612d00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806131da603a913960400191505060405180910390fd5b505050565b600080831415612d185760009050612d85565b6000828402905082848281612d2957fe5b0414612d80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132146021913960400191505060405180910390fd5b809150505b92915050565b6000612dcd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061300f565b905092915050565b6000612e1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130d5565b905092915050565b6000612e7c82612e77600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612dd590919063ffffffff16565b612fa7565b9050919050565b600080828401905083811015612f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007347736910408e26f13f1c09917db21ecd458ca95573ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612f6757600080fd5b505afa158015612f7b573d6000803e3d6000fd5b505050506040513d6020811015612f9157600080fd5b8101908080519060200190929190505050905090565b6000612fc482612fb685612213565b612d0590919063ffffffff16565b905092915050565b6000613008612fd9611430565b612ffa670de0b6b3a76400006301e187e00285612d0590919063ffffffff16565b612d8b90919063ffffffff16565b9050919050565b600080831182906130bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613080578082015181840152602081019050613065565b50505050905090810190601f1680156130ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130c757fe5b049050809150509392505050565b6000838311158290613182576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561314757808201518184015260208101905061312c565b50505050905090810190601f1680156131745780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e20313420646179732073696e6365207374617274a26469706673582212201e20be078174eb9f29c00bbd6b9ea76a176241a3f124d62cf81472eb2d8a13a464736f6c634300060c0033
Deployed Bytecode
0x6080604052600436106101855760003560e01c80639a6bbdd7116100d1578063be9a65551161008a578063d488ebe811610064578063d488ebe814610762578063e2f47b16146107c7578063e42255d814610816578063e91ed7c91461087b576101de565b8063be9a6555146106cf578063cb43b2dd146106e6578063d28de27314610721576101de565b80639a6bbdd7146105395780639d2a679f146105a85780639d76ea58146105d3578063a035b1fe14610614578063a4f0d7d01461063f578063b1fd67401461066a576101de565b80632dd310001161013e5780636dc64a02116101185780636dc64a021461043357806375ed442b146104985780638439a541146104c35780638d301f99146104fe576101de565b80632dd3100014610376578063452d003f146103b75780635fcbd285146103f2576101de565b80630af88b24146101e357806312c7df73146102245780631f2698ab1461024f578063264762041461027c57806326a4e8d2146102c057806329b83c2e14610311576101de565b366101de57737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101dc576101db60006108e0565b5b005b600080fd5b3480156101ef57600080fd5b506101f861140a565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561023057600080fd5b50610239611430565b6040518082815260200191505060405180910390f35b34801561025b57600080fd5b50610264611439565b60405180821515815260200191505060405180910390f35b6102be6004803603602081101561029257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506108e0565b005b3480156102cc57600080fd5b5061030f600480360360208110156102e357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611450565b005b34801561031d57600080fd5b506103606004803603602081101561033457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506115b7565b6040518082815260200191505060405180910390f35b34801561038257600080fd5b5061038b6115cf565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103c357600080fd5b506103f0600480360360208110156103da57600080fd5b81019080803590602001909291905050506115e7565b005b3480156103fe57600080fd5b5061040761199d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561043f57600080fd5b506104826004803603602081101561045657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611abc565b6040518082815260200191505060405180910390f35b3480156104a457600080fd5b506104ad611b05565b6040518082815260200191505060405180910390f35b3480156104cf57600080fd5b506104fc600480360360208110156104e657600080fd5b8101908080359060200190929190505050611b0f565b005b34801561050a57600080fd5b506105376004803603602081101561052157600080fd5b8101908080359060200190929190505050611c3c565b005b34801561054557600080fd5b506105926004803603604081101561055c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e8b565b6040518082815260200191505060405180910390f35b3480156105b457600080fd5b506105bd611efb565b6040518082815260200191505060405180910390f35b3480156105df57600080fd5b506105e8611f04565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561062057600080fd5b50610629611f2a565b6040518082815260200191505060405180910390f35b34801561064b57600080fd5b5061065461220c565b6040518082815260200191505060405180910390f35b34801561067657600080fd5b506106b96004803603602081101561068d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612213565b6040518082815260200191505060405180910390f35b3480156106db57600080fd5b506106e46124ae565b005b3480156106f257600080fd5b5061071f6004803603602081101561070957600080fd5b81019080803590602001909291905050506125ee565b005b34801561072d57600080fd5b5061073661289d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561076e57600080fd5b506107b16004803603602081101561078557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128b5565b6040518082815260200191505060405180910390f35b3480156107d357600080fd5b50610800600480360360208110156107ea57600080fd5b8101908080359060200190929190505050612923565b6040518082815260200191505060405180910390f35b34801561082257600080fd5b506108656004803603602081101561083957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061295d565b6040518082815260200191505060405180910390f35b34801561088757600080fd5b506108ca6004803603602081101561089e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612bf8565b6040518082815260200191505060405180910390f35b6108e8611439565b61095a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f436f6e74726163742073686f756c64206265207374617274656400000000000081525060200191505060405180910390fd5b60006001541415610972576212750042016001819055505b6000339050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610a58576109b3611f2a565b670de0b6b3a7640000606460054702816109c957fe5b0402816109d257fe5b04600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610a807347736910408e26f13f1c09917db21ecd458ca95560024781610a7a57fe5b04612c41565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015610b5f57600080fd5b505afa158015610b73573d6000803e3d6000fd5b505050506040513d6020811015610b8957600080fd5b810190808051906020019092919050505090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610c2757600080fd5b505afa158015610c3b573d6000803e3d6000fd5b505050506040513d6020811015610c5157600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610cef57600080fd5b505afa158015610d03573d6000803e3d6000fd5b505050506040513d6020811015610d1957600080fd5b810190808051906020019092919050505090506000610d5383610d458447612d0590919063ffffffff16565b612d8b90919063ffffffff16565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1930836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015610de857600080fd5b505af1158015610dfc573d6000803e3d6000fd5b5050505060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d6020811015610e9357600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610f3157600080fd5b505afa158015610f45573d6000803e3d6000fd5b505050506040513d6020811015610f5b57600080fd5b81019080805190602001909291905050509050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663095ea7b3737a250d5630b4cf539739df2c5dacb4c659f2488d836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561101557600080fd5b505af1158015611029573d6000803e3d6000fd5b505050506040513d602081101561103f57600080fd5b810190808051906020019092919050505050737a250d5630b4cf539739df2c5dacb4c659f2488d73ffffffffffffffffffffffffffffffffffffffff1663f305d71947600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684600180306407b71a3f546040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018581526020018481526020018373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200196505050505050506060604051808303818588803b15801561113457600080fd5b505af1158015611148573d6000803e3d6000fd5b50505050506040513d606081101561115f57600080fd5b8101908080519060200190929190805190602001909291908051906020019092919050505050505060008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156111f057600080fd5b505afa158015611204573d6000803e3d6000fd5b505050506040513d602081101561121a57600080fd5b8101908080519060200190929190505050905060006112428483612dd590919063ffffffff16565b905061129e6112508a612e1f565b600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113bb81600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505050505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008054905090565b6000600860149054906101000a900460ff16905090565b611458612f0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611500611439565b15611573576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f436f6e747261637420697320616c72656164792073746172746564000000000081525060200191505060405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915090505481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b600860149054906101000a900460ff16801561160557504260015411155b61165a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132356023913960400191505060405180910390fd5b6116b461166633612e1f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061174981600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dd590919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561186b57600080fd5b505afa15801561187f573d6000803e3d6000fd5b505050506040513d602081101561189557600080fd5b810190808051906020019092919050505090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561191957600080fd5b505af115801561192d573d6000803e3d6000fd5b505050506040513d602081101561194357600080fd5b81019080805190602001909291905050505042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b6000735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015611a7c57600080fd5b505afa158015611a90573d6000803e3d6000fd5b505050506040513d6020811015611aa657600080fd5b8101908080519060200190929190505050905090565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600154905090565b611b17612f0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611bb7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b611bbf611439565b15611c32576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f436f6e747261637420697320616c72656164792073746172746564000000000081525060200191505060405180910390fd5b8060008190555050565b600860149054906101000a900460ff168015611c5a57504260015411155b611caf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132356023913960400191505060405180910390fd5b6000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415611d48576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260448152602001806131966044913960600191505060405180910390fd5b611d9a81600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dd590919063ffffffff16565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b158015611e7057600080fd5b505af1158015611e84573d6000803e3d6000fd5b5050505050565b6000611ef36002611eed611e9f8686612fa7565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b02612923565b905092915050565b6407b71a3f5481565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561200a57600080fd5b505afa15801561201e573d6000803e3d6000fd5b505050506040513d602081101561203457600080fd5b810190808051906020019092919050505090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156120d257600080fd5b505afa1580156120e6573d6000803e3d6000fd5b505050506040513d60208110156120fc57600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231846040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561219a57600080fd5b505afa1580156121ae573d6000803e3d6000fd5b505050506040513d60208110156121c457600080fd5b81019080805190602001909291905050509050612204816121f684670de0b6b3a7640000612d0590919063ffffffff16565b612d8b90919063ffffffff16565b935050505090565b6212750081565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b1580156122f357600080fd5b505afa158015612307573d6000803e3d6000fd5b505050506040513d602081101561231d57600080fd5b810190808051906020019092919050505090506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156123bb57600080fd5b505afa1580156123cf573d6000803e3d6000fd5b505050506040513d60208110156123e557600080fd5b810190808051906020019092919050505090506124a58273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561244157600080fd5b505afa158015612455573d6000803e3d6000fd5b505050506040513d602081101561246b57600080fd5b810190808051906020019092919050505061249761248887612bf8565b84612d0590919063ffffffff16565b612d8b90919063ffffffff16565b92505050919050565b6124b6612f0b565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612556576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f43616c6c6572206973206e6f74207072696d617279000000000000000000000081525060200191505060405180910390fd5b61255e611439565b156125d1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f436f6e747261637420697320616c72656164792073746172746564000000000081525060200191505060405180910390fd5b6001600860146101000a81548160ff021916908315150217905550565b600860149054906101000a900460ff16801561260c57504260015411155b612661576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806132356023913960400191505060405180910390fd5b6126bb61266d33612e1f565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555042600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600261274f83612fcc565b8161275657fe5b0490506127ab81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612dd590919063ffffffff16565b600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340c10f1933846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b15801561288157600080fd5b505af1158015612895573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b600061291c60026129166128c885612e1f565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612e8390919063ffffffff16565b02612923565b9050919050565b6000670de0b6b3a76400006301e187e00261294e83612940611430565b612d0590919063ffffffff16565b8161295557fe5b049050919050565b600080735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f73ffffffffffffffffffffffffffffffffffffffff1663e6a43905600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b158015612a3d57600080fd5b505afa158015612a51573d6000803e3d6000fd5b505050506040513d6020811015612a6757600080fd5b810190808051906020019092919050505090506000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015612b0557600080fd5b505afa158015612b19573d6000803e3d6000fd5b505050506040513d6020811015612b2f57600080fd5b81019080805190602001909291905050509050612bef8273ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015612b8b57600080fd5b505afa158015612b9f573d6000803e3d6000fd5b505050506040513d6020811015612bb557600080fd5b8101908080519060200190929190505050612be1612bd287612bf8565b84612d0590919063ffffffff16565b612d8b90919063ffffffff16565b92505050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008273ffffffffffffffffffffffffffffffffffffffff168260405180600001905060006040518083038185875af1925050503d8060008114612ca1576040519150601f19603f3d011682016040523d82523d6000602084013e612ca6565b606091505b5050905080612d00576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806131da603a913960400191505060405180910390fd5b505050565b600080831415612d185760009050612d85565b6000828402905082848281612d2957fe5b0414612d80576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132146021913960400191505060405180910390fd5b809150505b92915050565b6000612dcd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061300f565b905092915050565b6000612e1783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130d5565b905092915050565b6000612e7c82612e77600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205442612dd590919063ffffffff16565b612fa7565b9050919050565b600080828401905083811015612f01576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b60007347736910408e26f13f1c09917db21ecd458ca95573ffffffffffffffffffffffffffffffffffffffff1663c6dbdf616040518163ffffffff1660e01b815260040160206040518083038186803b158015612f6757600080fd5b505afa158015612f7b573d6000803e3d6000fd5b505050506040513d6020811015612f9157600080fd5b8101908080519060200190929190505050905090565b6000612fc482612fb685612213565b612d0590919063ffffffff16565b905092915050565b6000613008612fd9611430565b612ffa670de0b6b3a76400006301e187e00285612d0590919063ffffffff16565b612d8b90919063ffffffff16565b9050919050565b600080831182906130bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613080578082015181840152602081019050613065565b50505050905090810190601f1680156130ad5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816130c757fe5b049050809150509392505050565b6000838311158290613182576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561314757808201518184015260208101905061312c565b50505050905090810190601f1680156131745780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838503905080915050939250505056fe596f75206861766520746f207374616b65206174206c656173742061206c6974746c652062697420746f20776974686472617720726566657272616c2072657761726473416464726573733a20756e61626c6520746f2073656e642076616c75652c20726563697069656e74206d61792068617665207265766572746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e20313420646179732073696e6365207374617274a26469706673582212201e20be078174eb9f29c00bbd6b9ea76a176241a3f124d62cf81472eb2d8a13a464736f6c634300060c0033
Deployed Bytecode Sourcemap
3293:7446:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3937:42;4379:23;;:10;:23;;;4376:72;;4419:17;4433:1;4419:5;:17::i;:::-;4376:72;3293:7446;;;;;4077:67;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5065:88;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4704:80;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5494:1621;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5161:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3580:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3986:84;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7123:432;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4931:126;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9865:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9986:98;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5328:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7970:328;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8842:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3409:38;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3859:27;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10092:342;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3454:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9184:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4792:131;;;;;;;;;;;;;:::i;:::-;;7563:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3895:84;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8665:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10442:143;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9521:336;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9064:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5494:1621;5564:9;:7;:9::i;:::-;5556:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5639:1;5620:15;;:20;5617:80;;;3482:7;5675:3;:10;5657:15;:28;;;;5617:80;5709:14;5726:10;5709:27;;5765:1;5750:17;;:3;:17;;;5747:148;;5876:7;:5;:7::i;:::-;3396:6;5858:3;5854:1;5830:21;:25;:31;;;;;;5829:43;5828:55;;;;;;5806:14;:19;5821:3;5806:19;;;;;;;;;;;;;;;;:77;5784:14;:19;5799:3;5784:19;;;;;;;;;;;;;;;:99;;;;5747:148;5907:50;3012:42;5955:1;5931:21;:25;;;;;;5907:9;:50::i;:::-;5970:19;4028:42;5992:24;;;6017:12;;;;;;;;;;;6031:11;;;;;;;;;;;5992:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5970:73;;6054:14;6078:11;;;;;;;;;;;6071:29;;;6101:11;6071:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6054:59;;6124:16;6150:12;;;;;;;;;;;6143:30;;;6174:11;6143:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6124:62;;6199:11;6213:55;6258:9;6214:38;6240:11;6214:21;:25;;:38;;;;:::i;:::-;6213:44;;:55;;;;:::i;:::-;6199:69;;6286:12;;;;;;;;;;;6279:25;;;6313:4;6320:6;6279:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6340:26;6376:11;6369:29;;;6407:4;6369:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6340:73;;6426:23;6459:12;;;;;;;;;;;6452:30;;;6491:4;6452:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6426:71;;6515:12;;;;;;;;;;;6508:28;;;3937:42;6548:18;6508:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3937:42;6579:34;;;6622:21;6646:12;;;;;;;;;;;6660:18;6680:1;6683;6694:4;3436:11;6579:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6718:25;6753:11;6746:29;;;6784:4;6746:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6718:72;;6801:17;6821:47;6846:21;6821:20;:24;;:47;;;;:::i;:::-;6801:67;;6899:56;6919:35;6947:6;6919:27;:35::i;:::-;6899:7;:15;6907:6;6899:15;;;;;;;;;;;;;;;;:19;;:56;;;;:::i;:::-;6881:7;:15;6889:6;6881:15;;;;;;;;;;;;;;;:74;;;;6989:3;6968:10;:18;6979:6;6968:18;;;;;;;;;;;;;;;:24;;;;7026:3;7003:12;:20;7016:6;7003:20;;;;;;;;;;;;;;;:26;;;;7067:40;7094:12;7067:14;:22;7082:6;7067:22;;;;;;;;;;;;;;;;:26;;:40;;;;:::i;:::-;7042:14;:22;7057:6;7042:22;;;;;;;;;;;;;;;:65;;;;5494:1621;;;;;;;;;;:::o;4077:67::-;;;;;;;;;;;;;:::o;5065:88::-;5109:4;5133:12;;5126:19;;5065:88;:::o;4704:80::-;4744:4;4768:8;;;;;;;;;;;4761:15;;4704:80;:::o;5161:159::-;3231:9;:7;:9::i;:::-;3217:23;;:10;:23;;;3209:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5240:9:::1;:7;:9::i;:::-;5239:10;5231:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5307:5;5292:12;;:20;;;;;;;;;;;;;;;;;;5161:159:::0;:::o;3580:47::-;;;;;;;;;;;;;;;;;:::o;3986:84::-;4028:42;3986:84;:::o;7123:432::-;4236:8;;;;;;;;;;;:34;;;;;4267:3;4248:15;;:22;;4236:34;4228:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7217:64:::1;7241:39;7269:10;7241:27;:39::i;:::-;7217:7;:19;7225:10;7217:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7195:7;:19;7203:10;7195:19;;;;;;;;;;;;;;;:86;;;;7321:38;7352:6;7321:14;:26;7336:10;7321:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;7292:14;:26;7307:10;7292:26;;;;;;;;;;;;;;;:67;;;;7372:19;4028:42;7394:24;;;7419:12;;;;;;;;;;;7433:11;;;;;;;;;;;7394:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;7372:73;;7463:11;7456:28;;;7485:10;7497:6;7456:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;7544:3;7517:12;:24;7530:10;7517:24;;;;;;;;;;;;;;;:30;;;;4321:1;7123:432:::0;:::o;4931:126::-;4971:7;4028:42;4998:24;;;5023:12;;;;;;;;;;;5037:11;;;;;;;;;;;4998:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4991:58;;4931:126;:::o;9865:113::-;9927:4;9951:14;:19;9966:3;9951:19;;;;;;;;;;;;;;;;9944:26;;9865:113;;;:::o;9986:98::-;10037:4;10061:15;;10054:22;;9986:98;:::o;5328:158::-;3231:9;:7;:9::i;:::-;3217:23;;:10;:23;;;3209:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5406:9:::1;:7;:9::i;:::-;5405:10;5397:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;5473:5;5458:12;:20;;;;5328:158:::0;:::o;7970:328::-;4236:8;;;;;;;;;;;:34;;;;;4267:3;4248:15;;:22;;4236:34;4228:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8082:1:::1;8056:10;:22;8067:10;8056:22;;;;;;;;;;;;;;;;:27;;8048:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8196:38;8227:6;8196:14;:26;8211:10;8196:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;8167:14;:26;8182:10;8167:26;;;;;;;;;;;;;;;:67;;;;8252:12;;;;;;;;;;;8245:25;;;8271:10;8283:6;8245:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7970:328:::0;:::o;8842:214::-;8932:4;8956:92;9046:1;8973:70;8990:52;9028:3;9033:8;8990:37;:52::i;:::-;8973:7;:12;8981:3;8973:12;;;;;;;;;;;;;;;;:16;;:70;;;;:::i;:::-;:74;8956:16;:92::i;:::-;8949:99;;8842:214;;;;:::o;3409:38::-;3436:11;3409:38;:::o;3859:27::-;;;;;;;;;;;;;:::o;10092:342::-;10130:4;10147:19;4028:42;10169:24;;;10194:12;;;;;;;;;;;10208:11;;;;;;;;;;;10169:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10147:73;;10233:14;10257:11;;;;;;;;;;;10250:29;;;10280:11;10250:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10233:59;;10303:16;10329:12;;;;;;;;;;;10322:30;;;10353:11;10322:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10303:62;;10385:41;10414:11;10386:22;10398:9;3396:6;10386:11;;:22;;;;:::i;:::-;10385:28;;:41;;;;:::i;:::-;10378:48;;;;;10092:342;:::o;3454:35::-;3482:7;3454:35;:::o;9184:329::-;9247:4;9264:19;4028:42;9286:24;;;9311:12;;;;;;;;;;;9325:11;;;;;;;;;;;9286:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9264:73;;9348:14;9372:11;;;;;;;;;;;9365:29;;;9395:11;9365:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9348:59;;9427:78;9478:11;9471:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9428:37;9442:22;9460:3;9442:17;:22::i;:::-;9428:9;:13;;:37;;;;:::i;:::-;9427:43;;:78;;;;:::i;:::-;9420:85;;;;9184:329;;;:::o;4792:131::-;3231:9;:7;:9::i;:::-;3217:23;;:10;:23;;;3209:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4848:9:::1;:7;:9::i;:::-;4847:10;4839:50;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4911:4;4900:8;;:15;;;;;;;;;;;;;;;;;;4792:131::o:0;7563:399::-;4236:8;;;;;;;;;;;:34;;;;;4267:3;4248:15;;:22;;4236:34;4228:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7661:64:::1;7685:39;7713:10;7685:27;:39::i;:::-;7661:7;:19;7669:10;7661:19;;;;;;;;;;;;;;;;:23;;:64;;;;:::i;:::-;7639:7;:19;7647:10;7639:19;;;;;;;;;;;;;;;:86;;;;7763:3;7736:12;:24;7749:10;7736:24;;;;;;;;;;;;;;;:30;;;;7779:17;7825:1;7799:23;7815:6;7799:15;:23::i;:::-;:27;;;;;;7779:47;;7859:37;7883:12;7859:7;:19;7867:10;7859:19;;;;;;;;;;;;;;;;:23;;:37;;;;:::i;:::-;7837:7;:19;7845:10;7837:19;;;;;;;;;;;;;;;:59;;;;7916:12;;;;;;;;;;;7909:25;;;7935:10;7947:6;7909:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4321:1;7563:399:::0;:::o;3895:84::-;3937:42;3895:84;:::o;8665:169::-;8730:4;8754:72;8824:1;8771:50;8788:32;8816:3;8788:27;:32::i;:::-;8771:7;:12;8779:3;8771:12;;;;;;;;;;;;;;;;:16;;:50;;;;:::i;:::-;:54;8754:16;:72::i;:::-;8747:79;;8665:169;;;:::o;10442:143::-;10502:4;3396:6;10558:8;:18;10527:26;10545:7;10527:13;:11;:13::i;:::-;:17;;:26;;;;:::i;:::-;10526:51;;;;;;10519:58;;10442:143;;;:::o;9521:336::-;9586:4;9603:19;4028:42;9625:24;;;9650:12;;;;;;;;;;;9664:11;;;;;;;;;;;9625:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9603:73;;9687:16;9713:12;;;;;;;;;;;9706:30;;;9737:11;9706:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9687:62;;9769:80;9822:11;9815:31;;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9770:39;9786:22;9804:3;9786:17;:22::i;:::-;9770:11;:15;;:39;;;;:::i;:::-;9769:45;;:80;;;;:::i;:::-;9762:87;;;;9521:336;;;:::o;9064:112::-;9125:4;9149:14;:19;9164:3;9149:19;;;;;;;;;;;;;;;;9142:26;;9064:112;;;:::o;4463:233::-;4546:12;4564:9;:14;;4587:6;4564:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4545:54;;;4618:7;4610:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4463: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;8306:175::-;8379:4;8403:70;8441:3;8446:26;8454:12;:17;8467:3;8454:17;;;;;;;;;;;;;;;;8446:3;:7;;:26;;;;:::i;:::-;8403:37;:70::i;:::-;8396:77;;8306:175;;;:::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;3063:104::-;3104:7;3012:42;3131:26;;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3124:35;;3063:104;:::o;8489:168::-;8587:4;8611:38;8640:8;8611:24;8631:3;8611:19;:24::i;:::-;:28;;:38;;;;:::i;:::-;8604:45;;8489:168;;;;:::o;10593:143::-;10653:4;10677:51;10714:13;:11;:13::i;:::-;10678:30;3396:6;10689:8;:18;10678:6;:10;;:30;;;;:::i;:::-;10677:36;;:51;;;;:::i;:::-;10670:58;;10593:143;;;:::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://1e20be078174eb9f29c00bbd6b9ea76a176241a3f124d62cf81472eb2d8a13a4
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,912.3 | 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.