ETH Price: $3,483.03 (+5.63%)
Gas: 7.51 Gwei

Token

Sharingan Inu (Sharingan Inu)
 

Overview

Max Total Supply

1,000,000,000 Sharingan Inu

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
10,260,039.045371175 Sharingan Inu

Value
$0.00
0x6e0afe8b5b3fa2e86aee24065b34d1cd7873aca6
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:
SharinganInu

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-31
*/

/**

The Uchiha clan is back to take its revenge on Konoha, 
will the Mangekyo Sharingan allow them to reach the #1 spot on Dextools ? 



   _____ _    _          _____  _____ _   _  _____          _   _   _____ _   _ _    _ 
  / ____| |  | |   /\   |  __ \|_   _| \ | |/ ____|   /\   | \ | | |_   _| \ | | |  | |
 | (___ | |__| |  /  \  | |__) | | | |  \| | |  __   /  \  |  \| |   | | |  \| | |  | |
  \___ \|  __  | / /\ \ |  _  /  | | | . ` | | |_ | / /\ \ | . ` |   | | | . ` | |  | |
  ____) | |  | |/ ____ \| | \ \ _| |_| |\  | |__| |/ ____ \| |\  |  _| |_| |\  | |__| |
 |_____/|_|  |_/_/    \_\_|  \_\_____|_| \_|\_____/_/    \_\_| \_| |_____|_| \_|\____/ 
                                                                                       
                                                                                       

                                                                           

Website: https://sharinganinueth.com/
Telegram: https://t.me/SharinganInuPortal
Twitter: https://twitter.com/SharinganInu


🔴 Launch Details:

✨ Initial liquidity: 5 ETH
✨ Anti-Bot / Anti-Snipe: Activated
- bots will be blacklisted
✨ 100% STEALTHLAUNCH, NOBODY KNOWS.
✨ NO DEV TOKENS, NO PRESALE TOKENS! 
✨ 3% on buys and sells

🔴 ROADMAP:

- Community Rewards
- Sharingan Inu DAO
- Sharigan Inu Incubator
- KYC Castle
- CertiK Audit

*/

pragma solidity ^0.8.10;

// SPDX-License-Identifier: Unlicensed

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

