ETH Price: $3,126.75 (-7.59%)

Token

Ancient Instinct (INSTINCT)
 

Overview

Max Total Supply

1,000,000,000,000 INSTINCT

Holders

56

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
*7mill💰️.eth
Balance
9,256,371,556.340848198 INSTINCT

Value
$0.00
0xa7f4fDbDa4EE701249ffE8160a6521db2573B5F8
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:
INSTINCT

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-03-28
*/

/*
██ ███    ██ ███████ ████████ ██ ███    ██  ██████ ████████     
██ ████   ██ ██         ██    ██ ████   ██ ██         ██        
██ ██ ██  ██ ███████    ██    ██ ██ ██  ██ ██         ██        
██ ██  ██ ██      ██    ██    ██ ██  ██ ██ ██         ██        
██ ██   ████ ███████    ██    ██ ██   ████  ██████    ██        
                                                                
                                                                
 █████  ███    ██  ██████ ██ ███████ ███    ██ ████████     ██ ███    ██ ███████ ████████ ██ ███    ██  ██████ ████████ 
██   ██ ████   ██ ██      ██ ██      ████   ██    ██        ██ ████   ██ ██         ██    ██ ████   ██ ██         ██    
███████ ██ ██  ██ ██      ██ █████   ██ ██  ██    ██        ██ ██ ██  ██ ███████    ██    ██ ██ ██  ██ ██         ██    
██   ██ ██  ██ ██ ██      ██ ██      ██  ██ ██    ██        ██ ██  ██ ██      ██    ██    ██ ██  ██ ██ ██         ██    
██   ██ ██   ████  ██████ ██ ███████ ██   ████    ██        ██ ██   ████ ███████    ██    ██ ██   ████  ██████    ██    
                                                                                                                        
                                                                                                                        



*/

