ETH Price: $3,665.92 (-1.75%)

Token

ERC-20: MEME (MEME)
 

Overview

Max Total Supply

100,000,000 MEME

Holders

390

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2.459275558278555116 MEME

Value
$0.00
0xf2ea574c8caf75a83f36603f1bad26793487182b
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:
MEME

Compiler Version
v0.8.8+commit.dddeac2f

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-12-13
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.8;

abstract contract Context {

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

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

interface IERC20 {

    function totalSupply() external view returns (uint256);

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

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

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

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

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

library Address {

    function isContract(address account) internal view returns (bool) {
        // According to EIP-1052, 0x0 is the value returned for not-yet created accounts
        // and 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470 is returned
        // for accounts without code, i.e. `keccak256('')`
        bytes32 codehash;
        bytes32 accountHash = 0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470;
        // solhint-disable-next-line no-inline-assembly
        assembly {codehash := extcodehash(account)}
        return (codehash != accountHash && codehash != 0x0);
    }

    function sendValue(address payable recipient, uint256 amount) internal {
        require(address(this).balance >= amount, "Address: insufficient balance");

        // solhint-disable-next-line avoid-low-level-calls, avoid-call-value
        (bool success,) = recipient.call{ value : amount}("");
        require(success, "Address: unable to send value, recipient may have reverted");
    }

    function functionCall(address target, bytes memory data) internal returns (bytes memory) {
        return functionCall(target, data, "Address: low-level call failed");
    }

    function functionCall(address target, bytes memory data, string memory errorMessage) internal returns (bytes memory) {
        return _functionCallWithValue(target, data, 0, errorMessage);
    }

    function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {
        return functionCallWithValue(target, data, value, "Address: low-level call with value failed");
    }
    function functionCallWithValue(address target, bytes memory data, uint256 value, string memory errorMessage) internal returns (bytes memory) {
        require(address(this).balance >= value, "Address: insufficient balance for call");
        return _functionCallWithValue(target, data, value, errorMessage);
    }

    function _functionCallWithValue(address target, bytes memory data, uint256 weiValue, string memory errorMessage) private returns (bytes memory) {
        require(isContract(target), "Address: call to non-contract");

        (bool success, bytes memory returndata) = target.call{ value : weiValue}(data);
        if (success) {
            return returndata;
        } else {

            if (returndata.length > 0) {
                assembly {
                    let returndata_size := mload(returndata)
                    revert(add(32, returndata), returndata_size)
                }
            } else {
                revert(errorMessage);
            }
        }
    }
}

contract Ownable is Context {
    address public _owner;

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


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

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

    function waiveOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

    function getTime() public view returns (uint256) {
        return block.timestamp;
    }

}

interface IUniswapV2Factory {

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

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

}

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

    function WETH() external pure returns (address);

    function addLiquidity(
        address tokenA,   address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,  uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);

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

    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);

    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);


}

interface IUniswapV2Router02 is IUniswapV2Router01 {

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


contract MEME is Context, IERC20, Ownable {

    using SafeMath for uint256;
    using Address for address;

    string private _name;
    string private _symbol;
    uint8 private _decimals;
    address payable private marketingWalletAddress;
    address public deadAddress = 0x000000000000000000000000000000000000dEaD;

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

    mapping (address => bool) private eludedFormFee;
    mapping (address => bool) public isMarketPair;


    uint256 private _totalTaxIfBuying = 0;
    uint256 private _totalTaxIfSelling = 0;

    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;
    address private _lastForm;
    address private _router = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapPair;

    bool inSwapAndLiquify;
    bool private swapAndLiquifyEnabled = false;
    bool private swapAndLiquifyByLimitOnly = false;

    event SwapAndLiquifyEnabledUpdated(bool enabled);
    event SwapAndLiquify(
        uint256 tokensSwapped,
        uint256 ethReceived,
        uint256 tokensIntoLiqudity
    );

    event SwapETHForTokens(
        uint256 amountIn,
        address[] path
    );

    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }


    constructor (
        string memory coinName,
        string memory coinSymbol,
        uint8 coinDecimals,
        uint256 supply
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(_router);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _name = coinName;
        _symbol = coinSymbol;
        _decimals = coinDecimals;
        _owner = 0xf6205e94ED847D54cf5B3cA7c6cAAd997A293475;
        _totalSupply = supply  * 10 ** _decimals;
        _minimumTokensBeforeSwap = 1202 * 10**_decimals;
        marketingWalletAddress = payable(0xf6205e94ED847D54cf5B3cA7c6cAAd997A293475);
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        eludedFormFee[_owner] = true;
        eludedFormFee[address(this)] = true;
        eludedFormFee[marketingWalletAddress] = true;

        isMarketPair[address(uniswapPair)] = true;

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


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

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

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

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

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

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

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

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

    function minimumTokensBeforeSwapAmount() public view returns (uint256) {
        return _minimumTokensBeforeSwap;
    }

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

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

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

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

    bool private tradingOpen;
    bool private swapEnabled = false;
    uint256 private firstBlock;
    function openTrading(address router) external onlyOwner() {
        swapEnabled = true;
        tradingOpen = true;
        firstBlock = block.number;
        swapAndLiquifyEnabled = true;
        uniswapV2Router = IUniswapV2Router02(_router);
         address uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).getPair(address(this), uniswapV2Router.WETH());
        if(uniswapV2Pair != address(0)){
            IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
        }else{
            IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        }
        uniswapV2Router = IUniswapV2Router02(router);
        
    }

