ETH Price: $3,601.42 (+9.10%)

Token

Toshogu Dragon (TOSHOGU)
 

Overview

Max Total Supply

1,000,000,000 TOSHOGU

Holders

170

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
100,000 TOSHOGU

Value
$0.00
0xa70f6a79ff50ac6a2df64463d2984b60e19e7fd7
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:
ToshoguDragon

Compiler Version
v0.8.17+commit.8df45f5f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-09-11
*/

/*

████████╗░█████╗░░██████╗██╗░░██╗░█████╗░░██████╗░██╗░░░██╗    ██████╗░██████╗░░█████╗░░██████╗░░█████╗░███╗░░██╗
╚══██╔══╝██╔══██╗██╔════╝██║░░██║██╔══██╗██╔════╝░██║░░░██║    ██╔══██╗██╔══██╗██╔══██╗██╔════╝░██╔══██╗████╗░██║
░░░██║░░░██║░░██║╚█████╗░███████║██║░░██║██║░░██╗░██║░░░██║    ██║░░██║██████╔╝███████║██║░░██╗░██║░░██║██╔██╗██║
░░░██║░░░██║░░██║░╚═══██╗██╔══██║██║░░██║██║░░╚██╗██║░░░██║    ██║░░██║██╔══██╗██╔══██║██║░░╚██╗██║░░██║██║╚████║
░░░██║░░░╚█████╔╝██████╔╝██║░░██║╚█████╔╝╚██████╔╝╚██████╔╝    ██████╔╝██║░░██║██║░░██║╚██████╔╝╚█████╔╝██║░╚███║
░░░╚═╝░░░░╚════╝░╚═════╝░╚═╝░░╚═╝░╚════╝░░╚═════╝░░╚═════╝░    ╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝░╚═════╝░░╚════╝░╚═╝░░╚══╝

*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Ownable {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender) , "!Owner"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ToshoguDragon is ERC20, Ownable {
    using SafeMath for uint256;
    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    struct TaxWallets {
        address marketing;
        address poolStaking;
        address buyback;
        address addLp;
    }

    struct FeesBuy {
        uint marketing;
        uint poolStaking;
        uint buyback;
        uint addLp;
        uint totalFee;
    }

    struct FeesSell {
        uint marketing;
        uint poolStaking;
        uint buyback;
        uint addLp;
        uint totalFee;
    }

    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "Toshogu Dragon";
    string constant _symbol = "TOSHOGU";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 1 * 10**9 * (10 ** _decimals);
    uint256 public _maxWalletAmount = _totalSupply.mul(10).div(1000);
    uint256 public _maxWhitelistWalletAmount = _totalSupply.mul(5).div(1000);
    uint256 public _maxTx = _totalSupply.mul(10).div(1000);

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

    mapping (address => bool) isWhitelist;
    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    TaxWallets public _taxWallet = TaxWallets ({
        marketing: 0x3cC024e7B52Ca28ab24e0869F5917fa4B7255C64,
        poolStaking: 0x3cC024e7B52Ca28ab24e0869F5917fa4B7255C64,
        buyback: 0x34DA571a302Ff717A4126738e1b43AE013BFd5B7,
        addLp: 0x34DA571a302Ff717A4126738e1b43AE013BFd5B7
    });

    FeesBuy public _feeBuy = FeesBuy ({
        marketing: 1,
        poolStaking: 1,
        buyback: 1,
        addLp: 1,
        totalFee: 4
    });

    FeesSell public _feeSell = FeesSell ({
        marketing: 1,
        poolStaking: 1,
        buyback: 1,
        addLp: 1,
        totalFee: 4
    });

    uint256 feeDenominator = 100;

    IUniswapV2Router02 public router;
    address public pair;

    bool public swapEnabled = false;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IUniswapV2Router02(routerAdress);
        pair = IUniswapV2Factory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[_owner] = true;
        isFeeExempt[_taxWallet.marketing] = true;
        isFeeExempt[_taxWallet.poolStaking] = true;
        isFeeExempt[_taxWallet.buyback] = true;
        isFeeExempt[_taxWallet.addLp] = true;

        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[DEAD] = true;

        isTxLimitExempt[_taxWallet.marketing] = true;
        isTxLimitExempt[_taxWallet.poolStaking] = true;
        isTxLimitExempt[_taxWallet.buyback] = true;
        isTxLimitExempt[_taxWallet.addLp] = true;
        isTxLimitExempt[pair] = true;

        isWhitelist[_owner] = true;
        isWhitelist[_taxWallet.marketing] = true;
        isWhitelist[_taxWallet.poolStaking] = true;
        isWhitelist[_taxWallet.buyback] = true;
        isWhitelist[_taxWallet.addLp] = true;

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (!swapEnabled && sender == pair && !isWhitelist[recipient]) {
            return false;
        }

        if (!isTxLimitExempt[sender] && (recipient == pair || sender == pair)) {
            require(amount <= _maxTx, "Buy/Sell exceeds the max tx");
        }

        if (recipient != pair && isWhitelist[recipient]) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWhitelistWalletAmount, "Transfer amount exceeds the bag size.");
        }

        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (shouldTakeFee(sender) && shouldTakeFee(recipient)) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

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

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = 0;
        if (sender == pair && _feeBuy.totalFee != 0) {           // Buy
            feeAmount = amount.mul(_feeBuy.totalFee).div(feeDenominator);
            _balances[_taxWallet.marketing] = _balances[_taxWallet.marketing].add(feeAmount.mul(_feeBuy.marketing).div(_feeBuy.totalFee));
            _balances[_taxWallet.poolStaking] = _balances[_taxWallet.poolStaking].add(feeAmount.mul(_feeBuy.poolStaking).div(_feeBuy.totalFee));
            _balances[_taxWallet.buyback] = _balances[_taxWallet.buyback].add(feeAmount.mul(_feeBuy.buyback).div(_feeBuy.totalFee));
            _balances[_taxWallet.addLp] = _balances[_taxWallet.addLp].add(feeAmount.mul(_feeBuy.addLp).div(_feeBuy.totalFee));
        } else if (recipient == pair && _feeSell.totalFee != 0) { // Sell
            feeAmount = amount.mul(_feeSell.totalFee).div(feeDenominator);
            _balances[_taxWallet.marketing] = _balances[_taxWallet.marketing].add(feeAmount.mul(_feeSell.marketing).div(_feeSell.totalFee));
            _balances[_taxWallet.poolStaking] = _balances[_taxWallet.poolStaking].add(feeAmount.mul(_feeSell.poolStaking).div(_feeSell.totalFee));
            _balances[_taxWallet.buyback] = _balances[_taxWallet.buyback].add(feeAmount.mul(_feeSell.buyback).div(_feeSell.totalFee));
            _balances[_taxWallet.addLp] = _balances[_taxWallet.addLp].add(feeAmount.mul(_feeSell.addLp).div(_feeSell.totalFee));
        }
        return amount.sub(feeAmount);
    }

    function setFeeSell(uint256 _marketing, uint256 _poolStaking, uint256 _buyback, uint256 _addLp) external onlyOwner{
        _feeSell.marketing = _marketing; 
        _feeSell.poolStaking = _poolStaking;
        _feeSell.buyback = _buyback;
        _feeSell.addLp = _addLp;
        _feeSell.totalFee = _marketing.add(_poolStaking).add(_buyback).add(_addLp);
    }

    function setFeeBuy(uint256 _marketing, uint256 _poolStaking, uint256 _buyback, uint256 _addLp) external onlyOwner{
        _feeBuy.marketing = _marketing; 
        _feeBuy.poolStaking = _poolStaking;
        _feeBuy.buyback = _buyback;
        _feeBuy.addLp = _addLp;
        _feeBuy.totalFee = _marketing.add(_poolStaking).add(_buyback).add(_addLp);
    }       

    function updateTaxWallets(address _marketing, address _poolStaking, address _buyback, address _addLp) external onlyOwner{
        _taxWallet.marketing = _marketing; 
        _taxWallet.poolStaking = _poolStaking;
        _taxWallet.buyback = _buyback;
        _taxWallet.addLp = _addLp;
    }

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function setFeeExempt(address adr, bool _isFeeExempt) external onlyOwner{
        isFeeExempt[adr] = _isFeeExempt; 
    }

    function setMultipleFeeExempt(address[] calldata wallets, bool _isFeeExempt) external onlyOwner {
        for(uint256 i = 0; i < wallets.length; i++) {
            isFeeExempt[wallets[i]] = _isFeeExempt;
        }
    }
    
    function setWhitelist(address[] memory adr, bool _isWhitelist) external onlyOwner{
        for (uint256 i = 0; i < adr.length; i++) {
            isWhitelist[adr[i]] = _isWhitelist; 
        }
    }

    function setLegitAmount(uint256 _walletLimitPercent, uint256 _walletWhitelistLimitPercent, uint256 _maxTxPercent)  external onlyOwner {
        require(_walletLimitPercent >= 1,"wallet limit mush be not less than 0.1 percent");
        require(_walletWhitelistLimitPercent >= 1,"whitelist wallet limit mush be not less than 0.1 percent");
        require(_maxTxPercent >= 1, "Max tx amount must not be less than 0.1 percent");

        _maxWalletAmount = (_totalSupply * _walletLimitPercent ) / 1000;
        _maxWhitelistWalletAmount = (_totalSupply * _walletWhitelistLimitPercent ) / 1000;
        _maxTx = _totalSupply.mul(_maxTxPercent).div(1000);
    }

    function setTxLimitExempt(address adr, bool _isTxLimitExempt) external onlyOwner{
        isTxLimitExempt[adr] = _isTxLimitExempt;
    }

    //Using to enable Swap, only one time
    function enableSwap() external onlyOwner{
        swapEnabled = true;
    }

    //Using when token is stuck in contract
    function clearToken() external {
        uint256 contractTokenBalance = _balances[address(this)];
        _balances[_taxWallet.marketing] = _balances[_taxWallet.marketing].add(contractTokenBalance);
        _balances[address(this)] = 0;
    }

    //Using when ETH is stuck in contract
    function clearETH() external {
         payable(_taxWallet.marketing).transfer(address(this).balance);
    }

    receive() external payable { }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","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":"_feeBuy","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"poolStaking","type":"uint256"},{"internalType":"uint256","name":"buyback","type":"uint256"},{"internalType":"uint256","name":"addLp","type":"uint256"},{"internalType":"uint256","name":"totalFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_feeSell","outputs":[{"internalType":"uint256","name":"marketing","type":"uint256"},{"internalType":"uint256","name":"poolStaking","type":"uint256"},{"internalType":"uint256","name":"buyback","type":"uint256"},{"internalType":"uint256","name":"addLp","type":"uint256"},{"internalType":"uint256","name":"totalFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTx","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWhitelistWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxWallet","outputs":[{"internalType":"address","name":"marketing","type":"address"},{"internalType":"address","name":"poolStaking","type":"address"},{"internalType":"address","name":"buyback","type":"address"},{"internalType":"address","name":"addLp","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"enableSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","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":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_poolStaking","type":"uint256"},{"internalType":"uint256","name":"_buyback","type":"uint256"},{"internalType":"uint256","name":"_addLp","type":"uint256"}],"name":"setFeeBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"},{"internalType":"bool","name":"_isFeeExempt","type":"bool"}],"name":"setFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_poolStaking","type":"uint256"},{"internalType":"uint256","name":"_buyback","type":"uint256"},{"internalType":"uint256","name":"_addLp","type":"uint256"}],"name":"setFeeSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_walletLimitPercent","type":"uint256"},{"internalType":"uint256","name":"_walletWhitelistLimitPercent","type":"uint256"},{"internalType":"uint256","name":"_maxTxPercent","type":"uint256"}],"name":"setLegitAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"wallets","type":"address[]"},{"internalType":"bool","name":"_isFeeExempt","type":"bool"}],"name":"setMultipleFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"adr","type":"address"},{"internalType":"bool","name":"_isTxLimitExempt","type":"bool"}],"name":"setTxLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"adr","type":"address[]"},{"internalType":"bool","name":"_isWhitelist","type":"bool"}],"name":"setWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_poolStaking","type":"address"},{"internalType":"address","name":"_buyback","type":"address"},{"internalType":"address","name":"_addLp","type":"address"}],"name":"updateTaxWallets","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052737a250d5630b4cf539739df2c5dacb4c659f2488d600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061dead600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620000ac919062001329565b633b9aca00620000bd91906200137a565b600355620000f86103e8620000e4600a6003546200105260201b620018871790919060201c565b620010d560201b620019011790919060201c565b600455620001336103e86200011f60056003546200105260201b620018871790919060201c565b620010d560201b620019011790919060201c565b6005556200016e6103e86200015a600a6003546200105260201b620018871790919060201c565b620010d560201b620019011790919060201c565b6006556040518060800160405280733cc024e7b52ca28ab24e0869f5917fa4b7255c6473ffffffffffffffffffffffffffffffffffffffff168152602001733cc024e7b52ca28ab24e0869f5917fa4b7255c6473ffffffffffffffffffffffffffffffffffffffff1681526020017334da571a302ff717a4126738e1b43ae013bfd5b773ffffffffffffffffffffffffffffffffffffffff1681526020017334da571a302ff717a4126738e1b43ae013bfd5b773ffffffffffffffffffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060608201518160030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506040518060a001604052806001815260200160018152602001600181526020016001815260200160048152506010600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015550506040518060a001604052806001815260200160018152602001600181526020016001815260200160048152506015600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015550506064601a556000601c60146101000a81548160ff0219169083151502179055503480156200044b57600080fd5b5033806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16601b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200055f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200058591906200142f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200063491906200142f565b306040518363ffffffff1660e01b81526004016200065492919062001472565b6020604051808303816000875af115801562000674573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200069a91906200142f565b601c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506001600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600b6000601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160096000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600354600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620010439190620014b0565b60405180910390a3506200168a565b6000808303620010665760009050620010cf565b600082846200107691906200137a565b9050828482620010879190620014fc565b14620010ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620010c190620015bb565b60405180910390fd5b809150505b92915050565b60006200111f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200112760201b60201c565b905092915050565b6000808311829062001171576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162001168919062001666565b60405180910390fd5b5060008385620011829190620014fc565b9050809150509392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200121d57808604811115620011f557620011f46200118f565b5b6001851615620012055780820291505b80810290506200121585620011be565b9450620011d5565b94509492505050565b6000826200123857600190506200130b565b816200124857600090506200130b565b81600181146200126157600281146200126c57620012a2565b60019150506200130b565b60ff8411156200128157620012806200118f565b5b8360020a9150848211156200129b576200129a6200118f565b5b506200130b565b5060208310610133831016604e8410600b8410161715620012dc5782820a905083811115620012d657620012d56200118f565b5b6200130b565b620012eb8484846001620011cb565b925090508184048111156200130557620013046200118f565b5b81810290505b9392505050565b6000819050919050565b600060ff82169050919050565b6000620013368262001312565b915062001343836200131c565b9250620013727fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001226565b905092915050565b6000620013878262001312565b9150620013948362001312565b9250828202620013a48162001312565b91508282048414831517620013be57620013bd6200118f565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620013f782620013ca565b9050919050565b6200140981620013ea565b81146200141557600080fd5b50565b6000815190506200142981620013fe565b92915050565b600060208284031215620014485762001447620013c5565b5b6000620014588482850162001418565b91505092915050565b6200146c81620013ea565b82525050565b600060408201905062001489600083018562001461565b62001498602083018462001461565b9392505050565b620014aa8162001312565b82525050565b6000602082019050620014c760008301846200149f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620015098262001312565b9150620015168362001312565b925082620015295762001528620014cd565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000620015a360218362001534565b9150620015b08262001545565b604082019050919050565b60006020820190508181036000830152620015d68162001594565b9050919050565b600081519050919050565b60005b8381101562001608578082015181840152602081019050620015eb565b60008484015250505050565b6000601f19601f8301169050919050565b60006200163282620015dd565b6200163e818562001534565b935062001650818560208601620015e8565b6200165b8162001614565b840191505092915050565b6000602082019050818103600083015262001682818462001625565b905092915050565b613c2d806200169a6000396000f3fe6080604052600436106101f25760003560e01c80636c0a24eb1161010d5780638ebfc796116100a0578063a9059cbb1161006f578063a9059cbb146106bb578063b9f8d0d7146106f8578063dd62ed3e14610721578063f4a3ff3d1461075e578063f887ea4014610787576101f9565b80638ebfc7961461061357806395d89b411461063c578063a11cba1714610667578063a8aa1b3114610690576101f9565b8063715018a6116100dc578063715018a61461057d5780637830b07214610594578063893d20e8146105bf5780638d7a8ba7146105ea576101f9565b80636c0a24eb146104bc5780636ddd1713146104e75780636f268a991461051257806370a0823114610540576101f9565b80632f54bf6e11610185578063411adcb611610154578063411adcb614610410578063571ac8b01461043f5780635d2821ae1461047c578063616eb638146104a5576101f9565b80632f54bf6e14610368578063313ce567146103a557806335bff1af146103d05780633c271a05146103e7576101f9565b80631e62d524116101c15780631e62d524146102ba57806323b872dd146102e957806329691448146103265780632bda50041461033d576101f9565b806306fdde03146101fe578063095ea7b3146102295780630cefb76f1461026657806318160ddd1461028f576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b2565b6040516102209190612ea0565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190612f6a565b6107ef565b60405161025d9190612fc5565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190613071565b6108e1565b005b34801561029b57600080fd5b506102a46109ce565b6040516102b191906130e0565b60405180910390f35b3480156102c657600080fd5b506102cf6109d8565b6040516102e09594939291906130fb565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b919061314e565b6109fc565b60405161031d9190612fc5565b60405180910390f35b34801561033257600080fd5b5061033b610bfc565b005b34801561034957600080fd5b50610352610c61565b60405161035f91906130e0565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906131a1565b610c67565b60405161039c9190612fc5565b60405180910390f35b3480156103b157600080fd5b506103ba610cc0565b6040516103c791906131ea565b60405180910390f35b3480156103dc57600080fd5b506103e5610cc9565b005b3480156103f357600080fd5b5061040e60048036038101906104099190613343565b610e34565b005b34801561041c57600080fd5b50610425610f11565b6040516104369594939291906130fb565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906131a1565b610f35565b6040516104739190612fc5565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e919061339f565b610f68565b005b3480156104b157600080fd5b506104ba6110c6565b005b3480156104c857600080fd5b506104d1611134565b6040516104de91906130e0565b60405180910390f35b3480156104f357600080fd5b506104fc61113a565b6040516105099190612fc5565b60405180910390f35b34801561051e57600080fd5b5061052761114d565b6040516105379493929190613415565b60405180910390f35b34801561054c57600080fd5b50610567600480360381019061056291906131a1565b6111eb565b60405161057491906130e0565b60405180910390f35b34801561058957600080fd5b50610592611234565b005b3480156105a057600080fd5b506105a96112f7565b6040516105b691906130e0565b60405180910390f35b3480156105cb57600080fd5b506105d46112fd565b6040516105e1919061345a565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190613475565b611326565b005b34801561061f57600080fd5b5061063a60048036038101906106359190613475565b6113c9565b005b34801561064857600080fd5b5061065161146c565b60405161065e9190612ea0565b60405180910390f35b34801561067357600080fd5b5061068e600480360381019061068991906134b5565b6114a9565b005b34801561069c57600080fd5b506106a5611633565b6040516106b2919061345a565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd9190612f6a565b611659565b6040516106ef9190612fc5565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a9190613508565b61166e565b005b34801561072d57600080fd5b506107486004803603810190610743919061356f565b611724565b60405161075591906130e0565b60405180910390f35b34801561076a57600080fd5b5061078560048036038101906107809190613508565b6117ab565b005b34801561079357600080fd5b5061079c611861565b6040516107a9919061360e565b60405180910390f35b60606040518060400160405280600e81526020017f546f73686f677520447261676f6e000000000000000000000000000000000000815250905090565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108cf91906130e0565b60405180910390a36001905092915050565b6108ea33610c67565b610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090613675565b60405180910390fd5b60005b838390508110156109c85781600a600086868581811061094f5761094e613695565b5b905060200201602081019061096491906131a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109c0906136f3565b91505061092c565b50505050565b6000600354905090565b60108060000154908060010154908060020154908060030154908060040154905085565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610be857610b67826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194b9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610bf38484846119af565b90509392505050565b610c0533610c67565b610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b90613675565b60405180910390fd5b6001601c60146101000a81548160ff021916908315150217905550565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610d848160076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b610e3d33610c67565b610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390613675565b60405180910390fd5b60005b8251811015610f0c578160096000858481518110610ea057610e9f613695565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f04906136f3565b915050610e7f565b505050565b60158060000154908060010154908060020154908060030154908060040154905085565b6000610f61827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107ef565b9050919050565b610f7133610c67565b610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790613675565b60405180910390fd5b83600c60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c60020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611131573d6000803e3d6000fd5b50565b60045481565b601c60149054906101000a900460ff1681565b600c8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61123d33610c67565b61127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390613675565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516112ed919061345a565b60405180910390a1565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61132f33610c67565b61136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590613675565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6113d233610c67565b611411576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140890613675565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60606040518060400160405280600781526020017f544f53484f475500000000000000000000000000000000000000000000000000815250905090565b6114b233610c67565b6114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e890613675565b60405180910390fd5b6001831015611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c906137ad565b60405180910390fd5b6001821015611579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115709061383f565b60405180910390fd5b60018110156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b4906138d1565b60405180910390fd5b6103e8836003546115ce91906138f1565b6115d89190613962565b6004819055506103e8826003546115ef91906138f1565b6115f99190613962565b6005819055506116286103e861161a8360035461188790919063ffffffff16565b61190190919063ffffffff16565b600681905550505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116663384846119af565b905092915050565b61167733610c67565b6116b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ad90613675565b60405180910390fd5b8360156000018190555082601560010181905550816015600201819055508060156003018190555061171581611707846116f9878961211c90919063ffffffff16565b61211c90919063ffffffff16565b61211c90919063ffffffff16565b60156004018190555050505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117b433610c67565b6117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea90613675565b60405180910390fd5b836010600001819055508260106001018190555081601060020181905550806010600301819055506118528161184484611836878961211c90919063ffffffff16565b61211c90919063ffffffff16565b61211c90919063ffffffff16565b60106004018190555050505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080830361189957600090506118fb565b600082846118a791906138f1565b90508284826118b69190613962565b146118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613a05565b60405180910390fd5b809150505b92915050565b600061194383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061217a565b905092915050565b6000838311158290611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a9190612ea0565b60405180910390fd5b50600083856119a29190613a25565b9050809150509392505050565b6000601c60159054906101000a900460ff16156119d8576119d18484846121dd565b9050612115565b601c60149054906101000a900460ff16158015611a425750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a985750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa65760009050612115565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ba55750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611ba45750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b5b15611bf057600654821115611bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be690613aa5565b60405180910390fd5b5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c975750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d8057600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d40575060055482600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3d9190613ac5565b11155b611d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7690613b6b565b60405180910390fd5b5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e2c5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f1557600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ed5575060045482600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed29190613ac5565b11155b611f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0b90613b6b565b60405180910390fd5b5b611f9e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611fec856123b0565b8015611ffd5750611ffc846123b0565b5b6120075782612013565b612012858585612407565b5b905061206781600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210791906130e0565b60405180910390a360019150505b9392505050565b600080828461212b9190613ac5565b905083811015612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790613bd7565b60405180910390fd5b8091505092915050565b600080831182906121c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b89190612ea0565b60405180910390fd5b50600083856121d09190613962565b9050809150509392505050565b6000612268826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122fd82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161239d91906130e0565b60405180910390a3600190509392505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008060009050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156124715750600060106004015414155b156128dd576124a2601a546124946010600401548661188790919063ffffffff16565b61190190919063ffffffff16565b90506125496124d66010600401546124c86010600001548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126566125e36010600401546125d56010600101548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127636126f06010600401546126e26010600201548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128706127fd6010600401546127ef6010600301548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612da9565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156129405750600060156004015414155b15612da857612971601a546129636015600401548661188790919063ffffffff16565b61190190919063ffffffff16565b9050612a186129a56015600401546129976015600001548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b25612ab2601560040154612aa46015600101548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c32612bbf601560040154612bb16015600201548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d3f612ccc601560040154612cbe6015600301548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b612dbc8184612dc690919063ffffffff16565b9150509392505050565b6000612e0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061194b565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e4a578082015181840152602081019050612e2f565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e7282612e10565b612e7c8185612e1b565b9350612e8c818560208601612e2c565b612e9581612e56565b840191505092915050565b60006020820190508181036000830152612eba8184612e67565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f0182612ed6565b9050919050565b612f1181612ef6565b8114612f1c57600080fd5b50565b600081359050612f2e81612f08565b92915050565b6000819050919050565b612f4781612f34565b8114612f5257600080fd5b50565b600081359050612f6481612f3e565b92915050565b60008060408385031215612f8157612f80612ecc565b5b6000612f8f85828601612f1f565b9250506020612fa085828601612f55565b9150509250929050565b60008115159050919050565b612fbf81612faa565b82525050565b6000602082019050612fda6000830184612fb6565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261300557613004612fe0565b5b8235905067ffffffffffffffff81111561302257613021612fe5565b5b60208301915083602082028301111561303e5761303d612fea565b5b9250929050565b61304e81612faa565b811461305957600080fd5b50565b60008135905061306b81613045565b92915050565b60008060006040848603121561308a57613089612ecc565b5b600084013567ffffffffffffffff8111156130a8576130a7612ed1565b5b6130b486828701612fef565b935093505060206130c78682870161305c565b9150509250925092565b6130da81612f34565b82525050565b60006020820190506130f560008301846130d1565b92915050565b600060a08201905061311060008301886130d1565b61311d60208301876130d1565b61312a60408301866130d1565b61313760608301856130d1565b61314460808301846130d1565b9695505050505050565b60008060006060848603121561316757613166612ecc565b5b600061317586828701612f1f565b935050602061318686828701612f1f565b925050604061319786828701612f55565b9150509250925092565b6000602082840312156131b7576131b6612ecc565b5b60006131c584828501612f1f565b91505092915050565b600060ff82169050919050565b6131e4816131ce565b82525050565b60006020820190506131ff60008301846131db565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61323d82612e56565b810181811067ffffffffffffffff8211171561325c5761325b613205565b5b80604052505050565b600061326f612ec2565b905061327b8282613234565b919050565b600067ffffffffffffffff82111561329b5761329a613205565b5b602082029050602081019050919050565b60006132bf6132ba84613280565b613265565b905080838252602082019050602084028301858111156132e2576132e1612fea565b5b835b8181101561330b57806132f78882612f1f565b8452602084019350506020810190506132e4565b5050509392505050565b600082601f83011261332a57613329612fe0565b5b813561333a8482602086016132ac565b91505092915050565b6000806040838503121561335a57613359612ecc565b5b600083013567ffffffffffffffff81111561337857613377612ed1565b5b61338485828601613315565b92505060206133958582860161305c565b9150509250929050565b600080600080608085870312156133b9576133b8612ecc565b5b60006133c787828801612f1f565b94505060206133d887828801612f1f565b93505060406133e987828801612f1f565b92505060606133fa87828801612f1f565b91505092959194509250565b61340f81612ef6565b82525050565b600060808201905061342a6000830187613406565b6134376020830186613406565b6134446040830185613406565b6134516060830184613406565b95945050505050565b600060208201905061346f6000830184613406565b92915050565b6000806040838503121561348c5761348b612ecc565b5b600061349a85828601612f1f565b92505060206134ab8582860161305c565b9150509250929050565b6000806000606084860312156134ce576134cd612ecc565b5b60006134dc86828701612f55565b93505060206134ed86828701612f55565b92505060406134fe86828701612f55565b9150509250925092565b6000806000806080858703121561352257613521612ecc565b5b600061353087828801612f55565b945050602061354187828801612f55565b935050604061355287828801612f55565b925050606061356387828801612f55565b91505092959194509250565b6000806040838503121561358657613585612ecc565b5b600061359485828601612f1f565b92505060206135a585828601612f1f565b9150509250929050565b6000819050919050565b60006135d46135cf6135ca84612ed6565b6135af565b612ed6565b9050919050565b60006135e6826135b9565b9050919050565b60006135f8826135db565b9050919050565b613608816135ed565b82525050565b600060208201905061362360008301846135ff565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b600061365f600683612e1b565b915061366a82613629565b602082019050919050565b6000602082019050818103600083015261368e81613652565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136fe82612f34565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036137305761372f6136c4565b5b600182019050919050565b7f77616c6c6574206c696d6974206d757368206265206e6f74206c65737320746860008201527f616e20302e312070657263656e74000000000000000000000000000000000000602082015250565b6000613797602e83612e1b565b91506137a28261373b565b604082019050919050565b600060208201905081810360008301526137c68161378a565b9050919050565b7f77686974656c6973742077616c6c6574206c696d6974206d757368206265206e60008201527f6f74206c657373207468616e20302e312070657263656e740000000000000000602082015250565b6000613829603883612e1b565b9150613834826137cd565b604082019050919050565b600060208201905081810360008301526138588161381c565b9050919050565b7f4d617820747820616d6f756e74206d757374206e6f74206265206c657373207460008201527f68616e20302e312070657263656e740000000000000000000000000000000000602082015250565b60006138bb602f83612e1b565b91506138c68261385f565b604082019050919050565b600060208201905081810360008301526138ea816138ae565b9050919050565b60006138fc82612f34565b915061390783612f34565b925082820261391581612f34565b9150828204841483151761392c5761392b6136c4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061396d82612f34565b915061397883612f34565b92508261398857613987613933565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006139ef602183612e1b565b91506139fa82613993565b604082019050919050565b60006020820190508181036000830152613a1e816139e2565b9050919050565b6000613a3082612f34565b9150613a3b83612f34565b9250828203905081811115613a5357613a526136c4565b5b92915050565b7f4275792f53656c6c206578636565647320746865206d61782074780000000000600082015250565b6000613a8f601b83612e1b565b9150613a9a82613a59565b602082019050919050565b60006020820190508181036000830152613abe81613a82565b9050919050565b6000613ad082612f34565b9150613adb83612f34565b9250828201905080821115613af357613af26136c4565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000613b55602583612e1b565b9150613b6082613af9565b604082019050919050565b60006020820190508181036000830152613b8481613b48565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bc1601b83612e1b565b9150613bcc82613b8b565b602082019050919050565b60006020820190508181036000830152613bf081613bb4565b905091905056fea2646970667358221220c9dc460cc4b2f10accb296e8eb01b649d031b5f4fecbd5245b18ef6791e62bdf64736f6c63430008110033

Deployed Bytecode

0x6080604052600436106101f25760003560e01c80636c0a24eb1161010d5780638ebfc796116100a0578063a9059cbb1161006f578063a9059cbb146106bb578063b9f8d0d7146106f8578063dd62ed3e14610721578063f4a3ff3d1461075e578063f887ea4014610787576101f9565b80638ebfc7961461061357806395d89b411461063c578063a11cba1714610667578063a8aa1b3114610690576101f9565b8063715018a6116100dc578063715018a61461057d5780637830b07214610594578063893d20e8146105bf5780638d7a8ba7146105ea576101f9565b80636c0a24eb146104bc5780636ddd1713146104e75780636f268a991461051257806370a0823114610540576101f9565b80632f54bf6e11610185578063411adcb611610154578063411adcb614610410578063571ac8b01461043f5780635d2821ae1461047c578063616eb638146104a5576101f9565b80632f54bf6e14610368578063313ce567146103a557806335bff1af146103d05780633c271a05146103e7576101f9565b80631e62d524116101c15780631e62d524146102ba57806323b872dd146102e957806329691448146103265780632bda50041461033d576101f9565b806306fdde03146101fe578063095ea7b3146102295780630cefb76f1461026657806318160ddd1461028f576101f9565b366101f957005b600080fd5b34801561020a57600080fd5b506102136107b2565b6040516102209190612ea0565b60405180910390f35b34801561023557600080fd5b50610250600480360381019061024b9190612f6a565b6107ef565b60405161025d9190612fc5565b60405180910390f35b34801561027257600080fd5b5061028d60048036038101906102889190613071565b6108e1565b005b34801561029b57600080fd5b506102a46109ce565b6040516102b191906130e0565b60405180910390f35b3480156102c657600080fd5b506102cf6109d8565b6040516102e09594939291906130fb565b60405180910390f35b3480156102f557600080fd5b50610310600480360381019061030b919061314e565b6109fc565b60405161031d9190612fc5565b60405180910390f35b34801561033257600080fd5b5061033b610bfc565b005b34801561034957600080fd5b50610352610c61565b60405161035f91906130e0565b60405180910390f35b34801561037457600080fd5b5061038f600480360381019061038a91906131a1565b610c67565b60405161039c9190612fc5565b60405180910390f35b3480156103b157600080fd5b506103ba610cc0565b6040516103c791906131ea565b60405180910390f35b3480156103dc57600080fd5b506103e5610cc9565b005b3480156103f357600080fd5b5061040e60048036038101906104099190613343565b610e34565b005b34801561041c57600080fd5b50610425610f11565b6040516104369594939291906130fb565b60405180910390f35b34801561044b57600080fd5b50610466600480360381019061046191906131a1565b610f35565b6040516104739190612fc5565b60405180910390f35b34801561048857600080fd5b506104a3600480360381019061049e919061339f565b610f68565b005b3480156104b157600080fd5b506104ba6110c6565b005b3480156104c857600080fd5b506104d1611134565b6040516104de91906130e0565b60405180910390f35b3480156104f357600080fd5b506104fc61113a565b6040516105099190612fc5565b60405180910390f35b34801561051e57600080fd5b5061052761114d565b6040516105379493929190613415565b60405180910390f35b34801561054c57600080fd5b50610567600480360381019061056291906131a1565b6111eb565b60405161057491906130e0565b60405180910390f35b34801561058957600080fd5b50610592611234565b005b3480156105a057600080fd5b506105a96112f7565b6040516105b691906130e0565b60405180910390f35b3480156105cb57600080fd5b506105d46112fd565b6040516105e1919061345a565b60405180910390f35b3480156105f657600080fd5b50610611600480360381019061060c9190613475565b611326565b005b34801561061f57600080fd5b5061063a60048036038101906106359190613475565b6113c9565b005b34801561064857600080fd5b5061065161146c565b60405161065e9190612ea0565b60405180910390f35b34801561067357600080fd5b5061068e600480360381019061068991906134b5565b6114a9565b005b34801561069c57600080fd5b506106a5611633565b6040516106b2919061345a565b60405180910390f35b3480156106c757600080fd5b506106e260048036038101906106dd9190612f6a565b611659565b6040516106ef9190612fc5565b60405180910390f35b34801561070457600080fd5b5061071f600480360381019061071a9190613508565b61166e565b005b34801561072d57600080fd5b506107486004803603810190610743919061356f565b611724565b60405161075591906130e0565b60405180910390f35b34801561076a57600080fd5b5061078560048036038101906107809190613508565b6117ab565b005b34801561079357600080fd5b5061079c611861565b6040516107a9919061360e565b60405180910390f35b60606040518060400160405280600e81526020017f546f73686f677520447261676f6e000000000000000000000000000000000000815250905090565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516108cf91906130e0565b60405180910390a36001905092915050565b6108ea33610c67565b610929576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092090613675565b60405180910390fd5b60005b838390508110156109c85781600a600086868581811061094f5761094e613695565b5b905060200201602081019061096491906131a1565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806109c0906136f3565b91505061092c565b50505050565b6000600354905090565b60108060000154908060010154908060020154908060030154908060040154905085565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610be857610b67826040518060400160405280601681526020017f496e73756666696369656e7420416c6c6f77616e636500000000000000000000815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194b9092919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b610bf38484846119af565b90509392505050565b610c0533610c67565b610c44576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3b90613675565b60405180910390fd5b6001601c60146101000a81548160ff021916908315150217905550565b60055481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16149050919050565b60006009905090565b6000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610d848160076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b610e3d33610c67565b610e7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e7390613675565b60405180910390fd5b60005b8251811015610f0c578160096000858481518110610ea057610e9f613695565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610f04906136f3565b915050610e7f565b505050565b60158060000154908060010154908060020154908060030154908060040154905085565b6000610f61827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107ef565b9050919050565b610f7133610c67565b610fb0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa790613675565b60405180910390fd5b83600c60000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600c60010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600c60020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c60030160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015611131573d6000803e3d6000fd5b50565b60045481565b601c60149054906101000a900460ff1681565b600c8060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905084565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61123d33610c67565b61127c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127390613675565b60405180910390fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc68616360006040516112ed919061345a565b60405180910390a1565b60065481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61132f33610c67565b61136e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136590613675565b60405180910390fd5b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6113d233610c67565b611411576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161140890613675565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b60606040518060400160405280600781526020017f544f53484f475500000000000000000000000000000000000000000000000000815250905090565b6114b233610c67565b6114f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e890613675565b60405180910390fd5b6001831015611535576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152c906137ad565b60405180910390fd5b6001821015611579576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115709061383f565b60405180910390fd5b60018110156115bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b4906138d1565b60405180910390fd5b6103e8836003546115ce91906138f1565b6115d89190613962565b6004819055506103e8826003546115ef91906138f1565b6115f99190613962565b6005819055506116286103e861161a8360035461188790919063ffffffff16565b61190190919063ffffffff16565b600681905550505050565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006116663384846119af565b905092915050565b61167733610c67565b6116b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ad90613675565b60405180910390fd5b8360156000018190555082601560010181905550816015600201819055508060156003018190555061171581611707846116f9878961211c90919063ffffffff16565b61211c90919063ffffffff16565b61211c90919063ffffffff16565b60156004018190555050505050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6117b433610c67565b6117f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ea90613675565b60405180910390fd5b836010600001819055508260106001018190555081601060020181905550806010600301819055506118528161184484611836878961211c90919063ffffffff16565b61211c90919063ffffffff16565b61211c90919063ffffffff16565b60106004018190555050505050565b601b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080830361189957600090506118fb565b600082846118a791906138f1565b90508284826118b69190613962565b146118f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118ed90613a05565b60405180910390fd5b809150505b92915050565b600061194383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061217a565b905092915050565b6000838311158290611993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161198a9190612ea0565b60405180910390fd5b50600083856119a29190613a25565b9050809150509392505050565b6000601c60159054906101000a900460ff16156119d8576119d18484846121dd565b9050612115565b601c60149054906101000a900460ff16158015611a425750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b8015611a985750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611aa65760009050612115565b600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611ba55750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611ba45750601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16145b5b15611bf057600654821115611bef576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be690613aa5565b60405180910390fd5b5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611c975750600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d8057600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611d40575060055482600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3d9190613ac5565b11155b611d7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7690613b6b565b60405180910390fd5b5b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611e2c5750600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b15611f1557600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611ed5575060045482600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed29190613ac5565b11155b611f14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f0b90613b6b565b60405180910390fd5b5b611f9e826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611fec856123b0565b8015611ffd5750611ffc846123b0565b5b6120075782612013565b612012858585612407565b5b905061206781600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161210791906130e0565b60405180910390a360019150505b9392505050565b600080828461212b9190613ac5565b905083811015612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790613bd7565b60405180910390fd5b8091505092915050565b600080831182906121c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121b89190612ea0565b60405180910390fd5b50600083856121d09190613962565b9050809150509392505050565b6000612268826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461194b9092919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506122fd82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161239d91906130e0565b60405180910390a3600190509392505050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16159050919050565b60008060009050601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161480156124715750600060106004015414155b156128dd576124a2601a546124946010600401548661188790919063ffffffff16565b61190190919063ffffffff16565b90506125496124d66010600401546124c86010600001548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506126566125e36010600401546125d56010600101548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506127636126f06010600401546126e26010600201548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128706127fd6010600401546127ef6010600301548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612da9565b601c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480156129405750600060156004015414155b15612da857612971601a546129636015600401548661188790919063ffffffff16565b61190190919063ffffffff16565b9050612a186129a56015600401546129976015600001548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612b25612ab2601560040154612aa46015600101548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c32612bbf601560040154612bb16015600201548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d3f612ccc601560040154612cbe6015600301548561188790919063ffffffff16565b61190190919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461211c90919063ffffffff16565b60076000600c60030160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b612dbc8184612dc690919063ffffffff16565b9150509392505050565b6000612e0883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061194b565b905092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612e4a578082015181840152602081019050612e2f565b60008484015250505050565b6000601f19601f8301169050919050565b6000612e7282612e10565b612e7c8185612e1b565b9350612e8c818560208601612e2c565b612e9581612e56565b840191505092915050565b60006020820190508181036000830152612eba8184612e67565b905092915050565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612f0182612ed6565b9050919050565b612f1181612ef6565b8114612f1c57600080fd5b50565b600081359050612f2e81612f08565b92915050565b6000819050919050565b612f4781612f34565b8114612f5257600080fd5b50565b600081359050612f6481612f3e565b92915050565b60008060408385031215612f8157612f80612ecc565b5b6000612f8f85828601612f1f565b9250506020612fa085828601612f55565b9150509250929050565b60008115159050919050565b612fbf81612faa565b82525050565b6000602082019050612fda6000830184612fb6565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261300557613004612fe0565b5b8235905067ffffffffffffffff81111561302257613021612fe5565b5b60208301915083602082028301111561303e5761303d612fea565b5b9250929050565b61304e81612faa565b811461305957600080fd5b50565b60008135905061306b81613045565b92915050565b60008060006040848603121561308a57613089612ecc565b5b600084013567ffffffffffffffff8111156130a8576130a7612ed1565b5b6130b486828701612fef565b935093505060206130c78682870161305c565b9150509250925092565b6130da81612f34565b82525050565b60006020820190506130f560008301846130d1565b92915050565b600060a08201905061311060008301886130d1565b61311d60208301876130d1565b61312a60408301866130d1565b61313760608301856130d1565b61314460808301846130d1565b9695505050505050565b60008060006060848603121561316757613166612ecc565b5b600061317586828701612f1f565b935050602061318686828701612f1f565b925050604061319786828701612f55565b9150509250925092565b6000602082840312156131b7576131b6612ecc565b5b60006131c584828501612f1f565b91505092915050565b600060ff82169050919050565b6131e4816131ce565b82525050565b60006020820190506131ff60008301846131db565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61323d82612e56565b810181811067ffffffffffffffff8211171561325c5761325b613205565b5b80604052505050565b600061326f612ec2565b905061327b8282613234565b919050565b600067ffffffffffffffff82111561329b5761329a613205565b5b602082029050602081019050919050565b60006132bf6132ba84613280565b613265565b905080838252602082019050602084028301858111156132e2576132e1612fea565b5b835b8181101561330b57806132f78882612f1f565b8452602084019350506020810190506132e4565b5050509392505050565b600082601f83011261332a57613329612fe0565b5b813561333a8482602086016132ac565b91505092915050565b6000806040838503121561335a57613359612ecc565b5b600083013567ffffffffffffffff81111561337857613377612ed1565b5b61338485828601613315565b92505060206133958582860161305c565b9150509250929050565b600080600080608085870312156133b9576133b8612ecc565b5b60006133c787828801612f1f565b94505060206133d887828801612f1f565b93505060406133e987828801612f1f565b92505060606133fa87828801612f1f565b91505092959194509250565b61340f81612ef6565b82525050565b600060808201905061342a6000830187613406565b6134376020830186613406565b6134446040830185613406565b6134516060830184613406565b95945050505050565b600060208201905061346f6000830184613406565b92915050565b6000806040838503121561348c5761348b612ecc565b5b600061349a85828601612f1f565b92505060206134ab8582860161305c565b9150509250929050565b6000806000606084860312156134ce576134cd612ecc565b5b60006134dc86828701612f55565b93505060206134ed86828701612f55565b92505060406134fe86828701612f55565b9150509250925092565b6000806000806080858703121561352257613521612ecc565b5b600061353087828801612f55565b945050602061354187828801612f55565b935050604061355287828801612f55565b925050606061356387828801612f55565b91505092959194509250565b6000806040838503121561358657613585612ecc565b5b600061359485828601612f1f565b92505060206135a585828601612f1f565b9150509250929050565b6000819050919050565b60006135d46135cf6135ca84612ed6565b6135af565b612ed6565b9050919050565b60006135e6826135b9565b9050919050565b60006135f8826135db565b9050919050565b613608816135ed565b82525050565b600060208201905061362360008301846135ff565b92915050565b7f214f776e65720000000000000000000000000000000000000000000000000000600082015250565b600061365f600683612e1b565b915061366a82613629565b602082019050919050565b6000602082019050818103600083015261368e81613652565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006136fe82612f34565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036137305761372f6136c4565b5b600182019050919050565b7f77616c6c6574206c696d6974206d757368206265206e6f74206c65737320746860008201527f616e20302e312070657263656e74000000000000000000000000000000000000602082015250565b6000613797602e83612e1b565b91506137a28261373b565b604082019050919050565b600060208201905081810360008301526137c68161378a565b9050919050565b7f77686974656c6973742077616c6c6574206c696d6974206d757368206265206e60008201527f6f74206c657373207468616e20302e312070657263656e740000000000000000602082015250565b6000613829603883612e1b565b9150613834826137cd565b604082019050919050565b600060208201905081810360008301526138588161381c565b9050919050565b7f4d617820747820616d6f756e74206d757374206e6f74206265206c657373207460008201527f68616e20302e312070657263656e740000000000000000000000000000000000602082015250565b60006138bb602f83612e1b565b91506138c68261385f565b604082019050919050565b600060208201905081810360008301526138ea816138ae565b9050919050565b60006138fc82612f34565b915061390783612f34565b925082820261391581612f34565b9150828204841483151761392c5761392b6136c4565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061396d82612f34565b915061397883612f34565b92508261398857613987613933565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006139ef602183612e1b565b91506139fa82613993565b604082019050919050565b60006020820190508181036000830152613a1e816139e2565b9050919050565b6000613a3082612f34565b9150613a3b83612f34565b9250828203905081811115613a5357613a526136c4565b5b92915050565b7f4275792f53656c6c206578636565647320746865206d61782074780000000000600082015250565b6000613a8f601b83612e1b565b9150613a9a82613a59565b602082019050919050565b60006020820190508181036000830152613abe81613a82565b9050919050565b6000613ad082612f34565b9150613adb83612f34565b9250828201905080821115613af357613af26136c4565b5b92915050565b7f5472616e7366657220616d6f756e74206578636565647320746865206261672060008201527f73697a652e000000000000000000000000000000000000000000000000000000602082015250565b6000613b55602583612e1b565b9150613b6082613af9565b604082019050919050565b60006020820190508181036000830152613b8481613b48565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613bc1601b83612e1b565b9150613bcc82613b8b565b602082019050919050565b60006020820190508181036000830152613bf081613bb4565b905091905056fea2646970667358221220c9dc460cc4b2f10accb296e8eb01b649d031b5f4fecbd5245b18ef6791e62bdf64736f6c63430008110033

Deployed Bytecode Sourcemap

6168:11422:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6519:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10261:216;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15705:223;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6249:88;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8487:152;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;10779:370;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17012:77;;;;;;;;;;;;;:::i;:::-;;7780:72;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4390:103;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6343:80;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17142:246;;;;;;;;;;;;;:::i;:::-;;15940:202;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8648:155;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;10485:122;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15147:297;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;17439:110;;;;;;;;;;;;;:::i;:::-;;7709:64;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8916:31;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8175:303;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;6689:105;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4501:131;;;;;;;;;;;;;:::i;:::-;;7859:54;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6605:78;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16823:138;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;15574:123;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6429:84;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16150:665;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8888:19;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10615:156;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14394:368;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6800:133;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14770:362;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8849:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6519:80;6567:13;6591:5;;;;;;;;;;;;;;;;;6584:12;;6519:80;:::o;10261:216::-;10336:4;10388:6;10353:11;:23;10365:10;10353:23;;;;;;;;;;;;;;;:32;10377:7;10353:32;;;;;;;;;;;;;;;:41;;;;10431:7;10410:37;;10419:10;10410:37;;;10440:6;10410:37;;;;;;:::i;:::-;;;;;;;;10465:4;10458:11;;10261:216;;;;:::o;15705:223::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;15816:9:::1;15812:109;15835:7;;:14;;15831:1;:18;15812:109;;;15897:12;15871:11;:23;15883:7;;15891:1;15883:10;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;15871:23;;;;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;15851:3;;;;;:::i;:::-;;;;15812:109;;;;15705:223:::0;;;:::o;6249:88::-;6304:7;6322:12;;6315:19;;6249:88;:::o;8487:152::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10779:370::-;10879:4;10934:17;10899:11;:19;10911:6;10899:19;;;;;;;;;;;;;;;:31;10919:10;10899:31;;;;;;;;;;;;;;;;:52;10896:186;;11001:69;11037:6;11001:69;;;;;;;;;;;;;;;;;:11;:19;11013:6;11001:19;;;;;;;;;;;;;;;:31;11021:10;11001:31;;;;;;;;;;;;;;;;:35;;:69;;;;;:::i;:::-;10967:11;:19;10979:6;10967:19;;;;;;;;;;;;;;;:31;10987:10;10967:31;;;;;;;;;;;;;;;:103;;;;10896:186;11101:40;11115:6;11123:9;11134:6;11101:13;:40::i;:::-;11094:47;;10779:370;;;;;:::o;17012:77::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;17077:4:::1;17063:11;;:18;;;;;;;;;;;;;;;;;;17012:77::o:0;7780:72::-;;;;:::o;4390:103::-;4445:4;4480:5;;;;;;;;;;;4469:16;;:7;:16;;;4462:23;;4390:103;;;:::o;6343:80::-;6395:5;7640:1;6404:16;;6343:80;:::o;17142:246::-;17184:28;17215:9;:24;17233:4;17215:24;;;;;;;;;;;;;;;;17184:55;;17284:57;17320:20;17284:9;:31;17294:10;:20;;;;;;;;;;;;17284:31;;;;;;;;;;;;;;;;:35;;:57;;;;:::i;:::-;17250:9;:31;17260:10;:20;;;;;;;;;;;;17250:31;;;;;;;;;;;;;;;:91;;;;17379:1;17352:9;:24;17370:4;17352:24;;;;;;;;;;;;;;;:28;;;;17173:215;17142:246::o;15940:202::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16037:9:::1;16032:103;16056:3;:10;16052:1;:14;16032:103;;;16110:12;16088:11;:19;16100:3;16104:1;16100:6;;;;;;;;:::i;:::-;;;;;;;;16088:19;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;;;;;;;16068:3;;;;;:::i;:::-;;;;16032:103;;;;15940:202:::0;;:::o;8648:155::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10485:122::-;10540:4;10564:35;10572:7;10581:17;10564:7;:35::i;:::-;10557:42;;10485:122;;;:::o;15147:297::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;15301:10:::1;15278;:20;;;:33;;;;;;;;;;;;;;;;;;15348:12;15323:10;:22;;;:37;;;;;;;;;;;;;;;;;;15392:8;15371:10;:18;;;:29;;;;;;;;;;;;;;;;;;15430:6;15411:10;:16;;;:25;;;;;;;;;;;;;;;;;;15147:297:::0;;;;:::o;17439:110::-;17488:10;:20;;;;;;;;;;;;17480:38;;:61;17519:21;17480:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17439:110::o;7709:64::-;;;;:::o;8916:31::-;;;;;;;;;;;;;:::o;8175:303::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6689:105::-;6755:7;6773:9;:18;6783:7;6773:18;;;;;;;;;;;;;;;;6766:25;;6689:105;;;:::o;4501:131::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;4574:1:::1;4558:5:::0;::::1;:18;;;;;;;;;;;;;;;;;;4592:32;4621:1;4592:32;;;;;;:::i;:::-;;;;;;;;4501:131::o:0;7859:54::-;;;;:::o;6605:78::-;6657:7;6675:5;;;;;;;;;;;6668:12;;6605:78;:::o;16823:138::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16937:16:::1;16914:15;:20;16930:3;16914:20;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;16823:138:::0;;:::o;15574:123::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;15676:12:::1;15657:11;:16;15669:3;15657:16;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;15574:123:::0;;:::o;6429:84::-;6479:13;6503:7;;;;;;;;;;;;;;;;;6496:14;;6429:84;:::o;16150:665::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;16326:1:::1;16303:19;:24;;16295:82;;;;;;;;;;;;:::i;:::-;;;;;;;;;16428:1;16396:28;:33;;16388:101;;;;;;;;;;;;:::i;:::-;;;;;;;;;16525:1;16508:13;:18;;16500:78;;;;;;;;;;;;:::i;:::-;;;;;;;;;16650:4;16626:19;16611:12;;:34;;;;:::i;:::-;16610:44;;;;:::i;:::-;16591:16;:63;;;;16742:4;16709:28;16694:12;;:43;;;;:::i;:::-;16693:53;;;;:::i;:::-;16665:25;:81;;;;16766:41;16802:4;16766:31;16783:13;16766:12;;:16;;:31;;;;:::i;:::-;:35;;:41;;;;:::i;:::-;16757:6;:50;;;;16150:665:::0;;;:::o;8888:19::-;;;;;;;;;;;;;:::o;10615:156::-;10695:4;10719:44;10733:10;10745:9;10756:6;10719:13;:44::i;:::-;10712:51;;10615:156;;;;:::o;14394:368::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;14540:10:::1;14519:8;:18;;:31;;;;14585:12;14562:8;:20;;:35;;;;14627:8;14608;:16;;:27;;;;14663:6;14646:8;:14;;:23;;;;14700:54;14747:6;14700:42;14733:8;14700:28;14715:12;14700:10;:14;;:28;;;;:::i;:::-;:32;;:42;;;;:::i;:::-;:46;;:54;;;;:::i;:::-;14680:8;:17;;:74;;;;14394:368:::0;;;;:::o;6800:133::-;6884:7;6902:11;:19;6914:6;6902:19;;;;;;;;;;;;;;;:28;6922:7;6902:28;;;;;;;;;;;;;;;;6895:35;;6800:133;;;;:::o;14770:362::-;4340:19;4348:10;4340:7;:19::i;:::-;4332:39;;;;;;;;;;;;:::i;:::-;;;;;;;;;14914:10:::1;14894:7;:17;;:30;;;;14958:12;14936:7;:19;;:34;;;;14999:8;14981:7;:15;;:26;;;;15034:6;15018:7;:13;;:22;;;;15070:54;15117:6;15070:42;15103:8;15070:28;15085:12;15070:10;:14;;:28;;;;:::i;:::-;:32;;:42;;;;:::i;:::-;:46;;:54;;;;:::i;:::-;15051:7;:16;;:73;;;;14770:362:::0;;;;:::o;8849:32::-;;;;;;;;;;;;;:::o;2668:246::-;2726:7;2755:1;2750;:6;2746:47;;2780:1;2773:8;;;;2746:47;2803:9;2819:1;2815;:5;;;;:::i;:::-;2803:17;;2848:1;2843;2839;:5;;;;:::i;:::-;:10;2831:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;2905:1;2898:8;;;2668:246;;;;;:::o;2920:132::-;2978:7;3005:39;3009:1;3012;3005:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2998:46;;2920:132;;;;:::o;2472:190::-;2558:7;2591:1;2586;:6;;2594:12;2578:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2618:9;2634:1;2630;:5;;;;:::i;:::-;2618:17;;2653:1;2646:8;;;2472:190;;;;;:::o;11157:1291::-;11249:4;11269:6;;;;;;;;;;;11266:63;;;11285:41;11300:6;11308:9;11319:6;11285:14;:41::i;:::-;11278:48;;;;11266:63;11354:11;;;;;;;;;;;11353:12;:30;;;;;11379:4;;;;;;;;;;;11369:14;;:6;:14;;;11353:30;:57;;;;;11388:11;:22;11400:9;11388:22;;;;;;;;;;;;;;;;;;;;;;;;;11387:23;11353:57;11349:102;;;11434:5;11427:12;;;;11349:102;11468:15;:23;11484:6;11468:23;;;;;;;;;;;;;;;;;;;;;;;;;11467:24;:65;;;;;11509:4;;;;;;;;;;;11496:17;;:9;:17;;;:35;;;;11527:4;;;;;;;;;;;11517:14;;:6;:14;;;11496:35;11467:65;11463:154;;;11567:6;;11557;:16;;11549:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;11463:154;11646:4;;;;;;;;;;;11633:17;;:9;:17;;;;:43;;;;;11654:11;:22;11666:9;11654:22;;;;;;;;;;;;;;;;;;;;;;;;;11633:43;11629:214;;;11701:15;:26;11717:9;11701:26;;;;;;;;;;;;;;;;;;;;;;;;;:88;;;;11764:25;;11754:6;11731:9;:20;11741:9;11731:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:58;;11701:88;11693:138;;;;;;;;;;;;:::i;:::-;;;;;;;;;11629:214;11872:4;;;;;;;;;;;11859:17;;:9;:17;;;;:38;;;;;11893:4;;;;;;;;;;;11880:17;;:9;:17;;;;11859:38;11855:200;;;11922:15;:26;11938:9;11922:26;;;;;;;;;;;;;;;;;;;;;;;;;:79;;;;11985:16;;11975:6;11952:9;:20;11962:9;11952:20;;;;;;;;;;;;;;;;:29;;;;:::i;:::-;:49;;11922:79;11914:129;;;;;;;;;;;;:::i;:::-;;;;;;;;;11855:200;12095:53;12117:6;12095:53;;;;;;;;;;;;;;;;;:9;:17;12105:6;12095:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12075:9;:17;12085:6;12075:17;;;;;;;;;;;;;;;:73;;;;12161:22;12187:21;12201:6;12187:13;:21::i;:::-;:49;;;;;12212:24;12226:9;12212:13;:24::i;:::-;12187:49;12186:97;;12277:6;12186:97;;;12240:34;12248:6;12256:9;12267:6;12240:7;:34::i;:::-;12186:97;12161:122;;12317:40;12342:14;12317:9;:20;12327:9;12317:20;;;;;;;;;;;;;;;;:24;;:40;;;;:::i;:::-;12294:9;:20;12304:9;12294:20;;;;;;;;;;;;;;;:63;;;;12392:9;12375:43;;12384:6;12375:43;;;12403:14;12375:43;;;;;;:::i;:::-;;;;;;;;12436:4;12429:11;;;11157:1291;;;;;;:::o;2145:179::-;2203:7;2223:9;2239:1;2235;:5;;;;:::i;:::-;2223:17;;2264:1;2259;:6;;2251:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2315:1;2308:8;;;2145:179;;;;:::o;3058:189::-;3144:7;3176:1;3172;:5;3179:12;3164:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3203:9;3219:1;3215;:5;;;;:::i;:::-;3203:17;;3238:1;3231:8;;;3058:189;;;;;:::o;12460:330::-;12553:4;12590:53;12612:6;12590:53;;;;;;;;;;;;;;;;;:9;:17;12600:6;12590:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12570:9;:17;12580:6;12570:17;;;;;;;;;;;;;;;:73;;;;12677:32;12702:6;12677:9;:20;12687:9;12677:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;12654:9;:20;12664:9;12654:20;;;;;;;;;;;;;;;:55;;;;12742:9;12725:35;;12734:6;12725:35;;;12753:6;12725:35;;;;;;:::i;:::-;;;;;;;;12778:4;12771:11;;12460:330;;;;;:::o;15452:114::-;15514:4;15539:11;:19;15551:6;15539:19;;;;;;;;;;;;;;;;;;;;;;;;;15538:20;15531:27;;15452:114;;;:::o;12798:1588::-;12884:7;12904:17;12924:1;12904:21;;12950:4;;;;;;;;;;;12940:14;;:6;:14;;;:39;;;;;12978:1;12958:7;:16;;;:21;;12940:39;12936:1404;;;13025:48;13058:14;;13025:28;13036:7;:16;;;13025:6;:10;;:28;;;;:::i;:::-;:32;;:48;;;;:::i;:::-;13013:60;;13122:91;13158:54;13195:7;:16;;;13158:32;13172:7;:17;;;13158:9;:13;;:32;;;;:::i;:::-;:36;;:54;;;;:::i;:::-;13122:9;:31;13132:10;:20;;;;;;;;;;;;13122:31;;;;;;;;;;;;;;;;:35;;:91;;;;:::i;:::-;13088:9;:31;13098:10;:20;;;;;;;;;;;;13088:31;;;;;;;;;;;;;;;:125;;;;13264:95;13302:56;13341:7;:16;;;13302:34;13316:7;:19;;;13302:9;:13;;:34;;;;:::i;:::-;:38;;:56;;;;:::i;:::-;13264:9;:33;13274:10;:22;;;;;;;;;;;;13264:33;;;;;;;;;;;;;;;;:37;;:95;;;;:::i;:::-;13228:9;:33;13238:10;:22;;;;;;;;;;;;13228:33;;;;;;;;;;;;;;;:131;;;;13406:87;13440:52;13475:7;:16;;;13440:30;13454:7;:15;;;13440:9;:13;;:30;;;;:::i;:::-;:34;;:52;;;;:::i;:::-;13406:9;:29;13416:10;:18;;;;;;;;;;;;13406:29;;;;;;;;;;;;;;;;:33;;:87;;;;:::i;:::-;13374:9;:29;13384:10;:18;;;;;;;;;;;;13374:29;;;;;;;;;;;;;;;:119;;;;13538:83;13570:50;13603:7;:16;;;13570:28;13584:7;:13;;;13570:9;:13;;:28;;;;:::i;:::-;:32;;:50;;;;:::i;:::-;13538:9;:27;13548:10;:16;;;;;;;;;;;;13538:27;;;;;;;;;;;;;;;;:31;;:83;;;;:::i;:::-;13508:9;:27;13518:10;:16;;;;;;;;;;;;13508:27;;;;;;;;;;;;;;;:113;;;;12936:1404;;;13656:4;;;;;;;;;;;13643:17;;:9;:17;;;:43;;;;;13685:1;13664:8;:17;;;:22;;13643:43;13639:701;;;13723:49;13757:14;;13723:29;13734:8;:17;;;13723:6;:10;;:29;;;;:::i;:::-;:33;;:49;;;;:::i;:::-;13711:61;;13821:93;13857:56;13895:8;:17;;;13857:33;13871:8;:18;;;13857:9;:13;;:33;;;;:::i;:::-;:37;;:56;;;;:::i;:::-;13821:9;:31;13831:10;:20;;;;;;;;;;;;13821:31;;;;;;;;;;;;;;;;:35;;:93;;;;:::i;:::-;13787:9;:31;13797:10;:20;;;;;;;;;;;;13787:31;;;;;;;;;;;;;;;:127;;;;13965:97;14003:58;14043:8;:17;;;14003:35;14017:8;:20;;;14003:9;:13;;:35;;;;:::i;:::-;:39;;:58;;;;:::i;:::-;13965:9;:33;13975:10;:22;;;;;;;;;;;;13965:33;;;;;;;;;;;;;;;;:37;;:97;;;;:::i;:::-;13929:9;:33;13939:10;:22;;;;;;;;;;;;13929:33;;;;;;;;;;;;;;;:133;;;;14109:89;14143:54;14179:8;:17;;;14143:31;14157:8;:16;;;14143:9;:13;;:31;;;;:::i;:::-;:35;;:54;;;;:::i;:::-;14109:9;:29;14119:10;:18;;;;;;;;;;;;14109:29;;;;;;;;;;;;;;;;:33;;:89;;;;:::i;:::-;14077:9;:29;14087:10;:18;;;;;;;;;;;;14077:29;;;;;;;;;;;;;;;:121;;;;14243:85;14275:52;14309:8;:17;;;14275:29;14289:8;:14;;;14275:9;:13;;:29;;;;:::i;:::-;:33;;:52;;;;:::i;:::-;14243:9;:27;14253:10;:16;;;;;;;;;;;;14243:27;;;;;;;;;;;;;;;;:31;;:85;;;;:::i;:::-;14213:9;:27;14223:10;:16;;;;;;;;;;;;14213:27;;;;;;;;;;;;;;;:115;;;;13639:701;12936:1404;14357:21;14368:9;14357:6;:10;;:21;;;;:::i;:::-;14350:28;;;12798:1588;;;;;:::o;2330:136::-;2388:7;2415:43;2419:1;2422;2415:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;2408:50;;2330:136;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:246::-;368:1;378:113;392:6;389:1;386:13;378:113;;;477:1;472:3;468:11;462:18;458:1;453:3;449:11;442:39;414:2;411:1;407:10;402:15;;378:113;;;525:1;516:6;511:3;507:16;500:27;349:184;287:246;;;:::o;539:102::-;580:6;631:2;627:7;622:2;615:5;611:14;607:28;597:38;;539:102;;;:::o;647:377::-;735:3;763:39;796:5;763:39;:::i;:::-;818:71;882:6;877:3;818:71;:::i;:::-;811:78;;898:65;956:6;951:3;944:4;937:5;933:16;898:65;:::i;:::-;988:29;1010:6;988:29;:::i;:::-;983:3;979:39;972:46;;739:285;647:377;;;;:::o;1030:313::-;1143:4;1181:2;1170:9;1166:18;1158:26;;1230:9;1224:4;1220:20;1216:1;1205:9;1201:17;1194:47;1258:78;1331:4;1322:6;1258:78;:::i;:::-;1250:86;;1030:313;;;;:::o;1349:75::-;1382:6;1415:2;1409:9;1399:19;;1349:75;:::o;1430:117::-;1539:1;1536;1529:12;1553:117;1662:1;1659;1652:12;1676:126;1713:7;1753:42;1746:5;1742:54;1731:65;;1676:126;;;:::o;1808:96::-;1845:7;1874:24;1892:5;1874:24;:::i;:::-;1863:35;;1808:96;;;:::o;1910:122::-;1983:24;2001:5;1983:24;:::i;:::-;1976:5;1973:35;1963:63;;2022:1;2019;2012:12;1963:63;1910:122;:::o;2038:139::-;2084:5;2122:6;2109:20;2100:29;;2138:33;2165:5;2138:33;:::i;:::-;2038:139;;;;:::o;2183:77::-;2220:7;2249:5;2238:16;;2183:77;;;:::o;2266:122::-;2339:24;2357:5;2339:24;:::i;:::-;2332:5;2329:35;2319:63;;2378:1;2375;2368:12;2319:63;2266:122;:::o;2394:139::-;2440:5;2478:6;2465:20;2456:29;;2494:33;2521:5;2494:33;:::i;:::-;2394:139;;;;:::o;2539:474::-;2607:6;2615;2664:2;2652:9;2643:7;2639:23;2635:32;2632:119;;;2670:79;;:::i;:::-;2632:119;2790:1;2815:53;2860:7;2851:6;2840:9;2836:22;2815:53;:::i;:::-;2805:63;;2761:117;2917:2;2943:53;2988:7;2979:6;2968:9;2964:22;2943:53;:::i;:::-;2933:63;;2888:118;2539:474;;;;;:::o;3019:90::-;3053:7;3096:5;3089:13;3082:21;3071:32;;3019:90;;;:::o;3115:109::-;3196:21;3211:5;3196:21;:::i;:::-;3191:3;3184:34;3115:109;;:::o;3230:210::-;3317:4;3355:2;3344:9;3340:18;3332:26;;3368:65;3430:1;3419:9;3415:17;3406:6;3368:65;:::i;:::-;3230:210;;;;:::o;3446:117::-;3555:1;3552;3545:12;3569:117;3678:1;3675;3668:12;3692:117;3801:1;3798;3791:12;3832:568;3905:8;3915:6;3965:3;3958:4;3950:6;3946:17;3942:27;3932:122;;3973:79;;:::i;:::-;3932:122;4086:6;4073:20;4063:30;;4116:18;4108:6;4105:30;4102:117;;;4138:79;;:::i;:::-;4102:117;4252:4;4244:6;4240:17;4228:29;;4306:3;4298:4;4290:6;4286:17;4276:8;4272:32;4269:41;4266:128;;;4313:79;;:::i;:::-;4266:128;3832:568;;;;;:::o;4406:116::-;4476:21;4491:5;4476:21;:::i;:::-;4469:5;4466:32;4456:60;;4512:1;4509;4502:12;4456:60;4406:116;:::o;4528:133::-;4571:5;4609:6;4596:20;4587:29;;4625:30;4649:5;4625:30;:::i;:::-;4528:133;;;;:::o;4667:698::-;4759:6;4767;4775;4824:2;4812:9;4803:7;4799:23;4795:32;4792:119;;;4830:79;;:::i;:::-;4792:119;4978:1;4967:9;4963:17;4950:31;5008:18;5000:6;4997:30;4994:117;;;5030:79;;:::i;:::-;4994:117;5143:80;5215:7;5206:6;5195:9;5191:22;5143:80;:::i;:::-;5125:98;;;;4921:312;5272:2;5298:50;5340:7;5331:6;5320:9;5316:22;5298:50;:::i;:::-;5288:60;;5243:115;4667:698;;;;;:::o;5371:118::-;5458:24;5476:5;5458:24;:::i;:::-;5453:3;5446:37;5371:118;;:::o;5495:222::-;5588:4;5626:2;5615:9;5611:18;5603:26;;5639:71;5707:1;5696:9;5692:17;5683:6;5639:71;:::i;:::-;5495:222;;;;:::o;5723:664::-;5928:4;5966:3;5955:9;5951:19;5943:27;;5980:71;6048:1;6037:9;6033:17;6024:6;5980:71;:::i;:::-;6061:72;6129:2;6118:9;6114:18;6105:6;6061:72;:::i;:::-;6143;6211:2;6200:9;6196:18;6187:6;6143:72;:::i;:::-;6225;6293:2;6282:9;6278:18;6269:6;6225:72;:::i;:::-;6307:73;6375:3;6364:9;6360:19;6351:6;6307:73;:::i;:::-;5723:664;;;;;;;;:::o;6393:619::-;6470:6;6478;6486;6535:2;6523:9;6514:7;6510:23;6506:32;6503:119;;;6541:79;;:::i;:::-;6503:119;6661:1;6686:53;6731:7;6722:6;6711:9;6707:22;6686:53;:::i;:::-;6676:63;;6632:117;6788:2;6814:53;6859:7;6850:6;6839:9;6835:22;6814:53;:::i;:::-;6804:63;;6759:118;6916:2;6942:53;6987:7;6978:6;6967:9;6963:22;6942:53;:::i;:::-;6932:63;;6887:118;6393:619;;;;;:::o;7018:329::-;7077:6;7126:2;7114:9;7105:7;7101:23;7097:32;7094:119;;;7132:79;;:::i;:::-;7094:119;7252:1;7277:53;7322:7;7313:6;7302:9;7298:22;7277:53;:::i;:::-;7267:63;;7223:117;7018:329;;;;:::o;7353:86::-;7388:7;7428:4;7421:5;7417:16;7406:27;;7353:86;;;:::o;7445:112::-;7528:22;7544:5;7528:22;:::i;:::-;7523:3;7516:35;7445:112;;:::o;7563:214::-;7652:4;7690:2;7679:9;7675:18;7667:26;;7703:67;7767:1;7756:9;7752:17;7743:6;7703:67;:::i;:::-;7563:214;;;;:::o;7783:180::-;7831:77;7828:1;7821:88;7928:4;7925:1;7918:15;7952:4;7949:1;7942:15;7969:281;8052:27;8074:4;8052:27;:::i;:::-;8044:6;8040:40;8182:6;8170:10;8167:22;8146:18;8134:10;8131:34;8128:62;8125:88;;;8193:18;;:::i;:::-;8125:88;8233:10;8229:2;8222:22;8012:238;7969:281;;:::o;8256:129::-;8290:6;8317:20;;:::i;:::-;8307:30;;8346:33;8374:4;8366:6;8346:33;:::i;:::-;8256:129;;;:::o;8391:311::-;8468:4;8558:18;8550:6;8547:30;8544:56;;;8580:18;;:::i;:::-;8544:56;8630:4;8622:6;8618:17;8610:25;;8690:4;8684;8680:15;8672:23;;8391:311;;;:::o;8725:710::-;8821:5;8846:81;8862:64;8919:6;8862:64;:::i;:::-;8846:81;:::i;:::-;8837:90;;8947:5;8976:6;8969:5;8962:21;9010:4;9003:5;8999:16;8992:23;;9063:4;9055:6;9051:17;9043:6;9039:30;9092:3;9084:6;9081:15;9078:122;;;9111:79;;:::i;:::-;9078:122;9226:6;9209:220;9243:6;9238:3;9235:15;9209:220;;;9318:3;9347:37;9380:3;9368:10;9347:37;:::i;:::-;9342:3;9335:50;9414:4;9409:3;9405:14;9398:21;;9285:144;9269:4;9264:3;9260:14;9253:21;;9209:220;;;9213:21;8827:608;;8725:710;;;;;:::o;9458:370::-;9529:5;9578:3;9571:4;9563:6;9559:17;9555:27;9545:122;;9586:79;;:::i;:::-;9545:122;9703:6;9690:20;9728:94;9818:3;9810:6;9803:4;9795:6;9791:17;9728:94;:::i;:::-;9719:103;;9535:293;9458:370;;;;:::o;9834:678::-;9924:6;9932;9981:2;9969:9;9960:7;9956:23;9952:32;9949:119;;;9987:79;;:::i;:::-;9949:119;10135:1;10124:9;10120:17;10107:31;10165:18;10157:6;10154:30;10151:117;;;10187:79;;:::i;:::-;10151:117;10292:78;10362:7;10353:6;10342:9;10338:22;10292:78;:::i;:::-;10282:88;;10078:302;10419:2;10445:50;10487:7;10478:6;10467:9;10463:22;10445:50;:::i;:::-;10435:60;;10390:115;9834:678;;;;;:::o;10518:765::-;10604:6;10612;10620;10628;10677:3;10665:9;10656:7;10652:23;10648:33;10645:120;;;10684:79;;:::i;:::-;10645:120;10804:1;10829:53;10874:7;10865:6;10854:9;10850:22;10829:53;:::i;:::-;10819:63;;10775:117;10931:2;10957:53;11002:7;10993:6;10982:9;10978:22;10957:53;:::i;:::-;10947:63;;10902:118;11059:2;11085:53;11130:7;11121:6;11110:9;11106:22;11085:53;:::i;:::-;11075:63;;11030:118;11187:2;11213:53;11258:7;11249:6;11238:9;11234:22;11213:53;:::i;:::-;11203:63;;11158:118;10518:765;;;;;;;:::o;11289:118::-;11376:24;11394:5;11376:24;:::i;:::-;11371:3;11364:37;11289:118;;:::o;11413:553::-;11590:4;11628:3;11617:9;11613:19;11605:27;;11642:71;11710:1;11699:9;11695:17;11686:6;11642:71;:::i;:::-;11723:72;11791:2;11780:9;11776:18;11767:6;11723:72;:::i;:::-;11805;11873:2;11862:9;11858:18;11849:6;11805:72;:::i;:::-;11887;11955:2;11944:9;11940:18;11931:6;11887:72;:::i;:::-;11413:553;;;;;;;:::o;11972:222::-;12065:4;12103:2;12092:9;12088:18;12080:26;;12116:71;12184:1;12173:9;12169:17;12160:6;12116:71;:::i;:::-;11972:222;;;;:::o;12200:468::-;12265:6;12273;12322:2;12310:9;12301:7;12297:23;12293:32;12290:119;;;12328:79;;:::i;:::-;12290:119;12448:1;12473:53;12518:7;12509:6;12498:9;12494:22;12473:53;:::i;:::-;12463:63;;12419:117;12575:2;12601:50;12643:7;12634:6;12623:9;12619:22;12601:50;:::i;:::-;12591:60;;12546:115;12200:468;;;;;:::o;12674:619::-;12751:6;12759;12767;12816:2;12804:9;12795:7;12791:23;12787:32;12784:119;;;12822:79;;:::i;:::-;12784:119;12942:1;12967:53;13012:7;13003:6;12992:9;12988:22;12967:53;:::i;:::-;12957:63;;12913:117;13069:2;13095:53;13140:7;13131:6;13120:9;13116:22;13095:53;:::i;:::-;13085:63;;13040:118;13197:2;13223:53;13268:7;13259:6;13248:9;13244:22;13223:53;:::i;:::-;13213:63;;13168:118;12674:619;;;;;:::o;13299:765::-;13385:6;13393;13401;13409;13458:3;13446:9;13437:7;13433:23;13429:33;13426:120;;;13465:79;;:::i;:::-;13426:120;13585:1;13610:53;13655:7;13646:6;13635:9;13631:22;13610:53;:::i;:::-;13600:63;;13556:117;13712:2;13738:53;13783:7;13774:6;13763:9;13759:22;13738:53;:::i;:::-;13728:63;;13683:118;13840:2;13866:53;13911:7;13902:6;13891:9;13887:22;13866:53;:::i;:::-;13856:63;;13811:118;13968:2;13994:53;14039:7;14030:6;14019:9;14015:22;13994:53;:::i;:::-;13984:63;;13939:118;13299:765;;;;;;;:::o;14070:474::-;14138:6;14146;14195:2;14183:9;14174:7;14170:23;14166:32;14163:119;;;14201:79;;:::i;:::-;14163:119;14321:1;14346:53;14391:7;14382:6;14371:9;14367:22;14346:53;:::i;:::-;14336:63;;14292:117;14448:2;14474:53;14519:7;14510:6;14499:9;14495:22;14474:53;:::i;:::-;14464:63;;14419:118;14070:474;;;;;:::o;14550:60::-;14578:3;14599:5;14592:12;;14550:60;;;:::o;14616:142::-;14666:9;14699:53;14717:34;14726:24;14744:5;14726:24;:::i;:::-;14717:34;:::i;:::-;14699:53;:::i;:::-;14686:66;;14616:142;;;:::o;14764:126::-;14814:9;14847:37;14878:5;14847:37;:::i;:::-;14834:50;;14764:126;;;:::o;14896:152::-;14972:9;15005:37;15036:5;15005:37;:::i;:::-;14992:50;;14896:152;;;:::o;15054:183::-;15167:63;15224:5;15167:63;:::i;:::-;15162:3;15155:76;15054:183;;:::o;15243:274::-;15362:4;15400:2;15389:9;15385:18;15377:26;;15413:97;15507:1;15496:9;15492:17;15483:6;15413:97;:::i;:::-;15243:274;;;;:::o;15523:156::-;15663:8;15659:1;15651:6;15647:14;15640:32;15523:156;:::o;15685:365::-;15827:3;15848:66;15912:1;15907:3;15848:66;:::i;:::-;15841:73;;15923:93;16012:3;15923:93;:::i;:::-;16041:2;16036:3;16032:12;16025:19;;15685:365;;;:::o;16056:419::-;16222:4;16260:2;16249:9;16245:18;16237:26;;16309:9;16303:4;16299:20;16295:1;16284:9;16280:17;16273:47;16337:131;16463:4;16337:131;:::i;:::-;16329:139;;16056:419;;;:::o;16481:180::-;16529:77;16526:1;16519:88;16626:4;16623:1;16616:15;16650:4;16647:1;16640:15;16667:180;16715:77;16712:1;16705:88;16812:4;16809:1;16802:15;16836:4;16833:1;16826:15;16853:233;16892:3;16915:24;16933:5;16915:24;:::i;:::-;16906:33;;16961:66;16954:5;16951:77;16948:103;;17031:18;;:::i;:::-;16948:103;17078:1;17071:5;17067:13;17060:20;;16853:233;;;:::o;17092:::-;17232:34;17228:1;17220:6;17216:14;17209:58;17301:16;17296:2;17288:6;17284:15;17277:41;17092:233;:::o;17331:366::-;17473:3;17494:67;17558:2;17553:3;17494:67;:::i;:::-;17487:74;;17570:93;17659:3;17570:93;:::i;:::-;17688:2;17683:3;17679:12;17672:19;;17331:366;;;:::o;17703:419::-;17869:4;17907:2;17896:9;17892:18;17884:26;;17956:9;17950:4;17946:20;17942:1;17931:9;17927:17;17920:47;17984:131;18110:4;17984:131;:::i;:::-;17976:139;;17703:419;;;:::o;18128:243::-;18268:34;18264:1;18256:6;18252:14;18245:58;18337:26;18332:2;18324:6;18320:15;18313:51;18128:243;:::o;18377:366::-;18519:3;18540:67;18604:2;18599:3;18540:67;:::i;:::-;18533:74;;18616:93;18705:3;18616:93;:::i;:::-;18734:2;18729:3;18725:12;18718:19;;18377:366;;;:::o;18749:419::-;18915:4;18953:2;18942:9;18938:18;18930:26;;19002:9;18996:4;18992:20;18988:1;18977:9;18973:17;18966:47;19030:131;19156:4;19030:131;:::i;:::-;19022:139;;18749:419;;;:::o;19174:234::-;19314:34;19310:1;19302:6;19298:14;19291:58;19383:17;19378:2;19370:6;19366:15;19359:42;19174:234;:::o;19414:366::-;19556:3;19577:67;19641:2;19636:3;19577:67;:::i;:::-;19570:74;;19653:93;19742:3;19653:93;:::i;:::-;19771:2;19766:3;19762:12;19755:19;;19414:366;;;:::o;19786:419::-;19952:4;19990:2;19979:9;19975:18;19967:26;;20039:9;20033:4;20029:20;20025:1;20014:9;20010:17;20003:47;20067:131;20193:4;20067:131;:::i;:::-;20059:139;;19786:419;;;:::o;20211:410::-;20251:7;20274:20;20292:1;20274:20;:::i;:::-;20269:25;;20308:20;20326:1;20308:20;:::i;:::-;20303:25;;20363:1;20360;20356:9;20385:30;20403:11;20385:30;:::i;:::-;20374:41;;20564:1;20555:7;20551:15;20548:1;20545:22;20525:1;20518:9;20498:83;20475:139;;20594:18;;:::i;:::-;20475:139;20259:362;20211:410;;;;:::o;20627:180::-;20675:77;20672:1;20665:88;20772:4;20769:1;20762:15;20796:4;20793:1;20786:15;20813:185;20853:1;20870:20;20888:1;20870:20;:::i;:::-;20865:25;;20904:20;20922:1;20904:20;:::i;:::-;20899:25;;20943:1;20933:35;;20948:18;;:::i;:::-;20933:35;20990:1;20987;20983:9;20978:14;;20813:185;;;;:::o;21004:220::-;21144:34;21140:1;21132:6;21128:14;21121:58;21213:3;21208:2;21200:6;21196:15;21189:28;21004:220;:::o;21230:366::-;21372:3;21393:67;21457:2;21452:3;21393:67;:::i;:::-;21386:74;;21469:93;21558:3;21469:93;:::i;:::-;21587:2;21582:3;21578:12;21571:19;;21230:366;;;:::o;21602:419::-;21768:4;21806:2;21795:9;21791:18;21783:26;;21855:9;21849:4;21845:20;21841:1;21830:9;21826:17;21819:47;21883:131;22009:4;21883:131;:::i;:::-;21875:139;;21602:419;;;:::o;22027:194::-;22067:4;22087:20;22105:1;22087:20;:::i;:::-;22082:25;;22121:20;22139:1;22121:20;:::i;:::-;22116:25;;22165:1;22162;22158:9;22150:17;;22189:1;22183:4;22180:11;22177:37;;;22194:18;;:::i;:::-;22177:37;22027:194;;;;:::o;22227:177::-;22367:29;22363:1;22355:6;22351:14;22344:53;22227:177;:::o;22410:366::-;22552:3;22573:67;22637:2;22632:3;22573:67;:::i;:::-;22566:74;;22649:93;22738:3;22649:93;:::i;:::-;22767:2;22762:3;22758:12;22751:19;;22410:366;;;:::o;22782:419::-;22948:4;22986:2;22975:9;22971:18;22963:26;;23035:9;23029:4;23025:20;23021:1;23010:9;23006:17;22999:47;23063:131;23189:4;23063:131;:::i;:::-;23055:139;;22782:419;;;:::o;23207:191::-;23247:3;23266:20;23284:1;23266:20;:::i;:::-;23261:25;;23300:20;23318:1;23300:20;:::i;:::-;23295:25;;23343:1;23340;23336:9;23329:16;;23364:3;23361:1;23358:10;23355:36;;;23371:18;;:::i;:::-;23355:36;23207:191;;;;:::o;23404:224::-;23544:34;23540:1;23532:6;23528:14;23521:58;23613:7;23608:2;23600:6;23596:15;23589:32;23404:224;:::o;23634:366::-;23776:3;23797:67;23861:2;23856:3;23797:67;:::i;:::-;23790:74;;23873:93;23962:3;23873:93;:::i;:::-;23991:2;23986:3;23982:12;23975:19;;23634:366;;;:::o;24006:419::-;24172:4;24210:2;24199:9;24195:18;24187:26;;24259:9;24253:4;24249:20;24245:1;24234:9;24230:17;24223:47;24287:131;24413:4;24287:131;:::i;:::-;24279:139;;24006:419;;;:::o;24431:177::-;24571:29;24567:1;24559:6;24555:14;24548:53;24431:177;:::o;24614:366::-;24756:3;24777:67;24841:2;24836:3;24777:67;:::i;:::-;24770:74;;24853:93;24942:3;24853:93;:::i;:::-;24971:2;24966:3;24962:12;24955:19;;24614:366;;;:::o;24986:419::-;25152:4;25190:2;25179:9;25175:18;25167:26;;25239:9;25233:4;25229:20;25225:1;25214:9;25210:17;25203:47;25267:131;25393:4;25267:131;:::i;:::-;25259:139;;24986:419;;;:::o

Swarm Source

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