BNB Price: $697.02 (-1.82%)
Gas: 1 GWei
 

Overview

Max Total Supply

5,000,000,0003WM

Holders

14,304

Market

Price

$0.00 @ 0.000000 BNB

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 10 Decimals)

Filtered by Token Holder
BscScan: Donate
Balance
16 3WM

Value
$0.00
0x71c7656ec7ab88b098defb751b7401b5f6d8976f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information

Contract Source Code Verified (Exact Match)

Contract Name:
BEP20TokenContract

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-10-29
*/

/**
 *Submitted for verification at BscScan.com on 2021-03-17
*/

pragma solidity ^0.8.1;

// SPDX-License-Identifier: GPL-3.0

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;


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


    /**
     * @dev The Ownable constructor sets the original `owner` of the contract to the sender
     * account.
     */
    constructor() {
        owner = msg.sender;
    }


    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(msg.sender == owner, "Not authorized operation");
        _;
    }


    /**
     * @dev Allows the current owner to transfer control of the contract to a newOwner.
     * @param newOwner The address to transfer ownership to.
     */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0), "Address shouldn't be zero");
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }

}


/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: 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 div(uint256 a, uint256 b) internal pure returns (uint256) {
        // Solidity only automatically asserts when dividing by 0
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts 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 mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b != 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

interface IBEP20 {
    /**
     * @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 _owner) external view returns (uint256);



}

/**
 * @dev Simple BEP20 Token example, with mintable token creation only during the deployement of the token contract */

contract BEP20TokenContract is Ownable{
  using SafeMath for uint256;

  string public name;
  string public symbol;
  uint8 public decimals;
  uint256 public totalSupply;
  address public tokenOwner;
  address private ico;

  mapping(address => uint256) balances;
  mapping (address => mapping (address => uint256)) internal allowed;
  mapping(address => bool) public vestedlist;

  event SetICO(address indexed _ico);
  event Mint(address indexed to, uint256 amount);
  event MintFinished();
  event UnlockToken();
  event LockToken();
  event Burn();
  event Approval(address indexed owner, address indexed spender, uint256 value);
  event Transfer(address indexed from, address indexed to, uint256 value);
  event addedToVestedlist(address indexed _vestedAddress);
  event removedFromVestedlist(address indexed _vestedAddress);

  
  bool public mintingFinished = false;
  bool public locked = true;

  modifier canMint() {
    require(!mintingFinished);
    _;
  }
  
  modifier canTransfer() {
    require(!locked || msg.sender == owner || msg.sender == ico);
    _;
  }
  
  modifier onlyAuthorized() {
    require(msg.sender == owner || msg.sender == ico);
    _;
  }


  constructor(string memory _name, string memory  _symbol, uint8 _decimals) {
    require (_decimals != 0);
    name = _name;
    symbol = _symbol;
    decimals = _decimals;
    totalSupply = 0;
    balances[msg.sender] = totalSupply;
    emit Transfer(address(0), msg.sender, totalSupply);


  }

  /**
   * @dev Function to mint tokens
   * @param _to The address that will receive the minted tokens.
   * @param _amount The amount of tokens to mint.
   * @return A boolean that indicates if the operation was successful.
   */
  function mint(address _to, uint256 _amount) public onlyAuthorized canMint returns (bool) {
    totalSupply = totalSupply.add(_amount);
    balances[_to] = balances[_to].add(_amount);
    emit Mint(_to, _amount);
    emit Transfer(address(this), _to, _amount);
    return true;
  }

  /**
   * @dev Function to stop minting new tokens.
   * @return True if the operation was successful.
   */
  function finishMinting() public onlyAuthorized canMint returns (bool) {
    mintingFinished = true;
    emit MintFinished();
    return true;
  }

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public canTransfer returns (bool) {
    require(_to != address(0));
	require (!isVestedlisted(msg.sender));
    require(_value <= balances[msg.sender]);
    require (msg.sender != address(this));

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(msg.sender, _to, _value);
    return true;
  }


  function burn(address _who, uint256 _value) onlyAuthorized public returns (bool){
    require(_who != address(0));
    
    totalSupply = totalSupply.sub(_value);
    balances[_who] = balances[_who].sub(_value);
    emit Burn();
    emit Transfer(_who, address(0), _value);
    return true;
  }
  

  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }
  
  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public canTransfer returns (bool) {
    require(_to != address(0));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
    emit Transfer(_from, _to, _value);
    return true;
  }

  function transferFromBEP20Contract(address _to, uint256 _value) public onlyOwner returns (bool) {
    require(_to != address(0));
    require(_value <= balances[address(this)]);
    balances[address(this)] = balances[address(this)].sub(_value);
    balances[_to] = balances[_to].add(_value);
    emit Transfer(address(this), _to, _value);
    return true;
  }


  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * 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:
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function unlockToken() public onlyAuthorized returns (bool) {
    locked = false;
    emit UnlockToken();
    return true;
  }

  function lockToken() public onlyAuthorized returns (bool) {
    locked = true;
    emit LockToken();
    return true;
  }
  
  function setICO(address _icocontract) public onlyOwner returns (bool) {
    require(_icocontract != address(0));
    ico = _icocontract;
    emit SetICO(_icocontract);
    return true;
  }

    /**
     * @dev Adds list of addresses to Vestedlist. Not overloaded due to limitations with truffle testing.
     * @param _vestedAddress Addresses to be added to the Vestedlist
     */
    function addToVestedlist(address[] memory _vestedAddress) public onlyOwner {
        for (uint256 i = 0; i < _vestedAddress.length; i++) {
            if (vestedlist[_vestedAddress[i]]) continue;
            vestedlist[_vestedAddress[i]] = true;
        }
    }


    /**
     * @dev Removes single address from Vestedlist.
     * @param _vestedAddress Address to be removed to the Vestedlist
     */
    function removeFromVestedlist(address[] memory _vestedAddress) public onlyOwner {
        for (uint256 i = 0; i < _vestedAddress.length; i++) {
            if (!vestedlist[_vestedAddress[i]]) continue;
            vestedlist[_vestedAddress[i]] = false;
        }
    }

    function isVestedlisted(address _vestedAddress) internal view returns (bool) {
      return (vestedlist[_vestedAddress]);
    }


}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"uint8","name":"_decimals","type":"uint8"}],"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":[],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[],"name":"LockToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","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":"_ico","type":"address"}],"name":"SetICO","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":[],"name":"UnlockToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_vestedAddress","type":"address"}],"name":"addedToVestedlist","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_vestedAddress","type":"address"}],"name":"removedFromVestedlist","type":"event"},{"inputs":[{"internalType":"address[]","name":"_vestedAddress","type":"address[]"}],"name":"addToVestedlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_who","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","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":"decreaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finishMinting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"lockToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"locked","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"mintingFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_vestedAddress","type":"address[]"}],"name":"removeFromVestedlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_icocontract","type":"address"}],"name":"setICO","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFromBEP20Contract","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unlockToken","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vestedlist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}]

