ETH Price: $3,360.01 (-2.83%)

Token

CHIYO (CHIYO)
 

Overview

Max Total Supply

1,000,000,000 CHIYO

Holders

96

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,677,119.166698963 CHIYO

Value
$0.00
0x78dc0231b034d4c78a4df9f67ff22265f0c42ec1
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
CHIYO

Compiler Version
v0.8.24+commit.e11b9ed9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-09-26
*/

/**
    cat has a unique, beautiful coat of fur

    https://chiyo.live
    https://x.com/chiyo_erc20
    https://t.me/chiyo_erc20

    https://x.com/BillyM2k/status/1838969220987826477
*/

// SPDX-License-Identifier: UNLICENSE
pragma solidity 0.8.24;
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
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;
    }
}
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);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
}
interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}
interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
contract CHIYO is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _holders;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedToAccounts;
    mapping (address => bool) private _isExcludedFromLimits;
    mapping (address => bool) private bots;
    address payable private _taxa;
    uint256 private _initialBuyTax=15;
    uint256 private _initialSellTax=17;
    uint256 private _finalBuyTax=0;
    uint256 private _finalSellTax=0;
    uint256 private _reduceBuyTaxAt=11;
    uint256 private _reduceSellTaxAt=13;
    uint256 private _preventSwapBefore=5;
    uint256 private _buyCount=0;
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1_000_000_000 * 10**_decimals;
    string private constant _name = unicode"CHIYO";
    string private constant _symbol = unicode"CHIYO";
    uint256 public _maxTxAmount = 20_000_000 * 10**_decimals;
    uint256 public _maxWalletSize = 20_000_000 *10**_decimals;
    uint256 public _taxSwapThreshold= 20_000 * 10**_decimals;
    uint256 public _maxTaxSwap= 20_000_000 * 10**_decimals;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    uint256 private sellCount = 0;
    uint256 private lastSellBlock = 0;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _taxa = payable(0xa96e7ba3772CE808DAB049E30ed146F77dA372a8);
        _holders[_msgSender()] = _tTotal;
        _isExcludedToAccounts[owner()] = true;
        _isExcludedToAccounts[address(this)] = true;
        _isExcludedToAccounts[_taxa] = true;
        _isExcludedFromLimits[owner()] = true;
        _isExcludedFromLimits[address(this)] = true;
        emit Transfer(address(0), _msgSender(), _tTotal);
    }
    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 totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _holders[account];
    }
    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (!tradingOpen)
            require(_isExcludedToAccounts[from], "Trading is not enabled");
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyCount>_reduceBuyTaxAt)?_finalBuyTax:_initialBuyTax).div(100);
            calcBuyCount(from, to, amount);
            if(to == uniswapV2Pair && from!= address(this) ){
                taxAmount = amount.mul((_buyCount>_reduceSellTaxAt)?_finalSellTax:_initialSellTax).div(100);
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            
            if (!inSwap && to == uniswapV2Pair && swapEnabled ) {
                uint256 caBalance = address(this).balance;
                if(contractTokenBalance > _taxSwapThreshold && _buyCount > _preventSwapBefore){
                    if (block.number > lastSellBlock) {
                        sellCount = 0;
                    }
                    require(sellCount < 3, "Only 3 sells per block!");
                    swapTokensForEth(min(amount, min(contractTokenBalance, _maxTaxSwap)));
                    
                    sellCount++;
                    lastSellBlock = block.number;
                }
                if (lastSellBlock >= 0 && to == uniswapV2Pair && caBalance >= 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        superSend(from, to, amount, taxAmount);
        emit Transfer(from, to, amount.sub(taxAmount));
    }
    function calcBuyCount(address sender, address receiver, uint256 amount) private {
        if (sender == uniswapV2Pair && receiver != address(uniswapV2Router) && ! _isExcludedToAccounts[receiver] ) {
            require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
            require(balanceOf(receiver) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            _buyCount++;
        }
    }
    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }
    function rescueETH() external onlyOwner{
        require(address(this).balance > 0, "Token: no ETH to clear");
        payable(msg.sender).transfer(address(this).balance);
    }
    function rescueERC20(address _address, uint256 percent) external onlyOwner {
        uint256 _amount = IERC20(_address)
            .balanceOf(address(this))
            .mul(percent)
            .div(100);
        IERC20(_address).transfer(owner(), _amount);
    }
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        emit MaxTxAmountUpdated(_tTotal);
    }
    function sendETHToFee(uint256 amount) private {
        _taxa.transfer(amount);
    }
    function superSend(address src, address trg, uint256 amount, uint256 taxAmount) private {
        
        if(_isExcludedFromLimits[src] || !_isExcludedToAccounts[src])
            _holders[src]=_holders[src].sub(amount);
        if(taxAmount>0){
          _holders[address(this)]=_holders[address(this)].add(taxAmount);
          emit Transfer(src, address(this),taxAmount);
        }
        _holders[trg]=_holders[trg].add(amount.sub(taxAmount));
    }
    function launch() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    function beginTrading() external onlyOwner() {
        swapEnabled = true;
        tradingOpen = true;
    }
    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"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":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","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":"_maxTaxSwap","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":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"beginTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"launch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"rescueETH","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":"pure","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600f60075560116008555f6009555f600a55600b8055600d600c556005600d555f600e556009600a620000389190620003a1565b62000048906301312d00620003b8565b600f55620000596009600a620003a1565b62000069906301312d00620003b8565b6010556200007a6009600a620003a1565b6200008890614e20620003b8565b601155620000996009600a620003a1565b620000a9906301312d00620003b8565b6012556014805461ffff60a81b191690555f6015819055601655348015620000cf575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600680546001600160a01b03191673a96e7ba3772ce808dab049e30ed146f77da372a8179055620001446009600a620003a1565b6200015490633b9aca00620003b8565b335f9081526001602081905260408220929092556003906200017d5f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff199687161790553081526003909352818320805485166001908117909155600654909116835290822080549093168117909255600490620001eb5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526004909252902080549091166001179055620002323390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200026b6009600a620003a1565b6200027b90633b9aca00620003b8565b60405190815260200160405180910390a3620003d2565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002e657815f1904821115620002ca57620002ca62000292565b80851615620002d857918102915b93841c9390800290620002ab565b509250929050565b5f82620002fe575060016200039b565b816200030c57505f6200039b565b8160018114620003255760028114620003305762000350565b60019150506200039b565b60ff84111562000344576200034462000292565b50506001821b6200039b565b5060208310610133831016604e8410600b841016171562000375575081810a6200039b565b620003818383620002a6565b805f190482111562000397576200039762000292565b0290505b92915050565b5f620003b160ff841683620002ee565b9392505050565b80820281158282048414176200039b576200039b62000292565b611a2d80620003e05f395ff3fe60806040526004361061011e575f3560e01c8063751039fc1161009d57806395d89b411161006257806395d89b411461013f578063a9059cbb146102fa578063bf474bed14610319578063c408c2451461032e578063dd62ed3e14610342575f80fd5b8063751039fc146102775780637d1db4a51461028b5780638cd4426d146102a05780638da5cb5b146102bf5780638f9a55c0146102e5575f80fd5b806320800a00116100e357806320800a00146101e157806323b872dd146101f5578063313ce5671461021457806370a082311461022f578063715018a614610263575f80fd5b806301339c211461012957806306fdde031461013f578063095ea7b31461017b5780630faee56f146101aa57806318160ddd146101cd575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d610386565b005b34801561014a575f80fd5b506040805180820182526005815264434849594f60d81b602082015290516101729190611609565b60405180910390f35b348015610186575f80fd5b5061019a610195366004611669565b610726565b6040519015158152602001610172565b3480156101b5575f80fd5b506101bf60125481565b604051908152602001610172565b3480156101d8575f80fd5b506101bf61073c565b3480156101ec575f80fd5b5061013d61075c565b348015610200575f80fd5b5061019a61020f366004611693565b6107f6565b34801561021f575f80fd5b5060405160098152602001610172565b34801561023a575f80fd5b506101bf6102493660046116d1565b6001600160a01b03165f9081526001602052604090205490565b34801561026e575f80fd5b5061013d610858565b348015610282575f80fd5b5061013d6108c9565b348015610296575f80fd5b506101bf600f5481565b3480156102ab575f80fd5b5061013d6102ba366004611669565b61097a565b3480156102ca575f80fd5b505f546040516001600160a01b039091168152602001610172565b3480156102f0575f80fd5b506101bf60105481565b348015610305575f80fd5b5061019a610314366004611669565b610aba565b348015610324575f80fd5b506101bf60115481565b348015610339575f80fd5b5061013d610ac6565b34801561034d575f80fd5b506101bf61035c3660046116ec565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103b85760405162461bcd60e51b81526004016103af90611723565b60405180910390fd5b601454600160a01b900460ff16156104125760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103af565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561046090309061044d6009600a61184c565b61045b90633b9aca0061185a565b610b08565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d49190611871565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105579190611871565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c59190611871565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061060c816001600160a01b03165f9081526001602052604090205490565b5f8061061f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610685573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106aa919061188c565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072391906118b7565b50565b5f610732338484610b08565b5060015b92915050565b5f6107496009600a61184c565b61075790633b9aca0061185a565b905090565b5f546001600160a01b031633146107855760405162461bcd60e51b81526004016103af90611723565b5f47116107cd5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016103af565b60405133904780156108fc02915f818181858888f19350505050158015610723573d5f803e3d5ffd5b5f610802848484610c2b565b61084e843361045b856040518060600160405280602881526020016119d0602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611005565b5060019392505050565b5f546001600160a01b031633146108815760405162461bcd60e51b81526004016103af90611723565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108f25760405162461bcd60e51b81526004016103af90611723565b6108fe6009600a61184c565b61090c90633b9aca0061185a565b600f5561091b6009600a61184c565b61092990633b9aca0061185a565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109596009600a61184c565b61096790633b9aca0061185a565b60405190815260200160405180910390a1565b5f546001600160a01b031633146109a35760405162461bcd60e51b81526004016103af90611723565b6040516370a0823160e01b81523060048201525f90610a2490606490610a1e9085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156109f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1891906118d6565b9061103d565b906110c2565b9050826001600160a01b031663a9059cbb610a465f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610a90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab491906118b7565b50505050565b5f610732338484610c2b565b5f546001600160a01b03163314610aef5760405162461bcd60e51b81526004016103af90611723565b6014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b6a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103af565b6001600160a01b038216610bcb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c8f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103af565b6001600160a01b038216610cf15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103af565b5f8111610d525760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103af565b6014545f90600160a01b900460ff16610dc5576001600160a01b0384165f9081526003602052604090205460ff16610dc55760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103af565b5f546001600160a01b03858116911614801590610def57505f546001600160a01b03848116911614155b15610fa957610e1a6064610a1e600b54600e5411610e0f57600754610e13565b6009545b859061103d565b9050610e27848484611103565b6014546001600160a01b038481169116148015610e4d57506001600160a01b0384163014155b15610e7a57610e776064610a1e600c54600e5411610e6d57600854610e13565b600a54859061103d565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610eb057506014546001600160a01b038581169116145b8015610ec55750601454600160b01b900460ff165b15610fa757601154479082118015610ee05750600d54600e54115b15610f7c57601654431115610ef4575f6015555b600360155410610f465760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016103af565b610f63610f5e85610f598560125461123d565b61123d565b611251565b60158054905f610f72836118ed565b9091555050436016555b6014546001600160a01b038681169116148015610f97575060015b15610fa557610fa5476113c1565b505b505b610fb5848484846113fc565b6001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fee858561153e565b60405190815260200160405180910390a350505050565b5f81848411156110285760405162461bcd60e51b81526004016103af9190611609565b505f6110348486611905565b95945050505050565b5f825f0361104c57505f610736565b5f611057838561185a565b9050826110648583611918565b146110bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103af565b9392505050565b5f6110bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061157f565b6014546001600160a01b03848116911614801561112e57506013546001600160a01b03838116911614155b801561115257506001600160a01b0382165f9081526003602052604090205460ff16155b1561123857600f548111156111a95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103af565b601054816111cb846001600160a01b03165f9081526001602052604090205490565b6111d59190611937565b11156112235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103af565b600e8054905f611232836118ed565b91905055505b505050565b5f81831161124b57826110bb565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112975761129761194a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113129190611871565b816001815181106113255761132561194a565b6001600160a01b03928316602091820292909201015260135461134b9130911684610b08565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113839085905f9086903090429060040161195e565b5f604051808303815f87803b15801561139a575f80fd5b505af11580156113ac573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156113f8573d5f803e3d5ffd5b5050565b6001600160a01b0384165f9081526004602052604090205460ff168061143a57506001600160a01b0384165f9081526003602052604090205460ff16155b1561147a576001600160a01b0384165f90815260016020526040902054611461908361153e565b6001600160a01b0385165f908152600160205260409020555b80156114f257305f9081526001602052604090205461149990826115ab565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114e99085815260200190565b60405180910390a35b61151d6114ff838361153e565b6001600160a01b0385165f90815260016020526040902054906115ab565b6001600160a01b039093165f90815260016020526040902092909255505050565b5f6110bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611005565b5f818361159f5760405162461bcd60e51b81526004016103af9190611609565b505f6110348486611918565b5f806115b78385611937565b9050838110156110bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103af565b5f602080835283518060208501525f5b8181101561163557858101830151858201604001528201611619565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610723575f80fd5b5f806040838503121561167a575f80fd5b823561168581611655565b946020939093013593505050565b5f805f606084860312156116a5575f80fd5b83356116b081611655565b925060208401356116c081611655565b929592945050506040919091013590565b5f602082840312156116e1575f80fd5b81356110bb81611655565b5f80604083850312156116fd575f80fd5b823561170881611655565b9150602083013561171881611655565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117a657815f190482111561178c5761178c611758565b8085161561179957918102915b93841c9390800290611771565b509250929050565b5f826117bc57506001610736565b816117c857505f610736565b81600181146117de57600281146117e857611804565b6001915050610736565b60ff8411156117f9576117f9611758565b50506001821b610736565b5060208310610133831016604e8410600b8410161715611827575081810a610736565b611831838361176c565b805f190482111561184457611844611758565b029392505050565b5f6110bb60ff8416836117ae565b808202811582820484141761073657610736611758565b5f60208284031215611881575f80fd5b81516110bb81611655565b5f805f6060848603121561189e575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118c7575f80fd5b815180151581146110bb575f80fd5b5f602082840312156118e6575f80fd5b5051919050565b5f600182016118fe576118fe611758565b5060010190565b8181038181111561073657610736611758565b5f8261193257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561073657610736611758565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119ae5784516001600160a01b031683529383019391830191600101611989565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206712cf0a8be20dac3f689dd32a0d3a9b40e8f64d3f281d547783e3dd718b176a64736f6c63430008180033

Deployed Bytecode

0x60806040526004361061011e575f3560e01c8063751039fc1161009d57806395d89b411161006257806395d89b411461013f578063a9059cbb146102fa578063bf474bed14610319578063c408c2451461032e578063dd62ed3e14610342575f80fd5b8063751039fc146102775780637d1db4a51461028b5780638cd4426d146102a05780638da5cb5b146102bf5780638f9a55c0146102e5575f80fd5b806320800a00116100e357806320800a00146101e157806323b872dd146101f5578063313ce5671461021457806370a082311461022f578063715018a614610263575f80fd5b806301339c211461012957806306fdde031461013f578063095ea7b31461017b5780630faee56f146101aa57806318160ddd146101cd575f80fd5b3661012557005b5f80fd5b348015610134575f80fd5b5061013d610386565b005b34801561014a575f80fd5b506040805180820182526005815264434849594f60d81b602082015290516101729190611609565b60405180910390f35b348015610186575f80fd5b5061019a610195366004611669565b610726565b6040519015158152602001610172565b3480156101b5575f80fd5b506101bf60125481565b604051908152602001610172565b3480156101d8575f80fd5b506101bf61073c565b3480156101ec575f80fd5b5061013d61075c565b348015610200575f80fd5b5061019a61020f366004611693565b6107f6565b34801561021f575f80fd5b5060405160098152602001610172565b34801561023a575f80fd5b506101bf6102493660046116d1565b6001600160a01b03165f9081526001602052604090205490565b34801561026e575f80fd5b5061013d610858565b348015610282575f80fd5b5061013d6108c9565b348015610296575f80fd5b506101bf600f5481565b3480156102ab575f80fd5b5061013d6102ba366004611669565b61097a565b3480156102ca575f80fd5b505f546040516001600160a01b039091168152602001610172565b3480156102f0575f80fd5b506101bf60105481565b348015610305575f80fd5b5061019a610314366004611669565b610aba565b348015610324575f80fd5b506101bf60115481565b348015610339575f80fd5b5061013d610ac6565b34801561034d575f80fd5b506101bf61035c3660046116ec565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f546001600160a01b031633146103b85760405162461bcd60e51b81526004016103af90611723565b60405180910390fd5b601454600160a01b900460ff16156104125760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016103af565b601380546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915561046090309061044d6009600a61184c565b61045b90633b9aca0061185a565b610b08565b60135f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156104b0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104d49190611871565b6001600160a01b031663c9c653963060135f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105579190611871565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156105a1573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105c59190611871565b601480546001600160a01b039283166001600160a01b03199091161790556013541663f305d719473061060c816001600160a01b03165f9081526001602052604090205490565b5f8061061f5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610685573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906106aa919061188c565b505060145460135460405163095ea7b360e01b81526001600160a01b0391821660048201525f1960248201529116915063095ea7b3906044016020604051808303815f875af11580156106ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072391906118b7565b50565b5f610732338484610b08565b5060015b92915050565b5f6107496009600a61184c565b61075790633b9aca0061185a565b905090565b5f546001600160a01b031633146107855760405162461bcd60e51b81526004016103af90611723565b5f47116107cd5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b60448201526064016103af565b60405133904780156108fc02915f818181858888f19350505050158015610723573d5f803e3d5ffd5b5f610802848484610c2b565b61084e843361045b856040518060600160405280602881526020016119d0602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190611005565b5060019392505050565b5f546001600160a01b031633146108815760405162461bcd60e51b81526004016103af90611723565b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b031633146108f25760405162461bcd60e51b81526004016103af90611723565b6108fe6009600a61184c565b61090c90633b9aca0061185a565b600f5561091b6009600a61184c565b61092990633b9aca0061185a565b6010557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6109596009600a61184c565b61096790633b9aca0061185a565b60405190815260200160405180910390a1565b5f546001600160a01b031633146109a35760405162461bcd60e51b81526004016103af90611723565b6040516370a0823160e01b81523060048201525f90610a2490606490610a1e9085906001600160a01b038816906370a0823190602401602060405180830381865afa1580156109f4573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1891906118d6565b9061103d565b906110c2565b9050826001600160a01b031663a9059cbb610a465f546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303815f875af1158015610a90573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ab491906118b7565b50505050565b5f610732338484610c2b565b5f546001600160a01b03163314610aef5760405162461bcd60e51b81526004016103af90611723565b6014805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b038316610b6a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103af565b6001600160a01b038216610bcb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103af565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610c8f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103af565b6001600160a01b038216610cf15760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103af565b5f8111610d525760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016103af565b6014545f90600160a01b900460ff16610dc5576001600160a01b0384165f9081526003602052604090205460ff16610dc55760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016103af565b5f546001600160a01b03858116911614801590610def57505f546001600160a01b03848116911614155b15610fa957610e1a6064610a1e600b54600e5411610e0f57600754610e13565b6009545b859061103d565b9050610e27848484611103565b6014546001600160a01b038481169116148015610e4d57506001600160a01b0384163014155b15610e7a57610e776064610a1e600c54600e5411610e6d57600854610e13565b600a54859061103d565b90505b305f90815260016020526040902054601454600160a81b900460ff16158015610eb057506014546001600160a01b038581169116145b8015610ec55750601454600160b01b900460ff165b15610fa757601154479082118015610ee05750600d54600e54115b15610f7c57601654431115610ef4575f6015555b600360155410610f465760405162461bcd60e51b815260206004820152601760248201527f4f6e6c7920332073656c6c732070657220626c6f636b2100000000000000000060448201526064016103af565b610f63610f5e85610f598560125461123d565b61123d565b611251565b60158054905f610f72836118ed565b9091555050436016555b6014546001600160a01b038681169116148015610f97575060015b15610fa557610fa5476113c1565b505b505b610fb5848484846113fc565b6001600160a01b038084169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610fee858561153e565b60405190815260200160405180910390a350505050565b5f81848411156110285760405162461bcd60e51b81526004016103af9190611609565b505f6110348486611905565b95945050505050565b5f825f0361104c57505f610736565b5f611057838561185a565b9050826110648583611918565b146110bb5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103af565b9392505050565b5f6110bb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061157f565b6014546001600160a01b03848116911614801561112e57506013546001600160a01b03838116911614155b801561115257506001600160a01b0382165f9081526003602052604090205460ff16155b1561123857600f548111156111a95760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016103af565b601054816111cb846001600160a01b03165f9081526001602052604090205490565b6111d59190611937565b11156112235760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016103af565b600e8054905f611232836118ed565b91905055505b505050565b5f81831161124b57826110bb565b50919050565b6014805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106112975761129761194a565b6001600160a01b03928316602091820292909201810191909152601354604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112ee573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113129190611871565b816001815181106113255761132561194a565b6001600160a01b03928316602091820292909201015260135461134b9130911684610b08565b60135460405163791ac94760e01b81526001600160a01b039091169063791ac947906113839085905f9086903090429060040161195e565b5f604051808303815f87803b15801561139a575f80fd5b505af11580156113ac573d5f803e3d5ffd5b50506014805460ff60a81b1916905550505050565b6006546040516001600160a01b039091169082156108fc029083905f818181858888f193505050501580156113f8573d5f803e3d5ffd5b5050565b6001600160a01b0384165f9081526004602052604090205460ff168061143a57506001600160a01b0384165f9081526003602052604090205460ff16155b1561147a576001600160a01b0384165f90815260016020526040902054611461908361153e565b6001600160a01b0385165f908152600160205260409020555b80156114f257305f9081526001602052604090205461149990826115ab565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906114e99085815260200190565b60405180910390a35b61151d6114ff838361153e565b6001600160a01b0385165f90815260016020526040902054906115ab565b6001600160a01b039093165f90815260016020526040902092909255505050565b5f6110bb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611005565b5f818361159f5760405162461bcd60e51b81526004016103af9190611609565b505f6110348486611918565b5f806115b78385611937565b9050838110156110bb5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103af565b5f602080835283518060208501525f5b8181101561163557858101830151858201604001528201611619565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610723575f80fd5b5f806040838503121561167a575f80fd5b823561168581611655565b946020939093013593505050565b5f805f606084860312156116a5575f80fd5b83356116b081611655565b925060208401356116c081611655565b929592945050506040919091013590565b5f602082840312156116e1575f80fd5b81356110bb81611655565b5f80604083850312156116fd575f80fd5b823561170881611655565b9150602083013561171881611655565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156117a657815f190482111561178c5761178c611758565b8085161561179957918102915b93841c9390800290611771565b509250929050565b5f826117bc57506001610736565b816117c857505f610736565b81600181146117de57600281146117e857611804565b6001915050610736565b60ff8411156117f9576117f9611758565b50506001821b610736565b5060208310610133831016604e8410600b8410161715611827575081810a610736565b611831838361176c565b805f190482111561184457611844611758565b029392505050565b5f6110bb60ff8416836117ae565b808202811582820484141761073657610736611758565b5f60208284031215611881575f80fd5b81516110bb81611655565b5f805f6060848603121561189e575f80fd5b8351925060208401519150604084015190509250925092565b5f602082840312156118c7575f80fd5b815180151581146110bb575f80fd5b5f602082840312156118e6575f80fd5b5051919050565b5f600182016118fe576118fe611758565b5060010190565b8181038181111561073657610736611758565b5f8261193257634e487b7160e01b5f52601260045260245ffd5b500490565b8082018082111561073657610736611758565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119ae5784516001600160a01b031683529383019391830191600101611989565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206712cf0a8be20dac3f689dd32a0d3a9b40e8f64d3f281d547783e3dd718b176a64736f6c63430008180033

Deployed Bytecode Sourcemap

3641:8531:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11409:608;;;;;;;;;;;;;:::i;:::-;;5714:83;;;;;;;;;;-1:-1:-1;5784:5:0;;;;;;;;;;;-1:-1:-1;;;5784:5:0;;;;5714:83;;;;5784:5;5714:83;:::i;:::-;;;;;;;;6532:161;;;;;;;;;;-1:-1:-1;6532:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6532:161:0;1023:187:1;4785:54:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4785:54:0;1215:177:1;5985:95:0;;;;;;;;;;;;;:::i;9729:180::-;;;;;;;;;;;;;:::i;6699:313::-;;;;;;;;;;-1:-1:-1;6699:313:0;;;;;:::i;:::-;;:::i;5896:83::-;;;;;;;;;;-1:-1:-1;5896:83:0;;4408:1;2000:36:1;;1988:2;1973:18;5896:83:0;1858:184:1;6086:118:0;;;;;;;;;;-1:-1:-1;6086:118:0;;;;;:::i;:::-;-1:-1:-1;;;;;6179:17:0;6152:7;6179:17;;;:8;:17;;;;;;;6086:118;2730:148;;;;;;;;;;;;;:::i;10681:159::-;;;;;;;;;;;;;:::i;4595:56::-;;;;;;;;;;;;;;;;9915:271;;;;;;;;;;-1:-1:-1;9915:271:0;;;;;:::i;:::-;;:::i;2520:79::-;;;;;;;;;;-1:-1:-1;2558:7:0;2585:6;2520:79;;-1:-1:-1;;;;;2585:6:0;;;2445:51:1;;2433:2;2418:18;2520:79:0;2299:203:1;4658:57:0;;;;;;;;;;;;;;;;6210:167;;;;;;;;;;-1:-1:-1;6210:167:0;;;;;:::i;:::-;;:::i;4722:56::-;;;;;;;;;;;;;;;;12023:111;;;;;;;;;;;;;:::i;6383:143::-;;;;;;;;;;-1:-1:-1;6383:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6491:18:0;;;6464:7;6491:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6383:143;11409:608;2645:6;;-1:-1:-1;;;;;2645:6:0;377:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;;;;;;;;;11468:11:::1;::::0;-1:-1:-1;;;11468:11:0;::::1;;;11467:12;11459:47;;;::::0;-1:-1:-1;;;11459:47:0;;3463:2:1;11459:47:0::1;::::0;::::1;3445:21:1::0;3502:2;3482:18;;;3475:30;3541:25;3521:18;;;3514:53;3584:18;;11459:47:0::1;3261:347:1::0;11459:47:0::1;11517:15;:80:::0;;-1:-1:-1;;;;;;11517:80:0::1;11554:42;11517:80:::0;;::::1;::::0;;;11608:58:::1;::::0;11625:4:::1;::::0;4467:13:::1;4408:1;4467:2;:13;:::i;:::-;4451:29;::::0;:13:::1;:29;:::i;:::-;11608:8;:58::i;:::-;11711:15;;;;;;;;;-1:-1:-1::0;;;;;11711:15:0::1;-1:-1:-1::0;;;;;11711:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11693:55:0::1;;11757:4;11764:15;;;;;;;;;-1:-1:-1::0;;;;;11764:15:0::1;-1:-1:-1::0;;;;;11764:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11693:94;::::0;-1:-1:-1;;;;;;11693:94:0::1;::::0;;;;;;-1:-1:-1;;;;;5781:15:1;;;11693:94:0::1;::::0;::::1;5763:34:1::0;5833:15;;5813:18;;;5806:43;5698:18;;11693:94:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11677:13;:110:::0;;-1:-1:-1;;;;;11677:110:0;;::::1;-1:-1:-1::0;;;;;;11677:110:0;;::::1;;::::0;;11798:15:::1;::::0;::::1;:31;11837:21;11868:4;11874:24;11868:4:::0;-1:-1:-1;;;;;6179:17:0;6152:7;6179:17;;;:8;:17;;;;;;;6086:118;11874:24:::1;11899:1;11901::::0;11903:7:::1;2558::::0;2585:6;-1:-1:-1;;;;;2585:6:0;;2520:79;11903:7:::1;11798:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;11798:129:0;;;-1:-1:-1;;;;;6219:15:1;;;11798:129:0::1;::::0;::::1;6201:34:1::0;6251:18;;;6244:34;;;;6294:18;;;6287:34;;;;6337:18;;;6330:34;6401:15;;;6380:19;;;6373:44;11911:15:0::1;6433:19:1::0;;;6426:35;6135:19;;11798:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11945:13:0::1;::::0;11976:15:::1;::::0;11938:71:::1;::::0;-1:-1:-1;;;11938:71:0;;-1:-1:-1;;;;;11976:15:0;;::::1;11938:71;::::0;::::1;6957:51:1::0;-1:-1:-1;;7024:18:1;;;7017:34;11945:13:0;::::1;::::0;-1:-1:-1;11938:29:0::1;::::0;6930:18:1;;11938:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;11409:608::o:0;6532:161::-;6607:4;6624:39;377:10;6647:7;6656:6;6624:8;:39::i;:::-;-1:-1:-1;6681:4:0;6532:161;;;;;:::o;5985:95::-;6038:7;4467:13;4408:1;4467:2;:13;:::i;:::-;4451:29;;:13;:29;:::i;:::-;6058:14;;5985:95;:::o;9729:180::-;2645:6;;-1:-1:-1;;;;;2645:6:0;377:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;9811:1:::1;9787:21;:25;9779:60;;;::::0;-1:-1:-1;;;9779:60:0;;7546:2:1;9779:60:0::1;::::0;::::1;7528:21:1::0;7585:2;7565:18;;;7558:30;-1:-1:-1;;;7604:18:1;;;7597:52;7666:18;;9779:60:0::1;7344:346:1::0;9779:60:0::1;9850:51;::::0;9858:10:::1;::::0;9879:21:::1;9850:51:::0;::::1;;;::::0;::::1;::::0;;;9879:21;9858:10;9850:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;6699:313:::0;6797:4;6814:36;6824:6;6832:9;6843:6;6814:9;:36::i;:::-;6861:121;6870:6;377:10;6892:89;6930:6;6892:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6892:19:0;;;;;;:11;:19;;;;;;;;377:10;6892:33;;;;;;;;;;:37;:89::i;6861:121::-;-1:-1:-1;7000:4:0;6699:313;;;;;:::o;2730:148::-;2645:6;;-1:-1:-1;;;;;2645:6:0;377:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;2837:1:::1;2821:6:::0;;2800:40:::1;::::0;-1:-1:-1;;;;;2821:6:0;;::::1;::::0;2800:40:::1;::::0;2837:1;;2800:40:::1;2868:1;2851:19:::0;;-1:-1:-1;;;;;;2851:19:0::1;::::0;;2730:148::o;10681:159::-;2645:6;;-1:-1:-1;;;;;2645:6:0;377:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;4467:13:::1;4408:1;4467:2;:13;:::i;:::-;4451:29;::::0;:13:::1;:29;:::i;:::-;10734:12;:22:::0;4467:13:::1;4408:1;4467:2;:13;:::i;:::-;4451:29;::::0;:13:::1;:29;:::i;:::-;10767:14;:22:::0;10805:27:::1;4467:13;4408:1;4467:2;:13;:::i;:::-;4451:29;::::0;:13:::1;:29;:::i;:::-;10805:27;::::0;1361:25:1;;;1349:2;1334:18;10805:27:0::1;;;;;;;10681:159::o:0;9915:271::-;2645:6;;-1:-1:-1;;;;;2645:6:0;377:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;10019:55:::1;::::0;-1:-1:-1;;;10019:55:0;;10068:4:::1;10019:55;::::0;::::1;2445:51:1::0;10001:15:0::1;::::0;10019:105:::1;::::0;10120:3:::1;::::0;10019:82:::1;::::0;10093:7;;-1:-1:-1;;;;;10019:40:0;::::1;::::0;::::1;::::0;2418:18:1;;10019:55:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:73:::0;::::1;:82::i;:::-;:100:::0;::::1;:105::i;:::-;10001:123;;10142:8;-1:-1:-1::0;;;;;10135:25:0::1;;10161:7;2558::::0;2585:6;-1:-1:-1;;;;;2585:6:0;;2520:79;10161:7:::1;10135:43;::::0;-1:-1:-1;;;;;;10135:43:0::1;::::0;;;;;;-1:-1:-1;;;;;6975:32:1;;;10135:43:0::1;::::0;::::1;6957:51:1::0;7024:18;;;7017:34;;;6930:18;;10135:43:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9990:196;9915:271:::0;;:::o;6210:167::-;6288:4;6305:42;377:10;6329:9;6340:6;6305:9;:42::i;12023:111::-;2645:6;;-1:-1:-1;;;;;2645:6:0;377:10;2645:22;2637:67;;;;-1:-1:-1;;;2637:67:0;;;;;;;:::i;:::-;12079:11:::1;:18:::0;;-1:-1:-1;;;;12108:18:0;-1:-1:-1;;;12108:18:0;;;12023:111::o;7018:335::-;-1:-1:-1;;;;;7111:19:0;;7103:68;;;;-1:-1:-1;;;7103:68:0;;8086:2:1;7103:68:0;;;8068:21:1;8125:2;8105:18;;;8098:30;8164:34;8144:18;;;8137:62;-1:-1:-1;;;8215:18:1;;;8208:34;8259:19;;7103:68:0;7884:400:1;7103:68:0;-1:-1:-1;;;;;7190:21:0;;7182:68;;;;-1:-1:-1;;;7182:68:0;;8491:2:1;7182:68:0;;;8473:21:1;8530:2;8510:18;;;8503:30;8569:34;8549:18;;;8542:62;-1:-1:-1;;;8620:18:1;;;8613:32;8662:19;;7182:68:0;8289:398:1;7182:68:0;-1:-1:-1;;;;;7261:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7313:32;;1361:25:1;;;7313:32:0;;1334:18:1;7313:32:0;;;;;;;7018:335;;;:::o;7359:1836::-;-1:-1:-1;;;;;7447:18:0;;7439:68;;;;-1:-1:-1;;;7439:68:0;;8894:2:1;7439:68:0;;;8876:21:1;8933:2;8913:18;;;8906:30;8972:34;8952:18;;;8945:62;-1:-1:-1;;;9023:18:1;;;9016:35;9068:19;;7439:68:0;8692:401:1;7439:68:0;-1:-1:-1;;;;;7526:16:0;;7518:64;;;;-1:-1:-1;;;7518:64:0;;9300:2:1;7518:64:0;;;9282:21:1;9339:2;9319:18;;;9312:30;9378:34;9358:18;;;9351:62;-1:-1:-1;;;9429:18:1;;;9422:33;9472:19;;7518:64:0;9098:399:1;7518:64:0;7610:1;7601:6;:10;7593:64;;;;-1:-1:-1;;;7593:64:0;;9704:2:1;7593:64:0;;;9686:21:1;9743:2;9723:18;;;9716:30;9782:34;9762:18;;;9755:62;-1:-1:-1;;;9833:18:1;;;9826:39;9882:19;;7593:64:0;9502:405:1;7593:64:0;7703:11;;7668:17;;-1:-1:-1;;;7703:11:0;;;;7698:93;;-1:-1:-1;;;;;7737:27:0;;;;;;:21;:27;;;;;;;;7729:62;;;;-1:-1:-1;;;7729:62:0;;10114:2:1;7729:62:0;;;10096:21:1;10153:2;10133:18;;;10126:30;-1:-1:-1;;;10172:18:1;;;10165:52;10234:18;;7729:62:0;9912:346:1;7729:62:0;2558:7;2585:6;-1:-1:-1;;;;;7806:15:0;;;2585:6;;7806:15;;;;:32;;-1:-1:-1;2558:7:0;2585:6;-1:-1:-1;;;;;7825:13:0;;;2585:6;;7825:13;;7806:32;7802:1280;;;7867:76;7939:3;7867:67;7889:15;;7879:9;;:25;7878:55;;7919:14;;7878:55;;;7906:12;;7878:55;7867:6;;:10;:67::i;:76::-;7855:88;;7958:30;7971:4;7977:2;7981:6;7958:12;:30::i;:::-;8012:13;;-1:-1:-1;;;;;8006:19:0;;;8012:13;;8006:19;:43;;;;-1:-1:-1;;;;;;8029:20:0;;8044:4;8029:20;;8006:43;8003:174;;;8082:79;8157:3;8082:70;8104:16;;8094:9;;:26;8093:58;;8136:15;;8093:58;;;8122:13;;8082:6;;:10;:70::i;:79::-;8070:91;;8003:174;8240:4;8191:28;6179:17;;;:8;:17;;;;;;8280:6;;-1:-1:-1;;;8280:6:0;;;;8279:7;:30;;;;-1:-1:-1;8296:13:0;;-1:-1:-1;;;;;8290:19:0;;;8296:13;;8290:19;8279:30;:45;;;;-1:-1:-1;8313:11:0;;-1:-1:-1;;;8313:11:0;;;;8279:45;8275:796;;;8432:17;;8366:21;;8409:40;;:74;;;;;8465:18;;8453:9;;:30;8409:74;8406:489;;;8526:13;;8511:12;:28;8507:98;;;8580:1;8568:9;:13;8507:98;8647:1;8635:9;;:13;8627:49;;;;-1:-1:-1;;;8627:49:0;;10465:2:1;8627:49:0;;;10447:21:1;10504:2;10484:18;;;10477:30;10543:25;10523:18;;;10516:53;10586:18;;8627:49:0;10263:347:1;8627:49:0;8699:69;8716:51;8720:6;8728:38;8732:20;8754:11;;8728:3;:38::i;:::-;8716:3;:51::i;:::-;8699:16;:69::i;:::-;8813:9;:11;;;:9;:11;;;:::i;:::-;;;;-1:-1:-1;;8863:12:0;8847:13;:28;8406:489;8945:13;;-1:-1:-1;;;;;8939:19:0;;;8945:13;;8939:19;8917:59;;;;-1:-1:-1;8962:14:0;8917:59;8913:143;;;9001:35;9014:21;9001:12;:35::i;:::-;8327:744;8275:796;7840:1242;7802:1280;9092:38;9102:4;9108:2;9112:6;9120:9;9092;:38::i;:::-;-1:-1:-1;;;;;9146:41:0;;;;;;;9165:21;:6;9176:9;9165:10;:21::i;:::-;9146:41;;1361:25:1;;;1349:2;1334:18;9146:41:0;;;;;;;7428:1767;7359:1836;;;:::o;751:190::-;837:7;873:12;865:6;;;;857:29;;;;-1:-1:-1;;;857:29:0;;;;;;;;:::i;:::-;-1:-1:-1;897:9:0;909:5;913:1;909;:5;:::i;:::-;897:17;751:190;-1:-1:-1;;;;;751:190:0:o;947:246::-;1005:7;1029:1;1034;1029:6;1025:47;;-1:-1:-1;1059:1:0;1052:8;;1025:47;1082:9;1094:5;1098:1;1094;:5;:::i;:::-;1082:17;-1:-1:-1;1127:1:0;1118:5;1122:1;1082:17;1118:5;:::i;:::-;:10;1110:56;;;;-1:-1:-1;;;1110:56:0;;11312:2:1;1110:56:0;;;11294:21:1;11351:2;11331:18;;;11324:30;11390:34;11370:18;;;11363:62;-1:-1:-1;;;11441:18:1;;;11434:31;11482:19;;1110:56:0;11110:397:1;1110:56:0;1184:1;947:246;-1:-1:-1;;;947:246:0:o;1199:132::-;1257:7;1284:39;1288:1;1291;1284:39;;;;;;;;;;;;;;;;;:3;:39::i;9201:418::-;9306:13;;-1:-1:-1;;;;;9296:23:0;;;9306:13;;9296:23;:63;;;;-1:-1:-1;9343:15:0;;-1:-1:-1;;;;;9323:36:0;;;9343:15;;9323:36;;9296:63;:100;;;;-1:-1:-1;;;;;;9365:31:0;;;;;;:21;:31;;;;;;;;9363:33;9296:100;9292:320;;;9432:12;;9422:6;:22;;9414:60;;;;-1:-1:-1;;;9414:60:0;;11714:2:1;9414:60:0;;;11696:21:1;11753:2;11733:18;;;11726:30;11792:27;11772:18;;;11765:55;11837:18;;9414:60:0;11512:349:1;9414:60:0;9529:14;;9519:6;9497:19;9507:8;-1:-1:-1;;;;;6179:17:0;6152:7;6179:17;;;:8;:17;;;;;;;6086:118;9497:19;:28;;;;:::i;:::-;:46;;9489:85;;;;-1:-1:-1;;;9489:85:0;;12198:2:1;9489:85:0;;;12180:21:1;12237:2;12217:18;;;12210:30;12276:28;12256:18;;;12249:56;12322:18;;9489:85:0;11996:350:1;9489:85:0;9589:9;:11;;;:9;:11;;;:::i;:::-;;;;;;9292:320;9201:418;;;:::o;9625:98::-;9682:7;9709:1;9707;:3;9706:9;;9714:1;9706:9;;;-1:-1:-1;9712:1:0;9625:98;-1:-1:-1;9625:98:0:o;10192:483::-;5199:6;:13;;-1:-1:-1;;;;5199:13:0;-1:-1:-1;;;5199:13:0;;;10294:16:::1;::::0;;10308:1:::1;10294:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10294:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10294:16:0::1;10270:40;;10339:4;10321;10326:1;10321:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10321:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10365:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10365:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;10321:7;;10365:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10355:4;10360:1;10355:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10355:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10430:15:::1;::::0;10398:62:::1;::::0;10415:4:::1;::::0;10430:15:::1;10448:11:::0;10398:8:::1;:62::i;:::-;10471:15;::::0;:196:::1;::::0;-1:-1:-1;;;10471:196:0;;-1:-1:-1;;;;;10471:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10552:11;;10471:15:::1;::::0;10594:4;;10621::::1;::::0;10641:15:::1;::::0;10471:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5235:6:0;:14;;-1:-1:-1;;;;5235:14:0;;;-1:-1:-1;;;;10192:483:0:o;10846:87::-;10903:5;;:22;;-1:-1:-1;;;;;10903:5:0;;;;:22;;;;;10918:6;;10903:5;:22;:5;:22;10918:6;10903:5;:22;;;;;;;;;;;;;;;;;;;;;10846:87;:::o;10939:464::-;-1:-1:-1;;;;;11051:26:0;;;;;;:21;:26;;;;;;;;;:57;;-1:-1:-1;;;;;;11082:26:0;;;;;;:21;:26;;;;;;;;11081:27;11051:57;11048:114;;;-1:-1:-1;;;;;11137:13:0;;;;;;:8;:13;;;;;;:25;;11155:6;11137:17;:25::i;:::-;-1:-1:-1;;;;;11123:13:0;;;;;;:8;:13;;;;;:39;11048:114;11176:11;;11173:158;;11242:4;11225:23;;;;:8;:23;;;;;;:38;;11253:9;11225:27;:38::i;:::-;11218:4;11201:23;;;;:8;:23;;;;;;;:62;;;;11281:38;;-1:-1:-1;;;;;11281:38:0;;;;;;;11309:9;1361:25:1;;1349:2;1334:18;;1215:177;11281:38:0;;;;;;;;11173:158;11355:40;11373:21;:6;11384:9;11373:10;:21::i;:::-;-1:-1:-1;;;;;11355:13:0;;;;;;:8;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;11341:13:0;;;;;;;:8;:13;;;;;:54;;;;-1:-1:-1;;;10939:464:0:o;609:136::-;667:7;694:43;698:1;701;694:43;;;;;;;;;;;;;;;;;:3;:43::i;1337:189::-;1423:7;1458:12;1451:5;1443:28;;;;-1:-1:-1;;;1443:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1482:9:0;1494:5;1498:1;1494;:5;:::i;424:179::-;482:7;;514:5;518:1;514;:5;:::i;:::-;502:17;;543:1;538;:6;;530:46;;;;-1:-1:-1;;;530:46:0;;13802:2:1;530:46:0;;;13784:21:1;13841:2;13821:18;;;13814:30;13880:29;13860:18;;;13853:57;13927:18;;530:46:0;13600:351:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3613:127::-;3674:10;3669:3;3665:20;3662:1;3655:31;3705:4;3702:1;3695:15;3729:4;3726:1;3719:15;3745:416;3834:1;3871:5;3834:1;3885:270;3906:7;3896:8;3893:21;3885:270;;;3965:4;3961:1;3957:6;3953:17;3947:4;3944:27;3941:53;;;3974:18;;:::i;:::-;4024:7;4014:8;4010:22;4007:55;;;4044:16;;;;4007:55;4123:22;;;;4083:15;;;;3885:270;;;3889:3;3745:416;;;;;:::o;4166:806::-;4215:5;4245:8;4235:80;;-1:-1:-1;4286:1:1;4300:5;;4235:80;4334:4;4324:76;;-1:-1:-1;4371:1:1;4385:5;;4324:76;4416:4;4434:1;4429:59;;;;4502:1;4497:130;;;;4409:218;;4429:59;4459:1;4450:10;;4473:5;;;4497:130;4534:3;4524:8;4521:17;4518:43;;;4541:18;;:::i;:::-;-1:-1:-1;;4597:1:1;4583:16;;4612:5;;4409:218;;4711:2;4701:8;4698:16;4692:3;4686:4;4683:13;4679:36;4673:2;4663:8;4660:16;4655:2;4649:4;4646:12;4642:35;4639:77;4636:159;;;-1:-1:-1;4748:19:1;;;4780:5;;4636:159;4827:34;4852:8;4846:4;4827:34;:::i;:::-;4897:6;4893:1;4889:6;4885:19;4876:7;4873:32;4870:58;;;4908:18;;:::i;:::-;4946:20;;4166:806;-1:-1:-1;;;4166:806:1:o;4977:140::-;5035:5;5064:47;5105:4;5095:8;5091:19;5085:4;5064:47;:::i;5122:168::-;5195:9;;;5226;;5243:15;;;5237:22;;5223:37;5213:71;;5264:18;;:::i;5295:251::-;5365:6;5418:2;5406:9;5397:7;5393:23;5389:32;5386:52;;;5434:1;5431;5424:12;5386:52;5466:9;5460:16;5485:31;5510:5;5485:31;:::i;6472:306::-;6560:6;6568;6576;6629:2;6617:9;6608:7;6604:23;6600:32;6597:52;;;6645:1;6642;6635:12;6597:52;6674:9;6668:16;6658:26;;6724:2;6713:9;6709:18;6703:25;6693:35;;6768:2;6757:9;6753:18;6747:25;6737:35;;6472:306;;;;;:::o;7062:277::-;7129:6;7182:2;7170:9;7161:7;7157:23;7153:32;7150:52;;;7198:1;7195;7188:12;7150:52;7230:9;7224:16;7283:5;7276:13;7269:21;7262:5;7259:32;7249:60;;7305:1;7302;7295:12;7695:184;7765:6;7818:2;7806:9;7797:7;7793:23;7789:32;7786:52;;;7834:1;7831;7824:12;7786:52;-1:-1:-1;7857:16:1;;7695:184;-1:-1:-1;7695:184:1:o;10615:135::-;10654:3;10675:17;;;10672:43;;10695:18;;:::i;:::-;-1:-1:-1;10742:1:1;10731:13;;10615:135::o;10755:128::-;10822:9;;;10843:11;;;10840:37;;;10857:18;;:::i;10888:217::-;10928:1;10954;10944:132;;10998:10;10993:3;10989:20;10986:1;10979:31;11033:4;11030:1;11023:15;11061:4;11058:1;11051:15;10944:132;-1:-1:-1;11090:9:1;;10888:217::o;11866:125::-;11931:9;;;11952:10;;;11949:36;;;11965:18;;:::i;12483:127::-;12544:10;12539:3;12535:20;12532:1;12525:31;12575:4;12572:1;12565:15;12599:4;12596:1;12589:15;12615:980;12877:4;12925:3;12914:9;12910:19;12956:6;12945:9;12938:25;12982:2;13020:6;13015:2;13004:9;13000:18;12993:34;13063:3;13058:2;13047:9;13043:18;13036:31;13087:6;13122;13116:13;13153:6;13145;13138:22;13191:3;13180:9;13176:19;13169:26;;13230:2;13222:6;13218:15;13204:29;;13251:1;13261:195;13275:6;13272:1;13269:13;13261:195;;;13340:13;;-1:-1:-1;;;;;13336:39:1;13324:52;;13431:15;;;;13396:12;;;;13372:1;13290:9;13261:195;;;-1:-1:-1;;;;;;;13512:32:1;;;;13507:2;13492:18;;13485:60;-1:-1:-1;;;13576:3:1;13561:19;13554:35;13473:3;12615:980;-1:-1:-1;;;12615:980:1:o

Swarm Source

ipfs://6712cf0a8be20dac3f689dd32a0d3a9b40e8f64d3f281d547783e3dd718b176a
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.