ETH Price: $2,990.78 (-2.22%)
Gas: 2 Gwei

Token

DICKELON (DICKELON)
 

Overview

Max Total Supply

1,000,000,000,000 DICKELON

Holders

119

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
2,240,699,868.893986046 DICKELON

Value
$0.00
0xccee66d02065b3c10e507676913d4446ba1cd4ce
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:
DICKELON

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// ..... ▄▄ ▄▄
// ......▄▌▒▒▀▒▒▐▄
// .... ▐▒▒▒▒▒▒▒▒▒▌
// ... ▐▒▒▒▒▒▒▒▒▒▒▒▌
// ....▐▒▒▒▒▒▒▒▒▒▒▒▌
// ....▐▀▄▄▄▄▄▄▄▄▄▀▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ....▐░░░░░░░░░░░▌
// ...▄█▓░░░░░░░░░▓█▄
// ..▄▀░░░░░░░░░░░░░ ▀▄
// .▐░░░░░░░▀▄▒▄▀░░░░░░▌
// ▐░░░░░░░▒▒▐▒▒░░░░░░░▌
// ▐▒░░░░░▒▒▒▐▒▒▒░░░░░▒▌
// .▀▄▒▒▒▒▒▄▀▒▀▄▒▒▒▒▒▄▀
// .. ▀▀▀▀▀ ▀▀▀▀▀
// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

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

