ETH Price: $3,941.11 (+7.39%)

Token

ERC-20: DOGEZONE (DOGEZONE)
 

Overview

Max Total Supply

1,000,000,000,000 DOGEZONE

Holders

64

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
15,840,000,000 DOGEZONE

Value
$0.00
0x30315C78A87c11D4fFa87b9d50c9Dc5cBB2d0435
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:
DOGEZONE

Compiler Version
v0.8.9+commit.e5eed63a

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.9;
library SafeMath {
    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }
    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }
    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
            // benefit is lost if 'b' is also tested.
            // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }
    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }
    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        return a + b;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b <= a, errorMessage);
            return a - b;
        }
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a / b;
        }
    }
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}
interface IERC20 {
    event Approval(address indexed owner, address indexed spender, uint value);
    event Transfer(address indexed from, address indexed to, uint value);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint);
    function balanceOf(address owner) external view returns (uint);
    function allowance(address owner, address spender) external view returns (uint);
    function approve(address spender, uint value) external returns (bool);
    function transfer(address to, uint value) external returns (bool);
    function transferFrom(address from, address to, uint value) external returns (bool);
}
contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}
contract ERC20Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor() {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }
    function owner() public view virtual returns (address) {
        return _owner;
    }
    modifier onlyOwner() {
        require(owner() == _msgSender(), "ERC20Ownable: caller is not the owner");
        _;
    }
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "ERC20Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}
interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);
    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);
    function createPair(address tokenA, address tokenB) external returns (address pair);
    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}
interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