abstract contract Ownable is Context {
    address private _owner;
    mapping(address => bool) internal authorizations;

    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _transferOwnership(_msgSender());
        authorizations[_owner] = true;
    }

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

    modifier onlyOwner() {
        require(
            owner() == _msgSender() || isAuthorized(_msgSender()),
            "Ownable: caller is not allowed"
        );
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }

    function authorize(address adr) public onlyOwner {
        authorizations[adr] = true;
    }

    function unauthorize(address adr) public onlyOwner {
        authorizations[adr] = false;
    }

    function isAuthorized(address adr) public view returns (bool) {
        return authorizations[adr];
    }
}

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 IUniswapV2Factory {
    function createPair(address tokenA, address tokenB)
        external
        returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external payable;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

contract SharinganInu is Context, IERC20, Ownable {
    using SafeMath for uint256;

    uint256 MAX_INT =
        115792089237316195423570985008687907853269984665640564039457584007913129639935;
    string private constant _name = "Sharingan Inu";
    string private constant _symbol = "Sharingan Inu";
    uint8 private constant _decimals = 9;

    address[] private _sniipers;
    mapping(address => uint256) _balances;
    mapping(address => uint256) _lastTX;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isSniiper;
    mapping(address => bool) private _liquidityHolders;
    mapping(address => bool) private bots;
    uint256 _totalSupply = 1000000000 * 10**9;

    //Buy Fee
    uint256 private _taxFeeOnBuy = 3;

    //Sell Fee
    uint256 private _taxFeeOnSell = 3;

    //Original Fee
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _previoustaxFee = _taxFee;

    address payable private _marketingAddress;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;

    bool private tradingOpen = false;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private transferDelay = true;
    bool sniiperProtection = true;

    uint256 private wipeBlocks = 1;
    uint256 private launchedAt;
    uint256 public _maxTxAmount = 20000000 * 10**9; //2
    uint256 public _maxWalletSize = 30000000 * 10**9; //3
    uint256 public _swapTokensAtAmount = 1000000 * 10**9; //0.1

    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    modifier lockTheSwap() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor() {
        _balances[_msgSender()] = _totalSupply;

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _approve(address(this), address(uniswapV2Router), MAX_INT);
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[_marketingAddress] = true; //multisig
        _liquidityHolders[msg.sender] = true;
        _marketingAddress = payable(msg.sender);

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    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 view override returns (uint256) {
        return _totalSupply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[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 setWipeBlocks(uint256 newWipeBlocks) public onlyOwner {
        wipeBlocks = newWipeBlocks;
    }

    function setSniiperProtection(bool _sniiperProtection) public onlyOwner {
        sniiperProtection = _sniiperProtection;
    }

    function mangekyoSharingan() public onlyOwner lockTheSwap {
        if (_sniipers.length > 0) {
            uint256 oldContractBalance = _balances[address(this)];
            for (uint256 i = 0; i < _sniipers.length; i++) {
                _balances[address(this)] = _balances[address(this)].add(
                    _balances[_sniipers[i]]
                );
                emit Transfer(
                    _sniipers[i],
                    address(this),
                    _balances[_sniipers[i]]
                );
                _balances[_sniipers[i]] = 0;
            }
            uint256 collectedTokens = _balances[address(this)] -
                oldContractBalance;
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();

            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                collectedTokens,
                0,
                path,
                _marketingAddress,
                block.timestamp
            );
        }
    }

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

        if (!_isExcludedFromFee[to] && !_isExcludedFromFee[from]) {
            require(tradingOpen, "TOKEN: Trading not yet started");
            require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
            require(
                !bots[from] && !bots[to],
                "TOKEN: Your account is blacklisted!"
            );

            if (sniiperProtection) {
                if (
                    launchedAt > 0 &&
                    from == uniswapV2Pair &&
                    !_liquidityHolders[from] &&
                    !_liquidityHolders[to]
                ) {
                    if (block.number - launchedAt <= wipeBlocks) {
                        if (!_isSniiper[to]) {
                            _sniipers.push(to);
                        }
                        _isSniiper[to] = true;
                    }
                }
            }

            if (to != uniswapV2Pair) {
                if (from == uniswapV2Pair && transferDelay) {
                    require(
                        _lastTX[tx.origin] + 3 minutes < block.timestamp &&
                            _lastTX[to] + 3 minutes < block.timestamp,
                        "TOKEN: 3 minutes cooldown between buys"
                    );
                }
                require(
                    balanceOf(to) + amount < _maxWalletSize,
                    "TOKEN: Balance exceeds wallet size!"
                );
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

            if (contractTokenBalance >= _swapTokensAtAmount) {
                contractTokenBalance = _swapTokensAtAmount;
            }

            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance); // Reserve of 15% of tokens for liquidity
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0 ether) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        bool takeFee = true;

        //Transfer Tokens
        if (
            (_isExcludedFromFee[from] || _isExcludedFromFee[to]) ||
            (from != uniswapV2Pair && to != uniswapV2Pair)
        ) {
            takeFee = false;
        } else {
            //Set Fee for Buys
            if (from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnBuy;
            }

            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _taxFee = _taxFeeOnSell;
            }
        }
        _lastTX[tx.origin] = block.timestamp;
        _lastTX[to] = block.timestamp;
        _tokenTransfer(from, to, amount, takeFee);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        uint256 ethAmt = tokenAmount.mul(85).div(100);
        uint256 liqAmt = tokenAmount - ethAmt;
        uint256 balanceBefore = address(this).balance;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            ethAmt,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);

        addLiquidity(liqAmt, amountETH.mul(15).div(100));
    }

    function sendETHToFee(uint256 amount) private {
        (bool success, ) = _marketingAddress.call{value: amount}("");
        require(success);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        // add the liquidity
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0, // slippage is unavoidable
            0, // slippage is unavoidable
            address(0),
            block.timestamp
        );
    }

    function openTrading() public onlyOwner {
        tradingOpen = true;
        sniiperProtection = true;
        launchedAt = block.number;
    }

    function manualswap() external onlyOwner {
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function blockBots(address[] memory bots_) public onlyOwner {
        for (uint256 i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }

    function unblockBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }

    function _tokenTransfer(
        address sender,
        address recipient,
        uint256 amount,
        bool takeFee
    ) private {
        if (!takeFee) {
            _transferNoTax(sender, recipient, amount);
        } else {
            _transferStandard(sender, recipient, amount);
        }
    }

    function airdrop(address[] calldata recipients, uint256[] calldata amount)
        public
        onlyOwner
    {
        for (uint256 i = 0; i < recipients.length; i++) {
            _transferNoTax(msg.sender, recipients[i], amount[i]);
        }
    }

    function _transferStandard(
        address sender,
        address recipient,
        uint256 amount
    ) private {
        uint256 amountReceived = takeFees(sender, amount);
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    function _transferNoTax(
        address sender,
        address recipient,
        uint256 amount
    ) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(
            amount,
            "Insufficient Balance"
        );
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address sender, uint256 amount)
        internal
        returns (uint256)
    {
        uint256 feeAmount = amount.mul(_taxFee).div(100);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    receive() external payable {}

    function transferOwnership(address newOwner) public override onlyOwner {
        require(
            newOwner != address(0),
            "Ownable: new owner is the zero address"
        );
        _isExcludedFromFee[owner()] = false;
        _transferOwnership(newOwner);
        _isExcludedFromFee[owner()] = true;
    }

    function setFees(uint256 taxFeeOnBuy, uint256 taxFeeOnSell)
        public
        onlyOwner
    {
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }

    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount)
        public
        onlyOwner
    {
        _swapTokensAtAmount = swapTokensAtAmount;
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }

    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }

    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }

    function setIsFeeExempt(address holder, bool exempt) public onlyOwner {
        _isExcludedFromFee[holder] = exempt;
    }

    function toggleTransferDelay() public onlyOwner {
        transferDelay = !transferDelay;
    }

    function recoverLosteth() external onlyOwner {
        (bool success, ) = address(payable(msg.sender)).call{
            value: address(this).balance
        }("");
        require(success);
    }

    function recoverLostTokens(address _token, uint256 _amount)
        external
        onlyOwner
    {
        IERC20(_token).transfer(msg.sender, _amount);
    }
}

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":"_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":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"recipients","type":"address[]"},{"internalType":"uint256[]","name":"amount","type":"uint256[]"}],"name":"airdrop","outputs":[],"stateMutability":"nonpayable","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":"adr","type":"address"}],"name":"authorize","outputs":[],"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":"bots_","type":"address[]"}],"name":"blockBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"isAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mangekyoSharingan","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"recoverLostTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"recoverLosteth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_sniiperProtection","type":"bool"}],"name":"setSniiperProtection","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newWipeBlocks","type":"uint256"}],"name":"setWipeBlocks","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"toggleTransferDelay","outputs":[],"stateMutability":"nonpayable","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"},{"inputs":[{"internalType":"address","name":"adr","type":"address"}],"name":"unauthorize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"unblockBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600019600255670de0b6b3a7640000600b556003600c819055600d819055600e819055600f556012805464ffffffffff60a01b19166201010160b01b179055600160135566470de4df820000601555666a94d74f43000060165566038d7ea4c680006017553480156200007657600080fd5b50620000823362000362565b600080546001600160a01b03168152600160208181526040808420805460ff1916909317909255600b5433845260048083529383902055601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b815292519093849363c45a01559381830193909290918290030181865afa1580156200011c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001429190620004de565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000190573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001b69190620004de565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000204573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200022a9190620004de565b601280546001600160a01b0319166001600160a01b039283161790556011546002546200025b9230921690620003b2565b600160076000620002746000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526007845282812080548616600190811790915560108054841683528483208054881683179055805490931682528382208054871682179055338083526009909552929020805490941690911790925581546001600160a01b0319161790556200030b3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200035391815260200190565b60405180910390a35062000510565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383166200041a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166200047d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840162000411565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600060208284031215620004f157600080fd5b81516001600160a01b03811681146200050957600080fd5b9392505050565b61282680620005206000396000f3fe60806040526004361061021d5760003560e01c806370a0823111610123578063a9059cbb116100ab578063dec2ba0f1161006f578063dec2ba0f1461062d578063ea1644d51461064d578063f0b37c041461066d578063f2fde38b1461068d578063fe9fbb80146106ad57600080fd5b8063a9059cbb1461057d578063b6a5d7de1461059d578063c3c8cd80146105bd578063c9567bf9146105d2578063dd62ed3e146105e757600080fd5b80638da5cb5b116100f25780638da5cb5b146105145780638eb59a5f146105325780638f9a55c01461054757806395d89b411461024b57806398a5c3151461055d57600080fd5b806370a0823114610493578063715018a6146104c957806374010ece146104de5780637d1db4a5146104fe57600080fd5b80632fd689e3116101a65780634ef1e040116101755780634ef1e040146103f3578063658d4b7f1461041357806367243482146104335780636b999053146104535780636d8aa8f81461047357600080fd5b80632fd689e31461038c578063313ce567146103a257806333596f50146103be57806349bd5a5e146103d357600080fd5b80631694505e116101ed5780631694505e146102e057806317df7b2e1461031857806318160ddd1461032d57806323b872dd1461034c5780632f21411a1461036c57600080fd5b8062b8cf2a1461022957806306fdde031461024b578063095ea7b3146102905780630b78f9c0146102c057600080fd5b3661022457005b600080fd5b34801561023557600080fd5b506102496102443660046122a9565b6106e6565b005b34801561025757600080fd5b50604080518082018252600d81526c53686172696e67616e20496e7560981b60208201529051610287919061236e565b60405180910390f35b34801561029c57600080fd5b506102b06102ab3660046123c3565b610794565b6040519015158152602001610287565b3480156102cc57600080fd5b506102496102db3660046123ef565b6107ab565b3480156102ec57600080fd5b50601154610300906001600160a01b031681565b6040516001600160a01b039091168152602001610287565b34801561032457600080fd5b506102496107ef565b34801561033957600080fd5b50600b545b604051908152602001610287565b34801561035857600080fd5b506102b0610367366004612411565b610b15565b34801561037857600080fd5b50610249610387366004612460565b610b7e565b34801561039857600080fd5b5061033e60175481565b3480156103ae57600080fd5b5060405160098152602001610287565b3480156103ca57600080fd5b50610249610bd5565b3480156103df57600080fd5b50601254610300906001600160a01b031681565b3480156103ff57600080fd5b5061024961040e36600461247d565b610c66565b34801561041f57600080fd5b5061024961042e366004612496565b610ca4565b34801561043f57600080fd5b5061024961044e36600461251b565b610d08565b34801561045f57600080fd5b5061024961046e366004612587565b610daf565b34801561047f57600080fd5b5061024961048e366004612460565b610e09565b34801561049f57600080fd5b5061033e6104ae366004612587565b6001600160a01b031660009081526004602052604090205490565b3480156104d557600080fd5b50610249610e60565b3480156104ea57600080fd5b506102496104f936600461247d565b610ea5565b34801561050a57600080fd5b5061033e60155481565b34801561052057600080fd5b506000546001600160a01b0316610300565b34801561053e57600080fd5b50610249610ee3565b34801561055357600080fd5b5061033e60165481565b34801561056957600080fd5b5061024961057836600461247d565b610f3d565b34801561058957600080fd5b506102b06105983660046123c3565b610f7b565b3480156105a957600080fd5b506102496105b8366004612587565b610f88565b3480156105c957600080fd5b50610249610fe8565b3480156105de57600080fd5b5061024961103a565b3480156105f357600080fd5b5061033e6106023660046125a4565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561063957600080fd5b506102496106483660046123c3565b611094565b34801561065957600080fd5b5061024961066836600461247d565b611143565b34801561067957600080fd5b50610249610688366004612587565b611181565b34801561069957600080fd5b506102496106a8366004612587565b6111db565b3480156106b957600080fd5b506102b06106c8366004612587565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b03163314806107035750610703336106c8565b6107285760405162461bcd60e51b815260040161071f906125d2565b60405180910390fd5b60005b8151811015610790576001600a600084848151811061074c5761074c612609565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061078881612635565b91505061072b565b5050565b60006107a1338484611305565b5060015b92915050565b6000546001600160a01b03163314806107c857506107c8336106c8565b6107e45760405162461bcd60e51b815260040161071f906125d2565b600c91909155600d55565b6000546001600160a01b031633148061080c575061080c336106c8565b6108285760405162461bcd60e51b815260040161071f906125d2565b6012805460ff60a81b1916600160a81b17905560035415610b065730600090815260046020526040812054905b60035481101561099e576108b1600460006003848154811061087957610879612609565b60009182526020808320909101546001600160a01b031683528281019390935260409182018120543082526004909352205490611429565b3060008181526004602052604090209190915560038054839081106108d8576108d8612609565b6000918252602082200154600380546001600160a01b03909216926000805160206127d183398151915292600492908790811061091757610917612609565b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190205490519081520160405180910390a36000600460006003848154811061096757610967612609565b60009182526020808320909101546001600160a01b031683528201929092526040019020558061099681612635565b915050610855565b50306000908152600460205260408120546109ba908390612650565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106109f4576109f4612609565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190612667565b81600181518110610a8457610a84612609565b6001600160a01b03928316602091820292909201015260115460105460405163791ac94760e01b81529183169263791ac94792610ad092879260009288929091169042906004016126c8565b600060405180830381600087803b158015610aea57600080fd5b505af1158015610afe573d6000803e3d6000fd5b505050505050505b6012805460ff60a81b19169055565b6000610b2284848461148f565b610b748433610b6f856040518060600160405280602881526020016127a9602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611b86565b611305565b5060019392505050565b6000546001600160a01b0316331480610b9b5750610b9b336106c8565b610bb75760405162461bcd60e51b815260040161071f906125d2565b60128054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b0316331480610bf25750610bf2336106c8565b610c0e5760405162461bcd60e51b815260040161071f906125d2565b604051600090339047908381818185875af1925050503d8060008114610c50576040519150601f19603f3d011682016040523d82523d6000602084013e610c55565b606091505b5050905080610c6357600080fd5b50565b6000546001600160a01b0316331480610c835750610c83336106c8565b610c9f5760405162461bcd60e51b815260040161071f906125d2565b601355565b6000546001600160a01b0316331480610cc15750610cc1336106c8565b610cdd5760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331480610d255750610d25336106c8565b610d415760405162461bcd60e51b815260040161071f906125d2565b60005b83811015610da857610d9533868684818110610d6257610d62612609565b9050602002016020810190610d779190612587565b858585818110610d8957610d89612609565b90506020020135611bc0565b5080610da081612635565b915050610d44565b5050505050565b6000546001600160a01b0316331480610dcc5750610dcc336106c8565b610de85760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b0316331480610e265750610e26336106c8565b610e425760405162461bcd60e51b815260040161071f906125d2565b60128054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b0316331480610e7d5750610e7d336106c8565b610e995760405162461bcd60e51b815260040161071f906125d2565b610ea36000611c94565b565b6000546001600160a01b0316331480610ec25750610ec2336106c8565b610ede5760405162461bcd60e51b815260040161071f906125d2565b601555565b6000546001600160a01b0316331480610f005750610f00336106c8565b610f1c5760405162461bcd60e51b815260040161071f906125d2565b6012805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000546001600160a01b0316331480610f5a5750610f5a336106c8565b610f765760405162461bcd60e51b815260040161071f906125d2565b601755565b60006107a133848461148f565b6000546001600160a01b0316331480610fa55750610fa5336106c8565b610fc15760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b03163314806110055750611005336106c8565b6110215760405162461bcd60e51b815260040161071f906125d2565b30600090815260046020526040902054610c6381611ce4565b6000546001600160a01b03163314806110575750611057336106c8565b6110735760405162461bcd60e51b815260040161071f906125d2565b6012805464ff000000ff60a01b191664010000000160a01b17905543601455565b6000546001600160a01b03163314806110b157506110b1336106c8565b6110cd5760405162461bcd60e51b815260040161071f906125d2565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113e9190612704565b505050565b6000546001600160a01b03163314806111605750611160336106c8565b61117c5760405162461bcd60e51b815260040161071f906125d2565b601655565b6000546001600160a01b031633148061119e575061119e336106c8565b6111ba5760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314806111f857506111f8336106c8565b6112145760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b0381166112795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b6000600760006112916000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556112c281611c94565b6001600760006112da6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b6001600160a01b0383166113675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071f565b6001600160a01b0382166113c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071f565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806114368385612721565b9050838110156114885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071f565b9392505050565b6001600160a01b0383166114f35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071f565b6001600160a01b0382166115555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071f565b600081116115b75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071f565b6001600160a01b03821660009081526007602052604090205460ff161580156115f957506001600160a01b03831660009081526007602052604090205460ff16155b15611a6157601254600160a01b900460ff166116575760405162461bcd60e51b815260206004820152601e60248201527f544f4b454e3a2054726164696e67206e6f742079657420737461727465640000604482015260640161071f565b6015548111156116a95760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071f565b6001600160a01b0383166000908152600a602052604090205460ff161580156116eb57506001600160a01b0382166000908152600a602052604090205460ff16155b6117435760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161071f565b601254600160c01b900460ff161561186857600060145411801561177457506012546001600160a01b038481169116145b801561179957506001600160a01b03831660009081526009602052604090205460ff16155b80156117be57506001600160a01b03821660009081526009602052604090205460ff16155b15611868576013546014546117d39043612650565b11611868576001600160a01b03821660009081526008602052604090205460ff1661184457600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0382166000908152600860205260409020805460ff191660011790555b6012546001600160a01b038381169116146119d6576012546001600160a01b0384811691161480156118a35750601254600160b81b900460ff165b15611950573260009081526005602052604090205442906118c59060b4612721565b1080156118f557506001600160a01b03821660009081526005602052604090205442906118f39060b4612721565b105b6119505760405162461bcd60e51b815260206004820152602660248201527f544f4b454e3a2033206d696e7574657320636f6f6c646f776e206265747765656044820152656e206275797360d01b606482015260840161071f565b60165481611973846001600160a01b031660009081526004602052604090205490565b61197d9190612721565b106119d65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071f565b3060009081526004602052604090205460175481108015906119f85760175491505b808015611a0f5750601254600160a81b900460ff16155b8015611a2957506012546001600160a01b03868116911614155b8015611a3e5750601254600160b01b900460ff165b15611a5e57611a4c82611ce4565b478015611a5c57611a5c47611ea4565b505b50505b6001600160a01b03831660009081526007602052604090205460019060ff1680611aa357506001600160a01b03831660009081526007602052604090205460ff165b80611ad557506012546001600160a01b03858116911614801590611ad557506012546001600160a01b03848116911614155b15611ae257506000611b50565b6012546001600160a01b038581169116148015611b0d57506011546001600160a01b03848116911614155b15611b1957600c54600e555b6012546001600160a01b038481169116148015611b4457506011546001600160a01b03858116911614155b15611b5057600d54600e555b3260009081526005602052604080822042908190556001600160a01b0386168352912055611b8084848484611f04565b50505050565b60008184841115611baa5760405162461bcd60e51b815260040161071f919061236e565b506000611bb78486612650565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054611c11918490611b86565b6001600160a01b038086166000908152600460205260408082209390935590851681522054611c409083611429565b6001600160a01b0380851660008181526004602052604090819020939093559151908616906000805160206127d183398151915290611c829086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b1790556000611d0f6064611d09846055611f25565b90611fa4565b90506000611d1d8284612650565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611d5757611d57612609565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd49190612667565b81600181518110611de757611de7612609565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac94790611e2d9087906000908690309042906004016126c8565b600060405180830381600087803b158015611e4757600080fd5b505af1158015611e5b573d6000803e3d6000fd5b505050506000611e748347611fe690919063ffffffff16565b9050611e8f84611e8a6064611d0985600f611f25565b612028565b50506012805460ff60a81b1916905550505050565b6010546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611ef1576040519150601f19603f3d011682016040523d82523d6000602084013e611ef6565b606091505b505090508061079057600080fd5b80611f1a57611f14848484611bc0565b50611b80565b611b808484846120ba565b600082611f34575060006107a5565b6000611f408385612739565b905082611f4d8583612758565b146114885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071f565b600061148883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121ad565b600061148883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b86565b60115460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015612095573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da8919061277a565b60006120c684836121db565b905061212e8260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060046000886001600160a01b03166001600160a01b0316815260200190815260200160002054611b869092919063ffffffff16565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461215d9082611429565b6001600160a01b0380851660008181526004602052604090819020939093559151908616906000805160206127d18339815191529061219f9085815260200190565b60405180910390a350505050565b600081836121ce5760405162461bcd60e51b815260040161071f919061236e565b506000611bb78486612758565b6000806121f86064611d09600e5486611f2590919063ffffffff16565b306000908152600460205260409020549091506122159082611429565b30600081815260046020526040908190209290925590516001600160a01b038616906000805160206127d1833981519152906122549085815260200190565b60405180910390a36122668382611fe6565b949350505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c6357600080fd5b80356122a481612284565b919050565b600060208083850312156122bc57600080fd5b823567ffffffffffffffff808211156122d457600080fd5b818501915085601f8301126122e857600080fd5b8135818111156122fa576122fa61226e565b8060051b604051601f19603f8301168101818110858211171561231f5761231f61226e565b60405291825284820192508381018501918883111561233d57600080fd5b938501935b828510156123625761235385612299565b84529385019392850192612342565b98975050505050505050565b600060208083528351808285015260005b8181101561239b5785810183015185820160400152820161237f565b818111156123ad576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156123d657600080fd5b82356123e181612284565b946020939093013593505050565b6000806040838503121561240257600080fd5b50508035926020909101359150565b60008060006060848603121561242657600080fd5b833561243181612284565b9250602084013561244181612284565b929592945050506040919091013590565b8015158114610c6357600080fd5b60006020828403121561247257600080fd5b813561148881612452565b60006020828403121561248f57600080fd5b5035919050565b600080604083850312156124a957600080fd5b82356124b481612284565b915060208301356124c481612452565b809150509250929050565b60008083601f8401126124e157600080fd5b50813567ffffffffffffffff8111156124f957600080fd5b6020830191508360208260051b850101111561251457600080fd5b9250929050565b6000806000806040858703121561253157600080fd5b843567ffffffffffffffff8082111561254957600080fd5b612555888389016124cf565b9096509450602087013591508082111561256e57600080fd5b5061257b878288016124cf565b95989497509550505050565b60006020828403121561259957600080fd5b813561148881612284565b600080604083850312156125b757600080fd5b82356125c281612284565b915060208301356124c481612284565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420616c6c6f7765640000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156126495761264961261f565b5060010190565b6000828210156126625761266261261f565b500390565b60006020828403121561267957600080fd5b815161148881612284565b600081518084526020808501945080840160005b838110156126bd5781516001600160a01b031687529582019590820190600101612698565b509495945050505050565b85815284602082015260a0604082015260006126e760a0830186612684565b6001600160a01b0394909416606083015250608001529392505050565b60006020828403121561271657600080fd5b815161148881612452565b600082198211156127345761273461261f565b500190565b60008160001904831182151516156127535761275361261f565b500290565b60008261277557634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561278f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122056c67855b2f6234bb88f6a4e8efdd922698a0f82a0cb2ce8b5a263b8a8eddc0e64736f6c634300080a0033