interface IERC20 {
    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address recipient, uint256 amount) external returns (bool);

    function allowance(address owner, address spender) external view returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(
        address indexed owner,
        address indexed spender,
        uint256 value
    );
}

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

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

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

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

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

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

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

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

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

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

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

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

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

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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

    string private constant _name = "DICKELON";
    string private constant _symbol = "DICKELON";
    uint8 private constant _decimals = 9;

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

    // Jeets out Fee
    uint256 private _redisFeeJeets = 5;
    uint256 private _taxFeeJeets = 25;

    // Buy Fee
    uint256 private _redisFeeOnBuy = 2;
    uint256 private _taxFeeOnBuy = 10;
    
    // Sell Fee
    uint256 private _redisFeeOnSell = 2;
    uint256 private _taxFeeOnSell = 10;
    
    // Original Fee
    uint256 private _redisFee = _redisFeeOnSell;
    uint256 private _taxFee = _taxFeeOnSell;
    uint256 private _burnFee = 0;
    
    uint256 private _previousredisFee = _redisFee;
    uint256 private _previoustaxFee = _taxFee;
    uint256 private _previousburnFee = _burnFee;

    mapping(address => uint256) private cooldown;
    
    address payable private _marketingAddress = payable(0x39CdfC25fa752f592F56F436022489299894Efd2);
    address public constant deadAddress = 0x000000000000000000000000000000000000dEaD;

    uint256 public timeJeets = 6 hours;
    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = true;
    bool private isMaxBuyActivated = true;
    
    uint256 public _maxTxAmount = 1e10 * 10**9; //1% - 10000000000
    uint256 public _maxWalletSize = 3e10 * 10**9; //3%
    uint256 public _swapTokensAtAmount = 1000 * 10**9; 
    uint256 public _minimumBuyAmount = 5e9 * 10**9; // 0.5%

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

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

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

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

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

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

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

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

    function marketingWallet() public view returns (address) {
        return _marketingAddress;
    }

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

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

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

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

    function tokenFromReflection(uint256 rAmount)
        private
        view
        returns (uint256)
    {
        require(
            rAmount <= _rTotal,
            "Amount must be less than total reflections"
        );
        uint256 currentRate = _getRate();
        return rAmount.div(currentRate);
    }

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

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

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

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

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

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

        // Transfer Tokens
        if ((_isExcludedFromFee[from] || _isExcludedFromFee[to]) || (from != uniswapV2Pair && to != uniswapV2Pair)) {
            takeFee = false;
        } else {
            // Set Fee for Buys
            if(from == uniswapV2Pair && to != address(uniswapV2Router)) {
                    _buyMap[to] = block.timestamp;
                    _redisFee = _redisFeeOnBuy;
                    _taxFee = _taxFeeOnBuy;
                    // antibot
                    if (block.timestamp == launchTime) {
                        _isSniper[to] = true;
                    }
            }
    
            // Set Fee for Sells
            // TAX SELLERS 25% WHO SELL WITHIN 48 HOURS (13% marketing + 12% holders redistribution)
            if (to == uniswapV2Pair && from != address(uniswapV2Router)) {
                if (_buyMap[from] != 0 && (_buyMap[from] + timeJeets >= block.timestamp)) {
                    _redisFee = _redisFeeJeets;
                    _taxFee = _taxFeeJeets;
                } else {
                    _redisFee = _redisFeeOnSell;
                    _taxFee = _taxFeeOnSell;
                }
            }
        }

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

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

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    
    // Set minimum tokens required to swap.
    function setMinSwapTokensThreshold(uint256 swapTokensAtAmount) external {
        require(_msgSender() == _marketingAddress);
        _swapTokensAtAmount = swapTokensAtAmount;
    }

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

    function setTrading(bool _tradingOpen) public onlyOwner {
        tradingOpen = _tradingOpen;
        launchTime = block.timestamp;
    }

    function setIsMaxBuyActivated(bool _isMaxBuyActivated) public {
        require(_msgSender() == _marketingAddress);
        isMaxBuyActivated = _isMaxBuyActivated;
    }

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

    function addSniper(address sniper) external onlyOwner {
        _isSniper[sniper] = true;
    }

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

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

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

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

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

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

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

    receive() external payable {}

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

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

        return (tTransferAmount, tFee, tTeam);
    }

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

        return (rAmount, rTransferAmount, rFee);
    }

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

        return rSupply.div(tSupply);
    }

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

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

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

    function setJeetsFee(uint256 amountRedisJeets, uint256 amountTaxJeets) external {
        require(_msgSender() == _marketingAddress);
        require(amountRedisJeets >= 0 && amountRedisJeets <= 30);
        require(amountTaxJeets >= 0 && amountTaxJeets <= 30);
        _redisFeeJeets = amountRedisJeets;
        _taxFeeJeets = amountTaxJeets;
    }
    
    function setBurnFee(uint256 amount) external {
        require(_msgSender() == _marketingAddress);
        require(amount >= 0 && amount <= 30);
        _burnFee = amount;
    }

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_minimumBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"addSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"isSniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"launchTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"sniper","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setBurnFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_isMaxBuyActivated","type":"bool"}],"name":"setIsMaxBuyActivated","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRedisJeets","type":"uint256"},{"internalType":"uint256","name":"amountTaxJeets","type":"uint256"}],"name":"setJeetsFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxTxAmount","type":"uint256"}],"name":"setMaxTxnAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWalletSize","type":"uint256"}],"name":"setMaxWalletSize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"swapTokensAtAmount","type":"uint256"}],"name":"setMinSwapTokensThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountRefBuy","type":"uint256"},{"internalType":"uint256","name":"amountRefSell","type":"uint256"}],"name":"setRefFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountBuy","type":"uint256"},{"internalType":"uint256","name":"amountSell","type":"uint256"}],"name":"setTaxFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"hoursTime","type":"uint256"}],"name":"setTimeJeets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingOpen","type":"bool"}],"name":"setTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"timeJeets","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052683635c9adc5dea000006000196200001d919062000805565b6000196200002c91906200078c565b6007556005600b556019600c556002600d55600a600e556002600f55600a601055600f5460115560105460125560006013556011546014556012546015556013546016557339cdfc25fa752f592f56f436022489299894efd2601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506154606019556000601b60156101000a81548160ff0219169083151502179055506001601b60166101000a81548160ff0219169083151502179055506001601b60176101000a81548160ff021916908315150217905550678ac7230489e80000601c556801a055690d9db80000601d5564e8d4a51000601e55674563918244f40000601f553480156200015757600080fd5b5060006200016a620006a660201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600754600260006200021f620006a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620002fe57600080fd5b505afa15801562000313573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003399190620006ee565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200039c57600080fd5b505afa158015620003b1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003d79190620006ee565b6040518363ffffffff1660e01b8152600401620003f692919062000742565b602060405180830381600087803b1580156200041157600080fd5b505af115801562000426573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200044c9190620006ee565b601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160066000620004a2620006ae60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160066000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016006600061dead73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200062f620006a660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200069791906200076f565b60405180910390a350620008ba565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600081519050620006e881620008a0565b92915050565b6000602082840312156200070757620007066200089b565b5b60006200071784828501620006d7565b91505092915050565b6200072b81620007c7565b82525050565b6200073c81620007fb565b82525050565b600060408201905062000759600083018562000720565b62000768602083018462000720565b9392505050565b600060208201905062000786600083018462000731565b92915050565b60006200079982620007fb565b9150620007a683620007fb565b925082821015620007bc57620007bb6200083d565b5b828203905092915050565b6000620007d482620007db565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60006200081282620007fb565b91506200081f83620007fb565b9250826200083257620008316200086c565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600080fd5b620008ab81620007c7565b8114620008b757600080fd5b50565b6144b280620008ca6000396000f3fe6080604052600436106102295760003560e01c806374010ece1161012357806398a5c315116100ab578063dd62ed3e1161006f578063dd62ed3e146107da578063e0f9f6a014610817578063ea1644d514610840578063f2fde38b14610869578063fe72c3c11461089257610230565b806398a5c315146106f95780639ec350ed146107225780639f1315711461074b578063a9059cbb14610774578063c5528490146107b157610230565b8063881dce60116100f2578063881dce60146106265780638da5cb5b1461064f5780638f70ccf71461067a5780638f9a55c0146106a357806395d89b41146106ce57610230565b806374010ece1461057c57806375f0a874146105a5578063790ca413146105d05780637d1db4a5146105fb57610230565b806333251a0b116101b15780636b9cf534116101755780636b9cf534146104bd5780636d8aa8f8146104e85780636fc3eaec1461051157806370a0823114610528578063715018a61461056557610230565b806333251a0b146103ee57806338eea22d146104175780633e3e95981461044057806349bd5a5e146104695780634bf2c7c91461049457610230565b806318160ddd116101f857806318160ddd1461030557806323b872dd1461033057806327c8f8351461036d5780632fd689e314610398578063313ce567146103c357610230565b806306fdde0314610235578063095ea7b3146102605780630f3a325f1461029d5780631694505e146102da57610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108bd565b60405161025791906139fc565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190613566565b6108fa565b60405161029491906139c6565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190613479565b610918565b6040516102d191906139c6565b60405180910390f35b3480156102e657600080fd5b506102ef61096e565b6040516102fc91906139e1565b60405180910390f35b34801561031157600080fd5b5061031a610994565b6040516103279190613c3e565b60405180910390f35b34801561033c57600080fd5b5061035760048036038101906103529190613513565b6109a5565b60405161036491906139c6565b60405180910390f35b34801561037957600080fd5b50610382610a7e565b60405161038f91906139ab565b60405180910390f35b3480156103a457600080fd5b506103ad610a84565b6040516103ba9190613c3e565b60405180910390f35b3480156103cf57600080fd5b506103d8610a8a565b6040516103e59190613cb3565b60405180910390f35b3480156103fa57600080fd5b5061041560048036038101906104109190613479565b610a93565b005b34801561042357600080fd5b5061043e60048036038101906104399190613600565b610bd6565b005b34801561044c57600080fd5b5061046760048036038101906104629190613479565b610c7f565b005b34801561047557600080fd5b5061047e610d6f565b60405161048b91906139ab565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906135d3565b610d95565b005b3480156104c957600080fd5b506104d2610e1b565b6040516104df9190613c3e565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a91906135a6565b610e21565b005b34801561051d57600080fd5b50610526610ed3565b005b34801561053457600080fd5b5061054f600480360381019061054a9190613479565b610f45565b60405161055c9190613c3e565b60405180910390f35b34801561057157600080fd5b5061057a610f96565b005b34801561058857600080fd5b506105a3600480360381019061059e91906135d3565b6110e9565b005b3480156105b157600080fd5b506105ba61119f565b6040516105c791906139ab565b60405180910390f35b3480156105dc57600080fd5b506105e56111c9565b6040516105f29190613c3e565b60405180910390f35b34801561060757600080fd5b506106106111cf565b60405161061d9190613c3e565b60405180910390f35b34801561063257600080fd5b5061064d600480360381019061064891906135d3565b6111d5565b005b34801561065b57600080fd5b50610664611299565b60405161067191906139ab565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c91906135a6565b6112c2565b005b3480156106af57600080fd5b506106b861137b565b6040516106c59190613c3e565b60405180910390f35b3480156106da57600080fd5b506106e3611381565b6040516106f091906139fc565b60405180910390f35b34801561070557600080fd5b50610720600480360381019061071b91906135d3565b6113be565b005b34801561072e57600080fd5b5061074960048036038101906107449190613600565b611429565b005b34801561075757600080fd5b50610772600480360381019061076d91906135a6565b6114d2565b005b34801561078057600080fd5b5061079b60048036038101906107969190613566565b611550565b6040516107a891906139c6565b60405180910390f35b3480156107bd57600080fd5b506107d860048036038101906107d39190613600565b61156e565b005b3480156107e657600080fd5b5061080160048036038101906107fc91906134d3565b611617565b60405161080e9190613c3e565b60405180910390f35b34801561082357600080fd5b5061083e600480360381019061083991906135d3565b61169e565b005b34801561084c57600080fd5b50610867600480360381019061086291906135d3565b611731565b005b34801561087557600080fd5b50610890600480360381019061088b9190613479565b61179c565b005b34801561089e57600080fd5b506108a761195e565b6040516108b49190613c3e565b60405180910390f35b60606040518060400160405280600881526020017f4449434b454c4f4e000000000000000000000000000000000000000000000000815250905090565b600061090e610907611964565b848461196c565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000683635c9adc5dea00000905090565b60006109b2848484611b37565b610a73846109be611964565b610a6e8560405180606001604052806028815260200161445560289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a24611964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128fd9092919063ffffffff16565b61196c565b600190509392505050565b61dead81565b601e5481565b60006009905090565b610a9b611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f90613b5e565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bd3576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c17611964565b73ffffffffffffffffffffffffffffffffffffffff1614610c3757600080fd5b60008210158015610c495750601e8211155b610c5257600080fd5b60008110158015610c645750601e8111155b610c6d57600080fd5b81600d8190555080600f819055505050565b610c87611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90613b5e565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dd6611964565b73ffffffffffffffffffffffffffffffffffffffff1614610df657600080fd5b60008110158015610e085750601e8111155b610e1157600080fd5b8060138190555050565b601f5481565b610e29611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead90613b5e565b60405180910390fd5b80601b60166101000a81548160ff02191690831515021790555050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f14611964565b73ffffffffffffffffffffffffffffffffffffffff1614610f3457600080fd5b6000479050610f4281612961565b50565b6000610f8f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cd565b9050919050565b610f9e611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290613b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661112a611964565b73ffffffffffffffffffffffffffffffffffffffff161461114a57600080fd5b670de0b6b3a7640000811015611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90613b1e565b60405180910390fd5b80601c8190555050565b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b601c5481565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611216611964565b73ffffffffffffffffffffffffffffffffffffffff161461123657600080fd5b61123f30610f45565b811115801561124e5750600081115b61128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128490613c1e565b60405180910390fd5b61129681612a3b565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ca611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90613b5e565b60405180910390fd5b80601b60146101000a81548160ff02191690831515021790555042600a8190555050565b601d5481565b60606040518060400160405280600881526020017f4449434b454c4f4e000000000000000000000000000000000000000000000000815250905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113ff611964565b73ffffffffffffffffffffffffffffffffffffffff161461141f57600080fd5b80601e8190555050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661146a611964565b73ffffffffffffffffffffffffffffffffffffffff161461148a57600080fd5b6000821015801561149c5750601e8211155b6114a557600080fd5b600081101580156114b75750601e8111155b6114c057600080fd5b81600b8190555080600c819055505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611513611964565b73ffffffffffffffffffffffffffffffffffffffff161461153357600080fd5b80601b60176101000a81548160ff02191690831515021790555050565b600061156461155d611964565b8484611b37565b6001905092915050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115af611964565b73ffffffffffffffffffffffffffffffffffffffff16146115cf57600080fd5b600082101580156115e15750601e8211155b6115ea57600080fd5b600081101580156115fc5750601e8111155b61160557600080fd5b81600e81905550806010819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116df611964565b73ffffffffffffffffffffffffffffffffffffffff16146116ff57600080fd5b60008110158015611711575060c88111155b61171a57600080fd5b610e10816117289190613daa565b60198190555050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611772611964565b73ffffffffffffffffffffffffffffffffffffffff161461179257600080fd5b80601d8190555050565b6117a4611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182890613b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189890613a9e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d390613bfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4390613abe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b2a9190613c3e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90613b9e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0e90613a1e565b60405180910390fd5b60008111611c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5190613b7e565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cde90613bde565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90613bde565b60405180910390fd5b60096000611d80611964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90613bde565b60405180910390fd5b611e10611299565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e7e5750611e4e611299565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561249c57601b60149054906101000a900460ff16611ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec990613a3e565b60405180910390fd5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611f7d5750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120ea573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611fea57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120445750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561209e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120e957601c548111156120e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120df90613a7e565b60405180910390fd5b5b5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121965750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121ce57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612208575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122d757601d548161221a84610f45565b6122249190613d23565b10612264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225b90613bbe565b60405180910390fd5b601b60179054906101000a900460ff16156122d657610708600a546122899190613d23565b42116122d557601f548111156122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb90613ade565b60405180910390fd5b5b5b5b60006122e230610f45565b90506000601e54821190508080156123075750601b60159054906101000a900460ff16155b80156123615750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123795750601b60169054906101000a900460ff165b80156123cf5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124255750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561249957600080601354111561246a5761245e606461245060135486612cc390919063ffffffff16565b612d3e90919063ffffffff16565b905061246981612d88565b5b61247e81846124799190613e04565b612a3b565b600047905060008111156124965761249547612961565b5b50505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125435750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125f65750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125f55750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561260457600090506128eb565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126af5750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561276e5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54601181905550600e54601281905550600a5442141561276d576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156128195750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156128ea576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141580156128ba575042601954600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128b79190613d23565b10155b156128d657600b54601181905550600c546012819055506128e9565b600f546011819055506010546012819055505b5b5b6128f784848484612d98565b50505050565b6000838311158290612945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293c91906139fc565b60405180910390fd5b50600083856129549190613e04565b9050809150509392505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156129c9573d6000803e3d6000fd5b5050565b6000600754821115612a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0b90613a5e565b60405180910390fd5b6000612a1e612dc5565b9050612a338184612d3e90919063ffffffff16565b915050919050565b6001601b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612a7357612a72613f95565b5b604051908082528060200260200182016040528015612aa15781602001602082028036833780820191505090505b5090503081600081518110612ab957612ab8613f66565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612b5b57600080fd5b505afa158015612b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9391906134a6565b81600181518110612ba757612ba6613f66565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c0e30601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461196c565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612c72959493929190613c59565b600060405180830381600087803b158015612c8c57600080fd5b505af1158015612ca0573d6000803e3d6000fd5b50505050506000601b60156101000a81548160ff02191690831515021790555050565b600080831415612cd65760009050612d38565b60008284612ce49190613daa565b9050828482612cf39190613d79565b14612d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2a90613b3e565b60405180910390fd5b809150505b92915050565b6000612d8083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612df0565b905092915050565b612d953061dead83611b37565b50565b80612da657612da5612e53565b5b612db1848484612eb5565b80612dbf57612dbe613080565b5b50505050565b6000806000612dd261309d565b91509150612de98183612d3e90919063ffffffff16565b9250505090565b60008083118290612e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2e91906139fc565b60405180910390fd5b5060008385612e469190613d79565b9050809150509392505050565b6000601154148015612e6757506000601254145b8015612e7557506000601354145b15612e7f57612eb3565b6011546014819055506012546015819055506013546016819055506000601181905550600060128190555060006013819055505b565b600080600080600080612ec7876130ff565b955095509550955095509550612f2586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461316790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fba85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130068161320f565b61301084836132cc565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161306d9190613c3e565b60405180910390a3505050505050505050565b601454601181905550601554601281905550601654601381905550565b600080600060075490506000683635c9adc5dea0000090506130d3683635c9adc5dea00000600754612d3e90919063ffffffff16565b8210156130f257600754683635c9adc5dea000009350935050506130fb565b81819350935050505b9091565b600080600080600080600080600061311c8a601154601254613306565b925092509250600061312c612dc5565b9050600080600061313f8e87878761339c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006131a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128fd565b905092915050565b60008082846131c09190613d23565b905083811015613205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131fc90613afe565b60405180910390fd5b8091505092915050565b6000613219612dc5565b905060006132308284612cc390919063ffffffff16565b905061328481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6132e18260075461316790919063ffffffff16565b6007819055506132fc816008546131b190919063ffffffff16565b6008819055505050565b6000806000806133326064613324888a612cc390919063ffffffff16565b612d3e90919063ffffffff16565b9050600061335c606461334e888b612cc390919063ffffffff16565b612d3e90919063ffffffff16565b9050600061338582613377858c61316790919063ffffffff16565b61316790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806133b58589612cc390919063ffffffff16565b905060006133cc8689612cc390919063ffffffff16565b905060006133e38789612cc390919063ffffffff16565b9050600061340c826133fe858761316790919063ffffffff16565b61316790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506134348161440f565b92915050565b6000815190506134498161440f565b92915050565b60008135905061345e81614426565b92915050565b6000813590506134738161443d565b92915050565b60006020828403121561348f5761348e613fc4565b5b600061349d84828501613425565b91505092915050565b6000602082840312156134bc576134bb613fc4565b5b60006134ca8482850161343a565b91505092915050565b600080604083850312156134ea576134e9613fc4565b5b60006134f885828601613425565b925050602061350985828601613425565b9150509250929050565b60008060006060848603121561352c5761352b613fc4565b5b600061353a86828701613425565b935050602061354b86828701613425565b925050604061355c86828701613464565b9150509250925092565b6000806040838503121561357d5761357c613fc4565b5b600061358b85828601613425565b925050602061359c85828601613464565b9150509250929050565b6000602082840312156135bc576135bb613fc4565b5b60006135ca8482850161344f565b91505092915050565b6000602082840312156135e9576135e8613fc4565b5b60006135f784828501613464565b91505092915050565b6000806040838503121561361757613616613fc4565b5b600061362585828601613464565b925050602061363685828601613464565b9150509250929050565b600061364c8383613658565b60208301905092915050565b61366181613e38565b82525050565b61367081613e38565b82525050565b600061368182613cde565b61368b8185613d01565b935061369683613cce565b8060005b838110156136c75781516136ae8882613640565b97506136b983613cf4565b92505060018101905061369a565b5085935050505092915050565b6136dd81613e4a565b82525050565b6136ec81613e8d565b82525050565b6136fb81613e9f565b82525050565b600061370c82613ce9565b6137168185613d12565b9350613726818560208601613ed5565b61372f81613fc9565b840191505092915050565b6000613747602383613d12565b915061375282613fda565b604082019050919050565b600061376a601883613d12565b915061377582614029565b602082019050919050565b600061378d602a83613d12565b915061379882614052565b604082019050919050565b60006137b0601c83613d12565b91506137bb826140a1565b602082019050919050565b60006137d3602683613d12565b91506137de826140ca565b604082019050919050565b60006137f6602283613d12565b915061380182614119565b604082019050919050565b6000613819600f83613d12565b915061382482614168565b602082019050919050565b600061383c601b83613d12565b915061384782614191565b602082019050919050565b600061385f603483613d12565b915061386a826141ba565b604082019050919050565b6000613882602183613d12565b915061388d82614209565b604082019050919050565b60006138a5602083613d12565b91506138b082614258565b602082019050919050565b60006138c8602983613d12565b91506138d382614281565b604082019050919050565b60006138eb602583613d12565b91506138f6826142d0565b604082019050919050565b600061390e602383613d12565b91506139198261431f565b604082019050919050565b6000613931600d83613d12565b915061393c8261436e565b602082019050919050565b6000613954602483613d12565b915061395f82614397565b604082019050919050565b6000613977600c83613d12565b9150613982826143e6565b602082019050919050565b61399681613e76565b82525050565b6139a581613e80565b82525050565b60006020820190506139c06000830184613667565b92915050565b60006020820190506139db60008301846136d4565b92915050565b60006020820190506139f660008301846136e3565b92915050565b60006020820190508181036000830152613a168184613701565b905092915050565b60006020820190508181036000830152613a378161373a565b9050919050565b60006020820190508181036000830152613a578161375d565b9050919050565b60006020820190508181036000830152613a7781613780565b9050919050565b60006020820190508181036000830152613a97816137a3565b9050919050565b60006020820190508181036000830152613ab7816137c6565b9050919050565b60006020820190508181036000830152613ad7816137e9565b9050919050565b60006020820190508181036000830152613af78161380c565b9050919050565b60006020820190508181036000830152613b178161382f565b9050919050565b60006020820190508181036000830152613b3781613852565b9050919050565b60006020820190508181036000830152613b5781613875565b9050919050565b60006020820190508181036000830152613b7781613898565b9050919050565b60006020820190508181036000830152613b97816138bb565b9050919050565b60006020820190508181036000830152613bb7816138de565b9050919050565b60006020820190508181036000830152613bd781613901565b9050919050565b60006020820190508181036000830152613bf781613924565b9050919050565b60006020820190508181036000830152613c1781613947565b9050919050565b60006020820190508181036000830152613c378161396a565b9050919050565b6000602082019050613c53600083018461398d565b92915050565b600060a082019050613c6e600083018861398d565b613c7b60208301876136f2565b8181036040830152613c8d8186613676565b9050613c9c6060830185613667565b613ca9608083018461398d565b9695505050505050565b6000602082019050613cc8600083018461399c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613d2e82613e76565b9150613d3983613e76565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d6e57613d6d613f08565b5b828201905092915050565b6000613d8482613e76565b9150613d8f83613e76565b925082613d9f57613d9e613f37565b5b828204905092915050565b6000613db582613e76565b9150613dc083613e76565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613df957613df8613f08565b5b828202905092915050565b6000613e0f82613e76565b9150613e1a83613e76565b925082821015613e2d57613e2c613f08565b5b828203905092915050565b6000613e4382613e56565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613e9882613eb1565b9050919050565b6000613eaa82613e76565b9050919050565b6000613ebc82613ec3565b9050919050565b6000613ece82613e56565b9050919050565b60005b83811015613ef3578082015181840152602081019050613ed8565b83811115613f02576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e7420746f6f206d7563680000000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060008201527f62652067726561746572207468616e20302e3125000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f53746f7020736e6970696e672100000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b61441881613e38565b811461442357600080fd5b50565b61442f81613e4a565b811461443a57600080fd5b50565b61444681613e76565b811461445157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204dc41024c7cec40fb2d6ca423b15478f521eba0830bf636781e839b85366dc9f64736f6c63430008070033

