Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Token Addres... | 11033619 | 1634 days ago | IN | 0 ETH | 0.00102327 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
Stakepool
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2020-10-11 */ 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 owner() external view returns (address); } contract Poolable{ address payable internal constant _POOLADDRESS = 0x986b43323F2b8ef6ffCf459172F8D293f0904135; function primary() private view returns (address) { return Pool(_POOLADDRESS).owner(); } modifier onlyPrimary() { require(msg.sender == primary(), "Caller is not primary"); _; } } contract Stakepool is Poolable{ using SafeMath for uint256; uint constant internal DECIMAL = 10**18; uint constant public INF = 33136721748; uint private _rewardValue = 10**21; 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 borbAddress; address constant public UNIROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; address constant public FACTORY = 0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f; address public WETHAddress = Uniswap(UNIROUTER).WETH(); bool private _unchangeable = false; bool private _tokenAddressGiven = false; bool public priceCapped = false; uint public creationTime = now; receive() external payable { if(msg.sender != UNIROUTER){ stake(); } } 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 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; borbAddress = 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; } //Cap token price at 1 eth, can't be called if makeUnchangeable() was called function capPrice(bool input) public onlyPrimary { require(!unchangeable(), "makeUnchangeable() function was already called"); priceCapped = input; } //THE ONLY ADMIN FUNCTIONS ^^^^ function sqrt(uint y) public pure returns (uint z) { if (y > 3) { z = y; uint x = y / 2 + 1; while (x < z) { z = x; x = (y / x + x) / 2; } } else if (y != 0) { z = 1; } } function stake() public payable{ require(creationTime + 1 hours <= now, "It has not been 1 hour since contract creation yet"); address staker = msg.sender; address poolAddress = Uniswap(FACTORY).getPair(borbAddress, WETHAddress); if(price() >= (1.05 * 10**18) && priceCapped){ uint t = IERC20(borbAddress).balanceOf(poolAddress); //token in uniswap uint a = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint x = (sqrt(9*t*t + 3988000*a*t) - 1997*t)/1994; IERC20(borbAddress).mint(address(this), x); address[] memory path = new address[](2); path[0] = borbAddress; path[1] = WETHAddress; IERC20(borbAddress).approve(UNIROUTER, x); Uniswap(UNIROUTER).swapExactTokensForETH(x, 1, path, _POOLADDRESS, INF); } uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(borbAddress).balanceOf(poolAddress); //token in uniswap uint toMint = (address(this).balance.mul(tokenAmount)).div(ethAmount); IERC20(borbAddress).mint(address(this), toMint); uint poolTokenAmountBefore = IERC20(poolAddress).balanceOf(address(this)); uint amountTokenDesired = IERC20(borbAddress).balanceOf(address(this)); IERC20(borbAddress).approve(UNIROUTER, amountTokenDesired ); //allow pool to get tokens Uniswap(UNIROUTER).addLiquidityETH{ value: address(this).balance }(borbAddress, 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 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); rewards[msg.sender] = rewards[msg.sender].sub(removeAmount); IERC20(borbAddress).mint(msg.sender, amount); } function viewRecentRewardTokenAmount(address who) internal view returns (uint){ return (viewLPTokenAmount(who).mul( now.sub(internalTime[who]) )); } function viewRewardTokenAmount(address who) public view returns (uint){ return earnCalc( rewards[who].add(viewRecentRewardTokenAmount(who)) ); } function viewLPTokenAmount(address who) public view returns (uint){ return LPTokenBalance[who]; } function viewPooledEthAmount(address who) public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(borbAddress, 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(borbAddress, WETHAddress); uint tokenAmount = IERC20(borbAddress).balanceOf(poolAddress); //token in uniswap return (tokenAmount.mul(viewLPTokenAmount(who))).div(IERC20(poolAddress).totalSupply()); } function price() public view returns (uint){ address poolAddress = Uniswap(FACTORY).getPair(borbAddress, WETHAddress); uint ethAmount = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint tokenAmount = IERC20(borbAddress).balanceOf(poolAddress); //token in uniswap return (DECIMAL.mul(ethAmount)).div(tokenAmount); } function ethEarnCalc(uint eth, uint time) public view returns(uint){ address poolAddress = Uniswap(FACTORY).getPair(borbAddress, WETHAddress); uint totalEth = IERC20(WETHAddress).balanceOf(poolAddress); //Eth in uniswap uint totalLP = IERC20(poolAddress).totalSupply(); uint LP = ((eth/2)*totalLP)/totalEth; return earnCalc(LP * time); } function earnCalc(uint LPTime) public view returns(uint){ return ( rewardValue().mul(LPTime) ) / ( 31557600 * DECIMAL ); } function ethtimeCalc(uint borb) internal view returns(uint){ return ( borb.mul(31557600 * DECIMAL) ).div( rewardValue() ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"borbAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"input","type":"bool"}],"name":"capPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"creationTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"LPTime","type":"uint256"}],"name":"earnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"eth","type":"uint256"},{"internalType":"uint256","name":"time","type":"uint256"}],"name":"ethEarnCalc","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"priceCapped","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"uint256","name":"y","type":"uint256"}],"name":"sqrt","outputs":[{"internalType":"uint256","name":"z","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"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":"viewRewardTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"withdrawRewardTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
60806040819052683635c9adc5dea000006000556315ab88c960e31b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063ad5c46489060849060209060048186803b15801561005157600080fd5b505afa158015610065573d6000803e3d6000fd5b505050506040513d602081101561007b57600080fd5b5051600780546001600160a01b0319166001600160a01b039092169190911762ffffff60a01b19169055426008553480156100b557600080fd5b50611e95806100c56000396000f3fe60806040526004361061014f5760003560e01c80639d2a679f116100b6578063d28de2731161006f578063d28de273146103f6578063d488ebe81461040b578063d8270dce1461043e578063e42255d814610453578063e91ed7c914610486578063ff2eba68146104b957610179565b80639d2a679f14610330578063a035b1fe14610345578063a064b44b1461035a578063b1fd674014610384578063c4fcf826146103b7578063cb43b2dd146103cc57610179565b80633a4b66f1116101085780633a4b66f114610266578063475d87331461026e5780634caacd7514610283578063677342ce146102ac5780637228cd7d146102d65780638439a5411461030657610179565b80630af88b241461017e57806312c7df73146101af57806316f9fa11146101d657806326a4e8d2146101eb57806329b83c2e1461021e5780632dd310001461025157610179565b366101795733737a250d5630b4cf539739df2c5dacb4c659f2488d14610177576101776104e5565b005b600080fd5b34801561018a57600080fd5b50610193610f18565b604080516001600160a01b039092168252519081900360200190f35b3480156101bb57600080fd5b506101c4610f27565b60408051918252519081900360200190f35b3480156101e257600080fd5b50610193610f2d565b3480156101f757600080fd5b506101776004803603602081101561020e57600080fd5b50356001600160a01b0316610f3c565b34801561022a57600080fd5b506101c46004803603602081101561024157600080fd5b50356001600160a01b0316611036565b34801561025d57600080fd5b50610193611048565b6101776104e5565b34801561027a57600080fd5b50610177611060565b34801561028f57600080fd5b506102986110da565b604080519115158252519081900360200190f35b3480156102b857600080fd5b506101c4600480360360208110156102cf57600080fd5b50356110ea565b3480156102e257600080fd5b506101c4600480360360408110156102f957600080fd5b508035906020013561113c565b34801561031257600080fd5b506101776004803603602081101561032957600080fd5b50356112f4565b34801561033c57600080fd5b506101c46113a2565b34801561035157600080fd5b506101c46113ab565b34801561036657600080fd5b506101c46004803603602081101561037d57600080fd5b5035611563565b34801561039057600080fd5b506101c4600480360360208110156103a757600080fd5b50356001600160a01b0316611591565b3480156103c357600080fd5b50610298611738565b3480156103d857600080fd5b50610177600480360360208110156103ef57600080fd5b5035611748565b34801561040257600080fd5b50610193611884565b34801561041757600080fd5b506101c46004803603602081101561042e57600080fd5b50356001600160a01b031661189c565b34801561044a57600080fd5b506101c46118d1565b34801561045f57600080fd5b506101c46004803603602081101561047657600080fd5b50356001600160a01b03166118d7565b34801561049257600080fd5b506101c4600480360360208110156104a957600080fd5b50356001600160a01b03166119c4565b3480156104c557600080fd5b50610177600480360360208110156104dc57600080fd5b503515156119df565b42600854610e1001111561052a5760405162461bcd60e51b8152600401808060200182810382526032815260200180611dd56032913960400191505060405180910390fd5b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152513391600091735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561059857600080fd5b505afa1580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b50519050670e92596fd62900006105d76113ab565b101580156105ee5750600754600160b01b900460ff165b15610a3857600654604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b5051905060006107ca6107cd8402610712858002600902868602623cda2002016110ea565b038161071a57fe5b600654604080516340c10f1960e01b8152306004820152939092046024840181905291519193506001600160a01b0316916340c10f1991604480830192600092919082900301818387803b15801561077157600080fd5b505af1158015610785573d6000803e3d6000fd5b505060408051600280825260608083018452945090925090602083019080368337505060065482519293506001600160a01b0316918391506000906107c657fe5b6001600160a01b0392831660209182029290920101526007548251911690829060019081106107f157fe5b6001600160a01b039283166020918202929092018101919091526006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d6004820152602481018790529051919093169263095ea7b39260448083019391928290030181600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b50506040516318cbafe560e01b81526004810183815260016024830181905273986b43323f2b8ef6ffcf459172f8d293f0904135606484018190526407b71a3f546084850181905260a060448601908152865160a48701528651737a250d5630b4cf539739df2c5dacb4c659f2488d966318cbafe5968a96958a95909490939192909160c4909101906020878101910280838360005b83811015610940578181015183820152602001610928565b505050509050019650505050505050600060405180830381600087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156109a657600080fd5b81019080805160405193929190846401000000008211156109c657600080fd5b9083019060208201858111156109db57600080fd5b82518660208202830111640100000000821117156109f857600080fd5b82525081516020918201928201910280838360005b83811015610a25578181015183820152602001610a0d565b5050505090500160405250505050505050505b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a8957600080fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d6020811015610ab357600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d6020811015610b3257600080fd5b505190506000610b4c83610b464785611aa6565b90611b06565b600654604080516340c10f1960e01b81523060048201526024810184905290519293506001600160a01b03909116916340c10f199160448082019260009290919082900301818387803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c0957600080fd5b505afa158015610c1d573d6000803e3d6000fd5b505050506040513d6020811015610c3357600080fd5b5051600654604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b50516006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201526024810184905290519293506001600160a01b039091169163095ea7b3916044808201926020929091908290030181600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b50506006546040805163f305d71960e01b81526001600160a01b0390921660048301526024820183905260016044830181905260648301523060848301526407b71a3f5460a483015251737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d71991479160c48082019260609290919082900301818588803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b50505050506040513d6060811015610dfb57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b038916916370a0823191602480820192602092909190829003018186803b158015610e4757600080fd5b505afa158015610e5b573d6000803e3d6000fd5b505050506040513d6020811015610e7157600080fd5b505190506000610e818285611b48565b9050610eae610e8f8a611b8a565b6001600160a01b038b1660009081526004602052604090205490611bbb565b6001600160a01b038a166000908152600460209081526040808320939093556001815282822042908190556002825283832055600390522054610ef19082611bbb565b6001600160a01b039099166000908152600360205260409020989098555050505050505050565b6007546001600160a01b031681565b60005490565b6006546001600160a01b031681565b610f44611c15565b6001600160a01b0316336001600160a01b031614610fa1576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b600754600160a81b900460ff1615611000576040805162461bcd60e51b815260206004820152601b60248201527f46756e6374696f6e2077617320616c72656164792063616c6c65640000000000604482015290519081900360640190fd5b6007805460ff60a81b1916600160a81b179055600680546001600160a01b039092166001600160a01b0319909216919091179055565b60016020526000908152604090205481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b611068611c15565b6001600160a01b0316336001600160a01b0316146110c5576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6007805460ff60a01b1916600160a01b179055565b600754600160a01b900460ff1690565b6000600382111561112d575080600160028204015b818110156111275780915060028182858161111657fe5b04018161111f57fe5b0490506110ff565b50611137565b8115611137575060015b919050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b505050506040513d60208110156111d457600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561122957600080fd5b505afa15801561123d573d6000803e3d6000fd5b505050506040513d602081101561125357600080fd5b5051604080516318160ddd60e01b815290519192506000916001600160a01b038516916318160ddd916004808301926020929190829003018186803b15801561129b57600080fd5b505afa1580156112af573d6000803e3d6000fd5b505050506040513d60208110156112c557600080fd5b50519050600082826002890402816112d957fe5b0490506112e7868202611563565b9450505050505b92915050565b6112fc611c15565b6001600160a01b0316336001600160a01b031614611359576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6113616110da565b1561139d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b600055565b6407b71a3f5481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561141957600080fd5b505afa15801561142d573d6000803e3d6000fd5b505050506040513d602081101561144357600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d60208110156114c257600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561151757600080fd5b505afa15801561152b573d6000803e3d6000fd5b505050506040513d602081101561154157600080fd5b5051905061155b81610b46670de0b6b3a764000085611aa6565b935050505090565b60006a1a1a94ec861d5c338000006115838361157d610f27565b90611aa6565b8161158a57fe5b0492915050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d602081101561162957600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b505afa158015611692573d6000803e3d6000fd5b505050506040513d60208110156116a857600080fd5b5051604080516318160ddd60e01b81529051919250611730916001600160a01b038516916318160ddd916004808301926020929190829003018186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d602081101561171b57600080fd5b5051610b46611729876119c4565b8490611aa6565b949350505050565b600754600160b01b900460ff1681565b33600090815260016020526040902054426203f480909101111561179d5760405162461bcd60e51b815260040180806020018281038252602b815260200180611e07602b913960400191505060405180910390fd5b6117bf6117a933611b8a565b3360009081526004602052604090205490611bbb565b33600090815260046020908152604080832093909355600290529081204290556117e882611c95565b336000908152600460205260409020549091506118059082611b48565b3360008181526004602081905260408083209490945560065484516340c10f1960e01b8152918201939093526024810186905292516001600160a01b03909216926340c10f19926044808301939282900301818387803b15801561186857600080fd5b505af115801561187c573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006112ee6118cc6118ad84611b8a565b6001600160a01b03851660009081526004602052604090205490611bbb565b611563565b60085481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561194557600080fd5b505afa158015611959573d6000803e3d6000fd5b505050506040513d602081101561196f57600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b6001600160a01b031660009081526003602052604090205490565b6119e7611c15565b6001600160a01b0316336001600160a01b031614611a44576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b611a4c6110da565b15611a885760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b60078054911515600160b01b0260ff60b01b19909216919091179055565b600082611ab5575060006112ee565b82820282848281611ac257fe5b0414611aff5760405162461bcd60e51b8152600401808060200182810382526021815260200180611db46021913960400191505060405180910390fd5b9392505050565b6000611aff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cb7565b6000611aff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d59565b6001600160a01b0381166000908152600260205260408120546112ee90611bb2904290611b48565b61157d846119c4565b600082820183811015611aff576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600073986b43323f2b8ef6ffcf459172f8d293f09041356001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6457600080fd5b505afa158015611c78573d6000803e3d6000fd5b505050506040513d6020811015611c8e57600080fd5b5051905090565b60006112ee611ca2610f27565b610b46846a1a1a94ec861d5c33800000611aa6565b60008183611d435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d08578181015183820152602001611cf0565b50505050905090810190601f168015611d355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4f57fe5b0495945050505050565b60008184841115611dab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d08578181015183820152602001611cf0565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203120686f75722073696e636520636f6e7472616374206372656174696f6e20796574497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a264697066735822122032dda5f74d3b7770801e50ea0b01c7dfedf3f7e1deb6b6037b8a8be592d4619964736f6c634300060c0033
Deployed Bytecode
0x60806040526004361061014f5760003560e01c80639d2a679f116100b6578063d28de2731161006f578063d28de273146103f6578063d488ebe81461040b578063d8270dce1461043e578063e42255d814610453578063e91ed7c914610486578063ff2eba68146104b957610179565b80639d2a679f14610330578063a035b1fe14610345578063a064b44b1461035a578063b1fd674014610384578063c4fcf826146103b7578063cb43b2dd146103cc57610179565b80633a4b66f1116101085780633a4b66f114610266578063475d87331461026e5780634caacd7514610283578063677342ce146102ac5780637228cd7d146102d65780638439a5411461030657610179565b80630af88b241461017e57806312c7df73146101af57806316f9fa11146101d657806326a4e8d2146101eb57806329b83c2e1461021e5780632dd310001461025157610179565b366101795733737a250d5630b4cf539739df2c5dacb4c659f2488d14610177576101776104e5565b005b600080fd5b34801561018a57600080fd5b50610193610f18565b604080516001600160a01b039092168252519081900360200190f35b3480156101bb57600080fd5b506101c4610f27565b60408051918252519081900360200190f35b3480156101e257600080fd5b50610193610f2d565b3480156101f757600080fd5b506101776004803603602081101561020e57600080fd5b50356001600160a01b0316610f3c565b34801561022a57600080fd5b506101c46004803603602081101561024157600080fd5b50356001600160a01b0316611036565b34801561025d57600080fd5b50610193611048565b6101776104e5565b34801561027a57600080fd5b50610177611060565b34801561028f57600080fd5b506102986110da565b604080519115158252519081900360200190f35b3480156102b857600080fd5b506101c4600480360360208110156102cf57600080fd5b50356110ea565b3480156102e257600080fd5b506101c4600480360360408110156102f957600080fd5b508035906020013561113c565b34801561031257600080fd5b506101776004803603602081101561032957600080fd5b50356112f4565b34801561033c57600080fd5b506101c46113a2565b34801561035157600080fd5b506101c46113ab565b34801561036657600080fd5b506101c46004803603602081101561037d57600080fd5b5035611563565b34801561039057600080fd5b506101c4600480360360208110156103a757600080fd5b50356001600160a01b0316611591565b3480156103c357600080fd5b50610298611738565b3480156103d857600080fd5b50610177600480360360208110156103ef57600080fd5b5035611748565b34801561040257600080fd5b50610193611884565b34801561041757600080fd5b506101c46004803603602081101561042e57600080fd5b50356001600160a01b031661189c565b34801561044a57600080fd5b506101c46118d1565b34801561045f57600080fd5b506101c46004803603602081101561047657600080fd5b50356001600160a01b03166118d7565b34801561049257600080fd5b506101c4600480360360208110156104a957600080fd5b50356001600160a01b03166119c4565b3480156104c557600080fd5b50610177600480360360208110156104dc57600080fd5b503515156119df565b42600854610e1001111561052a5760405162461bcd60e51b8152600401808060200182810382526032815260200180611dd56032913960400191505060405180910390fd5b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152513391600091735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561059857600080fd5b505afa1580156105ac573d6000803e3d6000fd5b505050506040513d60208110156105c257600080fd5b50519050670e92596fd62900006105d76113ab565b101580156105ee5750600754600160b01b900460ff165b15610a3857600654604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b5051905060006107ca6107cd8402610712858002600902868602623cda2002016110ea565b038161071a57fe5b600654604080516340c10f1960e01b8152306004820152939092046024840181905291519193506001600160a01b0316916340c10f1991604480830192600092919082900301818387803b15801561077157600080fd5b505af1158015610785573d6000803e3d6000fd5b505060408051600280825260608083018452945090925090602083019080368337505060065482519293506001600160a01b0316918391506000906107c657fe5b6001600160a01b0392831660209182029290920101526007548251911690829060019081106107f157fe5b6001600160a01b039283166020918202929092018101919091526006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d6004820152602481018790529051919093169263095ea7b39260448083019391928290030181600087803b15801561086857600080fd5b505af115801561087c573d6000803e3d6000fd5b505050506040513d602081101561089257600080fd5b50506040516318cbafe560e01b81526004810183815260016024830181905273986b43323f2b8ef6ffcf459172f8d293f0904135606484018190526407b71a3f546084850181905260a060448601908152865160a48701528651737a250d5630b4cf539739df2c5dacb4c659f2488d966318cbafe5968a96958a95909490939192909160c4909101906020878101910280838360005b83811015610940578181015183820152602001610928565b505050509050019650505050505050600060405180830381600087803b15801561096957600080fd5b505af115801561097d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156109a657600080fd5b81019080805160405193929190846401000000008211156109c657600080fd5b9083019060208201858111156109db57600080fd5b82518660208202830111640100000000821117156109f857600080fd5b82525081516020918201928201910280838360005b83811015610a25578181015183820152602001610a0d565b5050505090500160405250505050505050505b600754604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a8957600080fd5b505afa158015610a9d573d6000803e3d6000fd5b505050506040513d6020811015610ab357600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610b0857600080fd5b505afa158015610b1c573d6000803e3d6000fd5b505050506040513d6020811015610b3257600080fd5b505190506000610b4c83610b464785611aa6565b90611b06565b600654604080516340c10f1960e01b81523060048201526024810184905290519293506001600160a01b03909116916340c10f199160448082019260009290919082900301818387803b158015610ba257600080fd5b505af1158015610bb6573d6000803e3d6000fd5b505050506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c0957600080fd5b505afa158015610c1d573d6000803e3d6000fd5b505050506040513d6020811015610c3357600080fd5b5051600654604080516370a0823160e01b815230600482015290519293506000926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610c8657600080fd5b505afa158015610c9a573d6000803e3d6000fd5b505050506040513d6020811015610cb057600080fd5b50516006546040805163095ea7b360e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d60048201526024810184905290519293506001600160a01b039091169163095ea7b3916044808201926020929091908290030181600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b50506006546040805163f305d71960e01b81526001600160a01b0390921660048301526024820183905260016044830181905260648301523060848301526407b71a3f5460a483015251737a250d5630b4cf539739df2c5dacb4c659f2488d9163f305d71991479160c48082019260609290919082900301818588803b158015610dd057600080fd5b505af1158015610de4573d6000803e3d6000fd5b50505050506040513d6060811015610dfb57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b038916916370a0823191602480820192602092909190829003018186803b158015610e4757600080fd5b505afa158015610e5b573d6000803e3d6000fd5b505050506040513d6020811015610e7157600080fd5b505190506000610e818285611b48565b9050610eae610e8f8a611b8a565b6001600160a01b038b1660009081526004602052604090205490611bbb565b6001600160a01b038a166000908152600460209081526040808320939093556001815282822042908190556002825283832055600390522054610ef19082611bbb565b6001600160a01b039099166000908152600360205260409020989098555050505050505050565b6007546001600160a01b031681565b60005490565b6006546001600160a01b031681565b610f44611c15565b6001600160a01b0316336001600160a01b031614610fa1576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b600754600160a81b900460ff1615611000576040805162461bcd60e51b815260206004820152601b60248201527f46756e6374696f6e2077617320616c72656164792063616c6c65640000000000604482015290519081900360640190fd5b6007805460ff60a81b1916600160a81b179055600680546001600160a01b039092166001600160a01b0319909216919091179055565b60016020526000908152604090205481565b735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f81565b611068611c15565b6001600160a01b0316336001600160a01b0316146110c5576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6007805460ff60a01b1916600160a01b179055565b600754600160a01b900460ff1690565b6000600382111561112d575080600160028204015b818110156111275780915060028182858161111657fe5b04018161111f57fe5b0490506110ff565b50611137565b8115611137575060015b919050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156111aa57600080fd5b505afa1580156111be573d6000803e3d6000fd5b505050506040513d60208110156111d457600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561122957600080fd5b505afa15801561123d573d6000803e3d6000fd5b505050506040513d602081101561125357600080fd5b5051604080516318160ddd60e01b815290519192506000916001600160a01b038516916318160ddd916004808301926020929190829003018186803b15801561129b57600080fd5b505afa1580156112af573d6000803e3d6000fd5b505050506040513d60208110156112c557600080fd5b50519050600082826002890402816112d957fe5b0490506112e7868202611563565b9450505050505b92915050565b6112fc611c15565b6001600160a01b0316336001600160a01b031614611359576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b6113616110da565b1561139d5760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b600055565b6407b71a3f5481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561141957600080fd5b505afa15801561142d573d6000803e3d6000fd5b505050506040513d602081101561144357600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d60208110156114c257600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038681166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561151757600080fd5b505afa15801561152b573d6000803e3d6000fd5b505050506040513d602081101561154157600080fd5b5051905061155b81610b46670de0b6b3a764000085611aa6565b935050505090565b60006a1a1a94ec861d5c338000006115838361157d610f27565b90611aa6565b8161158a57fe5b0492915050565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b1580156115ff57600080fd5b505afa158015611613573d6000803e3d6000fd5b505050506040513d602081101561162957600080fd5b5051600754604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b505afa158015611692573d6000803e3d6000fd5b505050506040513d60208110156116a857600080fd5b5051604080516318160ddd60e01b81529051919250611730916001600160a01b038516916318160ddd916004808301926020929190829003018186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d602081101561171b57600080fd5b5051610b46611729876119c4565b8490611aa6565b949350505050565b600754600160b01b900460ff1681565b33600090815260016020526040902054426203f480909101111561179d5760405162461bcd60e51b815260040180806020018281038252602b815260200180611e07602b913960400191505060405180910390fd5b6117bf6117a933611b8a565b3360009081526004602052604090205490611bbb565b33600090815260046020908152604080832093909355600290529081204290556117e882611c95565b336000908152600460205260409020549091506118059082611b48565b3360008181526004602081905260408083209490945560065484516340c10f1960e01b8152918201939093526024810186905292516001600160a01b03909216926340c10f19926044808301939282900301818387803b15801561186857600080fd5b505af115801561187c573d6000803e3d6000fd5b505050505050565b737a250d5630b4cf539739df2c5dacb4c659f2488d81565b60006112ee6118cc6118ad84611b8a565b6001600160a01b03851660009081526004602052604090205490611bbb565b611563565b60085481565b6006546007546040805163e6a4390560e01b81526001600160a01b039384166004820152929091166024830152516000918291735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9163e6a43905916044808301926020929190829003018186803b15801561194557600080fd5b505afa158015611959573d6000803e3d6000fd5b505050506040513d602081101561196f57600080fd5b5051600654604080516370a0823160e01b81526001600160a01b038085166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561167e57600080fd5b6001600160a01b031660009081526003602052604090205490565b6119e7611c15565b6001600160a01b0316336001600160a01b031614611a44576040805162461bcd60e51b815260206004820152601560248201527443616c6c6572206973206e6f74207072696d61727960581b604482015290519081900360640190fd5b611a4c6110da565b15611a885760405162461bcd60e51b815260040180806020018281038252602e815260200180611e32602e913960400191505060405180910390fd5b60078054911515600160b01b0260ff60b01b19909216919091179055565b600082611ab5575060006112ee565b82820282848281611ac257fe5b0414611aff5760405162461bcd60e51b8152600401808060200182810382526021815260200180611db46021913960400191505060405180910390fd5b9392505050565b6000611aff83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cb7565b6000611aff83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611d59565b6001600160a01b0381166000908152600260205260408120546112ee90611bb2904290611b48565b61157d846119c4565b600082820183811015611aff576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600073986b43323f2b8ef6ffcf459172f8d293f09041356001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6457600080fd5b505afa158015611c78573d6000803e3d6000fd5b505050506040513d6020811015611c8e57600080fd5b5051905090565b60006112ee611ca2610f27565b610b46846a1a1a94ec861d5c33800000611aa6565b60008183611d435760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d08578181015183820152602001611cf0565b50505050905090810190601f168015611d355780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581611d4f57fe5b0495945050505050565b60008184841115611dab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611d08578181015183820152602001611cf0565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77497420686173206e6f74206265656e203120686f75722073696e636520636f6e7472616374206372656174696f6e20796574497420686173206e6f74206265656e203320646179732073696e636520796f75207374616b6564207965746d616b65556e6368616e676561626c6528292066756e6374696f6e2077617320616c72656164792063616c6c6564a264697066735822122032dda5f74d3b7770801e50ea0b01c7dfedf3f7e1deb6b6037b8a8be592d4619964736f6c634300060c0033
Deployed Bytecode Sourcemap
3300:7940:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4332:10;3884:42;4332:23;4329:59;;4370:7;:5;:7::i;:::-;3300:7940;;;;;4026:69;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;4026:69:0;;;;;;;;;;;;;;4793:87;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3801:26;;;;;;;;;;;;;:::i;5130:202::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5130:202:0;-1:-1:-1;;;;;5130:202:0;;:::i;3522:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3522:47:0;-1:-1:-1;;;;;3522:47:0;;:::i;3933:86::-;;;;;;;;;;;;;:::i;6238:2124::-;;;:::i;4981:85::-;;;;;;;;;;;;;:::i;4692:89::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;5927:301;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5927:301:0;;:::i;10525:417::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10525:417:0;;;;;;;:::i;5436:182::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5436:182:0;;:::i;3428:38::-;;;;;;;;;;;;;:::i;10112:401::-;;;;;;;;;;;;;:::i;10950:137::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10950:137:0;;:::i;9358:360::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9358:360:0;-1:-1:-1;;;;;9358:360:0;;:::i;4195:31::-;;;;;;;;;;;;;:::i;8374:505::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8374:505:0;;:::i;3840:86::-;;;;;;;;;;;;;:::i;9065:158::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9065:158:0;-1:-1:-1;;;;;9065:158:0;;:::i;4239:30::-;;;;;;;;;;;;;:::i;9730:370::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9730:370:0;-1:-1:-1;;;;;9730:370:0;;:::i;9235:111::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9235:111:0;-1:-1:-1;;;;;9235:111:0;;:::i;5706:172::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5706:172:0;;;;:::i;6238:2124::-;6314:3;6288:12;;6303:7;6288:22;:29;;6280:92;;;;-1:-1:-1;;;6280:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6480:11;;6493;;6455:50;;;-1:-1:-1;;;6455:50:0;;-1:-1:-1;;;;;6480:11:0;;;6455:50;;;;6493:11;;;;6455:50;;;;;6402:10;;-1:-1:-1;;3977:42:0;;6455:24;;:50;;;;;;;;;;;;;;3977:42;6455:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6455:50:0;;-1:-1:-1;6541:13:0;6529:7;:5;:7::i;:::-;:26;;:41;;;;-1:-1:-1;6559:11:0;;-1:-1:-1;;;6559:11:0;;;;6529:41;6526:657;;;6615:11;;6608:42;;;-1:-1:-1;;;6608:42:0;;-1:-1:-1;;;;;6608:42:0;;;;;;;;;6599:6;;6615:11;;;;;6608:29;;:42;;;;;;;;;;;;;;;6615:11;6608:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6608:42:0;6700:11;;6693:42;;;-1:-1:-1;;;6693:42:0;;-1:-1:-1;;;;;6693:42:0;;;;;;;;;6608;;-1:-1:-1;6684:6:0;;6700:11;;;;;6693:29;;:42;;;;;6608;;6693;;;;;;;6700:11;6693:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6693:42:0;;-1:-1:-1;6767:6:0;6813:4;6805;:6;;6777:25;6782:5;;;:1;:5;6790:11;;;:7;:11;6782:19;6777:4;:25::i;:::-;:34;6776:41;;;;;6853:11;;6846:42;;;-1:-1:-1;;;6846:42:0;;6879:4;6846:42;;;;6776:41;;;;6846:42;;;;;;;;6776:41;;-1:-1:-1;;;;;;6853:11:0;;6846:24;;:42;;;;;6853:11;;6846:42;;;;;;;6853:11;;6846:42;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6941:16:0;;;6955:1;6941:16;;;6917:21;6941:16;;;;;6917:21;-1:-1:-1;6941:16:0;;-1:-1:-1;6955:1:0;6941:16;;;;;;;;-1:-1:-1;;6982:11:0;;6972:7;;;;-1:-1:-1;;;;;;6982:11:0;;6972:7;;-1:-1:-1;6982:11:0;;6972:7;;;;-1:-1:-1;;;;;6972:21:0;;;:7;;;;;;;;;:21;7018:11;;7008:7;;7018:11;;;7008:4;;7018:11;;7008:7;;;;;;-1:-1:-1;;;;;7008:21:0;;;:7;;;;;;;;;;:21;;;;7051:11;;7044:41;;;-1:-1:-1;;;7044:41:0;;3884:42;7044:41;;;;;;;;;;;;7051:11;;;;;7044:27;;:41;;;;;7008:7;;7044:41;;;;;7051:11;;7044:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7100:71:0;;-1:-1:-1;;;7100:71:0;;;;;;;;7144:1;7100:71;;;;;;3016:42;7100:71;;;;;;3455:11;7100:71;;;;;;;;;;;;;;;;;;;;;3884:42;;7100:40;;7141:1;;7144;7147:4;;3016:42;;3455:11;;7100:71;;;;;;;;;7044:41;7100:71;;;;;;;;-1:-1:-1;7100:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7100:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7100:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6526:657;;;;;7227:11;;7220:42;;;-1:-1:-1;;;7220:42:0;;-1:-1:-1;;;;;7220:42:0;;;;;;;;;7203:14;;7227:11;;;;;7220:29;;:42;;;;;;;;;;;;;;;7227:11;7220:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7220:42:0;7316:11;;7309:42;;;-1:-1:-1;;;7309:42:0;;-1:-1:-1;;;;;7309:42:0;;;;;;;;;7220;;-1:-1:-1;7290:16:0;;7316:11;;;;;7309:29;;:42;;;;;7220;;7309;;;;;;;7316:11;7309:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7309:42:0;;-1:-1:-1;7389:11:0;7403:55;7448:9;7404:38;:21;7309:42;7404:25;:38::i;:::-;7403:44;;:55::i;:::-;7476:11;;7469:47;;;-1:-1:-1;;;7469:47:0;;7502:4;7469:47;;;;;;;;;;;;7389:69;;-1:-1:-1;;;;;;7476:11:0;;;;7469:24;;:47;;;;;7476:11;;7469:47;;;;;;;;7476:11;;7469:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7537:26;7573:11;-1:-1:-1;;;;;7566:29:0;;7604:4;7566:44;;;;;;;;;;;;;-1:-1:-1;;;;;7566:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7566:44:0;7664:11;;7657:44;;;-1:-1:-1;;;7657:44:0;;7695:4;7657:44;;;;;;7566;;-1:-1:-1;7631:23:0;;-1:-1:-1;;;;;7664:11:0;;;;7657:29;;:44;;;;;7566;;7657;;;;;;;;7664:11;7657:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7657:44:0;7719:11;;7712:59;;;-1:-1:-1;;;7712:59:0;;3884:42;7712:59;;;;;;;;;;;;7657:44;;-1:-1:-1;;;;;;7719:11:0;;;;7712:27;;:59;;;;;7657:44;;7712:59;;;;;;;;7719:11;;7712:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7876:11:0;;7809:125;;;-1:-1:-1;;;7809:125:0;;-1:-1:-1;;;;;7876:11:0;;;7809:125;;;;;;;;;;7876:11;7809:125;;;;;;;;;;7923:4;7809:125;;;;3455:11;7809:125;;;;;3884:42;;7809:34;;7852:21;;7809:125;;;;;;;;;;;;;;;7852:21;3884:42;7809:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7809:125:0;7983:44;;-1:-1:-1;;;7983:44:0;;8021:4;7983:44;;;;;;7955:25;;-1:-1:-1;;;;;7983:29:0;;;;;:44;;;;;7809:125;;7983:44;;;;;;;;:29;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7983:44:0;;-1:-1:-1;8038:17:0;8058:47;7983:44;8083:21;8058:24;:47::i;:::-;8038:67;;8144:56;8164:35;8192:6;8164:27;:35::i;:::-;-1:-1:-1;;;;;8144:15:0;;;;;;:7;:15;;;;;;;:19;:56::i;:::-;-1:-1:-1;;;;;8126:15:0;;;;;;:7;:15;;;;;;;;:74;;;;8211:10;:18;;;;;8232:3;8211:24;;;;8246:12;:20;;;;;:26;8314:14;:22;;;;:40;;8341:12;8314:26;:40::i;:::-;-1:-1:-1;;;;;8289:22:0;;;;;;;:14;:22;;;;;:65;;;;-1:-1:-1;;;;;;;;6238:2124:0:o;4026:69::-;;;-1:-1:-1;;;;;4026:69:0;;:::o;4793:87::-;4837:4;4860:12;4793:87;:::o;3801:26::-;;;-1:-1:-1;;;;;3801:26:0;;:::o;5130:202::-;3238:9;:7;:9::i;:::-;-1:-1:-1;;;;;3224:23:0;:10;-1:-1:-1;;;;;3224:23:0;;3216:57;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;;;;5208:18:::1;::::0;-1:-1:-1;;;5208:18:0;::::1;;;5207:19;5199:59;;;::::0;;-1:-1:-1;;;5199:59:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5269:18;:25:::0;;-1:-1:-1;;;;5269:25:0::1;-1:-1:-1::0;;;5269:25:0::1;::::0;;5305:11:::1;:19:::0;;-1:-1:-1;;;;;5305:19:0;;::::1;-1:-1:-1::0;;;;;;5305:19:0;;::::1;::::0;;;::::1;::::0;;5130:202::o;3522:47::-;;;;;;;;;;;;;:::o;3933:86::-;3977:42;3933:86;:::o;4981:85::-;3238:9;:7;:9::i;:::-;-1:-1:-1;;;;;3224:23:0;:10;-1:-1:-1;;;;;3224:23:0;;3216:57;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;;;;5038:13:::1;:20:::0;;-1:-1:-1;;;;5038:20:0::1;-1:-1:-1::0;;;5038:20:0::1;::::0;;4981:85::o;4692:89::-;4760:13;;-1:-1:-1;;;4760:13:0;;;;;4692:89::o;5927:301::-;5970:6;5997:1;5993;:5;5989:232;;;-1:-1:-1;6019:1:0;6052;6048;6044:5;;:9;6068:92;6079:1;6075;:5;6068:92;;;6105:1;6101:5;;6143:1;6138;6134;6130;:5;;;;;;:9;6129:15;;;;;;6125:19;;6068:92;;;5989:232;;;;6181:6;;6177:44;;-1:-1:-1;6208:1:0;6177:44;5927:301;;;:::o;10525:417::-;10660:11;;10673;;10635:50;;;-1:-1:-1;;;10635:50:0;;-1:-1:-1;;;;;10660:11:0;;;10635:50;;;;10673:11;;;;10635:50;;;;;-1:-1:-1;;;;3977:42:0;;10635:24;;:50;;;;;;;;;;;;;;3977:42;10635:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10635:50:0;10719:11;;10712:42;;;-1:-1:-1;;;10712:42:0;;-1:-1:-1;;;;;10712:42:0;;;;;;;;;10635:50;;-1:-1:-1;10696:13:0;;10719:11;;;;;10712:29;;:42;;;;;10635:50;;10712:42;;;;;;;10719:11;10712:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10712:42:0;10797:33;;;-1:-1:-1;;;10797:33:0;;;;10712:42;;-1:-1:-1;10782:12:0;;-1:-1:-1;;;;;10797:31:0;;;;;:33;;;;;10712:42;;10797:33;;;;;;;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10797:33:0;;-1:-1:-1;10851:7:0;10879:8;10797:33;10867:1;10863:3;:5;10862:15;10861:26;;;;;;10851:36;;10915:19;10929:4;10924:2;:9;10915:8;:19::i;:::-;10908:26;;;;;;10525:417;;;;;:::o;5436:182::-;3238:9;:7;:9::i;:::-;-1:-1:-1;;;;;3224:23:0;:10;-1:-1:-1;;;;;3224:23:0;;3216:57;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;;;;5514:14:::1;:12;:14::i;:::-;5513:15;5505:74;;;;-1:-1:-1::0;;;5505:74:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5590:12;:20:::0;5436:182::o;3428:38::-;3455:11;3428:38;:::o;10112:401::-;10223:11;;10236;;10198:50;;;-1:-1:-1;;;10198:50:0;;-1:-1:-1;;;;;10223:11:0;;;10198:50;;;;10236:11;;;;10198:50;;;;;-1:-1:-1;;;;3977:42:0;;10198:24;;:50;;;;;;;;;;;;;;3977:42;10198:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10198:50:0;10293:11;;10286:42;;;-1:-1:-1;;;10286:42:0;;-1:-1:-1;;;;;10286:42:0;;;;;;;;;10198:50;;-1:-1:-1;10269:14:0;;10293:11;;;;;10286:29;;:42;;;;;10198:50;;10286:42;;;;;;;10293:11;10286:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10286:42:0;10382:11;;10375:42;;;-1:-1:-1;;;10375:42:0;;-1:-1:-1;;;;;10375:42:0;;;;;;;;;10286;;-1:-1:-1;10356:16:0;;10382:11;;;;;10375:29;;:42;;;;;10286;;10375;;;;;;;10382:11;10375:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10375:42:0;;-1:-1:-1;10464:41:0;10375:42;10465:22;3415:6;10477:9;10465:11;:22::i;10464:41::-;10457:48;;;;;10112:401;:::o;10950:137::-;11001:4;11059:18;11026:25;11044:6;11026:13;:11;:13::i;:::-;:17;;:25::i;:::-;11024:55;;;;;;;10950:137;-1:-1:-1;;10950:137:0:o;9358:360::-;9492:11;;9505;;9467:50;;;-1:-1:-1;;;9467:50:0;;-1:-1:-1;;;;;9492:11:0;;;9467:50;;;;9505:11;;;;9467:50;;;;;-1:-1:-1;;;;3977:42:0;;9467:24;;:50;;;;;;;;;;;;;;3977:42;9467:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9467:50:0;9552:11;;9545:42;;;-1:-1:-1;;;9545:42:0;;-1:-1:-1;;;;;9545:42:0;;;;;;;;;9467:50;;-1:-1:-1;9528:14:0;;9552:11;;;;;9545:29;;:42;;;;;9467:50;;9545:42;;;;;;;9552:11;9545:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9545:42:0;9676:33;;;-1:-1:-1;;;9676:33:0;;;;9545:42;;-1:-1:-1;9632:78:0;;-1:-1:-1;;;;;9676:31:0;;;;;:33;;;;;9545:42;;9676:33;;;;;;;:31;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9676:33:0;9633:37;9647:22;9665:3;9647:17;:22::i;:::-;9633:9;;:13;:37::i;9632:78::-;9625:85;9358:360;-1:-1:-1;;;;9358:360:0:o;4195:31::-;;;-1:-1:-1;;;4195:31:0;;;;;:::o;8374:505::-;8454:10;8443:22;;;;:10;:22;;;;;;8478:3;8468:6;8443:31;;;:38;;8435:94;;;;-1:-1:-1;;;8435:94:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8572:64;8596:39;8624:10;8596:27;:39::i;:::-;8580:10;8572:19;;;;:7;:19;;;;;;;:23;:64::i;:::-;8558:10;8550:19;;;;:7;:19;;;;;;;;:86;;;;8647:12;:24;;;;;8674:3;8647:30;;8718:19;8730:6;8718:11;:19::i;:::-;8778:10;8770:19;;;;:7;:19;;;;;;8698:39;;-1:-1:-1;8770:37:0;;8698:39;8770:23;:37::i;:::-;8756:10;8748:19;;;;:7;:19;;;;;;;;:59;;;;8834:11;;8827:44;;-1:-1:-1;;;8827:44:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8834:11:0;;;;8827:24;;:44;;;;;8748:19;8827:44;;;;;8748:19;8834:11;8827:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8374:505;;:::o;3840:86::-;3884:42;3840:86;:::o;9065:158::-;9130:4;9153:62;9163:50;9180:32;9208:3;9180:27;:32::i;:::-;-1:-1:-1;;;;;9163:12:0;;;;;;:7;:12;;;;;;;:16;:50::i;:::-;9153:8;:62::i;4239:30::-;;;;:::o;9730:370::-;9868:11;;9881;;9843:50;;;-1:-1:-1;;;9843:50:0;;-1:-1:-1;;;;;9868:11:0;;;9843:50;;;;9881:11;;;;9843:50;;;;;-1:-1:-1;;;;3977:42:0;;9843:24;;:50;;;;;;;;;;;;;;3977:42;9843:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9843:50:0;9930:11;;9923:42;;;-1:-1:-1;;;9923:42:0;;-1:-1:-1;;;;;9923:42:0;;;;;;;;;9843:50;;-1:-1:-1;9904:16:0;;9930:11;;;;;9923:29;;:42;;;;;9843:50;;9923:42;;;;;;;9930:11;9923:42;;;;;;;;;;9235:111;-1:-1:-1;;;;;9319:19:0;9296:4;9319:19;;;:14;:19;;;;;;;9235:111::o;5706:172::-;3238:9;:7;:9::i;:::-;-1:-1:-1;;;;;3224:23:0;:10;-1:-1:-1;;;;;3224:23:0;;3216:57;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;-1:-1:-1;;;3216:57:0;;;;;;;;;;;;;;;5775:14:::1;:12;:14::i;:::-;5774:15;5766:74;;;;-1:-1:-1::0;;;5766:74:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5851:11;:19:::0;;;::::1;;-1:-1:-1::0;;;5851:19:0::1;-1:-1:-1::0;;;;5851:19:0;;::::1;::::0;;;::::1;::::0;;5706:172::o;567:216::-;625:7;649:6;645:23;;-1:-1:-1;665:1:0;658:8;;645:23;690:5;;;694:1;690;:5;:1;714:5;;;;;:10;706:56;;;;-1:-1:-1;;;706:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;780:1;567:216;-1:-1:-1;;;567:216:0:o;791:126::-;849:7;876:39;880:1;883;876:39;;;;;;;;;;;;;;;;;:3;:39::i;237:130::-;295:7;322:43;326:1;329;322:43;;;;;;;;;;;;;;;;;:3;:43::i;8891:162::-;-1:-1:-1;;;;;9024:17:0;;8964:4;9024:17;;;:12;:17;;;;;;8988:56;;9016:26;;:3;;:7;:26::i;:::-;8988:22;9006:3;8988:17;:22::i;56:173::-;114:7;146:5;;;170:6;;;;162:46;;;;;-1:-1:-1;;;162:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3068:102;3109:7;3016:42;-1:-1:-1;;;;;3136:24:0;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3136:26:0;;-1:-1:-1;3068:102:0;:::o;11099:138::-;11153:4;11176:53;11214:13;:11;:13::i;:::-;11178:28;:4;11187:18;11178:8;:28::i;925:183::-;1011:7;1046:12;1039:5;1031:28;;;;-1:-1:-1;;;1031:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1070:9;1086:1;1082;:5;;;;;;;925:183;-1:-1:-1;;;;;925:183:0:o;375:184::-;461:7;497:12;489:6;;;;481:29;;;;-1:-1:-1;;;481:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;533:5:0;;;375:184::o
Swarm Source
ipfs://32dda5f74d3b7770801e50ea0b01c7dfedf3f7e1deb6b6037b8a8be592d46199
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.