ETH Price: $3,221.58 (-3.70%)
 

Overview

Max Total Supply

314,740,292,271,503.912164251439122548 MAU

Holders

218

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
461,408,130,786.504289911284688513 MAU

Value
$0.00
0xA0f4c12e5f31104147C2813a6Ed0759D16A7D639
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:
MAU

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-30
*/

pragma solidity ^0.5.17;
// SPDX-License-Identifier: MIT OR GPL-3.0

/**
* https://mau.money
* https://t.me/maumoneyeth
* https://x.com/maumoneyeth
**/

contract Context {
    function _msgSender() internal view returns (address payable) {
        return msg.sender;

    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on 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);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold

    return c;
  }

  /**
  * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

  /**
  * @dev Adds two numbers, reverts on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    require(c >= a);

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

interface ILP {
    function sync() external;
}

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

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

    /**
     * @dev Returns the value of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

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

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

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

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

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

contract ERC20Detailed is IERC20 {
    string private _name;
    string private _symbol;
    uint8 private _decimals;

    /**
     * @dev Sets the values for `name`, `symbol`, and `decimals`. All three of
     * these values are immutable: they can only be set once during
     * construction.
     */
    constructor (string memory name, string memory symbol, uint8 decimals) public  {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }

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

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     * For example, if `decimals` equals `2`, a balance of `505` tokens should
     * be displayed to a user as `5,05` (`505 / 10 ** 2`).
     *
     * Tokens usually opt for a value of 18, imitating the relationship between
     * Ether and Wei.
     *
     * NOTE: This information is only used for _display_ purposes: it in
     * no way affects any of the arithmetic of the contract, including
     * {IERC20-balanceOf} and {IERC20-transfer}.
     */
    function decimals() public view returns (uint8) {
        return _decimals;
    }
}

/**
 * @title SafeMathInt
 * @dev Math operations for int256 with overflow safety checks.
 */
library SafeMathInt {
    int256 private constant MIN_INT256 = int256(1) << 255;
    int256 private constant MAX_INT256 = ~(int256(1) << 255);

    /**
     * @dev Multiplies two int256 variables and fails on overflow.
     */
    function mul(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        int256 c = a * b;

        // Detect overflow when multiplying MIN_INT256 with -1
        require(c != MIN_INT256 || (a & MIN_INT256) != (b & MIN_INT256));
        require((b == 0) || (c / b == a));
        return c;
    }

    /**
     * @dev Division of two int256 variables and fails on overflow.
     */
    function div(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        // Prevent overflow when dividing MIN_INT256 by -1
        require(b != -1 || a != MIN_INT256);

        // Solidity already throws when dividing by 0.
        return a / b;
    }

    /**
     * @dev Subtracts two int256 variables and fails on overflow.
     */
    function sub(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        int256 c = a - b;
        require((b >= 0 && c <= a) || (b < 0 && c > a));
        return c;
    }

    /**
     * @dev Adds two int256 variables and fails on overflow.
     */
    function add(int256 a, int256 b)
        internal
        pure
        returns (int256)
    {
        int256 c = a + b;
        require((b >= 0 && c >= a) || (b < 0 && c < a));
        return c;
    }

    /**
     * @dev Converts to absolute value, and fails on overflow.
     */
    function abs(int256 a)
        internal
        pure
        returns (int256)
    {
        require(a != MIN_INT256);
        return a < 0 ? -a : a;
    }
}


/**
 * @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;
  address public _previousOwner;
  uint256 public _lockTime;

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

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

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

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(isOwner());
    _;
  }

  /**
   * @return true if `msg.sender` is the owner of the contract.
   */
  function isOwner() public view returns(bool) {
    return msg.sender == _owner;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(_owner);
    _owner = address(0);
  }

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

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address newOwner) internal {
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
  
  function getUnlockTime() public view returns (uint256) {return _lockTime;}
  	
  function lock(uint256 time) public onlyOwner {
	_previousOwner = _owner;
	_owner = address(0);
	_lockTime = block.timestamp + time;
	emit OwnershipTransferred(_owner, address(0));
	}
	
  function unlock() public {
	require(_previousOwner == msg.sender, "You don't have permission to unlock");
	require(block.timestamp > _lockTime , "Contract is locked");
	emit OwnershipTransferred(_owner, _previousOwner);
	_owner = _previousOwner;
	}
}

/**
 * @title MAU ERC20 token
 * @dev  
 *      The goal of MAU is to be meme money.
 *      Based on the Ampleforth protocol.
 */