Deployed Bytecode

0x6080604052600436106102295760003560e01c806374010ece1161012357806398a5c315116100ab578063dd62ed3e1161006f578063dd62ed3e146107da578063e0f9f6a014610817578063ea1644d514610840578063f2fde38b14610869578063fe72c3c11461089257610230565b806398a5c315146106f95780639ec350ed146107225780639f1315711461074b578063a9059cbb14610774578063c5528490146107b157610230565b8063881dce60116100f2578063881dce60146106265780638da5cb5b1461064f5780638f70ccf71461067a5780638f9a55c0146106a357806395d89b41146106ce57610230565b806374010ece1461057c57806375f0a874146105a5578063790ca413146105d05780637d1db4a5146105fb57610230565b806333251a0b116101b15780636b9cf534116101755780636b9cf534146104bd5780636d8aa8f8146104e85780636fc3eaec1461051157806370a0823114610528578063715018a61461056557610230565b806333251a0b146103ee57806338eea22d146104175780633e3e95981461044057806349bd5a5e146104695780634bf2c7c91461049457610230565b806318160ddd116101f857806318160ddd1461030557806323b872dd1461033057806327c8f8351461036d5780632fd689e314610398578063313ce567146103c357610230565b806306fdde0314610235578063095ea7b3146102605780630f3a325f1461029d5780631694505e146102da57610230565b3661023057005b600080fd5b34801561024157600080fd5b5061024a6108bd565b60405161025791906139fc565b60405180910390f35b34801561026c57600080fd5b5061028760048036038101906102829190613566565b6108fa565b60405161029491906139c6565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf9190613479565b610918565b6040516102d191906139c6565b60405180910390f35b3480156102e657600080fd5b506102ef61096e565b6040516102fc91906139e1565b60405180910390f35b34801561031157600080fd5b5061031a610994565b6040516103279190613c3e565b60405180910390f35b34801561033c57600080fd5b5061035760048036038101906103529190613513565b6109a5565b60405161036491906139c6565b60405180910390f35b34801561037957600080fd5b50610382610a7e565b60405161038f91906139ab565b60405180910390f35b3480156103a457600080fd5b506103ad610a84565b6040516103ba9190613c3e565b60405180910390f35b3480156103cf57600080fd5b506103d8610a8a565b6040516103e59190613cb3565b60405180910390f35b3480156103fa57600080fd5b5061041560048036038101906104109190613479565b610a93565b005b34801561042357600080fd5b5061043e60048036038101906104399190613600565b610bd6565b005b34801561044c57600080fd5b5061046760048036038101906104629190613479565b610c7f565b005b34801561047557600080fd5b5061047e610d6f565b60405161048b91906139ab565b60405180910390f35b3480156104a057600080fd5b506104bb60048036038101906104b691906135d3565b610d95565b005b3480156104c957600080fd5b506104d2610e1b565b6040516104df9190613c3e565b60405180910390f35b3480156104f457600080fd5b5061050f600480360381019061050a91906135a6565b610e21565b005b34801561051d57600080fd5b50610526610ed3565b005b34801561053457600080fd5b5061054f600480360381019061054a9190613479565b610f45565b60405161055c9190613c3e565b60405180910390f35b34801561057157600080fd5b5061057a610f96565b005b34801561058857600080fd5b506105a3600480360381019061059e91906135d3565b6110e9565b005b3480156105b157600080fd5b506105ba61119f565b6040516105c791906139ab565b60405180910390f35b3480156105dc57600080fd5b506105e56111c9565b6040516105f29190613c3e565b60405180910390f35b34801561060757600080fd5b506106106111cf565b60405161061d9190613c3e565b60405180910390f35b34801561063257600080fd5b5061064d600480360381019061064891906135d3565b6111d5565b005b34801561065b57600080fd5b50610664611299565b60405161067191906139ab565b60405180910390f35b34801561068657600080fd5b506106a1600480360381019061069c91906135a6565b6112c2565b005b3480156106af57600080fd5b506106b861137b565b6040516106c59190613c3e565b60405180910390f35b3480156106da57600080fd5b506106e3611381565b6040516106f091906139fc565b60405180910390f35b34801561070557600080fd5b50610720600480360381019061071b91906135d3565b6113be565b005b34801561072e57600080fd5b5061074960048036038101906107449190613600565b611429565b005b34801561075757600080fd5b50610772600480360381019061076d91906135a6565b6114d2565b005b34801561078057600080fd5b5061079b60048036038101906107969190613566565b611550565b6040516107a891906139c6565b60405180910390f35b3480156107bd57600080fd5b506107d860048036038101906107d39190613600565b61156e565b005b3480156107e657600080fd5b5061080160048036038101906107fc91906134d3565b611617565b60405161080e9190613c3e565b60405180910390f35b34801561082357600080fd5b5061083e600480360381019061083991906135d3565b61169e565b005b34801561084c57600080fd5b50610867600480360381019061086291906135d3565b611731565b005b34801561087557600080fd5b50610890600480360381019061088b9190613479565b61179c565b005b34801561089e57600080fd5b506108a761195e565b6040516108b49190613c3e565b60405180910390f35b60606040518060400160405280600881526020017f4449434b454c4f4e000000000000000000000000000000000000000000000000815250905090565b600061090e610907611964565b848461196c565b6001905092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000683635c9adc5dea00000905090565b60006109b2848484611b37565b610a73846109be611964565b610a6e8560405180606001604052806028815260200161445560289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610a24611964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128fd9092919063ffffffff16565b61196c565b600190509392505050565b61dead81565b601e5481565b60006009905090565b610a9b611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1f90613b5e565b60405180910390fd5b600960008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610bd3576000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c17611964565b73ffffffffffffffffffffffffffffffffffffffff1614610c3757600080fd5b60008210158015610c495750601e8211155b610c5257600080fd5b60008110158015610c645750601e8111155b610c6d57600080fd5b81600d8190555080600f819055505050565b610c87611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0b90613b5e565b60405180910390fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610dd6611964565b73ffffffffffffffffffffffffffffffffffffffff1614610df657600080fd5b60008110158015610e085750601e8111155b610e1157600080fd5b8060138190555050565b601f5481565b610e29611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610eb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ead90613b5e565b60405180910390fd5b80601b60166101000a81548160ff02191690831515021790555050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f14611964565b73ffffffffffffffffffffffffffffffffffffffff1614610f3457600080fd5b6000479050610f4281612961565b50565b6000610f8f600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546129cd565b9050919050565b610f9e611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461102b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161102290613b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661112a611964565b73ffffffffffffffffffffffffffffffffffffffff161461114a57600080fd5b670de0b6b3a7640000811015611195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118c90613b1e565b60405180910390fd5b80601c8190555050565b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600a5481565b601c5481565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611216611964565b73ffffffffffffffffffffffffffffffffffffffff161461123657600080fd5b61123f30610f45565b811115801561124e5750600081115b61128d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128490613c1e565b60405180910390fd5b61129681612a3b565b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6112ca611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90613b5e565b60405180910390fd5b80601b60146101000a81548160ff02191690831515021790555042600a8190555050565b601d5481565b60606040518060400160405280600881526020017f4449434b454c4f4e000000000000000000000000000000000000000000000000815250905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166113ff611964565b73ffffffffffffffffffffffffffffffffffffffff161461141f57600080fd5b80601e8190555050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661146a611964565b73ffffffffffffffffffffffffffffffffffffffff161461148a57600080fd5b6000821015801561149c5750601e8211155b6114a557600080fd5b600081101580156114b75750601e8111155b6114c057600080fd5b81600b8190555080600c819055505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611513611964565b73ffffffffffffffffffffffffffffffffffffffff161461153357600080fd5b80601b60176101000a81548160ff02191690831515021790555050565b600061156461155d611964565b8484611b37565b6001905092915050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166115af611964565b73ffffffffffffffffffffffffffffffffffffffff16146115cf57600080fd5b600082101580156115e15750601e8211155b6115ea57600080fd5b600081101580156115fc5750601e8111155b61160557600080fd5b81600e81905550806010819055505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166116df611964565b73ffffffffffffffffffffffffffffffffffffffff16146116ff57600080fd5b60008110158015611711575060c88111155b61171a57600080fd5b610e10816117289190613daa565b60198190555050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16611772611964565b73ffffffffffffffffffffffffffffffffffffffff161461179257600080fd5b80601d8190555050565b6117a4611964565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611831576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161182890613b5e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156118a1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189890613a9e565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156119dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d390613bfe565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4390613abe565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611b2a9190613c3e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90613b9e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c17576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0e90613a1e565b60405180910390fd5b60008111611c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5190613b7e565b60405180910390fd5b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cde90613bde565b60405180910390fd5b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90613bde565b60405180910390fd5b60096000611d80611964565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dff90613bde565b60405180910390fd5b611e10611299565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e7e5750611e4e611299565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561249c57601b60149054906101000a900460ff16611ed2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ec990613a3e565b60405180910390fd5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16148015611f7d5750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120ea573073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611fea57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b80156120445750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561209e5750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b156120e957601c548111156120e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120df90613a7e565b60405180910390fd5b5b5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141580156121965750601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156121ce57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612208575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156122d757601d548161221a84610f45565b6122249190613d23565b10612264576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225b90613bbe565b60405180910390fd5b601b60179054906101000a900460ff16156122d657610708600a546122899190613d23565b42116122d557601f548111156122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb90613ade565b60405180910390fd5b5b5b5b60006122e230610f45565b90506000601e54821190508080156123075750601b60159054906101000a900460ff16155b80156123615750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b80156123795750601b60169054906101000a900460ff165b80156123cf5750600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156124255750600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561249957600080601354111561246a5761245e606461245060135486612cc390919063ffffffff16565b612d3e90919063ffffffff16565b905061246981612d88565b5b61247e81846124799190613e04565b612a3b565b600047905060008111156124965761249547612961565b5b50505b50505b600060019050600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806125435750600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b806125f65750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141580156125f55750601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b5b1561260457600090506128eb565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126af5750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b1561276e5742600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600d54601181905550600e54601281905550600a5442141561276d576001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480156128195750601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156128ea576000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141580156128ba575042601954600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546128b79190613d23565b10155b156128d657600b54601181905550600c546012819055506128e9565b600f546011819055506010546012819055505b5b5b6128f784848484612d98565b50505050565b6000838311158290612945576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161293c91906139fc565b60405180910390fd5b50600083856129549190613e04565b9050809150509392505050565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156129c9573d6000803e3d6000fd5b5050565b6000600754821115612a14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0b90613a5e565b60405180910390fd5b6000612a1e612dc5565b9050612a338184612d3e90919063ffffffff16565b915050919050565b6001601b60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115612a7357612a72613f95565b5b604051908082528060200260200182016040528015612aa15781602001602082028036833780820191505090505b5090503081600081518110612ab957612ab8613f66565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612b5b57600080fd5b505afa158015612b6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b9391906134a6565b81600181518110612ba757612ba6613f66565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612c0e30601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461196c565b601a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612c72959493929190613c59565b600060405180830381600087803b158015612c8c57600080fd5b505af1158015612ca0573d6000803e3d6000fd5b50505050506000601b60156101000a81548160ff02191690831515021790555050565b600080831415612cd65760009050612d38565b60008284612ce49190613daa565b9050828482612cf39190613d79565b14612d33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d2a90613b3e565b60405180910390fd5b809150505b92915050565b6000612d8083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612df0565b905092915050565b612d953061dead83611b37565b50565b80612da657612da5612e53565b5b612db1848484612eb5565b80612dbf57612dbe613080565b5b50505050565b6000806000612dd261309d565b91509150612de98183612d3e90919063ffffffff16565b9250505090565b60008083118290612e37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e2e91906139fc565b60405180910390fd5b5060008385612e469190613d79565b9050809150509392505050565b6000601154148015612e6757506000601254145b8015612e7557506000601354145b15612e7f57612eb3565b6011546014819055506012546015819055506013546016819055506000601181905550600060128190555060006013819055505b565b600080600080600080612ec7876130ff565b955095509550955095509550612f2586600260008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461316790919063ffffffff16565b600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612fba85600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b190919063ffffffff16565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506130068161320f565b61301084836132cc565b8773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161306d9190613c3e565b60405180910390a3505050505050505050565b601454601181905550601554601281905550601654601381905550565b600080600060075490506000683635c9adc5dea0000090506130d3683635c9adc5dea00000600754612d3e90919063ffffffff16565b8210156130f257600754683635c9adc5dea000009350935050506130fb565b81819350935050505b9091565b600080600080600080600080600061311c8a601154601254613306565b925092509250600061312c612dc5565b9050600080600061313f8e87878761339c565b9250925092508282828989899c509c509c509c509c509c505050505050505091939550919395565b60006131a983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128fd565b905092915050565b60008082846131c09190613d23565b905083811015613205576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131fc90613afe565b60405180910390fd5b8091505092915050565b6000613219612dc5565b905060006132308284612cc390919063ffffffff16565b905061328481600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546131b190919063ffffffff16565b600260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6132e18260075461316790919063ffffffff16565b6007819055506132fc816008546131b190919063ffffffff16565b6008819055505050565b6000806000806133326064613324888a612cc390919063ffffffff16565b612d3e90919063ffffffff16565b9050600061335c606461334e888b612cc390919063ffffffff16565b612d3e90919063ffffffff16565b9050600061338582613377858c61316790919063ffffffff16565b61316790919063ffffffff16565b905080838395509550955050505093509350939050565b6000806000806133b58589612cc390919063ffffffff16565b905060006133cc8689612cc390919063ffffffff16565b905060006133e38789612cc390919063ffffffff16565b9050600061340c826133fe858761316790919063ffffffff16565b61316790919063ffffffff16565b9050838184965096509650505050509450945094915050565b6000813590506134348161440f565b92915050565b6000815190506134498161440f565b92915050565b60008135905061345e81614426565b92915050565b6000813590506134738161443d565b92915050565b60006020828403121561348f5761348e613fc4565b5b600061349d84828501613425565b91505092915050565b6000602082840312156134bc576134bb613fc4565b5b60006134ca8482850161343a565b91505092915050565b600080604083850312156134ea576134e9613fc4565b5b60006134f885828601613425565b925050602061350985828601613425565b9150509250929050565b60008060006060848603121561352c5761352b613fc4565b5b600061353a86828701613425565b935050602061354b86828701613425565b925050604061355c86828701613464565b9150509250925092565b6000806040838503121561357d5761357c613fc4565b5b600061358b85828601613425565b925050602061359c85828601613464565b9150509250929050565b6000602082840312156135bc576135bb613fc4565b5b60006135ca8482850161344f565b91505092915050565b6000602082840312156135e9576135e8613fc4565b5b60006135f784828501613464565b91505092915050565b6000806040838503121561361757613616613fc4565b5b600061362585828601613464565b925050602061363685828601613464565b9150509250929050565b600061364c8383613658565b60208301905092915050565b61366181613e38565b82525050565b61367081613e38565b82525050565b600061368182613cde565b61368b8185613d01565b935061369683613cce565b8060005b838110156136c75781516136ae8882613640565b97506136b983613cf4565b92505060018101905061369a565b5085935050505092915050565b6136dd81613e4a565b82525050565b6136ec81613e8d565b82525050565b6136fb81613e9f565b82525050565b600061370c82613ce9565b6137168185613d12565b9350613726818560208601613ed5565b61372f81613fc9565b840191505092915050565b6000613747602383613d12565b915061375282613fda565b604082019050919050565b600061376a601883613d12565b915061377582614029565b602082019050919050565b600061378d602a83613d12565b915061379882614052565b604082019050919050565b60006137b0601c83613d12565b91506137bb826140a1565b602082019050919050565b60006137d3602683613d12565b91506137de826140ca565b604082019050919050565b60006137f6602283613d12565b915061380182614119565b604082019050919050565b6000613819600f83613d12565b915061382482614168565b602082019050919050565b600061383c601b83613d12565b915061384782614191565b602082019050919050565b600061385f603483613d12565b915061386a826141ba565b604082019050919050565b6000613882602183613d12565b915061388d82614209565b604082019050919050565b60006138a5602083613d12565b91506138b082614258565b602082019050919050565b60006138c8602983613d12565b91506138d382614281565b604082019050919050565b60006138eb602583613d12565b91506138f6826142d0565b604082019050919050565b600061390e602383613d12565b91506139198261431f565b604082019050919050565b6000613931600d83613d12565b915061393c8261436e565b602082019050919050565b6000613954602483613d12565b915061395f82614397565b604082019050919050565b6000613977600c83613d12565b9150613982826143e6565b602082019050919050565b61399681613e76565b82525050565b6139a581613e80565b82525050565b60006020820190506139c06000830184613667565b92915050565b60006020820190506139db60008301846136d4565b92915050565b60006020820190506139f660008301846136e3565b92915050565b60006020820190508181036000830152613a168184613701565b905092915050565b60006020820190508181036000830152613a378161373a565b9050919050565b60006020820190508181036000830152613a578161375d565b9050919050565b60006020820190508181036000830152613a7781613780565b9050919050565b60006020820190508181036000830152613a97816137a3565b9050919050565b60006020820190508181036000830152613ab7816137c6565b9050919050565b60006020820190508181036000830152613ad7816137e9565b9050919050565b60006020820190508181036000830152613af78161380c565b9050919050565b60006020820190508181036000830152613b178161382f565b9050919050565b60006020820190508181036000830152613b3781613852565b9050919050565b60006020820190508181036000830152613b5781613875565b9050919050565b60006020820190508181036000830152613b7781613898565b9050919050565b60006020820190508181036000830152613b97816138bb565b9050919050565b60006020820190508181036000830152613bb7816138de565b9050919050565b60006020820190508181036000830152613bd781613901565b9050919050565b60006020820190508181036000830152613bf781613924565b9050919050565b60006020820190508181036000830152613c1781613947565b9050919050565b60006020820190508181036000830152613c378161396a565b9050919050565b6000602082019050613c53600083018461398d565b92915050565b600060a082019050613c6e600083018861398d565b613c7b60208301876136f2565b8181036040830152613c8d8186613676565b9050613c9c6060830185613667565b613ca9608083018461398d565b9695505050505050565b6000602082019050613cc8600083018461399c565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613d2e82613e76565b9150613d3983613e76565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613d6e57613d6d613f08565b5b828201905092915050565b6000613d8482613e76565b9150613d8f83613e76565b925082613d9f57613d9e613f37565b5b828204905092915050565b6000613db582613e76565b9150613dc083613e76565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613df957613df8613f08565b5b828202905092915050565b6000613e0f82613e76565b9150613e1a83613e76565b925082821015613e2d57613e2c613f08565b5b828203905092915050565b6000613e4382613e56565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613e9882613eb1565b9050919050565b6000613eaa82613e76565b9050919050565b6000613ebc82613ec3565b9050919050565b6000613ece82613e56565b9050919050565b60005b83811015613ef3578082015181840152602081019050613ed8565b83811115613f02576000848401525b50505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f54726164696e67206e6f742079657420656e61626c6564210000000000000000600082015250565b7f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008201527f65666c656374696f6e7300000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a204d6178205472616e73616374696f6e204c696d697400000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f416d6f756e7420746f6f206d7563680000000000000000000000000000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f4d6178696d756d207472616e73616374696f6e20616d6f756e74206d7573742060008201527f62652067726561746572207468616e20302e3125000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f544f4b454e3a2042616c616e636520657863656564732077616c6c657420736960008201527f7a65210000000000000000000000000000000000000000000000000000000000602082015250565b7f53746f7020736e6970696e672100000000000000000000000000000000000000600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f57726f6e6720616d6f756e740000000000000000000000000000000000000000600082015250565b61441881613e38565b811461442357600080fd5b50565b61442f81613e4a565b811461443a57600080fd5b50565b61444681613e76565b811461445157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204dc41024c7cec40fb2d6ca423b15478f521eba0830bf636781e839b85366dc9f64736f6c63430008070033