60806040526000600a60006101000a81548160ff0219169083151502179055506001600a60016101000a81548160ff0219169083151502179055503480156200004757600080fd5b506040516200349e3803806200349e83398181016040528101906200006d919062000312565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008160ff161415620000bf57600080fd5b8260019080519060200190620000d7929190620001cd565b508160029080519060200190620000f0929190620001cd565b5080600360006101000a81548160ff021916908360ff1602179055506000600481905550600454600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600454604051620001bc9190620003bd565b60405180910390a35050506200058f565b828054620001db9062000486565b90600052602060002090601f016020900481019282620001ff57600085556200024b565b82601f106200021a57805160ff19168380011785556200024b565b828001600101855582156200024b579182015b828111156200024a5782518255916020019190600101906200022d565b5b5090506200025a91906200025e565b5090565b5b80821115620002795760008160009055506001016200025f565b5090565b6000620002946200028e8462000403565b620003da565b905082815260208101848484011115620002b357620002b262000555565b5b620002c084828562000450565b509392505050565b600082601f830112620002e057620002df62000550565b5b8151620002f28482602086016200027d565b91505092915050565b6000815190506200030c8162000575565b92915050565b6000806000606084860312156200032e576200032d6200055f565b5b600084015167ffffffffffffffff8111156200034f576200034e6200055a565b5b6200035d86828701620002c8565b935050602084015167ffffffffffffffff8111156200038157620003806200055a565b5b6200038f86828701620002c8565b9250506040620003a286828701620002fb565b9150509250925092565b620003b78162000439565b82525050565b6000602082019050620003d46000830184620003ac565b92915050565b6000620003e6620003f9565b9050620003f48282620004bc565b919050565b6000604051905090565b600067ffffffffffffffff82111562000421576200042062000521565b5b6200042c8262000564565b9050602081019050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156200047057808201518184015260208101905062000453565b8381111562000480576000848401525b50505050565b600060028204905060018216806200049f57607f821691505b60208210811415620004b657620004b5620004f2565b5b50919050565b620004c78262000564565b810181811067ffffffffffffffff82111715620004e957620004e862000521565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b620005808162000443565b81146200058c57600080fd5b50565b612eff806200059f6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806395d89b41116100de578063b6f50c2911610097578063cf30901211610071578063cf309012146104d7578063d73dd623146104f5578063dd62ed3e14610525578063f2fde38b146105555761018e565b8063b6f50c2914610459578063bca7a9e214610489578063c33de793146104a75761018e565b806395d89b4114610385578063971f37e8146103a35780639dc29fac146103bf578063a3e67610146103ef578063a9059cbb1461040d578063b075ea3e1461043d5761018e565b8063313ce5671161014b57806370a082311161012557806370a08231146102e95780637d64bcb4146103195780638da5cb5b1461033757806394deb573146103555761018e565b8063313ce5671461026b57806340c10f191461028957806366188463146102b95761018e565b806305d2035b1461019357806306fdde03146101b1578063095ea7b3146101cf57806318160ddd146101ff57806318a24b5b1461021d57806323b872dd1461023b575b600080fd5b61019b610571565b6040516101a891906129f8565b60405180910390f35b6101b9610584565b6040516101c69190612a13565b60405180910390f35b6101e960048036038101906101e49190612853565b610612565b6040516101f691906129f8565b60405180910390f35b610207610704565b6040516102149190612ab5565b60405180910390f35b61022561070a565b60405161023291906129f8565b60405180910390f35b61025560048036038101906102509190612800565b61080b565b60405161026291906129f8565b60405180910390f35b610273610c8d565b6040516102809190612ad0565b60405180910390f35b6102a3600480360381019061029e9190612853565b610ca0565b6040516102b091906129f8565b60405180910390f35b6102d360048036038101906102ce9190612853565b610eda565b6040516102e091906129f8565b60405180910390f35b61030360048036038101906102fe9190612793565b61116b565b6040516103109190612ab5565b60405180910390f35b6103216111b4565b60405161032e91906129f8565b60405180910390f35b61033f6112cf565b60405161034c91906129dd565b60405180910390f35b61036f600480360381019061036a9190612853565b6112f3565b60405161037c91906129f8565b60405180910390f35b61038d6115a3565b60405161039a9190612a13565b60405180910390f35b6103bd60048036038101906103b89190612893565b611631565b005b6103d960048036038101906103d49190612853565b6117c6565b6040516103e691906129f8565b60405180910390f35b6103f76119ff565b60405161040491906129dd565b60405180910390f35b61042760048036038101906104229190612853565b611a25565b60405161043491906129f8565b60405180910390f35b61045760048036038101906104529190612893565b611d5a565b005b610473600480360381019061046e9190612793565b611eee565b60405161048091906129f8565b60405180910390f35b610491612046565b60405161049e91906129f8565b60405180910390f35b6104c160048036038101906104bc9190612793565b612147565b6040516104ce91906129f8565b60405180910390f35b6104df612167565b6040516104ec91906129f8565b60405180910390f35b61050f600480360381019061050a9190612853565b61217a565b60405161051c91906129f8565b60405180910390f35b61053f600480360381019061053a91906127c0565b612376565b60405161054c9190612ab5565b60405180910390f35b61056f600480360381019061056a9190612793565b6123fd565b005b600a60009054906101000a900460ff1681565b6001805461059190612c6a565b80601f01602080910402602001604051908101604052809291908181526020018280546105bd90612c6a565b801561060a5780601f106105df5761010080835404028352916020019161060a565b820191906000526020600020905b8154815290600101906020018083116105ed57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106f29190612ab5565b60405180910390a36001905092915050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107b45750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6107bd57600080fd5b6000600a60016101000a81548160ff0219169083151502179055507f70f18bcde0ec5e70a6b75212912eb91efc54a2c235186a6bf95d4d28b128741660405160405180910390a16001905090565b6000600a60019054906101000a900460ff161580610874575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806108cc5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090f57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561095b57600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109e457600080fd5b610a3682600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610acb82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9d82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c7a9190612ab5565b60405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d4a5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d5357600080fd5b600a60009054906101000a900460ff1615610d6d57600080fd5b610d828260045461261790919063ffffffff16565b600481905550610dda82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688583604051610e639190612ab5565b60405180910390a28273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ec89190612ab5565b60405180910390a36001905092915050565b600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610feb576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061107f565b610ffe83826125b890919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516111589190612ab5565b60405180910390a3600191505092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061125e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61126757600080fd5b600a60009054906101000a900460ff161561128157600080fd5b6001600a60006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612a95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113be57600080fd5b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561140a57600080fd5b61145c82600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f182600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115919190612ab5565b60405180910390a36001905092915050565b600280546115b090612c6a565b80601f01602080910402602001604051908101604052809291908181526020018280546115dc90612c6a565b80156116295780601f106115fe57610100808354040283529160200191611629565b820191906000526020600020905b81548152906001019060200180831161160c57829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b690612a95565b60405180910390fd5b60005b81518110156117c257600960008383815181106116e2576116e1612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561173c576117af565b60016009600084848151811061175557611754612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806117ba90612ccd565b9150506116c2565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118705750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61187957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118b357600080fd5b6118c8826004546125b890919063ffffffff16565b60048190555061192082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f396ed0ab6cc27459695a5d29409f1357ff85a6b958ca216959d886d23a89949b60405160405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119ed9190612ab5565b60405180910390a36001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60019054906101000a900460ff161580611a8e575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611ae65750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611aef57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b2957600080fd5b611b3233612675565b15611b3c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611b8857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611bc157600080fd5b611c1382600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ca882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d489190612ab5565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddf90612a95565b60405180910390fd5b60005b8151811015611eea5760096000838381518110611e0b57611e0a612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e6457611ed7565b600060096000848481518110611e7d57611e7c612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611ee290612ccd565b915050611deb565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7690612a95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fb957600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fb5f88643261aefc17fb9561acc4fc17bd7bee319b08cc7abb04b552339593e1b60405160405180910390a260019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120f05750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6120f957600080fd5b6001600a60016101000a81548160ff0219169083151502179055507f481e27d43fb74b96540bf6eb1011042665ae9040107d556002cb2796a9a9867560405160405180910390a16001905090565b60096020528060005260406000206000915054906101000a900460ff1681565b600a60019054906101000a900460ff1681565b600061220b82600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516123649190612ab5565b60405180910390a36001905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290612a95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f290612a75565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f490612a55565b60405180910390fd5b6000828461260b9190612bae565b90508091505092915050565b60008082846126269190612b58565b90508381101561266b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266290612a35565b60405180910390fd5b8091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006126de6126d984612b10565b612aeb565b9050808382526020820190508285602086028201111561270157612700612dd7565b5b60005b858110156127315781612717888261273b565b845260208401935060208301925050600181019050612704565b5050509392505050565b60008135905061274a81612e9b565b92915050565b600082601f83011261276557612764612dd2565b5b81356127758482602086016126cb565b91505092915050565b60008135905061278d81612eb2565b92915050565b6000602082840312156127a9576127a8612de1565b5b60006127b78482850161273b565b91505092915050565b600080604083850312156127d7576127d6612de1565b5b60006127e58582860161273b565b92505060206127f68582860161273b565b9150509250929050565b60008060006060848603121561281957612818612de1565b5b60006128278682870161273b565b93505060206128388682870161273b565b92505060406128498682870161277e565b9150509250925092565b6000806040838503121561286a57612869612de1565b5b60006128788582860161273b565b92505060206128898582860161277e565b9150509250929050565b6000602082840312156128a9576128a8612de1565b5b600082013567ffffffffffffffff8111156128c7576128c6612ddc565b5b6128d384828501612750565b91505092915050565b6128e581612be2565b82525050565b6128f481612bf4565b82525050565b600061290582612b3c565b61290f8185612b47565b935061291f818560208601612c37565b61292881612de6565b840191505092915050565b6000612940601b83612b47565b915061294b82612df7565b602082019050919050565b6000612963601e83612b47565b915061296e82612e20565b602082019050919050565b6000612986601983612b47565b915061299182612e49565b602082019050919050565b60006129a9601883612b47565b91506129b482612e72565b602082019050919050565b6129c881612c20565b82525050565b6129d781612c2a565b82525050565b60006020820190506129f260008301846128dc565b92915050565b6000602082019050612a0d60008301846128eb565b92915050565b60006020820190508181036000830152612a2d81846128fa565b905092915050565b60006020820190508181036000830152612a4e81612933565b9050919050565b60006020820190508181036000830152612a6e81612956565b9050919050565b60006020820190508181036000830152612a8e81612979565b9050919050565b60006020820190508181036000830152612aae8161299c565b9050919050565b6000602082019050612aca60008301846129bf565b92915050565b6000602082019050612ae560008301846129ce565b92915050565b6000612af5612b06565b9050612b018282612c9c565b919050565b6000604051905090565b600067ffffffffffffffff821115612b2b57612b2a612da3565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000612b6382612c20565b9150612b6e83612c20565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ba357612ba2612d16565b5b828201905092915050565b6000612bb982612c20565b9150612bc483612c20565b925082821015612bd757612bd6612d16565b5b828203905092915050565b6000612bed82612c00565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612c55578082015181840152602081019050612c3a565b83811115612c64576000848401525b50505050565b60006002820490506001821680612c8257607f821691505b60208210811415612c9657612c95612d45565b5b50919050565b612ca582612de6565b810181811067ffffffffffffffff82111715612cc457612cc3612da3565b5b80604052505050565b6000612cd882612c20565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d0b57612d0a612d16565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b7f416464726573732073686f756c646e2774206265207a65726f00000000000000600082015250565b7f4e6f7420617574686f72697a6564206f7065726174696f6e0000000000000000600082015250565b612ea481612be2565b8114612eaf57600080fd5b50565b612ebb81612c20565b8114612ec657600080fd5b5056fea2646970667358221220e84b4f0781edeb2972313ee3679a46a01aff729a3facf998f19007de29e8e7e564736f6c63430008070033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000333574d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000333574d0000000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c806395d89b41116100de578063b6f50c2911610097578063cf30901211610071578063cf309012146104d7578063d73dd623146104f5578063dd62ed3e14610525578063f2fde38b146105555761018e565b8063b6f50c2914610459578063bca7a9e214610489578063c33de793146104a75761018e565b806395d89b4114610385578063971f37e8146103a35780639dc29fac146103bf578063a3e67610146103ef578063a9059cbb1461040d578063b075ea3e1461043d5761018e565b8063313ce5671161014b57806370a082311161012557806370a08231146102e95780637d64bcb4146103195780638da5cb5b1461033757806394deb573146103555761018e565b8063313ce5671461026b57806340c10f191461028957806366188463146102b95761018e565b806305d2035b1461019357806306fdde03146101b1578063095ea7b3146101cf57806318160ddd146101ff57806318a24b5b1461021d57806323b872dd1461023b575b600080fd5b61019b610571565b6040516101a891906129f8565b60405180910390f35b6101b9610584565b6040516101c69190612a13565b60405180910390f35b6101e960048036038101906101e49190612853565b610612565b6040516101f691906129f8565b60405180910390f35b610207610704565b6040516102149190612ab5565b60405180910390f35b61022561070a565b60405161023291906129f8565b60405180910390f35b61025560048036038101906102509190612800565b61080b565b60405161026291906129f8565b60405180910390f35b610273610c8d565b6040516102809190612ad0565b60405180910390f35b6102a3600480360381019061029e9190612853565b610ca0565b6040516102b091906129f8565b60405180910390f35b6102d360048036038101906102ce9190612853565b610eda565b6040516102e091906129f8565b60405180910390f35b61030360048036038101906102fe9190612793565b61116b565b6040516103109190612ab5565b60405180910390f35b6103216111b4565b60405161032e91906129f8565b60405180910390f35b61033f6112cf565b60405161034c91906129dd565b60405180910390f35b61036f600480360381019061036a9190612853565b6112f3565b60405161037c91906129f8565b60405180910390f35b61038d6115a3565b60405161039a9190612a13565b60405180910390f35b6103bd60048036038101906103b89190612893565b611631565b005b6103d960048036038101906103d49190612853565b6117c6565b6040516103e691906129f8565b60405180910390f35b6103f76119ff565b60405161040491906129dd565b60405180910390f35b61042760048036038101906104229190612853565b611a25565b60405161043491906129f8565b60405180910390f35b61045760048036038101906104529190612893565b611d5a565b005b610473600480360381019061046e9190612793565b611eee565b60405161048091906129f8565b60405180910390f35b610491612046565b60405161049e91906129f8565b60405180910390f35b6104c160048036038101906104bc9190612793565b612147565b6040516104ce91906129f8565b60405180910390f35b6104df612167565b6040516104ec91906129f8565b60405180910390f35b61050f600480360381019061050a9190612853565b61217a565b60405161051c91906129f8565b60405180910390f35b61053f600480360381019061053a91906127c0565b612376565b60405161054c9190612ab5565b60405180910390f35b61056f600480360381019061056a9190612793565b6123fd565b005b600a60009054906101000a900460ff1681565b6001805461059190612c6a565b80601f01602080910402602001604051908101604052809291908181526020018280546105bd90612c6a565b801561060a5780601f106105df5761010080835404028352916020019161060a565b820191906000526020600020905b8154815290600101906020018083116105ed57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516106f29190612ab5565b60405180910390a36001905092915050565b60045481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806107b45750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6107bd57600080fd5b6000600a60016101000a81548160ff0219169083151502179055507f70f18bcde0ec5e70a6b75212912eb91efc54a2c235186a6bf95d4d28b128741660405160405180910390a16001905090565b6000600a60019054906101000a900460ff161580610874575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b806108cc5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6108d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561090f57600080fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561095b57600080fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109e457600080fd5b610a3682600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610acb82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b9d82600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610c7a9190612ab5565b60405180910390a3600190509392505050565b600360009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610d4a5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b610d5357600080fd5b600a60009054906101000a900460ff1615610d6d57600080fd5b610d828260045461261790919063ffffffff16565b600481905550610dda82600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d412139688583604051610e639190612ab5565b60405180910390a28273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610ec89190612ab5565b60405180910390a36001905092915050565b600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610feb576000600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061107f565b610ffe83826125b890919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516111589190612ab5565b60405180910390a3600191505092915050565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061125e5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61126757600080fd5b600a60009054906101000a900460ff161561128157600080fd5b6001600a60006101000a81548160ff0219169083151502179055507fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a16001905090565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b90612a95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156113be57600080fd5b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561140a57600080fd5b61145c82600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114f182600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516115919190612ab5565b60405180910390a36001905092915050565b600280546115b090612c6a565b80601f01602080910402602001604051908101604052809291908181526020018280546115dc90612c6a565b80156116295780601f106115fe57610100808354040283529160200191611629565b820191906000526020600020905b81548152906001019060200180831161160c57829003601f168201915b505050505081565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b690612a95565b60405180910390fd5b60005b81518110156117c257600960008383815181106116e2576116e1612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561173c576117af565b60016009600084848151811061175557611754612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b80806117ba90612ccd565b9150506116c2565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806118705750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b61187957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118b357600080fd5b6118c8826004546125b890919063ffffffff16565b60048190555061192082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507f396ed0ab6cc27459695a5d29409f1357ff85a6b958ca216959d886d23a89949b60405160405180910390a1600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516119ed9190612ab5565b60405180910390a36001905092915050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600a60019054906101000a900460ff161580611a8e575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b80611ae65750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611aef57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611b2957600080fd5b611b3233612675565b15611b3c57600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115611b8857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611bc157600080fd5b611c1382600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546125b890919063ffffffff16565b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ca882600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611d489190612ab5565b60405180910390a36001905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611de8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ddf90612a95565b60405180910390fd5b60005b8151811015611eea5760096000838381518110611e0b57611e0a612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611e6457611ed7565b600060096000848481518110611e7d57611e7c612d74565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8080611ee290612ccd565b915050611deb565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f7f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f7690612a95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fb957600080fd5b81600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff167fb5f88643261aefc17fb9561acc4fc17bd7bee319b08cc7abb04b552339593e1b60405160405180910390a260019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806120f05750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6120f957600080fd5b6001600a60016101000a81548160ff0219169083151502179055507f481e27d43fb74b96540bf6eb1011042665ae9040107d556002cb2796a9a9867560405160405180910390a16001905090565b60096020528060005260406000206000915054906101000a900460ff1681565b600a60019054906101000a900460ff1681565b600061220b82600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461261790919063ffffffff16565b600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040516123649190612ab5565b60405180910390a36001905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461248b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161248290612a95565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156124fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124f290612a75565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000828211156125fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125f490612a55565b60405180910390fd5b6000828461260b9190612bae565b90508091505092915050565b60008082846126269190612b58565b90508381101561266b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266290612a35565b60405180910390fd5b8091505092915050565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b60006126de6126d984612b10565b612aeb565b9050808382526020820190508285602086028201111561270157612700612dd7565b5b60005b858110156127315781612717888261273b565b845260208401935060208301925050600181019050612704565b5050509392505050565b60008135905061274a81612e9b565b92915050565b600082601f83011261276557612764612dd2565b5b81356127758482602086016126cb565b91505092915050565b60008135905061278d81612eb2565b92915050565b6000602082840312156127a9576127a8612de1565b5b60006127b78482850161273b565b91505092915050565b600080604083850312156127d7576127d6612de1565b5b60006127e58582860161273b565b92505060206127f68582860161273b565b9150509250929050565b60008060006060848603121561281957612818612de1565b5b60006128278682870161273b565b93505060206128388682870161273b565b92505060406128498682870161277e565b9150509250925092565b6000806040838503121561286a57612869612de1565b5b60006128788582860161273b565b92505060206128898582860161277e565b9150509250929050565b6000602082840312156128a9576128a8612de1565b5b600082013567ffffffffffffffff8111156128c7576128c6612ddc565b5b6128d384828501612750565b91505092915050565b6128e581612be2565b82525050565b6128f481612bf4565b82525050565b600061290582612b3c565b61290f8185612b47565b935061291f818560208601612c37565b61292881612de6565b840191505092915050565b6000612940601b83612b47565b915061294b82612df7565b602082019050919050565b6000612963601e83612b47565b915061296e82612e20565b602082019050919050565b6000612986601983612b47565b915061299182612e49565b602082019050919050565b60006129a9601883612b47565b91506129b482612e72565b602082019050919050565b6129c881612c20565b82525050565b6129d781612c2a565b82525050565b60006020820190506129f260008301846128dc565b92915050565b6000602082019050612a0d60008301846128eb565b92915050565b60006020820190508181036000830152612a2d81846128fa565b905092915050565b60006020820190508181036000830152612a4e81612933565b9050919050565b60006020820190508181036000830152612a6e81612956565b9050919050565b60006020820190508181036000830152612a8e81612979565b9050919050565b60006020820190508181036000830152612aae8161299c565b9050919050565b6000602082019050612aca60008301846129bf565b92915050565b6000602082019050612ae560008301846129ce565b92915050565b6000612af5612b06565b9050612b018282612c9c565b919050565b6000604051905090565b600067ffffffffffffffff821115612b2b57612b2a612da3565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000612b6382612c20565b9150612b6e83612c20565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612ba357612ba2612d16565b5b828201905092915050565b6000612bb982612c20565b9150612bc483612c20565b925082821015612bd757612bd6612d16565b5b828203905092915050565b6000612bed82612c00565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612c55578082015181840152602081019050612c3a565b83811115612c64576000848401525b50505050565b60006002820490506001821680612c8257607f821691505b60208210811415612c9657612c95612d45565b5b50919050565b612ca582612de6565b810181811067ffffffffffffffff82111715612cc457612cc3612da3565b5b80604052505050565b6000612cd882612c20565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612d0b57612d0a612d16565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000600082015250565b7f416464726573732073686f756c646e2774206265207a65726f00000000000000600082015250565b7f4e6f7420617574686f72697a6564206f7065726174696f6e0000000000000000600082015250565b612ea481612be2565b8114612eaf57600080fd5b50565b612ebb81612c20565b8114612ec657600080fd5b5056fea2646970667358221220e84b4f0781edeb2972313ee3679a46a01aff729a3facf998f19007de29e8e7e564736f6c63430008070033

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000333574d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000333574d0000000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): 3WM
Arg [1] : _symbol (string): 3WM
Arg [2] : _decimals (uint8): 10

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 000000000000000000000000000000000000000000000000000000000000000a
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [4] : 33574d0000000000000000000000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [6] : 33574d0000000000000000000000000000000000000000000000000000000000