contract MAU is Context, ERC20Detailed, Ownable {
    using SafeMath for uint256;
    using SafeMathInt for int256;
    
	address BURN_ADDRESS = 0x0000000000000000000000000000000000000000;
	    
    event SetLPEvent(address lpAddress);

    event LogRebase(uint256 indexed epoch, uint256 totalSupply);

    // Used for authentication
    address public master;
    
    // LP atomic sync
    address public lp;
    ILP public lpContract;

    modifier onlyMaster() {
        require(msg.sender == master);
        _;
    }
    
    // Only the owner can transfer tokens in the initial phase.
    // This is allow the AMM listing to happen in an orderly fashion.
    bool public initialDistributionFinished;
    
    mapping (address => bool) allowTransfer;
    
    modifier initialDistributionLock {
        require(initialDistributionFinished || isOwner() || allowTransfer[msg.sender]);
        _;
    }

    modifier validRecipient(address to) {
        require(to != address(0x0));
        require(to != address(this));
        _;
    }

    uint256 private constant DECIMALS = 18;
    uint256 private constant MAX_UINT256 = ~uint256(0);
    
    uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 10**14 * 10**DECIMALS;

    // TOTAL_GONS is a multiple of INITIAL_FRAGMENTS_SUPPLY so that _gonsPerFragment is an integer.
    // Use the highest value that fits in a uint256 for max granularity.
    uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);

    // MAX_SUPPLY = maximum integer < (sqrt(4*TOTAL_GONS + 1) - 1) / 2
    uint256 private constant MAX_SUPPLY = ~uint128(0);  // (2^128) - 1

    uint256 public _totalSupply;
    uint256 public _gonsPerFragment;
    mapping(address => uint256) private _gonBalances;

    // This is denominated in Fragments, because the gons-fragments conversion might change before
    // it's fully paid.
    mapping (address => mapping (address => uint256)) private _allowedFragments;

    /**
     * @dev Notifies Fragments contract about a new rebase cycle.
     * @param supplyDelta The number of new fragment tokens to add into circulation via expansion.
     * @return The total number of fragments after the supply adjustment.
     */
    function rebase(uint256 epoch, int256 supplyDelta)
        external
        onlyMaster
        returns (uint256)
    {
        if (supplyDelta == 0) {
            emit LogRebase(epoch, _totalSupply);
            return _totalSupply;
        }

        if (supplyDelta < 0) {
            _totalSupply = _totalSupply.sub(uint256(-supplyDelta));
        } else {
            _totalSupply = _totalSupply.add(uint256(supplyDelta));
        }

        if (_totalSupply > MAX_SUPPLY) {
            _totalSupply = MAX_SUPPLY;
        }
        
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        lpContract.sync();

        emit LogRebase(epoch, _totalSupply);
        return _totalSupply;
    }

    constructor()
        ERC20Detailed("Mau Money", "MAU", uint8(DECIMALS)) public
    {
        _totalSupply = INITIAL_FRAGMENTS_SUPPLY;
        _gonBalances[msg.sender] = TOTAL_GONS;
        _gonsPerFragment = TOTAL_GONS.div(_totalSupply);
        
        initialDistributionFinished = false;
        emit Transfer(address(0x0), msg.sender, _totalSupply);
    }

    /**
     * @notice Sets a new master
     */
    function setMaster(address masterAddress)
        external
        onlyOwner
    {
        master = masterAddress;
    }
    
    /**
     * @notice Sets contract LP address
     */
    function setLP(address lpAddress)
        external
        onlyOwner
    {
        lp = lpAddress;
        lpContract = ILP(lp);
        emit SetLPEvent(lp);
    }    

    /**
     * @return The total number of fragments.
     */
    function totalSupply()
        public
        view
        returns (uint256)
    {
        return _totalSupply;
    }

   /**
     * @param who The address to query.
     * @return The balance of the specified address.
     */
    function balanceOf(address who)
        external
        view
        returns (uint256)
    {
        return _gonBalances[who].div(_gonsPerFragment);
    }

    /**
     * @dev Transfer tokens to a specified address.
     * @param to The address to transfer to.
     * @param value The amount to be transferred.
     * @return True on success, false otherwise.
     */
    function transfer(address to, uint256 value)
        external
        validRecipient(to)
        initialDistributionLock
        returns (bool)
    {
        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[msg.sender] = _gonBalances[msg.sender].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(msg.sender, to, value);
        return true;
    }

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

    /**
     * @dev Transfer tokens from one address to another.
     * @param from The address you want to send tokens from.
     * @param to The address you want to transfer to.
     * @param value The amount of tokens to be transferred.
     */
    function transferFrom(address from, address to, uint256 value)
        external
        validRecipient(to)
        returns (bool)
    {
        _allowedFragments[from][msg.sender] = _allowedFragments[from][msg.sender].sub(value);

        uint256 gonValue = value.mul(_gonsPerFragment);
        _gonBalances[from] = _gonBalances[from].sub(gonValue);
        _gonBalances[to] = _gonBalances[to].add(gonValue);
        emit Transfer(from, to, value);

        return true;
    }

    /**
     * @dev Approve the passed address to spend the specified amount of tokens on behalf of
     * msg.sender. This method is included for ERC20 compatibility.
     * increaseAllowance and decreaseAllowance should be used instead.
     * Changing an allowance with this method brings the risk that someone may transfer both
     * the old and the new allowance - if they are both greater than zero - if a transfer
     * transaction is mined before the later approve() call is mined.
     *
     * @param spender The address which will spend the funds.
     * @param value The amount of tokens to be spent.
     */
    function approve(address spender, uint256 value)
        external
        initialDistributionLock
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }

    /**
     * @dev Increase the amount of tokens that an owner has allowed to a spender.
     * This method should be used instead of approve() to avoid the double approval vulnerability
     * described above.
     * @param spender The address which will spend the funds.
     * @param addedValue The amount of tokens to increase the allowance by.
     */
    function increaseAllowance(address spender, uint256 addedValue)
        external
        initialDistributionLock
        returns (bool)
    {
        _allowedFragments[msg.sender][spender] =
            _allowedFragments[msg.sender][spender].add(addedValue);
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }

    /**
     * @dev Decrease the amount of tokens that an owner has allowed to a spender.
     *
     * @param spender The address which will spend the funds.
     * @param subtractedValue The amount of tokens to decrease the allowance by.
     */
    function decreaseAllowance(address spender, uint256 subtractedValue)
        external
        initialDistributionLock
        returns (bool)
    {
        uint256 oldValue = _allowedFragments[msg.sender][spender];
        if (subtractedValue >= oldValue) {
            _allowedFragments[msg.sender][spender] = 0;
        } else {
            _allowedFragments[msg.sender][spender] = oldValue.sub(subtractedValue);
        }
        emit Approval(msg.sender, spender, _allowedFragments[msg.sender][spender]);
        return true;
    }
    
    function setInitialDistributionFinished()
        external 
        onlyOwner 
    {
        initialDistributionFinished = true;
    }
    
    function enableTransfer(address _addr)
        external 
        onlyOwner 
    {
        allowTransfer[_addr] = true;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"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":"uint256","name":"epoch","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalSupply","type":"uint256"}],"name":"LogRebase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"lpAddress","type":"address"}],"name":"SetLPEvent","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"},{"constant":true,"inputs":[],"name":"_gonsPerFragment","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_lockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_previousOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"enableTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getUnlockTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialDistributionFinished","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"lock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"lp","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lpContract","outputs":[{"internalType":"contract ILP","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"master","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"int256","name":"supplyDelta","type":"int256"}],"name":"rebase","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"setInitialDistributionFinished","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"lpAddress","type":"address"}],"name":"setLP","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"masterAddress","type":"address"}],"name":"setMaster","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526000600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200005357600080fd5b506040518060400160405280600981526020017f4d6175204d6f6e657900000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d4155000000000000000000000000000000000000000000000000000000000081525060128260009080519060200190620000da929190620002b5565b508160019080519060200190620000f3929190620002b5565b5080600260006101000a81548160ff021916908360ff16021790555050505033600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506012600a0a655af3107a400002600a819055506012600a0a655af3107a400002600019816200017e57fe5b0660001903600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001fe600a546012600a0a655af3107a40000260001981620001e557fe5b06600019036200028d60201b620023da1790919060201c565b600b819055506000600860146101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600a546040518082815260200191505060405180910390a362000364565b60008082116200029c57600080fd5b6000828481620002a857fe5b0490508091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002f857805160ff191683800117855562000329565b8280016001018555821562000329579182015b82811115620003285782518255916020019190600101906200030b565b5b5090506200033891906200033c565b5090565b6200036191905b808211156200035d57600081600090555060010162000343565b5090565b90565b61251880620003746000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c80637a43e23f1161010f578063b2bdfa7b116100a2578063dd46706411610071578063dd46706414610917578063dd62ed3e14610945578063ee97f7f3146109bd578063f2fde38b14610a07576101f0565b8063b2bdfa7b14610849578063c4996f5114610893578063d1fce264146108b1578063d5938aac146108d3576101f0565b806395d89b41116100de57806395d89b41146106f0578063a457c2d714610773578063a69df4b5146107d9578063a9059cbb146107e3576101f0565b80637a43e23f146105ee5780638acee3cf1461063a5780638da5cb5b146106845780638f32d59b146106ce576101f0565b8063313ce567116101875780636e63cd96116101565780636e63cd961461052457806370a082311461056e578063715018a6146105c657806379af25a6146105d0576101f0565b8063313ce5671461045e57806339509351146104825780633eaaf86b146104e8578063602bc62b14610506576101f0565b806326fae0d3116101c357806326fae0d3146103825780632be6937d146103c65780632f34d282146103d0578063313c06a014610414576101f0565b806306fdde03146101f5578063095ea7b31461027857806318160ddd146102de57806323b872dd146102fc575b600080fd5b6101fd610a4b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c46004803603604081101561028e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aed565b604051808215151515815260200191505060405180910390f35b6102e6610c5b565b6040518082815260200191505060405180910390f35b6103686004803603606081101561031257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c65565b604051808215151515815260200191505060405180910390f35b6103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f9f565b005b6103ce610ff4565b005b610412600480360360208110156103e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611022565b005b61041c61115f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610466611185565b604051808260ff1660ff16815260200191505060405180910390f35b6104ce6004803603604081101561049857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061119c565b604051808215151515815260200191505060405180910390f35b6104f0611414565b6040518082815260200191505060405180910390f35b61050e61141a565b6040518082815260200191505060405180910390f35b61052c611424565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105b06004803603602081101561058457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061144a565b6040518082815260200191505060405180910390f35b6105ce6114a7565b005b6105d8611561565b6040518082815260200191505060405180910390f35b6106246004803603604081101561060457600080fd5b810190808035906020019092919080359060200190929190505050611567565b6040518082815260200191505060405180910390f35b610642611790565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61068c6117b6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106d66117e0565b604051808215151515815260200191505060405180910390f35b6106f8611838565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073857808201518184015260208101905061071d565b50505050905090810190601f1680156107655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107bf6004803603604081101561078957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118da565b604051808215151515815260200191505060405180910390f35b6107e1611be7565b005b61082f600480360360408110156107f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e07565b604051808215151515815260200191505060405180910390f35b6108516120ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61089b6120d3565b6040518082815260200191505060405180910390f35b6108b96120d9565b604051808215151515815260200191505060405180910390f35b610915600480360360208110156108e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120ec565b005b6109436004803603602081101561092d57600080fd5b8101908080359060200190929190505050612158565b005b6109a76004803603604081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612297565b6040518082815260200191505060405180910390f35b6109c561231e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a4960048036036020811015610a1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612344565b005b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b820191906000526020600020905b815481529060010190602001808311610ac657829003601f168201915b5050505050905090565b6000600860149054906101000a900460ff1680610b0e5750610b0d6117e0565b5b80610b625750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b6b57600080fd5b81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600a54905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ca257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cdb57600080fd5b610d6a83600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236190919063ffffffff16565b600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610e01600b548561238190919063ffffffff16565b9050610e5581600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236190919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eea81600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123bb90919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b610fa76117e0565b610fb057600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ffc6117e0565b61100557600080fd5b6001600860146101000a81548160ff021916908315150217905550565b61102a6117e0565b61103357600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2722d97be5760964e10a9f98000da5b4e69c3841d8fd5b4d8398a87ac02fe3f2600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900460ff16905090565b6000600860149054906101000a900460ff16806111bd57506111bc6117e0565b5b806112115750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61121a57600080fd5b6112a982600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123bb90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600a5481565b6000600454905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114a0600b54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123da90919063ffffffff16565b9050919050565b6114af6117e0565b6114b857600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115c357600080fd5b600082141561161057827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2600a546040518082815260200191505060405180910390a2600a54905061178a565b600082121561163c5761163182600003600a5461236190919063ffffffff16565b600a81905550611658565b61165182600a546123bb90919063ffffffff16565b600a819055505b6000196fffffffffffffffffffffffffffffffff16600a541115611692576000196fffffffffffffffffffffffffffffffff16600a819055505b6116c2600a546012600a0a655af3107a400002600019816116af57fe5b06600019036123da90919063ffffffff16565b600b81905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561173257600080fd5b505af1158015611746573d6000803e3d6000fd5b50505050827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2600a546040518082815260200191505060405180910390a2600a5490505b92915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118d05780601f106118a5576101008083540402835291602001916118d0565b820191906000526020600020905b8154815290600101906020018083116118b357829003601f168201915b5050505050905090565b6000600860149054906101000a900460ff16806118fb57506118fa6117e0565b5b8061194f5750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61195857600080fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611a67576000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611afb565b611a7a838261236190919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124c16023913960400191505060405180910390fd5b6004544211611d04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e7472616374206973206c6f636b6564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e4457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e7d57600080fd5b600860149054906101000a900460ff1680611e9c5750611e9b6117e0565b5b80611ef05750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ef957600080fd5b6000611f10600b548561238190919063ffffffff16565b9050611f6481600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236190919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ff981600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123bb90919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600860149054906101000a900460ff1681565b6120f46117e0565b6120fd57600080fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6121606117e0565b61216957600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550804201600481905550600073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61234c6117e0565b61235557600080fd5b61235e81612400565b50565b60008282111561237057600080fd5b600082840390508091505092915050565b60008083141561239457600090506123b5565b60008284029050828482816123a557fe5b04146123b057600080fd5b809150505b92915050565b6000808284019050838110156123d057600080fd5b8091505092915050565b60008082116123e857600080fd5b60008284816123f357fe5b0490508091505092915050565b8073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636ba265627a7a72315820a1f5b6569802203f19dea61680a240d3d6f5da867545df2ceaa4d5a9401d411364736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101f05760003560e01c80637a43e23f1161010f578063b2bdfa7b116100a2578063dd46706411610071578063dd46706414610917578063dd62ed3e14610945578063ee97f7f3146109bd578063f2fde38b14610a07576101f0565b8063b2bdfa7b14610849578063c4996f5114610893578063d1fce264146108b1578063d5938aac146108d3576101f0565b806395d89b41116100de57806395d89b41146106f0578063a457c2d714610773578063a69df4b5146107d9578063a9059cbb146107e3576101f0565b80637a43e23f146105ee5780638acee3cf1461063a5780638da5cb5b146106845780638f32d59b146106ce576101f0565b8063313ce567116101875780636e63cd96116101565780636e63cd961461052457806370a082311461056e578063715018a6146105c657806379af25a6146105d0576101f0565b8063313ce5671461045e57806339509351146104825780633eaaf86b146104e8578063602bc62b14610506576101f0565b806326fae0d3116101c357806326fae0d3146103825780632be6937d146103c65780632f34d282146103d0578063313c06a014610414576101f0565b806306fdde03146101f5578063095ea7b31461027857806318160ddd146102de57806323b872dd146102fc575b600080fd5b6101fd610a4b565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023d578082015181840152602081019050610222565b50505050905090810190601f16801561026a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102c46004803603604081101561028e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610aed565b604051808215151515815260200191505060405180910390f35b6102e6610c5b565b6040518082815260200191505060405180910390f35b6103686004803603606081101561031257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610c65565b604051808215151515815260200191505060405180910390f35b6103c46004803603602081101561039857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f9f565b005b6103ce610ff4565b005b610412600480360360208110156103e657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611022565b005b61041c61115f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610466611185565b604051808260ff1660ff16815260200191505060405180910390f35b6104ce6004803603604081101561049857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061119c565b604051808215151515815260200191505060405180910390f35b6104f0611414565b6040518082815260200191505060405180910390f35b61050e61141a565b6040518082815260200191505060405180910390f35b61052c611424565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6105b06004803603602081101561058457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061144a565b6040518082815260200191505060405180910390f35b6105ce6114a7565b005b6105d8611561565b6040518082815260200191505060405180910390f35b6106246004803603604081101561060457600080fd5b810190808035906020019092919080359060200190929190505050611567565b6040518082815260200191505060405180910390f35b610642611790565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61068c6117b6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6106d66117e0565b604051808215151515815260200191505060405180910390f35b6106f8611838565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561073857808201518184015260208101905061071d565b50505050905090810190601f1680156107655780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6107bf6004803603604081101561078957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118da565b604051808215151515815260200191505060405180910390f35b6107e1611be7565b005b61082f600480360360408110156107f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611e07565b604051808215151515815260200191505060405180910390f35b6108516120ad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61089b6120d3565b6040518082815260200191505060405180910390f35b6108b96120d9565b604051808215151515815260200191505060405180910390f35b610915600480360360208110156108e957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506120ec565b005b6109436004803603602081101561092d57600080fd5b8101908080359060200190929190505050612158565b005b6109a76004803603604081101561095b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612297565b6040518082815260200191505060405180910390f35b6109c561231e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610a4960048036036020811015610a1d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612344565b005b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b820191906000526020600020905b815481529060010190602001808311610ac657829003601f168201915b5050505050905090565b6000600860149054906101000a900460ff1680610b0e5750610b0d6117e0565b5b80610b625750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b610b6b57600080fd5b81600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600a54905090565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610ca257600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610cdb57600080fd5b610d6a83600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236190919063ffffffff16565b600d60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610e01600b548561238190919063ffffffff16565b9050610e5581600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236190919063ffffffff16565b600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610eea81600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123bb90919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a36001925050509392505050565b610fa76117e0565b610fb057600080fd5b80600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b610ffc6117e0565b61100557600080fd5b6001600860146101000a81548160ff021916908315150217905550565b61102a6117e0565b61103357600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2722d97be5760964e10a9f98000da5b4e69c3841d8fd5b4d8398a87ac02fe3f2600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260009054906101000a900460ff16905090565b6000600860149054906101000a900460ff16806111bd57506111bc6117e0565b5b806112115750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61121a57600080fd5b6112a982600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123bb90919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600a5481565b6000600454905090565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006114a0600b54600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123da90919063ffffffff16565b9050919050565b6114af6117e0565b6114b857600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60045481565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146115c357600080fd5b600082141561161057827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2600a546040518082815260200191505060405180910390a2600a54905061178a565b600082121561163c5761163182600003600a5461236190919063ffffffff16565b600a81905550611658565b61165182600a546123bb90919063ffffffff16565b600a819055505b6000196fffffffffffffffffffffffffffffffff16600a541115611692576000196fffffffffffffffffffffffffffffffff16600a819055505b6116c2600a546012600a0a655af3107a400002600019816116af57fe5b06600019036123da90919063ffffffff16565b600b81905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561173257600080fd5b505af1158015611746573d6000803e3d6000fd5b50505050827f72725a3b1e5bd622d6bcd1339bb31279c351abe8f541ac7fd320f24e1b1641f2600a546040518082815260200191505060405180910390a2600a5490505b92915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156118d05780601f106118a5576101008083540402835291602001916118d0565b820191906000526020600020905b8154815290600101906020018083116118b357829003601f168201915b5050505050905090565b6000600860149054906101000a900460ff16806118fb57506118fa6117e0565b5b8061194f5750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b61195857600080fd5b6000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050808310611a67576000600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611afb565b611a7a838261236190919063ffffffff16565b600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b3373ffffffffffffffffffffffffffffffffffffffff16600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611c8d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260238152602001806124c16023913960400191505060405180910390fd5b6004544211611d04576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f436f6e7472616374206973206c6f636b6564000000000000000000000000000081525060200191505060405180910390fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600082600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e4457600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611e7d57600080fd5b600860149054906101000a900460ff1680611e9c5750611e9b6117e0565b5b80611ef05750600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b611ef957600080fd5b6000611f10600b548561238190919063ffffffff16565b9050611f6481600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461236190919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ff981600c60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546123bb90919063ffffffff16565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600b5481565b600860149054906101000a900460ff1681565b6120f46117e0565b6120fd57600080fd5b6001600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6121606117e0565b61216957600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550804201600481905550600073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61234c6117e0565b61235557600080fd5b61235e81612400565b50565b60008282111561237057600080fd5b600082840390508091505092915050565b60008083141561239457600090506123b5565b60008284029050828482816123a557fe5b04146123b057600080fd5b809150505b92915050565b6000808284019050838110156123d057600080fd5b8091505092915050565b60008082116123e857600080fd5b60008284816123f357fe5b0490508091505092915050565b8073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505056fe596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6f636ba265627a7a72315820a1f5b6569802203f19dea61680a240d3d6f5da867545df2ceaa4d5a9401d411364736f6c63430005110032

