ETH Price: $2,272.42 (-4.68%)

Token

HEX WORLD (HXD)
 

Overview

Max Total Supply

2,000,000,000 HXD

Holders

82

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
8,381.858569134909306453 HXD

Value
$0.00
0xd665b6575e4a184ab3851ca995e5fde358cdc73e
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:
HXDCore

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

/* 
             The key to happiness is ha                   
             h                        v             |_           _                                      _           __          |           _|
             e        |      |        i             | |         (/_         ><             \^/         (_)          |           |          (_|          
                ------|------|------  n
             k     ___|______|___     g                  
             e     |   |    |   |                   🌐主页网址     https://static.ssl.jimingkeji.com.cn/hex_world
             y     |___|____|___|     d                  
                 /-----------------/  r             🐦推特页面     https://twitter.com/HEXWORLD_CN
             t  /     /________   /   e
             o      _/        /       a             🤖代码库       https://github.com/HEX-WORLD?tab=repositories
                       \     /        m
             s           \ /          s             初始流动性:     1,0 以太坊 / 没有团队供应
             u           /            .             代币总供应量:   2,000,000,000 HXD
             c     ____/              e             钱包限额:      30,000,000 / 一点五待提高
             c                        u             手续费:        1.0 / 9.0 九分之一
             ess is making them come tr             社区页面:      微信将在推特上公布

*/
// 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 IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

    function name() external pure returns (string memory);
    function symbol() external pure returns (string memory);
    function decimals() external pure returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);

    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);

    function DOMAIN_SEPARATOR() external view returns (bytes32);
    function PERMIT_TYPEHASH() external pure returns (bytes32);
    function nonces(address owner) external view returns (uint);

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;

    event Mint(address indexed sender, uint amount0, uint amount1);
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

    function MINIMUM_LIQUIDITY() external pure returns (uint);
    function factory() external view returns (address);
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function price0CumulativeLast() external view returns (uint);
    function price1CumulativeLast() external view returns (uint);
    function kLast() external view returns (uint);

    function mint(address to) external returns (uint liquidity);
    function burn(address to) external returns (uint amount0, uint amount1);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function skim(address to) external;
    function sync() external;

    function initialize(address, address) external;
}

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 HXDCore is Context, IERC20, Ownable {
 
    using SafeMath for uint256;
 
    string private constant _name = "HEX WORLD";//
    string private constant _symbol = "HXD";//
    uint8 private constant _decimals = 18;
 
    mapping(address => uint256) private _rOwned;
    mapping(address => uint256) private _tOwned;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFee;
    mapping(address => bool) private _isExcludedFromTx;

    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 2_000_000_000 * 10**18;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;

    uint256 public percentForLPBurn = 25; // 25 = .25%
    bool public lpBurnEnabled = true;
    uint256 public lpBurnFrequency = 3600 seconds;
    uint256 public lastLpBurnTime;

    uint256 public manualBurnFrequency = 30 minutes;
    uint256 public lastManualLpBurnTime;

 
    //Buy Fee
    uint256 private _redisFeeOnBuy = 1;//
    uint256 private _taxFeeOnBuy = 0;//
 
    //Sell Fee
    uint256 private _redisFeeOnSell = 2;//
    uint256 private _taxFeeOnSell = 7;//
 
    //Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
 
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
  
    address payable private _developmentAddress = payable(0x6a7c79497cC5D15De732e86a0722A28DF209F16F);
    address payable private _marketingAddress = payable(0x6a7c79497cC5D15De732e86a0722A28DF209F16F);

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool public tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private limitedTransfer = true;
 
    uint256 public _maxTxAmount = 30000000 * 1e18; //
    uint256 public _maxWalletSize = 30000000 * 1e18; //
    uint256 private _swapTokensAtAmount = 5000000 * 1e18; //
 
    event MaxTxAmountUpdated(uint256 _maxTxAmount);
    event AutoNukeLP();
    event ManualNukeLP();

    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[address(uniswapV2Router)] = true;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[address(0xdead)] = true;
        _isExcludedFromFee[_developmentAddress] = true;
        _isExcludedFromFee[_marketingAddress] = 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) return;
 
        _previousredisFee = _redisFee;
        _previoustaxFee = _taxFee;
 
        _redisFee = 0;
        _taxFee = 0;
    }
 
    function restoreAllFee() private {
        _redisFee = _previousredisFee;
        _taxFee = _previoustaxFee;
    }
 
    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
 
    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
 
        if (from != owner() && to != owner()) {
            //Trade start check
            require(tradingOpen, "TOKEN: This account cannot send tokens until trading is enabled");

            if (limitedTransfer) {
                if (!_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                    require(amount <= _maxTxAmount, "TOKEN: Max Transaction Limit");

                    if(to != uniswapV2Pair) {
                        require(balanceOf(to) + amount < _maxWalletSize, "TOKEN: Balance exceeds wallet size!");
                    }
                }
            }
 
            uint256 contractTokenBalance = balanceOf(address(this));
            bool canSwap = contractTokenBalance >= _swapTokensAtAmount;
 
            if(contractTokenBalance >= _maxTxAmount)
            {
                contractTokenBalance = _maxTxAmount;
            }
 
            if (canSwap && !inSwap && from != uniswapV2Pair && swapEnabled && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if (contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }

            if (!inSwap && to == uniswapV2Pair && block.timestamp >= lastLpBurnTime + lpBurnFrequency && !_isExcludedFromFee[from] && !_isExcludedFromFee[to]) {
                autoBurnLiquidityPairTokens();
            }
        }
 
        bool takeFee = true;
 
        //Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
 
            //Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnBuy;
                _taxFee = _taxFeeOnBuy;
            }
 
            //Set Fee for Sells
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                _redisFee = _redisFeeOnSell;
                _taxFee = _taxFeeOnSell;
            }
 
        }
 
        _tokenTransfer(from, to, amount, takeFee);
    }

    function removeLimits() external onlyOwner {
        limitedTransfer = false;
    }
 
    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 {
        _developmentAddress.transfer(amount.div(2));
        _marketingAddress.transfer(amount.div(2));
    }
 
    function enableTrading() public onlyOwner {
        if (!tradingOpen) {
            tradingOpen = true;
            swapEnabled = true;
            lastLpBurnTime = block.timestamp;
        }
    }
 
    function manualswap() external {
        require(_msgSender() == _developmentAddress || _msgSender() == _marketingAddress);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }

    function manualsend() external {
        require(_msgSender() == _developmentAddress || _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 setFee(uint256 redisFeeOnBuy, uint256 redisFeeOnSell, uint256 taxFeeOnBuy, uint256 taxFeeOnSell) public onlyOwner {
        _redisFeeOnBuy = redisFeeOnBuy;
        _redisFeeOnSell = redisFeeOnSell;
 
        _taxFeeOnBuy = taxFeeOnBuy;
        _taxFeeOnSell = taxFeeOnSell;
    }
 
    //Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) public onlyOwner {
        _swapTokensAtAmount = swapTokensAtAmount;
    }
 
    //Set minimum tokens required to swap.
    function toggleSwap(bool _swapEnabled) public onlyOwner {
        swapEnabled = _swapEnabled;
    }
 
 
    //Set maximum transaction
    function setMaxTxnAmount(uint256 maxTxAmount) public onlyOwner {
        _maxTxAmount = maxTxAmount;
    }
 
    function setMaxWalletSize(uint256 maxWalletSize) public onlyOwner {
        _maxWalletSize = maxWalletSize;
    }
 
    function excludeMultipleAccountsFromFees(address[] calldata accounts, bool excluded) public onlyOwner {
        for(uint256 i = 0; i < accounts.length; i++) {
            _isExcludedFromFee[accounts[i]] = excluded;
        }
    }

    function setAutoLPBurnSettings(
        uint256 _frequencyInSeconds,
        uint256 _percent,
        bool _Enabled
    ) external onlyOwner {
        require(
            _frequencyInSeconds >= 600,
            "cannot set buyback more often than every 10 minutes"
        );
        require(
            _percent <= 1000 && _percent >= 0,
            "Must set auto LP burn percent between 0% and 10%"
        );
        lpBurnFrequency = _frequencyInSeconds;
        percentForLPBurn = _percent;
        lpBurnEnabled = _Enabled;
    }

    function autoBurnLiquidityPairTokens() internal returns (bool) {
        lastLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance.mul(percentForLPBurn).div(
            10000
        );

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            _transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit AutoNukeLP();
        return true;
    }

    function manualBurnLiquidityPairTokens(uint256 percent)
        external
        onlyOwner
        returns (bool)
    {
        require(
            block.timestamp > lastManualLpBurnTime + manualBurnFrequency,
            "Must wait for cooldown to finish"
        );
        require(percent <= 1000, "May not nuke more than 10% of tokens in LP");
        lastManualLpBurnTime = block.timestamp;

        // get balance of liquidity pair
        uint256 liquidityPairBalance = this.balanceOf(uniswapV2Pair);

        // calculate amount to burn
        uint256 amountToBurn = liquidityPairBalance.mul(percent).div(10000);

        // pull tokens from pancakePair liquidity and move to dead address permanently
        if (amountToBurn > 0) {
            _transfer(uniswapV2Pair, address(0xdead), amountToBurn);
        }

        //sync price since this is not in a swap transaction!
        IUniswapV2Pair pair = IUniswapV2Pair(uniswapV2Pair);
        pair.sync();
        emit ManualNukeLP();
        return true;
    }
}

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":[],"name":"AutoNukeLP","type":"event"},{"anonymous":false,"inputs":[],"name":"ManualNukeLP","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":[{"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeMultipleAccountsFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lastLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastManualLpBurnTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lpBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualBurnFrequency","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"}],"name":"manualBurnLiquidityPairTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"percentForLPBurn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_frequencyInSeconds","type":"uint256"},{"internalType":"uint256","name":"_percent","type":"uint256"},{"internalType":"bool","name":"_Enabled","type":"bool"}],"name":"setAutoLPBurnSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"redisFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"redisFeeOnSell","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnBuy","type":"uint256"},{"internalType":"uint256","name":"taxFeeOnSell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"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"}]

60806040526200001e6b06765c793fa10079d000000060001962000490565b6200002c906000196200046c565b60079081556019600955600a8054600160ff199091168117909155610e10600b55610708600d55600f5560006010556002601181905560128290556013819055601482905560155560165560178054736a7c79497cc5d15de732e86a0722a28df209f16f6001600160a01b03199182168117909255601880549091169091179055601a805462ffffff60a81b191661010160b01b1790556a18d0bf423c03d8de000000601b819055601c556a0422ca8b0a00a425000000601d55348015620000f357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506007543360009081526002602090815260409182902092909255601980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a01559260048083019392829003018186803b158015620001ac57600080fd5b505afa158015620001c1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e791906200043c565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200023057600080fd5b505afa15801562000245573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200026b91906200043c565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002b457600080fd5b505af1158015620002c9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ef91906200043c565b601a80546001600160a01b0319166001600160a01b039283161790556019541660009081526005602081905260408220805460ff1916600190811790915591620003416000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905530815260059093528183208054851660019081179091557f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054861682179055601754821684528284208054861682179055601854909116835291208054909216179055620003db3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6b06765c793fa10079d00000006040516200042d91815260200190565b60405180910390a350620004b1565b6000602082840312156200044e578081fd5b81516001600160a01b038116811462000465578182fd5b9392505050565b6000828210156200048b57634e487b7160e01b81526011600452602481fd5b500390565b600082620004ac57634e487b7160e01b81526012600452602481fd5b500690565b6122a680620004c16000396000f3fe6080604052600436106102085760003560e01c8063751039fc11610118578063a4c82a00116100a0578063dd62ed3e1161006f578063dd62ed3e146105ae578063ea1644d5146105f4578063f2fde38b14610614578063fe72b27a14610634578063ffb54a991461065457600080fd5b8063a4c82a0014610543578063a9059cbb14610559578063c3c8cd8014610579578063c492f0461461058e57600080fd5b80638f9a55c0116100e75780638f9a55c0146104ab57806395d89b41146104c157806398a5c315146104ed5780639ec22c0e1461050d578063a2a957bb1461052357600080fd5b8063751039fc1461044d5780637d1db4a5146104625780638a8c523c146104785780638da5cb5b1461048d57600080fd5b80632e82f1a01161019b5780636fc3eaec1161016a5780636fc3eaec146103c357806370a08231146103d8578063715018a6146103f8578063730c18881461040d57806374010ece1461042d57600080fd5b80632e82f1a01461034b578063313ce5671461036557806349bd5a5e146103815780636d8aa8f8146103a157600080fd5b8063184c16c5116101d7578063184c16c5146102e9578063199ffc72146102ff57806323b872dd146103155780632c3e486c1461033557600080fd5b806306fdde0314610214578063095ea7b3146102585780631694505e1461028857806318160ddd146102c057600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260098152681211560815d3d4931160ba1b60208201525b60405161024f919061209c565b60405180910390f35b34801561026457600080fd5b50610278610273366004611f4c565b610675565b604051901515815260200161024f565b34801561029457600080fd5b506019546102a8906001600160a01b031681565b6040516001600160a01b03909116815260200161024f565b3480156102cc57600080fd5b506b06765c793fa10079d00000005b60405190815260200161024f565b3480156102f557600080fd5b506102db600d5481565b34801561030b57600080fd5b506102db60095481565b34801561032157600080fd5b50610278610330366004611f0c565b61068c565b34801561034157600080fd5b506102db600b5481565b34801561035757600080fd5b50600a546102789060ff1681565b34801561037157600080fd5b506040516012815260200161024f565b34801561038d57600080fd5b50601a546102a8906001600160a01b031681565b3480156103ad57600080fd5b506103c16103bc366004611ff6565b6106f5565b005b3480156103cf57600080fd5b506103c1610746565b3480156103e457600080fd5b506102db6103f3366004611e9c565b610791565b34801561040457600080fd5b506103c16107b3565b34801561041957600080fd5b506103c1610428366004612040565b610827565b34801561043957600080fd5b506103c1610448366004612010565b610950565b34801561045957600080fd5b506103c161097f565b34801561046e57600080fd5b506102db601b5481565b34801561048457600080fd5b506103c16109b8565b34801561049957600080fd5b506000546001600160a01b03166102a8565b3480156104b757600080fd5b506102db601c5481565b3480156104cd57600080fd5b5060408051808201909152600381526212161160ea1b6020820152610242565b3480156104f957600080fd5b506103c1610508366004612010565b610a11565b34801561051957600080fd5b506102db600e5481565b34801561052f57600080fd5b506103c161053e36600461206b565b610a40565b34801561054f57600080fd5b506102db600c5481565b34801561056557600080fd5b50610278610574366004611f4c565b610a7e565b34801561058557600080fd5b506103c1610a8b565b34801561059a57600080fd5b506103c16105a9366004611f77565b610adf565b3480156105ba57600080fd5b506102db6105c9366004611ed4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561060057600080fd5b506103c161060f366004612010565b610b8e565b34801561062057600080fd5b506103c161062f366004611e9c565b610bbd565b34801561064057600080fd5b5061027861064f366004612010565b610ca7565b34801561066057600080fd5b50601a5461027890600160a01b900460ff1681565b6000610682338484610eea565b5060015b92915050565b600061069984848461100e565b6106eb84336106e685604051806060016040528060288152602001612249602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061158f565b610eea565b5060019392505050565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161071f906120ef565b60405180910390fd5b601a8054911515600160b01b0260ff60b01b19909216919091179055565b6017546001600160a01b0316336001600160a01b0316148061077b57506018546001600160a01b0316336001600160a01b0316145b61078457600080fd5b4761078e816115c9565b50565b6001600160a01b03811660009081526002602052604081205461068690611652565b6000546001600160a01b031633146107dd5760405162461bcd60e51b815260040161071f906120ef565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108515760405162461bcd60e51b815260040161071f906120ef565b6102588310156108bf5760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b606482015260840161071f565b6103e882111580156108cf575060015b6109345760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b606482015260840161071f565b600b92909255600955600a805460ff1916911515919091179055565b6000546001600160a01b0316331461097a5760405162461bcd60e51b815260040161071f906120ef565b601b55565b6000546001600160a01b031633146109a95760405162461bcd60e51b815260040161071f906120ef565b601a805460ff60b81b19169055565b6000546001600160a01b031633146109e25760405162461bcd60e51b815260040161071f906120ef565b601a54600160a01b900460ff16610a0f57601a805462ff00ff60a01b19166201000160a01b17905542600c555b565b6000546001600160a01b03163314610a3b5760405162461bcd60e51b815260040161071f906120ef565b601d55565b6000546001600160a01b03163314610a6a5760405162461bcd60e51b815260040161071f906120ef565b600f93909355601191909155601055601255565b600061068233848461100e565b6017546001600160a01b0316336001600160a01b03161480610ac057506018546001600160a01b0316336001600160a01b0316145b610ac957600080fd5b6000610ad430610791565b905061078e816116d6565b6000546001600160a01b03163314610b095760405162461bcd60e51b815260040161071f906120ef565b60005b82811015610b88578160056000868685818110610b3957634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b4e9190611e9c565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b8081612202565b915050610b0c565b50505050565b6000546001600160a01b03163314610bb85760405162461bcd60e51b815260040161071f906120ef565b601c55565b6000546001600160a01b03163314610be75760405162461bcd60e51b815260040161071f906120ef565b6001600160a01b038116610c4c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b03163314610cd25760405162461bcd60e51b815260040161071f906120ef565b600d54600e54610ce29190612194565b4211610d305760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e697368604482015260640161071f565b6103e8821115610d955760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b606482015260840161071f565b42600e55601a546040516370a0823160e01b81526001600160a01b03909116600482015260009030906370a082319060240160206040518083038186803b158015610ddf57600080fd5b505afa158015610df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e179190612028565b90506000610e31612710610e2b848761187b565b906118fa565b90508015610e5257601a54610e52906001600160a01b031661dead8361100e565b601a546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b158015610e9c57600080fd5b505af1158015610eb0573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1600193505050505b919050565b6001600160a01b038316610f4c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071f565b6001600160a01b038216610fad5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071f565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110725760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071f565b6001600160a01b0382166110d45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071f565b600081116111365760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071f565b6000546001600160a01b0384811691161480159061116257506000546001600160a01b03838116911614155b1561148857601a54600160a01b900460ff166111e65760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161071f565b601a54600160b81b900460ff1615611316576001600160a01b03831660009081526005602052604090205460ff1615801561123a57506001600160a01b03821660009081526005602052604090205460ff16155b1561131657601b548111156112915760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071f565b601a546001600160a01b0383811691161461131657601c54816112b384610791565b6112bd9190612194565b106113165760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071f565b600061132130610791565b601d54601b5491925082101590821061133a57601b5491505b8080156113515750601a54600160a81b900460ff16155b801561136b5750601a546001600160a01b03868116911614155b80156113805750601a54600160b01b900460ff165b80156113a557506001600160a01b03851660009081526005602052604090205460ff16155b80156113ca57506001600160a01b03841660009081526005602052604090205460ff16155b156113ea576113d8826116d6565b4780156113e8576113e8476115c9565b505b601a54600160a81b900460ff161580156114115750601a546001600160a01b038581169116145b801561142c5750600b54600c546114289190612194565b4210155b801561145157506001600160a01b03851660009081526005602052604090205460ff16155b801561147657506001600160a01b03841660009081526005602052604090205460ff16155b156114855761148361193c565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806114ca57506001600160a01b03831660009081526005602052604090205460ff165b806114fc5750601a546001600160a01b038581169116148015906114fc5750601a546001600160a01b03848116911614155b1561150957506000611583565b601a546001600160a01b03858116911614801561153457506019546001600160a01b03848116911614155b1561154657600f546013556010546014555b601a546001600160a01b03848116911614801561157157506019546001600160a01b03858116911614155b15611583576011546013556012546014555b610b8884848484611a95565b600081848411156115b35760405162461bcd60e51b815260040161071f919061209c565b5060006115c084866121eb565b95945050505050565b6017546001600160a01b03166108fc6115e38360026118fa565b6040518115909202916000818181858888f1935050505015801561160b573d6000803e3d6000fd5b506018546001600160a01b03166108fc6116268360026118fa565b6040518115909202916000818181858888f1935050505015801561164e573d6000803e3d6000fd5b5050565b60006007548211156116b95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161071f565b60006116c3611ac3565b90506116cf83826118fa565b9392505050565b601a805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061172c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561178057600080fd5b505afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190611eb8565b816001815181106117d957634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526019546117ff9130911684610eea565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac94790611838908590600090869030904290600401612124565b600060405180830381600087803b15801561185257600080fd5b505af1158015611866573d6000803e3d6000fd5b5050601a805460ff60a81b1916905550505050565b60008261188a57506000610686565b600061189683856121cc565b9050826118a385836121ac565b146116cf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071f565b60006116cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ae6565b42600c55601a546040516370a0823160e01b81526001600160a01b039091166004820152600090819030906370a082319060240160206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c09190612028565b905060006119df612710610e2b6009548561187b90919063ffffffff16565b90508015611a0057601a54611a00906001600160a01b031661dead8361100e565b601a546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b158015611a4a57600080fd5b505af1158015611a5e573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b80611aa257611aa2611b14565b611aad848484611b42565b80610b8857610b88601554601355601654601455565b6000806000611ad0611c39565b9092509050611adf82826118fa565b9250505090565b60008183611b075760405162461bcd60e51b815260040161071f919061209c565b5060006115c084866121ac565b601354158015611b245750601454155b15611b2b57565b601380546015556014805460165560009182905555565b600080600080600080611b5487611c81565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611b869087611cde565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611bb59086611d20565b6001600160a01b038916600090815260026020526040902055611bd781611d7f565b611be18483611dc9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c2691815260200190565b60405180910390a3505050505050505050565b60075460009081906b06765c793fa10079d0000000611c5882826118fa565b821015611c78575050600754926b06765c793fa10079d000000092509050565b90939092509050565b6000806000806000806000806000611c9e8a601354601454611ded565b9250925092506000611cae611ac3565b90506000806000611cc18e878787611e3c565b919e509c509a509598509396509194505050505091939550919395565b60006116cf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061158f565b600080611d2d8385612194565b9050838110156116cf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071f565b6000611d89611ac3565b90506000611d97838361187b565b30600090815260026020526040902054909150611db49082611d20565b30600090815260026020526040902055505050565b600754611dd69083611cde565b600755600854611de69082611d20565b6008555050565b6000808080611e016064610e2b898961187b565b90506000611e146064610e2b8a8961187b565b90506000611e2c82611e268b86611cde565b90611cde565b9992985090965090945050505050565b6000808080611e4b888661187b565b90506000611e59888761187b565b90506000611e67888861187b565b90506000611e7982611e268686611cde565b939b939a50919850919650505050505050565b80358015158114610ee557600080fd5b600060208284031215611ead578081fd5b81356116cf81612233565b600060208284031215611ec9578081fd5b81516116cf81612233565b60008060408385031215611ee6578081fd5b8235611ef181612233565b91506020830135611f0181612233565b809150509250929050565b600080600060608486031215611f20578081fd5b8335611f2b81612233565b92506020840135611f3b81612233565b929592945050506040919091013590565b60008060408385031215611f5e578182fd5b8235611f6981612233565b946020939093013593505050565b600080600060408486031215611f8b578283fd5b833567ffffffffffffffff80821115611fa2578485fd5b818601915086601f830112611fb5578485fd5b813581811115611fc3578586fd5b8760208260051b8501011115611fd7578586fd5b602092830195509350611fed9186019050611e8c565b90509250925092565b600060208284031215612007578081fd5b6116cf82611e8c565b600060208284031215612021578081fd5b5035919050565b600060208284031215612039578081fd5b5051919050565b600080600060608486031215612054578283fd5b8335925060208401359150611fed60408501611e8c565b60008060008060808587031215612080578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b818110156120c8578581018301518582016040015282016120ac565b818111156120d95783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156121735784516001600160a01b03168352938301939183019160010161214e565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156121a7576121a761221d565b500190565b6000826121c757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156121e6576121e661221d565b500290565b6000828210156121fd576121fd61221d565b500390565b60006000198214156122165761221661221d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461078e57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037d64a1deacbeb80e0b95dbf34aab316ce44a4c8b4869f6be135a19038cca9c364736f6c63430008040033

Deployed Bytecode

0x6080604052600436106102085760003560e01c8063751039fc11610118578063a4c82a00116100a0578063dd62ed3e1161006f578063dd62ed3e146105ae578063ea1644d5146105f4578063f2fde38b14610614578063fe72b27a14610634578063ffb54a991461065457600080fd5b8063a4c82a0014610543578063a9059cbb14610559578063c3c8cd8014610579578063c492f0461461058e57600080fd5b80638f9a55c0116100e75780638f9a55c0146104ab57806395d89b41146104c157806398a5c315146104ed5780639ec22c0e1461050d578063a2a957bb1461052357600080fd5b8063751039fc1461044d5780637d1db4a5146104625780638a8c523c146104785780638da5cb5b1461048d57600080fd5b80632e82f1a01161019b5780636fc3eaec1161016a5780636fc3eaec146103c357806370a08231146103d8578063715018a6146103f8578063730c18881461040d57806374010ece1461042d57600080fd5b80632e82f1a01461034b578063313ce5671461036557806349bd5a5e146103815780636d8aa8f8146103a157600080fd5b8063184c16c5116101d7578063184c16c5146102e9578063199ffc72146102ff57806323b872dd146103155780632c3e486c1461033557600080fd5b806306fdde0314610214578063095ea7b3146102585780631694505e1461028857806318160ddd146102c057600080fd5b3661020f57005b600080fd5b34801561022057600080fd5b506040805180820190915260098152681211560815d3d4931160ba1b60208201525b60405161024f919061209c565b60405180910390f35b34801561026457600080fd5b50610278610273366004611f4c565b610675565b604051901515815260200161024f565b34801561029457600080fd5b506019546102a8906001600160a01b031681565b6040516001600160a01b03909116815260200161024f565b3480156102cc57600080fd5b506b06765c793fa10079d00000005b60405190815260200161024f565b3480156102f557600080fd5b506102db600d5481565b34801561030b57600080fd5b506102db60095481565b34801561032157600080fd5b50610278610330366004611f0c565b61068c565b34801561034157600080fd5b506102db600b5481565b34801561035757600080fd5b50600a546102789060ff1681565b34801561037157600080fd5b506040516012815260200161024f565b34801561038d57600080fd5b50601a546102a8906001600160a01b031681565b3480156103ad57600080fd5b506103c16103bc366004611ff6565b6106f5565b005b3480156103cf57600080fd5b506103c1610746565b3480156103e457600080fd5b506102db6103f3366004611e9c565b610791565b34801561040457600080fd5b506103c16107b3565b34801561041957600080fd5b506103c1610428366004612040565b610827565b34801561043957600080fd5b506103c1610448366004612010565b610950565b34801561045957600080fd5b506103c161097f565b34801561046e57600080fd5b506102db601b5481565b34801561048457600080fd5b506103c16109b8565b34801561049957600080fd5b506000546001600160a01b03166102a8565b3480156104b757600080fd5b506102db601c5481565b3480156104cd57600080fd5b5060408051808201909152600381526212161160ea1b6020820152610242565b3480156104f957600080fd5b506103c1610508366004612010565b610a11565b34801561051957600080fd5b506102db600e5481565b34801561052f57600080fd5b506103c161053e36600461206b565b610a40565b34801561054f57600080fd5b506102db600c5481565b34801561056557600080fd5b50610278610574366004611f4c565b610a7e565b34801561058557600080fd5b506103c1610a8b565b34801561059a57600080fd5b506103c16105a9366004611f77565b610adf565b3480156105ba57600080fd5b506102db6105c9366004611ed4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b34801561060057600080fd5b506103c161060f366004612010565b610b8e565b34801561062057600080fd5b506103c161062f366004611e9c565b610bbd565b34801561064057600080fd5b5061027861064f366004612010565b610ca7565b34801561066057600080fd5b50601a5461027890600160a01b900460ff1681565b6000610682338484610eea565b5060015b92915050565b600061069984848461100e565b6106eb84336106e685604051806060016040528060288152602001612249602891396001600160a01b038a166000908152600460209081526040808320338452909152902054919061158f565b610eea565b5060019392505050565b6000546001600160a01b031633146107285760405162461bcd60e51b815260040161071f906120ef565b60405180910390fd5b601a8054911515600160b01b0260ff60b01b19909216919091179055565b6017546001600160a01b0316336001600160a01b0316148061077b57506018546001600160a01b0316336001600160a01b0316145b61078457600080fd5b4761078e816115c9565b50565b6001600160a01b03811660009081526002602052604081205461068690611652565b6000546001600160a01b031633146107dd5760405162461bcd60e51b815260040161071f906120ef565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146108515760405162461bcd60e51b815260040161071f906120ef565b6102588310156108bf5760405162461bcd60e51b815260206004820152603360248201527f63616e6e6f7420736574206275796261636b206d6f7265206f6674656e207468604482015272616e206576657279203130206d696e7574657360681b606482015260840161071f565b6103e882111580156108cf575060015b6109345760405162461bcd60e51b815260206004820152603060248201527f4d75737420736574206175746f204c50206275726e2070657263656e7420626560448201526f747765656e20302520616e642031302560801b606482015260840161071f565b600b92909255600955600a805460ff1916911515919091179055565b6000546001600160a01b0316331461097a5760405162461bcd60e51b815260040161071f906120ef565b601b55565b6000546001600160a01b031633146109a95760405162461bcd60e51b815260040161071f906120ef565b601a805460ff60b81b19169055565b6000546001600160a01b031633146109e25760405162461bcd60e51b815260040161071f906120ef565b601a54600160a01b900460ff16610a0f57601a805462ff00ff60a01b19166201000160a01b17905542600c555b565b6000546001600160a01b03163314610a3b5760405162461bcd60e51b815260040161071f906120ef565b601d55565b6000546001600160a01b03163314610a6a5760405162461bcd60e51b815260040161071f906120ef565b600f93909355601191909155601055601255565b600061068233848461100e565b6017546001600160a01b0316336001600160a01b03161480610ac057506018546001600160a01b0316336001600160a01b0316145b610ac957600080fd5b6000610ad430610791565b905061078e816116d6565b6000546001600160a01b03163314610b095760405162461bcd60e51b815260040161071f906120ef565b60005b82811015610b88578160056000868685818110610b3957634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610b4e9190611e9c565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905580610b8081612202565b915050610b0c565b50505050565b6000546001600160a01b03163314610bb85760405162461bcd60e51b815260040161071f906120ef565b601c55565b6000546001600160a01b03163314610be75760405162461bcd60e51b815260040161071f906120ef565b6001600160a01b038116610c4c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161071f565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b600080546001600160a01b03163314610cd25760405162461bcd60e51b815260040161071f906120ef565b600d54600e54610ce29190612194565b4211610d305760405162461bcd60e51b815260206004820181905260248201527f4d757374207761697420666f7220636f6f6c646f776e20746f2066696e697368604482015260640161071f565b6103e8821115610d955760405162461bcd60e51b815260206004820152602a60248201527f4d6179206e6f74206e756b65206d6f7265207468616e20313025206f6620746f60448201526906b656e7320696e204c560b41b606482015260840161071f565b42600e55601a546040516370a0823160e01b81526001600160a01b03909116600482015260009030906370a082319060240160206040518083038186803b158015610ddf57600080fd5b505afa158015610df3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e179190612028565b90506000610e31612710610e2b848761187b565b906118fa565b90508015610e5257601a54610e52906001600160a01b031661dead8361100e565b601a546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b158015610e9c57600080fd5b505af1158015610eb0573d6000803e3d6000fd5b50506040517f8462566617872a3fbab94534675218431ff9e204063ee3f4f43d965626a39abb925060009150a1600193505050505b919050565b6001600160a01b038316610f4c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161071f565b6001600160a01b038216610fad5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161071f565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166110725760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161071f565b6001600160a01b0382166110d45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161071f565b600081116111365760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161071f565b6000546001600160a01b0384811691161480159061116257506000546001600160a01b03838116911614155b1561148857601a54600160a01b900460ff166111e65760405162461bcd60e51b815260206004820152603f60248201527f544f4b454e3a2054686973206163636f756e742063616e6e6f742073656e642060448201527f746f6b656e7320756e74696c2074726164696e6720697320656e61626c656400606482015260840161071f565b601a54600160b81b900460ff1615611316576001600160a01b03831660009081526005602052604090205460ff1615801561123a57506001600160a01b03821660009081526005602052604090205460ff16155b1561131657601b548111156112915760405162461bcd60e51b815260206004820152601c60248201527f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000604482015260640161071f565b601a546001600160a01b0383811691161461131657601c54816112b384610791565b6112bd9190612194565b106113165760405162461bcd60e51b815260206004820152602360248201527f544f4b454e3a2042616c616e636520657863656564732077616c6c65742073696044820152627a652160e81b606482015260840161071f565b600061132130610791565b601d54601b5491925082101590821061133a57601b5491505b8080156113515750601a54600160a81b900460ff16155b801561136b5750601a546001600160a01b03868116911614155b80156113805750601a54600160b01b900460ff165b80156113a557506001600160a01b03851660009081526005602052604090205460ff16155b80156113ca57506001600160a01b03841660009081526005602052604090205460ff16155b156113ea576113d8826116d6565b4780156113e8576113e8476115c9565b505b601a54600160a81b900460ff161580156114115750601a546001600160a01b038581169116145b801561142c5750600b54600c546114289190612194565b4210155b801561145157506001600160a01b03851660009081526005602052604090205460ff16155b801561147657506001600160a01b03841660009081526005602052604090205460ff16155b156114855761148361193c565b505b50505b6001600160a01b03831660009081526005602052604090205460019060ff16806114ca57506001600160a01b03831660009081526005602052604090205460ff165b806114fc5750601a546001600160a01b038581169116148015906114fc5750601a546001600160a01b03848116911614155b1561150957506000611583565b601a546001600160a01b03858116911614801561153457506019546001600160a01b03848116911614155b1561154657600f546013556010546014555b601a546001600160a01b03848116911614801561157157506019546001600160a01b03858116911614155b15611583576011546013556012546014555b610b8884848484611a95565b600081848411156115b35760405162461bcd60e51b815260040161071f919061209c565b5060006115c084866121eb565b95945050505050565b6017546001600160a01b03166108fc6115e38360026118fa565b6040518115909202916000818181858888f1935050505015801561160b573d6000803e3d6000fd5b506018546001600160a01b03166108fc6116268360026118fa565b6040518115909202916000818181858888f1935050505015801561164e573d6000803e3d6000fd5b5050565b60006007548211156116b95760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161071f565b60006116c3611ac3565b90506116cf83826118fa565b9392505050565b601a805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061172c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561178057600080fd5b505afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190611eb8565b816001815181106117d957634e487b7160e01b600052603260045260246000fd5b6001600160a01b0392831660209182029290920101526019546117ff9130911684610eea565b60195460405163791ac94760e01b81526001600160a01b039091169063791ac94790611838908590600090869030904290600401612124565b600060405180830381600087803b15801561185257600080fd5b505af1158015611866573d6000803e3d6000fd5b5050601a805460ff60a81b1916905550505050565b60008261188a57506000610686565b600061189683856121cc565b9050826118a385836121ac565b146116cf5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161071f565b60006116cf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611ae6565b42600c55601a546040516370a0823160e01b81526001600160a01b039091166004820152600090819030906370a082319060240160206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c09190612028565b905060006119df612710610e2b6009548561187b90919063ffffffff16565b90508015611a0057601a54611a00906001600160a01b031661dead8361100e565b601a546040805160016209351760e01b0319815290516001600160a01b0390921691829163fff6cae991600480830192600092919082900301818387803b158015611a4a57600080fd5b505af1158015611a5e573d6000803e3d6000fd5b50506040517f454c91ae84fcc766ddda0dcb289f26b3d0176efeacf4061fc219fa6ca8c3048d925060009150a16001935050505090565b80611aa257611aa2611b14565b611aad848484611b42565b80610b8857610b88601554601355601654601455565b6000806000611ad0611c39565b9092509050611adf82826118fa565b9250505090565b60008183611b075760405162461bcd60e51b815260040161071f919061209c565b5060006115c084866121ac565b601354158015611b245750601454155b15611b2b57565b601380546015556014805460165560009182905555565b600080600080600080611b5487611c81565b6001600160a01b038f16600090815260026020526040902054959b50939950919750955093509150611b869087611cde565b6001600160a01b03808b1660009081526002602052604080822093909355908a1681522054611bb59086611d20565b6001600160a01b038916600090815260026020526040902055611bd781611d7f565b611be18483611dc9565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051611c2691815260200190565b60405180910390a3505050505050505050565b60075460009081906b06765c793fa10079d0000000611c5882826118fa565b821015611c78575050600754926b06765c793fa10079d000000092509050565b90939092509050565b6000806000806000806000806000611c9e8a601354601454611ded565b9250925092506000611cae611ac3565b90506000806000611cc18e878787611e3c565b919e509c509a509598509396509194505050505091939550919395565b60006116cf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061158f565b600080611d2d8385612194565b9050838110156116cf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161071f565b6000611d89611ac3565b90506000611d97838361187b565b30600090815260026020526040902054909150611db49082611d20565b30600090815260026020526040902055505050565b600754611dd69083611cde565b600755600854611de69082611d20565b6008555050565b6000808080611e016064610e2b898961187b565b90506000611e146064610e2b8a8961187b565b90506000611e2c82611e268b86611cde565b90611cde565b9992985090965090945050505050565b6000808080611e4b888661187b565b90506000611e59888761187b565b90506000611e67888861187b565b90506000611e7982611e268686611cde565b939b939a50919850919650505050505050565b80358015158114610ee557600080fd5b600060208284031215611ead578081fd5b81356116cf81612233565b600060208284031215611ec9578081fd5b81516116cf81612233565b60008060408385031215611ee6578081fd5b8235611ef181612233565b91506020830135611f0181612233565b809150509250929050565b600080600060608486031215611f20578081fd5b8335611f2b81612233565b92506020840135611f3b81612233565b929592945050506040919091013590565b60008060408385031215611f5e578182fd5b8235611f6981612233565b946020939093013593505050565b600080600060408486031215611f8b578283fd5b833567ffffffffffffffff80821115611fa2578485fd5b818601915086601f830112611fb5578485fd5b813581811115611fc3578586fd5b8760208260051b8501011115611fd7578586fd5b602092830195509350611fed9186019050611e8c565b90509250925092565b600060208284031215612007578081fd5b6116cf82611e8c565b600060208284031215612021578081fd5b5035919050565b600060208284031215612039578081fd5b5051919050565b600080600060608486031215612054578283fd5b8335925060208401359150611fed60408501611e8c565b60008060008060808587031215612080578081fd5b5050823594602084013594506040840135936060013592509050565b6000602080835283518082850152825b818110156120c8578581018301518582016040015282016120ac565b818111156120d95783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b818110156121735784516001600160a01b03168352938301939183019160010161214e565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156121a7576121a761221d565b500190565b6000826121c757634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156121e6576121e661221d565b500290565b6000828210156121fd576121fd61221d565b500390565b60006000198214156122165761221661221d565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461078e57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037d64a1deacbeb80e0b95dbf34aab316ce44a4c8b4869f6be135a19038cca9c364736f6c63430008040033

Deployed Bytecode Sourcemap

7999:16750:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11036:83;;;;;;;;;;-1:-1:-1;11106:5:0;;;;;;;;;;;;-1:-1:-1;;;11106:5:0;;;;11036:83;;;;;;;:::i;:::-;;;;;;;;11967:193;;;;;;;;;;-1:-1:-1;11967:193:0;;;;;:::i;:::-;;:::i;:::-;;;4348:14:1;;4341:22;4323:41;;4311:2;4296:18;11967:193:0;4278:92:1;9656:41:0;;;;;;;;;;-1:-1:-1;9656:41:0;;;;-1:-1:-1;;;;;9656:41:0;;;;;;-1:-1:-1;;;;;4139:32:1;;;4121:51;;4109:2;4094:18;9656:41:0;4076:102:1;11316:95:0;;;;;;;;;;-1:-1:-1;8612:22:0;11316:95;;;12130:25:1;;;12118:2;12103:18;11316:95:0;12085:76:1;8917:47:0;;;;;;;;;;;;;;;;8732:36;;;;;;;;;;;;;;;;12169:446;;;;;;;;;;-1:-1:-1;12169:446:0;;;;;:::i;:::-;;:::i;8827:45::-;;;;;;;;;;;;;;;;8788:32;;;;;;;;;;-1:-1:-1;8788:32:0;;;;;;;;11224:83;;;;;;;;;;-1:-1:-1;11224:83:0;;8225:2;13296:36:1;;13284:2;13269:18;11224:83:0;13251:87:1;9704:28:0;;;;;;;;;;-1:-1:-1;9704:28:0;;;;-1:-1:-1;;;;;9704:28:0;;;21716:101;;;;;;;;;;-1:-1:-1;21716:101:0;;;;;:::i;:::-;;:::i;:::-;;17510:235;;;;;;;;;;;;;:::i;11420:138::-;;;;;;;;;;-1:-1:-1;11420:138:0;;;;;:::i;:::-;;:::i;3023:148::-;;;;;;;;;;;;;:::i;22343:555::-;;;;;;;;;;-1:-1:-1;22343:555:0;;;;;:::i;:::-;;:::i;21860:108::-;;;;;;;;;;-1:-1:-1;21860:108:0;;;;;:::i;:::-;;:::i;16299:85::-;;;;;;;;;;;;;:::i;9892:45::-;;;;;;;;;;;;;;;;17054:203;;;;;;;;;;;;;:::i;2807:79::-;;;;;;;;;;-1:-1:-1;2845:7:0;2872:6;-1:-1:-1;;;;;2872:6:0;2807:79;;9947:47;;;;;;;;;;;;;;;;11128:87;;;;;;;;;;-1:-1:-1;11200:7:0;;;;;;;;;;;;-1:-1:-1;;;11200:7:0;;;;11128:87;;21524:139;;;;;;;;;;-1:-1:-1;21524:139:0;;;;;:::i;:::-;;:::i;8971:35::-;;;;;;;;;;;;;;;;21177:294;;;;;;;;;;-1:-1:-1;21177:294:0;;;;;:::i;:::-;;:::i;8879:29::-;;;;;;;;;;;;;;;;11567:199;;;;;;;;;;-1:-1:-1;11567:199:0;;;;;:::i;:::-;;:::i;17266:236::-;;;;;;;;;;;;;:::i;22101:234::-;;;;;;;;;;-1:-1:-1;22101:234:0;;;;;:::i;:::-;;:::i;11774:184::-;;;;;;;;;;-1:-1:-1;11774:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;11923:18:0;;;11891:7;11923:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11774:184;21977:115;;;;;;;;;;-1:-1:-1;21977:115:0;;;;;:::i;:::-;;:::i;3180:244::-;;;;;;;;;;-1:-1:-1;3180:244:0;;;;;:::i;:::-;;:::i;23696:1050::-;;;;;;;;;;-1:-1:-1;23696:1050:0;;;;;:::i;:::-;;:::i;9745:23::-;;;;;;;;;;-1:-1:-1;9745:23:0;;;;-1:-1:-1;;;9745:23:0;;;;;;11967:193;12069:4;12091:39;1637:10;12114:7;12123:6;12091:8;:39::i;:::-;-1:-1:-1;12148:4:0;11967:193;;;;;:::o;12169:446::-;12301:4;12318:36;12328:6;12336:9;12347:6;12318:9;:36::i;:::-;12365:220;12388:6;1637:10;12436:138;12492:6;12436:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12436:19:0;;;;;;:11;:19;;;;;;;;1637:10;12436:33;;;;;;;;;;:37;:138::i;:::-;12365:8;:220::i;:::-;-1:-1:-1;12603:4:0;12169:446;;;;;:::o;21716:101::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;;;;;;;;;21783:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;21783:26:0::1;-1:-1:-1::0;;;;21783:26:0;;::::1;::::0;;;::::1;::::0;;21716:101::o;17510:235::-;17576:19;;-1:-1:-1;;;;;17576:19:0;1637:10;-1:-1:-1;;;;;17560:35:0;;:72;;;-1:-1:-1;17615:17:0;;-1:-1:-1;;;;;17615:17:0;1637:10;-1:-1:-1;;;;;17599:33:0;;17560:72;17552:81;;;;;;17673:21;17705:32;17673:21;17705:12;:32::i;:::-;17510:235;:::o;11420:138::-;-1:-1:-1;;;;;11533:16:0;;11486:7;11533:16;;;:7;:16;;;;;;11513:37;;:19;:37::i;3023:148::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;3130:1:::1;3114:6:::0;;3093:40:::1;::::0;-1:-1:-1;;;;;3114:6:0;;::::1;::::0;3093:40:::1;::::0;3130:1;;3093:40:::1;3161:1;3144:19:::0;;-1:-1:-1;;;;;;3144:19:0::1;::::0;;3023:148::o;22343:555::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;22545:3:::1;22522:19;:26;;22500:127;;;::::0;-1:-1:-1;;;22500:127:0;;7833:2:1;22500:127:0::1;::::0;::::1;7815:21:1::0;7872:2;7852:18;;;7845:30;7911:34;7891:18;;;7884:62;-1:-1:-1;;;7962:18:1;;;7955:49;8021:19;;22500:127:0::1;7805:241:1::0;22500:127:0::1;22672:4;22660:8;:16;;:33;;;;-1:-1:-1::0;22680:13:0;22660:33:::1;22638:131;;;::::0;-1:-1:-1;;;22638:131:0;;8609:2:1;22638:131:0::1;::::0;::::1;8591:21:1::0;8648:2;8628:18;;;8621:30;8687:34;8667:18;;;8660:62;-1:-1:-1;;;8738:18:1;;;8731:46;8794:19;;22638:131:0::1;8581:238:1::0;22638:131:0::1;22780:15;:37:::0;;;;22828:16:::1;:27:::0;22866:13:::1;:24:::0;;-1:-1:-1;;22866:24:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22343:555::o;21860:108::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;21934:12:::1;:26:::0;21860:108::o;16299:85::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;16353:15:::1;:23:::0;;-1:-1:-1;;;;16353:23:0::1;::::0;;16299:85::o;17054:203::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;17112:11:::1;::::0;-1:-1:-1;;;17112:11:0;::::1;;;17107:143;;17140:11;:18:::0;;-1:-1:-1;;;;17173:18:0;-1:-1:-1;;;17173:18:0;;;17223:15:::1;17206:14;:32:::0;17107:143:::1;17054:203::o:0;21524:139::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;21615:19:::1;:40:::0;21524:139::o;21177:294::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;21311:14:::1;:30:::0;;;;21352:15:::1;:32:::0;;;;21398:12:::1;:26:::0;21435:13:::1;:28:::0;21177:294::o;11567:199::-;11672:4;11694:42;1637:10;11718:9;11729:6;11694:9;:42::i;17266:236::-;17332:19;;-1:-1:-1;;;;;17332:19:0;1637:10;-1:-1:-1;;;;;17316:35:0;;:72;;;-1:-1:-1;17371:17:0;;-1:-1:-1;;;;;17371:17:0;1637:10;-1:-1:-1;;;;;17355:33:0;;17316:72;17308:81;;;;;;17400:23;17426:24;17444:4;17426:9;:24::i;:::-;17400:50;;17461:33;17478:15;17461:16;:33::i;22101:234::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;22218:9:::1;22214:114;22233:19:::0;;::::1;22214:114;;;22308:8;22274:18;:31;22293:8;;22302:1;22293:11;;;;;-1:-1:-1::0;;;22293:11:0::1;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;22274:31:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;22274:31:0;:42;;-1:-1:-1;;22274:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;22254:3;::::1;::::0;::::1;:::i;:::-;;;;22214:114;;;;22101:234:::0;;;:::o;21977:115::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;22054:14:::1;:30:::0;21977:115::o;3180:244::-;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3269:22:0;::::1;3261:73;;;::::0;-1:-1:-1;;;3261:73:0;;7023:2:1;3261:73:0::1;::::0;::::1;7005:21:1::0;7062:2;7042:18;;;7035:30;7101:34;7081:18;;;7074:62;-1:-1:-1;;;7152:18:1;;;7145:36;7198:19;;3261:73:0::1;6995:228:1::0;3261:73:0::1;3371:6;::::0;;3350:38:::1;::::0;-1:-1:-1;;;;;3350:38:0;;::::1;::::0;3371:6;::::1;::::0;3350:38:::1;::::0;::::1;3399:6;:17:::0;;-1:-1:-1;;;;;;3399:17:0::1;-1:-1:-1::0;;;;;3399:17:0;;;::::1;::::0;;;::::1;::::0;;3180:244::o;23696:1050::-;23807:4;2935:6;;-1:-1:-1;;;;;2935:6:0;1637:10;2935:22;2927:67;;;;-1:-1:-1;;;2927:67:0;;;;;;;:::i;:::-;23892:19:::1;;23869:20;;:42;;;;:::i;:::-;23851:15;:60;23829:142;;;::::0;-1:-1:-1;;;23829:142:0;;11420:2:1;23829:142:0::1;::::0;::::1;11402:21:1::0;;;11439:18;;;11432:30;11498:34;11478:18;;;11471:62;11550:18;;23829:142:0::1;11392:182:1::0;23829:142:0::1;24001:4;23990:7;:15;;23982:70;;;::::0;-1:-1:-1;;;23982:70:0;;10199:2:1;23982:70:0::1;::::0;::::1;10181:21:1::0;10238:2;10218:18;;;10211:30;10277:34;10257:18;;;10250:62;-1:-1:-1;;;10328:18:1;;;10321:40;10378:19;;23982:70:0::1;10171:232:1::0;23982:70:0::1;24086:15;24063:20;:38:::0;24202:13:::1;::::0;24187:29:::1;::::0;-1:-1:-1;;;24187:29:0;;-1:-1:-1;;;;;24202:13:0;;::::1;24187:29;::::0;::::1;4121:51:1::0;24156:28:0::1;::::0;24187:4:::1;::::0;:14:::1;::::0;4094:18:1;;24187:29:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24156:60:::0;-1:-1:-1;24266:20:0::1;24289:44;24327:5;24289:33;24156:60:::0;24314:7;24289:24:::1;:33::i;:::-;:37:::0;::::1;:44::i;:::-;24266:67:::0;-1:-1:-1;24438:16:0;;24434:104:::1;;24481:13;::::0;24471:55:::1;::::0;-1:-1:-1;;;;;24481:13:0::1;24504:6;24513:12:::0;24471:9:::1;:55::i;:::-;24650:13;::::0;24675:11:::1;::::0;;-1:-1:-1;;;;;;24675:11:0;;;;-1:-1:-1;;;;;24650:13:0;;::::1;::::0;;;24675:9:::1;::::0;:11:::1;::::0;;::::1;::::0;24613:19:::1;::::0;24675:11;;;;;;;24613:19;24650:13;24675:11;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;24702:14:0::1;::::0;::::1;::::0;-1:-1:-1;24702:14:0;;-1:-1:-1;24702:14:0::1;24734:4;24727:11;;;;;3005:1;23696:1050:::0;;;:::o;13312:369::-;-1:-1:-1;;;;;13439:19:0;;13431:68;;;;-1:-1:-1;;;13431:68:0;;11781:2:1;13431:68:0;;;11763:21:1;11820:2;11800:18;;;11793:30;11859:34;11839:18;;;11832:62;-1:-1:-1;;;11910:18:1;;;11903:34;11954:19;;13431:68:0;11753:226:1;13431:68:0;-1:-1:-1;;;;;13518:21:0;;13510:68;;;;-1:-1:-1;;;13510:68:0;;7430:2:1;13510:68:0;;;7412:21:1;7469:2;7449:18;;;7442:30;7508:34;7488:18;;;7481:62;-1:-1:-1;;;7559:18:1;;;7552:32;7601:19;;13510:68:0;7402:224:1;13510:68:0;-1:-1:-1;;;;;13589:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13641:32;;12130:25:1;;;13641:32:0;;12103:18:1;13641:32:0;;;;;;;13312:369;;;:::o;13690:2601::-;-1:-1:-1;;;;;13812:18:0;;13804:68;;;;-1:-1:-1;;;13804:68:0;;10610:2:1;13804:68:0;;;10592:21:1;10649:2;10629:18;;;10622:30;10688:34;10668:18;;;10661:62;-1:-1:-1;;;10739:18:1;;;10732:35;10784:19;;13804:68:0;10582:227:1;13804:68:0;-1:-1:-1;;;;;13891:16:0;;13883:64;;;;-1:-1:-1;;;13883:64:0;;5419:2:1;13883:64:0;;;5401:21:1;5458:2;5438:18;;;5431:30;5497:34;5477:18;;;5470:62;-1:-1:-1;;;5548:18:1;;;5541:33;5591:19;;13883:64:0;5391:225:1;13883:64:0;13975:1;13966:6;:10;13958:64;;;;-1:-1:-1;;;13958:64:0;;9789:2:1;13958:64:0;;;9771:21:1;9828:2;9808:18;;;9801:30;9867:34;9847:18;;;9840:62;-1:-1:-1;;;9918:18:1;;;9911:39;9967:19;;13958:64:0;9761:231:1;13958:64:0;2845:7;2872:6;-1:-1:-1;;;;;14040:15:0;;;2872:6;;14040:15;;;;:32;;-1:-1:-1;2845:7:0;2872:6;-1:-1:-1;;;;;14059:13:0;;;2872:6;;14059:13;;14040:32;14036:1523;;;14130:11;;-1:-1:-1;;;14130:11:0;;;;14122:87;;;;-1:-1:-1;;;14122:87:0;;5823:2:1;14122:87:0;;;5805:21:1;5862:2;5842:18;;;5835:30;5901:34;5881:18;;;5874:62;5972:33;5952:18;;;5945:61;6023:19;;14122:87:0;5795:253:1;14122:87:0;14230:15;;-1:-1:-1;;;14230:15:0;;;;14226:405;;;-1:-1:-1;;;;;14271:24:0;;;;;;:18;:24;;;;;;;;14270:25;:52;;;;-1:-1:-1;;;;;;14300:22:0;;;;;;:18;:22;;;;;;;;14299:23;14270:52;14266:350;;;14365:12;;14355:6;:22;;14347:63;;;;-1:-1:-1;;;14347:63:0;;6666:2:1;14347:63:0;;;6648:21:1;6705:2;6685:18;;;6678:30;6744;6724:18;;;6717:58;6792:18;;14347:63:0;6638:178:1;14347:63:0;14444:13;;-1:-1:-1;;;;;14438:19:0;;;14444:13;;14438:19;14435:162;;14519:14;;14510:6;14494:13;14504:2;14494:9;:13::i;:::-;:22;;;;:::i;:::-;:39;14486:87;;;;-1:-1:-1;;;14486:87:0;;11016:2:1;14486:87:0;;;10998:21:1;11055:2;11035:18;;;11028:30;11094:34;11074:18;;;11067:62;-1:-1:-1;;;11145:18:1;;;11138:33;11188:19;;14486:87:0;10988:225:1;14486:87:0;14648:28;14679:24;14697:4;14679:9;:24::i;:::-;14757:19;;14821:12;;14648:55;;-1:-1:-1;14733:43:0;;;;14797:36;;14794:124;;14890:12;;14867:35;;14794:124;14939:7;:18;;;;-1:-1:-1;14951:6:0;;-1:-1:-1;;;14951:6:0;;;;14950:7;14939:18;:43;;;;-1:-1:-1;14969:13:0;;-1:-1:-1;;;;;14961:21:0;;;14969:13;;14961:21;;14939:43;:58;;;;-1:-1:-1;14986:11:0;;-1:-1:-1;;;14986:11:0;;;;14939:58;:87;;;;-1:-1:-1;;;;;;15002:24:0;;;;;;:18;:24;;;;;;;;15001:25;14939:87;:114;;;;-1:-1:-1;;;;;;15031:22:0;;;;;;:18;:22;;;;;;;;15030:23;14939:114;14935:386;;;15074:38;15091:20;15074:16;:38::i;:::-;15160:21;15204:22;;15200:106;;15251:35;15264:21;15251:12;:35::i;:::-;14935:386;;15342:6;;-1:-1:-1;;;15342:6:0;;;;15341:7;:30;;;;-1:-1:-1;15358:13:0;;-1:-1:-1;;;;;15352:19:0;;;15358:13;;15352:19;15341:30;:85;;;;;15411:15;;15394:14;;:32;;;;:::i;:::-;15375:15;:51;;15341:85;:114;;;;-1:-1:-1;;;;;;15431:24:0;;;;;;:18;:24;;;;;;;;15430:25;15341:114;:141;;;;-1:-1:-1;;;;;;15460:22:0;;;;;;:18;:22;;;;;;;;15459:23;15341:141;15337:211;;;15503:29;:27;:29::i;:::-;;15337:211;14036:1523;;;-1:-1:-1;;;;;15637:24:0;;15572:12;15637:24;;;:18;:24;;;;;;15587:4;;15637:24;;;:50;;-1:-1:-1;;;;;;15665:22:0;;;;;;:18;:22;;;;;;;;15637:50;15636:102;;;-1:-1:-1;15701:13:0;;-1:-1:-1;;;;;15693:21:0;;;15701:13;;15693:21;;;;:44;;-1:-1:-1;15724:13:0;;-1:-1:-1;;;;;15718:19:0;;;15724:13;;15718:19;;15693:44;15632:597;;;-1:-1:-1;15765:5:0;15632:597;;;15849:13;;-1:-1:-1;;;;;15841:21:0;;;15849:13;;15841:21;:55;;;;-1:-1:-1;15880:15:0;;-1:-1:-1;;;;;15866:30:0;;;15880:15;;15866:30;;15841:55;15838:162;;;15929:14;;15917:9;:26;15972:12;;15962:7;:22;15838:162;16060:13;;-1:-1:-1;;;;;16054:19:0;;;16060:13;;16054:19;:55;;;;-1:-1:-1;16093:15:0;;-1:-1:-1;;;;;16077:32:0;;;16093:15;;16077:32;;16054:55;16050:165;;;16142:15;;16130:9;:27;16186:13;;16176:7;:23;16050:165;16242:41;16257:4;16263:2;16267:6;16275:7;16242:14;:41::i;3792:224::-;3912:7;3948:12;3940:6;;;;3932:29;;;;-1:-1:-1;;;3932:29:0;;;;;;;;:::i;:::-;-1:-1:-1;3972:9:0;3984:5;3988:1;3984;:5;:::i;:::-;3972:17;3792:224;-1:-1:-1;;;;;3792:224:0:o;16885:160::-;16942:19;;-1:-1:-1;;;;;16942:19:0;:43;16971:13;:6;16982:1;16971:10;:13::i;:::-;16942:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16996:17:0;;-1:-1:-1;;;;;16996:17:0;:41;17023:13;:6;17034:1;17023:10;:13::i;:::-;16996:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16885:160;:::o;12624:323::-;12719:7;12777;;12766;:18;;12744:110;;;;-1:-1:-1;;;12744:110:0;;6255:2:1;12744:110:0;;;6237:21:1;6294:2;6274:18;;;6267:30;6333:34;6313:18;;;6306:62;-1:-1:-1;;;6384:18:1;;;6377:40;6434:19;;12744:110:0;6227:232:1;12744:110:0;12865:19;12887:10;:8;:10::i;:::-;12865:32;-1:-1:-1;12915:24:0;:7;12865:32;12915:11;:24::i;:::-;12908:31;12624:323;-1:-1:-1;;;12624:323:0:o;16393:483::-;10208:6;:13;;-1:-1:-1;;;;10208:13:0;-1:-1:-1;;;10208:13:0;;;16495:16:::1;::::0;;16509:1:::1;16495:16:::0;;;;;::::1;::::0;;-1:-1:-1;;16495:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;16495:16:0::1;16471:40;;16540:4;16522;16527:1;16522:7;;;;;;-1:-1:-1::0;;;16522:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;16522:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;16566:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;16566:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;16522:7;;16566:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16556:4;16561:1;16556:7;;;;;;-1:-1:-1::0;;;16556:7:0::1;;;;;;;;;-1:-1:-1::0;;;;;16556:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;16631:15:::1;::::0;16599:62:::1;::::0;16616:4:::1;::::0;16631:15:::1;16649:11:::0;16599:8:::1;:62::i;:::-;16672:15;::::0;:196:::1;::::0;-1:-1:-1;;;16672:196:0;;-1:-1:-1;;;;;16672:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;16753:11;;16672:15:::1;::::0;16795:4;;16822::::1;::::0;16842:15:::1;::::0;16672:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10244:6:0;:14;;-1:-1:-1;;;;10244:14:0;;;-1:-1:-1;;;;16393:483:0:o;4025:246::-;4083:7;4107:6;4103:47;;-1:-1:-1;4137:1:0;4130:8;;4103:47;4160:9;4172:5;4176:1;4172;:5;:::i;:::-;4160:17;-1:-1:-1;4205:1:0;4196:5;4200:1;4160:17;4196:5;:::i;:::-;:10;4188:56;;;;-1:-1:-1;;;4188:56:0;;9026:2:1;4188:56:0;;;9008:21:1;9065:2;9045:18;;;9038:30;9104:34;9084:18;;;9077:62;-1:-1:-1;;;9155:18:1;;;9148:31;9196:19;;4188:56:0;8998:223:1;4280:132:0;4338:7;4365:39;4369:1;4372;4365:39;;;;;;;;;;;;;;;;;:3;:39::i;22906:782::-;22997:15;22980:14;:32;23113:13;;23098:29;;-1:-1:-1;;;23098:29:0;;-1:-1:-1;;;;;23113:13:0;;;23098:29;;;4121:51:1;22963:4:0;;;;23098;;:14;;4094:18:1;;23098:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23067:60;;23177:20;23200:77;23261:5;23200:42;23225:16;;23200:20;:24;;:42;;;;:::i;:77::-;23177:100;-1:-1:-1;23382:16:0;;23378:104;;23425:13;;23415:55;;-1:-1:-1;;;;;23425:13:0;23448:6;23457:12;23415:9;:55::i;:::-;23594:13;;23619:11;;;-1:-1:-1;;;;;;23619:11:0;;;;-1:-1:-1;;;;;23594:13:0;;;;;;23619:9;;:11;;;;;23557:19;;23619:11;;;;;;;23557:19;23594:13;23619:11;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;23646:12:0;;;;-1:-1:-1;23646:12:0;;-1:-1:-1;23646:12:0;23676:4;23669:11;;;;;22906:782;:::o;17754:282::-;17910:7;17905:28;;17919:14;:12;:14::i;:::-;17944:44;17962:6;17970:9;17981:6;17944:17;:44::i;:::-;18004:7;17999:29;;18013:15;13242:17;;13230:9;:29;13280:15;;13270:7;:25;13186:117;20732:167;20774:7;20795:15;20812;20831:19;:17;:19::i;:::-;20794:56;;-1:-1:-1;20794:56:0;-1:-1:-1;20871:20:0;20794:56;;20871:11;:20::i;:::-;20864:27;;;;20732:167;:::o;4421:223::-;4541:7;4576:12;4569:5;4561:28;;;;-1:-1:-1;;;4561:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4600:9:0;4612:5;4616:1;4612;:5;:::i;12956:221::-;13003:9;;:14;:30;;;;-1:-1:-1;13021:7:0;;:12;13003:30;12999:43;;;12956:221::o;12999:43::-;13075:9;;;13055:17;:29;13113:7;;;13095:15;:25;-1:-1:-1;13134:13:0;;;;13158:11;12956:221::o;18045:610::-;18192:15;18222:23;18260:12;18287:23;18325:12;18352:13;18379:19;18390:7;18379:10;:19::i;:::-;-1:-1:-1;;;;;18427:15:0;;;;;;:7;:15;;;;;;18177:221;;-1:-1:-1;18177:221:0;;-1:-1:-1;18177:221:0;;-1:-1:-1;18177:221:0;-1:-1:-1;18177:221:0;-1:-1:-1;18177:221:0;-1:-1:-1;18427:28:0;;18177:221;18427:19;:28::i;:::-;-1:-1:-1;;;;;18409:15:0;;;;;;;:7;:15;;;;;;:46;;;;18487:18;;;;;;;:39;;18510:15;18487:22;:39::i;:::-;-1:-1:-1;;;;;18466:18:0;;;;;;:7;:18;;;;;:60;18537:16;18547:5;18537:9;:16::i;:::-;18564:23;18576:4;18582;18564:11;:23::i;:::-;18620:9;-1:-1:-1;;;;;18603:44:0;18612:6;-1:-1:-1;;;;;18603:44:0;;18631:15;18603:44;;;;12130:25:1;;12118:2;12103:18;;12085:76;18603:44:0;;;;;;;;18045:610;;;;;;;;;:::o;20908:260::-;21006:7;;20959;;;;8612:22;21074:20;21006:7;8612:22;21074:11;:20::i;:::-;21064:7;:30;21060:61;;;-1:-1:-1;;21104:7:0;;;8612:22;;-1:-1:-1;20908:260:0;-1:-1:-1;20908:260:0:o;21060:61::-;21143:7;;21152;;-1:-1:-1;20908:260:0;-1:-1:-1;20908:260:0:o;19078:618::-;19178:7;19200;19222;19244;19266;19288;19324:23;19349:12;19363:13;19393:40;19405:7;19414:9;;19425:7;;19393:11;:40::i;:::-;19323:110;;;;;;19444:19;19466:10;:8;:10::i;:::-;19444:32;;19488:15;19505:23;19530:12;19559:46;19571:7;19580:4;19586:5;19593:11;19559;:46::i;:::-;19487:118;;-1:-1:-1;19487:118:0;-1:-1:-1;19487:118:0;-1:-1:-1;19659:15:0;;-1:-1:-1;19676:4:0;;-1:-1:-1;19682:5:0;;-1:-1:-1;;;;;19078:618:0;;;;;;;:::o;3647:136::-;3705:7;3732:43;3736:1;3739;3732:43;;;;;;;;;;;;;;;;;:3;:43::i;3459:179::-;3517:7;;3549:5;3553:1;3549;:5;:::i;:::-;3537:17;;3578:1;3573;:6;;3565:46;;;;-1:-1:-1;;;3565:46:0;;8253:2:1;3565:46:0;;;8235:21:1;8292:2;8272:18;;;8265:30;8331:29;8311:18;;;8304:57;8378:18;;3565:46:0;8225:177:1;18664:211:0;18717:19;18739:10;:8;:10::i;:::-;18717:32;-1:-1:-1;18760:13:0;18776:22;:5;18717:32;18776:9;:22::i;:::-;18850:4;18834:22;;;;:7;:22;;;;;;18760:38;;-1:-1:-1;18834:33:0;;18760:38;18834:26;:33::i;:::-;18825:4;18809:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;18664:211:0:o;18884:147::-;18962:7;;:17;;18974:4;18962:11;:17::i;:::-;18952:7;:27;19003:10;;:20;;19018:4;19003:14;:20::i;:::-;18990:10;:33;-1:-1:-1;;18884:147:0:o;19705:472::-;19874:7;;;;19968:30;19994:3;19968:21;:7;19980:8;19968:11;:21::i;:30::-;19953:45;-1:-1:-1;20009:13:0;20025:28;20049:3;20025:19;:7;20037:6;20025:11;:19::i;:28::-;20009:44;-1:-1:-1;20064:23:0;20090:28;20009:44;20090:17;:7;20102:4;20090:11;:17::i;:::-;:21;;:28::i;:::-;20064:54;20157:4;;-1:-1:-1;20163:5:0;;-1:-1:-1;19705:472:0;;-1:-1:-1;;;;;19705:472:0:o;20186:537::-;20380:7;;;;20477:24;:7;20489:11;20477;:24::i;:::-;20459:42;-1:-1:-1;20512:12:0;20527:21;:4;20536:11;20527:8;:21::i;:::-;20512:36;-1:-1:-1;20559:13:0;20575:22;:5;20585:11;20575:9;:22::i;:::-;20559:38;-1:-1:-1;20608:23:0;20634:28;20559:38;20634:17;:7;20646:4;20634:11;:17::i;:28::-;20684:7;;;;-1:-1:-1;20710:4:0;;-1:-1:-1;20186:537:0;;-1:-1:-1;;;;;;;20186:537:0:o;14:160:1:-;79:20;;135:13;;128:21;118:32;;108:2;;164:1;161;154:12;179:257;238:6;291:2;279:9;270:7;266:23;262:32;259:2;;;312:6;304;297:22;259:2;356:9;343:23;375:31;400:5;375:31;:::i;441:261::-;511:6;564:2;552:9;543:7;539:23;535:32;532:2;;;585:6;577;570:22;532:2;622:9;616:16;641:31;666:5;641:31;:::i;707:398::-;775:6;783;836:2;824:9;815:7;811:23;807:32;804:2;;;857:6;849;842:22;804:2;901:9;888:23;920:31;945:5;920:31;:::i;:::-;970:5;-1:-1:-1;1027:2:1;1012:18;;999:32;1040:33;999:32;1040:33;:::i;:::-;1092:7;1082:17;;;794:311;;;;;:::o;1110:466::-;1187:6;1195;1203;1256:2;1244:9;1235:7;1231:23;1227:32;1224:2;;;1277:6;1269;1262:22;1224:2;1321:9;1308:23;1340:31;1365:5;1340:31;:::i;:::-;1390:5;-1:-1:-1;1447:2:1;1432:18;;1419:32;1460:33;1419:32;1460:33;:::i;:::-;1214:362;;1512:7;;-1:-1:-1;;;1566:2:1;1551:18;;;;1538:32;;1214:362::o;1581:325::-;1649:6;1657;1710:2;1698:9;1689:7;1685:23;1681:32;1678:2;;;1731:6;1723;1716:22;1678:2;1775:9;1762:23;1794:31;1819:5;1794:31;:::i;:::-;1844:5;1896:2;1881:18;;;;1868:32;;-1:-1:-1;;;1668:238:1:o;1911:739::-;2003:6;2011;2019;2072:2;2060:9;2051:7;2047:23;2043:32;2040:2;;;2093:6;2085;2078:22;2040:2;2138:9;2125:23;2167:18;2208:2;2200:6;2197:14;2194:2;;;2229:6;2221;2214:22;2194:2;2272:6;2261:9;2257:22;2247:32;;2317:7;2310:4;2306:2;2302:13;2298:27;2288:2;;2344:6;2336;2329:22;2288:2;2389;2376:16;2415:2;2407:6;2404:14;2401:2;;;2436:6;2428;2421:22;2401:2;2496:7;2489:4;2479:6;2476:1;2472:14;2468:2;2464:23;2460:34;2457:47;2454:2;;;2522:6;2514;2507:22;2454:2;2558:4;2550:13;;;;-1:-1:-1;2582:6:1;-1:-1:-1;2607:37:1;;2623:20;;;-1:-1:-1;2607:37:1;:::i;:::-;2597:47;;2030:620;;;;;:::o;2655:190::-;2711:6;2764:2;2752:9;2743:7;2739:23;2735:32;2732:2;;;2785:6;2777;2770:22;2732:2;2813:26;2829:9;2813:26;:::i;2850:190::-;2909:6;2962:2;2950:9;2941:7;2937:23;2933:32;2930:2;;;2983:6;2975;2968:22;2930:2;-1:-1:-1;3011:23:1;;2920:120;-1:-1:-1;2920:120:1:o;3045:194::-;3115:6;3168:2;3156:9;3147:7;3143:23;3139:32;3136:2;;;3189:6;3181;3174:22;3136:2;-1:-1:-1;3217:16:1;;3126:113;-1:-1:-1;3126:113:1:o;3244:326::-;3318:6;3326;3334;3387:2;3375:9;3366:7;3362:23;3358:32;3355:2;;;3408:6;3400;3393:22;3355:2;3449:9;3436:23;3426:33;;3506:2;3495:9;3491:18;3478:32;3468:42;;3529:35;3560:2;3549:9;3545:18;3529:35;:::i;3575:395::-;3661:6;3669;3677;3685;3738:3;3726:9;3717:7;3713:23;3709:33;3706:2;;;3760:6;3752;3745:22;3706:2;-1:-1:-1;;3788:23:1;;;3858:2;3843:18;;3830:32;;-1:-1:-1;3909:2:1;3894:18;;3881:32;;3960:2;3945:18;3932:32;;-1:-1:-1;3696:274:1;-1:-1:-1;3696:274:1:o;4609:603::-;4721:4;4750:2;4779;4768:9;4761:21;4811:6;4805:13;4854:6;4849:2;4838:9;4834:18;4827:34;4879:4;4892:140;4906:6;4903:1;4900:13;4892:140;;;5001:14;;;4997:23;;4991:30;4967:17;;;4986:2;4963:26;4956:66;4921:10;;4892:140;;;5050:6;5047:1;5044:13;5041:2;;;5120:4;5115:2;5106:6;5095:9;5091:22;5087:31;5080:45;5041:2;-1:-1:-1;5196:2:1;5175:15;-1:-1:-1;;5171:29:1;5156:45;;;;5203:2;5152:54;;4730:482;-1:-1:-1;;;4730:482:1:o;9226:356::-;9428:2;9410:21;;;9447:18;;;9440:30;9506:34;9501:2;9486:18;;9479:62;9573:2;9558:18;;9400:182::o;12166:983::-;12428:4;12476:3;12465:9;12461:19;12507:6;12496:9;12489:25;12533:2;12571:6;12566:2;12555:9;12551:18;12544:34;12614:3;12609:2;12598:9;12594:18;12587:31;12638:6;12673;12667:13;12704:6;12696;12689:22;12742:3;12731:9;12727:19;12720:26;;12781:2;12773:6;12769:15;12755:29;;12802:4;12815:195;12829:6;12826:1;12823:13;12815:195;;;12894:13;;-1:-1:-1;;;;;12890:39:1;12878:52;;12985:15;;;;12950:12;;;;12926:1;12844:9;12815:195;;;-1:-1:-1;;;;;;;13066:32:1;;;;13061:2;13046:18;;13039:60;-1:-1:-1;;;13130:3:1;13115:19;13108:35;13027:3;12437:712;-1:-1:-1;;;12437:712:1:o;13343:128::-;13383:3;13414:1;13410:6;13407:1;13404:13;13401:2;;;13420:18;;:::i;:::-;-1:-1:-1;13456:9:1;;13391:80::o;13476:217::-;13516:1;13542;13532:2;;-1:-1:-1;;;13567:31:1;;13621:4;13618:1;13611:15;13649:4;13574:1;13639:15;13532:2;-1:-1:-1;13678:9:1;;13522:171::o;13698:168::-;13738:7;13804:1;13800;13796:6;13792:14;13789:1;13786:21;13781:1;13774:9;13767:17;13763:45;13760:2;;;13811:18;;:::i;:::-;-1:-1:-1;13851:9:1;;13750:116::o;13871:125::-;13911:4;13939:1;13936;13933:8;13930:2;;;13944:18;;:::i;:::-;-1:-1:-1;13981:9:1;;13920:76::o;14001:135::-;14040:3;-1:-1:-1;;14061:17:1;;14058:2;;;14081:18;;:::i;:::-;-1:-1:-1;14128:1:1;14117:13;;14048:88::o;14141:127::-;14202:10;14197:3;14193:20;14190:1;14183:31;14233:4;14230:1;14223:15;14257:4;14254:1;14247:15;14273:131;-1:-1:-1;;;;;14348:31:1;;14338:42;;14328:2;;14394:1;14391;14384:12

Swarm Source

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