Deployed Bytecode Sourcemap

5330:8803:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6194:35;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5406:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10426:192;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5480:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12634:130;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9023:466;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5454:21;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7103:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12216:412;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8629:109;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7509:149;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;355:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;9495:366;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5429:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13299:266;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8317:302;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5511:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7819:490;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;13716:273;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;12903:193;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12770:125;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5679:42;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6234:25;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11509:266;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10945:128;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1041:221;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6194:35;;;;;;;;;;;;;:::o;5406:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10426:192::-;10493:4;10538:6;10506:7;:19;10514:10;10506:19;;;;;;;;;;;;;;;:29;10526:8;10506:29;;;;;;;;;;;;;;;:38;;;;10577:8;10556:38;;10565:10;10556:38;;;10587:6;10556:38;;;;;;:::i;:::-;;;;;;;;10608:4;10601:11;;10426:192;;;;:::o;5480:26::-;;;;:::o;12634:130::-;12688:4;6506:5;;;;;;;;;;;6492:19;;:10;:19;;;:40;;;;6529:3;;;;;;;;;;;6515:17;;:10;:17;;;6492:40;6484:49;;;;;;12710:5:::1;12701:6;;:14;;;;;;;;;;;;;;;;;;12727:13;;;;;;;;;;12754:4;12747:11;;12634:130:::0;:::o;9023:466::-;9117:4;6378:6;;;;;;;;;;;6377:7;:30;;;;6402:5;;;;;;;;;;6388:19;;:10;:19;;;6377:30;:51;;;;6425:3;;;;;;;;;;;6411:17;;:10;:17;;;6377:51;6369:60;;;;;;9153:1:::1;9138:17;;:3;:17;;;;9130:26;;;::::0;::::1;;9181:8;:15;9190:5;9181:15;;;;;;;;;;;;;;;;9171:6;:25;;9163:34;;;::::0;::::1;;9222:7;:14;9230:5;9222:14;;;;;;;;;;;;;;;:26;9237:10;9222:26;;;;;;;;;;;;;;;;9212:6;:36;;9204:45;;;::::0;::::1;;9276:27;9296:6;9276:8;:15;9285:5;9276:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;9258:8;:15;9267:5;9258:15;;;;;;;;;;;;;;;:45;;;;9326:25;9344:6;9326:8;:13;9335:3;9326:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9310:8;:13;9319:3;9310:13;;;;;;;;;;;;;;;:41;;;;9387:38;9418:6;9387:7;:14;9395:5;9387:14;;;;;;;;;;;;;;;:26;9402:10;9387:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;9358:7;:14;9366:5;9358:14;;;;;;;;;;;;;;;:26;9373:10;9358:26;;;;;;;;;;;;;;;:67;;;;9453:3;9437:28;;9446:5;9437:28;;;9458:6;9437:28;;;;;;:::i;:::-;;;;;;;;9479:4;9472:11;;9023:466:::0;;;;;:::o;5454:21::-;;;;;;;;;;;;;:::o;7103:286::-;7186:4;6506:5;;;;;;;;;;;6492:19;;:10;:19;;;:40;;;;6529:3;;;;;;;;;;;6515:17;;:10;:17;;;6492:40;6484:49;;;;;;6301:15:::1;;;;;;;;;;;6300:16;6292:25;;;::::0;::::1;;7213:24:::2;7229:7;7213:11;;:15;;:24;;;;:::i;:::-;7199:11;:38;;;;7260:26;7278:7;7260:8;:13;7269:3;7260:13;;;;;;;;;;;;;;;;:17;;:26;;;;:::i;:::-;7244:8;:13;7253:3;7244:13;;;;;;;;;;;;;;;:42;;;;7303:3;7298:18;;;7308:7;7298:18;;;;;;:::i;:::-;;;;;;;;7352:3;7328:37;;7345:4;7328:37;;;7357:7;7328:37;;;;;;:::i;:::-;;;;;;;;7379:4;7372:11;;7103:286:::0;;;;:::o;12216:412::-;12299:4;12312:13;12328:7;:19;12336:10;12328:19;;;;;;;;;;;;;;;:29;12348:8;12328:29;;;;;;;;;;;;;;;;12312:45;;12387:8;12368:16;:27;12364:168;;;12438:1;12406:7;:19;12414:10;12406:19;;;;;;;;;;;;;;;:29;12426:8;12406:29;;;;;;;;;;;;;;;:33;;;;12364:168;;;12494:30;12507:16;12494:8;:12;;:30;;;;:::i;:::-;12462:7;:19;12470:10;12462:19;;;;;;;;;;;;;;;:29;12482:8;12462:29;;;;;;;;;;;;;;;:62;;;;12364:168;12564:8;12543:61;;12552:10;12543:61;;;12574:7;:19;12582:10;12574:19;;;;;;;;;;;;;;;:29;12594:8;12574:29;;;;;;;;;;;;;;;;12543:61;;;;;;:::i;:::-;;;;;;;;12618:4;12611:11;;;12216:412;;;;:::o;8629:109::-;8685:15;8716:8;:16;8725:6;8716:16;;;;;;;;;;;;;;;;8709:23;;8629:109;;;:::o;7509:149::-;7573:4;6506:5;;;;;;;;;;;6492:19;;:10;:19;;;:40;;;;6529:3;;;;;;;;;;;6515:17;;:10;:17;;;6492:40;6484:49;;;;;;6301:15:::1;;;;;;;;;;;6300:16;6292:25;;;::::0;::::1;;7604:4:::2;7586:15;;:22;;;;;;;;;;;;;;;;;;7620:14;;;;;;;;;;7648:4;7641:11;;7509:149:::0;:::o;355:20::-;;;;;;;;;;;;:::o;9495:366::-;9585:4;808:5;;;;;;;;;;;794:19;;:10;:19;;;786:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;9621:1:::1;9606:17;;:3;:17;;;;9598:26;;;::::0;::::1;;9649:8;:23;9666:4;9649:23;;;;;;;;;;;;;;;;9639:6;:33;;9631:42;;;::::0;::::1;;9706:35;9734:6;9706:8;:23;9723:4;9706:23;;;;;;;;;;;;;;;;:27;;:35;;;;:::i;:::-;9680:8;:23;9697:4;9680:23;;;;;;;;;;;;;;;:61;;;;9764:25;9782:6;9764:8;:13;9773:3;9764:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;9748:8;:13;9757:3;9748:13;;;;;;;;;;;;;;;:41;;;;9825:3;9801:36;;9818:4;9801:36;;;9830:6;9801:36;;;;;;:::i;:::-;;;;;;;;9851:4;9844:11;;9495:366:::0;;;;:::o;5429:20::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13299:266::-;808:5;;;;;;;;;;794:19;;:10;:19;;;786:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13390:9:::1;13385:173;13409:14;:21;13405:1;:25;13385:173;;;13456:10;:29;13467:14;13482:1;13467:17;;;;;;;;:::i;:::-;;;;;;;;13456:29;;;;;;;;;;;;;;;;;;;;;;;;;13452:43;;;13487:8;;13452:43;13542:4;13510:10;:29;13521:14;13536:1;13521:17;;;;;;;;:::i;:::-;;;;;;;;13510:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;13385:173;13432:3;;;;;:::i;:::-;;;;13385:173;;;;13299:266:::0;:::o;8317:302::-;8392:4;6506:5;;;;;;;;;;;6492:19;;:10;:19;;;:40;;;;6529:3;;;;;;;;;;;6515:17;;:10;:17;;;6492:40;6484:49;;;;;;8428:1:::1;8412:18;;:4;:18;;;;8404:27;;;::::0;::::1;;8458:23;8474:6;8458:11;;:15;;:23;;;;:::i;:::-;8444:11;:37;;;;8505:26;8524:6;8505:8;:14;8514:4;8505:14;;;;;;;;;;;;;;;;:18;;:26;;;;:::i;:::-;8488:8;:14;8497:4;8488:14;;;;;;;;;;;;;;;:43;;;;8543:6;;;;;;;;;;8584:1;8561:34;;8570:4;8561:34;;;8588:6;8561:34;;;;;;:::i;:::-;;;;;;;;8609:4;8602:11;;8317:302:::0;;;;:::o;5511:25::-;;;;;;;;;;;;;:::o;7819:490::-;7894:4;6378:6;;;;;;;;;;;6377:7;:30;;;;6402:5;;;;;;;;;;6388:19;;:10;:19;;;6377:30;:51;;;;6425:3;;;;;;;;;;;6411:17;;:10;:17;;;6377:51;6369:60;;;;;;7930:1:::1;7915:17;;:3;:17;;;;7907:26;;;::::0;::::1;;7947;7962:10;7947:14;:26::i;:::-;7946:27;7937:37;;;::::0;::::1;;7999:8;:20;8008:10;7999:20;;;;;;;;;;;;;;;;7989:6;:30;;7981:39;;;::::0;::::1;;8058:4;8036:27;;:10;:27;;;;8027:37;;;::::0;::::1;;8160:32;8185:6;8160:8;:20;8169:10;8160:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;8137:8;:20;8146:10;8137:20;;;;;;;;;;;;;;;:55;;;;8215:25;8233:6;8215:8;:13;8224:3;8215:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;8199:8;:13;8208:3;8199:13;;;;;;;;;;;;;;;:41;;;;8273:3;8252:33;;8261:10;8252:33;;;8278:6;8252:33;;;;;;:::i;:::-;;;;;;;;8299:4;8292:11;;7819:490:::0;;;;:::o;13716:273::-;808:5;;;;;;;;;;794:19;;:10;:19;;;786:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13812:9:::1;13807:175;13831:14;:21;13827:1;:25;13807:175;;;13879:10;:29;13890:14;13905:1;13890:17;;;;;;;;:::i;:::-;;;;;;;;13879:29;;;;;;;;;;;;;;;;;;;;;;;;;13874:44;;13910:8;;13874:44;13965:5;13933:10;:29;13944:14;13959:1;13944:17;;;;;;;;:::i;:::-;;;;;;;;13933:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;13807:175;13854:3;;;;;:::i;:::-;;;;13807:175;;;;13716:273:::0;:::o;12903:193::-;12967:4;808:5;;;;;;;;;;;794:19;;:10;:19;;;786:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;13012:1:::1;12988:26;;:12;:26;;;;12980:35;;;::::0;::::1;;13028:12;13022:3;;:18;;;;;;;;;;;;;;;;;;13059:12;13052:20;;;;;;;;;;;;13086:4;13079:11;;12903:193:::0;;;:::o;12770:125::-;12822:4;6506:5;;;;;;;;;;;6492:19;;:10;:19;;;:40;;;;6529:3;;;;;;;;;;;6515:17;;:10;:17;;;6492:40;6484:49;;;;;;12844:4:::1;12835:6;;:13;;;;;;;;;;;;;;;;;;12860:11;;;;;;;;;;12885:4;12878:11;;12770:125:::0;:::o;5679:42::-;;;;;;;;;;;;;;;;;;;;;;:::o;6234:25::-;;;;;;;;;;;;;:::o;11509:266::-;11587:4;11632:46;11666:11;11632:7;:19;11640:10;11632:19;;;;;;;;;;;;;;;:29;11652:8;11632:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;11600:7;:19;11608:10;11600:19;;;;;;;;;;;;;;;:29;11620:8;11600:29;;;;;;;;;;;;;;;:78;;;;11711:8;11690:61;;11699:10;11690:61;;;11721:7;:19;11729:10;11721:19;;;;;;;;;;;;;;;:29;11741:8;11721:29;;;;;;;;;;;;;;;;11690:61;;;;;;:::i;:::-;;;;;;;;11765:4;11758:11;;11509:266;;;;:::o;10945:128::-;11019:7;11042;:15;11050:6;11042:15;;;;;;;;;;;;;;;:25;11058:8;11042:25;;;;;;;;;;;;;;;;11035:32;;10945:128;;;;:::o;1041:221::-;808:5;;;;;;;;;;794:19;;:10;:19;;;786:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;1142:1:::1;1122:22;;:8;:22;;;;1114:60;;;;;;;;;;;;:::i;:::-;;;;;;;;;1218:8;1190:37;;1211:5;::::0;::::1;;;;;;;;1190:37;;;;;;;;;;;;1246:8;1238:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;1041:221:::0;:::o;2561:184::-;2619:7;2652:1;2647;:6;;2639:49;;;;;;;;;;;;:::i;:::-;;;;;;;;;2699:9;2715:1;2711;:5;;;;:::i;:::-;2699:17;;2736:1;2729:8;;;2561:184;;;;:::o;2105:181::-;2163:7;2183:9;2199:1;2195;:5;;;;:::i;:::-;2183:17;;2224:1;2219;:6;;2211:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;2277:1;2270:8;;;2105:181;;;;:::o;13997:129::-;14068:4;14091:10;:26;14102:14;14091:26;;;;;;;;;;;;;;;;;;;;;;;;;14083:35;;13997:129;;;:::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:118::-;6084:24;6102:5;6084:24;:::i;:::-;6079:3;6072:37;5997:118;;:::o;6121:112::-;6204:22;6220:5;6204:22;:::i;:::-;6199:3;6192:35;6121:112;;:::o;6239:222::-;6332:4;6370:2;6359:9;6355:18;6347:26;;6383:71;6451:1;6440:9;6436:17;6427:6;6383:71;:::i;:::-;6239:222;;;;:::o;6467:210::-;6554:4;6592:2;6581:9;6577:18;6569:26;;6605:65;6667:1;6656:9;6652:17;6643:6;6605:65;:::i;:::-;6467:210;;;;:::o;6683:313::-;6796:4;6834:2;6823:9;6819:18;6811:26;;6883:9;6877:4;6873:20;6869:1;6858:9;6854:17;6847:47;6911:78;6984:4;6975:6;6911:78;:::i;:::-;6903:86;;6683:313;;;;:::o;7002:419::-;7168:4;7206:2;7195:9;7191:18;7183:26;;7255:9;7249:4;7245:20;7241:1;7230:9;7226:17;7219:47;7283:131;7409:4;7283:131;:::i;:::-;7275:139;;7002:419;;;:::o;7427:::-;7593:4;7631:2;7620:9;7616:18;7608:26;;7680:9;7674:4;7670:20;7666:1;7655:9;7651:17;7644:47;7708:131;7834:4;7708:131;:::i;:::-;7700:139;;7427:419;;;:::o;7852:::-;8018:4;8056:2;8045:9;8041:18;8033:26;;8105:9;8099:4;8095:20;8091:1;8080:9;8076:17;8069:47;8133:131;8259:4;8133:131;:::i;:::-;8125:139;;7852:419;;;:::o;8277:::-;8443:4;8481:2;8470:9;8466:18;8458:26;;8530:9;8524:4;8520:20;8516:1;8505:9;8501:17;8494:47;8558:131;8684:4;8558:131;:::i;:::-;8550:139;;8277:419;;;:::o;8702:222::-;8795:4;8833:2;8822:9;8818:18;8810:26;;8846:71;8914:1;8903:9;8899:17;8890:6;8846:71;:::i;:::-;8702:222;;;;:::o;8930:214::-;9019:4;9057:2;9046:9;9042:18;9034:26;;9070:67;9134:1;9123:9;9119:17;9110:6;9070:67;:::i;:::-;8930:214;;;;:::o;9150:129::-;9184:6;9211:20;;:::i;:::-;9201:30;;9240:33;9268:4;9260:6;9240:33;:::i;:::-;9150:129;;;:::o;9285:75::-;9318:6;9351:2;9345:9;9335:19;;9285:75;:::o;9366:311::-;9443:4;9533:18;9525:6;9522:30;9519:56;;;9555:18;;:::i;:::-;9519:56;9605:4;9597:6;9593:17;9585:25;;9665:4;9659;9655:15;9647:23;;9366:311;;;:::o;9683:99::-;9735:6;9769:5;9763:12;9753:22;;9683:99;;;:::o;9788:169::-;9872:11;9906:6;9901:3;9894:19;9946:4;9941:3;9937:14;9922:29;;9788:169;;;;:::o;9963:305::-;10003:3;10022:20;10040:1;10022:20;:::i;:::-;10017:25;;10056:20;10074:1;10056:20;:::i;:::-;10051:25;;10210:1;10142:66;10138:74;10135:1;10132:81;10129:107;;;10216:18;;:::i;:::-;10129:107;10260:1;10257;10253:9;10246:16;;9963:305;;;;:::o;10274:191::-;10314:4;10334:20;10352:1;10334:20;:::i;:::-;10329:25;;10368:20;10386:1;10368:20;:::i;:::-;10363:25;;10407:1;10404;10401:8;10398:34;;;10412:18;;:::i;:::-;10398:34;10457:1;10454;10450:9;10442:17;;10274:191;;;;:::o;10471:96::-;10508:7;10537:24;10555:5;10537:24;:::i;:::-;10526:35;;10471:96;;;:::o;10573:90::-;10607:7;10650:5;10643:13;10636:21;10625:32;;10573:90;;;:::o;10669:126::-;10706:7;10746:42;10739:5;10735:54;10724:65;;10669:126;;;:::o;10801:77::-;10838:7;10867:5;10856:16;;10801:77;;;:::o;10884:86::-;10919:7;10959:4;10952:5;10948:16;10937:27;;10884:86;;;:::o;10976:307::-;11044:1;11054:113;11068:6;11065:1;11062:13;11054:113;;;11153:1;11148:3;11144:11;11138:18;11134:1;11129:3;11125:11;11118:39;11090:2;11087:1;11083:10;11078:15;;11054:113;;;11185:6;11182:1;11179:13;11176:101;;;11265:1;11256:6;11251:3;11247:16;11240:27;11176:101;11025:258;10976:307;;;:::o;11289:320::-;11333:6;11370:1;11364:4;11360:12;11350:22;;11417:1;11411:4;11407:12;11438:18;11428:81;;11494:4;11486:6;11482:17;11472:27;;11428:81;11556:2;11548:6;11545:14;11525:18;11522:38;11519:84;;;11575:18;;:::i;:::-;11519:84;11340:269;11289:320;;;:::o;11615:281::-;11698:27;11720:4;11698:27;:::i;:::-;11690:6;11686:40;11828:6;11816:10;11813:22;11792:18;11780:10;11777:34;11774:62;11771:88;;;11839:18;;:::i;:::-;11771:88;11879:10;11875:2;11868:22;11658:238;11615:281;;:::o;11902:233::-;11941:3;11964:24;11982:5;11964:24;:::i;:::-;11955:33;;12010:66;12003:5;12000:77;11997:103;;;12080:18;;:::i;:::-;11997:103;12127:1;12120:5;12116:13;12109:20;;11902:233;;;:::o;12141:180::-;12189:77;12186:1;12179:88;12286:4;12283:1;12276:15;12310:4;12307:1;12300:15;12327:180;12375:77;12372:1;12365:88;12472:4;12469:1;12462:15;12496:4;12493:1;12486:15;12513:180;12561:77;12558:1;12551:88;12658:4;12655:1;12648:15;12682:4;12679:1;12672:15;12699:180;12747:77;12744:1;12737:88;12844:4;12841:1;12834:15;12868:4;12865:1;12858:15;12885:117;12994:1;12991;12984:12;13008:117;13117:1;13114;13107:12;13131:117;13240:1;13237;13230:12;13254:117;13363:1;13360;13353:12;13377:102;13418:6;13469:2;13465:7;13460:2;13453:5;13449:14;13445:28;13435:38;;13377:102;;;:::o;13485:177::-;13625:29;13621:1;13613:6;13609:14;13602:53;13485:177;:::o;13668:180::-;13808:32;13804:1;13796:6;13792:14;13785:56;13668:180;:::o;13854:175::-;13994:27;13990:1;13982:6;13978:14;13971:51;13854:175;:::o;14035:174::-;14175:26;14171:1;14163:6;14159:14;14152:50;14035:174;:::o;14215:122::-;14288:24;14306:5;14288:24;:::i;:::-;14281:5;14278:35;14268:63;;14327:1;14324;14317:12;14268:63;14215:122;:::o;14343:::-;14416:24;14434:5;14416:24;:::i;:::-;14409:5;14406:35;14396:63;;14455:1;14452;14445:12;14396:63;14343:122;:::o

Swarm Source

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