Deployed Bytecode Sourcemap

11039:8956:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11039:8956:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5471:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5471:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17870:268;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17870:268:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14941:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16739:489;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16739:489:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14498:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14498:125:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19710:139;;;:::i;:::-;;14694:170;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;14694:170:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;11445:17;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6323:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;18511:378;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;18511:378:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12736:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10365:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8570:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;15184:161;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15184:161:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9696:116;;;:::i;:::-;;8604:24;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13334:726;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;13334:726:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11469:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9037:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9339:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5673:87;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5673:87:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19151:547;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19151:547:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10642:253;;;:::i;:::-;;15571:423;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15571:423:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8544:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;12770:31;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;19861:129;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;19861:129:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;10448:187;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10448:187:0;;;;;;;;;;;;;;;;;:::i;:::-;;16301:176;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16301:176:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11388:21;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9979:103;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9979:103:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;5471:83;5508:13;5541:5;5534:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5471:83;:::o;17870:268::-;17988:4;11885:27;;;;;;;;;;;:40;;;;11916:9;:7;:9::i;:::-;11885:40;:69;;;;11929:13;:25;11943:10;11929:25;;;;;;;;;;;;;;;;;;;;;;;;;11885:69;11877:78;;;;;;18051:5;18010:17;:29;18028:10;18010:29;;;;;;;;;;;;;;;:38;18040:7;18010:38;;;;;;;;;;;;;;;:46;;;;18093:7;18072:36;;18081:10;18072:36;;;18102:5;18072:36;;;;;;;;;;;;;;;;;;18126:4;18119:11;;17870:268;;;;:::o;14941:123::-;15012:7;15044:12;;15037:19;;14941:123;:::o;16739:489::-;16866:4;16844:2;12052:3;12038:18;;:2;:18;;;;12030:27;;;;;;12090:4;12076:19;;:2;:19;;;;12068:28;;;;;;16926:46;16966:5;16926:17;:23;16944:4;16926:23;;;;;;;;;;;;;;;:35;16950:10;16926:35;;;;;;;;;;;;;;;;:39;;:46;;;;:::i;:::-;16888:17;:23;16906:4;16888:23;;;;;;;;;;;;;;;:35;16912:10;16888:35;;;;;;;;;;;;;;;:84;;;;16985:16;17004:27;17014:16;;17004:5;:9;;:27;;;;:::i;:::-;16985:46;;17063:32;17086:8;17063:12;:18;17076:4;17063:18;;;;;;;;;;;;;;;;:22;;:32;;;;:::i;:::-;17042:12;:18;17055:4;17042:18;;;;;;;;;;;;;;;:53;;;;17125:30;17146:8;17125:12;:16;17138:2;17125:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;17106:12;:16;17119:2;17106:16;;;;;;;;;;;;;;;:49;;;;17186:2;17171:25;;17180:4;17171:25;;;17190:5;17171:25;;;;;;;;;;;;;;;;;;17216:4;17209:11;;;16739:489;;;;;;:::o;14498:125::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;14602:13;14593:6;;:22;;;;;;;;;;;;;;;;;;14498:125;:::o;19710:139::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;19837:4;19807:27;;:34;;;;;;;;;;;;;;;;;;19710:139::o;14694:170::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;14786:9;14781:2;;:14;;;;;;;;;;;;;;;;;;14823:2;;;;;;;;;;;14806:10;;:20;;;;;;;;;;;;;;;;;;14842:14;14853:2;;;;;;;;;;;14842:14;;;;;;;;;;;;;;;;;;;;;;14694:170;:::o;11445:17::-;;;;;;;;;;;;;:::o;6323:83::-;6364:5;6389:9;;;;;;;;;;;6382:16;;6323:83;:::o;18511:378::-;18644:4;11885:27;;;;;;;;;;;:40;;;;11916:9;:7;:9::i;:::-;11885:40;:69;;;;11929:13;:25;11943:10;11929:25;;;;;;;;;;;;;;;;;;;;;;;;;11885:69;11877:78;;;;;;18720:54;18763:10;18720:17;:29;18738:10;18720:29;;;;;;;;;;;;;;;:38;18750:7;18720:38;;;;;;;;;;;;;;;;:42;;:54;;;;:::i;:::-;18666:17;:29;18684:10;18666:29;;;;;;;;;;;;;;;:38;18696:7;18666:38;;;;;;;;;;;;;;;:108;;;;18811:7;18790:69;;18799:10;18790:69;;;18820:17;:29;18838:10;18820:29;;;;;;;;;;;;;;;:38;18850:7;18820:38;;;;;;;;;;;;;;;;18790:69;;;;;;;;;;;;;;;;;;18877:4;18870:11;;18511:378;;;;:::o;12736:27::-;;;;:::o;10365:74::-;10411:7;10428:9;;10421:16;;10365:74;:::o;8570:29::-;;;;;;;;;;;;;:::o;15184:161::-;15266:7;15298:39;15320:16;;15298:12;:17;15311:3;15298:17;;;;;;;;;;;;;;;;:21;;:39;;;;:::i;:::-;15291:46;;15184:161;;;:::o;9696:116::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;9773:6;;;;;;;;;;;9754:26;;;;;;;;;;;;9804:1;9787:6;;:19;;;;;;;;;;;;;;;;;;9696:116::o;8604:24::-;;;;:::o;13334:726::-;13441:7;11554:6;;;;;;;;;;;11540:20;;:10;:20;;;11532:29;;;;;;13485:1;13470:11;:16;13466:118;;;13518:5;13508:30;13525:12;;13508:30;;;;;;;;;;;;;;;;;;13560:12;;13553:19;;;;13466:118;13614:1;13600:11;:15;13596:188;;;13647:39;13673:11;13672:12;;13647;;:16;;:39;;;;:::i;:::-;13632:12;:54;;;;13596:188;;;13734:38;13759:11;13734:12;;:16;;:38;;;;:::i;:::-;13719:12;:53;;;;13596:188;12709:1;12700:11;13815:10;;13800:12;;:25;13796:83;;;12709:1;12700:11;13857:10;;13842:12;:25;;;;13796:83;13918:28;13933:12;;12160:2;12293;:12;12284:6;:21;12217:1;12208:11;12542:38;;;;;;12217:1;12208:11;12527:54;13918:14;;:28;;;;:::i;:::-;13899:16;:47;;;;13957:10;;;;;;;;;;;:15;;;:17;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13957:17:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13957:17:0;;;;14002:5;13992:30;14009:12;;13992:30;;;;;;;;;;;;;;;;;;14040:12;;14033:19;;11572:1;13334:726;;;;:::o;11469:21::-;;;;;;;;;;;;;:::o;9037:72::-;9074:7;9097:6;;;;;;;;;;;9090:13;;9037:72;:::o;9339:85::-;9378:4;9412:6;;;;;;;;;;;9398:20;;:10;:20;;;9391:27;;9339:85;:::o;5673:87::-;5712:13;5745:7;5738:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5673:87;:::o;19151:547::-;19289:4;11885:27;;;;;;;;;;;:40;;;;11916:9;:7;:9::i;:::-;11885:40;:69;;;;11929:13;:25;11943:10;11929:25;;;;;;;;;;;;;;;;;;;;;;;;;11885:69;11877:78;;;;;;19311:16;19330:17;:29;19348:10;19330:29;;;;;;;;;;;;;;;:38;19360:7;19330:38;;;;;;;;;;;;;;;;19311:57;;19402:8;19383:15;:27;19379:205;;19468:1;19427:17;:29;19445:10;19427:29;;;;;;;;;;;;;;;:38;19457:7;19427:38;;;;;;;;;;;;;;;:42;;;;19379:205;;;19543:29;19556:15;19543:8;:12;;:29;;;;:::i;:::-;19502:17;:29;19520:10;19502:29;;;;;;;;;;;;;;;:38;19532:7;19502:38;;;;;;;;;;;;;;;:70;;;;19379:205;19620:7;19599:69;;19608:10;19599:69;;;19629:17;:29;19647:10;19629:29;;;;;;;;;;;;;;;:38;19659:7;19629:38;;;;;;;;;;;;;;;;19599:69;;;;;;;;;;;;;;;;;;19686:4;19679:11;;;19151:547;;;;:::o;10642:253::-;10697:10;10679:28;;:14;;;;;;;;;;;:28;;;10671:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10777:9;;10759:15;:27;10751:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10848:14;;;;;;;;;;;10819:44;;10840:6;;;;;;;;;;;10819:44;;;;;;;;;;;;10876:14;;;;;;;;;;;10867:6;;:23;;;;;;;;;;;;;;;;;;10642:253::o;15571:423::-;15713:4;15658:2;12052:3;12038:18;;:2;:18;;;;12030:27;;;;;;12090:4;12076:19;;:2;:19;;;;12068:28;;;;;;11885:27;;;;;;;;;;;:40;;;;11916:9;:7;:9::i;:::-;11885:40;:69;;;;11929:13;:25;11943:10;11929:25;;;;;;;;;;;;;;;;;;;;;;;;;11885:69;11877:78;;;;;;15735:16;15754:27;15764:16;;15754:5;:9;;:27;;;;:::i;:::-;15735:46;;15819:38;15848:8;15819:12;:24;15832:10;15819:24;;;;;;;;;;;;;;;;:28;;:38;;;;:::i;:::-;15792:12;:24;15805:10;15792:24;;;;;;;;;;;;;;;:65;;;;15887:30;15908:8;15887:12;:16;15900:2;15887:16;;;;;;;;;;;;;;;;:20;;:30;;;;:::i;:::-;15868:12;:16;15881:2;15868:16;;;;;;;;;;;;;;;:49;;;;15954:2;15933:31;;15942:10;15933:31;;;15958:5;15933:31;;;;;;;;;;;;;;;;;;15982:4;15975:11;;;15571:423;;;;;:::o;8544:21::-;;;;;;;;;;;;;:::o;12770:31::-;;;;:::o;11729:39::-;;;;;;;;;;;;;:::o;19861:129::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;19978:4;19955:13;:20;19969:5;19955:20;;;;;;;;;;;;;;;;:27;;;;;;;;;;;;;;;;;;19861:129;:::o;10448:187::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;10514:6;;;;;;;;;;;10497:14;;:23;;;;;;;;;;;;;;;;;;10541:1;10524:6;;:19;;;;;;;;;;;;;;;;;;10577:4;10559:15;:22;10547:9;:34;;;;10627:1;10590:40;;10611:6;;;;;;;;;;;10590:40;;;;;;;;;;;;10448:187;:::o;16301:176::-;16403:7;16435:17;:25;16453:6;16435:25;;;;;;;;;;;;;;;:34;16461:7;16435:34;;;;;;;;;;;;;;;;16428:41;;16301:176;;;;:::o;11388:21::-;;;;;;;;;;;;;:::o;9979:103::-;9230:9;:7;:9::i;:::-;9222:18;;;;;;10048:28;10067:8;10048:18;:28::i;:::-;9979:103;:::o;1615:136::-;1673:7;1702:1;1697;:6;;1689:15;;;;;;1711:9;1727:1;1723;:5;1711:17;;1744:1;1737:8;;;1615:136;;;;:::o;713:393::-;771:7;1004:1;999;:6;995:37;;;1023:1;1016:8;;;;995:37;1040:9;1056:1;1052;:5;1040:17;;1081:1;1076;1072;:5;;;;;;:10;1064:19;;;;;;1099:1;1092:8;;;713:393;;;;;:::o;1819:136::-;1877:7;1893:9;1909:1;1905;:5;1893:17;;1930:1;1925;:6;;1917:15;;;;;;1948:1;1941:8;;;1819:136;;;;:::o;1221:276::-;1279:7;1307:1;1303;:5;1295:14;;;;;;1374:9;1390:1;1386;:5;;;;;;1374:17;;1490:1;1483:8;;;1221:276;;;;:::o;10222:135::-;10318:8;10289:38;;10310:6;;;;;;;;;;;10289:38;;;;;;;;;;;;10343:8;10334:6;;:17;;;;;;;;;;;;;;;;;;10222:135;:::o

Swarm Source

bzzr://a1f5b6569802203f19dea61680a240d3d6f5da867545df2ceaa4d5a9401d4113
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.