contract DOGEZONE is Context, ERC20Ownable, IERC20{
    using SafeMath for uint256;

    uint256 private _MaxWallet;
    uint256 private _MinTS;
    uint256 private marketingTokens;
    uint256 private treasuryTokens;
    uint256 private liquidityTokens;
    uint256 private marketingTax;
    uint256 private treasuryTax;
    uint256 private liquidityTax;
    uint256 private tDivider;
    uint256 private taxBuyMarketing;
    uint256 private taxBuyTreasury;
    uint256 private taxBuyLiquidity;
    uint256 private taxSellMarketing;
    uint256 private taxSellTreasury;
    uint256 private taxSellLiquidity;

    uint256 public LiveBlock;
    uint256 public EndSniperPen;
    bool public actions = false;
    bool public maxWalletOn = false;
    bool public active = false;
    bool isal;
    bool private sals = false;
    address payable liquidityAddress;
    address payable marketingAddress;
    address payable treasuryAddress;
    address payable devAddress;
    address DEAD = address(0xdead);
    address public uniV2Pair;
    IUniswapV2Router02 public uniV2Router;
    mapping(address => mapping(address => uint256)) private _Allowances;
    mapping(address => uint256) private _Balance;
    mapping(address => bool) private _MaxExclude;
    mapping(address => bool) private _TaxExclude;
    mapping(address => bool) public _Sniper;
    mapping(address => bool) public _Bot;
    modifier lockTheSwap() {
        isal = true;
        _;
        isal = false;
    }

    string private constant _Name = "DOGEZONE";
    string private constant _Symbol = "DOGEZONE";
    uint8 private constant _Decimal = 18;
    uint256 private constant _Supply = 1e12 * 10**_Decimal;
    constructor() payable {
        marketingAddress = payable(0x734C225809B2C22689f1c47cd6CEaC75971858A2);
        treasuryAddress = payable(0x734C225809B2C22689f1c47cd6CEaC75971858A2);
        devAddress = payable(0x734C225809B2C22689f1c47cd6CEaC75971858A2);


        taxBuyMarketing = 20;
        taxBuyTreasury = 0;
        taxBuyLiquidity = 0;
        taxSellMarketing = 20;
        taxSellTreasury = 0;
        taxSellLiquidity = 0;
        liquidityAddress = payable(owner()); 
        _Balance[address(this)] = _Supply;
        _MaxWallet = _Supply.mul(2).div(100);
        _MinTS = _Supply.mul(5).div(10000);
        _TaxExclude[owner()] = true;
        _TaxExclude[DEAD] = true;
        _TaxExclude[address(this)] = true;
        _TaxExclude[marketingAddress] = true;
        _TaxExclude[treasuryAddress] = true;
        _TaxExclude[liquidityAddress] = true;
        _MaxExclude[address(this)] = true;
        _MaxExclude[owner()] = true;
        _MaxExclude[marketingAddress] = true;
        _MaxExclude[treasuryAddress] = true;
        _MaxExclude[liquidityAddress] = true;
        _MaxExclude[DEAD] = true;
        
        emit Transfer(address(0), address(this), _Supply);
    }
    receive() external payable {}
    function name() external pure override returns (string memory) {
        return _Name;
    }
    function symbol() external pure override returns (string memory) {
        return _Symbol;
    }
    function decimals() external pure override returns (uint8) {
        return _Decimal;
    }
    function totalSupply() external pure override returns (uint256) {
        return _Supply;
    }
    function balanceOf(address account) public view override returns (uint256) {
        return _Balance[account];
    }
    function allowance(address owner, address spender) external view override returns (uint256) {
        return _Allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public override returns (bool) {
        require(_msgSender() != address(0), "ERC20: Can not approve from zero address");
        require(spender != address(0), "ERC20: Can not approve to zero address");
        _Allowances[_msgSender()][spender] = amount;
        emit Approval(_msgSender(), spender, amount);
        return true;
    }
    function ContractApprove(address owner,address spender,uint256 amount) internal {
        require(owner != address(0), "ERC20: Can not approve from zero address");
        require(spender != address(0), "ERC20: Can not approve to zero address");
        _Allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
    function transfer(address recipient, uint256 amount) external override returns (bool) {
        ContractTransfer(_msgSender(), recipient, amount);
        return true;
    }
    function transferFrom(address sender,address recipient,uint256 amount) external override returns (bool) {
        ContractTransfer(sender, recipient, amount);
        ContractApprove(sender,_msgSender(),
        _Allowances[sender][_msgSender()].sub(amount, "ERC20: Can not transfer. Amount exceeds allowance"));
        return true;
    }
    function OpenMarket() external onlyOwner returns (bool){
        require(!active, "ERC20: Trades already active!");
        LiveBlock = block.number;
        EndSniperPen = block.timestamp.add(7 days);
        IUniswapV2Router02 _uniV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniV2Router = _uniV2Router;
        _MaxExclude[address(uniV2Router)] = true;
        ContractApprove(address(this), address(uniV2Router), _Supply);
        uniV2Pair = IUniswapV2Factory(_uniV2Router.factory()).createPair(address(this), _uniV2Router.WETH());
        _MaxExclude[address(uniV2Pair)] = true;
        require(address(this).balance > 0, "ERC20: Must have ETH on contract to Go active!");
        addLiquidity(balanceOf(address(this)), address(this).balance);
        setLiquidityAddress(DEAD);
        maxWalletOn = true;
        sals = true;
        actions = true;
        active = true;
        return true;
    }
    function ContractTransfer(address from, address to, uint256 amount) internal {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "ERC20: Transfer amount must be greater than zero");
        require(!_Bot[from], "ERC20: Can not transfer from BOT");
        if(!active){
            require(_TaxExclude[from] || _TaxExclude[to], "ERC20: Trading Is Not active!");
        }
        if (maxWalletOn == true && ! _MaxExclude[to]) {
            require(balanceOf(to).add(amount) <= _MaxWallet, "ERC20: Max amount of tokens for wallet reached");
        }
        if(actions){
            if (from != owner() && to != owner() && to != address(0) && to != DEAD && to != uniV2Pair) {
                for (uint x = 0; x < 1; x++) {
                    if(block.number == LiveBlock.add(x)) {
                        _Sniper[to] = true;
                    }
                }
            }
        }
       
        uint256 totalTokensToSwap = liquidityTokens.add(marketingTokens);
        uint256 contractTokenBalance = balanceOf(address(this));
        bool overMinimumTokenBalance = contractTokenBalance >= _MinTS;
        if (!isal &&
            sals &&
            balanceOf(uniV2Pair) > 0 &&
            totalTokensToSwap > 0 &&
            !_TaxExclude[to] &&
            !_TaxExclude[from] &&
            to == uniV2Pair &&
            overMinimumTokenBalance) {
            taxTokenSwap();
            }
        if (_TaxExclude[from] || _TaxExclude[to]) {
            marketingTax = 0;
            treasuryTax = 0;
            liquidityTax = 0;
            tDivider = marketingTax.add(treasuryTax).add(liquidityTax);
        } else {
            if (from == uniV2Pair) {
                marketingTax = taxBuyMarketing;
                treasuryTax = taxBuyTreasury;
                liquidityTax = taxBuyLiquidity;
                tDivider = taxBuyMarketing.add(taxBuyTreasury).add(taxBuyLiquidity);
            }else if (to == uniV2Pair) {
                marketingTax = taxSellMarketing;
                treasuryTax = taxSellTreasury;
                liquidityTax = taxSellLiquidity;
                tDivider = taxSellMarketing.add(taxSellTreasury).add(taxSellLiquidity);
                if(_Sniper[from] && EndSniperPen >= block.timestamp){
                    marketingTax = 95;
                    treasuryTax = 0;
                    liquidityTax = 0;
                    tDivider = marketingTax.add(treasuryTax).add(liquidityTax);
                }
            }else {
                require(!_Sniper[from] || EndSniperPen <= block.timestamp, "ERC20: Snipers can not transfer till penalty time is over");
                marketingTax = 0;
                treasuryTax = 0;
                liquidityTax = 0;
            }
        }
        tokenTransfer(from, to, amount);
    }
    function setLiquidityAddress(address LPAddress) internal {
        liquidityAddress = payable(LPAddress);
        _TaxExclude[liquidityAddress] = true;
    }
    function withdrawStuckETH() external onlyOwner {
        bool success;
        (success,) = address(owner()).call{value: address(this).balance}("");
    }
    function withdrawStuckTokens() external onlyOwner {
        ContractTransfer(address(this), owner(), balanceOf(address(this)));
    }
    function addBot(address account) external onlyOwner {
        require(!_Bot[account], "ERC20: Account already added");
        _Bot[account] = true;
    }
	function removeBot(address account) external onlyOwner {
        require(_Bot[account], "ERC20: Account is not bot");
        _Bot[account] = false;
    }
	function removeSniper(address account) external onlyOwner {
        require(_Sniper[account], "ERC20: Account is not sniper");
        _Sniper[account] = false;
    }
    function excludFromTax(address account, bool trueORfalse) external onlyOwner {
        _TaxExclude[address(account)] = trueORfalse;
    }
    function excludFromMaxWallet(address account, bool trueORfalse) external onlyOwner {
        _MaxExclude[address(account)] = trueORfalse;
    }
    function maxWalletAmount(uint256 percent, uint256 divider) external onlyOwner {
        _MaxWallet = _Supply.mul(percent).div(divider);
        require(_MaxWallet <=_Supply.mul(4).div(100), "ERC20: Can not set max wallet more than 4%");
    }
    function statusActions(bool trueORfalse) external onlyOwner {
        actions = trueORfalse;
    }
    function statusMaxWallet(bool trueORfalse) external onlyOwner {
       maxWalletOn = trueORfalse;
    }
    function changeSwapAndLiquifyStatus(bool trueORfalse) external onlyOwner {
        sals = trueORfalse;
    }
    function zChange(
        uint256 buyMarketingTax,
        uint256 buyTreasuryTax,
        uint256 buyLiquidityTax,
        uint256 sellMarketingTax,
        uint256 sellTreasuryTax,
        uint256 sellLiquidityTax) external onlyOwner {
        taxBuyMarketing = buyMarketingTax;
        taxBuyTreasury = buyTreasuryTax;
        taxBuyLiquidity = buyLiquidityTax;
        taxSellMarketing = sellMarketingTax;
        taxSellTreasury = sellTreasuryTax;
        taxSellLiquidity = sellLiquidityTax;
    }
    function taxTokenSwap() internal lockTheSwap {
        uint256 contractBalance = balanceOf(address(this));
        uint256 totalTokensToSwap = marketingTokens.add(treasuryTokens).add(liquidityTokens);
        uint256 swapLiquidityTokens = liquidityTokens.div(2);
        uint256 amountToSwapForETH = contractBalance.sub(swapLiquidityTokens);
        uint256 initialETHBalance = address(this).balance;
        swapTokensForETH(amountToSwapForETH); 
        uint256 ethBalance = address(this).balance.sub(initialETHBalance);
        uint256 ethForMarketing = ethBalance.mul(marketingTokens).div(totalTokensToSwap);
        uint256 ethForTreasury = ethBalance.mul(treasuryTokens).div(totalTokensToSwap);
        uint256 ethForLiquidity = ethBalance.sub(ethForMarketing).sub(ethForTreasury);
        marketingTokens = 0;
        treasuryTokens = 0;
        liquidityTokens = 0;
        (bool success,) = address(marketingAddress).call{value: ethForMarketing}("");
        (success,) = address(treasuryAddress).call{value: ethForTreasury}("");
        if(ethForLiquidity != 0 && swapLiquidityTokens != 0) {
            addLiquidity(swapLiquidityTokens, ethForLiquidity);
        }
        if(address(this).balance > 5 * 1e17){
            (success,) = address(devAddress).call{value: address(this).balance}("");
        }
    }
    function swapTokensForETH(uint256 tokenAmount) internal {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniV2Router.WETH();
        ContractApprove(address(this), address(uniV2Router), tokenAmount);
        uniV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) internal {
        ContractApprove(address(this), address(uniV2Router), tokenAmount);
        uniV2Router.addLiquidityETH{value: ethAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidityAddress,
            block.timestamp
        );
    }
    function calculateTax(uint256 amount) internal view returns (uint256) {
        return amount.mul(marketingTax.add(treasuryTax).add(liquidityTax)).div(100);
    }
    function splitTaxTokens(uint256 taxTokens) internal {
        marketingTokens += taxTokens.mul(marketingTax).div(tDivider);
        treasuryTokens += taxTokens.mul(treasuryTax).div(tDivider);
        liquidityTokens += taxTokens.mul(liquidityTax).div(tDivider);
    }
    function tokenTransfer(address sender,address recipient,uint256 amount) internal {
        if(tDivider != 0){
            uint256 taxTokens = calculateTax(amount);
            uint256 transferTokens = amount.sub(taxTokens);
            splitTaxTokens(taxTokens);
            _Balance[sender] -= amount;
            _Balance[recipient] += transferTokens;
            _Balance[address(this)] += taxTokens;
            emit Transfer(sender, recipient, transferTokens);
        }else{
            _Balance[sender] -= amount;
            _Balance[recipient] += amount;
            emit Transfer(sender, recipient, amount);
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"payable","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":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":"EndSniperPen","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LiveBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"OpenMarket","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_Bot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_Sniper","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"actions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"active","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"addBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"changeSwapAndLiquifyStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"excludFromMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"excludFromTax","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"divider","type":"uint256"}],"name":"maxWalletAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxWalletOn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"removeSniper","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"statusActions","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"trueORfalse","type":"bool"}],"name":"statusMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawStuckETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"buyMarketingTax","type":"uint256"},{"internalType":"uint256","name":"buyTreasuryTax","type":"uint256"},{"internalType":"uint256","name":"buyLiquidityTax","type":"uint256"},{"internalType":"uint256","name":"sellMarketingTax","type":"uint256"},{"internalType":"uint256","name":"sellTreasuryTax","type":"uint256"},{"internalType":"uint256","name":"sellLiquidityTax","type":"uint256"}],"name":"zChange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000601260006101000a81548160ff0219169083151502179055506000601260016101000a81548160ff0219169083151502179055506000601260026101000a81548160ff0219169083151502179055506000601260046101000a81548160ff02191690831515021790555061dead601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000620000c5620009dd60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35073734c225809b2c22689f1c47cd6ceac75971858a2601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073734c225809b2c22689f1c47cd6ceac75971858a2601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073734c225809b2c22689f1c47cd6ceac75971858a2601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506014600a819055506000600b819055506000600c819055506014600d819055506000600e819055506000600f81905550620002a2620009e560201b60201c565b601260056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a620002f2919062000bd8565b64e8d4a5100062000304919062000c29565b601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200039d60646200038960026012600a62000363919062000bd8565b64e8d4a5100062000375919062000c29565b62000a0e60201b6200208e1790919060201c565b62000a2660201b620020a41790919060201c565b600181905550620003fa612710620003e660056012600a620003c0919062000bd8565b64e8d4a51000620003d2919062000c29565b62000a0e60201b6200208e1790919060201c565b62000a2660201b620020a41790919060201c565b6002819055506001601c600062000416620009e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601c6000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b600062000715620009e560201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601b6000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012600a620009ae919062000bd8565b64e8d4a51000620009c0919062000c29565b604051620009cf919062000c9b565b60405180910390a362000d1f565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000818362000a1e919062000c29565b905092915050565b6000818362000a36919062000ce7565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000acc5780860481111562000aa45762000aa362000a3e565b5b600185161562000ab45780820291505b808102905062000ac48562000a6d565b945062000a84565b94509492505050565b60008262000ae7576001905062000bba565b8162000af7576000905062000bba565b816001811462000b10576002811462000b1b5762000b51565b600191505062000bba565b60ff84111562000b305762000b2f62000a3e565b5b8360020a91508482111562000b4a5762000b4962000a3e565b5b5062000bba565b5060208310610133831016604e8410600b841016171562000b8b5782820a90508381111562000b855762000b8462000a3e565b5b62000bba565b62000b9a848484600162000a7a565b9250905081840481111562000bb45762000bb362000a3e565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b600062000be58262000bc1565b915062000bf28362000bcb565b925062000c217fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ad5565b905092915050565b600062000c368262000bc1565b915062000c438362000bc1565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c7f5762000c7e62000a3e565b5b828202905092915050565b62000c958162000bc1565b82525050565b600060208201905062000cb2600083018462000c8a565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000cf48262000bc1565b915062000d018362000bc1565b92508262000d145762000d1362000cb8565b5b828204905092915050565b614df88062000d2f6000396000f3fe6080604052600436106101fd5760003560e01c806370a082311161010d57806395d89b41116100a0578063dd62ed3e1161006f578063dd62ed3e1461071a578063f2fde38b14610757578063f5648a4f14610780578063f99e36bc14610797578063ffecf516146107c257610204565b806395d89b4114610660578063a9059cbb1461068b578063d67f1ad1146106c8578063d9d99c96146106f157610204565b80638183b3c8116100dc5780638183b3c8146105c85780638bcea939146105df5780638da5cb5b1461060a578063958c2e521461063557610204565b806370a0823114610520578063715018a61461055d578063745d032f14610574578063783efbc71461059f57610204565b80631a841d0211610190578063313ce5671161015f578063313ce5671461043d57806333251a0b14610468578063353470be1461049157806345a119a3146104ba5780635fecd926146104f757610204565b80631a841d021461036f5780631cae2108146103ac57806323b872dd146103d75780632500ae8a1461041457610204565b80631255589b116101cc5780631255589b146102c757806318160ddd146102f25780631892a9e21461031d57806318b78fe11461034657610204565b806302fb0c5e1461020957806305b723911461023457806306fdde031461025f578063095ea7b31461028a57610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e6107eb565b60405161022b9190613963565b60405180910390f35b34801561024057600080fd5b506102496107fe565b6040516102569190613997565b60405180910390f35b34801561026b57600080fd5b50610274610804565b6040516102819190613a4b565b60405180910390f35b34801561029657600080fd5b506102b160048036038101906102ac9190613afc565b610841565b6040516102be9190613963565b60405180910390f35b3480156102d357600080fd5b506102dc610a27565b6040516102e99190613963565b60405180910390f35b3480156102fe57600080fd5b50610307610f6b565b6040516103149190613997565b60405180910390f35b34801561032957600080fd5b50610344600480360381019061033f9190613b68565b610f90565b005b34801561035257600080fd5b5061036d60048036038101906103689190613ba8565b611067565b005b34801561037b57600080fd5b5061039660048036038101906103919190613bd5565b611100565b6040516103a39190613963565b60405180910390f35b3480156103b857600080fd5b506103c1611120565b6040516103ce9190613997565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190613c02565b611126565b60405161040b9190613963565b60405180910390f35b34801561042057600080fd5b5061043b60048036038101906104369190613b68565b6111ff565b005b34801561044957600080fd5b506104526112d6565b60405161045f9190613c71565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190613bd5565b6112df565b005b34801561049d57600080fd5b506104b860048036038101906104b39190613c8c565b611442565b005b3480156104c657600080fd5b506104e160048036038101906104dc9190613bd5565b611592565b6040516104ee9190613963565b60405180910390f35b34801561050357600080fd5b5061051e60048036038101906105199190613bd5565b6115b2565b005b34801561052c57600080fd5b5061054760048036038101906105429190613bd5565b611715565b6040516105549190613997565b60405180910390f35b34801561056957600080fd5b5061057261175e565b005b34801561058057600080fd5b50610589611898565b6040516105969190613963565b60405180910390f35b3480156105ab57600080fd5b506105c660048036038101906105c19190613ba8565b6118ab565b005b3480156105d457600080fd5b506105dd611944565b005b3480156105eb57600080fd5b506105f46119dc565b6040516106019190613cdb565b60405180910390f35b34801561061657600080fd5b5061061f611a02565b60405161062c9190613cdb565b60405180910390f35b34801561064157600080fd5b5061064a611a2b565b6040516106579190613d55565b60405180910390f35b34801561066c57600080fd5b50610675611a51565b6040516106829190613a4b565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190613afc565b611a8e565b6040516106bf9190613963565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea9190613d70565b611aac565b005b3480156106fd57600080fd5b5061071860048036038101906107139190613ba8565b611b5a565b005b34801561072657600080fd5b50610741600480360381019061073c9190613dfd565b611bf3565b60405161074e9190613997565b60405180910390f35b34801561076357600080fd5b5061077e60048036038101906107799190613bd5565b611c7a565b005b34801561078c57600080fd5b50610795611e23565b005b3480156107a357600080fd5b506107ac611f17565b6040516107b99190613963565b60405180910390f35b3480156107ce57600080fd5b506107e960048036038101906107e49190613bd5565b611f2a565b005b601260029054906101000a900460ff1681565b60105481565b60606040518060400160405280600881526020017f444f47455a4f4e45000000000000000000000000000000000000000000000000815250905090565b60008073ffffffffffffffffffffffffffffffffffffffff166108626120ba565b73ffffffffffffffffffffffffffffffffffffffff1614156108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b090613eaf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090613f41565b60405180910390fd5b81601960006109366120ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166109d06120ba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a159190613997565b60405180910390a36001905092915050565b6000610a316120ba565b73ffffffffffffffffffffffffffffffffffffffff16610a4f611a02565b73ffffffffffffffffffffffffffffffffffffffff1614610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c90613fd3565b60405180910390fd5b601260029054906101000a900460ff1615610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec9061403f565b60405180910390fd5b43601081905550610b1262093a80426120c290919063ffffffff16565b6011819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c3630601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610c2191906141c1565b64e8d4a51000610c31919061420c565b6120d8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7c57600080fd5b505afa158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb4919061427b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1657600080fd5b505afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e919061427b565b6040518363ffffffff1660e01b8152600401610d6b9291906142a8565b602060405180830381600087803b158015610d8557600080fd5b505af1158015610d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbd919061427b565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060004711610eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb190614343565b60405180910390fd5b610ecc610ec630611715565b476122a3565b610ef7601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166123b2565b6001601260016101000a81548160ff0219169083151502179055506001601260046101000a81548160ff0219169083151502179055506001601260006101000a81548160ff0219169083151502179055506001601260026101000a81548160ff021916908315150217905550600191505090565b60006012600a610f7b91906141c1565b64e8d4a51000610f8b919061420c565b905090565b610f986120ba565b73ffffffffffffffffffffffffffffffffffffffff16610fb6611a02565b73ffffffffffffffffffffffffffffffffffffffff161461100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390613fd3565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61106f6120ba565b73ffffffffffffffffffffffffffffffffffffffff1661108d611a02565b73ffffffffffffffffffffffffffffffffffffffff16146110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da90613fd3565b60405180910390fd5b80601260016101000a81548160ff02191690831515021790555050565b601d6020528060005260406000206000915054906101000a900460ff1681565b60115481565b6000611133848484612470565b6111f48461113f6120ba565b6111ef85604051806060016040528060318152602001614d9260319139601960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111a56120ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f689092919063ffffffff16565b6120d8565b600190509392505050565b6112076120ba565b73ffffffffffffffffffffffffffffffffffffffff16611225611a02565b73ffffffffffffffffffffffffffffffffffffffff161461127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127290613fd3565b60405180910390fd5b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b6112e76120ba565b73ffffffffffffffffffffffffffffffffffffffff16611305611a02565b73ffffffffffffffffffffffffffffffffffffffff161461135b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135290613fd3565b60405180910390fd5b601d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de906143af565b60405180910390fd5b6000601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61144a6120ba565b73ffffffffffffffffffffffffffffffffffffffff16611468611a02565b73ffffffffffffffffffffffffffffffffffffffff16146114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b590613fd3565b60405180910390fd5b611500816114f2846012600a6114d491906141c1565b64e8d4a510006114e4919061420c565b61208e90919063ffffffff16565b6120a490919063ffffffff16565b60018190555061154a606461153c60046012600a61151e91906141c1565b64e8d4a5100061152e919061420c565b61208e90919063ffffffff16565b6120a490919063ffffffff16565b600154111561158e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158590614441565b60405180910390fd5b5050565b601e6020528060005260406000206000915054906101000a900460ff1681565b6115ba6120ba565b73ffffffffffffffffffffffffffffffffffffffff166115d8611a02565b73ffffffffffffffffffffffffffffffffffffffff161461162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590613fd3565b60405180910390fd5b601e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b1906144ad565b60405180910390fd5b6000601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117666120ba565b73ffffffffffffffffffffffffffffffffffffffff16611784611a02565b73ffffffffffffffffffffffffffffffffffffffff16146117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d190613fd3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260019054906101000a900460ff1681565b6118b36120ba565b73ffffffffffffffffffffffffffffffffffffffff166118d1611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191e90613fd3565b60405180910390fd5b80601260046101000a81548160ff02191690831515021790555050565b61194c6120ba565b73ffffffffffffffffffffffffffffffffffffffff1661196a611a02565b73ffffffffffffffffffffffffffffffffffffffff16146119c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b790613fd3565b60405180910390fd5b6119da306119cc611a02565b6119d530611715565b612470565b565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600881526020017f444f47455a4f4e45000000000000000000000000000000000000000000000000815250905090565b6000611aa2611a9b6120ba565b8484612470565b6001905092915050565b611ab46120ba565b73ffffffffffffffffffffffffffffffffffffffff16611ad2611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1f90613fd3565b60405180910390fd5b85600a8190555084600b8190555083600c8190555082600d8190555081600e8190555080600f81905550505050505050565b611b626120ba565b73ffffffffffffffffffffffffffffffffffffffff16611b80611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcd90613fd3565b60405180910390fd5b80601260006101000a81548160ff02191690831515021790555050565b6000601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c826120ba565b73ffffffffffffffffffffffffffffffffffffffff16611ca0611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ced90613fd3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d9061453f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e2b6120ba565b73ffffffffffffffffffffffffffffffffffffffff16611e49611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9690613fd3565b60405180910390fd5b6000611ea9611a02565b73ffffffffffffffffffffffffffffffffffffffff1647604051611ecc90614590565b60006040518083038185875af1925050503d8060008114611f09576040519150601f19603f3d011682016040523d82523d6000602084013e611f0e565b606091505b50508091505050565b601260009054906101000a900460ff1681565b611f326120ba565b73ffffffffffffffffffffffffffffffffffffffff16611f50611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9d90613fd3565b60405180910390fd5b601e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a906145f1565b60405180910390fd5b6001601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000818361209c919061420c565b905092915050565b600081836120b29190614640565b905092915050565b600033905090565b600081836120d09190614671565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213f90613eaf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90613f41565b60405180910390fd5b80601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122969190613997565b60405180910390a3505050565b6122d030601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d8565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161235996959493929190614723565b6060604051808303818588803b15801561237257600080fd5b505af1158015612386573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123ab9190614799565b5050505050565b80601260056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601c6000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d79061485e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612550576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612547906148f0565b60405180910390fd5b60008111612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258a90614982565b60405180910390fd5b601e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612620576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612617906149ee565b60405180910390fd5b601260029054906101000a900460ff1661271557601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126d55750601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270b90614a5a565b60405180910390fd5b5b60011515601260019054906101000a900460ff1615151480156127825750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127e7576001546127a58261279785611715565b6120c290919063ffffffff16565b11156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd90614aec565b60405180910390fd5b5b601260009054906101000a900460ff16156129fb57612804611a02565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128725750612842611a02565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128ab5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129055750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561295f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156129fa5760005b60018110156129f857612985816010546120c290919063ffffffff16565b4314156129e5576001601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806129f090614b0c565b915050612967565b505b5b6000612a146003546005546120c290919063ffffffff16565b90506000612a2130611715565b905060006002548210159050601260039054906101000a900460ff16158015612a565750601260049054906101000a900460ff165b8015612a8c57506000612a8a601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611715565b115b8015612a985750600083115b8015612aee5750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b445750601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b9d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015612ba65750805b15612bb457612bb3612fbd565b5b601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612c555750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ca857600060068190555060006007819055506000600881905550612c9d600854612c8f6007546006546120c290919063ffffffff16565b6120c290919063ffffffff16565b600981905550612f55565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612d4f57600a54600681905550600b54600781905550600c54600881905550612d44600c54612d36600b54600a546120c290919063ffffffff16565b6120c290919063ffffffff16565b600981905550612f54565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612ea057600d54600681905550600e54600781905550600f54600881905550612deb600f54612ddd600e54600d546120c290919063ffffffff16565b6120c290919063ffffffff16565b600981905550601d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612e4c57504260115410155b15612e9b57605f60068190555060006007819055506000600881905550612e94600854612e866007546006546120c290919063ffffffff16565b6120c290919063ffffffff16565b6009819055505b612f53565b601d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580612efb57504260115411155b612f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3190614bc7565b60405180910390fd5b6000600681905550600060078190555060006008819055505b5b5b612f60868686613305565b505050505050565b6000838311158290612fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa79190613a4b565b60405180910390fd5b5082840390509392505050565b6001601260036101000a81548160ff0219169083151502179055506000612fe330611715565b905060006130126005546130046004546003546120c290919063ffffffff16565b6120c290919063ffffffff16565b9050600061302c60026005546120a490919063ffffffff16565b9050600061304382856135c190919063ffffffff16565b90506000479050613053826135d7565b600061306882476135c190919063ffffffff16565b90506000613093866130856003548561208e90919063ffffffff16565b6120a490919063ffffffff16565b905060006130be876130b06004548661208e90919063ffffffff16565b6120a490919063ffffffff16565b905060006130e7826130d985876135c190919063ffffffff16565b6135c190919063ffffffff16565b90506000600381905550600060048190555060006005819055506000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405161314990614590565b60006040518083038185875af1925050503d8060008114613186576040519150601f19603f3d011682016040523d82523d6000602084013e61318b565b606091505b50509050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516131d590614590565b60006040518083038185875af1925050503d8060008114613212576040519150601f19603f3d011682016040523d82523d6000602084013e613217565b606091505b5050809150506000821415801561322f575060008814155b1561323f5761323e88836122a3565b5b6706f05b59d3b200004711156132de57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161329590614590565b60006040518083038185875af1925050503d80600081146132d2576040519150601f19603f3d011682016040523d82523d6000602084013e6132d7565b606091505b5050809150505b505050505050505050506000601260036101000a81548160ff021916908315150217905550565b6000600954146134aa57600061331a82613829565b9050600061333182846135c190919063ffffffff16565b905061333c82613882565b82601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461338b9190614be7565b9250508190555080601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133e19190614671565b9250508190555081601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134379190614671565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161349b9190613997565b60405180910390a350506135bc565b80601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134f99190614be7565b9250508190555080601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461354f9190614671565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135b39190613997565b60405180910390a35b505050565b600081836135cf9190614be7565b905092915050565b6000600267ffffffffffffffff8111156135f4576135f3614c1b565b5b6040519080825280602002602001820160405280156136225781602001602082028036833780820191505090505b509050308160008151811061363a57613639614c4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156136dc57600080fd5b505afa1580156136f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613714919061427b565b8160018151811061372857613727614c4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061378f30601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d8565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016137f3959493929190614d37565b600060405180830381600087803b15801561380d57600080fd5b505af1158015613821573d6000803e3d6000fd5b505050505050565b600061387b606461386d61385e6008546138506007546006546120c290919063ffffffff16565b6120c290919063ffffffff16565b8561208e90919063ffffffff16565b6120a490919063ffffffff16565b9050919050565b6138ab60095461389d6006548461208e90919063ffffffff16565b6120a490919063ffffffff16565b600360008282546138bc9190614671565b925050819055506138ec6009546138de6007548461208e90919063ffffffff16565b6120a490919063ffffffff16565b600460008282546138fd9190614671565b9250508190555061392d60095461391f6008548461208e90919063ffffffff16565b6120a490919063ffffffff16565b6005600082825461393e9190614671565b9250508190555050565b60008115159050919050565b61395d81613948565b82525050565b60006020820190506139786000830184613954565b92915050565b6000819050919050565b6139918161397e565b82525050565b60006020820190506139ac6000830184613988565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156139ec5780820151818401526020810190506139d1565b838111156139fb576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a1d826139b2565b613a2781856139bd565b9350613a378185602086016139ce565b613a4081613a01565b840191505092915050565b60006020820190508181036000830152613a658184613a12565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a9d82613a72565b9050919050565b613aad81613a92565b8114613ab857600080fd5b50565b600081359050613aca81613aa4565b92915050565b613ad98161397e565b8114613ae457600080fd5b50565b600081359050613af681613ad0565b92915050565b60008060408385031215613b1357613b12613a6d565b5b6000613b2185828601613abb565b9250506020613b3285828601613ae7565b9150509250929050565b613b4581613948565b8114613b5057600080fd5b50565b600081359050613b6281613b3c565b92915050565b60008060408385031215613b7f57613b7e613a6d565b5b6000613b8d85828601613abb565b9250506020613b9e85828601613b53565b9150509250929050565b600060208284031215613bbe57613bbd613a6d565b5b6000613bcc84828501613b53565b91505092915050565b600060208284031215613beb57613bea613a6d565b5b6000613bf984828501613abb565b91505092915050565b600080600060608486031215613c1b57613c1a613a6d565b5b6000613c2986828701613abb565b9350506020613c3a86828701613abb565b9250506040613c4b86828701613ae7565b9150509250925092565b600060ff82169050919050565b613c6b81613c55565b82525050565b6000602082019050613c866000830184613c62565b92915050565b60008060408385031215613ca357613ca2613a6d565b5b6000613cb185828601613ae7565b9250506020613cc285828601613ae7565b9150509250929050565b613cd581613a92565b82525050565b6000602082019050613cf06000830184613ccc565b92915050565b6000819050919050565b6000613d1b613d16613d1184613a72565b613cf6565b613a72565b9050919050565b6000613d2d82613d00565b9050919050565b6000613d3f82613d22565b9050919050565b613d4f81613d34565b82525050565b6000602082019050613d6a6000830184613d46565b92915050565b60008060008060008060c08789031215613d8d57613d8c613a6d565b5b6000613d9b89828a01613ae7565b9650506020613dac89828a01613ae7565b9550506040613dbd89828a01613ae7565b9450506060613dce89828a01613ae7565b9350506080613ddf89828a01613ae7565b92505060a0613df089828a01613ae7565b9150509295509295509295565b60008060408385031215613e1457613e13613a6d565b5b6000613e2285828601613abb565b9250506020613e3385828601613abb565b9150509250929050565b7f45524332303a2043616e206e6f7420617070726f76652066726f6d207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000613e996028836139bd565b9150613ea482613e3d565b604082019050919050565b60006020820190508181036000830152613ec881613e8c565b9050919050565b7f45524332303a2043616e206e6f7420617070726f766520746f207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f2b6026836139bd565b9150613f3682613ecf565b604082019050919050565b60006020820190508181036000830152613f5a81613f1e565b9050919050565b7f45524332304f776e61626c653a2063616c6c6572206973206e6f74207468652060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613fbd6025836139bd565b9150613fc882613f61565b604082019050919050565b60006020820190508181036000830152613fec81613fb0565b9050919050565b7f45524332303a2054726164657320616c72656164792061637469766521000000600082015250565b6000614029601d836139bd565b915061403482613ff3565b602082019050919050565b600060208201905081810360008301526140588161401c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156140e5578086048111156140c1576140c061405f565b5b60018516156140d05780820291505b80810290506140de8561408e565b94506140a5565b94509492505050565b6000826140fe57600190506141ba565b8161410c57600090506141ba565b8160018114614122576002811461412c5761415b565b60019150506141ba565b60ff84111561413e5761413d61405f565b5b8360020a9150848211156141555761415461405f565b5b506141ba565b5060208310610133831016604e8410600b84101617156141905782820a90508381111561418b5761418a61405f565b5b6141ba565b61419d848484600161409b565b925090508184048111156141b4576141b361405f565b5b81810290505b9392505050565b60006141cc8261397e565b91506141d783613c55565b92506142047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846140ee565b905092915050565b60006142178261397e565b91506142228361397e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561425b5761425a61405f565b5b828202905092915050565b60008151905061427581613aa4565b92915050565b60006020828403121561429157614290613a6d565b5b600061429f84828501614266565b91505092915050565b60006040820190506142bd6000830185613ccc565b6142ca6020830184613ccc565b9392505050565b7f45524332303a204d757374206861766520455448206f6e20636f6e747261637460008201527f20746f20476f2061637469766521000000000000000000000000000000000000602082015250565b600061432d602e836139bd565b9150614338826142d1565b604082019050919050565b6000602082019050818103600083015261435c81614320565b9050919050565b7f45524332303a204163636f756e74206973206e6f7420736e6970657200000000600082015250565b6000614399601c836139bd565b91506143a482614363565b602082019050919050565b600060208201905081810360008301526143c88161438c565b9050919050565b7f45524332303a2043616e206e6f7420736574206d61782077616c6c6574206d6f60008201527f7265207468616e20342500000000000000000000000000000000000000000000602082015250565b600061442b602a836139bd565b9150614436826143cf565b604082019050919050565b6000602082019050818103600083015261445a8161441e565b9050919050565b7f45524332303a204163636f756e74206973206e6f7420626f7400000000000000600082015250565b60006144976019836139bd565b91506144a282614461565b602082019050919050565b600060208201905081810360008301526144c68161448a565b9050919050565b7f45524332304f776e61626c653a206e6577206f776e657220697320746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000614529602b836139bd565b9150614534826144cd565b604082019050919050565b600060208201905081810360008301526145588161451c565b9050919050565b600081905092915050565b50565b600061457a60008361455f565b91506145858261456a565b600082019050919050565b600061459b8261456d565b9150819050919050565b7f45524332303a204163636f756e7420616c726561647920616464656400000000600082015250565b60006145db601c836139bd565b91506145e6826145a5565b602082019050919050565b6000602082019050818103600083015261460a816145ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061464b8261397e565b91506146568361397e565b92508261466657614665614611565b5b828204905092915050565b600061467c8261397e565b91506146878361397e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156146bc576146bb61405f565b5b828201905092915050565b6000819050919050565b60006146ec6146e76146e2846146c7565b613cf6565b61397e565b9050919050565b6146fc816146d1565b82525050565b600061470d82613d22565b9050919050565b61471d81614702565b82525050565b600060c0820190506147386000830189613ccc565b6147456020830188613988565b61475260408301876146f3565b61475f60608301866146f3565b61476c6080830185614714565b61477960a0830184613988565b979650505050505050565b60008151905061479381613ad0565b92915050565b6000806000606084860312156147b2576147b1613a6d565b5b60006147c086828701614784565b93505060206147d186828701614784565b92505060406147e286828701614784565b9150509250925092565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006148486025836139bd565b9150614853826147ec565b604082019050919050565b600060208201905081810360008301526148778161483b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006148da6023836139bd565b91506148e58261487e565b604082019050919050565b60006020820190508181036000830152614909816148cd565b9050919050565b7f45524332303a205472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b600061496c6030836139bd565b915061497782614910565b604082019050919050565b6000602082019050818103600083015261499b8161495f565b9050919050565b7f45524332303a2043616e206e6f74207472616e736665722066726f6d20424f54600082015250565b60006149d86020836139bd565b91506149e3826149a2565b602082019050919050565b60006020820190508181036000830152614a07816149cb565b9050919050565b7f45524332303a2054726164696e67204973204e6f742061637469766521000000600082015250565b6000614a44601d836139bd565b9150614a4f82614a0e565b602082019050919050565b60006020820190508181036000830152614a7381614a37565b9050919050565b7f45524332303a204d617820616d6f756e74206f6620746f6b656e7320666f722060008201527f77616c6c65742072656163686564000000000000000000000000000000000000602082015250565b6000614ad6602e836139bd565b9150614ae182614a7a565b604082019050919050565b60006020820190508181036000830152614b0581614ac9565b9050919050565b6000614b178261397e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614b4a57614b4961405f565b5b600182019050919050565b7f45524332303a20536e69706572732063616e206e6f74207472616e736665722060008201527f74696c6c2070656e616c74792074696d65206973206f76657200000000000000602082015250565b6000614bb16039836139bd565b9150614bbc82614b55565b604082019050919050565b60006020820190508181036000830152614be081614ba4565b9050919050565b6000614bf28261397e565b9150614bfd8361397e565b925082821015614c1057614c0f61405f565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614cae81613a92565b82525050565b6000614cc08383614ca5565b60208301905092915050565b6000602082019050919050565b6000614ce482614c79565b614cee8185614c84565b9350614cf983614c95565b8060005b83811015614d2a578151614d118882614cb4565b9750614d1c83614ccc565b925050600181019050614cfd565b5085935050505092915050565b600060a082019050614d4c6000830188613988565b614d5960208301876146f3565b8181036040830152614d6b8186614cd9565b9050614d7a6060830185613ccc565b614d876080830184613988565b969550505050505056fe45524332303a2043616e206e6f74207472616e736665722e20416d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d884fe11d4347a8b70965c42ebcbbd2e72b09eb393694740f52432b6fa1b086964736f6c63430008090033

Deployed Bytecode

0x6080604052600436106101fd5760003560e01c806370a082311161010d57806395d89b41116100a0578063dd62ed3e1161006f578063dd62ed3e1461071a578063f2fde38b14610757578063f5648a4f14610780578063f99e36bc14610797578063ffecf516146107c257610204565b806395d89b4114610660578063a9059cbb1461068b578063d67f1ad1146106c8578063d9d99c96146106f157610204565b80638183b3c8116100dc5780638183b3c8146105c85780638bcea939146105df5780638da5cb5b1461060a578063958c2e521461063557610204565b806370a0823114610520578063715018a61461055d578063745d032f14610574578063783efbc71461059f57610204565b80631a841d0211610190578063313ce5671161015f578063313ce5671461043d57806333251a0b14610468578063353470be1461049157806345a119a3146104ba5780635fecd926146104f757610204565b80631a841d021461036f5780631cae2108146103ac57806323b872dd146103d75780632500ae8a1461041457610204565b80631255589b116101cc5780631255589b146102c757806318160ddd146102f25780631892a9e21461031d57806318b78fe11461034657610204565b806302fb0c5e1461020957806305b723911461023457806306fdde031461025f578063095ea7b31461028a57610204565b3661020457005b600080fd5b34801561021557600080fd5b5061021e6107eb565b60405161022b9190613963565b60405180910390f35b34801561024057600080fd5b506102496107fe565b6040516102569190613997565b60405180910390f35b34801561026b57600080fd5b50610274610804565b6040516102819190613a4b565b60405180910390f35b34801561029657600080fd5b506102b160048036038101906102ac9190613afc565b610841565b6040516102be9190613963565b60405180910390f35b3480156102d357600080fd5b506102dc610a27565b6040516102e99190613963565b60405180910390f35b3480156102fe57600080fd5b50610307610f6b565b6040516103149190613997565b60405180910390f35b34801561032957600080fd5b50610344600480360381019061033f9190613b68565b610f90565b005b34801561035257600080fd5b5061036d60048036038101906103689190613ba8565b611067565b005b34801561037b57600080fd5b5061039660048036038101906103919190613bd5565b611100565b6040516103a39190613963565b60405180910390f35b3480156103b857600080fd5b506103c1611120565b6040516103ce9190613997565b60405180910390f35b3480156103e357600080fd5b506103fe60048036038101906103f99190613c02565b611126565b60405161040b9190613963565b60405180910390f35b34801561042057600080fd5b5061043b60048036038101906104369190613b68565b6111ff565b005b34801561044957600080fd5b506104526112d6565b60405161045f9190613c71565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a9190613bd5565b6112df565b005b34801561049d57600080fd5b506104b860048036038101906104b39190613c8c565b611442565b005b3480156104c657600080fd5b506104e160048036038101906104dc9190613bd5565b611592565b6040516104ee9190613963565b60405180910390f35b34801561050357600080fd5b5061051e60048036038101906105199190613bd5565b6115b2565b005b34801561052c57600080fd5b5061054760048036038101906105429190613bd5565b611715565b6040516105549190613997565b60405180910390f35b34801561056957600080fd5b5061057261175e565b005b34801561058057600080fd5b50610589611898565b6040516105969190613963565b60405180910390f35b3480156105ab57600080fd5b506105c660048036038101906105c19190613ba8565b6118ab565b005b3480156105d457600080fd5b506105dd611944565b005b3480156105eb57600080fd5b506105f46119dc565b6040516106019190613cdb565b60405180910390f35b34801561061657600080fd5b5061061f611a02565b60405161062c9190613cdb565b60405180910390f35b34801561064157600080fd5b5061064a611a2b565b6040516106579190613d55565b60405180910390f35b34801561066c57600080fd5b50610675611a51565b6040516106829190613a4b565b60405180910390f35b34801561069757600080fd5b506106b260048036038101906106ad9190613afc565b611a8e565b6040516106bf9190613963565b60405180910390f35b3480156106d457600080fd5b506106ef60048036038101906106ea9190613d70565b611aac565b005b3480156106fd57600080fd5b5061071860048036038101906107139190613ba8565b611b5a565b005b34801561072657600080fd5b50610741600480360381019061073c9190613dfd565b611bf3565b60405161074e9190613997565b60405180910390f35b34801561076357600080fd5b5061077e60048036038101906107799190613bd5565b611c7a565b005b34801561078c57600080fd5b50610795611e23565b005b3480156107a357600080fd5b506107ac611f17565b6040516107b99190613963565b60405180910390f35b3480156107ce57600080fd5b506107e960048036038101906107e49190613bd5565b611f2a565b005b601260029054906101000a900460ff1681565b60105481565b60606040518060400160405280600881526020017f444f47455a4f4e45000000000000000000000000000000000000000000000000815250905090565b60008073ffffffffffffffffffffffffffffffffffffffff166108626120ba565b73ffffffffffffffffffffffffffffffffffffffff1614156108b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b090613eaf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090613f41565b60405180910390fd5b81601960006109366120ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff166109d06120ba565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610a159190613997565b60405180910390a36001905092915050565b6000610a316120ba565b73ffffffffffffffffffffffffffffffffffffffff16610a4f611a02565b73ffffffffffffffffffffffffffffffffffffffff1614610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c90613fd3565b60405180910390fd5b601260029054906101000a900460ff1615610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec9061403f565b60405180910390fd5b43601081905550610b1262093a80426120c290919063ffffffff16565b6011819055506000737a250d5630b4cf539739df2c5dacb4c659f2488d905080601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610c3630601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166012600a610c2191906141c1565b64e8d4a51000610c31919061420c565b6120d8565b8073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610c7c57600080fd5b505afa158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb4919061427b565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1657600080fd5b505afa158015610d2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4e919061427b565b6040518363ffffffff1660e01b8152600401610d6b9291906142a8565b602060405180830381600087803b158015610d8557600080fd5b505af1158015610d99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbd919061427b565b601760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601b6000601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060004711610eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb190614343565b60405180910390fd5b610ecc610ec630611715565b476122a3565b610ef7601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166123b2565b6001601260016101000a81548160ff0219169083151502179055506001601260046101000a81548160ff0219169083151502179055506001601260006101000a81548160ff0219169083151502179055506001601260026101000a81548160ff021916908315150217905550600191505090565b60006012600a610f7b91906141c1565b64e8d4a51000610f8b919061420c565b905090565b610f986120ba565b73ffffffffffffffffffffffffffffffffffffffff16610fb6611a02565b73ffffffffffffffffffffffffffffffffffffffff161461100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390613fd3565b60405180910390fd5b80601b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61106f6120ba565b73ffffffffffffffffffffffffffffffffffffffff1661108d611a02565b73ffffffffffffffffffffffffffffffffffffffff16146110e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110da90613fd3565b60405180910390fd5b80601260016101000a81548160ff02191690831515021790555050565b601d6020528060005260406000206000915054906101000a900460ff1681565b60115481565b6000611133848484612470565b6111f48461113f6120ba565b6111ef85604051806060016040528060318152602001614d9260319139601960008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006111a56120ba565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612f689092919063ffffffff16565b6120d8565b600190509392505050565b6112076120ba565b73ffffffffffffffffffffffffffffffffffffffff16611225611a02565b73ffffffffffffffffffffffffffffffffffffffff161461127b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127290613fd3565b60405180910390fd5b80601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60006012905090565b6112e76120ba565b73ffffffffffffffffffffffffffffffffffffffff16611305611a02565b73ffffffffffffffffffffffffffffffffffffffff161461135b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135290613fd3565b60405180910390fd5b601d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166113e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113de906143af565b60405180910390fd5b6000601d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61144a6120ba565b73ffffffffffffffffffffffffffffffffffffffff16611468611a02565b73ffffffffffffffffffffffffffffffffffffffff16146114be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b590613fd3565b60405180910390fd5b611500816114f2846012600a6114d491906141c1565b64e8d4a510006114e4919061420c565b61208e90919063ffffffff16565b6120a490919063ffffffff16565b60018190555061154a606461153c60046012600a61151e91906141c1565b64e8d4a5100061152e919061420c565b61208e90919063ffffffff16565b6120a490919063ffffffff16565b600154111561158e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161158590614441565b60405180910390fd5b5050565b601e6020528060005260406000206000915054906101000a900460ff1681565b6115ba6120ba565b73ffffffffffffffffffffffffffffffffffffffff166115d8611a02565b73ffffffffffffffffffffffffffffffffffffffff161461162e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161162590613fd3565b60405180910390fd5b601e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b1906144ad565b60405180910390fd5b6000601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117666120ba565b73ffffffffffffffffffffffffffffffffffffffff16611784611a02565b73ffffffffffffffffffffffffffffffffffffffff16146117da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d190613fd3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b601260019054906101000a900460ff1681565b6118b36120ba565b73ffffffffffffffffffffffffffffffffffffffff166118d1611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191e90613fd3565b60405180910390fd5b80601260046101000a81548160ff02191690831515021790555050565b61194c6120ba565b73ffffffffffffffffffffffffffffffffffffffff1661196a611a02565b73ffffffffffffffffffffffffffffffffffffffff16146119c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b790613fd3565b60405180910390fd5b6119da306119cc611a02565b6119d530611715565b612470565b565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040518060400160405280600881526020017f444f47455a4f4e45000000000000000000000000000000000000000000000000815250905090565b6000611aa2611a9b6120ba565b8484612470565b6001905092915050565b611ab46120ba565b73ffffffffffffffffffffffffffffffffffffffff16611ad2611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611b28576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1f90613fd3565b60405180910390fd5b85600a8190555084600b8190555083600c8190555082600d8190555081600e8190555080600f81905550505050505050565b611b626120ba565b73ffffffffffffffffffffffffffffffffffffffff16611b80611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611bd6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bcd90613fd3565b60405180910390fd5b80601260006101000a81548160ff02191690831515021790555050565b6000601960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b611c826120ba565b73ffffffffffffffffffffffffffffffffffffffff16611ca0611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611cf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ced90613fd3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d66576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d5d9061453f565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611e2b6120ba565b73ffffffffffffffffffffffffffffffffffffffff16611e49611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611e9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e9690613fd3565b60405180910390fd5b6000611ea9611a02565b73ffffffffffffffffffffffffffffffffffffffff1647604051611ecc90614590565b60006040518083038185875af1925050503d8060008114611f09576040519150601f19603f3d011682016040523d82523d6000602084013e611f0e565b606091505b50508091505050565b601260009054906101000a900460ff1681565b611f326120ba565b73ffffffffffffffffffffffffffffffffffffffff16611f50611a02565b73ffffffffffffffffffffffffffffffffffffffff1614611fa6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f9d90613fd3565b60405180910390fd5b601e60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612033576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161202a906145f1565b60405180910390fd5b6001601e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000818361209c919061420c565b905092915050565b600081836120b29190614640565b905092915050565b600033905090565b600081836120d09190614671565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612148576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213f90613eaf565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156121b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121af90613f41565b60405180910390fd5b80601960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516122969190613997565b60405180910390a3505050565b6122d030601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d8565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161235996959493929190614723565b6060604051808303818588803b15801561237257600080fd5b505af1158015612386573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906123ab9190614799565b5050505050565b80601260056101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601c6000601260059054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156124e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124d79061485e565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612550576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612547906148f0565b60405180910390fd5b60008111612593576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258a90614982565b60405180910390fd5b601e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612620576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612617906149ee565b60405180910390fd5b601260029054906101000a900460ff1661271557601c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806126d55750601c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612714576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161270b90614a5a565b60405180910390fd5b5b60011515601260019054906101000a900460ff1615151480156127825750601b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156127e7576001546127a58261279785611715565b6120c290919063ffffffff16565b11156127e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127dd90614aec565b60405180910390fd5b5b601260009054906101000a900460ff16156129fb57612804611a02565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156128725750612842611a02565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156128ab5750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156129055750601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561295f5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156129fa5760005b60018110156129f857612985816010546120c290919063ffffffff16565b4314156129e5576001601d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806129f090614b0c565b915050612967565b505b5b6000612a146003546005546120c290919063ffffffff16565b90506000612a2130611715565b905060006002548210159050601260039054906101000a900460ff16158015612a565750601260049054906101000a900460ff165b8015612a8c57506000612a8a601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611715565b115b8015612a985750600083115b8015612aee5750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b445750601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612b9d5750601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b8015612ba65750805b15612bb457612bb3612fbd565b5b601c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612c555750601c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15612ca857600060068190555060006007819055506000600881905550612c9d600854612c8f6007546006546120c290919063ffffffff16565b6120c290919063ffffffff16565b600981905550612f55565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415612d4f57600a54600681905550600b54600781905550600c54600881905550612d44600c54612d36600b54600a546120c290919063ffffffff16565b6120c290919063ffffffff16565b600981905550612f54565b601760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415612ea057600d54600681905550600e54600781905550600f54600881905550612deb600f54612ddd600e54600d546120c290919063ffffffff16565b6120c290919063ffffffff16565b600981905550601d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015612e4c57504260115410155b15612e9b57605f60068190555060006007819055506000600881905550612e94600854612e866007546006546120c290919063ffffffff16565b6120c290919063ffffffff16565b6009819055505b612f53565b601d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580612efb57504260115411155b612f3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f3190614bc7565b60405180910390fd5b6000600681905550600060078190555060006008819055505b5b5b612f60868686613305565b505050505050565b6000838311158290612fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fa79190613a4b565b60405180910390fd5b5082840390509392505050565b6001601260036101000a81548160ff0219169083151502179055506000612fe330611715565b905060006130126005546130046004546003546120c290919063ffffffff16565b6120c290919063ffffffff16565b9050600061302c60026005546120a490919063ffffffff16565b9050600061304382856135c190919063ffffffff16565b90506000479050613053826135d7565b600061306882476135c190919063ffffffff16565b90506000613093866130856003548561208e90919063ffffffff16565b6120a490919063ffffffff16565b905060006130be876130b06004548661208e90919063ffffffff16565b6120a490919063ffffffff16565b905060006130e7826130d985876135c190919063ffffffff16565b6135c190919063ffffffff16565b90506000600381905550600060048190555060006005819055506000601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168460405161314990614590565b60006040518083038185875af1925050503d8060008114613186576040519150601f19603f3d011682016040523d82523d6000602084013e61318b565b606091505b50509050601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16836040516131d590614590565b60006040518083038185875af1925050503d8060008114613212576040519150601f19603f3d011682016040523d82523d6000602084013e613217565b606091505b5050809150506000821415801561322f575060008814155b1561323f5761323e88836122a3565b5b6706f05b59d3b200004711156132de57601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff164760405161329590614590565b60006040518083038185875af1925050503d80600081146132d2576040519150601f19603f3d011682016040523d82523d6000602084013e6132d7565b606091505b5050809150505b505050505050505050506000601260036101000a81548160ff021916908315150217905550565b6000600954146134aa57600061331a82613829565b9050600061333182846135c190919063ffffffff16565b905061333c82613882565b82601a60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461338b9190614be7565b9250508190555080601a60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546133e19190614671565b9250508190555081601a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134379190614671565b925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161349b9190613997565b60405180910390a350506135bc565b80601a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134f99190614be7565b9250508190555080601a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461354f9190614671565b925050819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516135b39190613997565b60405180910390a35b505050565b600081836135cf9190614be7565b905092915050565b6000600267ffffffffffffffff8111156135f4576135f3614c1b565b5b6040519080825280602002602001820160405280156136225781602001602082028036833780820191505090505b509050308160008151811061363a57613639614c4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156136dc57600080fd5b505afa1580156136f0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613714919061427b565b8160018151811061372857613727614c4a565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061378f30601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846120d8565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016137f3959493929190614d37565b600060405180830381600087803b15801561380d57600080fd5b505af1158015613821573d6000803e3d6000fd5b505050505050565b600061387b606461386d61385e6008546138506007546006546120c290919063ffffffff16565b6120c290919063ffffffff16565b8561208e90919063ffffffff16565b6120a490919063ffffffff16565b9050919050565b6138ab60095461389d6006548461208e90919063ffffffff16565b6120a490919063ffffffff16565b600360008282546138bc9190614671565b925050819055506138ec6009546138de6007548461208e90919063ffffffff16565b6120a490919063ffffffff16565b600460008282546138fd9190614671565b9250508190555061392d60095461391f6008548461208e90919063ffffffff16565b6120a490919063ffffffff16565b6005600082825461393e9190614671565b9250508190555050565b60008115159050919050565b61395d81613948565b82525050565b60006020820190506139786000830184613954565b92915050565b6000819050919050565b6139918161397e565b82525050565b60006020820190506139ac6000830184613988565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156139ec5780820151818401526020810190506139d1565b838111156139fb576000848401525b50505050565b6000601f19601f8301169050919050565b6000613a1d826139b2565b613a2781856139bd565b9350613a378185602086016139ce565b613a4081613a01565b840191505092915050565b60006020820190508181036000830152613a658184613a12565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a9d82613a72565b9050919050565b613aad81613a92565b8114613ab857600080fd5b50565b600081359050613aca81613aa4565b92915050565b613ad98161397e565b8114613ae457600080fd5b50565b600081359050613af681613ad0565b92915050565b60008060408385031215613b1357613b12613a6d565b5b6000613b2185828601613abb565b9250506020613b3285828601613ae7565b9150509250929050565b613b4581613948565b8114613b5057600080fd5b50565b600081359050613b6281613b3c565b92915050565b60008060408385031215613b7f57613b7e613a6d565b5b6000613b8d85828601613abb565b9250506020613b9e85828601613b53565b9150509250929050565b600060208284031215613bbe57613bbd613a6d565b5b6000613bcc84828501613b53565b91505092915050565b600060208284031215613beb57613bea613a6d565b5b6000613bf984828501613abb565b91505092915050565b600080600060608486031215613c1b57613c1a613a6d565b5b6000613c2986828701613abb565b9350506020613c3a86828701613abb565b9250506040613c4b86828701613ae7565b9150509250925092565b600060ff82169050919050565b613c6b81613c55565b82525050565b6000602082019050613c866000830184613c62565b92915050565b60008060408385031215613ca357613ca2613a6d565b5b6000613cb185828601613ae7565b9250506020613cc285828601613ae7565b9150509250929050565b613cd581613a92565b82525050565b6000602082019050613cf06000830184613ccc565b92915050565b6000819050919050565b6000613d1b613d16613d1184613a72565b613cf6565b613a72565b9050919050565b6000613d2d82613d00565b9050919050565b6000613d3f82613d22565b9050919050565b613d4f81613d34565b82525050565b6000602082019050613d6a6000830184613d46565b92915050565b60008060008060008060c08789031215613d8d57613d8c613a6d565b5b6000613d9b89828a01613ae7565b9650506020613dac89828a01613ae7565b9550506040613dbd89828a01613ae7565b9450506060613dce89828a01613ae7565b9350506080613ddf89828a01613ae7565b92505060a0613df089828a01613ae7565b9150509295509295509295565b60008060408385031215613e1457613e13613a6d565b5b6000613e2285828601613abb565b9250506020613e3385828601613abb565b9150509250929050565b7f45524332303a2043616e206e6f7420617070726f76652066726f6d207a65726f60008201527f2061646472657373000000000000000000000000000000000000000000000000602082015250565b6000613e996028836139bd565b9150613ea482613e3d565b604082019050919050565b60006020820190508181036000830152613ec881613e8c565b9050919050565b7f45524332303a2043616e206e6f7420617070726f766520746f207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613f2b6026836139bd565b9150613f3682613ecf565b604082019050919050565b60006020820190508181036000830152613f5a81613f1e565b9050919050565b7f45524332304f776e61626c653a2063616c6c6572206973206e6f74207468652060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613fbd6025836139bd565b9150613fc882613f61565b604082019050919050565b60006020820190508181036000830152613fec81613fb0565b9050919050565b7f45524332303a2054726164657320616c72656164792061637469766521000000600082015250565b6000614029601d836139bd565b915061403482613ff3565b602082019050919050565b600060208201905081810360008301526140588161401c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156140e5578086048111156140c1576140c061405f565b5b60018516156140d05780820291505b80810290506140de8561408e565b94506140a5565b94509492505050565b6000826140fe57600190506141ba565b8161410c57600090506141ba565b8160018114614122576002811461412c5761415b565b60019150506141ba565b60ff84111561413e5761413d61405f565b5b8360020a9150848211156141555761415461405f565b5b506141ba565b5060208310610133831016604e8410600b84101617156141905782820a90508381111561418b5761418a61405f565b5b6141ba565b61419d848484600161409b565b925090508184048111156141b4576141b361405f565b5b81810290505b9392505050565b60006141cc8261397e565b91506141d783613c55565b92506142047fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846140ee565b905092915050565b60006142178261397e565b91506142228361397e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561425b5761425a61405f565b5b828202905092915050565b60008151905061427581613aa4565b92915050565b60006020828403121561429157614290613a6d565b5b600061429f84828501614266565b91505092915050565b60006040820190506142bd6000830185613ccc565b6142ca6020830184613ccc565b9392505050565b7f45524332303a204d757374206861766520455448206f6e20636f6e747261637460008201527f20746f20476f2061637469766521000000000000000000000000000000000000602082015250565b600061432d602e836139bd565b9150614338826142d1565b604082019050919050565b6000602082019050818103600083015261435c81614320565b9050919050565b7f45524332303a204163636f756e74206973206e6f7420736e6970657200000000600082015250565b6000614399601c836139bd565b91506143a482614363565b602082019050919050565b600060208201905081810360008301526143c88161438c565b9050919050565b7f45524332303a2043616e206e6f7420736574206d61782077616c6c6574206d6f60008201527f7265207468616e20342500000000000000000000000000000000000000000000602082015250565b600061442b602a836139bd565b9150614436826143cf565b604082019050919050565b6000602082019050818103600083015261445a8161441e565b9050919050565b7f45524332303a204163636f756e74206973206e6f7420626f7400000000000000600082015250565b60006144976019836139bd565b91506144a282614461565b602082019050919050565b600060208201905081810360008301526144c68161448a565b9050919050565b7f45524332304f776e61626c653a206e6577206f776e657220697320746865207a60008201527f65726f2061646472657373000000000000000000000000000000000000000000602082015250565b6000614529602b836139bd565b9150614534826144cd565b604082019050919050565b600060208201905081810360008301526145588161451c565b9050919050565b600081905092915050565b50565b600061457a60008361455f565b91506145858261456a565b600082019050919050565b600061459b8261456d565b9150819050919050565b7f45524332303a204163636f756e7420616c726561647920616464656400000000600082015250565b60006145db601c836139bd565b91506145e6826145a5565b602082019050919050565b6000602082019050818103600083015261460a816145ce565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061464b8261397e565b91506146568361397e565b92508261466657614665614611565b5b828204905092915050565b600061467c8261397e565b91506146878361397e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156146bc576146bb61405f565b5b828201905092915050565b6000819050919050565b60006146ec6146e76146e2846146c7565b613cf6565b61397e565b9050919050565b6146fc816146d1565b82525050565b600061470d82613d22565b9050919050565b61471d81614702565b82525050565b600060c0820190506147386000830189613ccc565b6147456020830188613988565b61475260408301876146f3565b61475f60608301866146f3565b61476c6080830185614714565b61477960a0830184613988565b979650505050505050565b60008151905061479381613ad0565b92915050565b6000806000606084860312156147b2576147b1613a6d565b5b60006147c086828701614784565b93505060206147d186828701614784565b92505060406147e286828701614784565b9150509250925092565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006148486025836139bd565b9150614853826147ec565b604082019050919050565b600060208201905081810360008301526148778161483b565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006148da6023836139bd565b91506148e58261487e565b604082019050919050565b60006020820190508181036000830152614909816148cd565b9050919050565b7f45524332303a205472616e7366657220616d6f756e74206d757374206265206760008201527f726561746572207468616e207a65726f00000000000000000000000000000000602082015250565b600061496c6030836139bd565b915061497782614910565b604082019050919050565b6000602082019050818103600083015261499b8161495f565b9050919050565b7f45524332303a2043616e206e6f74207472616e736665722066726f6d20424f54600082015250565b60006149d86020836139bd565b91506149e3826149a2565b602082019050919050565b60006020820190508181036000830152614a07816149cb565b9050919050565b7f45524332303a2054726164696e67204973204e6f742061637469766521000000600082015250565b6000614a44601d836139bd565b9150614a4f82614a0e565b602082019050919050565b60006020820190508181036000830152614a7381614a37565b9050919050565b7f45524332303a204d617820616d6f756e74206f6620746f6b656e7320666f722060008201527f77616c6c65742072656163686564000000000000000000000000000000000000602082015250565b6000614ad6602e836139bd565b9150614ae182614a7a565b604082019050919050565b60006020820190508181036000830152614b0581614ac9565b9050919050565b6000614b178261397e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415614b4a57614b4961405f565b5b600182019050919050565b7f45524332303a20536e69706572732063616e206e6f74207472616e736665722060008201527f74696c6c2070656e616c74792074696d65206973206f76657200000000000000602082015250565b6000614bb16039836139bd565b9150614bbc82614b55565b604082019050919050565b60006020820190508181036000830152614be081614ba4565b9050919050565b6000614bf28261397e565b9150614bfd8361397e565b925082821015614c1057614c0f61405f565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b614cae81613a92565b82525050565b6000614cc08383614ca5565b60208301905092915050565b6000602082019050919050565b6000614ce482614c79565b614cee8185614c84565b9350614cf983614c95565b8060005b83811015614d2a578151614d118882614cb4565b9750614d1c83614ccc565b925050600181019050614cfd565b5085935050505092915050565b600060a082019050614d4c6000830188613988565b614d5960208301876146f3565b8181036040830152614d6b8186614cd9565b9050614d7a6060830185613ccc565b614d876080830184613988565b969550505050505056fe45524332303a2043616e206e6f74207472616e736665722e20416d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d884fe11d4347a8b70965c42ebcbbd2e72b09eb393694740f52432b6fa1b086964736f6c63430008090033

Deployed Bytecode Sourcemap

9109:14568:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9879:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9742:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12098:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12779:393;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14065:963;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12401:97;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19125:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19633:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10448:39;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9773:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13715:344;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18980:139;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12302:93;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18805:169;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19276:245;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10494:36;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18645:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12504:118;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4058:148;;;;;;;;;;;;;:::i;:::-;;9841:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19744:110;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18344:135;;;;;;;;;;;;;:::i;:::-;;10146:24;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3834:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10177:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12198:98;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13533:176;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;19860:516;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;19527:100;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12628:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4212:249;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;18181:157;;;;;;;;;;;;;:::i;:::-;;9807:27;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;18485:157;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9879:26;;;;;;;;;;;;;:::o;9742:24::-;;;;:::o;12098:94::-;12146:13;12179:5;;;;;;;;;;;;;;;;;12172:12;;12098:94;:::o;12779:393::-;12854:4;12903:1;12879:26;;:12;:10;:12::i;:::-;:26;;;;12871:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;12988:1;12969:21;;:7;:21;;;;12961:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13081:6;13044:11;:25;13056:12;:10;:12::i;:::-;13044:25;;;;;;;;;;;;;;;:34;13070:7;13044:34;;;;;;;;;;;;;;;:43;;;;13126:7;13103:39;;13112:12;:10;:12::i;:::-;13103:39;;;13135:6;13103:39;;;;;;:::i;:::-;;;;;;;;13160:4;13153:11;;12779:393;;;;:::o;14065:963::-;14115:4;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;14140:6:::1;;;;;;;;;;;14139:7;14131:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;14203:12;14191:9;:24;;;;14241:27;14261:6;14241:15;:19;;:27;;;;:::i;:::-;14226:12;:42;;;;14279:31;14332:42;14279:96;;14400:12;14386:11;;:26;;;;;;;;;;;;;;;;;;14459:4;14423:11;:33;14443:11;;;;;;;;;;;14423:33;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;;;;;;;14474:61;14498:4;14513:11;;;;;;;;;;;10767:2;10818;:12;;;;:::i;:::-;10811:4;:19;;;;:::i;:::-;14474:15;:61::i;:::-;14576:12;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14558:52;;;14619:4;14626:12;:17;;;:19;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14558:88;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14546:9;;:100;;;;;;;;;;;;;;;;;;14691:4;14657:11;:31;14677:9;;;;;;;;;;;14657:31;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;14738:1;14714:21;:25;14706:84;;;;;;;;;;;;:::i;:::-;;;;;;;;;14801:61;14814:24;14832:4;14814:9;:24::i;:::-;14840:21;14801:12;:61::i;:::-;14873:25;14893:4;;;;;;;;;;;14873:19;:25::i;:::-;14923:4;14909:11;;:18;;;;;;;;;;;;;;;;;;14945:4;14938;;:11;;;;;;;;;;;;;;;;;;14970:4;14960:7;;:14;;;;;;;;;;;;;;;;;;14994:4;14985:6;;:13;;;;;;;;;;;;;;;;;;15016:4;15009:11;;;14065:963:::0;:::o;12401:97::-;12456:7;10767:2;10818;:12;;;;:::i;:::-;10811:4;:19;;;;:::i;:::-;12476:14;;12401:97;:::o;19125:145::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19251:11:::1;19219;:29;19239:7;19219:29;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;19125:145:::0;;:::o;19633:105::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19719:11:::1;19705;;:25;;;;;;;;;;;;;;;;;;19633:105:::0;:::o;10448:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;9773:27::-;;;;:::o;13715:344::-;13813:4;13830:43;13847:6;13855:9;13866:6;13830:16;:43::i;:::-;13884:145;13900:6;13907:12;:10;:12::i;:::-;13930:98;13968:6;13930:98;;;;;;;;;;;;;;;;;:11;:19;13942:6;13930:19;;;;;;;;;;;;;;;:33;13950:12;:10;:12::i;:::-;13930:33;;;;;;;;;;;;;;;;:37;;:98;;;;;:::i;:::-;13884:15;:145::i;:::-;14047:4;14040:11;;13715:344;;;;;:::o;18980:139::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19100:11:::1;19068;:29;19088:7;19068:29;;;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;18980:139:::0;;:::o;12302:93::-;12354:5;10767:2;12372:15;;12302:93;:::o;18805:169::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18882:7:::1;:16;18890:7;18882:16;;;;;;;;;;;;;;;;;;;;;;;;;18874:57;;;;;;;;;;;;:::i;:::-;;;;;;;;;18961:5;18942:7;:16;18950:7;18942:16;;;;;;;;;;;;;;;;:24;;;;;;;;;;;;;;;;;;18805:169:::0;:::o;19276:245::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19378:33:::1;19403:7;19378:20;19390:7;10767:2;10818;:12;;;;:::i;:::-;10811:4;:19;;;;:::i;:::-;19378:11;;:20;;;;:::i;:::-;:24;;:33;;;;:::i;:::-;19365:10;:46;;;;19443:23;19462:3;19443:14;19455:1;10767:2;10818;:12;;;;:::i;:::-;10811:4;:19;;;;:::i;:::-;19443:11;;:14;;;;:::i;:::-;:18;;:23;;;;:::i;:::-;19430:10;;:36;;19422:91;;;;;;;;;;;;:::i;:::-;;;;;;;;;19276:245:::0;;:::o;10494:36::-;;;;;;;;;;;;;;;;;;;;;;:::o;18645:157::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18719:4:::1;:13;18724:7;18719:13;;;;;;;;;;;;;;;;;;;;;;;;;18711:51;;;;;;;;;;;;:::i;:::-;;;;;;;;;18789:5;18773:4;:13;18778:7;18773:13;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;;;;;;;18645:157:::0;:::o;12504:118::-;12570:7;12597:8;:17;12606:7;12597:17;;;;;;;;;;;;;;;;12590:24;;12504:118;;;:::o;4058:148::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4165:1:::1;4128:40;;4149:6;::::0;::::1;;;;;;;;4128:40;;;;;;;;;;;;4196:1;4179:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;4058:148::o:0;9841:31::-;;;;;;;;;;;;;:::o;19744:110::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19835:11:::1;19828:4;;:18;;;;;;;;;;;;;;;;;;19744:110:::0;:::o;18344:135::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18405:66:::1;18430:4;18437:7;:5;:7::i;:::-;18446:24;18464:4;18446:9;:24::i;:::-;18405:16;:66::i;:::-;18344:135::o:0;10146:24::-;;;;;;;;;;;;;:::o;3834:87::-;3880:7;3907:6;;;;;;;;;;;3900:13;;3834:87;:::o;10177:37::-;;;;;;;;;;;;;:::o;12198:98::-;12248:13;12281:7;;;;;;;;;;;;;;;;;12274:14;;12198:98;:::o;13533:176::-;13613:4;13630:49;13647:12;:10;:12::i;:::-;13661:9;13672:6;13630:16;:49::i;:::-;13697:4;13690:11;;13533:176;;;;:::o;19860:516::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;20131:15:::1;20113;:33;;;;20174:14;20157;:31;;;;20217:15;20199;:33;;;;20262:16;20243;:35;;;;20307:15;20289;:33;;;;20352:16;20333;:35;;;;19860:516:::0;;;;;;:::o;19527:100::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;19608:11:::1;19598:7;;:21;;;;;;;;;;;;;;;;;;19527:100:::0;:::o;12628:145::-;12711:7;12738:11;:18;12750:5;12738:18;;;;;;;;;;;;;;;:27;12757:7;12738:27;;;;;;;;;;;;;;;;12731:34;;12628:145;;;;:::o;4212:249::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;4321:1:::1;4301:22;;:8;:22;;;;4293:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;4416:8;4387:38;;4408:6;::::0;::::1;;;;;;;;4387:38;;;;;;;;;;;;4445:8;4436:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;4212:249:::0;:::o;18181:157::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18239:12:::1;18283:7;:5;:7::i;:::-;18275:21;;18304;18275:55;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18262:68;;;;;18228:110;18181:157::o:0;9807:27::-;;;;;;;;;;;;;:::o;18485:157::-;3978:12;:10;:12::i;:::-;3967:23;;:7;:5;:7::i;:::-;:23;;;3959:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;18557:4:::1;:13;18562:7;18557:13;;;;;;;;;;;;;;;;;;;;;;;;;18556:14;18548:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;18630:4;18614;:13;18619:7;18614:13;;;;;;;;;;;;;;;;:20;;;;;;;;;;;;;;;;;;18485:157:::0;:::o;1636:98::-;1694:7;1725:1;1721;:5;;;;:::i;:::-;1714:12;;1636:98;;;;:::o;1740:::-;1798:7;1829:1;1825;:5;;;;:::i;:::-;1818:12;;1740:98;;;;:::o;3413:::-;3466:7;3493:10;3486:17;;3413:98;:::o;1428:::-;1486:7;1517:1;1513;:5;;;;:::i;:::-;1506:12;;1428:98;;;;:::o;13178:349::-;13294:1;13277:19;;:5;:19;;;;13269:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13379:1;13360:21;;:7;:21;;;;13352:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;13465:6;13435:11;:18;13447:5;13435:18;;;;;;;;;;;;;;;:27;13454:7;13435:27;;;;;;;;;;;;;;;:36;;;;13503:7;13487:32;;13496:5;13487:32;;;13512:6;13487:32;;;;;;:::i;:::-;;;;;;;;13178:349;;;:::o;22205:369::-;22287:65;22311:4;22326:11;;;;;;;;;;;22340;22287:15;:65::i;:::-;22363:11;;;;;;;;;;;:27;;;22398:9;22431:4;22451:11;22477:1;22493;22509:16;;;;;;;;;;;22540:15;22363:203;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;22205:369;;:::o;18015:160::-;18110:9;18083:16;;:37;;;;;;;;;;;;;;;;;;18163:4;18131:11;:29;18143:16;;;;;;;;;;;18131:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;18015:160;:::o;15034:2975::-;15146:1;15130:18;;:4;:18;;;;15122:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;15223:1;15209:16;;:2;:16;;;;15201:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;15293:1;15284:6;:10;15276:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;15367:4;:10;15372:4;15367:10;;;;;;;;;;;;;;;;;;;;;;;;;15366:11;15358:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;15429:6;;;;;;;;;;;15425:116;;15459:11;:17;15471:4;15459:17;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;15480:11;:15;15492:2;15480:15;;;;;;;;;;;;;;;;;;;;;;;;;15459:36;15451:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;15425:116;15570:4;15555:19;;:11;;;;;;;;;;;:19;;;:40;;;;;15580:11;:15;15592:2;15580:15;;;;;;;;;;;;;;;;;;;;;;;;;15578:17;15555:40;15551:171;;;15649:10;;15620:25;15638:6;15620:13;15630:2;15620:9;:13::i;:::-;:17;;:25;;;;:::i;:::-;:39;;15612:98;;;;;;;;;;;;:::i;:::-;;;;;;;;;15551:171;15735:7;;;;;;;;;;;15732:339;;;15770:7;:5;:7::i;:::-;15762:15;;:4;:15;;;;:32;;;;;15787:7;:5;:7::i;:::-;15781:13;;:2;:13;;;;15762:32;:52;;;;;15812:1;15798:16;;:2;:16;;;;15762:52;:66;;;;;15824:4;;;;;;;;;;;15818:10;;:2;:10;;;;15762:66;:85;;;;;15838:9;;;;;;;;;;;15832:15;;:2;:15;;;;15762:85;15758:302;;;15873:6;15868:177;15889:1;15885;:5;15868:177;;;15939:16;15953:1;15939:9;;:13;;:16;;;;:::i;:::-;15923:12;:32;15920:106;;;15998:4;15984:7;:11;15992:2;15984:11;;;;;;;;;;;;;;;;:18;;;;;;;;;;;;;;;;;;15920:106;15892:3;;;;;:::i;:::-;;;;15868:177;;;;15758:302;15732:339;16090:25;16118:36;16138:15;;16118;;:19;;:36;;;;:::i;:::-;16090:64;;16165:28;16196:24;16214:4;16196:9;:24::i;:::-;16165:55;;16231:28;16286:6;;16262:20;:30;;16231:61;;16308:4;;;;;;;;;;;16307:5;:26;;;;;16329:4;;;;;;;;;;;16307:26;:67;;;;;16373:1;16350:20;16360:9;;;;;;;;;;;16350;:20::i;:::-;:24;16307:67;:105;;;;;16411:1;16391:17;:21;16307:105;:138;;;;;16430:11;:15;16442:2;16430:15;;;;;;;;;;;;;;;;;;;;;;;;;16429:16;16307:138;:173;;;;;16463:11;:17;16475:4;16463:17;;;;;;;;;;;;;;;;;;;;;;;;;16462:18;16307:173;:205;;;;;16503:9;;;;;;;;;;;16497:15;;:2;:15;;;16307:205;:245;;;;;16529:23;16307:245;16303:296;;;16569:14;:12;:14::i;:::-;16303:296;16613:11;:17;16625:4;16613:17;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;16634:11;:15;16646:2;16634:15;;;;;;;;;;;;;;;;;;;;;;;;;16613:36;16609:1351;;;16681:1;16666:12;:16;;;;16711:1;16697:11;:15;;;;16742:1;16727:12;:16;;;;16769:47;16803:12;;16769:29;16786:11;;16769:12;;:16;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;16758:8;:58;;;;16609:1351;;;16861:9;;;;;;;;;;;16853:17;;:4;:17;;;16849:1100;;;16906:15;;16891:12;:30;;;;16954:14;;16940:11;:28;;;;17002:15;;16987:12;:30;;;;17047:56;17087:15;;17047:35;17067:14;;17047:15;;:19;;:35;;;;:::i;:::-;:39;;:56;;;;:::i;:::-;17036:8;:67;;;;16849:1100;;;17134:9;;;;;;;;;;;17128:15;;:2;:15;;;17124:825;;;17179:16;;17164:12;:31;;;;17228:15;;17214:11;:29;;;;17277:16;;17262:12;:31;;;;17323:59;17365:16;;17323:37;17344:15;;17323:16;;:20;;:37;;;;:::i;:::-;:41;;:59;;;;:::i;:::-;17312:8;:70;;;;17404:7;:13;17412:4;17404:13;;;;;;;;;;;;;;;;;;;;;;;;;:48;;;;;17437:15;17421:12;;:31;;17404:48;17401:270;;;17491:2;17476:12;:17;;;;17530:1;17516:11;:15;;;;17569:1;17554:12;:16;;;;17604:47;17638:12;;17604:29;17621:11;;17604:12;;:16;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;17593:8;:58;;;;17401:270;17124:825;;;17719:7;:13;17727:4;17719:13;;;;;;;;;;;;;;;;;;;;;;;;;17718:14;:49;;;;17752:15;17736:12;;:31;;17718:49;17710:119;;;;;;;;;;;;:::i;:::-;;;;;;;;;17863:1;17848:12;:16;;;;17897:1;17883:11;:15;;;;17932:1;17917:12;:16;;;;17124:825;16849:1100;16609:1351;17970:31;17984:4;17990:2;17994:6;17970:13;:31::i;:::-;15111:2898;;;15034:2975;;;:::o;1948:206::-;2034:7;2092:1;2087;:6;;2095:12;2079:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2134:1;2130;:5;2123:12;;1948:206;;;;;:::o;20382:1344::-;10578:4;10571;;:11;;;;;;;;;;;;;;;;;;20438:23:::1;20464:24;20482:4;20464:9;:24::i;:::-;20438:50;;20499:25;20527:56;20567:15;;20527:35;20547:14;;20527:15;;:19;;:35;;;;:::i;:::-;:39;;:56;;;;:::i;:::-;20499:84;;20594:27;20624:22;20644:1;20624:15;;:19;;:22;;;;:::i;:::-;20594:52;;20657:26;20686:40;20706:19;20686:15;:19;;:40;;;;:::i;:::-;20657:69;;20737:25;20765:21;20737:49;;20797:36;20814:18;20797:16;:36::i;:::-;20845:18;20866:44;20892:17;20866:21;:25;;:44;;;;:::i;:::-;20845:65;;20921:23;20947:54;20983:17;20947:31;20962:15;;20947:10;:14;;:31;;;;:::i;:::-;:35;;:54;;;;:::i;:::-;20921:80;;21012:22;21037:53;21072:17;21037:30;21052:14;;21037:10;:14;;:30;;;;:::i;:::-;:34;;:53;;;;:::i;:::-;21012:78;;21101:23;21127:51;21163:14;21127:31;21142:15;21127:10;:14;;:31;;;;:::i;:::-;:35;;:51;;;;:::i;:::-;21101:77;;21207:1;21189:15;:19;;;;21236:1;21219:14;:18;;;;21266:1;21248:15;:19;;;;21279:12;21304:16;;;;;;;;;;;21296:30;;21334:15;21296:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21278:76;;;21386:15;;;;;;;;;;;21378:29;;21415:14;21378:56;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21365:69;;;;;21467:1;21448:15;:20;;:48;;;;;21495:1;21472:19;:24;;21448:48;21445:130;;;21513:50;21526:19;21547:15;21513:12;:50::i;:::-;21445:130;21612:8;21588:21;:32;21585:134;;;21657:10;;;;;;;;;;;21649:24;;21681:21;21649:58;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21636:71;;;;;21585:134;20427:1299;;;;;;;;;;10612:5:::0;10605:4;;:12;;;;;;;;;;;;;;;;;;20382:1344::o;23027:647::-;23134:1;23122:8;;:13;23119:548;;23151:17;23171:20;23184:6;23171:12;:20::i;:::-;23151:40;;23206:22;23231:21;23242:9;23231:6;:10;;:21;;;;:::i;:::-;23206:46;;23267:25;23282:9;23267:14;:25::i;:::-;23327:6;23307:8;:16;23316:6;23307:16;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;23371:14;23348:8;:19;23357:9;23348:19;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;23427:9;23400:8;:23;23417:4;23400:23;;;;;;;;;;;;;;;;:36;;;;;;;:::i;:::-;;;;;;;;23473:9;23456:43;;23465:6;23456:43;;;23484:14;23456:43;;;;;;:::i;:::-;;;;;;;;23136:375;;23119:548;;;23550:6;23530:8;:16;23539:6;23530:16;;;;;;;;;;;;;;;;:26;;;;;;;:::i;:::-;;;;;;;;23594:6;23571:8;:19;23580:9;23571:19;;;;;;;;;;;;;;;;:29;;;;;;;:::i;:::-;;;;;;;;23637:9;23620:35;;23629:6;23620:35;;;23648:6;23620:35;;;;;;:::i;:::-;;;;;;;;23119:548;23027:647;;;:::o;1532:98::-;1590:7;1621:1;1617;:5;;;;:::i;:::-;1610:12;;1532:98;;;;:::o;21732:467::-;21799:21;21837:1;21823:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21799:40;;21868:4;21850;21855:1;21850:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;21894:11;;;;;;;;;;;:16;;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21884:4;21889:1;21884:7;;;;;;;;:::i;:::-;;;;;;;:28;;;;;;;;;;;21923:65;21947:4;21962:11;;;;;;;;;;;21976;21923:15;:65::i;:::-;21999:11;;;;;;;;;;;:62;;;22076:11;22102:1;22118:4;22145;22165:15;21999:192;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21788:411;21732:467;:::o;22580:164::-;22641:7;22668:68;22732:3;22668:59;22679:47;22713:12;;22679:29;22696:11;;22679:12;;:16;;:29;;;;:::i;:::-;:33;;:47;;;;:::i;:::-;22668:6;:10;;:59;;;;:::i;:::-;:63;;:68;;;;:::i;:::-;22661:75;;22580:164;;;:::o;22750:271::-;22832:41;22864:8;;22832:27;22846:12;;22832:9;:13;;:27;;;;:::i;:::-;:31;;:41;;;;:::i;:::-;22813:15;;:60;;;;;;;:::i;:::-;;;;;;;;22902:40;22933:8;;22902:26;22916:11;;22902:9;:13;;:26;;;;:::i;:::-;:30;;:40;;;;:::i;:::-;22884:14;;:58;;;;;;;:::i;:::-;;;;;;;;22972:41;23004:8;;22972:27;22986:12;;22972:9;:13;;:27;;;;:::i;:::-;:31;;:41;;;;:::i;:::-;22953:15;;:60;;;;;;;:::i;:::-;;;;;;;;22750:271;:::o;7:90:1:-;41:7;84:5;77:13;70:21;59:32;;7:90;;;:::o;103:109::-;184:21;199:5;184:21;:::i;:::-;179:3;172:34;103:109;;:::o;218:210::-;305:4;343:2;332:9;328:18;320:26;;356:65;418:1;407:9;403:17;394:6;356:65;:::i;:::-;218:210;;;;:::o;434:77::-;471:7;500:5;489:16;;434:77;;;:::o;517:118::-;604:24;622:5;604:24;:::i;:::-;599:3;592:37;517:118;;:::o;641:222::-;734:4;772:2;761:9;757:18;749:26;;785:71;853:1;842:9;838:17;829:6;785:71;:::i;:::-;641:222;;;;:::o;869:99::-;921:6;955:5;949:12;939:22;;869:99;;;:::o;974:169::-;1058:11;1092:6;1087:3;1080:19;1132:4;1127:3;1123:14;1108:29;;974:169;;;;:::o;1149:307::-;1217:1;1227:113;1241:6;1238:1;1235:13;1227:113;;;1326:1;1321:3;1317:11;1311:18;1307:1;1302:3;1298:11;1291:39;1263:2;1260:1;1256:10;1251:15;;1227:113;;;1358:6;1355:1;1352:13;1349:101;;;1438:1;1429:6;1424:3;1420:16;1413:27;1349:101;1198:258;1149:307;;;:::o;1462:102::-;1503:6;1554:2;1550:7;1545:2;1538:5;1534:14;1530:28;1520:38;;1462:102;;;:::o;1570:364::-;1658:3;1686:39;1719:5;1686:39;:::i;:::-;1741:71;1805:6;1800:3;1741:71;:::i;:::-;1734:78;;1821:52;1866:6;1861:3;1854:4;1847:5;1843:16;1821:52;:::i;:::-;1898:29;1920:6;1898:29;:::i;:::-;1893:3;1889:39;1882:46;;1662:272;1570:364;;;;:::o;1940:313::-;2053:4;2091:2;2080:9;2076:18;2068:26;;2140:9;2134:4;2130:20;2126:1;2115:9;2111:17;2104:47;2168:78;2241:4;2232:6;2168:78;:::i;:::-;2160:86;;1940:313;;;;:::o;2340:117::-;2449:1;2446;2439:12;2586:126;2623:7;2663:42;2656:5;2652:54;2641:65;;2586:126;;;:::o;2718:96::-;2755:7;2784:24;2802:5;2784:24;:::i;:::-;2773:35;;2718:96;;;:::o;2820:122::-;2893:24;2911:5;2893:24;:::i;:::-;2886:5;2883:35;2873:63;;2932:1;2929;2922:12;2873:63;2820:122;:::o;2948:139::-;2994:5;3032:6;3019:20;3010:29;;3048:33;3075:5;3048:33;:::i;:::-;2948:139;;;;:::o;3093:122::-;3166:24;3184:5;3166:24;:::i;:::-;3159:5;3156:35;3146:63;;3205:1;3202;3195:12;3146:63;3093:122;:::o;3221:139::-;3267:5;3305:6;3292:20;3283:29;;3321:33;3348:5;3321:33;:::i;:::-;3221:139;;;;:::o;3366:474::-;3434:6;3442;3491:2;3479:9;3470:7;3466:23;3462:32;3459:119;;;3497:79;;:::i;:::-;3459:119;3617:1;3642:53;3687:7;3678:6;3667:9;3663:22;3642:53;:::i;:::-;3632:63;;3588:117;3744:2;3770:53;3815:7;3806:6;3795:9;3791:22;3770:53;:::i;:::-;3760:63;;3715:118;3366:474;;;;;:::o;3846:116::-;3916:21;3931:5;3916:21;:::i;:::-;3909:5;3906:32;3896:60;;3952:1;3949;3942:12;3896:60;3846:116;:::o;3968:133::-;4011:5;4049:6;4036:20;4027:29;;4065:30;4089:5;4065:30;:::i;:::-;3968:133;;;;:::o;4107:468::-;4172:6;4180;4229:2;4217:9;4208:7;4204:23;4200:32;4197:119;;;4235:79;;:::i;:::-;4197:119;4355:1;4380:53;4425:7;4416:6;4405:9;4401:22;4380:53;:::i;:::-;4370:63;;4326:117;4482:2;4508:50;4550:7;4541:6;4530:9;4526:22;4508:50;:::i;:::-;4498:60;;4453:115;4107:468;;;;;:::o;4581:323::-;4637:6;4686:2;4674:9;4665:7;4661:23;4657:32;4654:119;;;4692:79;;:::i;:::-;4654:119;4812:1;4837:50;4879:7;4870:6;4859:9;4855:22;4837:50;:::i;:::-;4827:60;;4783:114;4581:323;;;;:::o;4910:329::-;4969:6;5018:2;5006:9;4997:7;4993:23;4989:32;4986:119;;;5024:79;;:::i;:::-;4986:119;5144:1;5169:53;5214:7;5205:6;5194:9;5190:22;5169:53;:::i;:::-;5159:63;;5115:117;4910:329;;;;:::o;5245:619::-;5322:6;5330;5338;5387:2;5375:9;5366:7;5362:23;5358:32;5355:119;;;5393:79;;:::i;:::-;5355:119;5513:1;5538:53;5583:7;5574:6;5563:9;5559:22;5538:53;:::i;:::-;5528:63;;5484:117;5640:2;5666:53;5711:7;5702:6;5691:9;5687:22;5666:53;:::i;:::-;5656:63;;5611:118;5768:2;5794:53;5839:7;5830:6;5819:9;5815:22;5794:53;:::i;:::-;5784:63;;5739:118;5245:619;;;;;:::o;5870:86::-;5905:7;5945:4;5938:5;5934:16;5923:27;;5870:86;;;:::o;5962:112::-;6045:22;6061:5;6045:22;:::i;:::-;6040:3;6033:35;5962:112;;:::o;6080:214::-;6169:4;6207:2;6196:9;6192:18;6184:26;;6220:67;6284:1;6273:9;6269:17;6260:6;6220:67;:::i;:::-;6080:214;;;;:::o;6300:474::-;6368:6;6376;6425:2;6413:9;6404:7;6400:23;6396:32;6393:119;;;6431:79;;:::i;:::-;6393:119;6551:1;6576:53;6621:7;6612:6;6601:9;6597:22;6576:53;:::i;:::-;6566:63;;6522:117;6678:2;6704:53;6749:7;6740:6;6729:9;6725:22;6704:53;:::i;:::-;6694:63;;6649:118;6300:474;;;;;:::o;6780:118::-;6867:24;6885:5;6867:24;:::i;:::-;6862:3;6855:37;6780:118;;:::o;6904:222::-;6997:4;7035:2;7024:9;7020:18;7012:26;;7048:71;7116:1;7105:9;7101:17;7092:6;7048:71;:::i;:::-;6904:222;;;;:::o;7132:60::-;7160:3;7181:5;7174:12;;7132:60;;;:::o;7198:142::-;7248:9;7281:53;7299:34;7308:24;7326:5;7308:24;:::i;:::-;7299:34;:::i;:::-;7281:53;:::i;:::-;7268:66;;7198:142;;;:::o;7346:126::-;7396:9;7429:37;7460:5;7429:37;:::i;:::-;7416:50;;7346:126;;;:::o;7478:152::-;7554:9;7587:37;7618:5;7587:37;:::i;:::-;7574:50;;7478:152;;;:::o;7636:183::-;7749:63;7806:5;7749:63;:::i;:::-;7744:3;7737:76;7636:183;;:::o;7825:274::-;7944:4;7982:2;7971:9;7967:18;7959:26;;7995:97;8089:1;8078:9;8074:17;8065:6;7995:97;:::i;:::-;7825:274;;;;:::o;8105:1057::-;8209:6;8217;8225;8233;8241;8249;8298:3;8286:9;8277:7;8273:23;8269:33;8266:120;;;8305:79;;:::i;:::-;8266:120;8425:1;8450:53;8495:7;8486:6;8475:9;8471:22;8450:53;:::i;:::-;8440:63;;8396:117;8552:2;8578:53;8623:7;8614:6;8603:9;8599:22;8578:53;:::i;:::-;8568:63;;8523:118;8680:2;8706:53;8751:7;8742:6;8731:9;8727:22;8706:53;:::i;:::-;8696:63;;8651:118;8808:2;8834:53;8879:7;8870:6;8859:9;8855:22;8834:53;:::i;:::-;8824:63;;8779:118;8936:3;8963:53;9008:7;8999:6;8988:9;8984:22;8963:53;:::i;:::-;8953:63;;8907:119;9065:3;9092:53;9137:7;9128:6;9117:9;9113:22;9092:53;:::i;:::-;9082:63;;9036:119;8105:1057;;;;;;;;:::o;9168:474::-;9236:6;9244;9293:2;9281:9;9272:7;9268:23;9264:32;9261:119;;;9299:79;;:::i;:::-;9261:119;9419:1;9444:53;9489:7;9480:6;9469:9;9465:22;9444:53;:::i;:::-;9434:63;;9390:117;9546:2;9572:53;9617:7;9608:6;9597:9;9593:22;9572:53;:::i;:::-;9562:63;;9517:118;9168:474;;;;;:::o;9648:227::-;9788:34;9784:1;9776:6;9772:14;9765:58;9857:10;9852:2;9844:6;9840:15;9833:35;9648:227;:::o;9881:366::-;10023:3;10044:67;10108:2;10103:3;10044:67;:::i;:::-;10037:74;;10120:93;10209:3;10120:93;:::i;:::-;10238:2;10233:3;10229:12;10222:19;;9881:366;;;:::o;10253:419::-;10419:4;10457:2;10446:9;10442:18;10434:26;;10506:9;10500:4;10496:20;10492:1;10481:9;10477:17;10470:47;10534:131;10660:4;10534:131;:::i;:::-;10526:139;;10253:419;;;:::o;10678:225::-;10818:34;10814:1;10806:6;10802:14;10795:58;10887:8;10882:2;10874:6;10870:15;10863:33;10678:225;:::o;10909:366::-;11051:3;11072:67;11136:2;11131:3;11072:67;:::i;:::-;11065:74;;11148:93;11237:3;11148:93;:::i;:::-;11266:2;11261:3;11257:12;11250:19;;10909:366;;;:::o;11281:419::-;11447:4;11485:2;11474:9;11470:18;11462:26;;11534:9;11528:4;11524:20;11520:1;11509:9;11505:17;11498:47;11562:131;11688:4;11562:131;:::i;:::-;11554:139;;11281:419;;;:::o;11706:224::-;11846:34;11842:1;11834:6;11830:14;11823:58;11915:7;11910:2;11902:6;11898:15;11891:32;11706:224;:::o;11936:366::-;12078:3;12099:67;12163:2;12158:3;12099:67;:::i;:::-;12092:74;;12175:93;12264:3;12175:93;:::i;:::-;12293:2;12288:3;12284:12;12277:19;;11936:366;;;:::o;12308:419::-;12474:4;12512:2;12501:9;12497:18;12489:26;;12561:9;12555:4;12551:20;12547:1;12536:9;12532:17;12525:47;12589:131;12715:4;12589:131;:::i;:::-;12581:139;;12308:419;;;:::o;12733:179::-;12873:31;12869:1;12861:6;12857:14;12850:55;12733:179;:::o;12918:366::-;13060:3;13081:67;13145:2;13140:3;13081:67;:::i;:::-;13074:74;;13157:93;13246:3;13157:93;:::i;:::-;13275:2;13270:3;13266:12;13259:19;;12918:366;;;:::o;13290:419::-;13456:4;13494:2;13483:9;13479:18;13471:26;;13543:9;13537:4;13533:20;13529:1;13518:9;13514:17;13507:47;13571:131;13697:4;13571:131;:::i;:::-;13563:139;;13290:419;;;:::o;13715:180::-;13763:77;13760:1;13753:88;13860:4;13857:1;13850:15;13884:4;13881:1;13874:15;13901:102;13943:8;13990:5;13987:1;13983:13;13962:34;;13901:102;;;:::o;14009:848::-;14070:5;14077:4;14101:6;14092:15;;14125:5;14116:14;;14139:712;14160:1;14150:8;14147:15;14139:712;;;14255:4;14250:3;14246:14;14240:4;14237:24;14234:50;;;14264:18;;:::i;:::-;14234:50;14314:1;14304:8;14300:16;14297:451;;;14729:4;14722:5;14718:16;14709:25;;14297:451;14779:4;14773;14769:15;14761:23;;14809:32;14832:8;14809:32;:::i;:::-;14797:44;;14139:712;;;14009:848;;;;;;;:::o;14863:1073::-;14917:5;15108:8;15098:40;;15129:1;15120:10;;15131:5;;15098:40;15157:4;15147:36;;15174:1;15165:10;;15176:5;;15147:36;15243:4;15291:1;15286:27;;;;15327:1;15322:191;;;;15236:277;;15286:27;15304:1;15295:10;;15306:5;;;15322:191;15367:3;15357:8;15354:17;15351:43;;;15374:18;;:::i;:::-;15351:43;15423:8;15420:1;15416:16;15407:25;;15458:3;15451:5;15448:14;15445:40;;;15465:18;;:::i;:::-;15445:40;15498:5;;;15236:277;;15622:2;15612:8;15609:16;15603:3;15597:4;15594:13;15590:36;15572:2;15562:8;15559:16;15554:2;15548:4;15545:12;15541:35;15525:111;15522:246;;;15678:8;15672:4;15668:19;15659:28;;15713:3;15706:5;15703:14;15700:40;;;15720:18;;:::i;:::-;15700:40;15753:5;;15522:246;15793:42;15831:3;15821:8;15815:4;15812:1;15793:42;:::i;:::-;15778:57;;;;15867:4;15862:3;15858:14;15851:5;15848:25;15845:51;;;15876:18;;:::i;:::-;15845:51;15925:4;15918:5;15914:16;15905:25;;14863:1073;;;;;;:::o;15942:281::-;16000:5;16024:23;16042:4;16024:23;:::i;:::-;16016:31;;16068:25;16084:8;16068:25;:::i;:::-;16056:37;;16112:104;16149:66;16139:8;16133:4;16112:104;:::i;:::-;16103:113;;15942:281;;;;:::o;16229:348::-;16269:7;16292:20;16310:1;16292:20;:::i;:::-;16287:25;;16326:20;16344:1;16326:20;:::i;:::-;16321:25;;16514:1;16446:66;16442:74;16439:1;16436:81;16431:1;16424:9;16417:17;16413:105;16410:131;;;16521:18;;:::i;:::-;16410:131;16569:1;16566;16562:9;16551:20;;16229:348;;;;:::o;16583:143::-;16640:5;16671:6;16665:13;16656:22;;16687:33;16714:5;16687:33;:::i;:::-;16583:143;;;;:::o;16732:351::-;16802:6;16851:2;16839:9;16830:7;16826:23;16822:32;16819:119;;;16857:79;;:::i;:::-;16819:119;16977:1;17002:64;17058:7;17049:6;17038:9;17034:22;17002:64;:::i;:::-;16992:74;;16948:128;16732:351;;;;:::o;17089:332::-;17210:4;17248:2;17237:9;17233:18;17225:26;;17261:71;17329:1;17318:9;17314:17;17305:6;17261:71;:::i;:::-;17342:72;17410:2;17399:9;17395:18;17386:6;17342:72;:::i;:::-;17089:332;;;;;:::o;17427:233::-;17567:34;17563:1;17555:6;17551:14;17544:58;17636:16;17631:2;17623:6;17619:15;17612:41;17427:233;:::o;17666:366::-;17808:3;17829:67;17893:2;17888:3;17829:67;:::i;:::-;17822:74;;17905:93;17994:3;17905:93;:::i;:::-;18023:2;18018:3;18014:12;18007:19;;17666:366;;;:::o;18038:419::-;18204:4;18242:2;18231:9;18227:18;18219:26;;18291:9;18285:4;18281:20;18277:1;18266:9;18262:17;18255:47;18319:131;18445:4;18319:131;:::i;:::-;18311:139;;18038:419;;;:::o;18463:178::-;18603:30;18599:1;18591:6;18587:14;18580:54;18463:178;:::o;18647:366::-;18789:3;18810:67;18874:2;18869:3;18810:67;:::i;:::-;18803:74;;18886:93;18975:3;18886:93;:::i;:::-;19004:2;18999:3;18995:12;18988:19;;18647:366;;;:::o;19019:419::-;19185:4;19223:2;19212:9;19208:18;19200:26;;19272:9;19266:4;19262:20;19258:1;19247:9;19243:17;19236:47;19300:131;19426:4;19300:131;:::i;:::-;19292:139;;19019:419;;;:::o;19444:229::-;19584:34;19580:1;19572:6;19568:14;19561:58;19653:12;19648:2;19640:6;19636:15;19629:37;19444:229;:::o;19679:366::-;19821:3;19842:67;19906:2;19901:3;19842:67;:::i;:::-;19835:74;;19918:93;20007:3;19918:93;:::i;:::-;20036:2;20031:3;20027:12;20020:19;;19679:366;;;:::o;20051:419::-;20217:4;20255:2;20244:9;20240:18;20232:26;;20304:9;20298:4;20294:20;20290:1;20279:9;20275:17;20268:47;20332:131;20458:4;20332:131;:::i;:::-;20324:139;;20051:419;;;:::o;20476:175::-;20616:27;20612:1;20604:6;20600:14;20593:51;20476:175;:::o;20657:366::-;20799:3;20820:67;20884:2;20879:3;20820:67;:::i;:::-;20813:74;;20896:93;20985:3;20896:93;:::i;:::-;21014:2;21009:3;21005:12;20998:19;;20657:366;;;:::o;21029:419::-;21195:4;21233:2;21222:9;21218:18;21210:26;;21282:9;21276:4;21272:20;21268:1;21257:9;21253:17;21246:47;21310:131;21436:4;21310:131;:::i;:::-;21302:139;;21029:419;;;:::o;21454:230::-;21594:34;21590:1;21582:6;21578:14;21571:58;21663:13;21658:2;21650:6;21646:15;21639:38;21454:230;:::o;21690:366::-;21832:3;21853:67;21917:2;21912:3;21853:67;:::i;:::-;21846:74;;21929:93;22018:3;21929:93;:::i;:::-;22047:2;22042:3;22038:12;22031:19;;21690:366;;;:::o;22062:419::-;22228:4;22266:2;22255:9;22251:18;22243:26;;22315:9;22309:4;22305:20;22301:1;22290:9;22286:17;22279:47;22343:131;22469:4;22343:131;:::i;:::-;22335:139;;22062:419;;;:::o;22487:147::-;22588:11;22625:3;22610:18;;22487:147;;;;:::o;22640:114::-;;:::o;22760:398::-;22919:3;22940:83;23021:1;23016:3;22940:83;:::i;:::-;22933:90;;23032:93;23121:3;23032:93;:::i;:::-;23150:1;23145:3;23141:11;23134:18;;22760:398;;;:::o;23164:379::-;23348:3;23370:147;23513:3;23370:147;:::i;:::-;23363:154;;23534:3;23527:10;;23164:379;;;:::o;23549:178::-;23689:30;23685:1;23677:6;23673:14;23666:54;23549:178;:::o;23733:366::-;23875:3;23896:67;23960:2;23955:3;23896:67;:::i;:::-;23889:74;;23972:93;24061:3;23972:93;:::i;:::-;24090:2;24085:3;24081:12;24074:19;;23733:366;;;:::o;24105:419::-;24271:4;24309:2;24298:9;24294:18;24286:26;;24358:9;24352:4;24348:20;24344:1;24333:9;24329:17;24322:47;24386:131;24512:4;24386:131;:::i;:::-;24378:139;;24105:419;;;:::o;24530:180::-;24578:77;24575:1;24568:88;24675:4;24672:1;24665:15;24699:4;24696:1;24689:15;24716:185;24756:1;24773:20;24791:1;24773:20;:::i;:::-;24768:25;;24807:20;24825:1;24807:20;:::i;:::-;24802:25;;24846:1;24836:35;;24851:18;;:::i;:::-;24836:35;24893:1;24890;24886:9;24881:14;;24716:185;;;;:::o;24907:305::-;24947:3;24966:20;24984:1;24966:20;:::i;:::-;24961:25;;25000:20;25018:1;25000:20;:::i;:::-;24995:25;;25154:1;25086:66;25082:74;25079:1;25076:81;25073:107;;;25160:18;;:::i;:::-;25073:107;25204:1;25201;25197:9;25190:16;;24907:305;;;;:::o;25218:85::-;25263:7;25292:5;25281:16;;25218:85;;;:::o;25309:158::-;25367:9;25400:61;25418:42;25427:32;25453:5;25427:32;:::i;:::-;25418:42;:::i;:::-;25400:61;:::i;:::-;25387:74;;25309:158;;;:::o;25473:147::-;25568:45;25607:5;25568:45;:::i;:::-;25563:3;25556:58;25473:147;;:::o;25626:134::-;25684:9;25717:37;25748:5;25717:37;:::i;:::-;25704:50;;25626:134;;;:::o;25766:147::-;25861:45;25900:5;25861:45;:::i;:::-;25856:3;25849:58;25766:147;;:::o;25919:823::-;26176:4;26214:3;26203:9;26199:19;26191:27;;26228:71;26296:1;26285:9;26281:17;26272:6;26228:71;:::i;:::-;26309:72;26377:2;26366:9;26362:18;26353:6;26309:72;:::i;:::-;26391:80;26467:2;26456:9;26452:18;26443:6;26391:80;:::i;:::-;26481;26557:2;26546:9;26542:18;26533:6;26481:80;:::i;:::-;26571:81;26647:3;26636:9;26632:19;26623:6;26571:81;:::i;:::-;26662:73;26730:3;26719:9;26715:19;26706:6;26662:73;:::i;:::-;25919:823;;;;;;;;;:::o;26748:143::-;26805:5;26836:6;26830:13;26821:22;;26852:33;26879:5;26852:33;:::i;:::-;26748:143;;;;:::o;26897:663::-;26985:6;26993;27001;27050:2;27038:9;27029:7;27025:23;27021:32;27018:119;;;27056:79;;:::i;:::-;27018:119;27176:1;27201:64;27257:7;27248:6;27237:9;27233:22;27201:64;:::i;:::-;27191:74;;27147:128;27314:2;27340:64;27396:7;27387:6;27376:9;27372:22;27340:64;:::i;:::-;27330:74;;27285:129;27453:2;27479:64;27535:7;27526:6;27515:9;27511:22;27479:64;:::i;:::-;27469:74;;27424:129;26897:663;;;;;:::o;27566:224::-;27706:34;27702:1;27694:6;27690:14;27683:58;27775:7;27770:2;27762:6;27758:15;27751:32;27566:224;:::o;27796:366::-;27938:3;27959:67;28023:2;28018:3;27959:67;:::i;:::-;27952:74;;28035:93;28124:3;28035:93;:::i;:::-;28153:2;28148:3;28144:12;28137:19;;27796:366;;;:::o;28168:419::-;28334:4;28372:2;28361:9;28357:18;28349:26;;28421:9;28415:4;28411:20;28407:1;28396:9;28392:17;28385:47;28449:131;28575:4;28449:131;:::i;:::-;28441:139;;28168:419;;;:::o;28593:222::-;28733:34;28729:1;28721:6;28717:14;28710:58;28802:5;28797:2;28789:6;28785:15;28778:30;28593:222;:::o;28821:366::-;28963:3;28984:67;29048:2;29043:3;28984:67;:::i;:::-;28977:74;;29060:93;29149:3;29060:93;:::i;:::-;29178:2;29173:3;29169:12;29162:19;;28821:366;;;:::o;29193:419::-;29359:4;29397:2;29386:9;29382:18;29374:26;;29446:9;29440:4;29436:20;29432:1;29421:9;29417:17;29410:47;29474:131;29600:4;29474:131;:::i;:::-;29466:139;;29193:419;;;:::o;29618:235::-;29758:34;29754:1;29746:6;29742:14;29735:58;29827:18;29822:2;29814:6;29810:15;29803:43;29618:235;:::o;29859:366::-;30001:3;30022:67;30086:2;30081:3;30022:67;:::i;:::-;30015:74;;30098:93;30187:3;30098:93;:::i;:::-;30216:2;30211:3;30207:12;30200:19;;29859:366;;;:::o;30231:419::-;30397:4;30435:2;30424:9;30420:18;30412:26;;30484:9;30478:4;30474:20;30470:1;30459:9;30455:17;30448:47;30512:131;30638:4;30512:131;:::i;:::-;30504:139;;30231:419;;;:::o;30656:182::-;30796:34;30792:1;30784:6;30780:14;30773:58;30656:182;:::o;30844:366::-;30986:3;31007:67;31071:2;31066:3;31007:67;:::i;:::-;31000:74;;31083:93;31172:3;31083:93;:::i;:::-;31201:2;31196:3;31192:12;31185:19;;30844:366;;;:::o;31216:419::-;31382:4;31420:2;31409:9;31405:18;31397:26;;31469:9;31463:4;31459:20;31455:1;31444:9;31440:17;31433:47;31497:131;31623:4;31497:131;:::i;:::-;31489:139;;31216:419;;;:::o;31641:179::-;31781:31;31777:1;31769:6;31765:14;31758:55;31641:179;:::o;31826:366::-;31968:3;31989:67;32053:2;32048:3;31989:67;:::i;:::-;31982:74;;32065:93;32154:3;32065:93;:::i;:::-;32183:2;32178:3;32174:12;32167:19;;31826:366;;;:::o;32198:419::-;32364:4;32402:2;32391:9;32387:18;32379:26;;32451:9;32445:4;32441:20;32437:1;32426:9;32422:17;32415:47;32479:131;32605:4;32479:131;:::i;:::-;32471:139;;32198:419;;;:::o;32623:233::-;32763:34;32759:1;32751:6;32747:14;32740:58;32832:16;32827:2;32819:6;32815:15;32808:41;32623:233;:::o;32862:366::-;33004:3;33025:67;33089:2;33084:3;33025:67;:::i;:::-;33018:74;;33101:93;33190:3;33101:93;:::i;:::-;33219:2;33214:3;33210:12;33203:19;;32862:366;;;:::o;33234:419::-;33400:4;33438:2;33427:9;33423:18;33415:26;;33487:9;33481:4;33477:20;33473:1;33462:9;33458:17;33451:47;33515:131;33641:4;33515:131;:::i;:::-;33507:139;;33234:419;;;:::o;33659:233::-;33698:3;33721:24;33739:5;33721:24;:::i;:::-;33712:33;;33767:66;33760:5;33757:77;33754:103;;;33837:18;;:::i;:::-;33754:103;33884:1;33877:5;33873:13;33866:20;;33659:233;;;:::o;33898:244::-;34038:34;34034:1;34026:6;34022:14;34015:58;34107:27;34102:2;34094:6;34090:15;34083:52;33898:244;:::o;34148:366::-;34290:3;34311:67;34375:2;34370:3;34311:67;:::i;:::-;34304:74;;34387:93;34476:3;34387:93;:::i;:::-;34505:2;34500:3;34496:12;34489:19;;34148:366;;;:::o;34520:419::-;34686:4;34724:2;34713:9;34709:18;34701:26;;34773:9;34767:4;34763:20;34759:1;34748:9;34744:17;34737:47;34801:131;34927:4;34801:131;:::i;:::-;34793:139;;34520:419;;;:::o;34945:191::-;34985:4;35005:20;35023:1;35005:20;:::i;:::-;35000:25;;35039:20;35057:1;35039:20;:::i;:::-;35034:25;;35078:1;35075;35072:8;35069:34;;;35083:18;;:::i;:::-;35069:34;35128:1;35125;35121:9;35113:17;;34945:191;;;;:::o;35142:180::-;35190:77;35187:1;35180:88;35287:4;35284:1;35277:15;35311:4;35308:1;35301:15;35328:180;35376:77;35373:1;35366:88;35473:4;35470:1;35463:15;35497:4;35494:1;35487:15;35514:114;35581:6;35615:5;35609:12;35599:22;;35514:114;;;:::o;35634:184::-;35733:11;35767:6;35762:3;35755:19;35807:4;35802:3;35798:14;35783:29;;35634:184;;;;:::o;35824:132::-;35891:4;35914:3;35906:11;;35944:4;35939:3;35935:14;35927:22;;35824:132;;;:::o;35962:108::-;36039:24;36057:5;36039:24;:::i;:::-;36034:3;36027:37;35962:108;;:::o;36076:179::-;36145:10;36166:46;36208:3;36200:6;36166:46;:::i;:::-;36244:4;36239:3;36235:14;36221:28;;36076:179;;;;:::o;36261:113::-;36331:4;36363;36358:3;36354:14;36346:22;;36261:113;;;:::o;36410:732::-;36529:3;36558:54;36606:5;36558:54;:::i;:::-;36628:86;36707:6;36702:3;36628:86;:::i;:::-;36621:93;;36738:56;36788:5;36738:56;:::i;:::-;36817:7;36848:1;36833:284;36858:6;36855:1;36852:13;36833:284;;;36934:6;36928:13;36961:63;37020:3;37005:13;36961:63;:::i;:::-;36954:70;;37047:60;37100:6;37047:60;:::i;:::-;37037:70;;36893:224;36880:1;36877;36873:9;36868:14;;36833:284;;;36837:14;37133:3;37126:10;;36534:608;;;36410:732;;;;:::o;37148:831::-;37411:4;37449:3;37438:9;37434:19;37426:27;;37463:71;37531:1;37520:9;37516:17;37507:6;37463:71;:::i;:::-;37544:80;37620:2;37609:9;37605:18;37596:6;37544:80;:::i;:::-;37671:9;37665:4;37661:20;37656:2;37645:9;37641:18;37634:48;37699:108;37802:4;37793:6;37699:108;:::i;:::-;37691:116;;37817:72;37885:2;37874:9;37870:18;37861:6;37817:72;:::i;:::-;37899:73;37967:3;37956:9;37952:19;37943:6;37899:73;:::i;:::-;37148:831;;;;;;;;:::o

Swarm Source

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