ETH Price: $2,700.68 (-0.80%)

Token

Stable NOK (NOK)
 

Overview

Max Total Supply

1,095,316.23 NOK

Holders

8 (0.00%)

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 2 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Stable NOK is a stablecoin for the Norwegian Krone. It is mainly used by the cryptocurrency exchange Bitnord.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
StableNOK

Compiler Version
v0.7.2+commit.51b20bc0

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 2 of 2: StableNOK.sol
pragma solidity 0.7.2;
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Author: Bitnord
// Website: https://bitnord.no
//
//===========================================================================================================
import "IERC20.sol";
//===========================================================================================================
/**
 * StableNOK ERC20 token contract
 * 
 * 
 */
contract StableNOK {

  //-------------------------------------------------------------------------------------------------------
  /**
   * Global contract variables
   * 
   */
  address public admin;
  mapping (address => uint256) private balances;
  mapping (address => uint256) private frozen;
  mapping (address => mapping (address => uint256)) private allowances;
  string  public name;
  string  public symbol;
  uint8   public decimals;
  uint256 public totalSupply;
  bool    public paused = false;
  uint256 public constant MAX_UINT = 2**256 - 1;
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
   * Contract events
   * 
   */
  event Transfer(address indexed _from,   address indexed _to,      uint256 _value);
  event Approval(address indexed _owner,  address indexed _spender, uint256 _value);
  event Paused();
  event Unpaused();
  event AdminPowersTransferred(address  indexed _previousAdmin, address indexed _newAdmin);
  event AdminPowersRenounced(address    indexed _previousAdmin);
  event FundsFrozen(address indexed _account, uint256 _amount);
  event FundsUnFrozen(address indexed _account, uint256 _amount);
  event FrozenFundsBurned(address indexed _account, uint256 _amount);
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Contract constructor
  * 
  */
  constructor() {
    admin = msg.sender;
    name = "Stable NOK";
    symbol = "NOK";
    decimals = 2;
    totalSupply = 1000;
    balances[admin] = totalSupply;
    emit Transfer(address(0), admin, totalSupply);
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * ERC20 transfer function
  * 
  */
  function transfer(address _to, uint256 _value) public returns (bool success) {
    require(!paused);
    require(_to != address(0));
    require(balances[msg.sender] >= _value);
    balances[msg.sender] -= _value;
    balances[_to] += _value;
    emit Transfer(msg.sender, _to, _value);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * ERC20 transferFrom function
  * 
  */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
    require(!paused);
    require(_from != address(0));
    require(_to != address(0));
    require(balances[_from] >= _value);
    require(allowances[_from][msg.sender] >= _value);
    balances[_to] += _value;
    balances[_from] -= _value;
    if(allowances[_from][msg.sender] != MAX_UINT) { // Allow for infinite allowance
      allowances[_from][msg.sender] -= _value;
    }
    emit Transfer(_from, _to, _value);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * ERC20 approve function
  * 
  */
  function approve(address _spender, uint256 _value) public returns (bool success) {
    require(!paused);
    require(_spender != address(0));
    allowances[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * ERC20 allowance function
  * 
  */
  function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
    return allowances[_owner][_spender];
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * ERC20 balanceOf function
  * 
  */
  function balanceOf(address _owner) public view returns (uint256 balance) {
    return balances[_owner];
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 safeApprove function
  * Added as alternative approval management functions to avoid known front-running attacks.
  * More info: https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM
  * 
  */
  function safeApprove(address _spender, uint256 _value, uint256 _expectedAllowance) public returns (bool success) {
    require(!paused);
    require(_spender != address(0));
    require(allowances[msg.sender][_spender] == _expectedAllowance);
    allowances[msg.sender][_spender] = _value;
    emit Approval(msg.sender, _spender, _value);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 increaseApproval function
  * Added as alternative approval management functions to avoid known front-running attacks.
  * More info: https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM
  * 
  */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool success) {
    require(!paused);
    require(_spender != address(0));
    require((allowances[msg.sender][_spender] + _addedValue) >= allowances[msg.sender][_spender]);
    allowances[msg.sender][_spender] += _addedValue;
    emit Approval(msg.sender, _spender, allowances[msg.sender][_spender]);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 decreaseApproval function
  * Added as alternative approval management functions to avoid known front-running attacks.
  * More info: https://docs.google.com/document/d/1YLPtQxZu1UAvO9cZ1O2RPXBbT0mooh4DYKjA_jp-RLM
  * 
  */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool success) {
    require(!paused);
    require(_spender != address(0));
    if(_subtractedValue > allowances[msg.sender][_spender]) {
      allowances[msg.sender][_spender] = 0;
    } else {
      allowances[msg.sender][_spender] = allowances[msg.sender][_spender] - _subtractedValue;
    }
    emit Approval(msg.sender, _spender, allowances[msg.sender][_spender]);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 mint function
  * 
  */
  function mint(address _account, uint256 _amount) public returns (bool success) {
    require(msg.sender == admin);
    totalSupply += _amount;
    balances[_account] += _amount;
    emit Transfer(address(0), _account, _amount);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 burn function
  * 
  */
  function burn(address _account, uint256 _amount) public returns (bool success) {
    require(msg.sender == admin);
    require(balances[_account] >= _amount);
    totalSupply -= _amount;
    balances[_account] -= _amount;
    emit Transfer(_account, address(0), _amount);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 pause function
  * 
  */
  function pause() public returns (bool success) {
    require(msg.sender == admin);
    paused = true;
    emit Paused();
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 unpause function
  * 
  */
  function unpause() public returns (bool success) {
    require(msg.sender == admin);
    paused = false;
    emit Unpaused();
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 transferAdminPowers function
  * 
  */
  function transferAdminPowers(address _newAdmin) public returns (bool success) {
    require(msg.sender == admin);
    require(_newAdmin != address(0));
    admin = _newAdmin;
    emit AdminPowersTransferred(admin, _newAdmin);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 renounceAdminPowers function
  * 
  */
  function renounceAdminPowers() public returns (bool success) {
    require(msg.sender == admin);
    admin = address(0);
    emit AdminPowersRenounced(admin);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 freeze function
  * 
  */
  function freeze(address _account, uint256 _amount) public returns (bool success) {
    require(msg.sender == admin);
    require(balances[_account] >= _amount);
    balances[_account] -=_amount;
    frozen[_account] += _amount;
    emit FundsFrozen(_account, _amount);
    emit Transfer(_account, address(0), _amount);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 unFreeze function
  * 
  */
  function unFreeze(address _account, uint256 _amount) public returns (bool success) {
    require(msg.sender == admin);
    require(frozen[_account] >= _amount);
    frozen[_account] -= _amount;
    balances[_account] += _amount;
    emit FundsUnFrozen(_account, _amount);
    emit Transfer(address(0), _account, _amount);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 burnFrozen function
  * 
  */
  function burnFrozen(address _account, uint256 _amount) public returns (bool success) {
    require(msg.sender == admin);
    require(frozen[_account] >= _amount);
    totalSupply -= _amount;
    frozen[_account] -= _amount;
    emit FrozenFundsBurned(_account, _amount);
    return true;
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 recoverERC20 function
  * Used to recover wrongly sent ERC20 tokens to the contract
  * 
  */
  function recoverERC20(address tokenAddress, uint256 tokenAmount) public returns (bool success) {
    require(msg.sender == admin);
    return IERC20(tokenAddress).transfer(admin, tokenAmount);
  }
  //-------------------------------------------------------------------------------------------------------


  //-------------------------------------------------------------------------------------------------------
  /**
  * Non-standard ERC20 receive function
  * Disallows Ether transactions to the contract address
  * 
  */
  receive() external payable {
    revert();
  }
  //-------------------------------------------------------------------------------------------------------

}

File 1 of 2: IERC20.sol
pragma solidity 0.7.2;
// SPDX-License-Identifier: MIT
/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_previousAdmin","type":"address"}],"name":"AdminPowersRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_previousAdmin","type":"address"},{"indexed":true,"internalType":"address","name":"_newAdmin","type":"address"}],"name":"AdminPowersTransferred","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":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"FrozenFundsBurned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"FundsFrozen","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_account","type":"address"},{"indexed":false,"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"FundsUnFrozen","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_from","type":"address"},{"indexed":true,"internalType":"address","name":"_to","type":"address"},{"indexed":false,"internalType":"uint256","name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"inputs":[],"name":"MAX_UINT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"balance","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burn","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"burnFrozen","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"freeze","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"}],"name":"recoverERC20","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceAdminPowers","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"},{"internalType":"uint256","name":"_expectedAllowance","type":"uint256"}],"name":"safeApprove","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"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":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_newAdmin","type":"address"}],"name":"transferAdminPowers","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_account","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"unFreeze","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600860006101000a81548160ff0219169083151502179055503480156200002c57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600a81526020017f537461626c65204e4f4b0000000000000000000000000000000000000000000081525060049080519060200190620000ba92919062000223565b506040518060400160405280600381526020017f4e4f4b0000000000000000000000000000000000000000000000000000000000815250600590805190602001906200010892919062000223565b506002600660006101000a81548160ff021916908360ff1602179055506103e8600781905550600754600160008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6007546040518082815260200191505060405180910390a3620002c9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026657805160ff191683800117855562000297565b8280016001018555821562000297579182015b828111156200029657825182559160200191906001019062000279565b5b509050620002a69190620002aa565b5090565b5b80821115620002c5576000816000905550600101620002ab565b5090565b6128df80620002d96000396000f3fe60806040526004361061016a5760003560e01c806375bc67bf116100d1578063a9059cbb1161008a578063e5b5019a11610064578063e5b5019a14610981578063e991f550146109ac578063f650366214610a1d578063f851a44014610a9857610174565b8063a9059cbb1461081a578063d73dd6231461088b578063dd62ed3e146108fc57610174565b806375bc67bf146105e75780638456cb591461064e5780638980f11f1461067b57806389f1258c146106ec57806395d89b41146107195780639dc29fac146107a957610174565b8063313ce56711610123578063313ce567146104185780633f4ba83a1461044657806340c10f19146104735780635c975abb146104e4578063661884631461051157806370a082311461058257610174565b806306fdde0314610179578063095ea7b31461020957806318160ddd1461027a57806323b872dd146102a557806324bce60c146103365780632df38460146103a757610174565b3661017457600080fd5b600080fd5b34801561018557600080fd5b5061018e610ad9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ce5780820151818401526020810190506101b3565b50505050905090810190601f1680156101fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021557600080fd5b506102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b77565b60405180821515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610cbd565b6040518082815260200191505060405180910390f35b3480156102b157600080fd5b5061031e600480360360608110156102c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc3565b60405180821515815260200191505060405180910390f35b34801561034257600080fd5b5061038f6004803603604081101561035957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611060565b60405180821515815260200191505060405180910390f35b3480156103b357600080fd5b50610400600480360360408110156103ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125f565b60405180821515815260200191505060405180910390f35b34801561042457600080fd5b5061042d61145e565b604051808260ff16815260200191505060405180910390f35b34801561045257600080fd5b5061045b611471565b60405180821515815260200191505060405180910390f35b34801561047f57600080fd5b506104cc6004803603604081101561049657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061151a565b60405180821515815260200191505060405180910390f35b3480156104f057600080fd5b506104f9611642565b60405180821515815260200191505060405180910390f35b34801561051d57600080fd5b5061056a6004803603604081101561053457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611655565b60405180821515815260200191505060405180910390f35b34801561058e57600080fd5b506105d1600480360360208110156105a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a1565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b506106366004803603602081101561060a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ea565b60405180821515815260200191505060405180910390f35b34801561065a57600080fd5b50610663611b42565b60405180821515815260200191505060405180910390f35b34801561068757600080fd5b506106d46004803603604081101561069e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611beb565b60405180821515815260200191505060405180910390f35b3480156106f857600080fd5b50610701611d1a565b60405180821515815260200191505060405180910390f35b34801561072557600080fd5b5061072e611e20565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561076e578082015181840152602081019050610753565b50505050905090810190601f16801561079b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107b557600080fd5b50610802600480360360408110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ebe565b60405180821515815260200191505060405180910390f35b34801561082657600080fd5b506108736004803603604081101561083d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612032565b60405180821515815260200191505060405180910390f35b34801561089757600080fd5b506108e4600480360360408110156108ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121dd565b60405180821515815260200191505060405180910390f35b34801561090857600080fd5b5061096b6004803603604081101561091f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124af565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b50610996612536565b6040518082815260200191505060405180910390f35b3480156109b857600080fd5b50610a05600480360360408110156109cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061255a565b60405180821515815260200191505060405180910390f35b348015610a2957600080fd5b50610a8060048036036060811015610a4057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506126b6565b60405180821515815260200191505060405180910390f35b348015610aa457600080fd5b50610aad612885565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b6f5780601f10610b4457610100808354040283529160200191610b6f565b820191906000526020600020905b815481529060010190602001808311610b5257829003601f168201915b505050505081565b6000600860009054906101000a900460ff1615610b9357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bcd57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60075481565b6000600860009054906101000a900460ff1615610cdf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d1957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d5357600080fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d9f57600080fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e2857600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ff05781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110bb57600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561110757600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff167f87bd35dd5213917fa3c4bc2cf1e339f2266264ea12945571c332c3ccd0f6b194836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ba57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561130657600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff167fa2f640632c221843c5607a3ed473fd33f7011f34dbe6b4ada004f52bd6119d10836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600660009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114cc57600080fd5b6000600860006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a16001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461157557600080fd5b8160076000828254019250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600860009054906101000a900460ff1681565b6000600860009054906101000a900460ff161561167157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116ab57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156117b6576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b6565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a4557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a7f57600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9f4b8d4b11b3e851bfc655bf62ad85ef36b1f0ea64e2246fa1d5dfc76c28336660405160405180910390a360019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b9d57600080fd5b6001600860006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a16001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c4657600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611cd757600080fd5b505af1158015611ceb573d6000803e3d6000fd5b505050506040513d6020811015611d0157600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d7557600080fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fdce4271ac9caf7531a84b13ba9914907b91f10d440c4c176f9d7bb0fb395789e60405160405180910390a26001905090565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611eb65780601f10611e8b57610100808354040283529160200191611eb6565b820191906000526020600020905b815481529060010190602001808311611e9957829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f1957600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611f6557600080fd5b8160076000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600860009054906101000a900460ff161561204e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561208857600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156120d457600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600860009054906101000a900460ff16156121f957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561223357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561233a57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125b557600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561260157600080fd5b8160076000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167f229522854127d1321dd259a261b07ce4ff1e4cf6631d075613a8b3f5b7f158fd836040518082815260200191505060405180910390a26001905092915050565b6000600860009054906101000a900460ff16156126d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561270c57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461279457600080fd5b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a3600190509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea26469706673582212206309a7a36317fff6bd551f4f0bf7be6f9cec44e791d60508db5a5aac96eba53a64736f6c63430007020033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806375bc67bf116100d1578063a9059cbb1161008a578063e5b5019a11610064578063e5b5019a14610981578063e991f550146109ac578063f650366214610a1d578063f851a44014610a9857610174565b8063a9059cbb1461081a578063d73dd6231461088b578063dd62ed3e146108fc57610174565b806375bc67bf146105e75780638456cb591461064e5780638980f11f1461067b57806389f1258c146106ec57806395d89b41146107195780639dc29fac146107a957610174565b8063313ce56711610123578063313ce567146104185780633f4ba83a1461044657806340c10f19146104735780635c975abb146104e4578063661884631461051157806370a082311461058257610174565b806306fdde0314610179578063095ea7b31461020957806318160ddd1461027a57806323b872dd146102a557806324bce60c146103365780632df38460146103a757610174565b3661017457600080fd5b600080fd5b34801561018557600080fd5b5061018e610ad9565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ce5780820151818401526020810190506101b3565b50505050905090810190601f1680156101fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021557600080fd5b506102626004803603604081101561022c57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b77565b60405180821515815260200191505060405180910390f35b34801561028657600080fd5b5061028f610cbd565b6040518082815260200191505060405180910390f35b3480156102b157600080fd5b5061031e600480360360608110156102c857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610cc3565b60405180821515815260200191505060405180910390f35b34801561034257600080fd5b5061038f6004803603604081101561035957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611060565b60405180821515815260200191505060405180910390f35b3480156103b357600080fd5b50610400600480360360408110156103ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061125f565b60405180821515815260200191505060405180910390f35b34801561042457600080fd5b5061042d61145e565b604051808260ff16815260200191505060405180910390f35b34801561045257600080fd5b5061045b611471565b60405180821515815260200191505060405180910390f35b34801561047f57600080fd5b506104cc6004803603604081101561049657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061151a565b60405180821515815260200191505060405180910390f35b3480156104f057600080fd5b506104f9611642565b60405180821515815260200191505060405180910390f35b34801561051d57600080fd5b5061056a6004803603604081101561053457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611655565b60405180821515815260200191505060405180910390f35b34801561058e57600080fd5b506105d1600480360360208110156105a557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119a1565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b506106366004803603602081101561060a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506119ea565b60405180821515815260200191505060405180910390f35b34801561065a57600080fd5b50610663611b42565b60405180821515815260200191505060405180910390f35b34801561068757600080fd5b506106d46004803603604081101561069e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611beb565b60405180821515815260200191505060405180910390f35b3480156106f857600080fd5b50610701611d1a565b60405180821515815260200191505060405180910390f35b34801561072557600080fd5b5061072e611e20565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561076e578082015181840152602081019050610753565b50505050905090810190601f16801561079b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107b557600080fd5b50610802600480360360408110156107cc57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611ebe565b60405180821515815260200191505060405180910390f35b34801561082657600080fd5b506108736004803603604081101561083d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612032565b60405180821515815260200191505060405180910390f35b34801561089757600080fd5b506108e4600480360360408110156108ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506121dd565b60405180821515815260200191505060405180910390f35b34801561090857600080fd5b5061096b6004803603604081101561091f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506124af565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b50610996612536565b6040518082815260200191505060405180910390f35b3480156109b857600080fd5b50610a05600480360360408110156109cf57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061255a565b60405180821515815260200191505060405180910390f35b348015610a2957600080fd5b50610a8060048036036060811015610a4057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190803590602001909291905050506126b6565b60405180821515815260200191505060405180910390f35b348015610aa457600080fd5b50610aad612885565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b6f5780601f10610b4457610100808354040283529160200191610b6f565b820191906000526020600020905b815481529060010190602001808311610b5257829003601f168201915b505050505081565b6000600860009054906101000a900460ff1615610b9357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610bcd57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60075481565b6000600860009054906101000a900460ff1615610cdf57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415610d1957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d5357600080fd5b81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610d9f57600080fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610e2857600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ff05781600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110bb57600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561110757600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff167f87bd35dd5213917fa3c4bc2cf1e339f2266264ea12945571c332c3ccd0f6b194836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146112ba57600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561130657600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff167fa2f640632c221843c5607a3ed473fd33f7011f34dbe6b4ada004f52bd6119d10836040518082815260200191505060405180910390a28273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600660009054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146114cc57600080fd5b6000600860006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a16001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461157557600080fd5b8160076000828254019250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600860009054906101000a900460ff1681565b6000600860009054906101000a900460ff161561167157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116ab57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156117b6576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118b6565b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205403600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611a4557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611a7f57600080fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f9f4b8d4b11b3e851bfc655bf62ad85ef36b1f0ea64e2246fa1d5dfc76c28336660405160405180910390a360019050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b9d57600080fd5b6001600860006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a16001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611c4657600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff16846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611cd757600080fd5b505af1158015611ceb573d6000803e3d6000fd5b505050506040513d6020811015611d0157600080fd5b8101908080519060200190929190505050905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d7557600080fd5b60008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fdce4271ac9caf7531a84b13ba9914907b91f10d440c4c176f9d7bb0fb395789e60405160405180910390a26001905090565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611eb65780601f10611e8b57610100808354040283529160200191611eb6565b820191906000526020600020905b815481529060010190602001808311611e9957829003601f168201915b505050505081565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f1957600080fd5b81600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015611f6557600080fd5b8160076000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600860009054906101000a900460ff161561204e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561208857600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156120d457600080fd5b81600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600860009054906101000a900460ff16156121f957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561223357600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401101561233a57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146125b557600080fd5b81600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561260157600080fd5b8160076000828254039250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508273ffffffffffffffffffffffffffffffffffffffff167f229522854127d1321dd259a261b07ce4ff1e4cf6631d075613a8b3f5b7f158fd836040518082815260200191505060405180910390a26001905092915050565b6000600860009054906101000a900460ff16156126d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141561270c57600080fd5b81600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541461279457600080fd5b82600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a3600190509392505050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff168156fea26469706673582212206309a7a36317fff6bd551f4f0bf7be6f9cec44e791d60508db5a5aac96eba53a64736f6c63430007020033

Deployed Bytecode Sourcemap

494:13298:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13664:8;;;494:13298;;;;878:19;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4090:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;956:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3268:549;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11162:347;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;11796:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;928:23;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9694:151;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;8142:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;987:29;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;7377:482;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5045:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10143:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9262:146;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13087:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;10693:184;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;902:21;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8679:299;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;2675:315;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6485:407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;4629:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1021:45;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12435:298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;5634:366;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;682:20;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;878:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4090:264::-;4157:12;4187:6;;;;;;;;;;;4186:7;4178:16;;;;;;4229:1;4209:22;;:8;:22;;;;4201:31;;;;;;4274:6;4239:10;:22;4250:10;4239:22;;;;;;;;;;;;;;;:32;4262:8;4239:32;;;;;;;;;;;;;;;:41;;;;4313:8;4292:38;;4301:10;4292:38;;;4323:6;4292:38;;;;;;;;;;;;;;;;;;4344:4;4337:11;;4090:264;;;;:::o;956:26::-;;;;:::o;3268:549::-;3350:12;3380:6;;;;;;;;;;;3379:7;3371:16;;;;;;3419:1;3402:19;;:5;:19;;;;3394:28;;;;;;3452:1;3437:17;;:3;:17;;;;3429:26;;;;;;3489:6;3470:8;:15;3479:5;3470:15;;;;;;;;;;;;;;;;:25;;3462:34;;;;;;3544:6;3511:10;:17;3522:5;3511:17;;;;;;;;;;;;;;;:29;3529:10;3511:29;;;;;;;;;;;;;;;;:39;;3503:48;;;;;;3575:6;3558:8;:13;3567:3;3558:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;3607:6;3588:8;:15;3597:5;3588:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;1056:10;3623;:17;3634:5;3623:17;;;;;;;;;;;;;;;:29;3641:10;3623:29;;;;;;;;;;;;;;;;:41;3620:134;;3740:6;3707:10;:17;3718:5;3707:17;;;;;;;;;;;;;;;:29;3725:10;3707:29;;;;;;;;;;;;;;;;:39;;;;;;;;;;;3620:134;3781:3;3765:28;;3774:5;3765:28;;;3786:6;3765:28;;;;;;;;;;;;;;;;;;3807:4;3800:11;;3268:549;;;;;:::o;11162:347::-;11229:12;11272:5;;;;;;;;;;;11258:19;;:10;:19;;;11250:28;;;;;;11315:7;11293:8;:18;11302:8;11293:18;;;;;;;;;;;;;;;;:29;;11285:38;;;;;;11351:7;11330:8;:18;11339:8;11330:18;;;;;;;;;;;;;;;;:28;;;;;;;;;;;11385:7;11365:6;:16;11372:8;11365:16;;;;;;;;;;;;;;;;:27;;;;;;;;;;;11416:8;11404:30;;;11426:7;11404:30;;;;;;;;;;;;;;;;;;11473:1;11446:39;;11455:8;11446:39;;;11477:7;11446:39;;;;;;;;;;;;;;;;;;11499:4;11492:11;;11162:347;;;;:::o;11796:350::-;11865:12;11908:5;;;;;;;;;;;11894:19;;:10;:19;;;11886:28;;;;;;11949:7;11929:6;:16;11936:8;11929:16;;;;;;;;;;;;;;;;:27;;11921:36;;;;;;11984:7;11964:6;:16;11971:8;11964:16;;;;;;;;;;;;;;;;:27;;;;;;;;;;;12020:7;11998:8;:18;12007:8;11998:18;;;;;;;;;;;;;;;;:29;;;;;;;;;;;12053:8;12039:32;;;12063:7;12039:32;;;;;;;;;;;;;;;;;;12104:8;12083:39;;12100:1;12083:39;;;12114:7;12083:39;;;;;;;;;;;;;;;;;;12136:4;12129:11;;11796:350;;;;:::o;928:23::-;;;;;;;;;;;;;:::o;9694:151::-;9729:12;9772:5;;;;;;;;;;;9758:19;;:10;:19;;;9750:28;;;;;;9794:5;9785:6;;:14;;;;;;;;;;;;;;;;;;9811:10;;;;;;;;;;9835:4;9828:11;;9694:151;:::o;8142:254::-;8207:12;8250:5;;;;;;;;;;;8236:19;;:10;:19;;;8228:28;;;;;;8278:7;8263:11;;:22;;;;;;;;;;;8314:7;8292:8;:18;8301:8;8292:18;;;;;;;;;;;;;;;;:29;;;;;;;;;;;8354:8;8333:39;;8350:1;8333:39;;;8364:7;8333:39;;;;;;;;;;;;;;;;;;8386:4;8379:11;;8142:254;;;;:::o;987:29::-;;;;;;;;;;;;;:::o;7377:482::-;7460:12;7490:6;;;;;;;;;;;7489:7;7481:16;;;;;;7532:1;7512:22;;:8;:22;;;;7504:31;;;;;;7564:10;:22;7575:10;7564:22;;;;;;;;;;;;;;;:32;7587:8;7564:32;;;;;;;;;;;;;;;;7545:16;:51;7542:218;;;7642:1;7607:10;:22;7618:10;7607:22;;;;;;;;;;;;;;;:32;7630:8;7607:32;;;;;;;;;;;;;;;:36;;;;7542:218;;;7736:16;7701:10;:22;7712:10;7701:22;;;;;;;;;;;;;;;:32;7724:8;7701:32;;;;;;;;;;;;;;;;:51;7666:10;:22;7677:10;7666:22;;;;;;;;;;;;;;;:32;7689:8;7666:32;;;;;;;;;;;;;;;:86;;;;7542:218;7792:8;7771:64;;7780:10;7771:64;;;7802:10;:22;7813:10;7802:22;;;;;;;;;;;;;;;:32;7825:8;7802:32;;;;;;;;;;;;;;;;7771:64;;;;;;;;;;;;;;;;;;7849:4;7842:11;;7377:482;;;;:::o;5045:109::-;5101:15;5132:8;:16;5141:6;5132:16;;;;;;;;;;;;;;;;5125:23;;5045:109;;;:::o;10143:252::-;10207:12;10250:5;;;;;;;;;;;10236:19;;:10;:19;;;10228:28;;;;;;10292:1;10271:23;;:9;:23;;;;10263:32;;;;;;10310:9;10302:5;;:17;;;;;;;;;;;;;;;;;;10361:9;10331:40;;10354:5;;;;;;;;;;10331:40;;;;;;;;;;;;10385:4;10378:11;;10143:252;;;:::o;9262:146::-;9295:12;9338:5;;;;;;;;;;;9324:19;;:10;:19;;;9316:28;;;;;;9360:4;9351:6;;:13;;;;;;;;;;;;;;;;;;9376:8;;;;;;;;;;9398:4;9391:11;;9262:146;:::o;13087:199::-;13168:12;13211:5;;;;;;;;;;;13197:19;;:10;:19;;;13189:28;;;;;;13238:12;13231:29;;;13261:5;;;;;;;;;;13268:11;13231:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13224:56;;13087:199;;;;:::o;10693:184::-;10740:12;10783:5;;;;;;;;;;;10769:19;;:10;:19;;;10761:28;;;;;;10812:1;10796:5;;:18;;;;;;;;;;;;;;;;;;10847:5;;;;;;;;;;10826:27;;;;;;;;;;;;10867:4;10860:11;;10693:184;:::o;902:21::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8679:299::-;8744:12;8787:5;;;;;;;;;;;8773:19;;:10;:19;;;8765:28;;;;;;8830:7;8808:8;:18;8817:8;8808:18;;;;;;;;;;;;;;;;:29;;8800:38;;;;;;8860:7;8845:11;;:22;;;;;;;;;;;8896:7;8874:8;:18;8883:8;8874:18;;;;;;;;;;;;;;;;:29;;;;;;;;;;;8942:1;8915:39;;8924:8;8915:39;;;8946:7;8915:39;;;;;;;;;;;;;;;;;;8968:4;8961:11;;8679:299;;;;:::o;2675:315::-;2738:12;2768:6;;;;;;;;;;;2767:7;2759:16;;;;;;2805:1;2790:17;;:3;:17;;;;2782:26;;;;;;2847:6;2823:8;:20;2832:10;2823:20;;;;;;;;;;;;;;;;:30;;2815:39;;;;;;2885:6;2861:8;:20;2870:10;2861:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;2915:6;2898:8;:13;2907:3;2898:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2954:3;2933:33;;2942:10;2933:33;;;2959:6;2933:33;;;;;;;;;;;;;;;;;;2980:4;2973:11;;2675:315;;;;:::o;6485:407::-;6563:12;6593:6;;;;;;;;;;;6592:7;6584:16;;;;;;6635:1;6615:22;;:8;:22;;;;6607:31;;;;;;6705:10;:22;6716:10;6705:22;;;;;;;;;;;;;;;:32;6728:8;6705:32;;;;;;;;;;;;;;;;6689:11;6654:10;:22;6665:10;6654:22;;;;;;;;;;;;;;;:32;6677:8;6654:32;;;;;;;;;;;;;;;;:46;6653:84;;6645:93;;;;;;6781:11;6745:10;:22;6756:10;6745:22;;;;;;;;;;;;;;;:32;6768:8;6745:32;;;;;;;;;;;;;;;;:47;;;;;;;;;;;6825:8;6804:64;;6813:10;6804:64;;;6835:10;:22;6846:10;6835:22;;;;;;;;;;;;;;;:32;6858:8;6835:32;;;;;;;;;;;;;;;;6804:64;;;;;;;;;;;;;;;;;;6882:4;6875:11;;6485:407;;;;:::o;4629:141::-;4703:17;4736:10;:18;4747:6;4736:18;;;;;;;;;;;;;;;:28;4755:8;4736:28;;;;;;;;;;;;;;;;4729:35;;4629:141;;;;:::o;1021:45::-;1056:10;1021:45;:::o;12435:298::-;12506:12;12549:5;;;;;;;;;;;12535:19;;:10;:19;;;12527:28;;;;;;12590:7;12570:6;:16;12577:8;12570:16;;;;;;;;;;;;;;;;:27;;12562:36;;;;;;12620:7;12605:11;;:22;;;;;;;;;;;12654:7;12634:6;:16;12641:8;12634:16;;;;;;;;;;;;;;;;:27;;;;;;;;;;;12691:8;12673:36;;;12701:7;12673:36;;;;;;;;;;;;;;;;;;12723:4;12716:11;;12435:298;;;;:::o;5634:366::-;5733:12;5763:6;;;;;;;;;;;5762:7;5754:16;;;;;;5805:1;5785:22;;:8;:22;;;;5777:31;;;;;;5859:18;5823:10;:22;5834:10;5823:22;;;;;;;;;;;;;;;:32;5846:8;5823:32;;;;;;;;;;;;;;;;:54;5815:63;;;;;;5920:6;5885:10;:22;5896:10;5885:22;;;;;;;;;;;;;;;:32;5908:8;5885:32;;;;;;;;;;;;;;;:41;;;;5959:8;5938:38;;5947:10;5938:38;;;5969:6;5938:38;;;;;;;;;;;;;;;;;;5990:4;5983:11;;5634:366;;;;;:::o;682:20::-;;;;;;;;;;;;:::o

Swarm Source

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