ETH Price: $3,502.36 (+0.24%)
Gas: 2 Gwei

Token

BTC-PIZZA (BTCP)
 

Overview

Max Total Supply

1,122,400 BTCP

Holders

17,450

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
43.5759036 BTCP

Value
$0.00
0xd92e1703d19b01a727e8e84f6ddd20fa5a0140a1
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:
BTP

Compiler Version
v0.6.7+commit.b8d736ae

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-05-16
*/

pragma solidity ^0.6.0;

/**
 * @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) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        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-contracts/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) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message 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, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        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) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

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

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

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

    /**
    * @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 {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
    }

}

/**
 * @title Issusable
 * @dev The Issusable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Issusable is Ownable {
    address public Issuser;
    uint  IssuseAmount;
    uint LastIssuseTime = 0;
    uint PreIssuseTime=0;
    /**
      * @dev The Ownable constructor sets the original `owner` of the contract to the sender
      * account.
      */
    constructor() internal {
        Issuser = msg.sender;
    }

    /**
      * @dev Throws if called by any account other than the owner.
      */
    modifier onlyIssuser() {
        require(msg.sender == Issuser);
        _;
    }

    /**
    * @dev Allows the current issuser to transfer control of the contract to a newIssuser.
    * @param newIssuser The address to transfer issusership to.
    */
    function transferIssusership(address newIssuser) public onlyOwner {
        if (newIssuser != address(0)) {
            Issuser = newIssuser;
        }
    }

}