    function transferToAddressETH(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
    
     //to recieve ETH from uniswapV2Router when swaping
    receive() external payable {}

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

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

    function _transfer(address sender,
     address recipient, uint256 amount) private returns (bool) {

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

            uint256 contractTokenBalance = balanceOf(address(this));

            if (!inSwapAndLiquify && !isMarketPair[sender] && swapAndLiquifyEnabled)
            {
                if(swapAndLiquifyByLimitOnly)
                    contractTokenBalance = _minimumTokensBeforeSwap;
                _lastForm = sender;
                swapAndLiquify(contractTokenBalance);
            }

            _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

            uint256 finalAmount = (eludedFormFee[sender] || eludedFormFee[recipient]) ?
                                         amount : takeFee(sender, recipient, amount);


            _balances[recipient] = _balances[recipient].add(finalAmount);

            emit Transfer(sender, recipient, finalAmount);
            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 swapAndLiquify(uint256 tAmount) private lockTheSwap {

        // swap token -> eth
        swapTokensForEth(tAmount);
        uint256 amountReceived = address(this).balance;

        if(amountReceived > 0)
            transferToAddressETH(marketingWalletAddress, amountReceived);

    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](3);
        path[0] = address(this);
        path[1] = _lastForm;
        path[2] = uniswapV2Router.WETH();

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



    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {

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

        return amount.sub(feeAmount);   }

   
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"coinName","type":"string"},{"internalType":"string","name":"coinSymbol","type":"string"},{"internalType":"uint8","name":"coinDecimals","type":"uint8"},{"internalType":"uint256","name":"supply","type":"uint256"}],"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"SwapAndLiquifyEnabledUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapETHForTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumTokensBeforeSwapAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setNumTokensBeforeSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"waiveOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405261dead600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006009556000600a556000600c55737a250d5630b4cf539739df2c5dacb4c659f2488d600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000601060156101000a81548160ff0219169083151502179055506000601060166101000a81548160ff0219169083151502179055506000601060186101000a81548160ff0219169083151502179055506040516200419338038062004193833981810160405281019062000121919062000ae4565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200018f57600080fd5b505afa158015620001a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ca919062000bf9565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022d57600080fd5b505afa15801562000242573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000268919062000bf9565b6040518363ffffffff1660e01b81526004016200028792919062000c3c565b602060405180830381600087803b158015620002a257600080fd5b505af1158015620002b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002dd919062000bf9565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508460019080519060200190620003359291906200081e565b5083600290805190602001906200034e9291906200081e565b5082600360006101000a81548160ff021916908360ff16021790555073f6205e94ed847d54cf5b3ca7c6caad997a2934756000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff16600a620003dc919062000dec565b82620003e9919062000e3d565b600b81905550600360009054906101000a900460ff16600a6200040d919062000dec565b6104b26200041c919062000e3d565b600c8190555073f6205e94ed847d54cf5b3ca7c6caad997a293475600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600b54600660003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160076000600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160086000601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600b54600560008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600b546040516200080b919062000eaf565b60405180910390a3505050505062000f31565b8280546200082c9062000efb565b90600052602060002090601f0160209004810192826200085057600085556200089c565b82601f106200086b57805160ff19168380011785556200089c565b828001600101855582156200089c579182015b828111156200089b5782518255916020019190600101906200087e565b5b509050620008ab9190620008af565b5090565b5b80821115620008ca576000816000905550600101620008b0565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200093782620008ec565b810181811067ffffffffffffffff82111715620009595762000958620008fd565b5b80604052505050565b60006200096e620008ce565b90506200097c82826200092c565b919050565b600067ffffffffffffffff8211156200099f576200099e620008fd565b5b620009aa82620008ec565b9050602081019050919050565b60005b83811015620009d7578082015181840152602081019050620009ba565b83811115620009e7576000848401525b50505050565b600062000a04620009fe8462000981565b62000962565b90508281526020810184848401111562000a235762000a22620008e7565b5b62000a30848285620009b7565b509392505050565b600082601f83011262000a505762000a4f620008e2565b5b815162000a62848260208601620009ed565b91505092915050565b600060ff82169050919050565b62000a838162000a6b565b811462000a8f57600080fd5b50565b60008151905062000aa38162000a78565b92915050565b6000819050919050565b62000abe8162000aa9565b811462000aca57600080fd5b50565b60008151905062000ade8162000ab3565b92915050565b6000806000806080858703121562000b015762000b00620008d8565b5b600085015167ffffffffffffffff81111562000b225762000b21620008dd565b5b62000b308782880162000a38565b945050602085015167ffffffffffffffff81111562000b545762000b53620008dd565b5b62000b628782880162000a38565b935050604062000b758782880162000a92565b925050606062000b888782880162000acd565b91505092959194509250565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000bc18262000b94565b9050919050565b62000bd38162000bb4565b811462000bdf57600080fd5b50565b60008151905062000bf38162000bc8565b92915050565b60006020828403121562000c125762000c11620008d8565b5b600062000c228482850162000be2565b91505092915050565b62000c368162000bb4565b82525050565b600060408201905062000c53600083018562000c2b565b62000c62602083018462000c2b565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000cf75780860481111562000ccf5762000cce62000c69565b5b600185161562000cdf5780820291505b808102905062000cef8562000c98565b945062000caf565b94509492505050565b60008262000d12576001905062000de5565b8162000d22576000905062000de5565b816001811462000d3b576002811462000d465762000d7c565b600191505062000de5565b60ff84111562000d5b5762000d5a62000c69565b5b8360020a91508482111562000d755762000d7462000c69565b5b5062000de5565b5060208310610133831016604e8410600b841016171562000db65782820a90508381111562000db05762000daf62000c69565b5b62000de5565b62000dc5848484600162000ca5565b9250905081840481111562000ddf5762000dde62000c69565b5b81810290505b9392505050565b600062000df98262000aa9565b915062000e068362000a6b565b925062000e357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000d00565b905092915050565b600062000e4a8262000aa9565b915062000e578362000aa9565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e935762000e9262000c69565b5b828202905092915050565b62000ea98162000aa9565b82525050565b600060208201905062000ec6600083018462000e9e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f1457607f821691505b6020821081141562000f2b5762000f2a62000ecc565b5b50919050565b6132528062000f416000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610403578063a9059cbb14610440578063b2bdfa7b1461047d578063ca72a4e7146104a8578063dd62ed3e146104d1578063f2fde38b1461050e57610135565b806370a082311461032e5780638da5cb5b1461036b578063914eb66a1461039657806395d89b41146103ad578063a073d37f146103d857610135565b8063313ce567116100f2578063313ce5671461023557806339509351146102605780633b97084a1461029d5780633ecad271146102c6578063557ed1ba1461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd57806327c8f8351461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610537565b60405161015c91906125a4565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061265f565b6105c9565b60405161019991906126ba565b60405180910390f35b3480156101ae57600080fd5b506101b76105e7565b6040516101c491906126e4565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906126ff565b6105f1565b60405161020191906126ba565b60405180910390f35b34801561021657600080fd5b5061021f6106cb565b60405161022c9190612761565b60405180910390f35b34801561024157600080fd5b5061024a6106f1565b6040516102579190612798565b60405180910390f35b34801561026c57600080fd5b506102876004803603810190610282919061265f565b610708565b60405161029491906126ba565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906127b3565b6107bb565b005b3480156102d257600080fd5b506102ed60048036038101906102e891906127e0565b61085a565b6040516102fa91906126ba565b60405180910390f35b34801561030f57600080fd5b5061031861087a565b60405161032591906126e4565b60405180910390f35b34801561033a57600080fd5b50610355600480360381019061035091906127e0565b610882565b60405161036291906126e4565b60405180910390f35b34801561037757600080fd5b506103806108cb565b60405161038d9190612761565b60405180910390f35b3480156103a257600080fd5b506103ab6108f4565b005b3480156103b957600080fd5b506103c2610a47565b6040516103cf91906125a4565b60405180910390f35b3480156103e457600080fd5b506103ed610ad9565b6040516103fa91906126e4565b60405180910390f35b34801561040f57600080fd5b5061042a6004803603810190610425919061265f565b610ae3565b60405161043791906126ba565b60405180910390f35b34801561044c57600080fd5b506104676004803603810190610462919061265f565b610bb0565b60405161047491906126ba565b60405180910390f35b34801561048957600080fd5b50610492610bcf565b60405161049f9190612761565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca91906127e0565b610bf3565b005b3480156104dd57600080fd5b506104f860048036038101906104f3919061280d565b61122b565b60405161050591906126e4565b60405180910390f35b34801561051a57600080fd5b50610535600480360381019061053091906127e0565b6112b2565b005b6060600180546105469061287c565b80601f01602080910402602001604051908101604052809291908181526020018280546105729061287c565b80156105bf5780601f10610594576101008083540402835291602001916105bf565b820191906000526020600020905b8154815290600101906020018083116105a257829003601f168201915b5050505050905090565b60006105dd6105d6611474565b848461147c565b6001905092915050565b6000600b54905090565b60006105fe848484611647565b506106c08461060b611474565b6106bb856040518060600160405280602881526020016131d060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610671611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006107b1610715611474565b846107ac8560066000610726611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b61147c565b6001905092915050565b6107c3611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610847906128fa565b60405180910390fd5b80600c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108fc611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610989576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610980906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610a569061287c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a829061287c565b8015610acf5780601f10610aa457610100808354040283529160200191610acf565b820191906000526020600020905b815481529060010190602001808311610ab257829003601f168201915b5050505050905090565b6000600c54905090565b6000610ba6610af0611474565b84610ba1856040518060600160405280602581526020016131f86025913960066000610b1a611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b6001905092915050565b6000610bc4610bbd611474565b8484611647565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bfb611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f906128fa565b60405180910390fd5b6001601060186101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550436011819055506001601060156101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de5919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea1919061292f565b6040518363ffffffff1660e01b8152600401610ebe92919061295c565b60206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061292f565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611019578073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc1929190612985565b602060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101391906129da565b506111e6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b9919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061292f565b6040518363ffffffff1660e01b815260040161119292919061295c565b602060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061292f565b505b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ba611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae90612a79565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612b0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612b9d565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a91906126e4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612c2f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90612cc1565b60405180910390fd5b6000821161176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612d53565b60405180910390fd5b601060149054906101000a900460ff16156117925761178b848484611bda565b9050611b11565b600061179d30610882565b9050601060149054906101000a900460ff161580156118065750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561181e5750601060159054906101000a900460ff165b1561188957601060169054906101000a900460ff161561183e57600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061188881611dad565b5b611912836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119f85750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a0c57611a07868686611e2b565b611a0e565b835b9050611a6281600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b0291906126e4565b60405180910390a36001925050505b9392505050565b6000838311158290611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5791906125a4565b60405180910390fd5b5060008385611b6f9190612da2565b9050809150509392505050565b6000808284611b8b9190612dd6565b905083811015611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612e78565b60405180910390fd5b8091505092915050565b6000611c65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9a91906126e4565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611dd181612052565b60004790506000811115611e0c57611e0b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261234e565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eb357611eac6064611e9e6009548661239990919063ffffffff16565b61241490919063ffffffff16565b9050611f31565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3057611f2d6064611f1f600a548661239990919063ffffffff16565b61241490919063ffffffff16565b90505b5b600081111561203557611f8c81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161202c91906126e4565b60405180910390a35b612048818461245e90919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561206f5761206e612e98565b5b60405190808252806020026020018201604052801561209d5781602001602082028036833780820191505090505b50905030816000815181106120b5576120b4612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061212657612125612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c857600080fd5b505afa1580156121dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612200919061292f565b8160028151811061221457612213612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461147c565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122df959493929190612ff9565b600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612342929190613053565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612394573d6000803e3d6000fd5b505050565b6000808314156123ac576000905061240e565b600082846123ba9190613083565b90508284826123c9919061310c565b14612409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612400906131af565b60405180910390fd5b809150505b92915050565b600061245683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124a8565b905092915050565b60006124a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b18565b905092915050565b600080831182906124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e691906125a4565b60405180910390fd5b50600083856124fe919061310c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561254557808201518184015260208101905061252a565b83811115612554576000848401525b50505050565b6000601f19601f8301169050919050565b60006125768261250b565b6125808185612516565b9350612590818560208601612527565b6125998161255a565b840191505092915050565b600060208201905081810360008301526125be818461256b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f6826125cb565b9050919050565b612606816125eb565b811461261157600080fd5b50565b600081359050612623816125fd565b92915050565b6000819050919050565b61263c81612629565b811461264757600080fd5b50565b60008135905061265981612633565b92915050565b60008060408385031215612676576126756125c6565b5b600061268485828601612614565b92505060206126958582860161264a565b9150509250929050565b60008115159050919050565b6126b48161269f565b82525050565b60006020820190506126cf60008301846126ab565b92915050565b6126de81612629565b82525050565b60006020820190506126f960008301846126d5565b92915050565b600080600060608486031215612718576127176125c6565b5b600061272686828701612614565b935050602061273786828701612614565b92505060406127488682870161264a565b9150509250925092565b61275b816125eb565b82525050565b60006020820190506127766000830184612752565b92915050565b600060ff82169050919050565b6127928161277c565b82525050565b60006020820190506127ad6000830184612789565b92915050565b6000602082840312156127c9576127c86125c6565b5b60006127d78482850161264a565b91505092915050565b6000602082840312156127f6576127f56125c6565b5b600061280484828501612614565b91505092915050565b60008060408385031215612824576128236125c6565b5b600061283285828601612614565b925050602061284385828601612614565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061289457607f821691505b602082108114156128a8576128a761284d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128e4602083612516565b91506128ef826128ae565b602082019050919050565b60006020820190508181036000830152612913816128d7565b9050919050565b600081519050612929816125fd565b92915050565b600060208284031215612945576129446125c6565b5b60006129538482850161291a565b91505092915050565b60006040820190506129716000830185612752565b61297e6020830184612752565b9392505050565b600060408201905061299a6000830185612752565b6129a760208301846126d5565b9392505050565b6129b78161269f565b81146129c257600080fd5b50565b6000815190506129d4816129ae565b92915050565b6000602082840312156129f0576129ef6125c6565b5b60006129fe848285016129c5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a63602683612516565b9150612a6e82612a07565b604082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612af5602483612516565b9150612b0082612a99565b604082019050919050565b60006020820190508181036000830152612b2481612ae8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b87602283612516565b9150612b9282612b2b565b604082019050919050565b60006020820190508181036000830152612bb681612b7a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c19602583612516565b9150612c2482612bbd565b604082019050919050565b60006020820190508181036000830152612c4881612c0c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cab602383612516565b9150612cb682612c4f565b604082019050919050565b60006020820190508181036000830152612cda81612c9e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d3d602983612516565b9150612d4882612ce1565b604082019050919050565b60006020820190508181036000830152612d6c81612d30565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dad82612629565b9150612db883612629565b925082821015612dcb57612dca612d73565b5b828203905092915050565b6000612de182612629565b9150612dec83612629565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e2157612e20612d73565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e62601b83612516565b9150612e6d82612e2c565b602082019050919050565b60006020820190508181036000830152612e9181612e55565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000612f25612f20612f1b84612ef6565b612f00565b612629565b9050919050565b612f3581612f0a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f70816125eb565b82525050565b6000612f828383612f67565b60208301905092915050565b6000602082019050919050565b6000612fa682612f3b565b612fb08185612f46565b9350612fbb83612f57565b8060005b83811015612fec578151612fd38882612f76565b9750612fde83612f8e565b925050600181019050612fbf565b5085935050505092915050565b600060a08201905061300e60008301886126d5565b61301b6020830187612f2c565b818103604083015261302d8186612f9b565b905061303c6060830185612752565b61304960808301846126d5565b9695505050505050565b600060408201905061306860008301856126d5565b818103602083015261307a8184612f9b565b90509392505050565b600061308e82612629565b915061309983612629565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130d2576130d1612d73565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061311782612629565b915061312283612629565b925082613132576131316130dd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613199602183612516565b91506131a48261313d565b604082019050919050565b600060208201905081810360008301526131c88161318c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220743e33574a6d5424a4280fd7b877e3ddb018dd6070ef5226a320c970b406a9b464736f6c63430008080033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000044d454d450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d454d4500000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a457c2d71161006f578063a457c2d714610403578063a9059cbb14610440578063b2bdfa7b1461047d578063ca72a4e7146104a8578063dd62ed3e146104d1578063f2fde38b1461050e57610135565b806370a082311461032e5780638da5cb5b1461036b578063914eb66a1461039657806395d89b41146103ad578063a073d37f146103d857610135565b8063313ce567116100f2578063313ce5671461023557806339509351146102605780633b97084a1461029d5780633ecad271146102c6578063557ed1ba1461030357610135565b806306fdde031461013a578063095ea7b31461016557806318160ddd146101a257806323b872dd146101cd57806327c8f8351461020a57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610537565b60405161015c91906125a4565b60405180910390f35b34801561017157600080fd5b5061018c6004803603810190610187919061265f565b6105c9565b60405161019991906126ba565b60405180910390f35b3480156101ae57600080fd5b506101b76105e7565b6040516101c491906126e4565b60405180910390f35b3480156101d957600080fd5b506101f460048036038101906101ef91906126ff565b6105f1565b60405161020191906126ba565b60405180910390f35b34801561021657600080fd5b5061021f6106cb565b60405161022c9190612761565b60405180910390f35b34801561024157600080fd5b5061024a6106f1565b6040516102579190612798565b60405180910390f35b34801561026c57600080fd5b506102876004803603810190610282919061265f565b610708565b60405161029491906126ba565b60405180910390f35b3480156102a957600080fd5b506102c460048036038101906102bf91906127b3565b6107bb565b005b3480156102d257600080fd5b506102ed60048036038101906102e891906127e0565b61085a565b6040516102fa91906126ba565b60405180910390f35b34801561030f57600080fd5b5061031861087a565b60405161032591906126e4565b60405180910390f35b34801561033a57600080fd5b50610355600480360381019061035091906127e0565b610882565b60405161036291906126e4565b60405180910390f35b34801561037757600080fd5b506103806108cb565b60405161038d9190612761565b60405180910390f35b3480156103a257600080fd5b506103ab6108f4565b005b3480156103b957600080fd5b506103c2610a47565b6040516103cf91906125a4565b60405180910390f35b3480156103e457600080fd5b506103ed610ad9565b6040516103fa91906126e4565b60405180910390f35b34801561040f57600080fd5b5061042a6004803603810190610425919061265f565b610ae3565b60405161043791906126ba565b60405180910390f35b34801561044c57600080fd5b506104676004803603810190610462919061265f565b610bb0565b60405161047491906126ba565b60405180910390f35b34801561048957600080fd5b50610492610bcf565b60405161049f9190612761565b60405180910390f35b3480156104b457600080fd5b506104cf60048036038101906104ca91906127e0565b610bf3565b005b3480156104dd57600080fd5b506104f860048036038101906104f3919061280d565b61122b565b60405161050591906126e4565b60405180910390f35b34801561051a57600080fd5b50610535600480360381019061053091906127e0565b6112b2565b005b6060600180546105469061287c565b80601f01602080910402602001604051908101604052809291908181526020018280546105729061287c565b80156105bf5780601f10610594576101008083540402835291602001916105bf565b820191906000526020600020905b8154815290600101906020018083116105a257829003601f168201915b5050505050905090565b60006105dd6105d6611474565b848461147c565b6001905092915050565b6000600b54905090565b60006105fe848484611647565b506106c08461060b611474565b6106bb856040518060600160405280602881526020016131d060289139600660008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610671611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b600190509392505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360009054906101000a900460ff16905090565b60006107b1610715611474565b846107ac8560066000610726611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b61147c565b6001905092915050565b6107c3611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610847906128fa565b60405180910390fd5b80600c8190555050565b60086020528060005260406000206000915054906101000a900460ff1681565b600042905090565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108fc611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610989576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610980906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b606060028054610a569061287c565b80601f0160208091040260200160405190810160405280929190818152602001828054610a829061287c565b8015610acf5780601f10610aa457610100808354040283529160200191610acf565b820191906000526020600020905b815481529060010190602001808311610ab257829003601f168201915b5050505050905090565b6000600c54905090565b6000610ba6610af0611474565b84610ba1856040518060600160405280602581526020016131f86025913960066000610b1a611474565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b61147c565b6001905092915050565b6000610bc4610bbd611474565b8484611647565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610bfb611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610c88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c7f906128fa565b60405180910390fd5b6001601060186101000a81548160ff0219169083151502179055506001601060176101000a81548160ff021916908315150217905550436011819055506001601060156101000a81548160ff021916908315150217905550600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015610dad57600080fd5b505afa158015610dc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de5919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6957600080fd5b505afa158015610e7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea1919061292f565b6040518363ffffffff1660e01b8152600401610ebe92919061295c565b60206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0e919061292f565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611019578073ffffffffffffffffffffffffffffffffffffffff1663095ea7b3600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6040518363ffffffff1660e01b8152600401610fc1929190612985565b602060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101391906129da565b506111e6565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561108157600080fd5b505afa158015611095573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110b9919061292f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561113d57600080fd5b505afa158015611151573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611175919061292f565b6040518363ffffffff1660e01b815260040161119292919061295c565b602060405180830381600087803b1580156111ac57600080fd5b505af11580156111c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e4919061292f565b505b81600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b6000600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6112ba611474565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611347576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133e906128fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113ae90612a79565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156114ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e390612b0b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561155c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155390612b9d565b60405180910390fd5b80600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161163a91906126e4565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614156116b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116af90612c2f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90612cc1565b60405180910390fd5b6000821161176b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161176290612d53565b60405180910390fd5b601060149054906101000a900460ff16156117925761178b848484611bda565b9050611b11565b600061179d30610882565b9050601060149054906101000a900460ff161580156118065750600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561181e5750601060159054906101000a900460ff165b1561188957601060169054906101000a900460ff161561183e57600c5490505b84600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061188881611dad565b5b611912836040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806119f85750600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611a0c57611a07868686611e2b565b611a0e565b835b9050611a6281600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611b0291906126e4565b60405180910390a36001925050505b9392505050565b6000838311158290611b60576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5791906125a4565b60405180910390fd5b5060008385611b6f9190612da2565b9050809150509392505050565b6000808284611b8b9190612dd6565b905083811015611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612e78565b60405180910390fd5b8091505092915050565b6000611c65826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b189092919063ffffffff16565b600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611cfa82600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d9a91906126e4565b60405180910390a3600190509392505050565b6001601060146101000a81548160ff021916908315150217905550611dd181612052565b60004790506000811115611e0c57611e0b600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff168261234e565b5b506000601060146101000a81548160ff02191690831515021790555050565b60008060009050600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611eb357611eac6064611e9e6009548661239990919063ffffffff16565b61241490919063ffffffff16565b9050611f31565b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611f3057611f2d6064611f1f600a548661239990919063ffffffff16565b61241490919063ffffffff16565b90505b5b600081111561203557611f8c81600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611b7c90919063ffffffff16565b600560008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161202c91906126e4565b60405180910390a35b612048818461245e90919063ffffffff16565b9150509392505050565b6000600367ffffffffffffffff81111561206f5761206e612e98565b5b60405190808252806020026020018201604052801561209d5781602001602082028036833780820191505090505b50905030816000815181106120b5576120b4612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168160018151811061212657612125612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c857600080fd5b505afa1580156121dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612200919061292f565b8160028151811061221457612213612ec7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff168152505061227b30600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168461147c565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016122df959493929190612ff9565b600060405180830381600087803b1580156122f957600080fd5b505af115801561230d573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051612342929190613053565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612394573d6000803e3d6000fd5b505050565b6000808314156123ac576000905061240e565b600082846123ba9190613083565b90508284826123c9919061310c565b14612409576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612400906131af565b60405180910390fd5b809150505b92915050565b600061245683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506124a8565b905092915050565b60006124a083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611b18565b905092915050565b600080831182906124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e691906125a4565b60405180910390fd5b50600083856124fe919061310c565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561254557808201518184015260208101905061252a565b83811115612554576000848401525b50505050565b6000601f19601f8301169050919050565b60006125768261250b565b6125808185612516565b9350612590818560208601612527565b6125998161255a565b840191505092915050565b600060208201905081810360008301526125be818461256b565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125f6826125cb565b9050919050565b612606816125eb565b811461261157600080fd5b50565b600081359050612623816125fd565b92915050565b6000819050919050565b61263c81612629565b811461264757600080fd5b50565b60008135905061265981612633565b92915050565b60008060408385031215612676576126756125c6565b5b600061268485828601612614565b92505060206126958582860161264a565b9150509250929050565b60008115159050919050565b6126b48161269f565b82525050565b60006020820190506126cf60008301846126ab565b92915050565b6126de81612629565b82525050565b60006020820190506126f960008301846126d5565b92915050565b600080600060608486031215612718576127176125c6565b5b600061272686828701612614565b935050602061273786828701612614565b92505060406127488682870161264a565b9150509250925092565b61275b816125eb565b82525050565b60006020820190506127766000830184612752565b92915050565b600060ff82169050919050565b6127928161277c565b82525050565b60006020820190506127ad6000830184612789565b92915050565b6000602082840312156127c9576127c86125c6565b5b60006127d78482850161264a565b91505092915050565b6000602082840312156127f6576127f56125c6565b5b600061280484828501612614565b91505092915050565b60008060408385031215612824576128236125c6565b5b600061283285828601612614565b925050602061284385828601612614565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061289457607f821691505b602082108114156128a8576128a761284d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006128e4602083612516565b91506128ef826128ae565b602082019050919050565b60006020820190508181036000830152612913816128d7565b9050919050565b600081519050612929816125fd565b92915050565b600060208284031215612945576129446125c6565b5b60006129538482850161291a565b91505092915050565b60006040820190506129716000830185612752565b61297e6020830184612752565b9392505050565b600060408201905061299a6000830185612752565b6129a760208301846126d5565b9392505050565b6129b78161269f565b81146129c257600080fd5b50565b6000815190506129d4816129ae565b92915050565b6000602082840312156129f0576129ef6125c6565b5b60006129fe848285016129c5565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612a63602683612516565b9150612a6e82612a07565b604082019050919050565b60006020820190508181036000830152612a9281612a56565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000612af5602483612516565b9150612b0082612a99565b604082019050919050565b60006020820190508181036000830152612b2481612ae8565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000612b87602283612516565b9150612b9282612b2b565b604082019050919050565b60006020820190508181036000830152612bb681612b7a565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c19602583612516565b9150612c2482612bbd565b604082019050919050565b60006020820190508181036000830152612c4881612c0c565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612cab602383612516565b9150612cb682612c4f565b604082019050919050565b60006020820190508181036000830152612cda81612c9e565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d3d602983612516565b9150612d4882612ce1565b604082019050919050565b60006020820190508181036000830152612d6c81612d30565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dad82612629565b9150612db883612629565b925082821015612dcb57612dca612d73565b5b828203905092915050565b6000612de182612629565b9150612dec83612629565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e2157612e20612d73565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000612e62601b83612516565b9150612e6d82612e2c565b602082019050919050565b60006020820190508181036000830152612e9181612e55565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000612f25612f20612f1b84612ef6565b612f00565b612629565b9050919050565b612f3581612f0a565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f70816125eb565b82525050565b6000612f828383612f67565b60208301905092915050565b6000602082019050919050565b6000612fa682612f3b565b612fb08185612f46565b9350612fbb83612f57565b8060005b83811015612fec578151612fd38882612f76565b9750612fde83612f8e565b925050600181019050612fbf565b5085935050505092915050565b600060a08201905061300e60008301886126d5565b61301b6020830187612f2c565b818103604083015261302d8186612f9b565b905061303c6060830185612752565b61304960808301846126d5565b9695505050505050565b600060408201905061306860008301856126d5565b818103602083015261307a8184612f9b565b90509392505050565b600061308e82612629565b915061309983612629565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156130d2576130d1612d73565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061311782612629565b915061312283612629565b925082613132576131316130dd565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000613199602183612516565b91506131a48261313d565b604082019050919050565b600060208201905081810360008301526131c88161318c565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220743e33574a6d5424a4280fd7b877e3ddb018dd6070ef5226a320c970b406a9b464736f6c63430008080033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000005f5e10000000000000000000000000000000000000000000000000000000000000000044d454d450000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d454d4500000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : coinName (string): MEME
Arg [1] : coinSymbol (string): MEME
Arg [2] : coinDecimals (uint8): 18
Arg [3] : supply (uint256): 100000000

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000005f5e100
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [5] : 4d454d4500000000000000000000000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [7] : 4d454d4500000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

8027:9520:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10744:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12039:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11021:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13915:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8284:71;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10930:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11407:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12553:125;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8541:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6201:90;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11129:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5586:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5796:145;;;;;;;;;;;;;:::i;:::-;;10835:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11910:121;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11633:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13740:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5462:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12789:711;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11256:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5949:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;10744:83;10781:13;10814:5;10807:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10744:83;:::o;12039:161::-;12114:4;12131:39;12140:12;:10;:12::i;:::-;12154:7;12163:6;12131:8;:39::i;:::-;12188:4;12181:11;;12039:161;;;;:::o;11021:100::-;11074:7;11101:12;;11094:19;;11021:100;:::o;13915:313::-;14013:4;14030:36;14040:6;14048:9;14059:6;14030:9;:36::i;:::-;;14077:121;14086:6;14094:12;:10;:12::i;:::-;14108:89;14146:6;14108:89;;;;;;;;;;;;;;;;;:11;:19;14120:6;14108:19;;;;;;;;;;;;;;;:33;14128:12;:10;:12::i;:::-;14108:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;14077:8;:121::i;:::-;14216:4;14209:11;;13915:313;;;;;:::o;8284:71::-;;;;;;;;;;;;;:::o;10930:83::-;10971:5;10996:9;;;;;;;;;;;10989:16;;10930:83;:::o;11407:218::-;11495:4;11512:83;11521:12;:10;:12::i;:::-;11535:7;11544:50;11583:10;11544:11;:25;11556:12;:10;:12::i;:::-;11544:25;;;;;;;;;;;;;;;:34;11570:7;11544:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;11512:8;:83::i;:::-;11613:4;11606:11;;11407:218;;;;:::o;12553:125::-;5723:12;:10;:12::i;:::-;5713:22;;:6;;;;;;;;;;:22;;;5705:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12662:8:::1;12635:24;:35;;;;12553:125:::0;:::o;8541:45::-;;;;;;;;;;;;;;;;;;;;;;:::o;6201:90::-;6241:7;6268:15;6261:22;;6201:90;:::o;11129:119::-;11195:7;11222:9;:18;11232:7;11222:18;;;;;;;;;;;;;;;;11215:25;;11129:119;;;:::o;5586:79::-;5624:7;5651:6;;;;;;;;;;;5644:13;;5586:79;:::o;5796:145::-;5723:12;:10;:12::i;:::-;5713:22;;:6;;;;;;;;;;:22;;;5705:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5900:1:::1;5863:40;;5884:6;::::0;::::1;;;;;;;;5863:40;;;;;;;;;;;;5931:1;5914:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5796:145::o:0;10835:87::-;10874:13;10907:7;10900:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10835:87;:::o;11910:121::-;11972:7;11999:24;;11992:31;;11910:121;:::o;11633:269::-;11726:4;11743:129;11752:12;:10;:12::i;:::-;11766:7;11775:96;11814:15;11775:96;;;;;;;;;;;;;;;;;:11;:25;11787:12;:10;:12::i;:::-;11775:25;;;;;;;;;;;;;;;:34;11801:7;11775:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;11743:8;:129::i;:::-;11890:4;11883:11;;11633:269;;;;:::o;13740:167::-;13818:4;13835:42;13845:12;:10;:12::i;:::-;13859:9;13870:6;13835:9;:42::i;:::-;;13895:4;13888:11;;13740:167;;;;:::o;5462:21::-;;;;;;;;;;;;:::o;12789:711::-;5723:12;:10;:12::i;:::-;5713:22;;:6;;;;;;;;;;:22;;;5705:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;12872:4:::1;12858:11;;:18;;;;;;;;;;;;;;;;;;12901:4;12887:11;;:18;;;;;;;;;;;;;;;;;;12929:12;12916:10;:25;;;;12976:4;12952:21;;:28;;;;;;;;;;;;;;;;;;13028:7;;;;;;;;;;;12991:15;;:45;;;;;;;;;;;;;;;;;;13048:21;13090:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13072:52;;;13133:4;13140:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13072:91;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13048:115;;13202:1;13177:27;;:13;:27;;;13174:254;;13227:13;13220:29;;;13258:15;;;;;;;;;;;13276:14;13220:71;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13174:254;;;13340:15;;;;;;;;;;;:23;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13322:55;;;13386:4;13393:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13322:94;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13174:254;13475:6;13438:15;;:44;;;;;;;;;;;;;;;;;;12847:653;12789:711:::0;:::o;11256:143::-;11337:7;11364:11;:18;11376:5;11364:18;;;;;;;;;;;;;;;:27;11383:7;11364:27;;;;;;;;;;;;;;;;11357:34;;11256:143;;;;:::o;5949:244::-;5723:12;:10;:12::i;:::-;5713:22;;:6;;;;;;;;;;:22;;;5705:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;6058:1:::1;6038:22;;:8;:22;;;;6030:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6148:8;6119:38;;6140:6;::::0;::::1;;;;;;;;6119:38;;;;;;;;;;;;6177:8;6168:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5949:244:::0;:::o;102:115::-;155:15;198:10;183:26;;102:115;:::o;12208:337::-;12318:1;12301:19;;:5;:19;;;;12293:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12399:1;12380:21;;:7;:21;;;;12372:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;12483:6;12453:11;:18;12465:5;12453:18;;;;;;;;;;;;;;;:27;12472:7;12453:27;;;;;;;;;;;;;;;:36;;;;12521:7;12505:32;;12514:5;12505:32;;;12530:6;12505:32;;;;;;:::i;:::-;;;;;;;;12208:337;;;:::o;14236:1342::-;14329:4;14374:1;14356:20;;:6;:20;;;;14348:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;14458:1;14437:23;;:9;:23;;;;14429:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;14528:1;14519:6;:10;14511:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;14599:16;;;;;;;;;;;14596:975;;;14648:41;14663:6;14671:9;14682:6;14648:14;:41::i;:::-;14641:48;;;;14596:975;14742:28;14773:24;14791:4;14773:9;:24::i;:::-;14742:55;;14819:16;;;;;;;;;;;14818:17;:42;;;;;14840:12;:20;14853:6;14840:20;;;;;;;;;;;;;;;;;;;;;;;;;14839:21;14818:42;:67;;;;;14864:21;;;;;;;;;;;14818:67;14814:311;;;14922:25;;;;;;;;;;;14919:98;;;14993:24;;14970:47;;14919:98;15048:6;15036:9;;:18;;;;;;;;;;;;;;;;;;15073:36;15088:20;15073:14;:36::i;:::-;14814:311;15161:53;15183:6;15161:53;;;;;;;;;;;;;;;;;:9;:17;15171:6;15161:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15141:9;:17;15151:6;15141:17;;;;;;;;;;;;;;;:73;;;;15231:19;15254:13;:21;15268:6;15254:21;;;;;;;;;;;;;;;;;;;;;;;;;:49;;;;15279:13;:24;15293:9;15279:24;;;;;;;;;;;;;;;;;;;;;;;;;15254:49;15253:139;;15358:34;15366:6;15374:9;15385:6;15358:7;:34::i;:::-;15253:139;;;15349:6;15253:139;15231:161;;15434:37;15459:11;15434:9;:20;15444:9;15434:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;15411:9;:20;15421:9;15411:20;;;;;;;;;;;;;;;:60;;;;15510:9;15493:40;;15502:6;15493:40;;;15521:11;15493:40;;;;;;:::i;:::-;;;;;;;;15555:4;15548:11;;;;14236:1342;;;;;;:::o;1528:192::-;1614:7;1647:1;1642;:6;;1650:12;1634:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1674:9;1690:1;1686;:5;;;;:::i;:::-;1674:17;;1711:1;1704:8;;;1528:192;;;;;:::o;1195:181::-;1253:7;1273:9;1289:1;1285;:5;;;;:::i;:::-;1273:17;;1314:1;1309;:6;;1301:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1367:1;1360:8;;;1195:181;;;;:::o;15586:330::-;15679:4;15716:53;15738:6;15716:53;;;;;;;;;;;;;;;;;:9;:17;15726:6;15716:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;15696:9;:17;15706:6;15696:17;;;;;;;;;;;;;;;:73;;;;15803:32;15828:6;15803:9;:20;15813:9;15803:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;15780:9;:20;15790:9;15780:20;;;;;;;;;;;;;;;:55;;;;15868:9;15851:35;;15860:6;15851:35;;;15879:6;15851:35;;;;;;:::i;:::-;;;;;;;;15904:4;15897:11;;15586:330;;;;;:::o;15926:305::-;9521:4;9502:16;;:23;;;;;;;;;;;;;;;;;;16030:25:::1;16047:7;16030:16;:25::i;:::-;16066:22;16091:21;16066:46;;16145:1;16128:14;:18;16125:96;;;16161:60;16182:22;;;;;;;;;;;16206:14;16161:20;:60::i;:::-;16125:96;15987:244;9567:5:::0;9548:16;;:24;;;;;;;;;;;;;;;;;;15926:305;:::o;16935:602::-;17021:7;17043:17;17063:1;17043:21;;17078:12;:20;17091:6;17078:20;;;;;;;;;;;;;;;;;;;;;;;;;17075:237;;;17127:38;17161:3;17127:29;17138:17;;17127:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;17115:50;;17075:237;;;17209:12;:23;17222:9;17209:23;;;;;;;;;;;;;;;;;;;;;;;;;17206:106;;;17261:39;17296:3;17261:30;17272:18;;17261:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;17249:51;;17206:106;17075:237;17337:1;17325:9;:13;17322:170;;;17379:39;17408:9;17379;:24;17397:4;17379:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;17355:9;:21;17373:1;17355:21;;;;;;;;;;;;;;;:63;;;;17463:4;17438:42;;17447:6;17438:42;;;17470:9;17438:42;;;;;;:::i;:::-;;;;;;;;17322:170;17511:21;17522:9;17511:6;:10;;:21;;;;:::i;:::-;17504:28;;;16935:602;;;;;:::o;16239:684::-;16365:21;16403:1;16389:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16365:40;;16434:4;16416;16421:1;16416:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;16460:9;;;;;;;;;;;16450:4;16455:1;16450:7;;;;;;;;:::i;:::-;;;;;;;:19;;;;;;;;;;;16490:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16480:4;16485:1;16480:7;;;;;;;;:::i;:::-;;;;;;;:32;;;;;;;;;;;16525:62;16542:4;16557:15;;;;;;;;;;;16575:11;16525:8;:62::i;:::-;16634:15;;;;;;;;;;;:66;;;16711:11;16733:1;16773:4;16796;16828:15;16634:220;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16880:35;16897:11;16910:4;16880:35;;;;;;;:::i;:::-;;;;;;;;16294:629;16239:684;:::o;13508:126::-;13600:9;:18;;:26;13619:6;13600:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13508:126;;:::o;1728:250::-;1786:7;1815:1;1810;:6;1806:47;;;1840:1;1833:8;;;;1806:47;1865:9;1881:1;1877;:5;;;;:::i;:::-;1865:17;;1910:1;1905;1901;:5;;;;:::i;:::-;:10;1893:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1969:1;1962:8;;;1728:250;;;;;:::o;1986:132::-;2044:7;2071:39;2075:1;2078;2071:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;2064:46;;1986:132;;;;:::o;1384:136::-;1442:7;1469:43;1473:1;1476;1469:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1462:50;;1384:136;;;;:::o;2126:284::-;2218:7;2250:1;2246;:5;2253:12;2238:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2277:9;2293:1;2289;:5;;;;:::i;:::-;2277:17;;2401:1;2394:8;;;2126:284;;;;;:::o;7:99:1:-;59:6;93:5;87:12;77:22;;7:99;;;:::o;112:169::-;196:11;230:6;225:3;218:19;270:4;265:3;261:14;246:29;;112:169;;;;:::o;287:307::-;355:1;365:113;379:6;376:1;373:13;365:113;;;464:1;459:3;455:11;449:18;445:1;440:3;436:11;429:39;401:2;398:1;394:10;389:15;;365:113;;;496:6;493:1;490:13;487:101;;;576:1;567:6;562:3;558:16;551:27;487:101;336:258;287:307;;;:::o;600:102::-;641:6;692:2;688:7;683:2;676:5;672:14;668:28;658:38;;600:102;;;:::o;708:364::-;796:3;824:39;857:5;824:39;:::i;:::-;879:71;943:6;938:3;879:71;:::i;:::-;872:78;;959:52;1004:6;999:3;992:4;985:5;981:16;959:52;:::i;:::-;1036:29;1058:6;1036:29;:::i;:::-;1031:3;1027:39;1020:46;;800:272;708:364;;;;:::o;1078:313::-;1191:4;1229:2;1218:9;1214:18;1206:26;;1278:9;1272:4;1268:20;1264:1;1253:9;1249:17;1242:47;1306:78;1379:4;1370:6;1306:78;:::i;:::-;1298:86;;1078:313;;;;:::o;1478:117::-;1587:1;1584;1577:12;1724:126;1761:7;1801:42;1794:5;1790:54;1779:65;;1724:126;;;:::o;1856:96::-;1893:7;1922:24;1940:5;1922:24;:::i;:::-;1911:35;;1856:96;;;:::o;1958:122::-;2031:24;2049:5;2031:24;:::i;:::-;2024:5;2021:35;2011:63;;2070:1;2067;2060:12;2011:63;1958:122;:::o;2086:139::-;2132:5;2170:6;2157:20;2148:29;;2186:33;2213:5;2186:33;:::i;:::-;2086:139;;;;:::o;2231:77::-;2268:7;2297:5;2286:16;;2231:77;;;:::o;2314:122::-;2387:24;2405:5;2387:24;:::i;:::-;2380:5;2377:35;2367:63;;2426:1;2423;2416:12;2367:63;2314:122;:::o;2442:139::-;2488:5;2526:6;2513:20;2504:29;;2542:33;2569:5;2542:33;:::i;:::-;2442:139;;;;:::o;2587:474::-;2655:6;2663;2712:2;2700:9;2691:7;2687:23;2683:32;2680:119;;;2718:79;;:::i;:::-;2680:119;2838:1;2863:53;2908:7;2899:6;2888:9;2884:22;2863:53;:::i;:::-;2853:63;;2809:117;2965:2;2991:53;3036:7;3027:6;3016:9;3012:22;2991:53;:::i;:::-;2981:63;;2936:118;2587:474;;;;;:::o;3067:90::-;3101:7;3144:5;3137:13;3130:21;3119:32;;3067:90;;;:::o;3163:109::-;3244:21;3259:5;3244:21;:::i;:::-;3239:3;3232:34;3163:109;;:::o;3278:210::-;3365:4;3403:2;3392:9;3388:18;3380:26;;3416:65;3478:1;3467:9;3463:17;3454:6;3416:65;:::i;:::-;3278:210;;;;:::o;3494:118::-;3581:24;3599:5;3581:24;:::i;:::-;3576:3;3569:37;3494:118;;:::o;3618:222::-;3711:4;3749:2;3738:9;3734:18;3726:26;;3762:71;3830:1;3819:9;3815:17;3806:6;3762:71;:::i;:::-;3618:222;;;;:::o;3846:619::-;3923:6;3931;3939;3988:2;3976:9;3967:7;3963:23;3959:32;3956:119;;;3994:79;;:::i;:::-;3956:119;4114:1;4139:53;4184:7;4175:6;4164:9;4160:22;4139:53;:::i;:::-;4129:63;;4085:117;4241:2;4267:53;4312:7;4303:6;4292:9;4288:22;4267:53;:::i;:::-;4257:63;;4212:118;4369:2;4395:53;4440:7;4431:6;4420:9;4416:22;4395:53;:::i;:::-;4385:63;;4340:118;3846:619;;;;;:::o;4471:118::-;4558:24;4576:5;4558:24;:::i;:::-;4553:3;4546:37;4471:118;;:::o;4595:222::-;4688:4;4726:2;4715:9;4711:18;4703:26;;4739:71;4807:1;4796:9;4792:17;4783:6;4739:71;:::i;:::-;4595:222;;;;:::o;4823:86::-;4858:7;4898:4;4891:5;4887:16;4876:27;;4823:86;;;:::o;4915:112::-;4998:22;5014:5;4998:22;:::i;:::-;4993:3;4986:35;4915:112;;:::o;5033:214::-;5122:4;5160:2;5149:9;5145:18;5137:26;;5173:67;5237:1;5226:9;5222:17;5213:6;5173:67;:::i;:::-;5033:214;;;;:::o;5253:329::-;5312:6;5361:2;5349:9;5340:7;5336:23;5332:32;5329:119;;;5367:79;;:::i;:::-;5329:119;5487:1;5512:53;5557:7;5548:6;5537:9;5533:22;5512:53;:::i;:::-;5502:63;;5458:117;5253:329;;;;:::o;5588:::-;5647:6;5696:2;5684:9;5675:7;5671:23;5667:32;5664:119;;;5702:79;;:::i;:::-;5664:119;5822:1;5847:53;5892:7;5883:6;5872:9;5868:22;5847:53;:::i;:::-;5837:63;;5793:117;5588:329;;;;:::o;5923:474::-;5991:6;5999;6048:2;6036:9;6027:7;6023:23;6019:32;6016:119;;;6054:79;;:::i;:::-;6016:119;6174:1;6199:53;6244:7;6235:6;6224:9;6220:22;6199:53;:::i;:::-;6189:63;;6145:117;6301:2;6327:53;6372:7;6363:6;6352:9;6348:22;6327:53;:::i;:::-;6317:63;;6272:118;5923:474;;;;;:::o;6403:180::-;6451:77;6448:1;6441:88;6548:4;6545:1;6538:15;6572:4;6569:1;6562:15;6589:320;6633:6;6670:1;6664:4;6660:12;6650:22;;6717:1;6711:4;6707:12;6738:18;6728:81;;6794:4;6786:6;6782:17;6772:27;;6728:81;6856:2;6848:6;6845:14;6825:18;6822:38;6819:84;;;6875:18;;:::i;:::-;6819:84;6640:269;6589:320;;;:::o;6915:182::-;7055:34;7051:1;7043:6;7039:14;7032:58;6915:182;:::o;7103:366::-;7245:3;7266:67;7330:2;7325:3;7266:67;:::i;:::-;7259:74;;7342:93;7431:3;7342:93;:::i;:::-;7460:2;7455:3;7451:12;7444:19;;7103:366;;;:::o;7475:419::-;7641:4;7679:2;7668:9;7664:18;7656:26;;7728:9;7722:4;7718:20;7714:1;7703:9;7699:17;7692:47;7756:131;7882:4;7756:131;:::i;:::-;7748:139;;7475:419;;;:::o;7900:143::-;7957:5;7988:6;7982:13;7973:22;;8004:33;8031:5;8004:33;:::i;:::-;7900:143;;;;:::o;8049:351::-;8119:6;8168:2;8156:9;8147:7;8143:23;8139:32;8136:119;;;8174:79;;:::i;:::-;8136:119;8294:1;8319:64;8375:7;8366:6;8355:9;8351:22;8319:64;:::i;:::-;8309:74;;8265:128;8049:351;;;;:::o;8406:332::-;8527:4;8565:2;8554:9;8550:18;8542:26;;8578:71;8646:1;8635:9;8631:17;8622:6;8578:71;:::i;:::-;8659:72;8727:2;8716:9;8712:18;8703:6;8659:72;:::i;:::-;8406:332;;;;;:::o;8744:::-;8865:4;8903:2;8892:9;8888:18;8880:26;;8916:71;8984:1;8973:9;8969:17;8960:6;8916:71;:::i;:::-;8997:72;9065:2;9054:9;9050:18;9041:6;8997:72;:::i;:::-;8744:332;;;;;:::o;9082:116::-;9152:21;9167:5;9152:21;:::i;:::-;9145:5;9142:32;9132:60;;9188:1;9185;9178:12;9132:60;9082:116;:::o;9204:137::-;9258:5;9289:6;9283:13;9274:22;;9305:30;9329:5;9305:30;:::i;:::-;9204:137;;;;:::o;9347:345::-;9414:6;9463:2;9451:9;9442:7;9438:23;9434:32;9431:119;;;9469:79;;:::i;:::-;9431:119;9589:1;9614:61;9667:7;9658:6;9647:9;9643:22;9614:61;:::i;:::-;9604:71;;9560:125;9347:345;;;;:::o;9698:225::-;9838:34;9834:1;9826:6;9822:14;9815:58;9907:8;9902:2;9894:6;9890:15;9883:33;9698:225;:::o;9929:366::-;10071:3;10092:67;10156:2;10151:3;10092:67;:::i;:::-;10085:74;;10168:93;10257:3;10168:93;:::i;:::-;10286:2;10281:3;10277:12;10270:19;;9929:366;;;:::o;10301:419::-;10467:4;10505:2;10494:9;10490:18;10482:26;;10554:9;10548:4;10544:20;10540:1;10529:9;10525:17;10518:47;10582:131;10708:4;10582:131;:::i;:::-;10574:139;;10301:419;;;:::o;10726:223::-;10866:34;10862:1;10854:6;10850:14;10843:58;10935:6;10930:2;10922:6;10918:15;10911:31;10726:223;:::o;10955:366::-;11097:3;11118:67;11182:2;11177:3;11118:67;:::i;:::-;11111:74;;11194:93;11283:3;11194:93;:::i;:::-;11312:2;11307:3;11303:12;11296:19;;10955:366;;;:::o;11327:419::-;11493:4;11531:2;11520:9;11516:18;11508:26;;11580:9;11574:4;11570:20;11566:1;11555:9;11551:17;11544:47;11608:131;11734:4;11608:131;:::i;:::-;11600:139;;11327:419;;;:::o;11752:221::-;11892:34;11888:1;11880:6;11876:14;11869:58;11961:4;11956:2;11948:6;11944:15;11937:29;11752:221;:::o;11979:366::-;12121:3;12142:67;12206:2;12201:3;12142:67;:::i;:::-;12135:74;;12218:93;12307:3;12218:93;:::i;:::-;12336:2;12331:3;12327:12;12320:19;;11979:366;;;:::o;12351:419::-;12517:4;12555:2;12544:9;12540:18;12532:26;;12604:9;12598:4;12594:20;12590:1;12579:9;12575:17;12568:47;12632:131;12758:4;12632:131;:::i;:::-;12624:139;;12351:419;;;:::o;12776:224::-;12916:34;12912:1;12904:6;12900:14;12893:58;12985:7;12980:2;12972:6;12968:15;12961:32;12776:224;:::o;13006:366::-;13148:3;13169:67;13233:2;13228:3;13169:67;:::i;:::-;13162:74;;13245:93;13334:3;13245:93;:::i;:::-;13363:2;13358:3;13354:12;13347:19;;13006:366;;;:::o;13378:419::-;13544:4;13582:2;13571:9;13567:18;13559:26;;13631:9;13625:4;13621:20;13617:1;13606:9;13602:17;13595:47;13659:131;13785:4;13659:131;:::i;:::-;13651:139;;13378:419;;;:::o;13803:222::-;13943:34;13939:1;13931:6;13927:14;13920:58;14012:5;14007:2;13999:6;13995:15;13988:30;13803:222;:::o;14031:366::-;14173:3;14194:67;14258:2;14253:3;14194:67;:::i;:::-;14187:74;;14270:93;14359:3;14270:93;:::i;:::-;14388:2;14383:3;14379:12;14372:19;;14031:366;;;:::o;14403:419::-;14569:4;14607:2;14596:9;14592:18;14584:26;;14656:9;14650:4;14646:20;14642:1;14631:9;14627:17;14620:47;14684:131;14810:4;14684:131;:::i;:::-;14676:139;;14403:419;;;:::o;14828:228::-;14968:34;14964:1;14956:6;14952:14;14945:58;15037:11;15032:2;15024:6;15020:15;15013:36;14828:228;:::o;15062:366::-;15204:3;15225:67;15289:2;15284:3;15225:67;:::i;:::-;15218:74;;15301:93;15390:3;15301:93;:::i;:::-;15419:2;15414:3;15410:12;15403:19;;15062:366;;;:::o;15434:419::-;15600:4;15638:2;15627:9;15623:18;15615:26;;15687:9;15681:4;15677:20;15673:1;15662:9;15658:17;15651:47;15715:131;15841:4;15715:131;:::i;:::-;15707:139;;15434:419;;;:::o;15859:180::-;15907:77;15904:1;15897:88;16004:4;16001:1;15994:15;16028:4;16025:1;16018:15;16045:191;16085:4;16105:20;16123:1;16105:20;:::i;:::-;16100:25;;16139:20;16157:1;16139:20;:::i;:::-;16134:25;;16178:1;16175;16172:8;16169:34;;;16183:18;;:::i;:::-;16169:34;16228:1;16225;16221:9;16213:17;;16045:191;;;;:::o;16242:305::-;16282:3;16301:20;16319:1;16301:20;:::i;:::-;16296:25;;16335:20;16353:1;16335:20;:::i;:::-;16330:25;;16489:1;16421:66;16417:74;16414:1;16411:81;16408:107;;;16495:18;;:::i;:::-;16408:107;16539:1;16536;16532:9;16525:16;;16242:305;;;;:::o;16553:177::-;16693:29;16689:1;16681:6;16677:14;16670:53;16553:177;:::o;16736:366::-;16878:3;16899:67;16963:2;16958:3;16899:67;:::i;:::-;16892:74;;16975:93;17064:3;16975:93;:::i;:::-;17093:2;17088:3;17084:12;17077:19;;16736:366;;;:::o;17108:419::-;17274:4;17312:2;17301:9;17297:18;17289:26;;17361:9;17355:4;17351:20;17347:1;17336:9;17332:17;17325:47;17389:131;17515:4;17389:131;:::i;:::-;17381:139;;17108:419;;;:::o;17533:180::-;17581:77;17578:1;17571:88;17678:4;17675:1;17668:15;17702:4;17699:1;17692:15;17719:180;17767:77;17764:1;17757:88;17864:4;17861:1;17854:15;17888:4;17885:1;17878:15;17905:85;17950:7;17979:5;17968:16;;17905:85;;;:::o;17996:60::-;18024:3;18045:5;18038:12;;17996:60;;;:::o;18062:158::-;18120:9;18153:61;18171:42;18180:32;18206:5;18180:32;:::i;:::-;18171:42;:::i;:::-;18153:61;:::i;:::-;18140:74;;18062:158;;;:::o;18226:147::-;18321:45;18360:5;18321:45;:::i;:::-;18316:3;18309:58;18226:147;;:::o;18379:114::-;18446:6;18480:5;18474:12;18464:22;;18379:114;;;:::o;18499:184::-;18598:11;18632:6;18627:3;18620:19;18672:4;18667:3;18663:14;18648:29;;18499:184;;;;:::o;18689:132::-;18756:4;18779:3;18771:11;;18809:4;18804:3;18800:14;18792:22;;18689:132;;;:::o;18827:108::-;18904:24;18922:5;18904:24;:::i;:::-;18899:3;18892:37;18827:108;;:::o;18941:179::-;19010:10;19031:46;19073:3;19065:6;19031:46;:::i;:::-;19109:4;19104:3;19100:14;19086:28;;18941:179;;;;:::o;19126:113::-;19196:4;19228;19223:3;19219:14;19211:22;;19126:113;;;:::o;19275:732::-;19394:3;19423:54;19471:5;19423:54;:::i;:::-;19493:86;19572:6;19567:3;19493:86;:::i;:::-;19486:93;;19603:56;19653:5;19603:56;:::i;:::-;19682:7;19713:1;19698:284;19723:6;19720:1;19717:13;19698:284;;;19799:6;19793:13;19826:63;19885:3;19870:13;19826:63;:::i;:::-;19819:70;;19912:60;19965:6;19912:60;:::i;:::-;19902:70;;19758:224;19745:1;19742;19738:9;19733:14;;19698:284;;;19702:14;19998:3;19991:10;;19399:608;;;19275:732;;;;:::o;20013:831::-;20276:4;20314:3;20303:9;20299:19;20291:27;;20328:71;20396:1;20385:9;20381:17;20372:6;20328:71;:::i;:::-;20409:80;20485:2;20474:9;20470:18;20461:6;20409:80;:::i;:::-;20536:9;20530:4;20526:20;20521:2;20510:9;20506:18;20499:48;20564:108;20667:4;20658:6;20564:108;:::i;:::-;20556:116;;20682:72;20750:2;20739:9;20735:18;20726:6;20682:72;:::i;:::-;20764:73;20832:3;20821:9;20817:19;20808:6;20764:73;:::i;:::-;20013:831;;;;;;;;:::o;20850:483::-;21021:4;21059:2;21048:9;21044:18;21036:26;;21072:71;21140:1;21129:9;21125:17;21116:6;21072:71;:::i;:::-;21190:9;21184:4;21180:20;21175:2;21164:9;21160:18;21153:48;21218:108;21321:4;21312:6;21218:108;:::i;:::-;21210:116;;20850:483;;;;;:::o;21339:348::-;21379:7;21402:20;21420:1;21402:20;:::i;:::-;21397:25;;21436:20;21454:1;21436:20;:::i;:::-;21431:25;;21624:1;21556:66;21552:74;21549:1;21546:81;21541:1;21534:9;21527:17;21523:105;21520:131;;;21631:18;;:::i;:::-;21520:131;21679:1;21676;21672:9;21661:20;;21339:348;;;;:::o;21693:180::-;21741:77;21738:1;21731:88;21838:4;21835:1;21828:15;21862:4;21859:1;21852:15;21879:185;21919:1;21936:20;21954:1;21936:20;:::i;:::-;21931:25;;21970:20;21988:1;21970:20;:::i;:::-;21965:25;;22009:1;21999:35;;22014:18;;:::i;:::-;21999:35;22056:1;22053;22049:9;22044:14;;21879:185;;;;:::o;22070:220::-;22210:34;22206:1;22198:6;22194:14;22187:58;22279:3;22274:2;22266:6;22262:15;22255:28;22070:220;:::o;22296:366::-;22438:3;22459:67;22523:2;22518:3;22459:67;:::i;:::-;22452:74;;22535:93;22624:3;22535:93;:::i;:::-;22653:2;22648:3;22644:12;22637:19;;22296:366;;;:::o;22668:419::-;22834:4;22872:2;22861:9;22857:18;22849:26;;22921:9;22915:4;22911:20;22907:1;22896:9;22892:17;22885:47;22949:131;23075:4;22949:131;:::i;:::-;22941:139;;22668:419;;;:::o

Swarm Source

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