ETH Price: $3,485.74 (+0.41%)
Gas: 4 Gwei

Token

XMoon (XMoon)
 

Overview

Max Total Supply

10,000,000 XMoon

Holders

295

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
2.506731081331225602 XMoon

Value
$0.00
0x118283857Bb49f8Bb34c3c8331d511ddBC4a7F19
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:
XMoonToken

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-17
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^0.8.4;

abstract contract Context {

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

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

interface IERC20 {

    function totalSupply() external view returns (uint256);

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

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

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

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

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

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

library SafeMath {

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

    function 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;
    }


}

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);

}

interface IUniswapV2Router02 is IUniswapV2Router01 {

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


contract XMoonToken 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;
    

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


    uint256 public _totalTaxIfBuying = 1;
    uint256 public _totalTaxIfSelling = 1;
    uint256 private _totalSupply;
    uint256 private _minimumTokensBeforeSwap = 0;


    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapPair;

    bool inSwapAndLiquify;
    bool private swapAndLiquifyEnabled = true;
    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 (
        uint256 supply
    ) payable {

        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _name = "XMoon";
        _symbol = "XMoon";
        _owner = 0x8d58B3bD2027cF642e0eD26f25544013B7691afb;
        marketingWalletAddress = payable(0x8d58B3bD2027cF642e0eD26f25544013B7691afb);

        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        _decimals = 18;
        _totalSupply = supply  * 10 ** _decimals;
        _minimumTokensBeforeSwap = _totalSupply.mul(2).div(10**5); // 0.02%
        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;

        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 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 setSwapAndLiquifyEnabled(bool _enabled) public onlyOwner {
        swapAndLiquifyEnabled = _enabled;
        emit SwapAndLiquifyEnabledUpdated(_enabled);
    }

    
    function setFee(uint256 buy,uint256 sell) public onlyOwner {
        _totalTaxIfBuying = buy;
        _totalTaxIfSelling = sell;
    }


    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));
            bool overMinimumTokenBalance = contractTokenBalance >= _minimumTokensBeforeSwap;

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

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

            uint256 finalAmount = 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[](2);
        path[0] = address(this);
        path[1] = 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(this)] = _balances[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

   
}

Contract Security Audit

Contract ABI