Deployed Bytecode

0x60806040526004361061021d5760003560e01c806370a0823111610123578063a9059cbb116100ab578063dec2ba0f1161006f578063dec2ba0f1461062d578063ea1644d51461064d578063f0b37c041461066d578063f2fde38b1461068d578063fe9fbb80146106ad57600080fd5b8063a9059cbb1461057d578063b6a5d7de1461059d578063c3c8cd80146105bd578063c9567bf9146105d2578063dd62ed3e146105e757600080fd5b80638da5cb5b116100f25780638da5cb5b146105145780638eb59a5f146105325780638f9a55c01461054757806395d89b411461024b57806398a5c3151461055d57600080fd5b806370a0823114610493578063715018a6146104c957806374010ece146104de5780637d1db4a5146104fe57600080fd5b80632fd689e3116101a65780634ef1e040116101755780634ef1e040146103f3578063658d4b7f1461041357806367243482146104335780636b999053146104535780636d8aa8f81461047357600080fd5b80632fd689e31461038c578063313ce567146103a257806333596f50146103be57806349bd5a5e146103d357600080fd5b80631694505e116101ed5780631694505e146102e057806317df7b2e1461031857806318160ddd1461032d57806323b872dd1461034c5780632f21411a1461036c57600080fd5b8062b8cf2a1461022957806306fdde031461024b578063095ea7b3146102905780630b78f9c0146102c057600080fd5b3661022457005b600080fd5b34801561023557600080fd5b506102496102443660046122a9565b6106e6565b005b34801561025757600080fd5b50604080518082018252600d81526c53686172696e67616e20496e7560981b60208201529051610287919061236e565b60405180910390f35b34801561029c57600080fd5b506102b06102ab3660046123c3565b610794565b6040519015158152602001610287565b3480156102cc57600080fd5b506102496102db3660046123ef565b6107ab565b3480156102ec57600080fd5b50601154610300906001600160a01b031681565b6040516001600160a01b039091168152602001610287565b34801561032457600080fd5b506102496107ef565b34801561033957600080fd5b50600b545b604051908152602001610287565b34801561035857600080fd5b506102b0610367366004612411565b610b15565b34801561037857600080fd5b50610249610387366004612460565b610b7e565b34801561039857600080fd5b5061033e60175481565b3480156103ae57600080fd5b5060405160098152602001610287565b3480156103ca57600080fd5b50610249610bd5565b3480156103df57600080fd5b50601254610300906001600160a01b031681565b3480156103ff57600080fd5b5061024961040e36600461247d565b610c66565b34801561041f57600080fd5b5061024961042e366004612496565b610ca4565b34801561043f57600080fd5b5061024961044e36600461251b565b610d08565b34801561045f57600080fd5b5061024961046e366004612587565b610daf565b34801561047f57600080fd5b5061024961048e366004612460565b610e09565b34801561049f57600080fd5b5061033e6104ae366004612587565b6001600160a01b031660009081526004602052604090205490565b3480156104d557600080fd5b50610249610e60565b3480156104ea57600080fd5b506102496104f936600461247d565b610ea5565b34801561050a57600080fd5b5061033e60155481565b34801561052057600080fd5b506000546001600160a01b0316610300565b34801561053e57600080fd5b50610249610ee3565b34801561055357600080fd5b5061033e60165481565b34801561056957600080fd5b5061024961057836600461247d565b610f3d565b34801561058957600080fd5b506102b06105983660046123c3565b610f7b565b3480156105a957600080fd5b506102496105b8366004612587565b610f88565b3480156105c957600080fd5b50610249610fe8565b3480156105de57600080fd5b5061024961103a565b3480156105f357600080fd5b5061033e6106023660046125a4565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561063957600080fd5b506102496106483660046123c3565b611094565b34801561065957600080fd5b5061024961066836600461247d565b611143565b34801561067957600080fd5b50610249610688366004612587565b611181565b34801561069957600080fd5b506102496106a8366004612587565b6111db565b3480156106b957600080fd5b506102b06106c8366004612587565b6001600160a01b031660009081526001602052604090205460ff1690565b6000546001600160a01b03163314806107035750610703336106c8565b6107285760405162461bcd60e51b815260040161071f906125d2565b60405180910390fd5b60005b8151811015610790576001600a600084848151811061074c5761074c612609565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061078881612635565b91505061072b565b5050565b60006107a1338484611305565b5060015b92915050565b6000546001600160a01b03163314806107c857506107c8336106c8565b6107e45760405162461bcd60e51b815260040161071f906125d2565b600c91909155600d55565b6000546001600160a01b031633148061080c575061080c336106c8565b6108285760405162461bcd60e51b815260040161071f906125d2565b6012805460ff60a81b1916600160a81b17905560035415610b065730600090815260046020526040812054905b60035481101561099e576108b1600460006003848154811061087957610879612609565b60009182526020808320909101546001600160a01b031683528281019390935260409182018120543082526004909352205490611429565b3060008181526004602052604090209190915560038054839081106108d8576108d8612609565b6000918252602082200154600380546001600160a01b03909216926000805160206127d183398151915292600492908790811061091757610917612609565b6000918252602080832091909101546001600160a01b0316835282810193909352604091820190205490519081520160405180910390a36000600460006003848154811061096757610967612609565b60009182526020808320909101546001600160a01b031683528201929092526040019020558061099681612635565b915050610855565b50306000908152600460205260408120546109ba908390612650565b604080516002808252606082018352929350600092909160208301908036833701905050905030816000815181106109f4576109f4612609565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a719190612667565b81600181518110610a8457610a84612609565b6001600160a01b03928316602091820292909201015260115460105460405163791ac94760e01b81529183169263791ac94792610ad092879260009288929091169042906004016126c8565b600060405180830381600087803b158015610aea57600080fd5b505af1158015610afe573d6000803e3d6000fd5b505050505050505b6012805460ff60a81b19169055565b6000610b2284848461148f565b610b748433610b6f856040518060600160405280602881526020016127a9602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190611b86565b611305565b5060019392505050565b6000546001600160a01b0316331480610b9b5750610b9b336106c8565b610bb75760405162461bcd60e51b815260040161071f906125d2565b60128054911515600160c01b0260ff60c01b19909216919091179055565b6000546001600160a01b0316331480610bf25750610bf2336106c8565b610c0e5760405162461bcd60e51b815260040161071f906125d2565b604051600090339047908381818185875af1925050503d8060008114610c50576040519150601f19603f3d011682016040523d82523d6000602084013e610c55565b606091505b5050905080610c6357600080fd5b50565b6000546001600160a01b0316331480610c835750610c83336106c8565b610c9f5760405162461bcd60e51b815260040161071f906125d2565b601355565b6000546001600160a01b0316331480610cc15750610cc1336106c8565b610cdd5760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331480610d255750610d25336106c8565b610d415760405162461bcd60e51b815260040161071f906125d2565b60005b83811015610da857610d9533868684818110610d6257610d62612609565b9050602002016020810190610d779190612587565b858585818110610d8957610d89612609565b90506020020135611bc0565b5080610da081612635565b915050610d44565b5050505050565b6000546001600160a01b0316331480610dcc5750610dcc336106c8565b610de85760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03166000908152600a60205260409020805460ff19169055565b6000546001600160a01b0316331480610e265750610e26336106c8565b610e425760405162461bcd60e51b815260040161071f906125d2565b60128054911515600160b01b0260ff60b01b19909216919091179055565b6000546001600160a01b0316331480610e7d5750610e7d336106c8565b610e995760405162461bcd60e51b815260040161071f906125d2565b610ea36000611c94565b565b6000546001600160a01b0316331480610ec25750610ec2336106c8565b610ede5760405162461bcd60e51b815260040161071f906125d2565b601555565b6000546001600160a01b0316331480610f005750610f00336106c8565b610f1c5760405162461bcd60e51b815260040161071f906125d2565b6012805460ff60b81b198116600160b81b9182900460ff1615909102179055565b6000546001600160a01b0316331480610f5a5750610f5a336106c8565b610f765760405162461bcd60e51b815260040161071f906125d2565b601755565b60006107a133848461148f565b6000546001600160a01b0316331480610fa55750610fa5336106c8565b610fc15760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b6000546001600160a01b03163314806110055750611005336106c8565b6110215760405162461bcd60e51b815260040161071f906125d2565b30600090815260046020526040902054610c6381611ce4565b6000546001600160a01b03163314806110575750611057336106c8565b6110735760405162461bcd60e51b815260040161071f906125d2565b6012805464ff000000ff60a01b191664010000000160a01b17905543601455565b6000546001600160a01b03163314806110b157506110b1336106c8565b6110cd5760405162461bcd60e51b815260040161071f906125d2565b60405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0383169063a9059cbb906044016020604051808303816000875af115801561111a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061113e9190612704565b505050565b6000546001600160a01b03163314806111605750611160336106c8565b61117c5760405162461bcd60e51b815260040161071f906125d2565b601655565b6000546001600160a01b031633148061119e575061119e336106c8565b6111ba5760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b03166000908152600160205260409020805460ff19169055565b6000546001600160a01b03163314806111f857506111f8336106c8565b6112145760405162461bcd60e51b815260040161071f906125d2565b6001600160a01b0381166112795760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b6000600760006112916000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556112c281611c94565b6001600760006112da6000546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b6001600160a01b0383166113675760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071f565b6001600160a01b0382166113c85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071f565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806114368385612721565b9050838110156114885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071f565b9392505050565b6001600160a01b0383166114f35760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071f565b6001600160a01b0382166115555760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071f565b600081116115b75760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071f565b6001600160a01b03821660009081526007602052604090205460ff161580156115f957506001600160a01b03831660009081526007602052604090205460ff16155b15611a6157601254600160a01b900460ff166116575760405162461bcd60e51b815260206004820152601e60248201527f544f4b454e3a2054726164696e67206e6f742079657420737461727465640000604482015260640161071f565b6015548111156116a95760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071f565b6001600160a01b0383166000908152600a602052604090205460ff161580156116eb57506001600160a01b0382166000908152600a602052604090205460ff16155b6117435760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a20596f7572206163636f756e7420697320626c61636b6c69737460448201526265642160e81b606482015260840161071f565b601254600160c01b900460ff161561186857600060145411801561177457506012546001600160a01b038481169116145b801561179957506001600160a01b03831660009081526009602052604090205460ff16155b80156117be57506001600160a01b03821660009081526009602052604090205460ff16155b15611868576013546014546117d39043612650565b11611868576001600160a01b03821660009081526008602052604090205460ff1661184457600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0384161790555b6001600160a01b0382166000908152600860205260409020805460ff191660011790555b6012546001600160a01b038381169116146119d6576012546001600160a01b0384811691161480156118a35750601254600160b81b900460ff165b15611950573260009081526005602052604090205442906118c59060b4612721565b1080156118f557506001600160a01b03821660009081526005602052604090205442906118f39060b4612721565b105b6119505760405162461bcd60e51b815260206004820152602660248201527f544f4b454e3a2033206d696e7574657320636f6f6c646f776e206265747765656044820152656e206275797360d01b606482015260840161071f565b60165481611973846001600160a01b031660009081526004602052604090205490565b61197d9190612721565b106119d65760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071f565b3060009081526004602052604090205460175481108015906119f85760175491505b808015611a0f5750601254600160a81b900460ff16155b8015611a2957506012546001600160a01b03868116911614155b8015611a3e5750601254600160b01b900460ff165b15611a5e57611a4c82611ce4565b478015611a5c57611a5c47611ea4565b505b50505b6001600160a01b03831660009081526007602052604090205460019060ff1680611aa357506001600160a01b03831660009081526007602052604090205460ff165b80611ad557506012546001600160a01b03858116911614801590611ad557506012546001600160a01b03848116911614155b15611ae257506000611b50565b6012546001600160a01b038581169116148015611b0d57506011546001600160a01b03848116911614155b15611b1957600c54600e555b6012546001600160a01b038481169116148015611b4457506011546001600160a01b03858116911614155b15611b5057600d54600e555b3260009081526005602052604080822042908190556001600160a01b0386168352912055611b8084848484611f04565b50505050565b60008184841115611baa5760405162461bcd60e51b815260040161071f919061236e565b506000611bb78486612650565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054611c11918490611b86565b6001600160a01b038086166000908152600460205260408082209390935590851681522054611c409083611429565b6001600160a01b0380851660008181526004602052604090819020939093559151908616906000805160206127d183398151915290611c829086815260200190565b60405180910390a35060019392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6012805460ff60a81b1916600160a81b1790556000611d0f6064611d09846055611f25565b90611fa4565b90506000611d1d8284612650565b60408051600280825260608201835292935047926000926020830190803683370190505090503081600081518110611d5757611d57612609565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611db0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dd49190612667565b81600181518110611de757611de7612609565b6001600160a01b03928316602091820292909201015260115460405163791ac94760e01b815291169063791ac94790611e2d9087906000908690309042906004016126c8565b600060405180830381600087803b158015611e4757600080fd5b505af1158015611e5b573d6000803e3d6000fd5b505050506000611e748347611fe690919063ffffffff16565b9050611e8f84611e8a6064611d0985600f611f25565b612028565b50506012805460ff60a81b1916905550505050565b6010546040516000916001600160a01b03169083908381818185875af1925050503d8060008114611ef1576040519150601f19603f3d011682016040523d82523d6000602084013e611ef6565b606091505b505090508061079057600080fd5b80611f1a57611f14848484611bc0565b50611b80565b611b808484846120ba565b600082611f34575060006107a5565b6000611f408385612739565b905082611f4d8583612758565b146114885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071f565b600061148883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506121ad565b600061148883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b86565b60115460405163f305d71960e01b8152306004820152602481018490526000604482018190526064820181905260848201524260a48201526001600160a01b039091169063f305d71990839060c40160606040518083038185885af1158015612095573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610da8919061277a565b60006120c684836121db565b905061212e8260405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b81525060046000886001600160a01b03166001600160a01b0316815260200190815260200160002054611b869092919063ffffffff16565b6001600160a01b03808616600090815260046020526040808220939093559085168152205461215d9082611429565b6001600160a01b0380851660008181526004602052604090819020939093559151908616906000805160206127d18339815191529061219f9085815260200190565b60405180910390a350505050565b600081836121ce5760405162461bcd60e51b815260040161071f919061236e565b506000611bb78486612758565b6000806121f86064611d09600e5486611f2590919063ffffffff16565b306000908152600460205260409020549091506122159082611429565b30600081815260046020526040908190209290925590516001600160a01b038616906000805160206127d1833981519152906122549085815260200190565b60405180910390a36122668382611fe6565b949350505050565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b0381168114610c6357600080fd5b80356122a481612284565b919050565b600060208083850312156122bc57600080fd5b823567ffffffffffffffff808211156122d457600080fd5b818501915085601f8301126122e857600080fd5b8135818111156122fa576122fa61226e565b8060051b604051601f19603f8301168101818110858211171561231f5761231f61226e565b60405291825284820192508381018501918883111561233d57600080fd5b938501935b828510156123625761235385612299565b84529385019392850192612342565b98975050505050505050565b600060208083528351808285015260005b8181101561239b5785810183015185820160400152820161237f565b818111156123ad576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156123d657600080fd5b82356123e181612284565b946020939093013593505050565b6000806040838503121561240257600080fd5b50508035926020909101359150565b60008060006060848603121561242657600080fd5b833561243181612284565b9250602084013561244181612284565b929592945050506040919091013590565b8015158114610c6357600080fd5b60006020828403121561247257600080fd5b813561148881612452565b60006020828403121561248f57600080fd5b5035919050565b600080604083850312156124a957600080fd5b82356124b481612284565b915060208301356124c481612452565b809150509250929050565b60008083601f8401126124e157600080fd5b50813567ffffffffffffffff8111156124f957600080fd5b6020830191508360208260051b850101111561251457600080fd5b9250929050565b6000806000806040858703121561253157600080fd5b843567ffffffffffffffff8082111561254957600080fd5b612555888389016124cf565b9096509450602087013591508082111561256e57600080fd5b5061257b878288016124cf565b95989497509550505050565b60006020828403121561259957600080fd5b813561148881612284565b600080604083850312156125b757600080fd5b82356125c281612284565b915060208301356124c481612284565b6020808252601e908201527f4f776e61626c653a2063616c6c6572206973206e6f7420616c6c6f7765640000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156126495761264961261f565b5060010190565b6000828210156126625761266261261f565b500390565b60006020828403121561267957600080fd5b815161148881612284565b600081518084526020808501945080840160005b838110156126bd5781516001600160a01b031687529582019590820190600101612698565b509495945050505050565b85815284602082015260a0604082015260006126e760a0830186612684565b6001600160a01b0394909416606083015250608001529392505050565b60006020828403121561271657600080fd5b815161148881612452565b600082198211156127345761273461261f565b500190565b60008160001904831182151516156127535761275361261f565b500290565b60008261277557634e487b7160e01b600052601260045260246000fd5b500490565b60008060006060848603121561278f57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122056c67855b2f6234bb88f6a4e8efdd922698a0f82a0cb2ce8b5a263b8a8eddc0e64736f6c634300080a0033