// Babe, will you please turn on google maps?
// No. Ancient instinct will guide me. 
// TG: @InstinctTokenPortal 
// TG: @InstinctTokenPortal 
// TG: @InstinctTokenPortal 
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.4;

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }
    
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
    
}

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

    string private constant _name = "Ancient Instinct";
    string private constant _symbol = "INSTINCT";
    uint8 private constant _decimals = 9;

    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping (address => uint256) private _buyMap;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1e12 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    mapping(address => bool) private _isSniper;
    uint256 public launchTime;

    uint256 private _redisFeeJeets = 3;
    uint256 private _taxFeeJeets = 7;

    uint256 private _redisFeeOnBuy = 3;
    uint256 private _taxFeeOnBuy = 7;
    
    uint256 private _redisFeeOnSell = 3;
    uint256 private _taxFeeOnSell = 7;
    
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _burnFee = 0;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousburnFee = _burnFee;
    
    address payable private _marketingAddress = payable(0x36c7FE01Cd950Bd0a2850575Cf5C1F7E01bB1149);
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public timeJeets = 2 minutes;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private isMaxBuyActivated = true;
    
    uint256 public _maxTxAmount = 2e10 * 10**9; 
    uint256 public _maxWalletSize = 2e10 * 10**9;
    uint256 public _swapTokensAtAmount = 1000 * 10**9;
    uint256 public _minimumBuyAmount = 2e10 * 10**9 ;

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

    constructor() {
        
        _rOwned[_msgSender()] = _rTotal;
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_marketingAddress] = true;
        _isExcludedFromFee[deadAddress] = true;
        
        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

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

    function balanceOf(address account) public view override returns (uint256) {
        return tokenFromReflection(_rOwned[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 tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

    function removeAllFee() private {
        if (_redisFee == 0 && _taxFee == 0 && _burnFee == 0) return;
    
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
        _previousburnFee = _burnFee;
        
        _redisFee = 0;
        _taxFee = 0;
        _burnFee = 0;
    }

    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
        _burnFee = _previousburnFee;
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        require(!_isSniper[to], 'Stop sniping!');
        require(!_isSniper[from], 'Stop sniping!');
        require(!_isSniper[_msgSender()], 'Stop sniping!');

        if (from != owner() && to != owner()) {
            
            if (!tradingOpen) {
                revert("Trading not yet enabled!");
            }
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (to != address(this) && from != address(this) && to != _marketingAddress && from != _marketingAddress) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");
                }
            }

            if (to != uniswapV2Pair && to != _marketingAddress && to != address(this) && to != deadAddress) {
                require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                if (isMaxBuyActivated) {
                    if (block.timestamp <= launchTime + 20 minutes) {
                        require(amount <= _minimumBuyAmount, "Amount too much");
                    }
                }
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance > _swapTokensAtAmount;
            
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                uint256 burntAmount = 0;
                if (_burnFee > 0) {
                    burntAmount = contractTokenBalance.mul(_burnFee).div(10**2);
                    burnTokens(burntAmount);
                }
                swapTokensForEth(contractTokenBalance - burntAmount);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
        
        bool takeFee = true;

        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
                    if (block.timestamp == launchTime) {
                        _isSniper[to] = true;
                    }
            }
    
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (_buyMap[from] != 0 && (_buyMap[from] + timeJeets >= block.timestamp)) {
                    _redisFee = _redisFeeJeets;
                    _taxFee = _taxFeeJeets;
                } else {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }

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

    function burnTokens(uint256 burntAmount) private {
        _transfer(address(this), deadAddress, burntAmount);
    }

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

    function sendETHToFee(uint256 amount) private {
        _marketingAddress.transfer(amount);
    }

    function setTrading() public onlyOwner {
        require(!tradingOpen);
        tradingOpen = true;
        launchTime = block.timestamp;
    }

    function setMarketingWallet(address marketingAddress) external {
        require(_msgSender() == _marketingAddress);
        _marketingAddress = payable(marketingAddress);
        _isExcludedFromFee[_marketingAddress] = true;
    }

    function setIsMaxBuyActivated(bool _isMaxBuyActivated) public onlyOwner {
        isMaxBuyActivated = _isMaxBuyActivated;
    }

    function manualswap(uint256 amount) external {
        require(_msgSender() == _marketingAddress);
        require(amount <= balanceOf(address(this)) && amount > 0, "Wrong amount");
        swapTokensForEth(amount);
    }

    function addSniper(address[] memory snipers) external onlyOwner {
        for(uint256 i= 0; i< snipers.length; i++){
            _isSniper[snipers[i]] = true;
            
        }
    }

    function removeSniper(address sniper) external onlyOwner {
        if (_isSniper[sniper]) {
            _isSniper[sniper] = false;
        }
    }

    function isSniper(address sniper) external view returns (bool){
        return _isSniper[sniper];
    }

    function manualsend() external {
        require(_msgSender() == _marketingAddress);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }

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

    function _transferStandard(
        address sender,
        address recipient,
        uint256 tAmount
    ) private {
        (
            uint256 rAmount,
            uint256 rTransferAmount,
            uint256 rFee,
            uint256 tTransferAmount,
            uint256 tFee,
            uint256 tTeam
        ) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount);
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate = _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    function _getValues(uint256 tAmount)
        private
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) =
            _getTValues(tAmount, _redisFee, _taxFee);
        uint256 currentRate = _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) =
            _getRValues(tAmount, tFee, tTeam, currentRate);
        
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(
        uint256 tAmount,
        uint256 redisFee,
        uint256 taxFee
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 tFee = tAmount.mul(redisFee).div(100);
        uint256 tTeam = tAmount.mul(taxFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);

        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(
        uint256 tAmount,
        uint256 tFee,
        uint256 tTeam,
        uint256 currentRate
    )
        private
        pure
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);

        return (rAmount, rTransferAmount, rFee);
    }

    function _getRate() private view returns (uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();

        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns (uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
    
        return (rSupply, tSupply);
    }

    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
    
    function setMaxTxnAmount(uint256 maxTxAmount) external onlyOwner {
        require(maxTxAmount >= 5e9 * 10**9, "Maximum transaction amount must be greater than 0.5%");
        _maxTxAmount = maxTxAmount;
    }
    
    function setMaxWalletSize(uint256 maxWalletSize) external onlyOwner {
        require(maxWalletSize >= _maxWalletSize);
        _maxWalletSize = maxWalletSize;
    }

    function setTaxFee(uint256 amountBuy, uint256 amountSell) external onlyOwner {
        require(amountBuy >= 0 && amountBuy <= 13);
        require(amountSell >= 0 && amountSell <= 13);
        _taxFeeOnBuy = amountBuy;
        _taxFeeOnSell = amountSell;
    }

    function setRefFee(uint256 amountRefBuy, uint256 amountRefSell) external onlyOwner {
        require(amountRefBuy >= 0 && amountRefBuy <= 1);
        require(amountRefSell >= 0 && amountRefSell <= 1);
        _redisFeeOnBuy = amountRefBuy;
        _redisFeeOnSell = amountRefSell;
    }

    function setBurnFee(uint256 amount) external onlyOwner {
        require(amount >= 0 && amount <= 1);
        _burnFee = amount;
    }

    function setJeetsFee(uint256 amountRedisJeets, uint256 amountTaxJeets) external onlyOwner {
        require(amountRedisJeets >= 0 && amountRedisJeets <= 1);
        require(amountTaxJeets >= 0 && amountTaxJeets <= 19);
        _redisFeeJeets = amountRedisJeets;
        _taxFeeJeets = amountTaxJeets;
    }

    function setTimeJeets(uint256 hoursTime) external onlyOwner {
        require(hoursTime >= 0 && hoursTime <= 4);
        timeJeets = hoursTime * 1 hours;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minimumBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"snipers","type":"address[]"}],"name":"addSniper","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":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isMaxBuyActivated","type":"bool"}],"name":"setIsMaxBuyActivated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRedisJeets","type":"uint256"},{"internalType":"uint256","name":"amountTaxJeets","type":"uint256"}],"name":"setJeetsFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"marketingAddress","type":"address"}],"name":"setMarketingWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRefBuy","type":"uint256"},{"internalType":"uint256","name":"amountRefSell","type":"uint256"}],"name":"setRefFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"},{"internalType":"uint256","name":"amountSell","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"hoursTime","type":"uint256"}],"name":"setTimeJeets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timeJeets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea0000060001962000404565b6200002990600019620003de565b60079081556003600b819055600c829055600d819055600e829055600f81905560108290556011819055601282905560006013819055601491909155601591909155601655601780546001600160a01b0319167336c7fe01cd950bd0a2850575cf5c1f7e01bb11491790556078601855601a805461010160b01b62ffffff60a81b199091161790556801158e460913d00000601b819055601c81905564e8d4a51000601d55601e55348015620000de57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b1580156200019757600080fd5b505afa158015620001ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001d29190620003ac565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021b57600080fd5b505afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002569190620003ac565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200029f57600080fd5b505af1158015620002b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002da9190620003ac565b601a80546001600160a01b0319166001600160a01b039283161790556000805482168152600660209081526040808320805460ff19908116600190811790925530855282852080548216831790556017549095168452818420805486168217905561dead84527f1aecba4ebe7a4e0673e4891b2b092b2228e4322380b579fb494fad3da8586e228054909516179093559151683635c9adc5dea00000815233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000427565b600060208284031215620003bf57600080fd5b81516001600160a01b0381168114620003d757600080fd5b9392505050565b600082821015620003ff57634e487b7160e01b600052601160045260246000fd5b500390565b6000826200042257634e487b7160e01b600052601260045260246000fd5b500690565b61228c80620004376000396000f3fe60806040526004361061021e5760003560e01c806370a082311161012357806395d89b41116100ab578063dd62ed3e1161006f578063dd62ed3e1461064c578063e0f9f6a014610692578063ea1644d5146106b2578063f2fde38b146106d2578063fe72c3c1146106f257600080fd5b806395d89b411461059b5780639ec350ed146105cc5780639f131571146105ec578063a9059cbb1461060c578063c55284901461062c57600080fd5b80637c519ffb116100f25780637c519ffb1461051c5780637d1db4a514610531578063881dce60146105475780638da5cb5b146105675780638f9a55c01461058557600080fd5b806370a08231146104b1578063715018a6146104d157806374010ece146104e6578063790ca4131461050657600080fd5b8063313ce567116101a65780634bf2c7c9116101755780634bf2c7c9146104265780635d098b38146104465780636b9cf534146104665780636d8aa8f81461047c5780636fc3eaec1461049c57600080fd5b8063313ce567146103aa57806333251a0b146103c657806338eea22d146103e657806349bd5a5e1461040657600080fd5b806318160ddd116101ed57806318160ddd1461031657806323b872dd1461033c57806327c8f8351461035c57806328bb665a146103725780632fd689e31461039457600080fd5b806306fdde031461022a578063095ea7b3146102755780630f3a325f146102a55780631694505e146102de57600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5060408051808201909152601081526f105b98da595b9d08125b9cdd1a5b98dd60821b60208201525b60405161026c919061202a565b60405180910390f35b34801561028157600080fd5b50610295610290366004611ed5565b610708565b604051901515815260200161026c565b3480156102b157600080fd5b506102956102c0366004611e21565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156102ea57600080fd5b506019546102fe906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b34801561032257600080fd5b50683635c9adc5dea000005b60405190815260200161026c565b34801561034857600080fd5b50610295610357366004611e94565b61071f565b34801561036857600080fd5b506102fe61dead81565b34801561037e57600080fd5b5061039261038d366004611f01565b610788565b005b3480156103a057600080fd5b5061032e601d5481565b3480156103b657600080fd5b506040516009815260200161026c565b3480156103d257600080fd5b506103926103e1366004611e21565b610827565b3480156103f257600080fd5b50610392610401366004612008565b610896565b34801561041257600080fd5b50601a546102fe906001600160a01b031681565b34801561043257600080fd5b50610392610441366004611fef565b6108e7565b34801561045257600080fd5b50610392610461366004611e21565b610924565b34801561047257600080fd5b5061032e601e5481565b34801561048857600080fd5b50610392610497366004611fcd565b61097e565b3480156104a857600080fd5b506103926109c6565b3480156104bd57600080fd5b5061032e6104cc366004611e21565b6109f0565b3480156104dd57600080fd5b50610392610a12565b3480156104f257600080fd5b50610392610501366004611fef565b610a86565b34801561051257600080fd5b5061032e600a5481565b34801561052857600080fd5b50610392610b2a565b34801561053d57600080fd5b5061032e601b5481565b34801561055357600080fd5b50610392610562366004611fef565b610b84565b34801561057357600080fd5b506000546001600160a01b03166102fe565b34801561059157600080fd5b5061032e601c5481565b3480156105a757600080fd5b50604080518082019091526008815267125394d5125390d560c21b602082015261025f565b3480156105d857600080fd5b506103926105e7366004612008565b610c00565b3480156105f857600080fd5b50610392610607366004611fcd565b610c51565b34801561061857600080fd5b50610295610627366004611ed5565b610c99565b34801561063857600080fd5b50610392610647366004612008565b610ca6565b34801561065857600080fd5b5061032e610667366004611e5b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561069e57600080fd5b506103926106ad366004611fef565b610cf7565b3480156106be57600080fd5b506103926106cd366004611fef565b610d41565b3480156106de57600080fd5b506103926106ed366004611e21565b610d7f565b3480156106fe57600080fd5b5061032e60185481565b6000610715338484610e69565b5060015b92915050565b600061072c848484610f8d565b61077e84336107798560405180606001604052806028815260200161222f602891396001600160a01b038a16600090815260056020908152604080832033845290915290205491906116b4565b610e69565b5060019392505050565b6000546001600160a01b031633146107bb5760405162461bcd60e51b81526004016107b29061207f565b60405180910390fd5b60005b8151811015610823576001600960008484815181106107df576107df6121ed565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061081b816121bc565b9150506107be565b5050565b6000546001600160a01b031633146108515760405162461bcd60e51b81526004016107b29061207f565b6001600160a01b03811660009081526009602052604090205460ff1615610893576001600160a01b0381166000908152600960205260409020805460ff191690555b50565b6000546001600160a01b031633146108c05760405162461bcd60e51b81526004016107b29061207f565b60018211156108ce57600080fd5b60018111156108dc57600080fd5b600d91909155600f55565b6000546001600160a01b031633146109115760405162461bcd60e51b81526004016107b29061207f565b600181111561091f57600080fd5b601355565b6017546001600160a01b0316336001600160a01b03161461094457600080fd5b601780546001600160a01b039092166001600160a01b0319909216821790556000908152600660205260409020805460ff19166001179055565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016107b29061207f565b601a8054911515600160b01b0260ff60b01b19909216919091179055565b6017546001600160a01b0316336001600160a01b0316146109e657600080fd5b47610893816116ee565b6001600160a01b03811660009081526002602052604081205461071990611728565b6000546001600160a01b03163314610a3c5760405162461bcd60e51b81526004016107b29061207f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ab05760405162461bcd60e51b81526004016107b29061207f565b674563918244f40000811015610b255760405162461bcd60e51b815260206004820152603460248201527f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060448201527362652067726561746572207468616e20302e352560601b60648201526084016107b2565b601b55565b6000546001600160a01b03163314610b545760405162461bcd60e51b81526004016107b29061207f565b601a54600160a01b900460ff1615610b6b57600080fd5b601a805460ff60a01b1916600160a01b17905542600a55565b6017546001600160a01b0316336001600160a01b031614610ba457600080fd5b610bad306109f0565b8111158015610bbc5750600081115b610bf75760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b60448201526064016107b2565b610893816117ac565b6000546001600160a01b03163314610c2a5760405162461bcd60e51b81526004016107b29061207f565b6001821115610c3857600080fd5b6013811115610c4657600080fd5b600b91909155600c55565b6000546001600160a01b03163314610c7b5760405162461bcd60e51b81526004016107b29061207f565b601a8054911515600160b81b0260ff60b81b19909216919091179055565b6000610715338484610f8d565b6000546001600160a01b03163314610cd05760405162461bcd60e51b81526004016107b29061207f565b600d821115610cde57600080fd5b600d811115610cec57600080fd5b600e91909155601055565b6000546001600160a01b03163314610d215760405162461bcd60e51b81526004016107b29061207f565b6004811115610d2f57600080fd5b610d3b81610e10612186565b60185550565b6000546001600160a01b03163314610d6b5760405162461bcd60e51b81526004016107b29061207f565b601c54811015610d7a57600080fd5b601c55565b6000546001600160a01b03163314610da95760405162461bcd60e51b81526004016107b29061207f565b6001600160a01b038116610e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ecb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107b2565b6001600160a01b038216610f2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107b2565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ff15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107b2565b6001600160a01b0382166110535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107b2565b600081116110b55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107b2565b6001600160a01b03821660009081526009602052604090205460ff16156110ee5760405162461bcd60e51b81526004016107b2906120b4565b6001600160a01b03831660009081526009602052604090205460ff16156111275760405162461bcd60e51b81526004016107b2906120b4565b3360009081526009602052604090205460ff16156111575760405162461bcd60e51b81526004016107b2906120b4565b6000546001600160a01b0384811691161480159061118357506000546001600160a01b03838116911614155b156114fc57601a54600160a01b900460ff166111e15760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016107b2565b601a546001600160a01b03838116911614801561120c57506019546001600160a01b03848116911614155b156112be576001600160a01b038216301480159061123357506001600160a01b0383163014155b801561124d57506017546001600160a01b03838116911614155b801561126757506017546001600160a01b03848116911614155b156112be57601b548111156112be5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016107b2565b601a546001600160a01b038381169116148015906112ea57506017546001600160a01b03838116911614155b80156112ff57506001600160a01b0382163014155b801561131657506001600160a01b03821661dead14155b156113f657601c5481611328846109f0565b611332919061214c565b1061138b5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016107b2565b601a54600160b81b900460ff16156113f657600a546113ac906104b061214c565b42116113f657601e548111156113f65760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40daeac6d608b1b60448201526064016107b2565b6000611401306109f0565b601d5490915081118080156114205750601a54600160a81b900460ff16155b801561143a5750601a546001600160a01b03868116911614155b801561144f5750601a54600160b01b900460ff165b801561147457506001600160a01b03851660009081526006602052604090205460ff16155b801561149957506001600160a01b03841660009081526006602052604090205460ff16155b156114f957601354600090156114d4576114c960646114c36013548661193590919063ffffffff16565b906119b4565b90506114d4816119f6565b6114e66114e182856121a5565b6117ac565b4780156114f6576114f6476116ee565b50505b50505b6001600160a01b03831660009081526006602052604090205460019060ff168061153e57506001600160a01b03831660009081526006602052604090205460ff165b806115705750601a546001600160a01b038581169116148015906115705750601a546001600160a01b03848116911614155b1561157d575060006116a2565b601a546001600160a01b0385811691161480156115a857506019546001600160a01b03848116911614155b15611603576001600160a01b03831660009081526004602052604090204290819055600d54601155600e54601255600a541415611603576001600160a01b0383166000908152600960205260409020805460ff191660011790555b601a546001600160a01b03848116911614801561162e57506019546001600160a01b03858116911614155b156116a2576001600160a01b0384166000908152600460205260409020541580159061167f57506018546001600160a01b038516600090815260046020526040902054429161167c9161214c565b10155b1561169557600b54601155600c546012556116a2565b600f546011556010546012555b6116ae84848484611a03565b50505050565b600081848411156116d85760405162461bcd60e51b81526004016107b2919061202a565b5060006116e584866121a5565b95945050505050565b6017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610823573d6000803e3d6000fd5b600060075482111561178f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107b2565b6000611799611a37565b90506117a583826119b4565b9392505050565b601a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117f4576117f46121ed565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561184857600080fd5b505afa15801561185c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118809190611e3e565b81600181518110611893576118936121ed565b6001600160a01b0392831660209182029290920101526019546118b99130911684610e69565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906118f29085906000908690309042906004016120db565b600060405180830381600087803b15801561190c57600080fd5b505af1158015611920573d6000803e3d6000fd5b5050601a805460ff60a81b1916905550505050565b60008261194457506000610719565b60006119508385612186565b90508261195d8583612164565b146117a55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107b2565b60006117a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a5a565b6108933061dead83610f8d565b80611a1057611a10611a88565b611a1b848484611acd565b806116ae576116ae601454601155601554601255601654601355565b6000806000611a44611bc4565b9092509050611a5382826119b4565b9250505090565b60008183611a7b5760405162461bcd60e51b81526004016107b2919061202a565b5060006116e58486612164565b601154158015611a985750601254155b8015611aa45750601354155b15611aab57565b6011805460145560128054601555601380546016556000928390559082905555565b600080600080600080611adf87611c06565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611b119087611c63565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611b409086611ca5565b6001600160a01b038916600090815260026020526040902055611b6281611d04565b611b6c8483611d4e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611bb191815260200190565b60405180910390a3505050505050505050565b6007546000908190683635c9adc5dea00000611be082826119b4565b821015611bfd57505060075492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611c238a601154601254611d72565b9250925092506000611c33611a37565b90506000806000611c468e878787611dc1565b919e509c509a509598509396509194505050505091939550919395565b60006117a583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116b4565b600080611cb2838561214c565b9050838110156117a55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107b2565b6000611d0e611a37565b90506000611d1c8383611935565b30600090815260026020526040902054909150611d399082611ca5565b30600090815260026020526040902055505050565b600754611d5b9083611c63565b600755600854611d6b9082611ca5565b6008555050565b6000808080611d8660646114c38989611935565b90506000611d9960646114c38a89611935565b90506000611db182611dab8b86611c63565b90611c63565b9992985090965090945050505050565b6000808080611dd08886611935565b90506000611dde8887611935565b90506000611dec8888611935565b90506000611dfe82611dab8686611c63565b939b939a50919850919650505050505050565b8035611e1c81612219565b919050565b600060208284031215611e3357600080fd5b81356117a581612219565b600060208284031215611e5057600080fd5b81516117a581612219565b60008060408385031215611e6e57600080fd5b8235611e7981612219565b91506020830135611e8981612219565b809150509250929050565b600080600060608486031215611ea957600080fd5b8335611eb481612219565b92506020840135611ec481612219565b929592945050506040919091013590565b60008060408385031215611ee857600080fd5b8235611ef381612219565b946020939093013593505050565b60006020808385031215611f1457600080fd5b823567ffffffffffffffff80821115611f2c57600080fd5b818501915085601f830112611f4057600080fd5b813581811115611f5257611f52612203565b8060051b604051601f19603f83011681018181108582111715611f7757611f77612203565b604052828152858101935084860182860187018a1015611f9657600080fd5b600095505b83861015611fc057611fac81611e11565b855260019590950194938601938601611f9b565b5098975050505050505050565b600060208284031215611fdf57600080fd5b813580151581146117a557600080fd5b60006020828403121561200157600080fd5b5035919050565b6000806040838503121561201b57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156120575785810183015185820160400152820161203b565b81811115612069576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c53746f7020736e6970696e672160981b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561212b5784516001600160a01b031683529383019391830191600101612106565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561215f5761215f6121d7565b500190565b60008261218157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121a0576121a06121d7565b500290565b6000828210156121b7576121b76121d7565b500390565b60006000198214156121d0576121d06121d7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461089357600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bcdd0aeb272d08e9cc43021871c654a33e39de9022ef157db559a90b69f7db9864736f6c63430008070033

Deployed Bytecode

0x60806040526004361061021e5760003560e01c806370a082311161012357806395d89b41116100ab578063dd62ed3e1161006f578063dd62ed3e1461064c578063e0f9f6a014610692578063ea1644d5146106b2578063f2fde38b146106d2578063fe72c3c1146106f257600080fd5b806395d89b411461059b5780639ec350ed146105cc5780639f131571146105ec578063a9059cbb1461060c578063c55284901461062c57600080fd5b80637c519ffb116100f25780637c519ffb1461051c5780637d1db4a514610531578063881dce60146105475780638da5cb5b146105675780638f9a55c01461058557600080fd5b806370a08231146104b1578063715018a6146104d157806374010ece146104e6578063790ca4131461050657600080fd5b8063313ce567116101a65780634bf2c7c9116101755780634bf2c7c9146104265780635d098b38146104465780636b9cf534146104665780636d8aa8f81461047c5780636fc3eaec1461049c57600080fd5b8063313ce567146103aa57806333251a0b146103c657806338eea22d146103e657806349bd5a5e1461040657600080fd5b806318160ddd116101ed57806318160ddd1461031657806323b872dd1461033c57806327c8f8351461035c57806328bb665a146103725780632fd689e31461039457600080fd5b806306fdde031461022a578063095ea7b3146102755780630f3a325f146102a55780631694505e146102de57600080fd5b3661022557005b600080fd5b34801561023657600080fd5b5060408051808201909152601081526f105b98da595b9d08125b9cdd1a5b98dd60821b60208201525b60405161026c919061202a565b60405180910390f35b34801561028157600080fd5b50610295610290366004611ed5565b610708565b604051901515815260200161026c565b3480156102b157600080fd5b506102956102c0366004611e21565b6001600160a01b031660009081526009602052604090205460ff1690565b3480156102ea57600080fd5b506019546102fe906001600160a01b031681565b6040516001600160a01b03909116815260200161026c565b34801561032257600080fd5b50683635c9adc5dea000005b60405190815260200161026c565b34801561034857600080fd5b50610295610357366004611e94565b61071f565b34801561036857600080fd5b506102fe61dead81565b34801561037e57600080fd5b5061039261038d366004611f01565b610788565b005b3480156103a057600080fd5b5061032e601d5481565b3480156103b657600080fd5b506040516009815260200161026c565b3480156103d257600080fd5b506103926103e1366004611e21565b610827565b3480156103f257600080fd5b50610392610401366004612008565b610896565b34801561041257600080fd5b50601a546102fe906001600160a01b031681565b34801561043257600080fd5b50610392610441366004611fef565b6108e7565b34801561045257600080fd5b50610392610461366004611e21565b610924565b34801561047257600080fd5b5061032e601e5481565b34801561048857600080fd5b50610392610497366004611fcd565b61097e565b3480156104a857600080fd5b506103926109c6565b3480156104bd57600080fd5b5061032e6104cc366004611e21565b6109f0565b3480156104dd57600080fd5b50610392610a12565b3480156104f257600080fd5b50610392610501366004611fef565b610a86565b34801561051257600080fd5b5061032e600a5481565b34801561052857600080fd5b50610392610b2a565b34801561053d57600080fd5b5061032e601b5481565b34801561055357600080fd5b50610392610562366004611fef565b610b84565b34801561057357600080fd5b506000546001600160a01b03166102fe565b34801561059157600080fd5b5061032e601c5481565b3480156105a757600080fd5b50604080518082019091526008815267125394d5125390d560c21b602082015261025f565b3480156105d857600080fd5b506103926105e7366004612008565b610c00565b3480156105f857600080fd5b50610392610607366004611fcd565b610c51565b34801561061857600080fd5b50610295610627366004611ed5565b610c99565b34801561063857600080fd5b50610392610647366004612008565b610ca6565b34801561065857600080fd5b5061032e610667366004611e5b565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b34801561069e57600080fd5b506103926106ad366004611fef565b610cf7565b3480156106be57600080fd5b506103926106cd366004611fef565b610d41565b3480156106de57600080fd5b506103926106ed366004611e21565b610d7f565b3480156106fe57600080fd5b5061032e60185481565b6000610715338484610e69565b5060015b92915050565b600061072c848484610f8d565b61077e84336107798560405180606001604052806028815260200161222f602891396001600160a01b038a16600090815260056020908152604080832033845290915290205491906116b4565b610e69565b5060019392505050565b6000546001600160a01b031633146107bb5760405162461bcd60e51b81526004016107b29061207f565b60405180910390fd5b60005b8151811015610823576001600960008484815181106107df576107df6121ed565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790558061081b816121bc565b9150506107be565b5050565b6000546001600160a01b031633146108515760405162461bcd60e51b81526004016107b29061207f565b6001600160a01b03811660009081526009602052604090205460ff1615610893576001600160a01b0381166000908152600960205260409020805460ff191690555b50565b6000546001600160a01b031633146108c05760405162461bcd60e51b81526004016107b29061207f565b60018211156108ce57600080fd5b60018111156108dc57600080fd5b600d91909155600f55565b6000546001600160a01b031633146109115760405162461bcd60e51b81526004016107b29061207f565b600181111561091f57600080fd5b601355565b6017546001600160a01b0316336001600160a01b03161461094457600080fd5b601780546001600160a01b039092166001600160a01b0319909216821790556000908152600660205260409020805460ff19166001179055565b6000546001600160a01b031633146109a85760405162461bcd60e51b81526004016107b29061207f565b601a8054911515600160b01b0260ff60b01b19909216919091179055565b6017546001600160a01b0316336001600160a01b0316146109e657600080fd5b47610893816116ee565b6001600160a01b03811660009081526002602052604081205461071990611728565b6000546001600160a01b03163314610a3c5760405162461bcd60e51b81526004016107b29061207f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03163314610ab05760405162461bcd60e51b81526004016107b29061207f565b674563918244f40000811015610b255760405162461bcd60e51b815260206004820152603460248201527f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060448201527362652067726561746572207468616e20302e352560601b60648201526084016107b2565b601b55565b6000546001600160a01b03163314610b545760405162461bcd60e51b81526004016107b29061207f565b601a54600160a01b900460ff1615610b6b57600080fd5b601a805460ff60a01b1916600160a01b17905542600a55565b6017546001600160a01b0316336001600160a01b031614610ba457600080fd5b610bad306109f0565b8111158015610bbc5750600081115b610bf75760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8185b5bdd5b9d60a21b60448201526064016107b2565b610893816117ac565b6000546001600160a01b03163314610c2a5760405162461bcd60e51b81526004016107b29061207f565b6001821115610c3857600080fd5b6013811115610c4657600080fd5b600b91909155600c55565b6000546001600160a01b03163314610c7b5760405162461bcd60e51b81526004016107b29061207f565b601a8054911515600160b81b0260ff60b81b19909216919091179055565b6000610715338484610f8d565b6000546001600160a01b03163314610cd05760405162461bcd60e51b81526004016107b29061207f565b600d821115610cde57600080fd5b600d811115610cec57600080fd5b600e91909155601055565b6000546001600160a01b03163314610d215760405162461bcd60e51b81526004016107b29061207f565b6004811115610d2f57600080fd5b610d3b81610e10612186565b60185550565b6000546001600160a01b03163314610d6b5760405162461bcd60e51b81526004016107b29061207f565b601c54811015610d7a57600080fd5b601c55565b6000546001600160a01b03163314610da95760405162461bcd60e51b81526004016107b29061207f565b6001600160a01b038116610e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107b2565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610ecb5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016107b2565b6001600160a01b038216610f2c5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016107b2565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610ff15760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107b2565b6001600160a01b0382166110535760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107b2565b600081116110b55760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016107b2565b6001600160a01b03821660009081526009602052604090205460ff16156110ee5760405162461bcd60e51b81526004016107b2906120b4565b6001600160a01b03831660009081526009602052604090205460ff16156111275760405162461bcd60e51b81526004016107b2906120b4565b3360009081526009602052604090205460ff16156111575760405162461bcd60e51b81526004016107b2906120b4565b6000546001600160a01b0384811691161480159061118357506000546001600160a01b03838116911614155b156114fc57601a54600160a01b900460ff166111e15760405162461bcd60e51b815260206004820152601860248201527f54726164696e67206e6f742079657420656e61626c656421000000000000000060448201526064016107b2565b601a546001600160a01b03838116911614801561120c57506019546001600160a01b03848116911614155b156112be576001600160a01b038216301480159061123357506001600160a01b0383163014155b801561124d57506017546001600160a01b03838116911614155b801561126757506017546001600160a01b03848116911614155b156112be57601b548111156112be5760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d69740000000060448201526064016107b2565b601a546001600160a01b038381169116148015906112ea57506017546001600160a01b03838116911614155b80156112ff57506001600160a01b0382163014155b801561131657506001600160a01b03821661dead14155b156113f657601c5481611328846109f0565b611332919061214c565b1061138b5760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b60648201526084016107b2565b601a54600160b81b900460ff16156113f657600a546113ac906104b061214c565b42116113f657601e548111156113f65760405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840e8dede40daeac6d608b1b60448201526064016107b2565b6000611401306109f0565b601d5490915081118080156114205750601a54600160a81b900460ff16155b801561143a5750601a546001600160a01b03868116911614155b801561144f5750601a54600160b01b900460ff165b801561147457506001600160a01b03851660009081526006602052604090205460ff16155b801561149957506001600160a01b03841660009081526006602052604090205460ff16155b156114f957601354600090156114d4576114c960646114c36013548661193590919063ffffffff16565b906119b4565b90506114d4816119f6565b6114e66114e182856121a5565b6117ac565b4780156114f6576114f6476116ee565b50505b50505b6001600160a01b03831660009081526006602052604090205460019060ff168061153e57506001600160a01b03831660009081526006602052604090205460ff165b806115705750601a546001600160a01b038581169116148015906115705750601a546001600160a01b03848116911614155b1561157d575060006116a2565b601a546001600160a01b0385811691161480156115a857506019546001600160a01b03848116911614155b15611603576001600160a01b03831660009081526004602052604090204290819055600d54601155600e54601255600a541415611603576001600160a01b0383166000908152600960205260409020805460ff191660011790555b601a546001600160a01b03848116911614801561162e57506019546001600160a01b03858116911614155b156116a2576001600160a01b0384166000908152600460205260409020541580159061167f57506018546001600160a01b038516600090815260046020526040902054429161167c9161214c565b10155b1561169557600b54601155600c546012556116a2565b600f546011556010546012555b6116ae84848484611a03565b50505050565b600081848411156116d85760405162461bcd60e51b81526004016107b2919061202a565b5060006116e584866121a5565b95945050505050565b6017546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610823573d6000803e3d6000fd5b600060075482111561178f5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b60648201526084016107b2565b6000611799611a37565b90506117a583826119b4565b9392505050565b601a805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106117f4576117f46121ed565b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561184857600080fd5b505afa15801561185c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118809190611e3e565b81600181518110611893576118936121ed565b6001600160a01b0392831660209182029290920101526019546118b99130911684610e69565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac947906118f29085906000908690309042906004016120db565b600060405180830381600087803b15801561190c57600080fd5b505af1158015611920573d6000803e3d6000fd5b5050601a805460ff60a81b1916905550505050565b60008261194457506000610719565b60006119508385612186565b90508261195d8583612164565b146117a55760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016107b2565b60006117a583836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611a5a565b6108933061dead83610f8d565b80611a1057611a10611a88565b611a1b848484611acd565b806116ae576116ae601454601155601554601255601654601355565b6000806000611a44611bc4565b9092509050611a5382826119b4565b9250505090565b60008183611a7b5760405162461bcd60e51b81526004016107b2919061202a565b5060006116e58486612164565b601154158015611a985750601254155b8015611aa45750601354155b15611aab57565b6011805460145560128054601555601380546016556000928390559082905555565b600080600080600080611adf87611c06565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611b119087611c63565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611b409086611ca5565b6001600160a01b038916600090815260026020526040902055611b6281611d04565b611b6c8483611d4e565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611bb191815260200190565b60405180910390a3505050505050505050565b6007546000908190683635c9adc5dea00000611be082826119b4565b821015611bfd57505060075492683635c9adc5dea0000092509050565b90939092509050565b6000806000806000806000806000611c238a601154601254611d72565b9250925092506000611c33611a37565b90506000806000611c468e878787611dc1565b919e509c509a509598509396509194505050505091939550919395565b60006117a583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506116b4565b600080611cb2838561214c565b9050838110156117a55760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016107b2565b6000611d0e611a37565b90506000611d1c8383611935565b30600090815260026020526040902054909150611d399082611ca5565b30600090815260026020526040902055505050565b600754611d5b9083611c63565b600755600854611d6b9082611ca5565b6008555050565b6000808080611d8660646114c38989611935565b90506000611d9960646114c38a89611935565b90506000611db182611dab8b86611c63565b90611c63565b9992985090965090945050505050565b6000808080611dd08886611935565b90506000611dde8887611935565b90506000611dec8888611935565b90506000611dfe82611dab8686611c63565b939b939a50919850919650505050505050565b8035611e1c81612219565b919050565b600060208284031215611e3357600080fd5b81356117a581612219565b600060208284031215611e5057600080fd5b81516117a581612219565b60008060408385031215611e6e57600080fd5b8235611e7981612219565b91506020830135611e8981612219565b809150509250929050565b600080600060608486031215611ea957600080fd5b8335611eb481612219565b92506020840135611ec481612219565b929592945050506040919091013590565b60008060408385031215611ee857600080fd5b8235611ef381612219565b946020939093013593505050565b60006020808385031215611f1457600080fd5b823567ffffffffffffffff80821115611f2c57600080fd5b818501915085601f830112611f4057600080fd5b813581811115611f5257611f52612203565b8060051b604051601f19603f83011681018181108582111715611f7757611f77612203565b604052828152858101935084860182860187018a1015611f9657600080fd5b600095505b83861015611fc057611fac81611e11565b855260019590950194938601938601611f9b565b5098975050505050505050565b600060208284031215611fdf57600080fd5b813580151581146117a557600080fd5b60006020828403121561200157600080fd5b5035919050565b6000806040838503121561201b57600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156120575785810183015185820160400152820161203b565b81811115612069576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201526c53746f7020736e6970696e672160981b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561212b5784516001600160a01b031683529383019391830191600101612106565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561215f5761215f6121d7565b500190565b60008261218157634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156121a0576121a06121d7565b500290565b6000828210156121b7576121b76121d7565b500390565b60006000198214156121d0576121d06121d7565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461089357600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220bcdd0aeb272d08e9cc43021871c654a33e39de9022ef157db559a90b69f7db9864736f6c63430008070033

Deployed Bytecode Sourcemap

7258:16291:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10109:83;;;;;;;;;;-1:-1:-1;10179:5:0;;;;;;;;;;;;-1:-1:-1;;;10179:5:0;;;;10109:83;;;;;;;:::i;:::-;;;;;;;;11034:193;;;;;;;;;;-1:-1:-1;11034:193:0;;;;;:::i;:::-;;:::i;:::-;;;4061:14:1;;4054:22;4036:41;;4024:2;4009:18;11034:193:0;3896:187:1;18096:105:0;;;;;;;;;;-1:-1:-1;18096:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;18176:17:0;18153:4;18176:17;;;:9;:17;;;;;;;;;18096:105;8846:41;;;;;;;;;;-1:-1:-1;8846:41:0;;;;-1:-1:-1;;;;;8846:41:0;;;;;;-1:-1:-1;;;;;3852:32:1;;;3834:51;;3822:2;3807:18;8846:41:0;3688:203:1;10386:95:0;;;;;;;;;;-1:-1:-1;7872:12:0;10386:95;;;11597:25:1;;;11585:2;11570:18;10386:95:0;11451:177:1;11235:446:0;;;;;;;;;;-1:-1:-1;11235:446:0;;;;;:::i;:::-;;:::i;8714:80::-;;;;;;;;;;;;8752:42;8714:80;;17738:192;;;;;;;;;;-1:-1:-1;17738:192:0;;;;;:::i;:::-;;:::i;:::-;;9189:49;;;;;;;;;;;;;;;;10295:83;;;;;;;;;;-1:-1:-1;10295:83:0;;7495:1;12760:36:1;;12748:2;12733:18;10295:83:0;12618:184:1;17938:150:0;;;;;;;;;;-1:-1:-1;17938:150:0;;;;;:::i;:::-;;:::i;22619:291::-;;;;;;;;;;-1:-1:-1;22619:291:0;;;;;:::i;:::-;;:::i;8894:28::-;;;;;;;;;;-1:-1:-1;8894:28:0;;;;-1:-1:-1;;;;;8894:28:0;;;22918:137;;;;;;;;;;-1:-1:-1;22918:137:0;;;;;:::i;:::-;;:::i;17125:235::-;;;;;;;;;;-1:-1:-1;17125:235:0;;;;;:::i;:::-;;:::i;9245:47::-;;;;;;;;;;;;;;;;21833:101;;;;;;;;;;-1:-1:-1;21833:101:0;;;;;:::i;:::-;;:::i;18209:196::-;;;;;;;;;;;;;:::i;10489:138::-;;;;;;;;;;-1:-1:-1;10489:138:0;;;;;:::i;:::-;;:::i;4737:148::-;;;;;;;;;;;;;:::i;21946:212::-;;;;;;;;;;-1:-1:-1;21946:212:0;;;;;:::i;:::-;;:::i;8029:25::-;;;;;;;;;;;;;;;;16970:147;;;;;;;;;;;;;:::i;9088:42::-;;;;;;;;;;;;;;;;17505:225;;;;;;;;;;-1:-1:-1;17505:225:0;;;;;:::i;:::-;;:::i;4523:79::-;;;;;;;;;;-1:-1:-1;4561:7:0;4588:6;-1:-1:-1;;;;;4588:6:0;4523:79;;9138:44;;;;;;;;;;;;;;;;10200:87;;;;;;;;;;-1:-1:-1;10272:7:0;;;;;;;;;;;;-1:-1:-1;;;10272:7:0;;;;10200:87;;23063:311;;;;;;;;;;-1:-1:-1;23063:311:0;;;;;:::i;:::-;;:::i;17368:129::-;;;;;;;;;;-1:-1:-1;17368:129:0;;;;;:::i;:::-;;:::i;10635:199::-;;;;;;;;;;-1:-1:-1;10635:199:0;;;;;:::i;:::-;;:::i;22346:265::-;;;;;;;;;;-1:-1:-1;22346:265:0;;;;;:::i;:::-;;:::i;10842:184::-;;;;;;;;;;-1:-1:-1;10842:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;10991:18:0;;;10959:7;10991:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;10842:184;23382:162;;;;;;;;;;-1:-1:-1;23382:162:0;;;;;:::i;:::-;;:::i;22170:168::-;;;;;;;;;;-1:-1:-1;22170:168:0;;;;;:::i;:::-;;:::i;4897:244::-;;;;;;;;;;-1:-1:-1;4897:244:0;;;;;:::i;:::-;;:::i;8803:36::-;;;;;;;;;;;;;;;;11034:193;11136:4;11158:39;3362:10;11181:7;11190:6;11158:8;:39::i;:::-;-1:-1:-1;11215:4:0;11034:193;;;;;:::o;11235:446::-;11367:4;11384:36;11394:6;11402:9;11413:6;11384:9;:36::i;:::-;11431:220;11454:6;3362:10;11502:138;11558:6;11502:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11502:19:0;;;;;;:11;:19;;;;;;;;3362:10;11502:33;;;;;;;;;;:37;:138::i;:::-;11431:8;:220::i;:::-;-1:-1:-1;11669:4:0;11235:446;;;;;:::o;17738:192::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;;;;;;;;;17817:9:::1;17813:110;17834:7;:14;17831:1;:17;17813:110;;;17893:4;17869:9;:21;17879:7;17887:1;17879:10;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;17869:21:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;17869:21:0;:28;;-1:-1:-1;;17869:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;17850:3;::::1;::::0;::::1;:::i;:::-;;;;17813:110;;;;17738:192:::0;:::o;17938:150::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;18010:17:0;::::1;;::::0;;;:9:::1;:17;::::0;;;;;::::1;;18006:75;;;-1:-1:-1::0;;;;;18044:17:0;::::1;18064:5;18044:17:::0;;;:9:::1;:17;::::0;;;;:25;;-1:-1:-1;;18044:25:0::1;::::0;;18006:75:::1;17938:150:::0;:::o;22619:291::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;22758:1:::1;22742:12;:17;;22713:47;;;::::0;::::1;;22818:1;22801:13;:18;;22771:49;;;::::0;::::1;;22831:14;:29:::0;;;;22871:15:::1;:31:::0;22619:291::o;22918:137::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;23017:1:::1;23007:6;:11;;22984:35;;;::::0;::::1;;23030:8;:17:::0;22918:137::o;17125:235::-;17223:17;;-1:-1:-1;;;;;17223:17:0;3362:10;-1:-1:-1;;;;;17207:33:0;;17199:42;;;;;;17252:17;:45;;-1:-1:-1;;;;;17252:45:0;;;-1:-1:-1;;;;;;17252:45:0;;;;;;;:17;17308:37;;;:18;:37;;;;;:44;;-1:-1:-1;;17308:44:0;17252:45;17308:44;;;17125:235::o;21833:101::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;21900:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21900:26:0::1;-1:-1:-1::0;;;;21900:26:0;;::::1;::::0;;;::::1;::::0;;21833:101::o;18209:196::-;18275:17;;-1:-1:-1;;;;;18275:17:0;3362:10;-1:-1:-1;;;;;18259:33:0;;18251:42;;;;;;18333:21;18365:32;18333:21;18365:12;:32::i;10489:138::-;-1:-1:-1;;;;;10602:16:0;;10555:7;10602:16;;;:7;:16;;;;;;10582:37;;:19;:37::i;4737:148::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;4844:1:::1;4828:6:::0;;4807:40:::1;::::0;-1:-1:-1;;;;;4828:6:0;;::::1;::::0;4807:40:::1;::::0;4844:1;;4807:40:::1;4875:1;4858:19:::0;;-1:-1:-1;;;;;;4858:19:0::1;::::0;;4737:148::o;21946:212::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;22045:11:::1;22030;:26;;22022:91;;;::::0;-1:-1:-1;;;22022:91:0;;8161:2:1;22022:91:0::1;::::0;::::1;8143:21:1::0;8200:2;8180:18;;;8173:30;8239:34;8219:18;;;8212:62;-1:-1:-1;;;8290:18:1;;;8283:50;8350:19;;22022:91:0::1;7959:416:1::0;22022:91:0::1;22124:12;:26:::0;21946:212::o;16970:147::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;17029:11:::1;::::0;-1:-1:-1;;;17029:11:0;::::1;;;17028:12;17020:21;;;::::0;::::1;;17052:11;:18:::0;;-1:-1:-1;;;;17052:18:0::1;-1:-1:-1::0;;;17052:18:0::1;::::0;;17094:15:::1;17081:10;:28:::0;16970:147::o;17505:225::-;17585:17;;-1:-1:-1;;;;;17585:17:0;3362:10;-1:-1:-1;;;;;17569:33:0;;17561:42;;;;;;17632:24;17650:4;17632:9;:24::i;:::-;17622:6;:34;;:48;;;;;17669:1;17660:6;:10;17622:48;17614:73;;;;-1:-1:-1;;;17614:73:0;;11312:2:1;17614:73:0;;;11294:21:1;11351:2;11331:18;;;11324:30;-1:-1:-1;;;11370:18:1;;;11363:42;11422:18;;17614:73:0;11110:336:1;17614:73:0;17698:24;17715:6;17698:16;:24::i;23063:311::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;23217:1:::1;23197:16;:21;;23164:55;;;::::0;::::1;;23279:2;23261:14;:20;;23230:52;;;::::0;::::1;;23293:14;:33:::0;;;;23337:12:::1;:29:::0;23063:311::o;17368:129::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;17451:17:::1;:38:::0;;;::::1;;-1:-1:-1::0;;;17451:38:0::1;-1:-1:-1::0;;;;17451:38:0;;::::1;::::0;;;::::1;::::0;;17368:129::o;10635:199::-;10740:4;10762:42;3362:10;10786:9;10797:6;10762:9;:42::i;22346:265::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;22473:2:::1;22460:9;:15;;22434:42;;;::::0;::::1;;22528:2;22514:10;:16;;22487:44;;;::::0;::::1;;22542:12;:24:::0;;;;22577:13:::1;:26:::0;22346:265::o;23382:162::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;23492:1:::1;23479:9;:14;;23453:41;;;::::0;::::1;;23517:19;:9:::0;23529:7:::1;23517:19;:::i;:::-;23505:9;:31:::0;-1:-1:-1;23382:162:0:o;22170:168::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;22274:14:::1;;22257:13;:31;;22249:40;;;::::0;::::1;;22300:14;:30:::0;22170:168::o;4897:244::-;4650:6;;-1:-1:-1;;;;;4650:6:0;3362:10;4650:22;4642:67;;;;-1:-1:-1;;;4642:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4986:22:0;::::1;4978:73;;;::::0;-1:-1:-1;;;4978:73:0;;6651:2:1;4978:73:0::1;::::0;::::1;6633:21:1::0;6690:2;6670:18;;;6663:30;6729:34;6709:18;;;6702:62;-1:-1:-1;;;6780:18:1;;;6773:36;6826:19;;4978:73:0::1;6449:402:1::0;4978:73:0::1;5088:6;::::0;;5067:38:::1;::::0;-1:-1:-1;;;;;5067:38:0;;::::1;::::0;5088:6;::::1;::::0;5067:38:::1;::::0;::::1;5116:6;:17:::0;;-1:-1:-1;;;;;;5116:17:0::1;-1:-1:-1::0;;;;;5116:17:0;;;::::1;::::0;;;::::1;::::0;;4897:244::o;12500:369::-;-1:-1:-1;;;;;12627:19:0;;12619:68;;;;-1:-1:-1;;;12619:68:0;;10907:2:1;12619:68:0;;;10889:21:1;10946:2;10926:18;;;10919:30;10985:34;10965:18;;;10958:62;-1:-1:-1;;;11036:18:1;;;11029:34;11080:19;;12619:68:0;10705:400:1;12619:68:0;-1:-1:-1;;;;;12706:21:0;;12698:68;;;;-1:-1:-1;;;12698:68:0;;7058:2:1;12698:68:0;;;7040:21:1;7097:2;7077:18;;;7070:30;7136:34;7116:18;;;7109:62;-1:-1:-1;;;7187:18:1;;;7180:32;7229:19;;12698:68:0;6856:398:1;12698:68:0;-1:-1:-1;;;;;12777:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;12829:32;;11597:25:1;;;12829:32:0;;11570:18:1;12829:32:0;;;;;;;12500:369;;;:::o;12877:3361::-;-1:-1:-1;;;;;12999:18:0;;12991:68;;;;-1:-1:-1;;;12991:68:0;;9755:2:1;12991:68:0;;;9737:21:1;9794:2;9774:18;;;9767:30;9833:34;9813:18;;;9806:62;-1:-1:-1;;;9884:18:1;;;9877:35;9929:19;;12991:68:0;9553:401:1;12991:68:0;-1:-1:-1;;;;;13078:16:0;;13070:64;;;;-1:-1:-1;;;13070:64:0;;5126:2:1;13070:64:0;;;5108:21:1;5165:2;5145:18;;;5138:30;5204:34;5184:18;;;5177:62;-1:-1:-1;;;5255:18:1;;;5248:33;5298:19;;13070:64:0;4924:399:1;13070:64:0;13162:1;13153:6;:10;13145:64;;;;-1:-1:-1;;;13145:64:0;;9345:2:1;13145:64:0;;;9327:21:1;9384:2;9364:18;;;9357:30;9423:34;9403:18;;;9396:62;-1:-1:-1;;;9474:18:1;;;9467:39;9523:19;;13145:64:0;9143:405:1;13145:64:0;-1:-1:-1;;;;;13229:13:0;;;;;;:9;:13;;;;;;;;13228:14;13220:40;;;;-1:-1:-1;;;13220:40:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13280:15:0;;;;;;:9;:15;;;;;;;;13279:16;13271:42;;;;-1:-1:-1;;;13271:42:0;;;;;;;:::i;:::-;3362:10;13333:23;;;;:9;:23;;;;;;;;13332:24;13324:50;;;;-1:-1:-1;;;13324:50:0;;;;;;;:::i;:::-;4561:7;4588:6;-1:-1:-1;;;;;13391:15:0;;;4588:6;;13391:15;;;;:32;;-1:-1:-1;4561:7:0;4588:6;-1:-1:-1;;;;;13410:13:0;;;4588:6;;13410:13;;13391:32;13387:1781;;;13459:11;;-1:-1:-1;;;13459:11:0;;;;13454:87;;13491:34;;-1:-1:-1;;;13491:34:0;;5530:2:1;13491:34:0;;;5512:21:1;5569:2;5549:18;;;5542:30;5608:26;5588:18;;;5581:54;5652:18;;13491:34:0;5328:348:1;13454:87:0;13579:13;;-1:-1:-1;;;;;13573:19:0;;;13579:13;;13573:19;:55;;;;-1:-1:-1;13612:15:0;;-1:-1:-1;;;;;13596:32:0;;;13612:15;;13596:32;;13573:55;13569:307;;;-1:-1:-1;;;;;13653:19:0;;13667:4;13653:19;;;;:44;;-1:-1:-1;;;;;;13676:21:0;;13692:4;13676:21;;13653:44;:71;;;;-1:-1:-1;13707:17:0;;-1:-1:-1;;;;;13701:23:0;;;13707:17;;13701:23;;13653:71;:100;;;;-1:-1:-1;13736:17:0;;-1:-1:-1;;;;;13728:25:0;;;13736:17;;13728:25;;13653:100;13649:212;;;13796:12;;13786:6;:22;;13778:63;;;;-1:-1:-1;;;13778:63:0;;6294:2:1;13778:63:0;;;6276:21:1;6333:2;6313:18;;;6306:30;6372;6352:18;;;6345:58;6420:18;;13778:63:0;6092:352:1;13778:63:0;13902:13;;-1:-1:-1;;;;;13896:19:0;;;13902:13;;13896:19;;;;:46;;-1:-1:-1;13925:17:0;;-1:-1:-1;;;;;13919:23:0;;;13925:17;;13919:23;;13896:46;:69;;;;-1:-1:-1;;;;;;13946:19:0;;13960:4;13946:19;;13896:69;:90;;;;-1:-1:-1;;;;;;13969:17:0;;8752:42;13969:17;;13896:90;13892:455;;;14040:14;;14031:6;14015:13;14025:2;14015:9;:13::i;:::-;:22;;;;:::i;:::-;:39;14007:87;;;;-1:-1:-1;;;14007:87:0;;10161:2:1;14007:87:0;;;10143:21:1;10200:2;10180:18;;;10173:30;10239:34;10219:18;;;10212:62;-1:-1:-1;;;10290:18:1;;;10283:33;10333:19;;14007:87:0;9959:399:1;14007:87:0;14117:17;;-1:-1:-1;;;14117:17:0;;;;14113:219;;;14182:10;;:23;;14195:10;14182:23;:::i;:::-;14163:15;:42;14159:154;;14252:17;;14242:6;:27;;14234:55;;;;-1:-1:-1;;;14234:55:0;;7461:2:1;14234:55:0;;;7443:21:1;7500:2;7480:18;;;7473:30;-1:-1:-1;;;7519:18:1;;;7512:45;7574:18;;14234:55:0;7259:339:1;14234:55:0;14375:28;14406:24;14424:4;14406:9;:24::i;:::-;14483:19;;14375:55;;-1:-1:-1;14460:42:0;;;14535:18;;;;-1:-1:-1;14547:6:0;;-1:-1:-1;;;14547:6:0;;;;14546:7;14535:18;:43;;;;-1:-1:-1;14565:13:0;;-1:-1:-1;;;;;14557:21:0;;;14565:13;;14557:21;;14535:43;:58;;;;-1:-1:-1;14582:11:0;;-1:-1:-1;;;14582:11:0;;;;14535:58;:87;;;;-1:-1:-1;;;;;;14598:24:0;;;;;;:18;:24;;;;;;;;14597:25;14535:87;:114;;;;-1:-1:-1;;;;;;14627:22:0;;;;;;:18;:22;;;;;;;;14626:23;14535:114;14531:626;;;14716:8;;14670:19;;14716:12;14712:166;;14767:45;14806:5;14767:34;14792:8;;14767:20;:24;;:34;;;;:::i;:::-;:38;;:45::i;:::-;14753:59;;14835:23;14846:11;14835:10;:23::i;:::-;14896:52;14913:34;14936:11;14913:20;:34;:::i;:::-;14896:16;:52::i;:::-;14996:21;15040:22;;15036:106;;15087:35;15100:21;15087:12;:35::i;:::-;14651:506;;14531:626;13425:1743;;13387:1781;-1:-1:-1;;;;;15225:24:0;;15188:12;15225:24;;;:18;:24;;;;;;15203:4;;15225:24;;;:50;;-1:-1:-1;;;;;;15253:22:0;;;;;;:18;:22;;;;;;;;15225:50;15224:102;;;-1:-1:-1;15289:13:0;;-1:-1:-1;;;;;15281:21:0;;;15289:13;;15281:21;;;;:44;;-1:-1:-1;15312:13:0;;-1:-1:-1;;;;;15306:19:0;;;15312:13;;15306:19;;15281:44;15220:957;;;-1:-1:-1;15353:5:0;15220:957;;;15402:13;;-1:-1:-1;;;;;15394:21:0;;;15402:13;;15394:21;:55;;;;-1:-1:-1;15433:15:0;;-1:-1:-1;;;;;15419:30:0;;;15433:15;;15419:30;;15394:55;15391:350;;;-1:-1:-1;;;;;15474:11:0;;;;;;:7;:11;;;;;15488:15;15474:29;;;;15538:14;;15526:9;:26;15585:12;;15575:7;:22;15643:10;;15624:29;15620:106;;;-1:-1:-1;;;;;15682:13:0;;;;;;:9;:13;;;;;:20;;-1:-1:-1;;15682:20:0;15698:4;15682:20;;;15620:106;15771:13;;-1:-1:-1;;;;;15765:19:0;;;15771:13;;15765:19;:55;;;;-1:-1:-1;15804:15:0;;-1:-1:-1;;;;;15788:32:0;;;15804:15;;15788:32;;15765:55;15761:405;;;-1:-1:-1;;;;;15845:13:0;;;;;;:7;:13;;;;;;:18;;;;:68;;-1:-1:-1;15884:9:0;;-1:-1:-1;;;;;15868:13:0;;;;;;:7;:13;;;;;;15897:15;;15868:25;;;:::i;:::-;:44;;15845:68;15841:310;;;15950:14;;15938:9;:26;15997:12;;15987:7;:22;15841:310;;;16070:15;;16058:9;:27;16118:13;;16108:7;:23;15841:310;16189:41;16204:4;16210:2;16214:6;16222:7;16189:14;:41::i;:::-;12980:3258;12877:3361;;;:::o;5509:224::-;5629:7;5665:12;5657:6;;;;5649:29;;;;-1:-1:-1;;;5649:29:0;;;;;;;;:::i;:::-;-1:-1:-1;5689:9:0;5701:5;5705:1;5701;:5;:::i;:::-;5689:17;5509:224;-1:-1:-1;;;;;5509:224:0:o;16863:99::-;16920:17;;:34;;-1:-1:-1;;;;;16920:17:0;;;;:34;;;;;16947:6;;16920:17;:34;:17;:34;16947:6;16920:17;:34;;;;;;;;;;;;;;;;;;;11689:323;11784:7;11842;;11831;:18;;11809:110;;;;-1:-1:-1;;;11809:110:0;;5883:2:1;11809:110:0;;;5865:21:1;5922:2;5902:18;;;5895:30;5961:34;5941:18;;;5934:62;-1:-1:-1;;;6012:18:1;;;6005:40;6062:19;;11809:110:0;5681:406:1;11809:110:0;11930:19;11952:10;:8;:10::i;:::-;11930:32;-1:-1:-1;11980:24:0;:7;11930:32;11980:11;:24::i;:::-;11973:31;11689:323;-1:-1:-1;;;11689:323:0:o;16372:483::-;9387:6;:13;;-1:-1:-1;;;;9387:13:0;-1:-1:-1;;;9387:13:0;;;16474:16:::1;::::0;;16488:1:::1;16474:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16474:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16474:16:0::1;16450:40;;16519:4;16501;16506:1;16501:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16501:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16545:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16545:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16501:7;;16545:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16535:4;16540:1;16535:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;16535:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16610:15:::1;::::0;16578:62:::1;::::0;16595:4:::1;::::0;16610:15:::1;16628:11:::0;16578:8:::1;:62::i;:::-;16651:15;::::0;:196:::1;::::0;-1:-1:-1;;;16651:196:0;;-1:-1:-1;;;;;16651:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16732:11;;16651:15:::1;::::0;16774:4;;16801::::1;::::0;16821:15:::1;::::0;16651:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;9423:6:0;:14;;-1:-1:-1;;;;9423:14:0;;;-1:-1:-1;;;;16372:483:0:o;5741:246::-;5799:7;5823:6;5819:47;;-1:-1:-1;5853:1:0;5846:8;;5819:47;5876:9;5888:5;5892:1;5888;:5;:::i;:::-;5876:17;-1:-1:-1;5921:1:0;5912:5;5916:1;5876:17;5912:5;:::i;:::-;:10;5904:56;;;;-1:-1:-1;;;5904:56:0;;8582:2:1;5904:56:0;;;8564:21:1;8621:2;8601:18;;;8594:30;8660:34;8640:18;;;8633:62;-1:-1:-1;;;8711:18:1;;;8704:31;8752:19;;5904:56:0;8380:397:1;5995:132:0;6053:7;6080:39;6084:1;6087;6080:39;;;;;;;;;;;;;;;;;:3;:39::i;16246:118::-;16306:50;16324:4;8752:42;16344:11;16306:9;:50::i;18413:282::-;18569:7;18564:28;;18578:14;:12;:14::i;:::-;18603:44;18621:6;18629:9;18640:6;18603:17;:44::i;:::-;18663:7;18658:29;;18672:15;12393:17;;12381:9;:29;12431:15;;12421:7;:25;12468:16;;12457:8;:27;12337:155;21388:166;21430:7;21451:15;21468;21487:19;:17;:19::i;:::-;21450:56;;-1:-1:-1;21450:56:0;-1:-1:-1;21526:20:0;21450:56;;21526:11;:20::i;:::-;21519:27;;;;21388:166;:::o;6135:223::-;6255:7;6290:12;6283:5;6275:28;;;;-1:-1:-1;;;6275:28:0;;;;;;;;:::i;:::-;-1:-1:-1;6314:9:0;6326:5;6330:1;6326;:5;:::i;12020:309::-;12067:9;;:14;:30;;;;-1:-1:-1;12085:7:0;;:12;12067:30;:47;;;;-1:-1:-1;12101:8:0;;:13;12067:47;12063:60;;;12020:309::o;12063:60::-;12159:9;;;12139:17;:29;12197:7;;;12179:15;:25;12234:8;;;12215:16;:27;-1:-1:-1;12263:13:0;;;;12287:11;;;;12309:12;12020:309::o;18703:610::-;18850:15;18880:23;18918:12;18945:23;18983:12;19010:13;19037:19;19048:7;19037:10;:19::i;:::-;-1:-1:-1;;;;;19085:15:0;;;;;;:7;:15;;;;;;18835:221;;-1:-1:-1;18835:221:0;;-1:-1:-1;18835:221:0;;-1:-1:-1;18835:221:0;-1:-1:-1;18835:221:0;-1:-1:-1;18835:221:0;-1:-1:-1;19085:28:0;;18835:221;19085:19;:28::i;:::-;-1:-1:-1;;;;;19067:15:0;;;;;;;:7;:15;;;;;;:46;;;;19145:18;;;;;;;:39;;19168:15;19145:22;:39::i;:::-;-1:-1:-1;;;;;19124:18:0;;;;;;:7;:18;;;;;:60;19195:16;19205:5;19195:9;:16::i;:::-;19222:23;19234:4;19240;19222:11;:23::i;:::-;19278:9;-1:-1:-1;;;;;19261:44:0;19270:6;-1:-1:-1;;;;;19261:44:0;;19289:15;19261:44;;;;11597:25:1;;11585:2;11570:18;;11451:177;19261:44:0;;;;;;;;18824:489;;;;;;18703:610;;;:::o;21562:263::-;21660:7;;21613;;;;7872:12;21728:20;21660:7;7872:12;21728:11;:20::i;:::-;21718:7;:30;21714:61;;;-1:-1:-1;;21758:7:0;;;7872:12;;-1:-1:-1;21562:263:0;-1:-1:-1;21562:263:0:o;21714:61::-;21800:7;;21809;;-1:-1:-1;21562:263:0;-1:-1:-1;21562:263:0:o;19732:625::-;19832:7;19854;19876;19898;19920;19942;19978:23;20003:12;20017:13;20047:40;20059:7;20068:9;;20079:7;;20047:11;:40::i;:::-;19977:110;;;;;;20098:19;20120:10;:8;:10::i;:::-;20098:32;;20142:15;20159:23;20184:12;20213:46;20225:7;20234:4;20240:5;20247:11;20213;:46::i;:::-;20141:118;;-1:-1:-1;20141:118:0;-1:-1:-1;20141:118:0;-1:-1:-1;20320:15:0;;-1:-1:-1;20337:4:0;;-1:-1:-1;20343:5:0;;-1:-1:-1;;;;;19732:625:0;;;;;;;:::o;5365:136::-;5423:7;5450:43;5454:1;5457;5450:43;;;;;;;;;;;;;;;;;:3;:43::i;5178:179::-;5236:7;;5268:5;5272:1;5268;:5;:::i;:::-;5256:17;;5297:1;5292;:6;;5284:46;;;;-1:-1:-1;;;5284:46:0;;7805:2:1;5284:46:0;;;7787:21:1;7844:2;7824:18;;;7817:30;7883:29;7863:18;;;7856:57;7930:18;;5284:46:0;7603:351:1;19321:211:0;19374:19;19396:10;:8;:10::i;:::-;19374:32;-1:-1:-1;19417:13:0;19433:22;:5;19374:32;19433:9;:22::i;:::-;19507:4;19491:22;;;;:7;:22;;;;;;19417:38;;-1:-1:-1;19491:33:0;;19417:38;19491:26;:33::i;:::-;19482:4;19466:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;19321:211:0:o;19540:147::-;19618:7;;:17;;19630:4;19618:11;:17::i;:::-;19608:7;:27;19659:10;;:20;;19674:4;19659:14;:20::i;:::-;19646:10;:33;-1:-1:-1;;19540:147:0:o;20365:471::-;20534:7;;;;20628:30;20654:3;20628:21;:7;20640:8;20628:11;:21::i;:30::-;20613:45;-1:-1:-1;20669:13:0;20685:28;20709:3;20685:19;:7;20697:6;20685:11;:19::i;:28::-;20669:44;-1:-1:-1;20724:23:0;20750:28;20669:44;20750:17;:7;20762:4;20750:11;:17::i;:::-;:21;;:28::i;:::-;20724:54;20816:4;;-1:-1:-1;20822:5:0;;-1:-1:-1;20365:471:0;;-1:-1:-1;;;;;20365:471:0:o;20844:536::-;21038:7;;;;21135:24;:7;21147:11;21135;:24::i;:::-;21117:42;-1:-1:-1;21170:12:0;21185:21;:4;21194:11;21185:8;:21::i;:::-;21170:36;-1:-1:-1;21217:13:0;21233:22;:5;21243:11;21233:9;:22::i;:::-;21217:38;-1:-1:-1;21266:23:0;21292:28;21217:38;21292:17;:7;21304:4;21292:11;:17::i;:28::-;21341:7;;;;-1:-1:-1;21367:4:0;;-1:-1:-1;20844:536:0;;-1:-1:-1;;;;;;;20844:536:0:o;14:134:1:-;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:273::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3189:5;3182:13;3175:21;3168:5;3165:32;3155:60;;3211:1;3208;3201:12;3250:180;3309:6;3362:2;3350:9;3341:7;3337:23;3333:32;3330:52;;;3378:1;3375;3368:12;3330:52;-1:-1:-1;3401:23:1;;3250:180;-1:-1:-1;3250:180:1:o;3435:248::-;3503:6;3511;3564:2;3552:9;3543:7;3539:23;3535:32;3532:52;;;3580:1;3577;3570:12;3532:52;-1:-1:-1;;3603:23:1;;;3673:2;3658:18;;;3645:32;;-1:-1:-1;3435:248:1:o;4322:597::-;4434:4;4463:2;4492;4481:9;4474:21;4524:6;4518:13;4567:6;4562:2;4551:9;4547:18;4540:34;4592:1;4602:140;4616:6;4613:1;4610:13;4602:140;;;4711:14;;;4707:23;;4701:30;4677:17;;;4696:2;4673:26;4666:66;4631:10;;4602:140;;;4760:6;4757:1;4754:13;4751:91;;;4830:1;4825:2;4816:6;4805:9;4801:22;4797:31;4790:42;4751:91;-1:-1:-1;4903:2:1;4882:15;-1:-1:-1;;4878:29:1;4863:45;;;;4910:2;4859:54;;4322:597;-1:-1:-1;;;4322:597:1:o;8782:356::-;8984:2;8966:21;;;9003:18;;;8996:30;9062:34;9057:2;9042:18;;9035:62;9129:2;9114:18;;8782:356::o;10363:337::-;10565:2;10547:21;;;10604:2;10584:18;;;10577:30;-1:-1:-1;;;10638:2:1;10623:18;;10616:43;10691:2;10676:18;;10363:337::o;11633:980::-;11895:4;11943:3;11932:9;11928:19;11974:6;11963:9;11956:25;12000:2;12038:6;12033:2;12022:9;12018:18;12011:34;12081:3;12076:2;12065:9;12061:18;12054:31;12105:6;12140;12134:13;12171:6;12163;12156:22;12209:3;12198:9;12194:19;12187:26;;12248:2;12240:6;12236:15;12222:29;;12269:1;12279:195;12293:6;12290:1;12287:13;12279:195;;;12358:13;;-1:-1:-1;;;;;12354:39:1;12342:52;;12449:15;;;;12414:12;;;;12390:1;12308:9;12279:195;;;-1:-1:-1;;;;;;;12530:32:1;;;;12525:2;12510:18;;12503:60;-1:-1:-1;;;12594:3:1;12579:19;12572:35;12491:3;11633:980;-1:-1:-1;;;11633:980:1:o;12807:128::-;12847:3;12878:1;12874:6;12871:1;12868:13;12865:39;;;12884:18;;:::i;:::-;-1:-1:-1;12920:9:1;;12807:128::o;12940:217::-;12980:1;13006;12996:132;;13050:10;13045:3;13041:20;13038:1;13031:31;13085:4;13082:1;13075:15;13113:4;13110:1;13103:15;12996:132;-1:-1:-1;13142:9:1;;12940:217::o;13162:168::-;13202:7;13268:1;13264;13260:6;13256:14;13253:1;13250:21;13245:1;13238:9;13231:17;13227:45;13224:71;;;13275:18;;:::i;:::-;-1:-1:-1;13315:9:1;;13162:168::o;13335:125::-;13375:4;13403:1;13400;13397:8;13394:34;;;13408:18;;:::i;:::-;-1:-1:-1;13445:9:1;;13335:125::o;13465:135::-;13504:3;-1:-1:-1;;13525:17:1;;13522:43;;;13545:18;;:::i;:::-;-1:-1:-1;13592:1:1;13581:13;;13465:135::o;13605:127::-;13666:10;13661:3;13657:20;13654:1;13647:31;13697:4;13694:1;13687:15;13721:4;13718:1;13711:15;13737:127;13798:10;13793:3;13789:20;13786:1;13779:31;13829:4;13826:1;13819:15;13853:4;13850:1;13843:15;13869:127;13930:10;13925:3;13921:20;13918:1;13911:31;13961:4;13958:1;13951:15;13985:4;13982:1;13975:15;14001:131;-1:-1:-1;;;;;14076:31:1;;14066:42;;14056:70;;14122:1;14119;14112:12

Swarm Source

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