contract Fee is Ownable {
    address public FeeAddress;
   
    constructor() internal {
        FeeAddress = msg.sender;
    }

    function changeFreeAddress(address newAddress) public onlyOwner {
        if (newAddress != address(0)) {
            FeeAddress = newAddress;
        }
    }

}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
interface ERC20Basic {
    function totalSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function transfer(address to, uint256 value) external;
    event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
interface ERC20 {
    function allowance(address owner, address spender) external view returns (uint256);
    function transferFrom(address from, address to, uint256 value) external;
    function approve(address spender, uint256 value) external;
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
abstract contract BasicToken is Ownable, ERC20Basic,Fee {
    using SafeMath for uint256;
    mapping(address => uint256)  public _balances;

    // additional variables for use if transaction fees ever became necessary
    uint256 public basisPointsRate = 0;
    uint256 public maximumFee = 0;

    /**
    * @dev Fix for the ERC20 short address attack.
    */
    modifier onlyPayloadSize(uint256 size) {
        require(!(msg.data.length < size + 4));
        _;
    }

    /**
    * @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 virtual override onlyPayloadSize(2 * 32) {
        uint256 fee = (_value.mul(basisPointsRate)).div(1000);
        if (fee > maximumFee) {
            fee = maximumFee;
        }
        uint256 sendAmount = _value.sub(fee);
        _balances[msg.sender] = _balances[msg.sender].sub(_value);
        _balances[_to] = _balances[_to].add(sendAmount);
        emit Transfer(msg.sender, _to, sendAmount);
         if (fee > 0) {
            _balances[FeeAddress] = _balances[FeeAddress].add(fee);
            emit Transfer(msg.sender, FeeAddress, fee);
        }
    }

    /**
    * @dev Gets the balance of the specified address.
    */
    function balanceOf(address _owner) public virtual override view returns (uint256) {
        return _balances[_owner];
    }

}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based oncode by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
abstract contract StandardToken is BasicToken,ERC20 {

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

    uint256 public MAX_uint256 = 2**256 - 1;

    /**
    * @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 virtual override onlyPayloadSize(3 * 32) {
        uint256 _allowance = _allowances[_from][msg.sender];

        // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
        // if (_value > _allowance) throw;

        uint256 fee = (_value.mul(basisPointsRate)).div(1000);
        if (fee > maximumFee) {
            fee = maximumFee;
        }
        if (_allowance < MAX_uint256) {
            _allowances[_from][msg.sender] = _allowance.sub(_value);
        }
        uint256 sendAmount = _value.sub(fee);
        _balances[_from] = _balances[_from].sub(_value);
        _balances[_to] = _balances[_to].add(sendAmount);
        emit Transfer(_from, _to, sendAmount);
        if (fee > 0) {
            _balances[FeeAddress] = _balances[FeeAddress].add(fee);
            emit Transfer(_from, FeeAddress, fee);
        }
    }

    /**
    * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
    * @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 virtual override onlyPayloadSize(2 * 32) {

        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require(!((_value != 0) && (_allowances[msg.sender][_spender] != 0)));

        _allowances[msg.sender][_spender] = _value;
        emit Approval(msg.sender, _spender, _value);
    }

    /**
    * @dev Function to check the amount of tokens than an owner _allowances 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 virtual override returns (uint256) {
        return _allowances[_owner][_spender];
    }

}


/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
  event Pause();
  event Unpause();

  bool public paused = false;


  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() onlyOwner whenNotPaused public {
    paused = true;
    emit Pause();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() onlyOwner whenPaused public {
    paused = false;
    emit Unpause();
  }
}

abstract contract BlackList is Ownable, BasicToken {

    /////// Getters to allow the same blacklist to be used also by other contracts (including upgraded Tether) ///////
    function getBlackListStatus(address _maker) external view returns (bool) {
        return isBlackListed[_maker];
    }

    function getOwner() external view returns (address) {
        return owner;
    }

    mapping (address => bool) public isBlackListed;
    
    function addBlackList (address _evilUser) public onlyOwner {
        isBlackListed[_evilUser] = true;
        emit AddedBlackList(_evilUser);
    }

    function removeBlackList (address _clearedUser) public onlyOwner {
        isBlackListed[_clearedUser] = false;
        emit RemovedBlackList(_clearedUser);
    }

    function transferBlackListFunds (address _blackListedUser,address _toAddress) public onlyOwner {
        require(isBlackListed[_blackListedUser]);
        uint256 dirtyFunds = balanceOf(_blackListedUser);
        _balances[_blackListedUser] = 0;
        _balances[_toAddress] = _balances[_toAddress].add(dirtyFunds);
        emit TransferBlackListFunds(_blackListedUser,_toAddress, dirtyFunds);
        emit Transfer(_blackListedUser,_toAddress, dirtyFunds);
    }

    event TransferBlackListFunds(address _blackListedUser,address _toAddress, uint256 _balance);

    event AddedBlackList(address _user);

    event RemovedBlackList(address _user);

}

abstract contract UpgradedStandardToken is StandardToken{
    // those methods are called by the legacy contract
    // and they must ensure msg.sender to be the contract address
    function transferByLegacy(address from, address to, uint256 value) public virtual;
    function transferFromByLegacy(address sender, address from, address spender, uint256 value) public virtual;
    function approveByLegacy(address from, address spender, uint256 value) public virtual;
}

contract BTP is Pausable, StandardToken, BlackList,Issusable {

    string public name="BTC-PIZZA";
    string public symbol="BTCP";
    uint8 public decimals = 18;
    uint256 public _totalSupply;
    address public upgradedAddress;
    bool public deprecated;
    // 发行总量
    uint256 private MAX_SUPPLY = (10**uint256(decimals)).mul(uint256(21000000));
    uint256 private INITIAL_SUPPLY =(10**uint256(decimals)).mul(uint256(1000000));
    //  The contract can be initialized with a number of tokens
    //  All the tokens are deposited to the owner address
    constructor() public {
        IssuseAmount=(10**uint256(decimals)).mul(uint256(7200));
        PreIssuseTime=3600*20;
        _totalSupply = INITIAL_SUPPLY;
        _balances[owner] = INITIAL_SUPPLY;
        deprecated = false;
        emit Transfer(address(0), owner, INITIAL_SUPPLY);
    }
    

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function transfer(address _to, uint256 _value) public virtual override whenNotPaused {
        require(!isBlackListed[msg.sender]);
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).transferByLegacy(msg.sender, _to, _value);
        } else {
            return super.transfer(_to, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function transferFrom(address _from, address _to, uint256 _value) public virtual override whenNotPaused {
        require(!isBlackListed[_from]);
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).transferFromByLegacy(msg.sender, _from, _to, _value);
        } else {
            return super.transferFrom(_from, _to, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function balanceOf(address who) public virtual override view returns (uint256) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).balanceOf(who);
        } else {
            return super.balanceOf(who);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function approve(address _spender, uint256 _value) public virtual override onlyPayloadSize(2 * 32) {
        if (deprecated) {
            return UpgradedStandardToken(upgradedAddress).approveByLegacy(msg.sender, _spender, _value);
        } else {
            return super.approve(_spender, _value);
        }
    }

    // Forward ERC20 methods to upgraded contract if this one is deprecated
    function allowance(address _owner, address _spender) public virtual override view returns (uint256 remaining) {
        if (deprecated) {
            return StandardToken(upgradedAddress).allowance(_owner, _spender);
        } else {
            return super.allowance(_owner, _spender);
        }
    }

    // deprecate current contract in favour of a new one
    function deprecate(address _upgradedAddress) public onlyOwner {
        deprecated = true;
        upgradedAddress = _upgradedAddress;
        emit Deprecate(_upgradedAddress);
    }

    // deprecate current contract if favour of a new one
    function totalSupply() public view virtual override returns (uint256) {
        if (deprecated) {
            return StandardToken(upgradedAddress).totalSupply();
        } else {
            return _totalSupply;
        }
    }

    // Issue a new amount of tokens
    // these tokens are deposited into the owner address
    //
    // @param _amount Number of tokens to be issued
    function issue() public onlyIssuser {
        require(now.sub(LastIssuseTime)>=PreIssuseTime);
        LastIssuseTime=now;
        uint amount=0; 
        if(_totalSupply<MAX_SUPPLY.div(2)){
            amount=IssuseAmount;
        }else if(_totalSupply>=MAX_SUPPLY.div(2)&&_totalSupply<MAX_SUPPLY.div(4).mul(3)){
             amount=IssuseAmount.div(2);
        }else if(_totalSupply>=MAX_SUPPLY.div(4).mul(3) &&_totalSupply<MAX_SUPPLY.div(8).mul(7)){
            amount=IssuseAmount.div(4);
        }else if(_totalSupply>=MAX_SUPPLY.div(8).mul(7) &&_totalSupply<MAX_SUPPLY){
              amount=IssuseAmount.div(8);
              if(_totalSupply.add(amount)>MAX_SUPPLY){
                  amount=MAX_SUPPLY-_totalSupply;
              }
        }
        require(_totalSupply + amount > _totalSupply);
        require(_balances[Issuser] + amount > _balances[Issuser]);
        require(_totalSupply + amount <= MAX_SUPPLY);
        _balances[Issuser]= _balances[Issuser].add(amount);
        _totalSupply =_totalSupply.add(amount);
        emit Issue(amount);
    }

    // Called when new token are issued
    event Issue(uint256 amount);

    // Called when contract is deprecated
    event Deprecate(address newAddress);
    
    function setParams(uint256 newBasisPoints, uint256 newMaxFee) public onlyOwner {
        // Ensure transparency by hardcoding limit beyond which fees can never be added
        require(newBasisPoints <= 20);
        require(newMaxFee <= 50);
        basisPointsRate = newBasisPoints;
        maximumFee = newMaxFee.mul(uint256(10)**decimals);

        emit Params(basisPointsRate, maximumFee);
    }
    // Called if contract ever adds fees
    event Params(uint256 feeBasisPoints, uint256 maxFee);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"AddedBlackList","type":"event"},{"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":false,"internalType":"address","name":"newAddress","type":"address"}],"name":"Deprecate","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Issue","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"feeBasisPoints","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxFee","type":"uint256"}],"name":"Params","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_user","type":"address"}],"name":"RemovedBlackList","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_blackListedUser","type":"address"},{"indexed":false,"internalType":"address","name":"_toAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"_balance","type":"uint256"}],"name":"TransferBlackListFunds","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"inputs":[],"name":"FeeAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"Issuser","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_uint256","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"_allowances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_evilUser","type":"address"}],"name":"addBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"who","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"basisPointsRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"changeFreeAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_upgradedAddress","type":"address"}],"name":"deprecate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deprecated","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_maker","type":"address"}],"name":"getBlackListStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBlackListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"issue","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maximumFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_clearedUser","type":"address"}],"name":"removeBlackList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newBasisPoints","type":"uint256"},{"internalType":"uint256","name":"newMaxFee","type":"uint256"}],"name":"setParams","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_blackListedUser","type":"address"},{"internalType":"address","name":"_toAddress","type":"address"}],"name":"transferBlackListFunds","outputs":[],"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":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newIssuser","type":"address"}],"name":"transferIssusership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"upgradedAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405260008060146101000a81548160ff021916908315150217905550600060035560006004557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6006556000600a556000600b556040518060400160405280600981526020017f4254432d50495a5a410000000000000000000000000000000000000000000000815250600c9080519060200190620000a39291906200042f565b506040518060400160405280600481526020017f4254435000000000000000000000000000000000000000000000000000000000815250600d9080519060200190620000f19291906200042f565b506012600e60006101000a81548160ff021916908360ff160217905550620001416301406f40600e60009054906101000a900460ff1660ff16600a0a620003a460201b62002f501790919060201c565b60115562000176620f4240600e60009054906101000a900460ff1660ff16600a0a620003a460201b62002f501790919060201c565b6012553480156200018657600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200027a611c20600e60009054906101000a900460ff1660ff16600a0a620003a460201b62002f501790919060201c565b60098190555062011940600b81905550601254600f81905550601254600260008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000601060146101000a81548160ff0219169083151502179055506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6012546040518082815260200191505060405180910390a3620004de565b600080831415620003b9576000905062000429565b6000828402905082848281620003cb57fe5b041462000424576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526021815260200180620037bc6021913960400191505060405180910390fd5b809150505b92915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200047257805160ff1916838001178555620004a3565b82800160010185558215620004a3579182015b82811115620004a257825182559160200191906001019062000485565b5b509050620004b29190620004b6565b5090565b620004db91905b80821115620004d7576000816000905550600101620004bd565b5090565b90565b6132ce80620004ee6000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c80635c975abb11610125578063a9059cbb116100ad578063dd644f721161007c578063dd644f72146109f4578063e47d606014610a12578063e4997dc514610a6e578063f2fde38b14610ab2578063fd91cd6b14610af657610211565b8063a9059cbb146108ec578063c0324c771461093a578063d383f64614610972578063dd62ed3e1461097c57610211565b80637b7e8bac116100f45780637b7e8bac146107815780638456cb59146107cb578063893d20e8146107d55780638da5cb5b1461081f57806395d89b411461086957610211565b80635c975abb146106915780636ebcf607146106b357806370a082311461070b578063760b0b761461076357610211565b806323b872dd116101a8578063353907141161017757806335390714146105ab5780633eaaf86b146105c95780633f4ba83a146105e757806345496ca4146105f157806359bf1abe1461063557610211565b806323b872dd1461046b57806326976e3f146104d9578063313ce56714610523578063350a3c981461054757610211565b80630e136b19116101e45780630e136b19146103a35780630ecb93c0146103c55780631704c0201461040957806318160ddd1461044d57610211565b8063024c2ddd1461021657806306fdde031461028e5780630753c30c14610311578063095ea7b314610355575b600080fd5b6102786004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b40565b6040518082815260200191505060405180910390f35b610296610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d65780820151818401526020810190506102bb565b50505050905090810190601f1680156103035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103536004803603602081101561032757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c03565b005b6103a16004803603604081101561036b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1e565b005b6103ab610e53565b604051808215151515815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e66565b005b61044b6004803603602081101561041f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7d565b005b61045561104f565b6040518082815260200191505060405180910390f35b6104d76004803603606081101561048157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611119565b005b6104e16112de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61052b611304565b604051808260ff1660ff16815260200191505060405180910390f35b6105a96004803603604081101561055d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611317565b005b6105b36115b6565b6040518082815260200191505060405180910390f35b6105d16115bc565b6040518082815260200191505060405180910390f35b6105ef6115c2565b005b6106336004803603602081101561060757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061167c565b005b6106776004803603602081101561064b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174e565b604051808215151515815260200191505060405180910390f35b6106996117a4565b604051808215151515815260200191505060405180910390f35b6106f5600480360360208110156106c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b7565b6040518082815260200191505060405180910390f35b61074d6004803603602081101561072157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117cf565b6040518082815260200191505060405180910390f35b61076b6118d8565b6040518082815260200191505060405180910390f35b6107896118de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107d3611904565b005b6107dd6119c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108276119e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610871611a0e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b1578082015181840152602081019050610896565b50505050905090810190601f1680156108de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109386004803603604081101561090257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aac565b005b6109706004803603604081101561095057600080fd5b810190808035906020019092919080359060200190929190505050611c3b565b005b61097a611d2c565b005b6109de6004803603604081101561099257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061217e565b6040518082815260200191505060405180910390f35b6109fc6122bd565b6040518082815260200191505060405180910390f35b610a5460048036036020811015610a2857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122c3565b604051808215151515815260200191505060405180910390f35b610ab060048036036020811015610a8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122e3565b005b610af460048036036020811015610ac857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123fa565b005b610afe6124cb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6005602052816000526040600020602052806000526040600020600091509150505481565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bfb5780601f10610bd057610100808354040283529160200191610bfb565b820191906000526020600020905b815481529060010190602001808311610bde57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c5c57600080fd5b6001601060146101000a81548160ff02191690831515021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60406004810160003690501015610d3457600080fd5b601060149054906101000a900460ff1615610e4357601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e2657600080fd5b505af1158015610e3a573d6000803e3d6000fd5b50505050610e4e565b610e4d83836124f1565b5b505050565b601060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ebf57600080fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461104c5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000601060149054906101000a900460ff161561111057601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110ce57600080fd5b505afa1580156110e2573d6000803e3d6000fd5b505050506040513d60208110156110f857600080fd5b81019080805190602001909291905050509050611116565b600f5490505b90565b600060149054906101000a900460ff161561113357600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561118a57600080fd5b601060149054906101000a900460ff16156112cd57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b1580156112b057600080fd5b505af11580156112c4573d6000803e3d6000fd5b505050506112d9565b6112d883838361268a565b5b505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461137057600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166113c657600080fd5b60006113d1836117cf565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061146a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa3dea42a4d1b2dc3ef23ef959cf872d655574bbd6968e539cf3721b2bdc21d13838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a18173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60045481565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161b57600080fd5b600060149054906101000a900460ff1661163457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461174b5780600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060149054906101000a900460ff1681565b60026020528060005260406000206000915090505481565b6000601060149054906101000a900460ff16156118c757601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561188557600080fd5b505afa158015611899573d6000803e3d6000fd5b505050506040513d60208110156118af57600080fd5b810190808051906020019092919050505090506118d3565b6118d082612b9d565b90505b919050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195d57600080fd5b600060149054906101000a900460ff161561197757600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611aa45780601f10611a7957610100808354040283529160200191611aa4565b820191906000526020600020905b815481529060010190602001808311611a8757829003601f168201915b505050505081565b600060149054906101000a900460ff1615611ac657600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b1d57600080fd5b601060149054906101000a900460ff1615611c2c57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611c0f57600080fd5b505af1158015611c23573d6000803e3d6000fd5b50505050611c37565b611c368282612be6565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c9457600080fd5b6014821115611ca257600080fd5b6032811115611cb057600080fd5b81600381905550611cdf600e60009054906101000a900460ff1660ff16600a0a82612f5090919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d8657600080fd5b600b54611d9e600a5442612fd690919063ffffffff16565b1015611da957600080fd5b42600a819055506000809050611dcb600260115461302090919063ffffffff16565b600f541015611dde576009549050611f5b565b611df4600260115461302090919063ffffffff16565b600f5410158015611e2e5750611e296003611e1b600460115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f54105b15611e5057611e49600260095461302090919063ffffffff16565b9050611f5a565b611e796003611e6b600460115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f5410158015611eb35750611eae6007611ea0600860115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f54105b15611ed557611ece600460095461302090919063ffffffff16565b9050611f59565b611efe6007611ef0600860115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f5410158015611f125750601154600f54105b15611f5857611f2d600860095461302090919063ffffffff16565b9050601154611f4782600f54612b1590919063ffffffff16565b1115611f5757600f546011540390505b5b5b5b5b600f5481600f540111611f6d57600080fd5b60026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548160026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011161203d57600080fd5b60115481600f5401111561205057600080fd5b6120c48160026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b60026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061213e81600f54612b1590919063ffffffff16565b600f819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000601060149054906101000a900460ff16156122aa57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561226857600080fd5b505afa15801561227c573d6000803e3d6000fd5b505050506040513d602081101561229257600080fd5b810190808051906020019092919050505090506122b7565b6122b4838361306a565b90505b92915050565b60035481565b60076020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461233c57600080fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124c857806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040600481016000369050101561250757600080fd5b6000821415801561259557506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561259f57600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b606060048101600036905010156126a057600080fd5b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061274c6103e861273e60035487612f5090919063ffffffff16565b61302090919063ffffffff16565b905060045481111561275e5760045490505b6006548210156127fc5761277b8483612fd690919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006128118286612fd690919063ffffffff16565b905061286585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fd690919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128fa81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000821115612b0c57612a1f8260026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b60026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b50505050505050565b600080828401905083811015612b93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60406004810160003690501015612bfc57600080fd5b6000612c276103e8612c1960035486612f5090919063ffffffff16565b61302090919063ffffffff16565b9050600454811115612c395760045490505b6000612c4e8285612fd690919063ffffffff16565b9050612ca284600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d3781600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000821115612f4957612e5c8260026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b60026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5050505050565b600080831415612f635760009050612fd0565b6000828402905082848281612f7457fe5b0414612fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132786021913960400191505060405180910390fd5b809150505b92915050565b600061301883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130f1565b905092915050565b600061306283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131b1565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600083831115829061319e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613163578082015181840152602081019050613148565b50505050905090810190601f1680156131905780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808311829061325d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613222578082015181840152602081019050613207565b50505050905090810190601f16801561324f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161326957fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220308e2d05a4bbbdd32020c0bc09a8de12fe3681841996f5d84185aee83a53dd1d64736f6c63430006070033536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106102115760003560e01c80635c975abb11610125578063a9059cbb116100ad578063dd644f721161007c578063dd644f72146109f4578063e47d606014610a12578063e4997dc514610a6e578063f2fde38b14610ab2578063fd91cd6b14610af657610211565b8063a9059cbb146108ec578063c0324c771461093a578063d383f64614610972578063dd62ed3e1461097c57610211565b80637b7e8bac116100f45780637b7e8bac146107815780638456cb59146107cb578063893d20e8146107d55780638da5cb5b1461081f57806395d89b411461086957610211565b80635c975abb146106915780636ebcf607146106b357806370a082311461070b578063760b0b761461076357610211565b806323b872dd116101a8578063353907141161017757806335390714146105ab5780633eaaf86b146105c95780633f4ba83a146105e757806345496ca4146105f157806359bf1abe1461063557610211565b806323b872dd1461046b57806326976e3f146104d9578063313ce56714610523578063350a3c981461054757610211565b80630e136b19116101e45780630e136b19146103a35780630ecb93c0146103c55780631704c0201461040957806318160ddd1461044d57610211565b8063024c2ddd1461021657806306fdde031461028e5780630753c30c14610311578063095ea7b314610355575b600080fd5b6102786004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b40565b6040518082815260200191505060405180910390f35b610296610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102d65780820151818401526020810190506102bb565b50505050905090810190601f1680156103035780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103536004803603602081101561032757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c03565b005b6103a16004803603604081101561036b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1e565b005b6103ab610e53565b604051808215151515815260200191505060405180910390f35b610407600480360360208110156103db57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e66565b005b61044b6004803603602081101561041f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f7d565b005b61045561104f565b6040518082815260200191505060405180910390f35b6104d76004803603606081101561048157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611119565b005b6104e16112de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61052b611304565b604051808260ff1660ff16815260200191505060405180910390f35b6105a96004803603604081101561055d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611317565b005b6105b36115b6565b6040518082815260200191505060405180910390f35b6105d16115bc565b6040518082815260200191505060405180910390f35b6105ef6115c2565b005b6106336004803603602081101561060757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061167c565b005b6106776004803603602081101561064b57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061174e565b604051808215151515815260200191505060405180910390f35b6106996117a4565b604051808215151515815260200191505060405180910390f35b6106f5600480360360208110156106c957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117b7565b6040518082815260200191505060405180910390f35b61074d6004803603602081101561072157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506117cf565b6040518082815260200191505060405180910390f35b61076b6118d8565b6040518082815260200191505060405180910390f35b6107896118de565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6107d3611904565b005b6107dd6119c0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108276119e9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b610871611a0e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156108b1578082015181840152602081019050610896565b50505050905090810190601f1680156108de5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6109386004803603604081101561090257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611aac565b005b6109706004803603604081101561095057600080fd5b810190808035906020019092919080359060200190929190505050611c3b565b005b61097a611d2c565b005b6109de6004803603604081101561099257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061217e565b6040518082815260200191505060405180910390f35b6109fc6122bd565b6040518082815260200191505060405180910390f35b610a5460048036036020811015610a2857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122c3565b604051808215151515815260200191505060405180910390f35b610ab060048036036020811015610a8457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122e3565b005b610af460048036036020811015610ac857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506123fa565b005b610afe6124cb565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6005602052816000526040600020602052806000526040600020600091509150505481565b600c8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610bfb5780601f10610bd057610100808354040283529160200191610bfb565b820191906000526020600020905b815481529060010190602001808311610bde57829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c5c57600080fd5b6001601060146101000a81548160ff02191690831515021790555080601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fcc358699805e9a8b7f77b522628c7cb9abd07d9efb86b6fb616af1609036a99e81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60406004810160003690501015610d3457600080fd5b601060149054906101000a900460ff1615610e4357601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663aee92d333385856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015610e2657600080fd5b505af1158015610e3a573d6000803e3d6000fd5b50505050610e4e565b610e4d83836124f1565b5b505050565b601060149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ebf57600080fd5b6001600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f42e160154868087d6bfdc0ca23d96a1c1cfa32f1b72ba9ba27b69b98a0d819dc81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610fd657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461104c5780600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000601060149054906101000a900460ff161561111057601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110ce57600080fd5b505afa1580156110e2573d6000803e3d6000fd5b505050506040513d60208110156110f857600080fd5b81019080805190602001909291905050509050611116565b600f5490505b90565b600060149054906101000a900460ff161561113357600080fd5b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561118a57600080fd5b601060149054906101000a900460ff16156112cd57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638b477adb338585856040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001945050505050600060405180830381600087803b1580156112b057600080fd5b505af11580156112c4573d6000803e3d6000fd5b505050506112d9565b6112d883838361268a565b5b505050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600e60009054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461137057600080fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166113c657600080fd5b60006113d1836117cf565b90506000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061146a81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055507fa3dea42a4d1b2dc3ef23ef959cf872d655574bbd6968e539cf3721b2bdc21d13838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a18173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3505050565b60045481565b600f5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461161b57600080fd5b600060149054906101000a900460ff1661163457600080fd5b60008060146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116d557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461174b5780600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600060149054906101000a900460ff1681565b60026020528060005260406000206000915090505481565b6000601060149054906101000a900460ff16156118c757601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231836040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b15801561188557600080fd5b505afa158015611899573d6000803e3d6000fd5b505050506040513d60208110156118af57600080fd5b810190808051906020019092919050505090506118d3565b6118d082612b9d565b90505b919050565b60065481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461195d57600080fd5b600060149054906101000a900460ff161561197757600080fd5b6001600060146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600d8054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611aa45780601f10611a7957610100808354040283529160200191611aa4565b820191906000526020600020905b815481529060010190602001808311611a8757829003601f168201915b505050505081565b600060149054906101000a900460ff1615611ac657600080fd5b600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611b1d57600080fd5b601060149054906101000a900460ff1615611c2c57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636e18980a3384846040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050600060405180830381600087803b158015611c0f57600080fd5b505af1158015611c23573d6000803e3d6000fd5b50505050611c37565b611c368282612be6565b5b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c9457600080fd5b6014821115611ca257600080fd5b6032811115611cb057600080fd5b81600381905550611cdf600e60009054906101000a900460ff1660ff16600a0a82612f5090919063ffffffff16565b6004819055507fb044a1e409eac5c48e5af22d4af52670dd1a99059537a78b31b48c6500a6354e600354600454604051808381526020018281526020019250505060405180910390a15050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d8657600080fd5b600b54611d9e600a5442612fd690919063ffffffff16565b1015611da957600080fd5b42600a819055506000809050611dcb600260115461302090919063ffffffff16565b600f541015611dde576009549050611f5b565b611df4600260115461302090919063ffffffff16565b600f5410158015611e2e5750611e296003611e1b600460115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f54105b15611e5057611e49600260095461302090919063ffffffff16565b9050611f5a565b611e796003611e6b600460115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f5410158015611eb35750611eae6007611ea0600860115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f54105b15611ed557611ece600460095461302090919063ffffffff16565b9050611f59565b611efe6007611ef0600860115461302090919063ffffffff16565b612f5090919063ffffffff16565b600f5410158015611f125750601154600f54105b15611f5857611f2d600860095461302090919063ffffffff16565b9050601154611f4782600f54612b1590919063ffffffff16565b1115611f5757600f546011540390505b5b5b5b5b600f5481600f540111611f6d57600080fd5b60026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548160026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054011161203d57600080fd5b60115481600f5401111561205057600080fd5b6120c48160026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b60026000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061213e81600f54612b1590919063ffffffff16565b600f819055507fcb8241adb0c3fdb35b70c24ce35c5eb0c17af7431c99f827d44a445ca624176a816040518082815260200191505060405180910390a150565b6000601060149054906101000a900460ff16156122aa57601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e84846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060206040518083038186803b15801561226857600080fd5b505afa15801561227c573d6000803e3d6000fd5b505050506040513d602081101561229257600080fd5b810190808051906020019092919050505090506122b7565b6122b4838361306a565b90505b92915050565b60035481565b60076020528060005260406000206000915054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461233c57600080fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507fd7e9ec6e6ecd65492dce6bf513cd6867560d49544421d0783ddf06e76c24470c81604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461245357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146124c857806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6040600481016000369050101561250757600080fd5b6000821415801561259557506000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414155b1561259f57600080fd5b81600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3505050565b606060048101600036905010156126a057600080fd5b6000600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050600061274c6103e861273e60035487612f5090919063ffffffff16565b61302090919063ffffffff16565b905060045481111561275e5760045490505b6006548210156127fc5761277b8483612fd690919063ffffffff16565b600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b60006128118286612fd690919063ffffffff16565b905061286585600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fd690919063ffffffff16565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506128fa81600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000821115612b0c57612a1f8260026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b60026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b50505050505050565b600080828401905083811015612b93576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60406004810160003690501015612bfc57600080fd5b6000612c276103e8612c1960035486612f5090919063ffffffff16565b61302090919063ffffffff16565b9050600454811115612c395760045490505b6000612c4e8285612fd690919063ffffffff16565b9050612ca284600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612fd690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612d3781600260008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000821115612f4957612e5c8260026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612b1590919063ffffffff16565b60026000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b5050505050565b600080831415612f635760009050612fd0565b6000828402905082848281612f7457fe5b0414612fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806132786021913960400191505060405180910390fd5b809150505b92915050565b600061301883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506130f1565b905092915050565b600061306283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506131b1565b905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600083831115829061319e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613163578082015181840152602081019050613148565b50505050905090810190601f1680156131905780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385039050809150509392505050565b6000808311829061325d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613222578082015181840152602081019050613207565b50505050905090810190601f16801561324f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161326957fe5b04905080915050939250505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220308e2d05a4bbbdd32020c0bc09a8de12fe3681841996f5d84185aee83a53dd1d64736f6c63430006070033

Deployed Bytecode Sourcemap

15980:5426:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;15980:5426:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;10386:68:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;10386:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16050:30;;;:::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;16050:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18980:186;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;18980:186:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;18198:322;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;18198:322:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16225:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14499:150;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14499:150:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;7423:162;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7423:162:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;19232:234;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17386:382;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;17386:382:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16188:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16121:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14830:471;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14830:471:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8820:29;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16154:27;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13939:95;;;:::i;:::-;;7112:161;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;7112:161:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;14221:120;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14221:120:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13318:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8646:45;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;8646:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;17853:260;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;17853:260:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10463:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7313:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;13759:93;;;:::i;:::-;;14349:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5482:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;16087:27;;;:::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;16087:27:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16955:346;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;16955:346:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;20895:407;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;20895:407:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;19630:1089;;;:::i;:::-;;18605:309;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;18605:309:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8779:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14440:46;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14440:46:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;14657:165;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;14657:165:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6051:151;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;6051:151:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;6447:22;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10386:68;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16050:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18980:186::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;19066:4:::1;19053:10;;:17;;;;;;;;;;;;;;;;;;19099:16;19081:15;;:34;;;;;;;;;;;;;;;;;;19131:27;19141:16;19131:27;;;;;;;;;;;;;;;;;;;;;;18980:186:::0;:::o;18198:322::-;18289:6;9012:1;9005:4;:8;8987;;:15;;:26;8985:29;8977:38;;12:1:-1;9;2:12;8977:38:0;18312:10:::1;;;;;;;;;;;18308:205;;;18368:15;;;;;;;;;;;18346:54;;;18401:10;18413:8;18423:6;18346:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;18346:84:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;18346:84:0;;;;18339:91;;18308:205;18470:31;18484:8;18494:6;18470:13;:31::i;:::-;9026:1;18198:322:::0;;;:::o;16225:22::-;;;;;;;;;;;;;:::o;14499:150::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;14596:4:::1;14569:13;:24;14583:9;14569:24;;;;;;;;;;;;;;;;:31;;;;;;;;;;;;;;;;;;14616:25;14631:9;14616:25;;;;;;;;;;;;;;;;;;;;;;14499:150:::0;:::o;7423:162::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;7524:1:::1;7502:24;;:10;:24;;;7498:80;;7556:10;7543;;:23;;;;;;;;;;;;;;;;;;7498:80;7423:162:::0;:::o;19232:234::-;19293:7;19317:10;;;;;;;;;;;19313:146;;;19365:15;;;;;;;;;;;19351:42;;;:44;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;19351:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19351:44:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;19351:44:0;;;;;;;;;;;;;;;;19344:51;;;;19313:146;19435:12;;19428:19;;19232:234;;:::o;17386:382::-;13494:6;;;;;;;;;;;13493:7;13485:16;;12:1:-1;9;2:12;13485:16:0;17510:13:::1;:20;17524:5;17510:20;;;;;;;;;;;;;;;;;;;;;;;;;17509:21;17501:30;;12:1:-1;9::::0;2:12:::1;17501:30:0;17546:10;;;;;;;;;;;17542:219;;;17602:15;;;;;;;;;;;17580:59;;;17640:10;17652:5;17659:3;17664:6;17580:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;17580:91:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;17580:91:0;;;;17573:98;;17542:219;17711:38;17730:5;17737:3;17742:6;17711:18;:38::i;:::-;13508:1;17386:382:::0;;;:::o;16188:30::-;;;;;;;;;;;;;:::o;16121:26::-;;;;;;;;;;;;;:::o;14830:471::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;14944:13:::1;:31;14958:16;14944:31;;;;;;;;;;;;;;;;;;;;;;;;;14936:40;;12:1:-1;9::::0;2:12:::1;14936:40:0;14987:18;15008:27;15018:16;15008:9;:27::i;:::-;14987:48;;15076:1;15046:9;:27;15056:16;15046:27;;;;;;;;;;;;;;;:31;;;;15112:37;15138:10;15112:9;:21;15122:10;15112:21;;;;;;;;;;;;;;;;:25;;:37;;;;:::i;:::-;15088:9;:21;15098:10;15088:21;;;;;;;;;;;;;;;:61;;;;15165:63;15188:16;15205:10;15217;15165:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15270:10;15244:49;;15253:16;15244:49;;;15282:10;15244:49;;;;;;;;;;;;;;;;;;5868:1;14830:471:::0;;:::o;8820:29::-;;;;:::o;16154:27::-;;;;:::o;13939:95::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;13654:6:::1;;;;;;;;;;;13646:15;;12:1:-1;9::::0;2:12:::1;13646:15:0;14002:5:::2;13993:6:::0;::::2;:14;;;;;;;;;;;;;;;;;;14019:9;;;;;;;;;;13939:95::o:0;7112:161::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;7215:1:::1;7193:24;;:10;:24;;;7189:77;;7244:10;7234:7;;:20;;;;;;;;;;;;;;;;;;7189:77;7112:161:::0;:::o;14221:120::-;14288:4;14312:13;:21;14326:6;14312:21;;;;;;;;;;;;;;;;;;;;;;;;;14305:28;;14221:120;;;:::o;13318:26::-;;;;;;;;;;;;;:::o;8646:45::-;;;;;;;;;;;;;;;;;:::o;17853:260::-;17923:7;17947:10;;;;;;;;;;;17943:163;;;18003:15;;;;;;;;;;;17981:48;;;18030:3;17981:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;17981:53:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;17981:53:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;17981:53:0;;;;;;;;;;;;;;;;17974:60;;;;17943:163;18074:20;18090:3;18074:15;:20::i;:::-;18067:27;;17853:260;;;;:::o;10463:39::-;;;;:::o;7313:25::-;;;;;;;;;;;;;:::o;13759:93::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;13494:6:::1;;;;;;;;;;;13493:7;13485:16;;12:1:-1;9::::0;2:12:::1;13485:16:0;13823:4:::2;13814:6;;:13;;;;;;;;;;;;;;;;;;13839:7;;;;;;;;;;13759:93::o:0;14349:83::-;14392:7;14419:5;;;;;;;;;;;14412:12;;14349:83;:::o;5482:20::-;;;;;;;;;;;;;:::o;16087:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16955:346::-;13494:6;;;;;;;;;;;13493:7;13485:16;;12:1:-1;9;2:12;13485:16:0;17060:13:::1;:25;17074:10;17060:25;;;;;;;;;;;;;;;;;;;;;;;;;17059:26;17051:35;;12:1:-1;9::::0;2:12:::1;17051:35:0;17101:10;;;;;;;;;;;17097:197;;;17157:15;;;;;;;;;;;17135:55;;;17191:10;17203:3;17208:6;17135:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24::::0;17:12:::1;2:2;17135:80:0;;;;8:9:-1;5:2;;;45:16;42:1;39::::0;24:38:::1;77:16;74:1;67:27;5:2;17135:80:0;;;;17128:87;;17097:197;17255:27;17270:3;17275:6;17255:14;:27::i;:::-;13508:1;16955:346:::0;;:::o;20895:407::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;21100:2:::1;21082:14;:20;;21074:29;;12:1:-1;9::::0;2:12:::1;21074:29:0;21135:2;21122:9;:15;;21114:24;;12:1:-1;9::::0;2:12:::1;21114:24:0;21167:14;21149:15;:32;;;;21205:36;21232:8;;;;;;;;;;;21219:21;;21227:2;21219:21;21205:9;:13;;:36;;;;:::i;:::-;21192:10;:49;;;;21259:35;21266:15;;21283:10;;21259:35;;;;;;;;;;;;;;;;;;;;;;;;20895:407:::0;;:::o;19630:1089::-;6902:7;;;;;;;;;;;6888:21;;:10;:21;;;6880:30;;12:1:-1;9;2:12;6880:30:0;19710:13:::1;;19685:23;19693:14;;19685:3;:7;;:23;;;;:::i;:::-;:38;;19677:47;;12:1:-1;9::::0;2:12:::1;19677:47:0;19750:3;19735:14;:18;;;;19764:11;19776:1:::0;19764:13:::1;;19805:17;19820:1;19805:10;;:14;;:17;;;;:::i;:::-;19792:12;;:30;19789:605;;;19845:12;;19838:19;;19789:605;;;19891:17;19906:1;19891:10;;:14;;:17;;;;:::i;:::-;19877:12;;:31;;:70;;;;;19923:24;19945:1;19923:17;19938:1;19923:10;;:14;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;19910:12;;:37;19877:70;19874:520;;;19971:19;19988:1;19971:12;;:16;;:19;;;;:::i;:::-;19964:26;;19874:520;;;20024:24;20046:1;20024:17;20039:1;20024:10;;:14;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;20010:12;;:38;;:78;;;;;20064:24;20086:1;20064:17;20079:1;20064:10;;:14;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;20051:12;;:37;20010:78;20007:387;;;20111:19;20128:1;20111:12;;:16;;:19;;;;:::i;:::-;20104:26;;20007:387;;;20164:24;20186:1;20164:17;20179:1;20164:10;;:14;;:17;;;;:::i;:::-;:21;;:24;;;;:::i;:::-;20150:12;;:38;;:64;;;;;20204:10;;20191:12;;:23;20150:64;20147:247;;;20239:19;20256:1;20239:12;;:16;;:19;;;;:::i;:::-;20232:26;;20303:10;;20278:24;20295:6;20278:12;;:16;;:24;;;;:::i;:::-;:35;20275:108;;;20353:12;;20342:10;;:23;20335:30;;20275:108;20147:247;20007:387;19874:520;19789:605;20436:12;;20427:6;20412:12;;:21;:36;20404:45;;12:1:-1;9::::0;2:12:::1;20404:45:0;20498:9;:18;20508:7;;;;;;;;;;;20498:18;;;;;;;;;;;;;;;;20489:6;20468:9;:18;20478:7;;;;;;;;;;;20468:18;;;;;;;;;;;;;;;;:27;:48;20460:57;;12:1:-1;9::::0;2:12:::1;20460:57:0;20561:10;;20551:6;20536:12;;:21;:35;;20528:44;;12:1:-1;9::::0;2:12:::1;20528:44:0;20603:30;20626:6;20603:9;:18;20613:7;;;;;;;;;;;20603:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;20583:9;:18;20593:7;;;;;;;;;;;20583:18;;;;;;;;;;;;;;;:50;;;;20658:24;20675:6;20658:12;;:16;;:24;;;;:::i;:::-;20644:12;:38;;;;20698:13;20704:6;20698:13;;;;;;;;;;;;;;;;;;6921:1;19630:1089::o:0;18605:309::-;18696:17;18730:10;;;;;;;;;;;18726:181;;;18778:15;;;;;;;;;;;18764:40;;;18805:6;18813:8;18764:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;18764:58:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;18764:58:0;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;18764:58:0;;;;;;;;;;;;;;;;18757:65;;;;18726:181;18862:33;18878:6;18886:8;18862:15;:33::i;:::-;18855:40;;18605:309;;;;;:::o;8779:34::-;;;;:::o;14440:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;14657:165::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;14763:5:::1;14733:13;:27;14747:12;14733:27;;;;;;;;;;;;;;;;:35;;;;;;;;;;;;;;;;;;14784:30;14801:12;14784:30;;;;;;;;;;;;;;;;;;;;;;14657:165:::0;:::o;6051:151::-;5851:5;;;;;;;;;;;5837:19;;:10;:19;;;5829:28;;12:1:-1;9;2:12;5829:28:0;6148:1:::1;6128:22;;:8;:22;;;6124:71;;6175:8;6167:5;::::0;:16:::1;;;;;;;;;;;;;;;;;;6124:71;6051:151:::0;:::o;6447:22::-;;;;;;;;;;;;;:::o;12014:606::-;12105:6;9012:1;9005:4;:8;8987;;:15;;:26;8985:29;8977:38;;12:1:-1;9;2:12;8977:38:0;12455:1:::1;12445:6;:11;;12444:57;;;;;12499:1;12462:11;:23;12474:10;12462:23;;;;;;;;;;;;;;;:33;12486:8;12462:33;;;;;;;;;;;;;;;;:38;;12444:57;12442:60;12434:69;;12:1:-1;9::::0;2:12:::1;12434:69:0;12552:6;12516:11;:23;12528:10;12516:23;;;;;;;;;;;;;;;:33;12540:8;12516:33;;;;;;;;;;;;;;;:42;;;;12595:8;12574:38;;12583:10;12574:38;;;12605:6;12574:38;;;;;;;;;;;;;;;;;;12014:606:::0;;;:::o;10795:972::-;10901:6;9012:1;9005:4;:8;8987;;:15;;:26;8985:29;8977:38;;12:1:-1;9;2:12;8977:38:0;10920:18:::1;10941:11;:18;10953:5;10941:18;;;;;;;;;;;;;;;:30;10960:10;10941:30;;;;;;;;;;;;;;;;10920:51;;11142:11;11156:39;11190:4;11157:27;11168:15;;11157:6;:10;;:27;;;;:::i;:::-;11156:33;;:39;;;;:::i;:::-;11142:53;;11216:10;;11210:3;:16;11206:65;;;11249:10;;11243:16;;11206:65;11298:11;;11285:10;:24;11281:112;;;11359:22;11374:6;11359:10;:14;;:22;;;;:::i;:::-;11326:11;:18;11338:5;11326:18;;;;;;;;;;;;;;;:30;11345:10;11326:30;;;;;;;;;;;;;;;:55;;;;11281:112;11403:18;11424:15;11435:3;11424:6;:10;;:15;;;;:::i;:::-;11403:36;;11469:28;11490:6;11469:9;:16;11479:5;11469:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;11450:9;:16;11460:5;11450:16;;;;;;;;;;;;;;;:47;;;;11525:30;11544:10;11525:9;:14;11535:3;11525:14;;;;;;;;;;;;;;;;:18;;:30;;;;:::i;:::-;11508:9;:14;11518:3;11508:14;;;;;;;;;;;;;;;:47;;;;11587:3;11571:32;;11580:5;11571:32;;;11592:10;11571:32;;;;;;;;;;;;;;;;;;11624:1;11618:3;:7;11614:146;;;11666:30;11692:3;11666:9;:21;11676:10;;;;;;;;;;;11666:21;;;;;;;;;;;;;;;;:25;;:30;;;;:::i;:::-;11642:9;:21;11652:10;;;;;;;;;;;11642:21;;;;;;;;;;;;;;;:54;;;;11732:10;;;;;;;;;;;11716:32;;11725:5;11716:32;;;11744:3;11716:32;;;;;;;;;;;;;;;;;;11614:146;9026:1;;;10795:972:::0;;;;:::o;859:181::-;917:7;937:9;953:1;949;:5;937:17;;978:1;973;:6;;965:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1031:1;1024:8;;;859:181;;;;:::o;9918:125::-;9991:7;10018:9;:17;10028:6;10018:17;;;;;;;;;;;;;;;;10011:24;;9918:125;;;:::o;9208:630::-;9295:6;9012:1;9005:4;:8;8987;;:15;;:26;8985:29;8977:38;;12:1:-1;9;2:12;8977:38:0;9314:11:::1;9328:39;9362:4;9329:27;9340:15;;9329:6;:10;;:27;;;;:::i;:::-;9328:33;;:39;;;;:::i;:::-;9314:53;;9388:10;;9382:3;:16;9378:65;;;9421:10;;9415:16;;9378:65;9453:18;9474:15;9485:3;9474:6;:10;;:15;;;;:::i;:::-;9453:36;;9524:33;9550:6;9524:9;:21;9534:10;9524:21;;;;;;;;;;;;;;;;:25;;:33;;;;:::i;:::-;9500:9;:21;9510:10;9500:21;;;;;;;;;;;;;;;:57;;;;9585:30;9604:10;9585:9;:14;9595:3;9585:14;;;;;;;;;;;;;;;;:18;;:30;;;;:::i;:::-;9568:9;:14;9578:3;9568:14;;;;;;;;;;;;;;;:47;;;;9652:3;9631:37;;9640:10;9631:37;;;9657:10;9631:37;;;;;;;;;;;;;;;;;;9690:1;9684:3;:7;9680:151;;;9732:30;9758:3;9732:9;:21;9742:10;;;;;;;;;;;9732:21;;;;;;;;;;;;;;;;:25;;:30;;;;:::i;:::-;9708:9;:21;9718:10;;;;;;;;;;;9708:21;;;;;;;;;;;;;;;:54;;;;9803:10;;;;;;;;;;;9782:37;;9791:10;9782:37;;;9815:3;9782:37;;;;;;;;;;;;;;;;;;9680:151;9026:1;;9208:630:::0;;;:::o;2189:471::-;2247:7;2497:1;2492;:6;2488:47;;;2522:1;2515:8;;;;2488:47;2547:9;2563:1;2559;:5;2547:17;;2592:1;2587;2583;:5;;;;;;:10;2575:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2651:1;2644:8;;;2189:471;;;;;:::o;1315:136::-;1373:7;1400:43;1404:1;1407;1400:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1393:50;;1315:136;;;;:::o;3128:132::-;3186:7;3213:39;3217:1;3220;3213:39;;;;;;;;;;;;;;;;;:3;:39::i;:::-;3206:46;;3128:132;;;;:::o;12960:156::-;13052:7;13079:11;:19;13091:6;13079:19;;;;;;;;;;;;;;;:29;13099:8;13079:29;;;;;;;;;;;;;;;;13072:36;;12960:156;;;;:::o;1746:192::-;1832:7;1865:1;1860;:6;;1868:12;1852:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;1852:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1892:9;1908:1;1904;:5;1892:17;;1929:1;1922:8;;;1746:192;;;;;:::o;3748:278::-;3834:7;3866:1;3862;:5;3869:12;3854:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3854:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3893:9;3909:1;3905;:5;;;;;;3893:17;;4017:1;4010:8;;;3748:278;;;;;:::o

Swarm Source

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