[{"inputs":[{"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":[],"name":"_totalTaxIfBuying","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalTaxIfSelling","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"buy","type":"uint256"},{"internalType":"uint256","name":"sell","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","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"}]

6080604052600160075560016008556000600a556001600c60156101000a81548160ff0219169083151502179055506000600c60166101000a81548160ff021916908315150217905550604051620038dd380380620038dd83398181016040528101906200006e9190620008ce565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506040518060400160405280600581526020017f584d6f6f6e00000000000000000000000000000000000000000000000000000081525060019080519060200190620000d4929190620007c4565b506040518060400160405280600581526020017f584d6f6f6e0000000000000000000000000000000000000000000000000000008152506002908051906020019062000122929190620007c4565b50738d58b3bd2027cf642e0ed26f25544013b7691afb6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550738d58b3bd2027cf642e0ed26f25544013b7691afb600360016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156200021357600080fd5b505afa15801562000228573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200024e9190620008a2565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002b157600080fd5b505afa158015620002c6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ec9190620008a2565b6040518363ffffffff1660e01b81526004016200030b92919062000984565b602060405180830381600087803b1580156200032657600080fd5b505af11580156200033b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003619190620008a2565b600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600360006101000a81548160ff021916908360ff160217905550600360009054906101000a900460ff16600a620003db919062000ac3565b82620003e8919062000c00565b60098190555062000427620186a06200041360026009546200068660201b62000e631790919060201c565b6200070a60201b62000ede1790919060201c565b600a8190555080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600954600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160066000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600954600460008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620006769190620009f7565b60405180910390a3505062000e46565b6000808314156200069b576000905062000704565b60008284620006ab919062000c00565b9050828482620006bc919062000a30565b14620006ff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006f690620009d5565b60405180910390fd5b809150505b92915050565b60006200075483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506200075c60201b60201c565b905092915050565b60008083118290620007a6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200079d9190620009b1565b60405180910390fd5b5060008385620007b7919062000a30565b9050809150509392505050565b828054620007d29062000ce2565b90600052602060002090601f016020900481019282620007f6576000855562000842565b82601f106200081157805160ff191683800117855562000842565b8280016001018555821562000842579182015b828111156200084157825182559160200191906001019062000824565b5b50905062000851919062000855565b5090565b5b808211156200087057600081600090555060010162000856565b5090565b600081519050620008858162000e12565b92915050565b6000815190506200089c8162000e2c565b92915050565b600060208284031215620008b557600080fd5b6000620008c58482850162000874565b91505092915050565b600060208284031215620008e157600080fd5b6000620008f1848285016200088b565b91505092915050565b620009058162000c61565b82525050565b6000620009188262000a14565b62000924818562000a1f565b93506200093681856020860162000cac565b620009418162000da5565b840191505092915050565b60006200095b60218362000a1f565b9150620009688262000dc3565b604082019050919050565b6200097e8162000c95565b82525050565b60006040820190506200099b6000830185620008fa565b620009aa6020830184620008fa565b9392505050565b60006020820190508181036000830152620009cd81846200090b565b905092915050565b60006020820190508181036000830152620009f0816200094c565b9050919050565b600060208201905062000a0e600083018462000973565b92915050565b600081519050919050565b600082825260208201905092915050565b600062000a3d8262000c95565b915062000a4a8362000c95565b92508262000a5d5762000a5c62000d47565b5b828204905092915050565b6000808291508390505b600185111562000aba5780860481111562000a925762000a9162000d18565b5b600185161562000aa25780820291505b808102905062000ab28562000db6565b945062000a72565b94509492505050565b600062000ad08262000c95565b915062000add8362000c9f565b925062000b0c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b14565b905092915050565b60008262000b26576001905062000bf9565b8162000b36576000905062000bf9565b816001811462000b4f576002811462000b5a5762000b90565b600191505062000bf9565b60ff84111562000b6f5762000b6e62000d18565b5b8360020a91508482111562000b895762000b8862000d18565b5b5062000bf9565b5060208310610133831016604e8410600b841016171562000bca5782820a90508381111562000bc45762000bc362000d18565b5b62000bf9565b62000bd9848484600162000a68565b9250905081840481111562000bf35762000bf262000d18565b5b81810290505b9392505050565b600062000c0d8262000c95565b915062000c1a8362000c95565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000c565762000c5562000d18565b5b828202905092915050565b600062000c6e8262000c75565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101562000ccc57808201518184015260208101905062000caf565b8381111562000cdc576000848401525b50505050565b6000600282049050600182168062000cfb57607f821691505b6020821081141562000d125762000d1162000d76565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b62000e1d8162000c61565b811462000e2957600080fd5b50565b62000e378162000c95565b811462000e4357600080fd5b50565b612a878062000e566000396000f3fe6080604052600436106101185760003560e01c80638da5cb5b116100a0578063b2bdfa7b11610064578063b2bdfa7b146103d4578063c49b9a80146103ff578063dd62ed3e14610428578063f0cd1dac14610465578063f2fde38b146104905761011f565b80638da5cb5b146102ed578063914eb66a1461031857806395d89b411461032f578063a457c2d71461035a578063a9059cbb146103975761011f565b8063313ce567116100e7578063313ce567146101f4578063395093511461021f57806352f7c9881461025c57806370a082311461028557806382eefb43146102c25761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b506101396104b9565b604051610146919061226e565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611f53565b61054b565b6040516101839190612253565b60405180910390f35b34801561019857600080fd5b506101a1610569565b6040516101ae91906123b0565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190611f04565b610573565b6040516101eb9190612253565b60405180910390f35b34801561020057600080fd5b5061020961064d565b6040516102169190612455565b60405180910390f35b34801561022b57600080fd5b5061024660048036038101906102419190611f53565b610664565b6040516102539190612253565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190611fb8565b610717565b005b34801561029157600080fd5b506102ac60048036038101906102a79190611e76565b6107be565b6040516102b991906123b0565b60405180910390f35b3480156102ce57600080fd5b506102d7610807565b6040516102e491906123b0565b60405180910390f35b3480156102f957600080fd5b5061030261080d565b60405161030f9190612238565b60405180910390f35b34801561032457600080fd5b5061032d610836565b005b34801561033b57600080fd5b50610344610989565b604051610351919061226e565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190611f53565b610a1b565b60405161038e9190612253565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b99190611f53565b610ae8565b6040516103cb9190612253565b60405180910390f35b3480156103e057600080fd5b506103e9610b07565b6040516103f69190612238565b60405180910390f35b34801561040b57600080fd5b5061042660048036038101906104219190611f8f565b610b2b565b005b34801561043457600080fd5b5061044f600480360381019061044a9190611ec8565b610c14565b60405161045c91906123b0565b60405180910390f35b34801561047157600080fd5b5061047a610c9b565b60405161048791906123b0565b60405180910390f35b34801561049c57600080fd5b506104b760048036038101906104b29190611e76565b610ca1565b005b6060600180546104c890612674565b80601f01602080910402602001604051908101604052809291908181526020018280546104f490612674565b80156105415780601f1061051657610100808354040283529160200191610541565b820191906000526020600020905b81548152906001019060200180831161052457829003601f168201915b5050505050905090565b600061055f610558610f28565b8484610f30565b6001905092915050565b6000600954905090565b60006105808484846110fb565b506106428461058d610f28565b61063d85604051806060016040528060288152602001612a0560289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f3610f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b610f30565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600061070d610671610f28565b846107088560056000610682610f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b610f30565b6001905092915050565b61071f610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a390612330565b60405180910390fd5b81600781905550806008819055505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61083e610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c290612330565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60606002805461099890612674565b80601f01602080910402602001604051908101604052809291908181526020018280546109c490612674565b8015610a115780601f106109e657610100808354040283529160200191610a11565b820191906000526020600020905b8154815290600101906020018083116109f457829003601f168201915b5050505050905090565b6000610ade610a28610f28565b84610ad985604051806060016040528060258152602001612a2d6025913960056000610a52610f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b610f30565b6001905092915050565b6000610afc610af5610f28565b84846110fb565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b33610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb790612330565b60405180910390fd5b80600c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051610c099190612253565b60405180910390a150565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b610ca9610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2d90612330565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d906122b0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415610e765760009050610ed8565b60008284610e84919061254c565b9050828482610e93919061251b565b14610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612310565b60405180910390fd5b809150505b92915050565b6000610f2083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9790612390565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611010576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611007906122d0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ee91906123b0565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390612370565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390612290565b60405180910390fd5b6000821161121f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121690612350565b60405180910390fd5b600c60149054906101000a900460ff16156112465761123f848484611618565b90506114ec565b6000611251306107be565b90506000600a5482101590508080156112775750600c60149054906101000a900460ff16155b80156112cd5750600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156112e55750600c60159054906101000a900460ff165b1561130f57600c60169054906101000a900460ff161561130557600a5491505b61130e826117eb565b5b611398846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006113e8878787611869565b905061143c81600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114dc91906123b0565b60405180910390a3600193505050505b9392505050565b600083831115829061153b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611532919061226e565b60405180910390fd5b506000838561154a91906125a6565b9050809150509392505050565b600080828461156691906124c5565b9050838110156115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a2906122f0565b60405180910390fd5b8091505092915050565b600080831182906115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f3919061226e565b60405180910390fd5b506000838561160b919061251b565b9050809150509392505050565b60006116a3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061173882600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d891906123b0565b60405180910390a3600190509392505050565b6001600c60146101000a81548160ff02191690831515021790555061180f81611a90565b6000479050600081111561184a57611849600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611d8d565b5b506000600c60146101000a81548160ff02191690831515021790555050565b60008060009050600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118f1576118ea60646118dc60075486610e6390919063ffffffff16565b610ede90919063ffffffff16565b905061196f565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561196e5761196b606461195d60085486610e6390919063ffffffff16565b610ede90919063ffffffff16565b90505b5b6000811115611a73576119ca81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6a91906123b0565b60405180910390a35b611a868184611dd890919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115611ad3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b015781602001602082028036833780820191505090505b5090503081600081518110611b3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611be157600080fd5b505afa158015611bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c199190611e9f565b81600181518110611c53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cba30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f30565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d1e9594939291906123fb565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d819291906123cb565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dd3573d6000803e3d6000fd5b505050565b6000611e1a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114f3565b905092915050565b600081359050611e31816129bf565b92915050565b600081519050611e46816129bf565b92915050565b600081359050611e5b816129d6565b92915050565b600081359050611e70816129ed565b92915050565b600060208284031215611e8857600080fd5b6000611e9684828501611e22565b91505092915050565b600060208284031215611eb157600080fd5b6000611ebf84828501611e37565b91505092915050565b60008060408385031215611edb57600080fd5b6000611ee985828601611e22565b9250506020611efa85828601611e22565b9150509250929050565b600080600060608486031215611f1957600080fd5b6000611f2786828701611e22565b9350506020611f3886828701611e22565b9250506040611f4986828701611e61565b9150509250925092565b60008060408385031215611f6657600080fd5b6000611f7485828601611e22565b9250506020611f8585828601611e61565b9150509250929050565b600060208284031215611fa157600080fd5b6000611faf84828501611e4c565b91505092915050565b60008060408385031215611fcb57600080fd5b6000611fd985828601611e61565b9250506020611fea85828601611e61565b9150509250929050565b6000612000838361200c565b60208301905092915050565b612015816125da565b82525050565b612024816125da565b82525050565b600061203582612480565b61203f81856124a3565b935061204a83612470565b8060005b8381101561207b5781516120628882611ff4565b975061206d83612496565b92505060018101905061204e565b5085935050505092915050565b612091816125ec565b82525050565b6120a08161262f565b82525050565b60006120b18261248b565b6120bb81856124b4565b93506120cb818560208601612641565b6120d481612733565b840191505092915050565b60006120ec6023836124b4565b91506120f782612744565b604082019050919050565b600061210f6026836124b4565b915061211a82612793565b604082019050919050565b60006121326022836124b4565b915061213d826127e2565b604082019050919050565b6000612155601b836124b4565b915061216082612831565b602082019050919050565b60006121786021836124b4565b91506121838261285a565b604082019050919050565b600061219b6020836124b4565b91506121a6826128a9565b602082019050919050565b60006121be6029836124b4565b91506121c9826128d2565b604082019050919050565b60006121e16025836124b4565b91506121ec82612921565b604082019050919050565b60006122046024836124b4565b915061220f82612970565b604082019050919050565b61222381612618565b82525050565b61223281612622565b82525050565b600060208201905061224d600083018461201b565b92915050565b60006020820190506122686000830184612088565b92915050565b6000602082019050818103600083015261228881846120a6565b905092915050565b600060208201905081810360008301526122a9816120df565b9050919050565b600060208201905081810360008301526122c981612102565b9050919050565b600060208201905081810360008301526122e981612125565b9050919050565b6000602082019050818103600083015261230981612148565b9050919050565b600060208201905081810360008301526123298161216b565b9050919050565b600060208201905081810360008301526123498161218e565b9050919050565b60006020820190508181036000830152612369816121b1565b9050919050565b60006020820190508181036000830152612389816121d4565b9050919050565b600060208201905081810360008301526123a9816121f7565b9050919050565b60006020820190506123c5600083018461221a565b92915050565b60006040820190506123e0600083018561221a565b81810360208301526123f2818461202a565b90509392505050565b600060a082019050612410600083018861221a565b61241d6020830187612097565b818103604083015261242f818661202a565b905061243e606083018561201b565b61244b608083018461221a565b9695505050505050565b600060208201905061246a6000830184612229565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124d082612618565b91506124db83612618565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125105761250f6126a6565b5b828201905092915050565b600061252682612618565b915061253183612618565b925082612541576125406126d5565b5b828204905092915050565b600061255782612618565b915061256283612618565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561259b5761259a6126a6565b5b828202905092915050565b60006125b182612618565b91506125bc83612618565b9250828210156125cf576125ce6126a6565b5b828203905092915050565b60006125e5826125f8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061263a82612618565b9050919050565b60005b8381101561265f578082015181840152602081019050612644565b8381111561266e576000848401525b50505050565b6000600282049050600182168061268c57607f821691505b602082108114156126a05761269f612704565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6129c8816125da565b81146129d357600080fd5b50565b6129df816125ec565b81146129ea57600080fd5b50565b6129f681612618565b8114612a0157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209333514d618f8fa6916eea08d3643d7381479538172147c59804aef771b26f3864736f6c634300080400330000000000000000000000000000000000000000000000000000000000989680

Deployed Bytecode

0x6080604052600436106101185760003560e01c80638da5cb5b116100a0578063b2bdfa7b11610064578063b2bdfa7b146103d4578063c49b9a80146103ff578063dd62ed3e14610428578063f0cd1dac14610465578063f2fde38b146104905761011f565b80638da5cb5b146102ed578063914eb66a1461031857806395d89b411461032f578063a457c2d71461035a578063a9059cbb146103975761011f565b8063313ce567116100e7578063313ce567146101f4578063395093511461021f57806352f7c9881461025c57806370a082311461028557806382eefb43146102c25761011f565b806306fdde0314610124578063095ea7b31461014f57806318160ddd1461018c57806323b872dd146101b75761011f565b3661011f57005b600080fd5b34801561013057600080fd5b506101396104b9565b604051610146919061226e565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611f53565b61054b565b6040516101839190612253565b60405180910390f35b34801561019857600080fd5b506101a1610569565b6040516101ae91906123b0565b60405180910390f35b3480156101c357600080fd5b506101de60048036038101906101d99190611f04565b610573565b6040516101eb9190612253565b60405180910390f35b34801561020057600080fd5b5061020961064d565b6040516102169190612455565b60405180910390f35b34801561022b57600080fd5b5061024660048036038101906102419190611f53565b610664565b6040516102539190612253565b60405180910390f35b34801561026857600080fd5b50610283600480360381019061027e9190611fb8565b610717565b005b34801561029157600080fd5b506102ac60048036038101906102a79190611e76565b6107be565b6040516102b991906123b0565b60405180910390f35b3480156102ce57600080fd5b506102d7610807565b6040516102e491906123b0565b60405180910390f35b3480156102f957600080fd5b5061030261080d565b60405161030f9190612238565b60405180910390f35b34801561032457600080fd5b5061032d610836565b005b34801561033b57600080fd5b50610344610989565b604051610351919061226e565b60405180910390f35b34801561036657600080fd5b50610381600480360381019061037c9190611f53565b610a1b565b60405161038e9190612253565b60405180910390f35b3480156103a357600080fd5b506103be60048036038101906103b99190611f53565b610ae8565b6040516103cb9190612253565b60405180910390f35b3480156103e057600080fd5b506103e9610b07565b6040516103f69190612238565b60405180910390f35b34801561040b57600080fd5b5061042660048036038101906104219190611f8f565b610b2b565b005b34801561043457600080fd5b5061044f600480360381019061044a9190611ec8565b610c14565b60405161045c91906123b0565b60405180910390f35b34801561047157600080fd5b5061047a610c9b565b60405161048791906123b0565b60405180910390f35b34801561049c57600080fd5b506104b760048036038101906104b29190611e76565b610ca1565b005b6060600180546104c890612674565b80601f01602080910402602001604051908101604052809291908181526020018280546104f490612674565b80156105415780601f1061051657610100808354040283529160200191610541565b820191906000526020600020905b81548152906001019060200180831161052457829003601f168201915b5050505050905090565b600061055f610558610f28565b8484610f30565b6001905092915050565b6000600954905090565b60006105808484846110fb565b506106428461058d610f28565b61063d85604051806060016040528060288152602001612a0560289139600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006105f3610f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b610f30565b600190509392505050565b6000600360009054906101000a900460ff16905090565b600061070d610671610f28565b846107088560056000610682610f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b610f30565b6001905092915050565b61071f610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a390612330565b60405180910390fd5b81600781905550806008819055505050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60085481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61083e610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146108cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c290612330565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60606002805461099890612674565b80601f01602080910402602001604051908101604052809291908181526020018280546109c490612674565b8015610a115780601f106109e657610100808354040283529160200191610a11565b820191906000526020600020905b8154815290600101906020018083116109f457829003601f168201915b5050505050905090565b6000610ade610a28610f28565b84610ad985604051806060016040528060258152602001612a2d6025913960056000610a52610f28565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b610f30565b6001905092915050565b6000610afc610af5610f28565b84846110fb565b506001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610b33610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb790612330565b60405180910390fd5b80600c60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051610c099190612253565b60405180910390a150565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60075481565b610ca9610f28565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2d90612330565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610da6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d9d906122b0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080831415610e765760009050610ed8565b60008284610e84919061254c565b9050828482610e93919061251b565b14610ed3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eca90612310565b60405180910390fd5b809150505b92915050565b6000610f2083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115b5565b905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fa0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f9790612390565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611010576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611007906122d0565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516110ee91906123b0565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561116c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116390612370565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156111dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d390612290565b60405180910390fd5b6000821161121f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161121690612350565b60405180910390fd5b600c60149054906101000a900460ff16156112465761123f848484611618565b90506114ec565b6000611251306107be565b90506000600a5482101590508080156112775750600c60149054906101000a900460ff16155b80156112cd5750600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156112e55750600c60159054906101000a900460ff165b1561130f57600c60169054906101000a900460ff161561130557600a5491505b61130e826117eb565b5b611398846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060006113e8878787611869565b905061143c81600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114dc91906123b0565b60405180910390a3600193505050505b9392505050565b600083831115829061153b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611532919061226e565b60405180910390fd5b506000838561154a91906125a6565b9050809150509392505050565b600080828461156691906124c5565b9050838110156115ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115a2906122f0565b60405180910390fd5b8091505092915050565b600080831182906115fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115f3919061226e565b60405180910390fd5b506000838561160b919061251b565b9050809150509392505050565b60006116a3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546114f39092919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061173882600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117d891906123b0565b60405180910390a3600190509392505050565b6001600c60146101000a81548160ff02191690831515021790555061180f81611a90565b6000479050600081111561184a57611849600360019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611d8d565b5b506000600c60146101000a81548160ff02191690831515021790555050565b60008060009050600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156118f1576118ea60646118dc60075486610e6390919063ffffffff16565b610ede90919063ffffffff16565b905061196f565b600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561196e5761196b606461195d60085486610e6390919063ffffffff16565b610ede90919063ffffffff16565b90505b5b6000811115611a73576119ca81600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461155790919063ffffffff16565b600460003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611a6a91906123b0565b60405180910390a35b611a868184611dd890919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115611ad3577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604051908082528060200260200182016040528015611b015781602001602082028036833780820191505090505b5090503081600081518110611b3f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611be157600080fd5b505afa158015611bf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c199190611e9f565b81600181518110611c53577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611cba30600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684610f30565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401611d1e9594939291906123fb565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611d819291906123cb565b60405180910390a15050565b8173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611dd3573d6000803e3d6000fd5b505050565b6000611e1a83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506114f3565b905092915050565b600081359050611e31816129bf565b92915050565b600081519050611e46816129bf565b92915050565b600081359050611e5b816129d6565b92915050565b600081359050611e70816129ed565b92915050565b600060208284031215611e8857600080fd5b6000611e9684828501611e22565b91505092915050565b600060208284031215611eb157600080fd5b6000611ebf84828501611e37565b91505092915050565b60008060408385031215611edb57600080fd5b6000611ee985828601611e22565b9250506020611efa85828601611e22565b9150509250929050565b600080600060608486031215611f1957600080fd5b6000611f2786828701611e22565b9350506020611f3886828701611e22565b9250506040611f4986828701611e61565b9150509250925092565b60008060408385031215611f6657600080fd5b6000611f7485828601611e22565b9250506020611f8585828601611e61565b9150509250929050565b600060208284031215611fa157600080fd5b6000611faf84828501611e4c565b91505092915050565b60008060408385031215611fcb57600080fd5b6000611fd985828601611e61565b9250506020611fea85828601611e61565b9150509250929050565b6000612000838361200c565b60208301905092915050565b612015816125da565b82525050565b612024816125da565b82525050565b600061203582612480565b61203f81856124a3565b935061204a83612470565b8060005b8381101561207b5781516120628882611ff4565b975061206d83612496565b92505060018101905061204e565b5085935050505092915050565b612091816125ec565b82525050565b6120a08161262f565b82525050565b60006120b18261248b565b6120bb81856124b4565b93506120cb818560208601612641565b6120d481612733565b840191505092915050565b60006120ec6023836124b4565b91506120f782612744565b604082019050919050565b600061210f6026836124b4565b915061211a82612793565b604082019050919050565b60006121326022836124b4565b915061213d826127e2565b604082019050919050565b6000612155601b836124b4565b915061216082612831565b602082019050919050565b60006121786021836124b4565b91506121838261285a565b604082019050919050565b600061219b6020836124b4565b91506121a6826128a9565b602082019050919050565b60006121be6029836124b4565b91506121c9826128d2565b604082019050919050565b60006121e16025836124b4565b91506121ec82612921565b604082019050919050565b60006122046024836124b4565b915061220f82612970565b604082019050919050565b61222381612618565b82525050565b61223281612622565b82525050565b600060208201905061224d600083018461201b565b92915050565b60006020820190506122686000830184612088565b92915050565b6000602082019050818103600083015261228881846120a6565b905092915050565b600060208201905081810360008301526122a9816120df565b9050919050565b600060208201905081810360008301526122c981612102565b9050919050565b600060208201905081810360008301526122e981612125565b9050919050565b6000602082019050818103600083015261230981612148565b9050919050565b600060208201905081810360008301526123298161216b565b9050919050565b600060208201905081810360008301526123498161218e565b9050919050565b60006020820190508181036000830152612369816121b1565b9050919050565b60006020820190508181036000830152612389816121d4565b9050919050565b600060208201905081810360008301526123a9816121f7565b9050919050565b60006020820190506123c5600083018461221a565b92915050565b60006040820190506123e0600083018561221a565b81810360208301526123f2818461202a565b90509392505050565b600060a082019050612410600083018861221a565b61241d6020830187612097565b818103604083015261242f818661202a565b905061243e606083018561201b565b61244b608083018461221a565b9695505050505050565b600060208201905061246a6000830184612229565b92915050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b60006124d082612618565b91506124db83612618565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156125105761250f6126a6565b5b828201905092915050565b600061252682612618565b915061253183612618565b925082612541576125406126d5565b5b828204905092915050565b600061255782612618565b915061256283612618565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561259b5761259a6126a6565b5b828202905092915050565b60006125b182612618565b91506125bc83612618565b9250828210156125cf576125ce6126a6565b5b828203905092915050565b60006125e5826125f8565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061263a82612618565b9050919050565b60005b8381101561265f578082015181840152602081019050612644565b8381111561266e576000848401525b50505050565b6000600282049050600182168061268c57607f821691505b602082108114156126a05761269f612704565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6129c8816125da565b81146129d357600080fd5b50565b6129df816125ec565b81146129ea57600080fd5b50565b6129f681612618565b8114612a0157600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212209333514d618f8fa6916eea08d3643d7381479538172147c59804aef771b26f3864736f6c63430008040033

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

0000000000000000000000000000000000000000000000000000000000989680

-----Decoded View---------------
Arg [0] : supply (uint256): 10000000

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000989680


Deployed Bytecode Sourcemap

6726:8290:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9013:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10177:161;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9290:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11432:313;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9199:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9676:218;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10878:137;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9398:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7218:37;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5452:79;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5666:145;;;;;;;;;;;;;:::i;:::-;;9104:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9902:269;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11257:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5328:21;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10693:171;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9525:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7175:36;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5819:244;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9013:83;9050:13;9083:5;9076:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9013:83;:::o;10177:161::-;10252:4;10269:39;10278:12;:10;:12::i;:::-;10292:7;10301:6;10269:8;:39::i;:::-;10326:4;10319:11;;10177:161;;;;:::o;9290:100::-;9343:7;9370:12;;9363:19;;9290:100;:::o;11432:313::-;11530:4;11547:36;11557:6;11565:9;11576:6;11547:9;:36::i;:::-;;11594:121;11603:6;11611:12;:10;:12::i;:::-;11625:89;11663:6;11625:89;;;;;;;;;;;;;;;;;:11;:19;11637:6;11625:19;;;;;;;;;;;;;;;:33;11645:12;:10;:12::i;:::-;11625:33;;;;;;;;;;;;;;;;:37;;:89;;;;;:::i;:::-;11594:8;:121::i;:::-;11733:4;11726:11;;11432:313;;;;;:::o;9199:83::-;9240:5;9265:9;;;;;;;;;;;9258:16;;9199:83;:::o;9676:218::-;9764:4;9781:83;9790:12;:10;:12::i;:::-;9804:7;9813:50;9852:10;9813:11;:25;9825:12;:10;:12::i;:::-;9813:25;;;;;;;;;;;;;;;:34;9839:7;9813:34;;;;;;;;;;;;;;;;:38;;:50;;;;:::i;:::-;9781:8;:83::i;:::-;9882:4;9875:11;;9676:218;;;;:::o;10878:137::-;5589:12;:10;:12::i;:::-;5579:22;;:6;;;;;;;;;;:22;;;5571:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10968:3:::1;10948:17;:23;;;;11003:4;10982:18;:25;;;;10878:137:::0;;:::o;9398:119::-;9464:7;9491:9;:18;9501:7;9491:18;;;;;;;;;;;;;;;;9484:25;;9398:119;;;:::o;7218:37::-;;;;:::o;5452:79::-;5490:7;5517:6;;;;;;;;;;;5510:13;;5452:79;:::o;5666:145::-;5589:12;:10;:12::i;:::-;5579:22;;:6;;;;;;;;;;:22;;;5571:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5770:1:::1;5733:40;;5754:6;::::0;::::1;;;;;;;;5733:40;;;;;;;;;;;;5801:1;5784:6:::0;::::1;:19;;;;;;;;;;;;;;;;;;5666:145::o:0;9104:87::-;9143:13;9176:7;9169:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9104:87;:::o;9902:269::-;9995:4;10012:129;10021:12;:10;:12::i;:::-;10035:7;10044:96;10083:15;10044:96;;;;;;;;;;;;;;;;;:11;:25;10056:12;:10;:12::i;:::-;10044:25;;;;;;;;;;;;;;;:34;10070:7;10044:34;;;;;;;;;;;;;;;;:38;;:96;;;;;:::i;:::-;10012:8;:129::i;:::-;10159:4;10152:11;;9902:269;;;;:::o;11257:167::-;11335:4;11352:42;11362:12;:10;:12::i;:::-;11376:9;11387:6;11352:9;:42::i;:::-;;11412:4;11405:11;;11257:167;;;;:::o;5328:21::-;;;;;;;;;;;;:::o;10693:171::-;5589:12;:10;:12::i;:::-;5579:22;;:6;;;;;;;;;;:22;;;5571:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;10794:8:::1;10770:21;;:32;;;;;;;;;;;;;;;;;;10818:38;10847:8;10818:38;;;;;;:::i;:::-;;;;;;;;10693:171:::0;:::o;9525:143::-;9606:7;9633:11;:18;9645:5;9633:18;;;;;;;;;;;;;;;:27;9652:7;9633:27;;;;;;;;;;;;;;;;9626:34;;9525:143;;;;:::o;7175:36::-;;;;:::o;5819:244::-;5589:12;:10;:12::i;:::-;5579:22;;:6;;;;;;;;;;:22;;;5571:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;5928:1:::1;5908:22;;:8;:22;;;;5900:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;6018:8;5989:38;;6010:6;::::0;::::1;;;;;;;;5989:38;;;;;;;;;;;;6047:8;6038:6;::::0;:17:::1;;;;;;;;;;;;;;;;;;5819:244:::0;:::o;1598:250::-;1656:7;1685:1;1680;:6;1676:47;;;1710:1;1703:8;;;;1676:47;1735:9;1751:1;1747;:5;;;;:::i;:::-;1735:17;;1780:1;1775;1771;:5;;;;:::i;:::-;:10;1763:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1839:1;1832:8;;;1598:250;;;;;:::o;1856:132::-;1914:7;1941:39;1945:1;1948;1941:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;1934:46;;1856:132;;;;:::o;104:115::-;157:15;200:10;185:26;;104:115;:::o;10346:337::-;10456:1;10439:19;;:5;:19;;;;10431:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10537:1;10518:21;;:7;:21;;;;10510:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10621:6;10591:11;:18;10603:5;10591:18;;;;;;;;;;;;;;;:27;10610:7;10591:27;;;;;;;;;;;;;;;:36;;;;10659:7;10643:32;;10652:5;10643:32;;;10668:6;10643:32;;;;;;:::i;:::-;;;;;;;;10346:337;;;:::o;11753:1315::-;11840:4;11885:1;11867:20;;:6;:20;;;;11859:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;11969:1;11948:23;;:9;:23;;;;11940:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12039:1;12030:6;:10;12022:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;12112:16;;;;;;;;;;;12109:952;;;12161:41;12176:6;12184:9;12195:6;12161:14;:41::i;:::-;12154:48;;;;12109:952;12253:28;12284:24;12302:4;12284:9;:24::i;:::-;12253:55;;12323:28;12378:24;;12354:20;:48;;12323:79;;12423:23;:44;;;;;12451:16;;;;;;;;;;;12450:17;12423:44;:69;;;;;12472:12;:20;12485:6;12472:20;;;;;;;;;;;;;;;;;;;;;;;;;12471:21;12423:69;:94;;;;;12496:21;;;;;;;;;;;12423:94;12419:301;;;12554:25;;;;;;;;;;;12551:98;;;12625:24;;12602:47;;12551:98;12668:36;12683:20;12668:14;:36::i;:::-;12419:301;12756:53;12778:6;12756:53;;;;;;;;;;;;;;;;;:9;:17;12766:6;12756:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;12736:9;:17;12746:6;12736:17;;;;;;;;;;;;;;;:73;;;;12826:19;12848:34;12856:6;12864:9;12875:6;12848:7;:34::i;:::-;12826:56;;12924:37;12949:11;12924:9;:20;12934:9;12924:20;;;;;;;;;;;;;;;;:24;;:37;;;;:::i;:::-;12901:9;:20;12911:9;12901:20;;;;;;;;;;;;;;;:60;;;;13000:9;12983:40;;12992:6;12983:40;;;13011:11;12983:40;;;;;;:::i;:::-;;;;;;;;13045:4;13038:11;;;;;11753:1315;;;;;;:::o;1398:192::-;1484:7;1517:1;1512;:6;;1520:12;1504:29;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;1544:9;1560:1;1556;:5;;;;:::i;:::-;1544:17;;1581:1;1574:8;;;1398:192;;;;;:::o;1065:181::-;1123:7;1143:9;1159:1;1155;:5;;;;:::i;:::-;1143:17;;1184:1;1179;:6;;1171:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;1237:1;1230:8;;;1065:181;;;;:::o;1996:278::-;2082:7;2114:1;2110;:5;2117:12;2102:28;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;2141:9;2157:1;2153;:5;;;;:::i;:::-;2141:17;;2265:1;2258:8;;;1996:278;;;;;:::o;13076:330::-;13169:4;13206:53;13228:6;13206:53;;;;;;;;;;;;;;;;;:9;:17;13216:6;13206:17;;;;;;;;;;;;;;;;:21;;:53;;;;;:::i;:::-;13186:9;:17;13196:6;13186:17;;;;;;;;;;;;;;;:73;;;;13293:32;13318:6;13293:9;:20;13303:9;13293:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;13270:9;:20;13280:9;13270:20;;;;;;;;;;;;;;;:55;;;;13358:9;13341:35;;13350:6;13341:35;;;13369:6;13341:35;;;;;;:::i;:::-;;;;;;;;13394:4;13387:11;;13076:330;;;;;:::o;13416:320::-;7989:4;7970:16;;:23;;;;;;;;;;;;;;;;;;13520:25:::1;13537:7;13520:16;:25::i;:::-;13556:22;13581:21;13556:46;;13646:1;13629:14;:18;13626:96;;;13662:60;13683:22;;;;;;;;;;;13707:14;13662:20;:60::i;:::-;13626:96;8004:1;8035:5:::0;8016:16;;:24;;;;;;;;;;;;;;;;;;13416:320;:::o;14412:594::-;14498:7;14520:17;14540:1;14520:21;;14555:12;:20;14568:6;14555:20;;;;;;;;;;;;;;;;;;;;;;;;;14552:223;;;14604:38;14638:3;14604:29;14615:17;;14604:6;:10;;:29;;;;:::i;:::-;:33;;:38;;;;:::i;:::-;14592:50;;14552:223;;;14672:12;:23;14685:9;14672:23;;;;;;;;;;;;;;;;;;;;;;;;;14669:106;;;14724:39;14759:3;14724:30;14735:18;;14724:6;:10;;:30;;;;:::i;:::-;:34;;:39;;;;:::i;:::-;14712:51;;14669:106;14552:223;14800:1;14788:9;:13;14785:173;;;14845:39;14874:9;14845;:24;14863:4;14845:24;;;;;;;;;;;;;;;;:28;;:39;;;;:::i;:::-;14818:9;:24;14836:4;14818:24;;;;;;;;;;;;;;;:66;;;;14929:4;14904:42;;14913:6;14904:42;;;14936:9;14904:42;;;;;;:::i;:::-;;;;;;;;14785:173;14977:21;14988:9;14977:6;:10;;:21;;;;:::i;:::-;14970:28;;;14412:594;;;;;:::o;13742:658::-;13868:21;13906:1;13892:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13868:40;;13937:4;13919;13924:1;13919:7;;;;;;;;;;;;;;;;;;;;;:23;;;;;;;;;;;13963:15;;;;;;;;;;;:20;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13953:4;13958:1;13953:7;;;;;;;;;;;;;;;;;;;;;:32;;;;;;;;;;;13998:62;14015:4;14030:15;;;;;;;;;;;14048:11;13998:8;:62::i;:::-;14099:15;;;;;;;;;;;:66;;;14180:11;14206:1;14250:4;14277;14313:15;14099:240;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14357:35;14374:11;14387:4;14357:35;;;;;;;:::i;:::-;;;;;;;;13742:658;;:::o;11025:126::-;11117:9;:18;;:26;11136:6;11117:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11025:126;;:::o;1254:136::-;1312:7;1339:43;1343:1;1346;1339:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1332:50;;1254:136;;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;215:80;;;;:::o;301:133::-;344:5;382:6;369:20;360:29;;398:30;422:5;398:30;:::i;:::-;350:84;;;;:::o;440:139::-;486:5;524:6;511:20;502:29;;540:33;567:5;540:33;:::i;:::-;492:87;;;;:::o;585:262::-;644:6;693:2;681:9;672:7;668:23;664:32;661:2;;;709:1;706;699:12;661:2;752:1;777:53;822:7;813:6;802:9;798:22;777:53;:::i;:::-;767:63;;723:117;651:196;;;;:::o;853:284::-;923:6;972:2;960:9;951:7;947:23;943:32;940:2;;;988:1;985;978:12;940:2;1031:1;1056:64;1112:7;1103:6;1092:9;1088:22;1056:64;:::i;:::-;1046:74;;1002:128;930:207;;;;:::o;1143:407::-;1211:6;1219;1268:2;1256:9;1247:7;1243:23;1239:32;1236:2;;;1284:1;1281;1274:12;1236:2;1327:1;1352:53;1397:7;1388:6;1377:9;1373:22;1352:53;:::i;:::-;1342:63;;1298:117;1454:2;1480:53;1525:7;1516:6;1505:9;1501:22;1480:53;:::i;:::-;1470:63;;1425:118;1226:324;;;;;:::o;1556:552::-;1633:6;1641;1649;1698:2;1686:9;1677:7;1673:23;1669:32;1666:2;;;1714:1;1711;1704:12;1666:2;1757:1;1782:53;1827:7;1818:6;1807:9;1803:22;1782:53;:::i;:::-;1772:63;;1728:117;1884:2;1910:53;1955:7;1946:6;1935:9;1931:22;1910:53;:::i;:::-;1900:63;;1855:118;2012:2;2038:53;2083:7;2074:6;2063:9;2059:22;2038:53;:::i;:::-;2028:63;;1983:118;1656:452;;;;;:::o;2114:407::-;2182:6;2190;2239:2;2227:9;2218:7;2214:23;2210:32;2207:2;;;2255:1;2252;2245:12;2207:2;2298:1;2323:53;2368:7;2359:6;2348:9;2344:22;2323:53;:::i;:::-;2313:63;;2269:117;2425:2;2451:53;2496:7;2487:6;2476:9;2472:22;2451:53;:::i;:::-;2441:63;;2396:118;2197:324;;;;;:::o;2527:256::-;2583:6;2632:2;2620:9;2611:7;2607:23;2603:32;2600:2;;;2648:1;2645;2638:12;2600:2;2691:1;2716:50;2758:7;2749:6;2738:9;2734:22;2716:50;:::i;:::-;2706:60;;2662:114;2590:193;;;;:::o;2789:407::-;2857:6;2865;2914:2;2902:9;2893:7;2889:23;2885:32;2882:2;;;2930:1;2927;2920:12;2882:2;2973:1;2998:53;3043:7;3034:6;3023:9;3019:22;2998:53;:::i;:::-;2988:63;;2944:117;3100:2;3126:53;3171:7;3162:6;3151:9;3147:22;3126:53;:::i;:::-;3116:63;;3071:118;2872:324;;;;;:::o;3202:179::-;3271:10;3292:46;3334:3;3326:6;3292:46;:::i;:::-;3370:4;3365:3;3361:14;3347:28;;3282:99;;;;:::o;3387:108::-;3464:24;3482:5;3464:24;:::i;:::-;3459:3;3452:37;3442:53;;:::o;3501:118::-;3588:24;3606:5;3588:24;:::i;:::-;3583:3;3576:37;3566:53;;:::o;3655:732::-;3774:3;3803:54;3851:5;3803:54;:::i;:::-;3873:86;3952:6;3947:3;3873:86;:::i;:::-;3866:93;;3983:56;4033:5;3983:56;:::i;:::-;4062:7;4093:1;4078:284;4103:6;4100:1;4097:13;4078:284;;;4179:6;4173:13;4206:63;4265:3;4250:13;4206:63;:::i;:::-;4199:70;;4292:60;4345:6;4292:60;:::i;:::-;4282:70;;4138:224;4125:1;4122;4118:9;4113:14;;4078:284;;;4082:14;4378:3;4371:10;;3779:608;;;;;;;:::o;4393:109::-;4474:21;4489:5;4474:21;:::i;:::-;4469:3;4462:34;4452:50;;:::o;4508:147::-;4603:45;4642:5;4603:45;:::i;:::-;4598:3;4591:58;4581:74;;:::o;4661:364::-;4749:3;4777:39;4810:5;4777:39;:::i;:::-;4832:71;4896:6;4891:3;4832:71;:::i;:::-;4825:78;;4912:52;4957:6;4952:3;4945:4;4938:5;4934:16;4912:52;:::i;:::-;4989:29;5011:6;4989:29;:::i;:::-;4984:3;4980:39;4973:46;;4753:272;;;;;:::o;5031:366::-;5173:3;5194:67;5258:2;5253:3;5194:67;:::i;:::-;5187:74;;5270:93;5359:3;5270:93;:::i;:::-;5388:2;5383:3;5379:12;5372:19;;5177:220;;;:::o;5403:366::-;5545:3;5566:67;5630:2;5625:3;5566:67;:::i;:::-;5559:74;;5642:93;5731:3;5642:93;:::i;:::-;5760:2;5755:3;5751:12;5744:19;;5549:220;;;:::o;5775:366::-;5917:3;5938:67;6002:2;5997:3;5938:67;:::i;:::-;5931:74;;6014:93;6103:3;6014:93;:::i;:::-;6132:2;6127:3;6123:12;6116:19;;5921:220;;;:::o;6147:366::-;6289:3;6310:67;6374:2;6369:3;6310:67;:::i;:::-;6303:74;;6386:93;6475:3;6386:93;:::i;:::-;6504:2;6499:3;6495:12;6488:19;;6293:220;;;:::o;6519:366::-;6661:3;6682:67;6746:2;6741:3;6682:67;:::i;:::-;6675:74;;6758:93;6847:3;6758:93;:::i;:::-;6876:2;6871:3;6867:12;6860:19;;6665:220;;;:::o;6891:366::-;7033:3;7054:67;7118:2;7113:3;7054:67;:::i;:::-;7047:74;;7130:93;7219:3;7130:93;:::i;:::-;7248:2;7243:3;7239:12;7232:19;;7037:220;;;:::o;7263:366::-;7405:3;7426:67;7490:2;7485:3;7426:67;:::i;:::-;7419:74;;7502:93;7591:3;7502:93;:::i;:::-;7620:2;7615:3;7611:12;7604:19;;7409:220;;;:::o;7635:366::-;7777:3;7798:67;7862:2;7857:3;7798:67;:::i;:::-;7791:74;;7874:93;7963:3;7874:93;:::i;:::-;7992:2;7987:3;7983:12;7976:19;;7781:220;;;:::o;8007:366::-;8149:3;8170:67;8234:2;8229:3;8170:67;:::i;:::-;8163:74;;8246:93;8335:3;8246:93;:::i;:::-;8364:2;8359:3;8355:12;8348:19;;8153:220;;;:::o;8379:118::-;8466:24;8484:5;8466:24;:::i;:::-;8461:3;8454:37;8444:53;;:::o;8503:112::-;8586:22;8602:5;8586:22;:::i;:::-;8581:3;8574:35;8564:51;;:::o;8621:222::-;8714:4;8752:2;8741:9;8737:18;8729:26;;8765:71;8833:1;8822:9;8818:17;8809:6;8765:71;:::i;:::-;8719:124;;;;:::o;8849:210::-;8936:4;8974:2;8963:9;8959:18;8951:26;;8987:65;9049:1;9038:9;9034:17;9025:6;8987:65;:::i;:::-;8941:118;;;;:::o;9065:313::-;9178:4;9216:2;9205:9;9201:18;9193:26;;9265:9;9259:4;9255:20;9251:1;9240:9;9236:17;9229:47;9293:78;9366:4;9357:6;9293:78;:::i;:::-;9285:86;;9183:195;;;;:::o;9384:419::-;9550:4;9588:2;9577:9;9573:18;9565:26;;9637:9;9631:4;9627:20;9623:1;9612:9;9608:17;9601:47;9665:131;9791:4;9665:131;:::i;:::-;9657:139;;9555:248;;;:::o;9809:419::-;9975:4;10013:2;10002:9;9998:18;9990:26;;10062:9;10056:4;10052:20;10048:1;10037:9;10033:17;10026:47;10090:131;10216:4;10090:131;:::i;:::-;10082:139;;9980:248;;;:::o;10234:419::-;10400:4;10438:2;10427:9;10423:18;10415:26;;10487:9;10481:4;10477:20;10473:1;10462:9;10458:17;10451:47;10515:131;10641:4;10515:131;:::i;:::-;10507:139;;10405:248;;;:::o;10659:419::-;10825:4;10863:2;10852:9;10848:18;10840:26;;10912:9;10906:4;10902:20;10898:1;10887:9;10883:17;10876:47;10940:131;11066:4;10940:131;:::i;:::-;10932:139;;10830:248;;;:::o;11084:419::-;11250:4;11288:2;11277:9;11273:18;11265:26;;11337:9;11331:4;11327:20;11323:1;11312:9;11308:17;11301:47;11365:131;11491:4;11365:131;:::i;:::-;11357:139;;11255:248;;;:::o;11509:419::-;11675:4;11713:2;11702:9;11698:18;11690:26;;11762:9;11756:4;11752:20;11748:1;11737:9;11733:17;11726:47;11790:131;11916:4;11790:131;:::i;:::-;11782:139;;11680:248;;;:::o;11934:419::-;12100:4;12138:2;12127:9;12123:18;12115:26;;12187:9;12181:4;12177:20;12173:1;12162:9;12158:17;12151:47;12215:131;12341:4;12215:131;:::i;:::-;12207:139;;12105:248;;;:::o;12359:419::-;12525:4;12563:2;12552:9;12548:18;12540:26;;12612:9;12606:4;12602:20;12598:1;12587:9;12583:17;12576:47;12640:131;12766:4;12640:131;:::i;:::-;12632:139;;12530:248;;;:::o;12784:419::-;12950:4;12988:2;12977:9;12973:18;12965:26;;13037:9;13031:4;13027:20;13023:1;13012:9;13008:17;13001:47;13065:131;13191:4;13065:131;:::i;:::-;13057:139;;12955:248;;;:::o;13209:222::-;13302:4;13340:2;13329:9;13325:18;13317:26;;13353:71;13421:1;13410:9;13406:17;13397:6;13353:71;:::i;:::-;13307:124;;;;:::o;13437:483::-;13608:4;13646:2;13635:9;13631:18;13623:26;;13659:71;13727:1;13716:9;13712:17;13703:6;13659:71;:::i;:::-;13777:9;13771:4;13767:20;13762:2;13751:9;13747:18;13740:48;13805:108;13908:4;13899:6;13805:108;:::i;:::-;13797:116;;13613:307;;;;;:::o;13926:831::-;14189:4;14227:3;14216:9;14212:19;14204:27;;14241:71;14309:1;14298:9;14294:17;14285:6;14241:71;:::i;:::-;14322:80;14398:2;14387:9;14383:18;14374:6;14322:80;:::i;:::-;14449:9;14443:4;14439:20;14434:2;14423:9;14419:18;14412:48;14477:108;14580:4;14571:6;14477:108;:::i;:::-;14469:116;;14595:72;14663:2;14652:9;14648:18;14639:6;14595:72;:::i;:::-;14677:73;14745:3;14734:9;14730:19;14721:6;14677:73;:::i;:::-;14194:563;;;;;;;;:::o;14763:214::-;14852:4;14890:2;14879:9;14875:18;14867:26;;14903:67;14967:1;14956:9;14952:17;14943:6;14903:67;:::i;:::-;14857:120;;;;:::o;14983:132::-;15050:4;15073:3;15065:11;;15103:4;15098:3;15094:14;15086:22;;15055:60;;;:::o;15121:114::-;15188:6;15222:5;15216:12;15206:22;;15195:40;;;:::o;15241:99::-;15293:6;15327:5;15321:12;15311:22;;15300:40;;;:::o;15346:113::-;15416:4;15448;15443:3;15439:14;15431:22;;15421:38;;;:::o;15465:184::-;15564:11;15598:6;15593:3;15586:19;15638:4;15633:3;15629:14;15614:29;;15576:73;;;;:::o;15655:169::-;15739:11;15773:6;15768:3;15761:19;15813:4;15808:3;15804:14;15789:29;;15751:73;;;;:::o;15830:305::-;15870:3;15889:20;15907:1;15889:20;:::i;:::-;15884:25;;15923:20;15941:1;15923:20;:::i;:::-;15918:25;;16077:1;16009:66;16005:74;16002:1;15999:81;15996:2;;;16083:18;;:::i;:::-;15996:2;16127:1;16124;16120:9;16113:16;;15874:261;;;;:::o;16141:185::-;16181:1;16198:20;16216:1;16198:20;:::i;:::-;16193:25;;16232:20;16250:1;16232:20;:::i;:::-;16227:25;;16271:1;16261:2;;16276:18;;:::i;:::-;16261:2;16318:1;16315;16311:9;16306:14;;16183:143;;;;:::o;16332:348::-;16372:7;16395:20;16413:1;16395:20;:::i;:::-;16390:25;;16429:20;16447:1;16429:20;:::i;:::-;16424:25;;16617:1;16549:66;16545:74;16542:1;16539:81;16534:1;16527:9;16520:17;16516:105;16513:2;;;16624:18;;:::i;:::-;16513:2;16672:1;16669;16665:9;16654:20;;16380:300;;;;:::o;16686:191::-;16726:4;16746:20;16764:1;16746:20;:::i;:::-;16741:25;;16780:20;16798:1;16780:20;:::i;:::-;16775:25;;16819:1;16816;16813:8;16810:2;;;16824:18;;:::i;:::-;16810:2;16869:1;16866;16862:9;16854:17;;16731:146;;;;:::o;16883:96::-;16920:7;16949:24;16967:5;16949:24;:::i;:::-;16938:35;;16928:51;;;:::o;16985:90::-;17019:7;17062:5;17055:13;17048:21;17037:32;;17027:48;;;:::o;17081:126::-;17118:7;17158:42;17151:5;17147:54;17136:65;;17126:81;;;:::o;17213:77::-;17250:7;17279:5;17268:16;;17258:32;;;:::o;17296:86::-;17331:7;17371:4;17364:5;17360:16;17349:27;;17339:43;;;:::o;17388:121::-;17446:9;17479:24;17497:5;17479:24;:::i;:::-;17466:37;;17456:53;;;:::o;17515:307::-;17583:1;17593:113;17607:6;17604:1;17601:13;17593:113;;;17692:1;17687:3;17683:11;17677:18;17673:1;17668:3;17664:11;17657:39;17629:2;17626:1;17622:10;17617:15;;17593:113;;;17724:6;17721:1;17718:13;17715:2;;;17804:1;17795:6;17790:3;17786:16;17779:27;17715:2;17564:258;;;;:::o;17828:320::-;17872:6;17909:1;17903:4;17899:12;17889:22;;17956:1;17950:4;17946:12;17977:18;17967:2;;18033:4;18025:6;18021:17;18011:27;;17967:2;18095;18087:6;18084:14;18064:18;18061:38;18058:2;;;18114:18;;:::i;:::-;18058:2;17879:269;;;;:::o;18154:180::-;18202:77;18199:1;18192:88;18299:4;18296:1;18289:15;18323:4;18320:1;18313:15;18340:180;18388:77;18385:1;18378:88;18485:4;18482:1;18475:15;18509:4;18506:1;18499:15;18526:180;18574:77;18571:1;18564:88;18671:4;18668:1;18661:15;18695:4;18692:1;18685:15;18712:102;18753:6;18804:2;18800:7;18795:2;18788:5;18784:14;18780:28;18770:38;;18760:54;;;:::o;18820:222::-;18960:34;18956:1;18948:6;18944:14;18937:58;19029:5;19024:2;19016:6;19012:15;19005:30;18926:116;:::o;19048:225::-;19188:34;19184:1;19176:6;19172:14;19165:58;19257:8;19252:2;19244:6;19240:15;19233:33;19154:119;:::o;19279:221::-;19419:34;19415:1;19407:6;19403:14;19396:58;19488:4;19483:2;19475:6;19471:15;19464:29;19385:115;:::o;19506:177::-;19646:29;19642:1;19634:6;19630:14;19623:53;19612:71;:::o;19689:220::-;19829:34;19825:1;19817:6;19813:14;19806:58;19898:3;19893:2;19885:6;19881:15;19874:28;19795:114;:::o;19915:182::-;20055:34;20051:1;20043:6;20039:14;20032:58;20021:76;:::o;20103:228::-;20243:34;20239:1;20231:6;20227:14;20220:58;20312:11;20307:2;20299:6;20295:15;20288:36;20209:122;:::o;20337:224::-;20477:34;20473:1;20465:6;20461:14;20454:58;20546:7;20541:2;20533:6;20529:15;20522:32;20443:118;:::o;20567:223::-;20707:34;20703:1;20695:6;20691:14;20684:58;20776:6;20771:2;20763:6;20759:15;20752:31;20673:117;:::o;20796:122::-;20869:24;20887:5;20869:24;:::i;:::-;20862:5;20859:35;20849:2;;20908:1;20905;20898:12;20849:2;20839:79;:::o;20924:116::-;20994:21;21009:5;20994:21;:::i;:::-;20987:5;20984:32;20974:2;;21030:1;21027;21020:12;20974:2;20964:76;:::o;21046:122::-;21119:24;21137:5;21119:24;:::i;:::-;21112:5;21109:35;21099:2;;21158:1;21155;21148:12;21099:2;21089:79;:::o

Swarm Source

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