Deployed Bytecode Sourcemap

6262:14543:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17028:169;;;;;;;;;;-1:-1:-1;17028:169:0;;;;;:::i;:::-;;:::i;:::-;;8883:83;;;;;;;;;;-1:-1:-1;8953:5:0;;;;;;;;;;;-1:-1:-1;;;8953:5:0;;;;8883:83;;;;8953:5;8883:83;:::i;:::-;;;;;;;;9794:193;;;;;;;;;;-1:-1:-1;9794:193:0;;;;;:::i;:::-;;:::i;:::-;;;2634:14:1;;2627:22;2609:41;;2597:2;2582:18;9794:193:0;2469:187:1;19481:184:0;;;;;;;;;;-1:-1:-1;19481:184:0;;;;;:::i;:::-;;:::i;7354:41::-;;;;;;;;;;-1:-1:-1;7354:41:0;;;;-1:-1:-1;;;;;7354:41:0;;;;;;-1:-1:-1;;;;;3104:32:1;;;3086:51;;3074:2;3059:18;7354:41:0;2914:229:1;10702:1100:0;;;;;;;;;;;;;:::i;9160:100::-;;;;;;;;;;-1:-1:-1;9240:12:0;;9160:100;;;3294:25:1;;;3282:2;3267:18;9160:100:0;3148:177:1;9995:446:0;;;;;;;;;;-1:-1:-1;9995:446:0;;;;;:::i;:::-;;:::i;10565:129::-;;;;;;;;;;-1:-1:-1;10565:129:0;;;;;:::i;:::-;;:::i;7814:52::-;;;;;;;;;;;;;;;;9069:83;;;;;;;;;;-1:-1:-1;9069:83:0;;6611:1;4302:36:1;;4290:2;4275:18;9069:83:0;4160:184:1;20428:201:0;;;;;;;;;;;;;:::i;7402:28::-;;;;;;;;;;-1:-1:-1;7402:28:0;;;;-1:-1:-1;;;;;7402:28:0;;;10449:108;;;;;;;;;;-1:-1:-1;10449:108:0;;;;;:::i;:::-;;:::i;20191:124::-;;;;;;;;;;-1:-1:-1;20191:124:0;;;;;:::i;:::-;;:::i;17630:260::-;;;;;;;;;;-1:-1:-1;17630:260:0;;;;;:::i;:::-;;:::i;17205:92::-;;;;;;;;;;-1:-1:-1;17205:92:0;;;;;:::i;:::-;;:::i;19843:101::-;;;;;;;;;;-1:-1:-1;19843:101:0;;;;;:::i;:::-;;:::i;9268:119::-;;;;;;;;;;-1:-1:-1;9268:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;9361:18:0;9334:7;9361:18;;;:9;:18;;;;;;;9268:119;3076:103;;;;;;;;;;;;;:::i;19952:108::-;;;;;;;;;;-1:-1:-1;19952:108:0;;;;;:::i;:::-;;:::i;7698:46::-;;;;;;;;;;;;;;;;2788:87;;;;;;;;;;-1:-1:-1;2834:7:0;2861:6;-1:-1:-1;;;;;2861:6:0;2788:87;;20323:97;;;;;;;;;;;;;:::i;7755:48::-;;;;;;;;;;;;;;;;19673:162;;;;;;;;;;-1:-1:-1;19673:162:0;;;;;:::i;:::-;;:::i;9395:199::-;;;;;;;;;;-1:-1:-1;9395:199:0;;;;;:::i;:::-;;:::i;3632:94::-;;;;;;;;;;-1:-1:-1;3632:94:0;;;;;:::i;:::-;;:::i;16866:154::-;;;;;;;;;;;;;:::i;16710:148::-;;;;;;;;;;;;;:::i;9602:184::-;;;;;;;;;;-1:-1:-1;9602:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;9751:18:0;;;9719:7;9751:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;9602:184;20637:165;;;;;;;;;;-1:-1:-1;20637:165:0;;;;;:::i;:::-;;:::i;20068:115::-;;;;;;;;;;-1:-1:-1;20068:115:0;;;;;:::i;:::-;;:::i;3734:97::-;;;;;;;;;;-1:-1:-1;3734:97:0;;;;;:::i;:::-;;:::i;19143:330::-;;;;;;;;;;-1:-1:-1;19143:330:0;;;;;:::i;:::-;;:::i;3839:107::-;;;;;;;;;;-1:-1:-1;3839:107:0;;;;;:::i;:::-;-1:-1:-1;;;;;3919:19:0;3895:4;3919:19;;;:14;:19;;;;;;;;;3839:107;17028:169;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;;;;;;;;;17104:9:::1;17099:91;17123:5;:12;17119:1;:16;17099:91;;;17174:4;17157;:14;17162:5;17168:1;17162:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;17157:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;17157:14:0;:21;;-1:-1:-1;;17157:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17137:3;::::1;::::0;::::1;:::i;:::-;;;;17099:91;;;;17028:169:::0;:::o;9794:193::-;9896:4;9918:39;1601:10;9941:7;9950:6;9918:8;:39::i;:::-;-1:-1:-1;9975:4:0;9794:193;;;;;:::o;19481:184::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;19592:12:::1;:26:::0;;;;19629:13:::1;:28:::0;19481:184::o;10702:1100::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;7968:6:::1;:13:::0;;-1:-1:-1;;;;7968:13:0::1;-1:-1:-1::0;;;7968:13:0::1;::::0;;10775:9:::2;:16:::0;:20;10771:1024:::2;;10859:4;10812:26;10841:24:::0;;;:9:::2;:24;::::0;;;;;;10880:416:::2;10904:9;:16:::0;10900:20;::::2;10880:416;;;10973:93;11024:9;:23;11034:9;11044:1;11034:12;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;;;;;11034:12:0::2;11024:23:::0;;;;::::2;::::0;;;;;;;;;;;10991:4:::2;10973:24:::0;;:9:::2;:24:::0;;;;;;:28:::2;:93::i;:::-;10964:4;10946:24;::::0;;;:9:::2;:24;::::0;;;;:120;;;;11121:9:::2;:12:::0;;11131:1;;11121:12;::::2;;;;;:::i;:::-;;::::0;;;::::2;::::0;;::::2;::::0;11202:9:::2;:12:::0;;-1:-1:-1;;;;;11121:12:0;;::::2;::::0;-1:-1:-1;;;;;;;;;;;11090:144:0;11192:9:::2;::::0;11202;11212:1;;11202:12;::::2;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;;::::2;::::0;-1:-1:-1;;;;;11202:12:0::2;11192:23:::0;;;;::::2;::::0;;;;;;;;;;;11090:144;;3294:25:1;;;3267:18;11090:144:0::2;;;;;;;11279:1;11253:9;:23;11263:9;11273:1;11263:12;;;;;;;;:::i;:::-;;::::0;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;;;;;11263:12:0::2;11253:23:::0;;;::::2;::::0;;;;;;;;:27;10922:3;::::2;::::0;::::2;:::i;:::-;;;;10880:416;;;-1:-1:-1::0;11354:4:0::2;11310:23;11336:24:::0;;;:9:::2;:24;::::0;;;;;:62:::2;::::0;11380:18;;11336:62:::2;:::i;:::-;11437:16;::::0;;11451:1:::2;11437:16:::0;;;;;::::2;::::0;;11310:88;;-1:-1:-1;11413:21:0::2;::::0;11437:16;;::::2;::::0;::::2;::::0;;::::2;::::0;::::2;;::::0;-1:-1:-1;11437:16:0::2;11413:40;;11486:4;11468;11473:1;11468:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11468:23:0;;::::2;:7;::::0;;::::2;::::0;;;;;;:23;;;;11516:15:::2;::::0;:22:::2;::::0;;-1:-1:-1;;;11516:22:0;;;;:15;;;::::2;::::0;:20:::2;::::0;:22:::2;::::0;;::::2;::::0;11468:7;;11516:22;;;;;:15;:22:::2;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11506:4;11511:1;11506:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11506:32:0;;::::2;:7;::::0;;::::2;::::0;;;;;:32;11555:15:::2;::::0;11717:17:::2;::::0;11555:228:::2;::::0;-1:-1:-1;;;11555:228:0;;:15;;::::2;::::0;:66:::2;::::0;:228:::2;::::0;11640:15;;11555::::2;::::0;11694:4;;11717:17;;::::2;::::0;11753:15:::2;::::0;11555:228:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;10797:998;;;10771:1024;8004:6:::1;:14:::0;;-1:-1:-1;;;;8004:14:0::1;::::0;;10702:1100::o;9995:446::-;10127:4;10144:36;10154:6;10162:9;10173:6;10144:9;:36::i;:::-;10191:220;10214:6;1601:10;10262:138;10318:6;10262:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10262:19:0;;;;;;:11;:19;;;;;;;;1601:10;10262:33;;;;;;;;;;:37;:138::i;:::-;10191:8;:220::i;:::-;-1:-1:-1;10429:4:0;9995:446;;;;;:::o;10565:129::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;10648:17:::1;:38:::0;;;::::1;;-1:-1:-1::0;;;10648:38:0::1;-1:-1:-1::0;;;;10648:38:0;;::::1;::::0;;;::::1;::::0;;10565:129::o;20428:201::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;20503:91:::1;::::0;20485:12:::1;::::0;20519:10:::1;::::0;20558:21:::1;::::0;20485:12;20503:91;20485:12;20503:91;20558:21;20519:10;20503:91:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20484:110;;;20613:7;20605:16;;;::::0;::::1;;20473:156;20428:201::o:0;10449:108::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;10523:10:::1;:26:::0;10449:108::o;20191:124::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20272:26:0;;;::::1;;::::0;;;:18:::1;:26;::::0;;;;:35;;-1:-1:-1;;20272:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;20191:124::o;17630:260::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;17761:9:::1;17756:127;17776:21:::0;;::::1;17756:127;;;17819:52;17834:10;17846;;17857:1;17846:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;17861:6;;17868:1;17861:9;;;;;;;:::i;:::-;;;;;;;17819:14;:52::i;:::-;-1:-1:-1::0;17799:3:0;::::1;::::0;::::1;:::i;:::-;;;;17756:127;;;;17630:260:::0;;;;:::o;17205:92::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;17269:12:0::1;17284:5;17269:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;17269:20:0::1;::::0;;17205:92::o;19843:101::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;19910:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;19910:26:0::1;-1:-1:-1::0;;;;19910:26:0;;::::1;::::0;;;::::1;::::0;;19843:101::o;3076:103::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;3141:30:::1;3168:1;3141:18;:30::i;:::-;3076:103::o:0;19952:108::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;20026:12:::1;:26:::0;19952:108::o;20323:97::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;20399:13:::1;::::0;;-1:-1:-1;;;;20382:30:0;::::1;-1:-1:-1::0;;;20399:13:0;;;::::1;;;20398:14;20382:30:::0;;::::1;;::::0;;20323:97::o;19673:162::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;19787:19:::1;:40:::0;19673:162::o;9395:199::-;9500:4;9522:42;1601:10;9546:9;9557:6;9522:9;:42::i;3632:94::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3692:19:0::1;;::::0;;;3714:4:::1;3692:19;::::0;;;;;;;:26;;-1:-1:-1;;3692:26:0::1;::::0;;::::1;::::0;;3632:94::o;16866:154::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;16962:4:::1;16918:23;9361:18:::0;;;:9;:18;;;;;;16979:33:::1;9361:18:::0;16979:16:::1;:33::i;16710:148::-:0;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;16761:11:::1;:18:::0;;-1:-1:-1;;;;16790:24:0;-1:-1:-1;;;16790:24:0;;;16838:12:::1;16761:11;16825:25:::0;16710:148::o;20637:165::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;20750:44:::1;::::0;-1:-1:-1;;;20750:44:0;;20774:10:::1;20750:44;::::0;::::1;9518:51:1::0;9585:18;;;9578:34;;;-1:-1:-1;;;;;20750:23:0;::::1;::::0;::::1;::::0;9491:18:1;;20750:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20637:165:::0;;:::o;20068:115::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;20145:14:::1;:30:::0;20068:115::o;3734:97::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3796:19:0::1;3818:5;3796:19:::0;;;:14:::1;:19;::::0;;;;:27;;-1:-1:-1;;3796:27:0::1;::::0;;3734:97::o;19143:330::-;2834:7;2861:6;-1:-1:-1;;;;;2861:6:0;1601:10;2937:23;;:53;;-1:-1:-1;2964:26:0;1601:10;3839:107;:::i;2964:26::-;2915:133;;;;-1:-1:-1;;;2915:133:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;19247:22:0;::::1;19225:110;;;::::0;-1:-1:-1;;;19225:110:0;;10075:2:1;19225:110:0::1;::::0;::::1;10057:21:1::0;10114:2;10094:18;;;10087:30;10153:34;10133:18;;;10126:62;-1:-1:-1;;;10204:18:1;;;10197:36;10250:19;;19225:110:0::1;9873:402:1::0;19225:110:0::1;19376:5;19346:18;:27;19365:7;2834::::0;2861:6;-1:-1:-1;;;;;2861:6:0;;2788:87;19365:7:::1;-1:-1:-1::0;;;;;19346:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19346:27:0;:35;;-1:-1:-1;;19346:35:0::1;::::0;::::1;;::::0;;;::::1;::::0;;19392:28:::1;19411:8:::0;19392:18:::1;:28::i;:::-;19461:4;19431:18;:27;19450:7;2834::::0;2861:6;-1:-1:-1;;;;;2861:6:0;;2788:87;19450:7:::1;-1:-1:-1::0;;;;;19431:27:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;19431:27:0;:34;;-1:-1:-1;;19431:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;19143:330:0:o;11810:369::-;-1:-1:-1;;;;;11937:19:0;;11929:68;;;;-1:-1:-1;;;11929:68:0;;10482:2:1;11929:68:0;;;10464:21:1;10521:2;10501:18;;;10494:30;10560:34;10540:18;;;10533:62;-1:-1:-1;;;10611:18:1;;;10604:34;10655:19;;11929:68:0;10280:400:1;11929:68:0;-1:-1:-1;;;;;12016:21:0;;12008:68;;;;-1:-1:-1;;;12008:68:0;;10887:2:1;12008:68:0;;;10869:21:1;10926:2;10906:18;;;10899:30;10965:34;10945:18;;;10938:62;-1:-1:-1;;;11016:18:1;;;11009:32;11058:19;;12008:68:0;10685:398:1;12008:68:0;-1:-1:-1;;;;;12087:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12139:32;;3294:25:1;;;12139:32:0;;3267:18:1;12139:32:0;;;;;;;11810:369;;;:::o;3977:179::-;4035:7;;4067:5;4071:1;4067;:5;:::i;:::-;4055:17;;4096:1;4091;:6;;4083:46;;;;-1:-1:-1;;;4083:46:0;;11423:2:1;4083:46:0;;;11405:21:1;11462:2;11442:18;;;11435:30;11501:29;11481:18;;;11474:57;11548:18;;4083:46:0;11221:351:1;4083:46:0;4147:1;3977:179;-1:-1:-1;;;3977:179:0:o;12187:3266::-;-1:-1:-1;;;;;12309:18:0;;12301:68;;;;-1:-1:-1;;;12301:68:0;;11779:2:1;12301:68:0;;;11761:21:1;11818:2;11798:18;;;11791:30;11857:34;11837:18;;;11830:62;-1:-1:-1;;;11908:18:1;;;11901:35;11953:19;;12301:68:0;11577:401:1;12301:68:0;-1:-1:-1;;;;;12388:16:0;;12380:64;;;;-1:-1:-1;;;12380:64:0;;12185:2:1;12380:64:0;;;12167:21:1;12224:2;12204:18;;;12197:30;12263:34;12243:18;;;12236:62;-1:-1:-1;;;12314:18:1;;;12307:33;12357:19;;12380:64:0;11983:399:1;12380:64:0;12472:1;12463:6;:10;12455:64;;;;-1:-1:-1;;;12455:64:0;;12589:2:1;12455:64:0;;;12571:21:1;12628:2;12608:18;;;12601:30;12667:34;12647:18;;;12640:62;-1:-1:-1;;;12718:18:1;;;12711:39;12767:19;;12455:64:0;12387:405:1;12455:64:0;-1:-1:-1;;;;;12537:22:0;;;;;;:18;:22;;;;;;;;12536:23;:52;;;;-1:-1:-1;;;;;;12564:24:0;;;;;;:18;:24;;;;;;;;12563:25;12536:52;12532:2167;;;12613:11;;-1:-1:-1;;;12613:11:0;;;;12605:54;;;;-1:-1:-1;;;12605:54:0;;12999:2:1;12605:54:0;;;12981:21:1;13038:2;13018:18;;;13011:30;13077:32;13057:18;;;13050:60;13127:18;;12605:54:0;12797:354:1;12605:54:0;12692:12;;12682:6;:22;;12674:63;;;;-1:-1:-1;;;12674:63:0;;13358:2:1;12674:63:0;;;13340:21:1;13397:2;13377:18;;;13370:30;13436;13416:18;;;13409:58;13484:18;;12674:63:0;13156:352:1;12674:63:0;-1:-1:-1;;;;;12779:10:0;;;;;;:4;:10;;;;;;;;12778:11;:24;;;;-1:-1:-1;;;;;;12794:8:0;;;;;;:4;:8;;;;;;;;12793:9;12778:24;12752:121;;;;-1:-1:-1;;;12752:121:0;;13715:2:1;12752:121:0;;;13697:21:1;13754:2;13734:18;;;13727:30;13793:34;13773:18;;;13766:62;-1:-1:-1;;;13844:18:1;;;13837:33;13887:19;;12752:121:0;13513:399:1;12752:121:0;12894:17;;-1:-1:-1;;;12894:17:0;;;;12890:542;;;12971:1;12958:10;;:14;:60;;;;-1:-1:-1;13005:13:0;;-1:-1:-1;;;;;12997:21:0;;;13005:13;;12997:21;12958:60;:109;;;;-1:-1:-1;;;;;;13044:23:0;;;;;;:17;:23;;;;;;;;13043:24;12958:109;:156;;;;-1:-1:-1;;;;;;13093:21:0;;;;;;:17;:21;;;;;;;;13092:22;12958:156;12932:485;;;13190:10;;13176;;13161:25;;:12;:25;:::i;:::-;:39;13157:241;;-1:-1:-1;;;;;13234:14:0;;;;;;:10;:14;;;;;;;;13229:98;;13281:9;:18;;;;;;;-1:-1:-1;13281:18:0;;;;;;;;-1:-1:-1;;;;;;13281:18:0;-1:-1:-1;;;;;13281:18:0;;;;;13229:98;-1:-1:-1;;;;;13353:14:0;;;;;;:10;:14;;;;;:21;;-1:-1:-1;;13353:21:0;13370:4;13353:21;;;13157:241;13458:13;;-1:-1:-1;;;;;13452:19:0;;;13458:13;;13452:19;13448:559;;13504:13;;-1:-1:-1;;;;;13496:21:0;;;13504:13;;13496:21;:38;;;;-1:-1:-1;13521:13:0;;-1:-1:-1;;;13521:13:0;;;;13496:38;13492:333;;;13601:9;13593:18;;;;:7;:18;;;;;;13626:15;;13593:30;;13614:9;13593:30;:::i;:::-;:48;:122;;;;-1:-1:-1;;;;;;13674:11:0;;;;;;:7;:11;;;;;;13700:15;;13674:23;;13688:9;13674:23;:::i;:::-;:41;13593:122;13559:246;;;;-1:-1:-1;;;13559:246:0;;14119:2:1;13559:246:0;;;14101:21:1;14158:2;14138:18;;;14131:30;14197:34;14177:18;;;14170:62;-1:-1:-1;;;14248:18:1;;;14241:36;14294:19;;13559:246:0;13917:402:1;13559:246:0;13898:14;;13889:6;13873:13;13883:2;-1:-1:-1;;;;;9361:18:0;9334:7;9361:18;;;:9;:18;;;;;;;9268:119;13873:13;:22;;;;:::i;:::-;:39;13843:148;;;;-1:-1:-1;;;13843:148:0;;14526:2:1;13843:148:0;;;14508:21:1;14565:2;14545:18;;;14538:30;14604:34;14584:18;;;14577:62;-1:-1:-1;;;14655:18:1;;;14648:33;14698:19;;13843:148:0;14324:399:1;13843:148:0;14072:4;14023:28;9361:18;;;:9;:18;;;;;;14132:19;;14108:43;;;;;14168:126;;14259:19;;14236:42;;14168:126;14314:7;:18;;;;-1:-1:-1;14326:6:0;;-1:-1:-1;;;14326:6:0;;;;14325:7;14314:18;:43;;;;-1:-1:-1;14344:13:0;;-1:-1:-1;;;;;14336:21:0;;;14344:13;;14336:21;;14314:43;:58;;;;-1:-1:-1;14361:11:0;;-1:-1:-1;;;14361:11:0;;;;14314:58;14310:378;;;14393:38;14410:20;14393:16;:38::i;:::-;14521:21;14565:28;;14561:112;;14618:35;14631:21;14618:12;:35::i;:::-;14374:314;14310:378;12590:2109;;12532:2167;-1:-1:-1;;;;;14789:24:0;;14711:12;14789:24;;;:18;:24;;;;;;14726:4;;14789:24;;;:50;;-1:-1:-1;;;;;;14817:22:0;;;;;;:18;:22;;;;;;;;14789:50;14788:115;;;-1:-1:-1;14866:13:0;;-1:-1:-1;;;;;14858:21:0;;;14866:13;;14858:21;;;;:44;;-1:-1:-1;14889:13:0;;-1:-1:-1;;;;;14883:19:0;;;14889:13;;14883:19;;14858:44;14770:537;;;-1:-1:-1;14940:5:0;14770:537;;;15022:13;;-1:-1:-1;;;;;15014:21:0;;;15022:13;;15014:21;:55;;;;-1:-1:-1;15053:15:0;;-1:-1:-1;;;;;15039:30:0;;;15053:15;;15039:30;;15014:55;15010:118;;;15100:12;;15090:7;:22;15010:118;15187:13;;-1:-1:-1;;;;;15181:19:0;;;15187:13;;15181:19;:55;;;;-1:-1:-1;15220:15:0;;-1:-1:-1;;;;;15204:32:0;;;15220:15;;15204:32;;15181:55;15177:119;;;15267:13;;15257:7;:23;15177:119;15325:9;15317:18;;;;:7;:18;;;;;;15338:15;15317:36;;;;-1:-1:-1;;;;;15364:11:0;;;;;;:29;15404:41;15419:4;15372:2;15429:6;15437:7;15404:14;:41::i;:::-;12290:3163;12187:3266;;;:::o;4308:224::-;4428:7;4464:12;4456:6;;;;4448:29;;;;-1:-1:-1;;;4448:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4488:9:0;4500:5;4504:1;4500;:5;:::i;:::-;4488:17;4308:224;-1:-1:-1;;;;;4308:224:0:o;18348:401::-;18512:90;;;;;;;;;;;-1:-1:-1;;;18512:90:0;;;;;;;;-1:-1:-1;;;;;18512:17:0;;18475:4;18512:17;;;:9;:17;;;;;;;:90;;18548:6;;18512:21;:90::i;:::-;-1:-1:-1;;;;;18492:17:0;;;;;;;:9;:17;;;;;;:110;;;;18636:20;;;;;;;:32;;18661:6;18636:24;:32::i;:::-;-1:-1:-1;;;;;18613:20:0;;;;;;;:9;:20;;;;;;;:55;;;;18684:35;;;;;;-1:-1:-1;;;;;;;;;;;18684:35:0;;;18712:6;3294:25:1;;3282:2;3267:18;;3148:177;18684:35:0;;;;;;;;-1:-1:-1;18737:4:0;18348:401;;;;;:::o;3433:191::-;3507:16;3526:6;;-1:-1:-1;;;;;3543:17:0;;;-1:-1:-1;;;;;;3543:17:0;;;;;;3576:40;;3526:6;;;;;;;3576:40;;3507:16;3576:40;3496:128;3433:191;:::o;15461:699::-;7968:6;:13;;-1:-1:-1;;;;7968:13:0;-1:-1:-1;;;7968:13:0;;;;15556:28:::1;15580:3;15556:19;:11:::0;15572:2:::1;15556:15;:19::i;:::-;:23:::0;::::1;:28::i;:::-;15539:45:::0;-1:-1:-1;15595:14:0::1;15612:20;15539:45:::0;15612:11;:20:::1;:::i;:::-;15725:16;::::0;;15739:1:::1;15725:16:::0;;;;;::::1;::::0;;15595:37;;-1:-1:-1;15667:21:0::1;::::0;15643::::1;::::0;15725:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;15725:16:0::1;15701:40;;15770:4;15752;15757:1;15752:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15752:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;15796:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;15796:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;15752:7;;15796:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15786:4;15791:1;15786:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;15786:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;15829:15:::1;::::0;:191:::1;::::0;-1:-1:-1;;;15829:191:0;;:15;::::1;::::0;:66:::1;::::0;:191:::1;::::0;15910:6;;15829:15:::1;::::0;15947:4;;15974::::1;::::0;15994:15:::1;::::0;15829:191:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;16031:17;16051:40;16077:13;16051:21;:25;;:40;;;;:::i;:::-;16031:60:::0;-1:-1:-1;16104:48:0::1;16117:6:::0;16125:26:::1;16147:3;16125:17;16031:60:::0;16139:2:::1;16125:13;:17::i;:26::-;16104:12;:48::i;:::-;-1:-1:-1::0;;8004:6:0;:14;;-1:-1:-1;;;;8004:14:0;;;-1:-1:-1;;;;15461:699:0:o;16168:152::-;16244:17;;:41;;16226:12;;-1:-1:-1;;;;;16244:17:0;;16274:6;;16226:12;16244:41;16226:12;16244:41;16274:6;16244:17;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16225:60;;;16304:7;16296:16;;;;;17305:317;17461:7;17456:159;;17485:41;17500:6;17508:9;17519:6;17485:14;:41::i;:::-;;17456:159;;;17559:44;17577:6;17585:9;17596:6;17559:17;:44::i;4540:246::-;4598:7;4622:6;4618:47;;-1:-1:-1;4652:1:0;4645:8;;4618:47;4675:9;4687:5;4691:1;4687;:5;:::i;:::-;4675:17;-1:-1:-1;4720:1:0;4711:5;4715:1;4675:17;4711:5;:::i;:::-;:10;4703:56;;;;-1:-1:-1;;;4703:56:0;;15912:2:1;4703:56:0;;;15894:21:1;15951:2;15931:18;;;15924:30;15990:34;15970:18;;;15963:62;-1:-1:-1;;;16041:18:1;;;16034:31;16082:19;;4703:56:0;15710:397:1;4794:132:0;4852:7;4879:39;4883:1;4886;4879:39;;;;;;;;;;;;;;;;;:3;:39::i;4164:136::-;4222:7;4249:43;4253:1;4256;4249:43;;;;;;;;;;;;;;;;;:3;:43::i;16328:374::-;16439:15;;:255;;-1:-1:-1;;;16439:255:0;;16511:4;16439:255;;;16453:34:1;16503:18;;;16496:34;;;16439:15:0;16546:18:1;;;16539:34;;;16589:18;;;16582:34;;;16632:19;;;16625:44;16668:15:0;16685:19:1;;;16678:35;-1:-1:-1;;;;;16439:15:0;;;;:31;;16478:9;;16387:19:1;;16439:255:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;17898:442::-;18029:22;18054:24;18063:6;18071;18054:8;:24::i;:::-;18029:49;;18109:90;18145:6;18109:90;;;;;;;;;;;;;-1:-1:-1;;;18109:90:0;;;:9;:17;18119:6;-1:-1:-1;;;;;18109:17:0;-1:-1:-1;;;;;18109:17:0;;;;;;;;;;;;;:21;;:90;;;;;:::i;:::-;-1:-1:-1;;;;;18089:17:0;;;;;;;:9;:17;;;;;;:110;;;;18233:20;;;;;;;:40;;18258:14;18233:24;:40::i;:::-;-1:-1:-1;;;;;18210:20:0;;;;;;;:9;:20;;;;;;;:63;;;;18289:43;;;;;;-1:-1:-1;;;;;;;;;;;18289:43:0;;;18317:14;3294:25:1;;3282:2;3267:18;;3148:177;18289:43:0;;;;;;;;18018:322;17898:442;;;:::o;4934:223::-;5054:7;5089:12;5082:5;5074:28;;;;-1:-1:-1;;;5074:28:0;;;;;;;;:::i;:::-;-1:-1:-1;5113:9:0;5125:5;5129:1;5125;:5;:::i;18757:341::-;18843:7;18868:17;18888:28;18912:3;18888:19;18899:7;;18888:6;:10;;:19;;;;:::i;:28::-;18972:4;18954:24;;;;:9;:24;;;;;;18868:48;;-1:-1:-1;18954:39:0;;18868:48;18954:28;:39::i;:::-;18945:4;18927:24;;;;:9;:24;;;;;;;:66;;;;19009:42;;-1:-1:-1;;;;;19009:42:0;;;-1:-1:-1;;;;;;;;;;;19009:42:0;;;19041:9;3294:25:1;;3282:2;3267:18;;3148:177;19009:42:0;;;;;;;;19069:21;:6;19080:9;19069:10;:21::i;:::-;19062:28;18757:341;-1:-1:-1;;;;18757:341:0:o;14:127:1:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:131;-1:-1:-1;;;;;221:31:1;;211:42;;201:70;;267:1;264;257:12;282:134;350:20;;379:31;350:20;379:31;:::i;:::-;282:134;;;:::o;421:1121::-;505:6;536:2;579;567:9;558:7;554:23;550:32;547:52;;;595:1;592;585:12;547:52;635:9;622:23;664:18;705:2;697:6;694:14;691:34;;;721:1;718;711:12;691:34;759:6;748:9;744:22;734:32;;804:7;797:4;793:2;789:13;785:27;775:55;;826:1;823;816:12;775:55;862:2;849:16;884:2;880;877:10;874:36;;;890:18;;:::i;:::-;936:2;933:1;929:10;968:2;962:9;1031:2;1027:7;1022:2;1018;1014:11;1010:25;1002:6;998:38;1086:6;1074:10;1071:22;1066:2;1054:10;1051:18;1048:46;1045:72;;;1097:18;;:::i;:::-;1133:2;1126:22;1183:18;;;1217:15;;;;-1:-1:-1;1259:11:1;;;1255:20;;;1287:19;;;1284:39;;;1319:1;1316;1309:12;1284:39;1343:11;;;;1363:148;1379:6;1374:3;1371:15;1363:148;;;1445:23;1464:3;1445:23;:::i;:::-;1433:36;;1396:12;;;;1489;;;;1363:148;;;1530:6;421:1121;-1:-1:-1;;;;;;;;421:1121:1:o;1547:597::-;1659:4;1688:2;1717;1706:9;1699:21;1749:6;1743:13;1792:6;1787:2;1776:9;1772:18;1765:34;1817:1;1827:140;1841:6;1838:1;1835:13;1827:140;;;1936:14;;;1932:23;;1926:30;1902:17;;;1921:2;1898:26;1891:66;1856:10;;1827:140;;;1985:6;1982:1;1979:13;1976:91;;;2055:1;2050:2;2041:6;2030:9;2026:22;2022:31;2015:42;1976:91;-1:-1:-1;2128:2:1;2107:15;-1:-1:-1;;2103:29:1;2088:45;;;;2135:2;2084:54;;1547:597;-1:-1:-1;;;1547:597:1:o;2149:315::-;2217:6;2225;2278:2;2266:9;2257:7;2253:23;2249:32;2246:52;;;2294:1;2291;2284:12;2246:52;2333:9;2320:23;2352:31;2377:5;2352:31;:::i;:::-;2402:5;2454:2;2439:18;;;;2426:32;;-1:-1:-1;;;2149:315:1:o;2661:248::-;2729:6;2737;2790:2;2778:9;2769:7;2765:23;2761:32;2758:52;;;2806:1;2803;2796:12;2758:52;-1:-1:-1;;2829:23:1;;;2899:2;2884:18;;;2871:32;;-1:-1:-1;2661:248:1:o;3330:456::-;3407:6;3415;3423;3476:2;3464:9;3455:7;3451:23;3447:32;3444:52;;;3492:1;3489;3482:12;3444:52;3531:9;3518:23;3550:31;3575:5;3550:31;:::i;:::-;3600:5;-1:-1:-1;3657:2:1;3642:18;;3629:32;3670:33;3629:32;3670:33;:::i;:::-;3330:456;;3722:7;;-1:-1:-1;;;3776:2:1;3761:18;;;;3748:32;;3330:456::o;3791:118::-;3877:5;3870:13;3863:21;3856:5;3853:32;3843:60;;3899:1;3896;3889:12;3914:241;3970:6;4023:2;4011:9;4002:7;3998:23;3994:32;3991:52;;;4039:1;4036;4029:12;3991:52;4078:9;4065:23;4097:28;4119:5;4097:28;:::i;4557:180::-;4616:6;4669:2;4657:9;4648:7;4644:23;4640:32;4637:52;;;4685:1;4682;4675:12;4637:52;-1:-1:-1;4708:23:1;;4557:180;-1:-1:-1;4557:180:1:o;4742:382::-;4807:6;4815;4868:2;4856:9;4847:7;4843:23;4839:32;4836:52;;;4884:1;4881;4874:12;4836:52;4923:9;4910:23;4942:31;4967:5;4942:31;:::i;:::-;4992:5;-1:-1:-1;5049:2:1;5034:18;;5021:32;5062:30;5021:32;5062:30;:::i;:::-;5111:7;5101:17;;;4742:382;;;;;:::o;5129:367::-;5192:8;5202:6;5256:3;5249:4;5241:6;5237:17;5233:27;5223:55;;5274:1;5271;5264:12;5223:55;-1:-1:-1;5297:20:1;;5340:18;5329:30;;5326:50;;;5372:1;5369;5362:12;5326:50;5409:4;5401:6;5397:17;5385:29;;5469:3;5462:4;5452:6;5449:1;5445:14;5437:6;5433:27;5429:38;5426:47;5423:67;;;5486:1;5483;5476:12;5423:67;5129:367;;;;;:::o;5501:773::-;5623:6;5631;5639;5647;5700:2;5688:9;5679:7;5675:23;5671:32;5668:52;;;5716:1;5713;5706:12;5668:52;5756:9;5743:23;5785:18;5826:2;5818:6;5815:14;5812:34;;;5842:1;5839;5832:12;5812:34;5881:70;5943:7;5934:6;5923:9;5919:22;5881:70;:::i;:::-;5970:8;;-1:-1:-1;5855:96:1;-1:-1:-1;6058:2:1;6043:18;;6030:32;;-1:-1:-1;6074:16:1;;;6071:36;;;6103:1;6100;6093:12;6071:36;;6142:72;6206:7;6195:8;6184:9;6180:24;6142:72;:::i;:::-;5501:773;;;;-1:-1:-1;6233:8:1;-1:-1:-1;;;;5501:773:1:o;6279:247::-;6338:6;6391:2;6379:9;6370:7;6366:23;6362:32;6359:52;;;6407:1;6404;6397:12;6359:52;6446:9;6433:23;6465:31;6490:5;6465:31;:::i;6531:388::-;6599:6;6607;6660:2;6648:9;6639:7;6635:23;6631:32;6628:52;;;6676:1;6673;6666:12;6628:52;6715:9;6702:23;6734:31;6759:5;6734:31;:::i;:::-;6784:5;-1:-1:-1;6841:2:1;6826:18;;6813:32;6854:33;6813:32;6854:33;:::i;6924:354::-;7126:2;7108:21;;;7165:2;7145:18;;;7138:30;7204:32;7199:2;7184:18;;7177:60;7269:2;7254:18;;6924:354::o;7283:127::-;7344:10;7339:3;7335:20;7332:1;7325:31;7375:4;7372:1;7365:15;7399:4;7396:1;7389:15;7415:127;7476:10;7471:3;7467:20;7464:1;7457:31;7507:4;7504:1;7497:15;7531:4;7528:1;7521:15;7547:135;7586:3;-1:-1:-1;;7607:17:1;;7604:43;;;7627:18;;:::i;:::-;-1:-1:-1;7674:1:1;7663:13;;7547:135::o;7687:125::-;7727:4;7755:1;7752;7749:8;7746:34;;;7760:18;;:::i;:::-;-1:-1:-1;7797:9:1;;7687:125::o;7817:251::-;7887:6;7940:2;7928:9;7919:7;7915:23;7911:32;7908:52;;;7956:1;7953;7946:12;7908:52;7988:9;7982:16;8007:31;8032:5;8007:31;:::i;8073:461::-;8126:3;8164:5;8158:12;8191:6;8186:3;8179:19;8217:4;8246:2;8241:3;8237:12;8230:19;;8283:2;8276:5;8272:14;8304:1;8314:195;8328:6;8325:1;8322:13;8314:195;;;8393:13;;-1:-1:-1;;;;;8389:39:1;8377:52;;8449:12;;;;8484:15;;;;8425:1;8343:9;8314:195;;;-1:-1:-1;8525:3:1;;8073:461;-1:-1:-1;;;;;8073:461:1:o;8539:590::-;8846:6;8835:9;8828:25;8889:6;8884:2;8873:9;8869:18;8862:34;8932:3;8927:2;8916:9;8912:18;8905:31;8809:4;8953:57;9005:3;8994:9;8990:19;8982:6;8953:57;:::i;:::-;-1:-1:-1;;;;;9046:32:1;;;;9041:2;9026:18;;9019:60;-1:-1:-1;9110:3:1;9095:19;9088:35;8945:65;8539:590;-1:-1:-1;;;8539:590:1:o;9623:245::-;9690:6;9743:2;9731:9;9722:7;9718:23;9714:32;9711:52;;;9759:1;9756;9749:12;9711:52;9791:9;9785:16;9810:28;9832:5;9810:28;:::i;11088:128::-;11128:3;11159:1;11155:6;11152:1;11149:13;11146:39;;;11165:18;;:::i;:::-;-1:-1:-1;11201:9:1;;11088:128::o;15315:168::-;15355:7;15421:1;15417;15413:6;15409:14;15406:1;15403:21;15398:1;15391:9;15384:17;15380:45;15377:71;;;15428:18;;:::i;:::-;-1:-1:-1;15468:9:1;;15315:168::o;15488:217::-;15528:1;15554;15544:132;;15598:10;15593:3;15589:20;15586:1;15579:31;15633:4;15630:1;15623:15;15661:4;15658:1;15651:15;15544:132;-1:-1:-1;15690:9:1;;15488:217::o;16724:306::-;16812:6;16820;16828;16881:2;16869:9;16860:7;16856:23;16852:32;16849:52;;;16897:1;16894;16887:12;16849:52;16926:9;16920:16;16910:26;;16976:2;16965:9;16961:18;16955:25;16945:35;;17020:2;17009:9;17005:18;16999:25;16989:35;;16724:306;;;;;:::o

Swarm Source

ipfs://56c67855b2f6234bb88f6a4e8efdd922698a0f82a0cb2ce8b5a263b8a8eddc0e
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.