Deployed Bytecode Sourcemap

5271:17012:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8274:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9307:193;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16571:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6981:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8551:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9508:446;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6851:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7347:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8460:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16413:150;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21944:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16308:97;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7029:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21539:181;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7404:46;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20308:101;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;16684:196;;;;;;;;;;;;;:::i;:::-;;8654:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2750:148;;;;;;;;;;;;;:::i;:::-;;20421:255;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8800:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6034:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7223:42;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16075:225;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2536:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15747:140;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7291:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8365:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15448:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;21172:355;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15895:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8908:199;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;20856:308;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9115:184;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;21729:207;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;20688:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2910:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6940:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8274:83;8311:13;8344:5;;;;;;;;;;;;;;;;;8337:12;;8274:83;:::o;9307:193::-;9409:4;9431:39;9440:12;:10;:12::i;:::-;9454:7;9463:6;9431:8;:39::i;:::-;9488:4;9481:11;;9307:193;;;;:::o;16571:105::-;16628:4;16651:9;:17;16661:6;16651:17;;;;;;;;;;;;;;;;;;;;;;;;;16644:24;;16571:105;;;:::o;6981:41::-;;;;;;;;;;;;;:::o;8551:95::-;8604:7;5877:12;8624:14;;8551:95;:::o;9508:446::-;9640:4;9657:36;9667:6;9675:9;9686:6;9657:9;:36::i;:::-;9704:220;9727:6;9748:12;:10;:12::i;:::-;9775:138;9831:6;9775:138;;;;;;;;;;;;;;;;;:11;:19;9787:6;9775:19;;;;;;;;;;;;;;;:33;9795:12;:10;:12::i;:::-;9775:33;;;;;;;;;;;;;;;;:37;;:138;;;;;:::i;:::-;9704:8;:220::i;:::-;9942:4;9935:11;;9508:446;;;;;:::o;6851:80::-;6889:42;6851:80;:::o;7347:49::-;;;;:::o;8460:83::-;8501:5;5500:1;8519:16;;8460:83;:::o;16413:150::-;2673:12;:10;:12::i;:::-;2663:22;;:6;;;;;;;;;;:22;;;2655:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16485:9:::1;:17;16495:6;16485:17;;;;;;;;;;;;;;;;;;;;;;;;;16481:75;;;16539:5;16519:9;:17;16529:6;16519:17;;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;16481:75;16413:150:::0;:::o;21944:336::-;22052:17;;;;;;;;;;;22036:33;;:12;:10;:12::i;:::-;:33;;;22028:42;;;;;;22105:1;22089:12;:17;;:39;;;;;22126:2;22110:12;:18;;22089:39;22081:48;;;;;;22165:1;22148:13;:18;;:41;;;;;22187:2;22170:13;:19;;22148:41;22140:50;;;;;;22218:12;22201:14;:29;;;;22259:13;22241:15;:31;;;;21944:336;;:::o;16308:97::-;2673:12;:10;:12::i;:::-;2663:22;;:6;;;;;;;;;;:22;;;2655:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;16393:4:::1;16373:9;:17;16383:6;16373:17;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;16308:97:::0;:::o;7029:28::-;;;;;;;;;;;;;:::o;21539:181::-;21619:17;;;;;;;;;;;21603:33;;:12;:10;:12::i;:::-;:33;;;21595:42;;;;;;21666:1;21656:6;:11;;:27;;;;;21681:2;21671:6;:12;;21656:27;21648:36;;;;;;21706:6;21695:8;:17;;;;21539:181;:::o;7404:46::-;;;;:::o;20308:101::-;2673:12;:10;:12::i;:::-;2663:22;;:6;;;;;;;;;;:22;;;2655:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;20389:12:::1;20375:11;;:26;;;;;;;;;;;;;;;;;;20308:101:::0;:::o;16684:196::-;16750:17;;;;;;;;;;;16734:33;;:12;:10;:12::i;:::-;:33;;;16726:42;;;;;;16779:26;16808:21;16779:50;;16840:32;16853:18;16840:12;:32::i;:::-;16715:165;16684:196::o;8654:138::-;8720:7;8747:37;8767:7;:16;8775:7;8767:16;;;;;;;;;;;;;;;;8747:19;:37::i;:::-;8740:44;;8654:138;;;:::o;2750:148::-;2673:12;:10;:12::i;:::-;2663:22;;:6;;;;;;;;;;:22;;;2655:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;2857:1:::1;2820:40;;2841:6;::::0;::::1;;;;;;;;2820:40;;;;;;;;;;;;2888:1;2871:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;2750:148::o:0;20421:255::-;20511:17;;;;;;;;;;;20495:33;;:12;:10;:12::i;:::-;:33;;;20487:42;;;;;;20563:11;20548;:26;;20540:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;20657:11;20642:12;:26;;;;20421:255;:::o;8800:100::-;8848:7;8875:17;;;;;;;;;;;8868:24;;8800:100;:::o;6034:25::-;;;;:::o;7223:42::-;;;;:::o;16075:225::-;16155:17;;;;;;;;;;;16139:33;;:12;:10;:12::i;:::-;:33;;;16131:42;;;;;;16202:24;16220:4;16202:9;:24::i;:::-;16192:6;:34;;:48;;;;;16239:1;16230:6;:10;16192:48;16184:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;16268:24;16285:6;16268:16;:24::i;:::-;16075:225;:::o;2536:79::-;2574:7;2601:6;;;;;;;;;;;2594:13;;2536:79;:::o;15747:140::-;2673:12;:10;:12::i;:::-;2663:22;;:6;;;;;;;;;;:22;;;2655:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15828:12:::1;15814:11;;:26;;;;;;;;;;;;;;;;;;15864:15;15851:10;:28;;;;15747:140:::0;:::o;7291:44::-;;;;:::o;8365:87::-;8404:13;8437:7;;;;;;;;;;;;;;;;;8430:14;;8365:87;:::o;15448:184::-;15555:17;;;;;;;;;;;15539:33;;:12;:10;:12::i;:::-;:33;;;15531:42;;;;;;15606:18;15584:19;:40;;;;15448:184;:::o;21172:355::-;21287:17;;;;;;;;;;;21271:33;;:12;:10;:12::i;:::-;:33;;;21263:42;;;;;;21344:1;21324:16;:21;;:47;;;;;21369:2;21349:16;:22;;21324:47;21316:56;;;;;;21409:1;21391:14;:19;;:43;;;;;21432:2;21414:14;:20;;21391:43;21383:52;;;;;;21463:16;21446:14;:33;;;;21505:14;21490:12;:29;;;;21172:355;;:::o;15895:172::-;15992:17;;;;;;;;;;;15976:33;;:12;:10;:12::i;:::-;:33;;;15968:42;;;;;;16041:18;16021:17;;:38;;;;;;;;;;;;;;;;;;15895:172;:::o;8908:199::-;9013:4;9035:42;9045:12;:10;:12::i;:::-;9059:9;9070:6;9035:9;:42::i;:::-;9095:4;9088:11;;8908:199;;;;:::o;20856:308::-;20958:17;;;;;;;;;;;20942:33;;:12;:10;:12::i;:::-;:33;;;20934:42;;;;;;21008:1;20995:9;:14;;:33;;;;;21026:2;21013:9;:15;;20995:33;20987:42;;;;;;21062:1;21048:10;:15;;:35;;;;;21081:2;21067:10;:16;;21048:35;21040:44;;;;;;21110:9;21095:12;:24;;;;21146:10;21130:13;:26;;;;20856:308;;:::o;9115:184::-;9232:7;9264:11;:18;9276:5;9264:18;;;;;;;;;;;;;;;:27;9283:7;9264:27;;;;;;;;;;;;;;;;9257:34;;9115:184;;;;:::o;21729:207::-;21814:17;;;;;;;;;;;21798:33;;:12;:10;:12::i;:::-;:33;;;21790:42;;;;;;21864:1;21851:9;:14;;:34;;;;;21882:3;21869:9;:16;;21851:34;21843:43;;;;;;21921:7;21909:9;:19;;;;:::i;:::-;21897:9;:31;;;;21729:207;:::o;20688:160::-;20781:17;;;;;;;;;;;20765:33;;:12;:10;:12::i;:::-;:33;;;20757:42;;;;;;20827:13;20810:14;:30;;;;20688:160;:::o;2910:244::-;2673:12;:10;:12::i;:::-;2663:22;;:6;;;;;;;;;;:22;;;2655:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3019:1:::1;2999:22;;:8;:22;;;;2991:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3109:8;3080:38;;3101:6;::::0;::::1;;;;;;;;3080:38;;;;;;;;;;;;3138:8;3129:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;2910:244:::0;:::o;6940:34::-;;;;:::o;1295:98::-;1348:7;1375:10;1368:17;;1295:98;:::o;10773:369::-;10917:1;10900:19;;:5;:19;;;;10892:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10998:1;10979:21;;:7;:21;;;;10971:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11080:6;11050:11;:18;11062:5;11050:18;;;;;;;;;;;;;;;:27;11069:7;11050:27;;;;;;;;;;;;;;;:36;;;;11118:7;11102:32;;11111:5;11102:32;;;11127:6;11102:32;;;;;;:::i;:::-;;;;;;;;10773:369;;;:::o;11150:3624::-;11288:1;11272:18;;:4;:18;;;;11264:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11365:1;11351:16;;:2;:16;;;;11343:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11435:1;11426:6;:10;11418:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;11502:9;:13;11512:2;11502:13;;;;;;;;;;;;;;;;;;;;;;;;;11501:14;11493:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;11553:9;:15;11563:4;11553:15;;;;;;;;;;;;;;;;;;;;;;;;;11552:16;11544:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;11606:9;:23;11616:12;:10;:12::i;:::-;11606:23;;;;;;;;;;;;;;;;;;;;;;;;;11605:24;11597:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;11672:7;:5;:7::i;:::-;11664:15;;:4;:15;;;;:32;;;;;11689:7;:5;:7::i;:::-;11683:13;;:2;:13;;;;11664:32;11660:1815;;;11766:11;;;;;;;;;;;11761:87;;11798:34;;;;;;;;;;:::i;:::-;;;;;;;;11761:87;11886:13;;;;;;;;;;;11880:19;;:2;:19;;;:55;;;;;11919:15;;;;;;;;;;;11903:32;;:4;:32;;;;11880:55;11876:307;;;11974:4;11960:19;;:2;:19;;;;:44;;;;;11999:4;11983:21;;:4;:21;;;;11960:44;:71;;;;;12014:17;;;;;;;;;;;12008:23;;:2;:23;;;;11960:71;:100;;;;;12043:17;;;;;;;;;;;12035:25;;:4;:25;;;;11960:100;11956:212;;;12103:12;;12093:6;:22;;12085:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;11956:212;11876:307;12209:13;;;;;;;;;;;12203:19;;:2;:19;;;;:46;;;;;12232:17;;;;;;;;;;;12226:23;;:2;:23;;;;12203:46;:69;;;;;12267:4;12253:19;;:2;:19;;;;12203:69;:90;;;;;6889:42;12276:17;;:2;:17;;;;12203:90;12199:455;;;12347:14;;12338:6;12322:13;12332:2;12322:9;:13::i;:::-;:22;;;;:::i;:::-;:39;12314:87;;;;;;;;;;;;:::i;:::-;;;;;;;;;12424:17;;;;;;;;;;;12420:219;;;12502:10;12489;;:23;;;;:::i;:::-;12470:15;:42;12466:154;;12559:17;;12549:6;:27;;12541:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;12466:154;12420:219;12199:455;12682:28;12713:24;12731:4;12713:9;:24::i;:::-;12682:55;;12752:12;12790:19;;12767:20;:42;12752:57;;12842:7;:18;;;;;12854:6;;;;;;;;;;;12853:7;12842:18;:43;;;;;12872:13;;;;;;;;;;;12864:21;;:4;:21;;;;12842:43;:58;;;;;12889:11;;;;;;;;;;;12842:58;:87;;;;;12905:18;:24;12924:4;12905:24;;;;;;;;;;;;;;;;;;;;;;;;;12904:25;12842:87;:114;;;;;12934:18;:22;12953:2;12934:22;;;;;;;;;;;;;;;;;;;;;;;;;12933:23;12842:114;12838:626;;;12977:19;13034:1;13023:8;;:12;13019:166;;;13074:45;13113:5;13074:34;13099:8;;13074:20;:24;;:34;;;;:::i;:::-;:38;;:45;;;;:::i;:::-;13060:59;;13142:23;13153:11;13142:10;:23::i;:::-;13019:166;13203:52;13243:11;13220:20;:34;;;;:::i;:::-;13203:16;:52::i;:::-;13274:26;13303:21;13274:50;;13368:1;13347:18;:22;13343:106;;;13394:35;13407:21;13394:12;:35::i;:::-;13343:106;12958:506;;12838:626;11698:1777;;11660:1815;13495:12;13510:4;13495:19;;13560:18;:24;13579:4;13560:24;;;;;;;;;;;;;;;;;;;;;;;;;:50;;;;13588:18;:22;13607:2;13588:22;;;;;;;;;;;;;;;;;;;;;;;;;13560:50;13559:102;;;;13624:13;;;;;;;;;;;13616:21;;:4;:21;;;;:44;;;;;13647:13;;;;;;;;;;;13641:19;;:2;:19;;;;13616:44;13559:102;13555:1158;;;13688:5;13678:15;;13555:1158;;;13770:13;;;;;;;;;;;13762:21;;:4;:21;;;:55;;;;;13801:15;;;;;;;;;;;13787:30;;:2;:30;;;;13762:55;13759:382;;;13856:15;13842:7;:11;13850:2;13842:11;;;;;;;;;;;;;;;:29;;;;13906:14;;13894:9;:26;;;;13953:12;;13943:7;:22;;;;14043:10;;14024:15;:29;14020:106;;;14098:4;14082:9;:13;14092:2;14082:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;14020:106;13759:382;14307:13;;;;;;;;;;;14301:19;;:2;:19;;;:55;;;;;14340:15;;;;;;;;;;;14324:32;;:4;:32;;;;14301:55;14297:405;;;14398:1;14381:7;:13;14389:4;14381:13;;;;;;;;;;;;;;;;:18;;:68;;;;;14433:15;14420:9;;14404:7;:13;14412:4;14404:13;;;;;;;;;;;;;;;;:25;;;;:::i;:::-;:44;;14381:68;14377:310;;;14486:14;;14474:9;:26;;;;14533:12;;14523:7;:22;;;;14377:310;;;14606:15;;14594:9;:27;;;;14654:13;;14644:7;:23;;;;14377:310;14297:405;13555:1158;14725:41;14740:4;14746:2;14750:6;14758:7;14725:14;:41::i;:::-;11253:3521;11150:3624;;;:::o;3522:224::-;3642:7;3675:1;3670;:6;;3678:12;3662:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3702:9;3718:1;3714;:5;;;;:::i;:::-;3702:17;;3737:1;3730:8;;;3522:224;;;;;:::o;15640:99::-;15697:17;;;;;;;;;;;:26;;:34;15724:6;15697:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15640:99;:::o;9962:323::-;10057:7;10115;;10104;:18;;10082:110;;;;;;;;;;;;:::i;:::-;;;;;;;;;10203:19;10225:10;:8;:10::i;:::-;10203:32;;10253:24;10265:11;10253:7;:11;;:24;;;;:::i;:::-;10246:31;;;9962:323;;;:::o;14908:483::-;7561:4;7552:6;;:13;;;;;;;;;;;;;;;;;;14986:21:::1;15024:1;15010:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14986:40;;15055:4;15037;15042:1;15037:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;::::0;::::1;15081:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15071:4;15076:1;15071:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;::::0;::::1;15114:62;15131:4;15146:15;;;;;;;;;;;15164:11;15114:8;:62::i;:::-;15187:15;;;;;;;;;;;:66;;;15268:11;15294:1;15310:4;15337;15357:15;15187:196;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;14975:416;7597:5:::0;7588:6;;:14;;;;;;;;;;;;;;;;;;14908:483;:::o;3754:246::-;3812:7;3841:1;3836;:6;3832:47;;;3866:1;3859:8;;;;3832:47;3889:9;3905:1;3901;:5;;;;:::i;:::-;3889:17;;3934:1;3929;3925;:5;;;;:::i;:::-;:10;3917:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;3991:1;3984:8;;;3754:246;;;;;:::o;4008:132::-;4066:7;4093:39;4097:1;4100;4093:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;4086:46;;4008:132;;;;:::o;14782:118::-;14842:50;14860:4;6889:42;14880:11;14842:9;:50::i;:::-;14782:118;:::o;16888:282::-;17044:7;17039:28;;17053:14;:12;:14::i;:::-;17039:28;17078:44;17096:6;17104:9;17115:6;17078:17;:44::i;:::-;17138:7;17133:29;;17147:15;:13;:15::i;:::-;17133:29;16888:282;;;;:::o;19863:166::-;19905:7;19926:15;19943;19962:19;:17;:19::i;:::-;19925:56;;;;20001:20;20013:7;20001;:11;;:20;;;;:::i;:::-;19994:27;;;;19863:166;:::o;4148:223::-;4268:7;4300:1;4296;:5;4303:12;4288:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;4327:9;4343:1;4339;:5;;;;:::i;:::-;4327:17;;4362:1;4355:8;;;4148:223;;;;;:::o;10293:309::-;10353:1;10340:9;;:14;:30;;;;;10369:1;10358:7;;:12;10340:30;:47;;;;;10386:1;10374:8;;:13;10340:47;10336:60;;;10389:7;;10336:60;10432:9;;10412:17;:29;;;;10470:7;;10452:15;:25;;;;10507:8;;10488:16;:27;;;;10548:1;10536:9;:13;;;;10570:1;10560:7;:11;;;;10593:1;10582:8;:12;;;;10293:309;:::o;17178:610::-;17325:15;17355:23;17393:12;17420:23;17458:12;17485:13;17512:19;17523:7;17512:10;:19::i;:::-;17310:221;;;;;;;;;;;;17560:28;17580:7;17560;:15;17568:6;17560:15;;;;;;;;;;;;;;;;:19;;:28;;;;:::i;:::-;17542:7;:15;17550:6;17542:15;;;;;;;;;;;;;;;:46;;;;17620:39;17643:15;17620:7;:18;17628:9;17620:18;;;;;;;;;;;;;;;;:22;;:39;;;;:::i;:::-;17599:7;:18;17607:9;17599:18;;;;;;;;;;;;;;;:60;;;;17670:16;17680:5;17670:9;:16::i;:::-;17697:23;17709:4;17715;17697:11;:23::i;:::-;17753:9;17736:44;;17745:6;17736:44;;;17764:15;17736:44;;;;;;:::i;:::-;;;;;;;;17299:489;;;;;;17178:610;;;:::o;10610:155::-;10666:17;;10654:9;:29;;;;10704:15;;10694:7;:25;;;;10741:16;;10730:8;:27;;;;10610:155::o;20037:263::-;20088:7;20097;20117:15;20135:7;;20117:25;;20153:15;5877:12;20153:25;;20203:20;5877:12;20203:7;;:11;;:20;;;;:::i;:::-;20193:7;:30;20189:61;;;20233:7;;5877:12;20225:25;;;;;;;;20189:61;20275:7;20284;20267:25;;;;;;20037:263;;;:::o;18207:625::-;18307:7;18329;18351;18373;18395;18417;18453:23;18478:12;18492:13;18522:40;18534:7;18543:9;;18554:7;;18522:11;:40::i;:::-;18452:110;;;;;;18573:19;18595:10;:8;:10::i;:::-;18573:32;;18617:15;18634:23;18659:12;18688:46;18700:7;18709:4;18715:5;18722:11;18688;:46::i;:::-;18616:118;;;;;;18763:7;18772:15;18789:4;18795:15;18812:4;18818:5;18755:69;;;;;;;;;;;;;;;;;;;18207:625;;;;;;;:::o;3378:136::-;3436:7;3463:43;3467:1;3470;3463:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;3456:50;;3378:136;;;;:::o;3191:179::-;3249:7;3269:9;3285:1;3281;:5;;;;:::i;:::-;3269:17;;3310:1;3305;:6;;3297:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;3361:1;3354:8;;;3191:179;;;;:::o;17796:211::-;17849:19;17871:10;:8;:10::i;:::-;17849:32;;17892:13;17908:22;17918:11;17908:5;:9;;:22;;;;:::i;:::-;17892:38;;17966:33;17993:5;17966:7;:22;17982:4;17966:22;;;;;;;;;;;;;;;;:26;;:33;;;;:::i;:::-;17941:7;:22;17957:4;17941:22;;;;;;;;;;;;;;;:58;;;;17838:169;;17796:211;:::o;18015:147::-;18093:17;18105:4;18093:7;;:11;;:17;;;;:::i;:::-;18083:7;:27;;;;18134:20;18149:4;18134:10;;:14;;:20;;;;:::i;:::-;18121:10;:33;;;;18015:147;;:::o;18840:471::-;19009:7;19031;19053;19088:12;19103:30;19129:3;19103:21;19115:8;19103:7;:11;;:21;;;;:::i;:::-;:25;;:30;;;;:::i;:::-;19088:45;;19144:13;19160:28;19184:3;19160:19;19172:6;19160:7;:11;;:19;;;;:::i;:::-;:23;;:28;;;;:::i;:::-;19144:44;;19199:23;19225:28;19247:5;19225:17;19237:4;19225:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19199:54;;19274:15;19291:4;19297:5;19266:37;;;;;;;;;18840:471;;;;;;;:::o;19319:536::-;19513:7;19535;19557;19592:15;19610:24;19622:11;19610:7;:11;;:24;;;;:::i;:::-;19592:42;;19645:12;19660:21;19669:11;19660:4;:8;;:21;;;;:::i;:::-;19645:36;;19692:13;19708:22;19718:11;19708:5;:9;;:22;;;;:::i;:::-;19692:38;;19741:23;19767:28;19789:5;19767:17;19779:4;19767:7;:11;;:17;;;;:::i;:::-;:21;;:28;;;;:::i;:::-;19741:54;;19816:7;19825:15;19842:4;19808:39;;;;;;;;;;19319:536;;;;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;301:133;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;440:139;;;;:::o;585:329::-;644:6;693:2;681:9;672:7;668:23;664:32;661:119;;;699:79;;:::i;:::-;661:119;819:1;844:53;889:7;880:6;869:9;865:22;844:53;:::i;:::-;834:63;;790:117;585:329;;;;:::o;920:351::-;990:6;1039:2;1027:9;1018:7;1014:23;1010:32;1007:119;;;1045:79;;:::i;:::-;1007:119;1165:1;1190:64;1246:7;1237:6;1226:9;1222:22;1190:64;:::i;:::-;1180:74;;1136:128;920:351;;;;:::o;1277:474::-;1345:6;1353;1402:2;1390:9;1381:7;1377:23;1373:32;1370:119;;;1408:79;;:::i;:::-;1370:119;1528:1;1553:53;1598:7;1589:6;1578:9;1574:22;1553:53;:::i;:::-;1543:63;;1499:117;1655:2;1681:53;1726:7;1717:6;1706:9;1702:22;1681:53;:::i;:::-;1671:63;;1626:118;1277:474;;;;;:::o;1757:619::-;1834:6;1842;1850;1899:2;1887:9;1878:7;1874:23;1870:32;1867:119;;;1905:79;;:::i;:::-;1867:119;2025:1;2050:53;2095:7;2086:6;2075:9;2071:22;2050:53;:::i;:::-;2040:63;;1996:117;2152:2;2178:53;2223:7;2214:6;2203:9;2199:22;2178:53;:::i;:::-;2168:63;;2123:118;2280:2;2306:53;2351:7;2342:6;2331:9;2327:22;2306:53;:::i;:::-;2296:63;;2251:118;1757:619;;;;;:::o;2382:474::-;2450:6;2458;2507:2;2495:9;2486:7;2482:23;2478:32;2475:119;;;2513:79;;:::i;:::-;2475:119;2633:1;2658:53;2703:7;2694:6;2683:9;2679:22;2658:53;:::i;:::-;2648:63;;2604:117;2760:2;2786:53;2831:7;2822:6;2811:9;2807:22;2786:53;:::i;:::-;2776:63;;2731:118;2382:474;;;;;:::o;2862:323::-;2918:6;2967:2;2955:9;2946:7;2942:23;2938:32;2935:119;;;2973:79;;:::i;:::-;2935:119;3093:1;3118:50;3160:7;3151:6;3140:9;3136:22;3118:50;:::i;:::-;3108:60;;3064:114;2862:323;;;;:::o;3191:329::-;3250:6;3299:2;3287:9;3278:7;3274:23;3270:32;3267:119;;;3305:79;;:::i;:::-;3267:119;3425:1;3450:53;3495:7;3486:6;3475:9;3471:22;3450:53;:::i;:::-;3440:63;;3396:117;3191:329;;;;:::o;3526:474::-;3594:6;3602;3651:2;3639:9;3630:7;3626:23;3622:32;3619:119;;;3657:79;;:::i;:::-;3619:119;3777:1;3802:53;3847:7;3838:6;3827:9;3823:22;3802:53;:::i;:::-;3792:63;;3748:117;3904:2;3930:53;3975:7;3966:6;3955:9;3951:22;3930:53;:::i;:::-;3920:63;;3875:118;3526:474;;;;;:::o;4006:179::-;4075:10;4096:46;4138:3;4130:6;4096:46;:::i;:::-;4174:4;4169:3;4165:14;4151:28;;4006:179;;;;:::o;4191:108::-;4268:24;4286:5;4268:24;:::i;:::-;4263:3;4256:37;4191:108;;:::o;4305:118::-;4392:24;4410:5;4392:24;:::i;:::-;4387:3;4380:37;4305:118;;:::o;4459:732::-;4578:3;4607:54;4655:5;4607:54;:::i;:::-;4677:86;4756:6;4751:3;4677:86;:::i;:::-;4670:93;;4787:56;4837:5;4787:56;:::i;:::-;4866:7;4897:1;4882:284;4907:6;4904:1;4901:13;4882:284;;;4983:6;4977:13;5010:63;5069:3;5054:13;5010:63;:::i;:::-;5003:70;;5096:60;5149:6;5096:60;:::i;:::-;5086:70;;4942:224;4929:1;4926;4922:9;4917:14;;4882:284;;;4886:14;5182:3;5175:10;;4583:608;;;4459:732;;;;:::o;5197:109::-;5278:21;5293:5;5278:21;:::i;:::-;5273:3;5266:34;5197:109;;:::o;5312:183::-;5425:63;5482:5;5425:63;:::i;:::-;5420:3;5413:76;5312:183;;:::o;5501:147::-;5596:45;5635:5;5596:45;:::i;:::-;5591:3;5584:58;5501:147;;:::o;5654:364::-;5742:3;5770:39;5803:5;5770:39;:::i;:::-;5825:71;5889:6;5884:3;5825:71;:::i;:::-;5818:78;;5905:52;5950:6;5945:3;5938:4;5931:5;5927:16;5905:52;:::i;:::-;5982:29;6004:6;5982:29;:::i;:::-;5977:3;5973:39;5966:46;;5746:272;5654:364;;;;:::o;6024:366::-;6166:3;6187:67;6251:2;6246:3;6187:67;:::i;:::-;6180:74;;6263:93;6352:3;6263:93;:::i;:::-;6381:2;6376:3;6372:12;6365:19;;6024:366;;;:::o;6396:::-;6538:3;6559:67;6623:2;6618:3;6559:67;:::i;:::-;6552:74;;6635:93;6724:3;6635:93;:::i;:::-;6753:2;6748:3;6744:12;6737:19;;6396:366;;;:::o;6768:::-;6910:3;6931:67;6995:2;6990:3;6931:67;:::i;:::-;6924:74;;7007:93;7096:3;7007:93;:::i;:::-;7125:2;7120:3;7116:12;7109:19;;6768:366;;;:::o;7140:::-;7282:3;7303:67;7367:2;7362:3;7303:67;:::i;:::-;7296:74;;7379:93;7468:3;7379:93;:::i;:::-;7497:2;7492:3;7488:12;7481:19;;7140:366;;;:::o;7512:::-;7654:3;7675:67;7739:2;7734:3;7675:67;:::i;:::-;7668:74;;7751:93;7840:3;7751:93;:::i;:::-;7869:2;7864:3;7860:12;7853:19;;7512:366;;;:::o;7884:::-;8026:3;8047:67;8111:2;8106:3;8047:67;:::i;:::-;8040:74;;8123:93;8212:3;8123:93;:::i;:::-;8241:2;8236:3;8232:12;8225:19;;7884:366;;;:::o;8256:::-;8398:3;8419:67;8483:2;8478:3;8419:67;:::i;:::-;8412:74;;8495:93;8584:3;8495:93;:::i;:::-;8613:2;8608:3;8604:12;8597:19;;8256:366;;;:::o;8628:::-;8770:3;8791:67;8855:2;8850:3;8791:67;:::i;:::-;8784:74;;8867:93;8956:3;8867:93;:::i;:::-;8985:2;8980:3;8976:12;8969:19;;8628:366;;;:::o;9000:::-;9142:3;9163:67;9227:2;9222:3;9163:67;:::i;:::-;9156:74;;9239:93;9328:3;9239:93;:::i;:::-;9357:2;9352:3;9348:12;9341:19;;9000:366;;;:::o;9372:::-;9514:3;9535:67;9599:2;9594:3;9535:67;:::i;:::-;9528:74;;9611:93;9700:3;9611:93;:::i;:::-;9729:2;9724:3;9720:12;9713:19;;9372:366;;;:::o;9744:::-;9886:3;9907:67;9971:2;9966:3;9907:67;:::i;:::-;9900:74;;9983:93;10072:3;9983:93;:::i;:::-;10101:2;10096:3;10092:12;10085:19;;9744:366;;;:::o;10116:::-;10258:3;10279:67;10343:2;10338:3;10279:67;:::i;:::-;10272:74;;10355:93;10444:3;10355:93;:::i;:::-;10473:2;10468:3;10464:12;10457:19;;10116:366;;;:::o;10488:::-;10630:3;10651:67;10715:2;10710:3;10651:67;:::i;:::-;10644:74;;10727:93;10816:3;10727:93;:::i;:::-;10845:2;10840:3;10836:12;10829:19;;10488:366;;;:::o;10860:::-;11002:3;11023:67;11087:2;11082:3;11023:67;:::i;:::-;11016:74;;11099:93;11188:3;11099:93;:::i;:::-;11217:2;11212:3;11208:12;11201:19;;10860:366;;;:::o;11232:::-;11374:3;11395:67;11459:2;11454:3;11395:67;:::i;:::-;11388:74;;11471:93;11560:3;11471:93;:::i;:::-;11589:2;11584:3;11580:12;11573:19;;11232:366;;;:::o;11604:::-;11746:3;11767:67;11831:2;11826:3;11767:67;:::i;:::-;11760:74;;11843:93;11932:3;11843:93;:::i;:::-;11961:2;11956:3;11952:12;11945:19;;11604:366;;;:::o;11976:::-;12118:3;12139:67;12203:2;12198:3;12139:67;:::i;:::-;12132:74;;12215:93;12304:3;12215:93;:::i;:::-;12333:2;12328:3;12324:12;12317:19;;11976:366;;;:::o;12348:118::-;12435:24;12453:5;12435:24;:::i;:::-;12430:3;12423:37;12348:118;;:::o;12472:112::-;12555:22;12571:5;12555:22;:::i;:::-;12550:3;12543:35;12472:112;;:::o;12590:222::-;12683:4;12721:2;12710:9;12706:18;12698:26;;12734:71;12802:1;12791:9;12787:17;12778:6;12734:71;:::i;:::-;12590:222;;;;:::o;12818:210::-;12905:4;12943:2;12932:9;12928:18;12920:26;;12956:65;13018:1;13007:9;13003:17;12994:6;12956:65;:::i;:::-;12818:210;;;;:::o;13034:274::-;13153:4;13191:2;13180:9;13176:18;13168:26;;13204:97;13298:1;13287:9;13283:17;13274:6;13204:97;:::i;:::-;13034:274;;;;:::o;13314:313::-;13427:4;13465:2;13454:9;13450:18;13442:26;;13514:9;13508:4;13504:20;13500:1;13489:9;13485:17;13478:47;13542:78;13615:4;13606:6;13542:78;:::i;:::-;13534:86;;13314:313;;;;:::o;13633:419::-;13799:4;13837:2;13826:9;13822:18;13814:26;;13886:9;13880:4;13876:20;13872:1;13861:9;13857:17;13850:47;13914:131;14040:4;13914:131;:::i;:::-;13906:139;;13633:419;;;:::o;14058:::-;14224:4;14262:2;14251:9;14247:18;14239:26;;14311:9;14305:4;14301:20;14297:1;14286:9;14282:17;14275:47;14339:131;14465:4;14339:131;:::i;:::-;14331:139;;14058:419;;;:::o;14483:::-;14649:4;14687:2;14676:9;14672:18;14664:26;;14736:9;14730:4;14726:20;14722:1;14711:9;14707:17;14700:47;14764:131;14890:4;14764:131;:::i;:::-;14756:139;;14483:419;;;:::o;14908:::-;15074:4;15112:2;15101:9;15097:18;15089:26;;15161:9;15155:4;15151:20;15147:1;15136:9;15132:17;15125:47;15189:131;15315:4;15189:131;:::i;:::-;15181:139;;14908:419;;;:::o;15333:::-;15499:4;15537:2;15526:9;15522:18;15514:26;;15586:9;15580:4;15576:20;15572:1;15561:9;15557:17;15550:47;15614:131;15740:4;15614:131;:::i;:::-;15606:139;;15333:419;;;:::o;15758:::-;15924:4;15962:2;15951:9;15947:18;15939:26;;16011:9;16005:4;16001:20;15997:1;15986:9;15982:17;15975:47;16039:131;16165:4;16039:131;:::i;:::-;16031:139;;15758:419;;;:::o;16183:::-;16349:4;16387:2;16376:9;16372:18;16364:26;;16436:9;16430:4;16426:20;16422:1;16411:9;16407:17;16400:47;16464:131;16590:4;16464:131;:::i;:::-;16456:139;;16183:419;;;:::o;16608:::-;16774:4;16812:2;16801:9;16797:18;16789:26;;16861:9;16855:4;16851:20;16847:1;16836:9;16832:17;16825:47;16889:131;17015:4;16889:131;:::i;:::-;16881:139;;16608:419;;;:::o;17033:::-;17199:4;17237:2;17226:9;17222:18;17214:26;;17286:9;17280:4;17276:20;17272:1;17261:9;17257:17;17250:47;17314:131;17440:4;17314:131;:::i;:::-;17306:139;;17033:419;;;:::o;17458:::-;17624:4;17662:2;17651:9;17647:18;17639:26;;17711:9;17705:4;17701:20;17697:1;17686:9;17682:17;17675:47;17739:131;17865:4;17739:131;:::i;:::-;17731:139;;17458:419;;;:::o;17883:::-;18049:4;18087:2;18076:9;18072:18;18064:26;;18136:9;18130:4;18126:20;18122:1;18111:9;18107:17;18100:47;18164:131;18290:4;18164:131;:::i;:::-;18156:139;;17883:419;;;:::o;18308:::-;18474:4;18512:2;18501:9;18497:18;18489:26;;18561:9;18555:4;18551:20;18547:1;18536:9;18532:17;18525:47;18589:131;18715:4;18589:131;:::i;:::-;18581:139;;18308:419;;;:::o;18733:::-;18899:4;18937:2;18926:9;18922:18;18914:26;;18986:9;18980:4;18976:20;18972:1;18961:9;18957:17;18950:47;19014:131;19140:4;19014:131;:::i;:::-;19006:139;;18733:419;;;:::o;19158:::-;19324:4;19362:2;19351:9;19347:18;19339:26;;19411:9;19405:4;19401:20;19397:1;19386:9;19382:17;19375:47;19439:131;19565:4;19439:131;:::i;:::-;19431:139;;19158:419;;;:::o;19583:::-;19749:4;19787:2;19776:9;19772:18;19764:26;;19836:9;19830:4;19826:20;19822:1;19811:9;19807:17;19800:47;19864:131;19990:4;19864:131;:::i;:::-;19856:139;;19583:419;;;:::o;20008:::-;20174:4;20212:2;20201:9;20197:18;20189:26;;20261:9;20255:4;20251:20;20247:1;20236:9;20232:17;20225:47;20289:131;20415:4;20289:131;:::i;:::-;20281:139;;20008:419;;;:::o;20433:::-;20599:4;20637:2;20626:9;20622:18;20614:26;;20686:9;20680:4;20676:20;20672:1;20661:9;20657:17;20650:47;20714:131;20840:4;20714:131;:::i;:::-;20706:139;;20433:419;;;:::o;20858:222::-;20951:4;20989:2;20978:9;20974:18;20966:26;;21002:71;21070:1;21059:9;21055:17;21046:6;21002:71;:::i;:::-;20858:222;;;;:::o;21086:831::-;21349:4;21387:3;21376:9;21372:19;21364:27;;21401:71;21469:1;21458:9;21454:17;21445:6;21401:71;:::i;:::-;21482:80;21558:2;21547:9;21543:18;21534:6;21482:80;:::i;:::-;21609:9;21603:4;21599:20;21594:2;21583:9;21579:18;21572:48;21637:108;21740:4;21731:6;21637:108;:::i;:::-;21629:116;;21755:72;21823:2;21812:9;21808:18;21799:6;21755:72;:::i;:::-;21837:73;21905:3;21894:9;21890:19;21881:6;21837:73;:::i;:::-;21086:831;;;;;;;;:::o;21923:214::-;22012:4;22050:2;22039:9;22035:18;22027:26;;22063:67;22127:1;22116:9;22112:17;22103:6;22063:67;:::i;:::-;21923:214;;;;:::o;22224:132::-;22291:4;22314:3;22306:11;;22344:4;22339:3;22335:14;22327:22;;22224:132;;;:::o;22362:114::-;22429:6;22463:5;22457:12;22447:22;;22362:114;;;:::o;22482:99::-;22534:6;22568:5;22562:12;22552:22;;22482:99;;;:::o;22587:113::-;22657:4;22689;22684:3;22680:14;22672:22;;22587:113;;;:::o;22706:184::-;22805:11;22839:6;22834:3;22827:19;22879:4;22874:3;22870:14;22855:29;;22706:184;;;;:::o;22896:169::-;22980:11;23014:6;23009:3;23002:19;23054:4;23049:3;23045:14;23030:29;;22896:169;;;;:::o;23071:305::-;23111:3;23130:20;23148:1;23130:20;:::i;:::-;23125:25;;23164:20;23182:1;23164:20;:::i;:::-;23159:25;;23318:1;23250:66;23246:74;23243:1;23240:81;23237:107;;;23324:18;;:::i;:::-;23237:107;23368:1;23365;23361:9;23354:16;;23071:305;;;;:::o;23382:185::-;23422:1;23439:20;23457:1;23439:20;:::i;:::-;23434:25;;23473:20;23491:1;23473:20;:::i;:::-;23468:25;;23512:1;23502:35;;23517:18;;:::i;:::-;23502:35;23559:1;23556;23552:9;23547:14;;23382:185;;;;:::o;23573:348::-;23613:7;23636:20;23654:1;23636:20;:::i;:::-;23631:25;;23670:20;23688:1;23670:20;:::i;:::-;23665:25;;23858:1;23790:66;23786:74;23783:1;23780:81;23775:1;23768:9;23761:17;23757:105;23754:131;;;23865:18;;:::i;:::-;23754:131;23913:1;23910;23906:9;23895:20;;23573:348;;;;:::o;23927:191::-;23967:4;23987:20;24005:1;23987:20;:::i;:::-;23982:25;;24021:20;24039:1;24021:20;:::i;:::-;24016:25;;24060:1;24057;24054:8;24051:34;;;24065:18;;:::i;:::-;24051:34;24110:1;24107;24103:9;24095:17;;23927:191;;;;:::o;24124:96::-;24161:7;24190:24;24208:5;24190:24;:::i;:::-;24179:35;;24124:96;;;:::o;24226:90::-;24260:7;24303:5;24296:13;24289:21;24278:32;;24226:90;;;:::o;24322:126::-;24359:7;24399:42;24392:5;24388:54;24377:65;;24322:126;;;:::o;24454:77::-;24491:7;24520:5;24509:16;;24454:77;;;:::o;24537:86::-;24572:7;24612:4;24605:5;24601:16;24590:27;;24537:86;;;:::o;24629:152::-;24705:9;24738:37;24769:5;24738:37;:::i;:::-;24725:50;;24629:152;;;:::o;24787:121::-;24845:9;24878:24;24896:5;24878:24;:::i;:::-;24865:37;;24787:121;;;:::o;24914:126::-;24964:9;24997:37;25028:5;24997:37;:::i;:::-;24984:50;;24914:126;;;:::o;25046:113::-;25096:9;25129:24;25147:5;25129:24;:::i;:::-;25116:37;;25046:113;;;:::o;25165:307::-;25233:1;25243:113;25257:6;25254:1;25251:13;25243:113;;;25342:1;25337:3;25333:11;25327:18;25323:1;25318:3;25314:11;25307:39;25279:2;25276:1;25272:10;25267:15;;25243:113;;;25374:6;25371:1;25368:13;25365:101;;;25454:1;25445:6;25440:3;25436:16;25429:27;25365:101;25214:258;25165:307;;;:::o;25478:180::-;25526:77;25523:1;25516:88;25623:4;25620:1;25613:15;25647:4;25644:1;25637:15;25664:180;25712:77;25709:1;25702:88;25809:4;25806:1;25799:15;25833:4;25830:1;25823:15;25850:180;25898:77;25895:1;25888:88;25995:4;25992:1;25985:15;26019:4;26016:1;26009:15;26036:180;26084:77;26081:1;26074:88;26181:4;26178:1;26171:15;26205:4;26202:1;26195:15;26345:117;26454:1;26451;26444:12;26468:102;26509:6;26560:2;26556:7;26551:2;26544:5;26540:14;26536:28;26526:38;;26468:102;;;:::o;26576:222::-;26716:34;26712:1;26704:6;26700:14;26693:58;26785:5;26780:2;26772:6;26768:15;26761:30;26576:222;:::o;26804:174::-;26944:26;26940:1;26932:6;26928:14;26921:50;26804:174;:::o;26984:229::-;27124:34;27120:1;27112:6;27108:14;27101:58;27193:12;27188:2;27180:6;27176:15;27169:37;26984:229;:::o;27219:178::-;27359:30;27355:1;27347:6;27343:14;27336:54;27219:178;:::o;27403:225::-;27543:34;27539:1;27531:6;27527:14;27520:58;27612:8;27607:2;27599:6;27595:15;27588:33;27403:225;:::o;27634:221::-;27774:34;27770:1;27762:6;27758:14;27751:58;27843:4;27838:2;27830:6;27826:15;27819:29;27634:221;:::o;27861:165::-;28001:17;27997:1;27989:6;27985:14;27978:41;27861:165;:::o;28032:177::-;28172:29;28168:1;28160:6;28156:14;28149:53;28032:177;:::o;28215:239::-;28355:34;28351:1;28343:6;28339:14;28332:58;28424:22;28419:2;28411:6;28407:15;28400:47;28215:239;:::o;28460:220::-;28600:34;28596:1;28588:6;28584:14;28577:58;28669:3;28664:2;28656:6;28652:15;28645:28;28460:220;:::o;28686:182::-;28826:34;28822:1;28814:6;28810:14;28803:58;28686:182;:::o;28874:228::-;29014:34;29010:1;29002:6;28998:14;28991:58;29083:11;29078:2;29070:6;29066:15;29059:36;28874:228;:::o;29108:224::-;29248:34;29244:1;29236:6;29232:14;29225:58;29317:7;29312:2;29304:6;29300:15;29293:32;29108:224;:::o;29338:222::-;29478:34;29474:1;29466:6;29462:14;29455:58;29547:5;29542:2;29534:6;29530:15;29523:30;29338:222;:::o;29566:163::-;29706:15;29702:1;29694:6;29690:14;29683:39;29566:163;:::o;29735:223::-;29875:34;29871:1;29863:6;29859:14;29852:58;29944:6;29939:2;29931:6;29927:15;29920:31;29735:223;:::o;29964:162::-;30104:14;30100:1;30092:6;30088:14;30081:38;29964:162;:::o;30132:122::-;30205:24;30223:5;30205:24;:::i;:::-;30198:5;30195:35;30185:63;;30244:1;30241;30234:12;30185:63;30132:122;:::o;30260:116::-;30330:21;30345:5;30330:21;:::i;:::-;30323:5;30320:32;30310:60;;30366:1;30363;30356:12;30310:60;30260:116;:::o;30382:122::-;30455:24;30473:5;30455:24;:::i;:::-;30448:5;30445:35;30435:63;;30494:1;30491;30484:12;30435:63;30382:122;:::o

Swarm Source

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