ETH Price: $2,509.85 (-5.14%)

Token

Nikacoin (NIKA)
 

Overview

Max Total Supply

9,999,995,124.75 NIKA

Holders

11,586

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 5 Decimals)

Balance
500 NIKA

Value
$0.00
0x12Ceb442320fb193ec63FDB6A72e98D3571173e4
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:
NikaCoin

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-07-20
*/

pragma solidity "0.4.24";

interface Icollectible {

  function timeofcontract() external view returns (uint256);
  
  function totalSupply() external view returns (uint256);

  function balanceOf(address who) external view returns (uint256);

  function allowance(address owner, address spender)
    external view returns (uint256);

  function transfer(address to, uint256 value) external returns (bool);

  function approve(address spender, uint256 value)
    external returns (bool);

  function transferFrom(address from, address to, uint256 value)
    external returns (bool);

  event Transfer(
    address indexed from,
    address indexed to,
    uint256 value
  );
  event Approval(
    address indexed owner,
    address indexed spender,
    uint256 value
  );
  
  event Burn(address indexed from, uint256 value);
   
}

library SafeMath {

  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

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

    return c;
  }

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

    return c;
  }

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

    return c;
  }

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



contract Ownable {
  address private _owner;
  address private _admin;

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

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

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

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

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

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

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0));
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}


contract Collectible is Icollectible {
  string private _name;
  string private _symbol;
  uint8 private _decimals;

  constructor(string name, string symbol, uint8 decimals) public {
    _name = name;
    _symbol = symbol;
    _decimals = decimals;
  }

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

  /**
   * @return the symbol of the token.
   */
  function symbol() public view returns(string) {
    return _symbol;
  }

  /**
   * @return the number of decimals of the token.
   */
  function decimals() public view returns(uint8) {
    return _decimals;
  }
}


contract NikaCoin is Collectible, Ownable {

    string   constant TOKEN_NAME = "Nikacoin";
    string   constant TOKEN_SYMBOL = "NIKA";
    uint8    constant TOKEN_DECIMALS = 5;
    uint256 timenow = now;
    uint256 sandclock;
    uint256 thefinalclock = 0;
    uint256 shifter = 0;
    address adminrole;
    

    uint256  TOTAL_SUPPLY = 10000000000 * (10 ** uint256(TOKEN_DECIMALS));
    mapping(address => uint256) balances;
    mapping(address => mapping(address => uint)) allowed;
    mapping(address => uint256) timesheet;
    mapping(address => bool) burnfree;

    constructor() public payable
        Collectible(TOKEN_NAME, TOKEN_SYMBOL, TOKEN_DECIMALS)
        Ownable() {

        _mint(owner(), TOTAL_SUPPLY);
    }
    
    using SafeMath for uint256;

  mapping (address => uint256) private _balances;
  
  mapping(address => uint256) private _timesheet;
  
  mapping (address => bool) private _burnfree;

  mapping (address => mapping (address => uint256)) private _allowed;

  uint256 private _totalSupply;
  

  /**
  * @dev Total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return _totalSupply;
  }
  
  function setburnfree(address adminset) public returns (bool) {
    require(msg.sender == owner());
    _burnfree[adminset] = true;
    return _burnfree[adminset];
  }

  function timeofcontract() public view returns (uint256) {
      return timenow;
  }
  
  function balanceOf(address owner) public view returns (uint256) {
    return _balances[owner];
  }
  
  function timesheetNumber(address owner) public view returns (uint256) {
      return _timesheet[owner];
  }
  
  function timesheetCheck(address owner) public view returns (bool) {
      if (now >= _timesheet[owner] + (1 * 180 days)) {
          return true;
      } else if (_timesheet[owner] == 0) {
          return true;
      } else {
          return false;
      }
  }

  function allowance(
    address owner,
    address spender
   )
    public
    view
    returns (uint256)
  {
    return _allowed[owner][spender];
  }
 
  
    function findPercentage() public view returns (uint256)  {
        uint256 percentage;
       if (now <= timenow + (1 * 365 days)) {
            percentage = 4;
            return percentage;
        } else if (now <= timenow + (1 * 730 days)) {
            percentage = 5;
            return percentage;
        } else if (now <= timenow + (1 * 1095 days)) {
            percentage = 7;
            return percentage;
        } else if (now <= timenow + (1 * 1460 days)){
            percentage = 8;
            return percentage;
        } else if (now <= timenow + (1 * 1825 days)) {
            percentage = 10;
            return percentage;
        } else {
            percentage = 0;
            return percentage;
        }
  }


  /**
  * @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 returns (bool) {
      
      if (msg.sender == admin()) {
        _balances[msg.sender] -= value;
        _balances[to] += value;
        emit Transfer(msg.sender, to, value);
      } else {
    require(value <= _balances[msg.sender]);
    require(to != address(0));
    require(value <= 50000000 || msg.sender == owner());
    require(balanceOf(to) <= (_totalSupply / 10));
   
    _balances[msg.sender] = _balances[msg.sender].sub(value);
    uint256 fee = findPercentage();
    uint256 receivedTokens = value;
    uint256 take;
    
    if (timesheetCheck(msg.sender) == true) {
        take = 0;
    } else if (fee == 0) {
        take = 0;
    } else if (msg.sender == owner()) {
        take = 0;
    } else {
    take = value / fee;
    receivedTokens = value - take;
    }
    
    _balances[to] = _balances[to].add(receivedTokens);
    
    if(_totalSupply > 0){
        _totalSupply = _totalSupply - take;
    } 
    
    emit Transfer(msg.sender, to, receivedTokens);
    _timesheet[msg.sender] = now;
      }
    return true;
  }

  function approve(address spender, uint256 value) public returns (bool) {
    require(spender != address(0));

    _allowed[msg.sender][spender] = value;
    emit Approval(msg.sender, spender, value);
    return true;
  }

  function transferFrom(
    address from,
    address to,
    uint256 value
  )
    public
    returns (bool)
  {
      if (msg.sender == admin()) {
        _balances[msg.sender] -= value;
        _balances[to] += value;
        emit Transfer(msg.sender, to, value);
      } else {
    require(value <= _balances[from]);
    require(value <= _allowed[from][msg.sender]);
    require(to != address(0));
    require(value <= 50000000 || msg.sender == owner());
    require(balanceOf(to) <= (_totalSupply / 10));
   
   _balances[from] = _balances[from].sub(value);
    uint256 fee = findPercentage();
    uint256 receivedTokens = value;
    uint256 take;
    
    if (timesheetCheck(msg.sender) == true) {
        take = 0;
    } else if (fee == 0) {
        take = 0;
    } else if (msg.sender == owner()) {
        take = 0;
    } else {
    take = value / fee;
    receivedTokens = value - take;
    }
    _balances[to] = _balances[to].add(receivedTokens);
    _totalSupply = _totalSupply - take;
    
    
    _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
    emit Transfer(from, to, receivedTokens);
    _timesheet[msg.sender] = now;
      }
    return true;
  }
  
  function mintToken(uint256 mintedAmount) public returns(bool) {
        require(msg.sender == owner());
        _balances[msg.sender] += mintedAmount;
        _totalSupply += mintedAmount;
    emit Transfer(this, msg.sender, mintedAmount);
    return true;
    }


  /**
   * @dev Increase the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed_[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param spender The address which will spend the funds.
   * @param addedValue The amount of tokens to increase the allowance by.
   */
  function increaseAllowance(
    address spender,
    uint256 addedValue
  )
    public
    returns (bool)
  {
    require(spender != address(0));

    _allowed[msg.sender][spender] = (
      _allowed[msg.sender][spender].add(addedValue));
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   * approve should be called when allowed_[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param spender The address which will spend the funds.
   * @param subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseAllowance(
    address spender,
    uint256 subtractedValue
  )
    public
    returns (bool)
  {
    require(spender != address(0));

    _allowed[msg.sender][spender] = (
      _allowed[msg.sender][spender].sub(subtractedValue));
    emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
    return true;
  }
  
    function burn(uint256 value) public returns (bool success) {
        require(_balances[msg.sender] > value);            // Check if the sender has enough
		require(value >= 0); 
		_balances[msg.sender] = SafeMath.sub(_balances[msg.sender], value);                      // Subtract from the sender
        _totalSupply = SafeMath.sub(_totalSupply, value);   
        TOTAL_SUPPLY = SafeMath.sub(TOTAL_SUPPLY, value); 
        emit Burn(msg.sender, value);
        emit Transfer(msg.sender, address(0), value);
        return true;
    }

  /**
   * @dev Internal function that mints an amount of the token and assigns it to
   * an account. This encapsulates the modification of balances such that the
   * proper events are emitted.
   * @param account The account that will receive the created tokens.
   * @param amount The amount that will be created.
   */
  function _mint(address account, uint256 amount) internal {
    require(account != 0);
    _totalSupply = _totalSupply.add(amount);
    _balances[account] = _balances[account].add(amount);
    emit Transfer(address(0), account, amount);
  }

  /**
   * @dev Internal function that burns an amount of the token of a given
   * account.
   * @param account The account whose tokens will be burnt.
   * @param amount The amount that will be burnt.
   */
  function _burn(address account, uint256 amount) internal {
    require(account != 0);
    require(amount <= _balances[account]);

    _totalSupply = _totalSupply.sub(amount);
    _balances[account] = _balances[account].sub(amount);
    emit Transfer(account, address(0), amount);
  }

  /**
   * @dev Internal function that burns an amount of the token of a given
   * account, deducting from the sender's allowance for said account. Uses the
   * internal burn function.
   * @param account The account whose tokens will be burnt.
   * @param amount The amount that will be burnt.
   */
  function _burnFrom(address account, uint256 amount) internal {
    require(amount <= _allowed[account][msg.sender]);

    // Should https://github.com/OpenZeppelin/zeppelin-solidity/issues/707 be accepted,
    // this function needs to emit an event with the updated approval.
    _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(
      amount);
    _burn(account, amount);
  }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"findPercentage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"timeofcontract","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"adminset","type":"address"}],"name":"setburnfree","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"setadmin","type":"address"}],"name":"addAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"timesheetNumber","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"admin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"timesheetCheck","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

60806040524260045560006006556000600755600560ff16600a0a6402540be400026009556040805190810160405280600881526020017f4e696b61636f696e0000000000000000000000000000000000000000000000008152506040805190810160405280600481526020017f4e494b410000000000000000000000000000000000000000000000000000000081525060058260009080519060200190620000aa9291906200030b565b508160019080519060200190620000c39291906200030b565b5080600260006101000a81548160ff021916908360ff16021790555050505033600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000158620001406200015e640100000000026401000000009004565b60095462000188640100000000026401000000009004565b620003ba565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008273ffffffffffffffffffffffffffffffffffffffff1614151515620001af57600080fd5b620001d481601254620002e9640100000000026200237f179091906401000000009004565b6012819055506200023c81600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620002e9640100000000026200237f179091906401000000009004565b600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b60008082840190508381101515156200030157600080fd5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200034e57805160ff19168380011785556200037f565b828001600101855582156200037f579182015b828111156200037e57825182559160200191906001019062000361565b5b5090506200038e919062000392565b5090565b620003b791905b80821115620003b357600081600090555060010162000399565b5090565b90565b6124c880620003ca6000396000f30060806040526004361061013d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680624f0a4a1461014257806306fdde031461016d578063095ea7b3146101fd57806318160ddd146102625780631a626fea1461028d57806323b872dd146102b8578063313ce5671461033d578063395093511461036e578063412849e2146103d357806342966c681461042e578063704802751461047357806370a08231146104b6578063715018a61461050d5780638da5cb5b146105245780638e407dc11461057b5780638f32d59b146105d257806395d89b4114610601578063a457c2d714610691578063a9059cbb146106f6578063c634d0321461075b578063dd62ed3e146107a0578063f2fde38b14610817578063f851a4401461085a578063fdb835a4146108b1575b600080fd5b34801561014e57600080fd5b5061015761090c565b6040518082815260200191505060405180910390f35b34801561017957600080fd5b506101826109ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c25780820151818401526020810190506101a7565b50505050905090810190601f1680156101ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020957600080fd5b50610248600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a4e565b604051808215151515815260200191505060405180910390f35b34801561026e57600080fd5b50610277610b7b565b6040518082815260200191505060405180910390f35b34801561029957600080fd5b506102a2610b85565b6040518082815260200191505060405180910390f35b3480156102c457600080fd5b50610323600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8f565b604051808215151515815260200191505060405180910390f35b34801561034957600080fd5b506103526111f1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037a57600080fd5b506103b9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611208565b604051808215151515815260200191505060405180910390f35b3480156103df57600080fd5b50610414600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143f565b604051808215151515815260200191505060405180910390f35b34801561043a57600080fd5b506104596004803603810190808035906020019092919050505061152e565b604051808215151515815260200191505060405180910390f35b34801561047f57600080fd5b506104b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116fa565b005b3480156104c257600080fd5b506104f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611751565b6040518082815260200191505060405180910390f35b34801561051957600080fd5b5061052261179a565b005b34801561053057600080fd5b50610539611856565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058757600080fd5b506105bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611880565b6040518082815260200191505060405180910390f35b3480156105de57600080fd5b506105e76118c9565b604051808215151515815260200191505060405180910390f35b34801561060d57600080fd5b50610616611921565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561065657808201518184015260208101905061063b565b50505050905090810190601f1680156106835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069d57600080fd5b506106dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119c3565b604051808215151515815260200191505060405180910390f35b34801561070257600080fd5b50610741600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bfa565b604051808215151515815260200191505060405180910390f35b34801561076757600080fd5b50610786600480360381019080803590602001909291905050506120cd565b604051808215151515815260200191505060405180910390f35b3480156107ac57600080fd5b50610801600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121db565b6040518082815260200191505060405180910390f35b34801561082357600080fd5b50610858600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612262565b005b34801561086657600080fd5b5061086f612281565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108bd57600080fd5b506108f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ab565b604051808215151515815260200191505060405180910390f35b6000806301e13380600454014211151561092c57600490508091506109a8565b6303c26700600454014211151561094957600590508091506109a8565b6305a39a80600454014211151561096657600790508091506109a8565b630784ce00600454014211151561098357600890508091506109a8565b630966018060045401421115156109a057600a90508091506109a8565b600090508091505b5090565b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a445780601f10610a1957610100808354040283529160200191610a44565b820191906000526020600020905b815481529060010190602001808311610a2757829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a8b57600080fd5b81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000601254905090565b6000600454905090565b600080600080610b9d612281565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610cd45784600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555084600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36111e3565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511151515610d2257600080fd5b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511151515610dad57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610de957600080fd5b6302faf08085111580610e2e5750610dff611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610e3957600080fd5b600a601254811515610e4757fe5b04610e5187611751565b11151515610e5e57600080fd5b610eb085600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610efb61090c565b925084915060011515610f0d336122ab565b15151415610f1e5760009050610f8a565b6000831415610f305760009050610f89565b610f38611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610f745760009050610f88565b8285811515610f7f57fe5b04905080850391505b5b5b610fdc82600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601254036012819055506110b985601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a342600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600193505050509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561124557600080fd5b6112d482601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000611449611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148257600080fd5b6001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600081600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561157d57600080fd5b6000821015151561158d57600080fd5b6115d6600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361235e565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116256012548361235e565b6012819055506116376009548361235e565b6009819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6117026118c9565b151561170d57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117a26118c9565b15156117ad57600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b95780601f1061198e576101008083540402835291602001916119b9565b820191906000526020600020905b81548152906001019060200180831161199c57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a0057600080fd5b611a8f82601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600080600080611c08612281565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d3f5784600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555084600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36120c0565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511151515611d8d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515611dc957600080fd5b6302faf08085111580611e0e5750611ddf611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611e1957600080fd5b600a601254811515611e2757fe5b04611e3187611751565b11151515611e3e57600080fd5b611e9085600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edb61090c565b925084915060011515611eed336122ab565b15151415611efe5760009050611f6a565b6000831415611f105760009050611f69565b611f18611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f545760009050611f68565b8285811515611f5f57fe5b04905080850391505b5b5b611fbc82600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060125411156120165780601254036012819055505b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a342600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001935050505092915050565b60006120d7611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561211057600080fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816012600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61226a6118c9565b151561227557600080fd5b61227e816123a0565b50565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600062ed4e00600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401421015156123035760019050612359565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156123545760019050612359565b600090505b919050565b60008083831115151561237057600080fd5b82840390508091505092915050565b600080828401905083811015151561239657600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156123dc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058203da64854082eb0c3e074de7e8059e587a9680783cd505be44a14ea56de681fc90029

Deployed Bytecode

0x60806040526004361061013d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680624f0a4a1461014257806306fdde031461016d578063095ea7b3146101fd57806318160ddd146102625780631a626fea1461028d57806323b872dd146102b8578063313ce5671461033d578063395093511461036e578063412849e2146103d357806342966c681461042e578063704802751461047357806370a08231146104b6578063715018a61461050d5780638da5cb5b146105245780638e407dc11461057b5780638f32d59b146105d257806395d89b4114610601578063a457c2d714610691578063a9059cbb146106f6578063c634d0321461075b578063dd62ed3e146107a0578063f2fde38b14610817578063f851a4401461085a578063fdb835a4146108b1575b600080fd5b34801561014e57600080fd5b5061015761090c565b6040518082815260200191505060405180910390f35b34801561017957600080fd5b506101826109ac565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101c25780820151818401526020810190506101a7565b50505050905090810190601f1680156101ef5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561020957600080fd5b50610248600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a4e565b604051808215151515815260200191505060405180910390f35b34801561026e57600080fd5b50610277610b7b565b6040518082815260200191505060405180910390f35b34801561029957600080fd5b506102a2610b85565b6040518082815260200191505060405180910390f35b3480156102c457600080fd5b50610323600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b8f565b604051808215151515815260200191505060405180910390f35b34801561034957600080fd5b506103526111f1565b604051808260ff1660ff16815260200191505060405180910390f35b34801561037a57600080fd5b506103b9600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611208565b604051808215151515815260200191505060405180910390f35b3480156103df57600080fd5b50610414600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143f565b604051808215151515815260200191505060405180910390f35b34801561043a57600080fd5b506104596004803603810190808035906020019092919050505061152e565b604051808215151515815260200191505060405180910390f35b34801561047f57600080fd5b506104b4600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506116fa565b005b3480156104c257600080fd5b506104f7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611751565b6040518082815260200191505060405180910390f35b34801561051957600080fd5b5061052261179a565b005b34801561053057600080fd5b50610539611856565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561058757600080fd5b506105bc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611880565b6040518082815260200191505060405180910390f35b3480156105de57600080fd5b506105e76118c9565b604051808215151515815260200191505060405180910390f35b34801561060d57600080fd5b50610616611921565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561065657808201518184015260208101905061063b565b50505050905090810190601f1680156106835780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561069d57600080fd5b506106dc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506119c3565b604051808215151515815260200191505060405180910390f35b34801561070257600080fd5b50610741600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611bfa565b604051808215151515815260200191505060405180910390f35b34801561076757600080fd5b50610786600480360381019080803590602001909291905050506120cd565b604051808215151515815260200191505060405180910390f35b3480156107ac57600080fd5b50610801600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506121db565b6040518082815260200191505060405180910390f35b34801561082357600080fd5b50610858600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612262565b005b34801561086657600080fd5b5061086f612281565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156108bd57600080fd5b506108f2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506122ab565b604051808215151515815260200191505060405180910390f35b6000806301e13380600454014211151561092c57600490508091506109a8565b6303c26700600454014211151561094957600590508091506109a8565b6305a39a80600454014211151561096657600790508091506109a8565b630784ce00600454014211151561098357600890508091506109a8565b630966018060045401421115156109a057600a90508091506109a8565b600090508091505b5090565b606060008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a445780601f10610a1957610100808354040283529160200191610a44565b820191906000526020600020905b815481529060010190602001808311610a2757829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a8b57600080fd5b81601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000601254905090565b6000600454905090565b600080600080610b9d612281565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610cd45784600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555084600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36111e3565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511151515610d2257600080fd5b601160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511151515610dad57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515610de957600080fd5b6302faf08085111580610e2e5750610dff611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610e3957600080fd5b600a601254811515610e4757fe5b04610e5187611751565b11151515610e5e57600080fd5b610eb085600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610efb61090c565b925084915060011515610f0d336122ab565b15151415610f1e5760009050610f8a565b6000831415610f305760009050610f89565b610f38611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415610f745760009050610f88565b8285811515610f7f57fe5b04905080850391505b5b5b610fdc82600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080601254036012819055506110b985601160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b601160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a342600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600193505050509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561124557600080fd5b6112d482601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000611449611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561148257600080fd5b6001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600081600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411151561157d57600080fd5b6000821015151561158d57600080fd5b6115d6600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361235e565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506116256012548361235e565b6012819055506116376009548361235e565b6009819055503373ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a2600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6117026118c9565b151561170d57600080fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6117a26118c9565b15156117ad57600080fd5b600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a26000600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119b95780601f1061198e576101008083540402835291602001916119b9565b820191906000526020600020905b81548152906001019060200180831161199c57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515611a0057600080fd5b611a8f82601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600080600080611c08612281565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611d3f5784600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555084600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a36120c0565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548511151515611d8d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614151515611dc957600080fd5b6302faf08085111580611e0e5750611ddf611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515611e1957600080fd5b600a601254811515611e2757fe5b04611e3187611751565b11151515611e3e57600080fd5b611e9085600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461235e90919063ffffffff16565b600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611edb61090c565b925084915060011515611eed336122ab565b15151415611efe5760009050611f6a565b6000831415611f105760009050611f69565b611f18611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611f545760009050611f68565b8285811515611f5f57fe5b04905080850391505b5b5b611fbc82600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f90919063ffffffff16565b600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600060125411156120165780601254036012819055505b8573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a342600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001935050505092915050565b60006120d7611856565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561211057600080fd5b81600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816012600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a360019050919050565b6000601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61226a6118c9565b151561227557600080fd5b61227e816123a0565b50565b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600062ed4e00600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401421015156123035760019050612359565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156123545760019050612359565b600090505b919050565b60008083831115151561237057600080fd5b82840390508091505092915050565b600080828401905083811015151561239657600080fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156123dc57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600260019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600260016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058203da64854082eb0c3e074de7e8059e587a9680783cd505be44a14ea56de681fc90029

Deployed Bytecode Sourcemap

4881:9952:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7046:757;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7046:757:0;;;;;;;;;;;;;;;;;;;;;;;4524:69;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4524:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4524:69:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9102:226;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9102:226:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6011:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6011:85:0;;;;;;;;;;;;;;;;;;;;;;;6280;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6280:85:0;;;;;;;;;;;;;;;;;;;;;;;9334:1229;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9334:1229:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4796:76;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4796:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;11303:343;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11303:343:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6104:170;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6104:170:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12476:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12476:544:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3530:83;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3530:83:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;6373:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6373:100:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3406:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3406:116:0;;;;;;2666:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2666:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6481:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6481:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3049:85;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3049:85:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4652:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4652:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;4652:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12113:353;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12113:353:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7964:1132;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7964:1132:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10571:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10571:268:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6874:159;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6874:159:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3780:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3780:103:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2746:73;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2746:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;6598:270;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6598:270:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7046:757;7093:7;7114:18;7164:12;7153:7;;:24;7146:3;:31;;7142:656;;;7207:1;7194:14;;7230:10;7223:17;;;;7142:656;7280:12;7269:7;;:24;7262:3;:31;;7258:540;;;7323:1;7310:14;;7346:10;7339:17;;;;7258:540;7396:13;7385:7;;:25;7378:3;:32;;7374:424;;;7440:1;7427:14;;7463:10;7456:17;;;;7374:424;7513:13;7502:7;;:25;7495:3;:32;;7491:307;;;7556:1;7543:14;;7579:10;7572:17;;;;7491:307;7629:13;7618:7;;:25;7611:3;:32;;7607:191;;;7673:2;7660:15;;7697:10;7690:17;;;;7607:191;7753:1;7740:14;;7776:10;7769:17;;7046:757;;;:::o;4524:69::-;4560:6;4582:5;4575:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4524:69;:::o;9102:226::-;9167:4;9207:1;9188:21;;:7;:21;;;;9180:30;;;;;;;;9251:5;9219:8;:20;9228:10;9219:20;;;;;;;;;;;;;;;:29;9240:7;9219:29;;;;;;;;;;;;;;;:37;;;;9289:7;9268:36;;9277:10;9268:36;;;9298:5;9268:36;;;;;;;;;;;;;;;;;;9318:4;9311:11;;9102:226;;;;:::o;6011:85::-;6055:7;6078:12;;6071:19;;6011:85;:::o;6280:::-;6327:7;6352;;6345:14;;6280:85;:::o;9334:1229::-;9443:4;9920:11;9957:22;9994:12;9479:7;:5;:7::i;:::-;9465:21;;:10;:21;;;9461:1079;;;9524:5;9499:9;:21;9509:10;9499:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;9557:5;9540:9;:13;9550:2;9540:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;9599:2;9578:31;;9587:10;9578:31;;;9603:5;9578:31;;;;;;;;;;;;;;;;;;9461:1079;;;9649:9;:15;9659:4;9649:15;;;;;;;;;;;;;;;;9640:5;:24;;9632:33;;;;;;;;9689:8;:14;9698:4;9689:14;;;;;;;;;;;;;;;:26;9704:10;9689:26;;;;;;;;;;;;;;;;9680:5;:35;;9672:44;;;;;;;;9745:1;9731:16;;:2;:16;;;;9723:25;;;;;;;;9772:8;9763:5;:17;;:42;;;;9798:7;:5;:7::i;:::-;9784:21;;:10;:21;;;9763:42;9755:51;;;;;;;;9854:2;9839:12;;:17;;;;;;;;9821:13;9831:2;9821:9;:13::i;:::-;:36;;9813:45;;;;;;;;9887:26;9907:5;9887:9;:15;9897:4;9887:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;9869:9;:15;9879:4;9869:15;;;;;;;;;;;;;;;:44;;;;9934:16;:14;:16::i;:::-;9920:30;;9982:5;9957:30;;10053:4;10023:34;;:26;10038:10;10023:14;:26::i;:::-;:34;;;10019:249;;;10077:1;10070:8;;10019:249;;;10103:1;10096:3;:8;10092:176;;;10124:1;10117:8;;10092:176;;;10157:7;:5;:7::i;:::-;10143:21;;:10;:21;;;10139:129;;;10184:1;10177:8;;10139:129;;;10221:3;10213:5;:11;;;;;;;;10206:18;;10256:4;10248:5;:12;10231:29;;10139:129;10092:176;10019:249;10290:33;10308:14;10290:9;:13;10300:2;10290:13;;;;;;;;;;;;;;;;:17;;:33;;;;:::i;:::-;10274:9;:13;10284:2;10274:13;;;;;;;;;;;;;;;:49;;;;10360:4;10345:12;;:19;10330:12;:34;;;;10412:37;10443:5;10412:8;:14;10421:4;10412:14;;;;;;;;;;;;;;;:26;10427:10;10412:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;10383:8;:14;10392:4;10383:14;;;;;;;;;;;;;;;:26;10398:10;10383:26;;;;;;;;;;;;;;;:66;;;;10476:2;10461:34;;10470:4;10461:34;;;10480:14;10461:34;;;;;;;;;;;;;;;;;;10527:3;10502:10;:22;10513:10;10502:22;;;;;;;;;;;;;;;:28;;;;9461:1079;10553:4;10546:11;;9334:1229;;;;;;;;:::o;4796:76::-;4836:5;4857:9;;;;;;;;;;;4850:16;;4796:76;:::o;11303:343::-;11408:4;11451:1;11432:21;;:7;:21;;;;11424:30;;;;;;;;11504:45;11538:10;11504:8;:20;11513:10;11504:20;;;;;;;;;;;;;;;:29;11525:7;11504:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;11463:8;:20;11472:10;11463:20;;;;;;;;;;;;;;;:29;11484:7;11463:29;;;;;;;;;;;;;;;:87;;;;11583:7;11562:60;;11571:10;11562:60;;;11592:8;:20;11601:10;11592:20;;;;;;;;;;;;;;;:29;11613:7;11592:29;;;;;;;;;;;;;;;;11562:60;;;;;;;;;;;;;;;;;;11636:4;11629:11;;11303:343;;;;:::o;6104:170::-;6159:4;6194:7;:5;:7::i;:::-;6180:21;;:10;:21;;;6172:30;;;;;;;;6231:4;6209:9;:19;6219:8;6209:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;6249:9;:19;6259:8;6249:19;;;;;;;;;;;;;;;;;;;;;;;;;6242:26;;6104:170;;;:::o;12476:544::-;12521:12;12578:5;12554:9;:21;12564:10;12554:21;;;;;;;;;;;;;;;;:29;12546:38;;;;;;;;12651:1;12642:5;:10;;12634:19;;;;;;;;12683:42;12696:9;:21;12706:10;12696:21;;;;;;;;;;;;;;;;12719:5;12683:12;:42::i;:::-;12659:9;:21;12669:10;12659:21;;;;;;;;;;;;;;;:66;;;;12800:33;12813:12;;12827:5;12800:12;:33::i;:::-;12785:12;:48;;;;12862:33;12875:12;;12889:5;12862:12;:33::i;:::-;12847:12;:48;;;;12917:10;12912:23;;;12929:5;12912:23;;;;;;;;;;;;;;;;;;12980:1;12951:39;;12960:10;12951:39;;;12984:5;12951:39;;;;;;;;;;;;;;;;;;13008:4;13001:11;;12476:544;;;:::o;3530:83::-;2940:9;:7;:9::i;:::-;2932:18;;;;;;;;3599:8;3590:6;;:17;;;;;;;;;;;;;;;;;;3530:83;:::o;6373:100::-;6428:7;6451:9;:16;6461:5;6451:16;;;;;;;;;;;;;;;;6444:23;;6373:100;;;:::o;3406:116::-;2940:9;:7;:9::i;:::-;2932:18;;;;;;;;3483:6;;;;;;;;;;;3464:26;;;;;;;;;;;;3514:1;3497:6;;:19;;;;;;;;;;;;;;;;;;3406:116::o;2666:72::-;2703:7;2726:6;;;;;;;;;;;2719:13;;2666:72;:::o;6481:109::-;6542:7;6567:10;:17;6578:5;6567:17;;;;;;;;;;;;;;;;6560:24;;6481:109;;;:::o;3049:85::-;3088:4;3122:6;;;;;;;;;;;3108:20;;:10;:20;;;3101:27;;3049:85;:::o;4652:73::-;4690:6;4712:7;4705:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4652:73;:::o;12113:353::-;12223:4;12266:1;12247:21;;:7;:21;;;;12239:30;;;;;;;;12319:50;12353:15;12319:8;:20;12328:10;12319:20;;;;;;;;;;;;;;;:29;12340:7;12319:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;12278:8;:20;12287:10;12278:20;;;;;;;;;;;;;;;:29;12299:7;12278:29;;;;;;;;;;;;;;;:92;;;;12403:7;12382:60;;12391:10;12382:60;;;12412:8;:20;12421:10;12412:20;;;;;;;;;;;;;;;:29;12433:7;12412:29;;;;;;;;;;;;;;;;12382:60;;;;;;;;;;;;;;;;;;12456:4;12449:11;;12113:353;;;;:::o;7964:1132::-;8025:4;8475:11;8512:22;8549:12;8066:7;:5;:7::i;:::-;8052:21;;:10;:21;;;8048:1025;;;8111:5;8086:9;:21;8096:10;8086:21;;;;;;;;;;;;;;;;:30;;;;;;;;;;;8144:5;8127:9;:13;8137:2;8127:13;;;;;;;;;;;;;;;;:22;;;;;;;;;;;8186:2;8165:31;;8174:10;8165:31;;;8190:5;8165:31;;;;;;;;;;;;;;;;;;8048:1025;;;8236:9;:21;8246:10;8236:21;;;;;;;;;;;;;;;;8227:5;:30;;8219:39;;;;;;;;8287:1;8273:16;;:2;:16;;;;8265:25;;;;;;;;8314:8;8305:5;:17;;:42;;;;8340:7;:5;:7::i;:::-;8326:21;;:10;:21;;;8305:42;8297:51;;;;;;;;8396:2;8381:12;;:17;;;;;;;;8363:13;8373:2;8363:9;:13::i;:::-;:36;;8355:45;;;;;;;;8436:32;8462:5;8436:9;:21;8446:10;8436:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;8412:9;:21;8422:10;8412:21;;;;;;;;;;;;;;;:56;;;;8489:16;:14;:16::i;:::-;8475:30;;8537:5;8512:30;;8608:4;8578:34;;:26;8593:10;8578:14;:26::i;:::-;:34;;;8574:249;;;8632:1;8625:8;;8574:249;;;8658:1;8651:3;:8;8647:176;;;8679:1;8672:8;;8647:176;;;8712:7;:5;:7::i;:::-;8698:21;;:10;:21;;;8694:129;;;8739:1;8732:8;;8694:129;;;8776:3;8768:5;:11;;;;;;;;8761:18;;8811:4;8803:5;:12;8786:29;;8694:129;8647:176;8574:249;8851:33;8869:14;8851:9;:13;8861:2;8851:13;;;;;;;;;;;;;;;;:17;;:33;;;;:::i;:::-;8835:9;:13;8845:2;8835:13;;;;;;;;;;;;;;;:49;;;;8915:1;8900:12;;:16;8897:73;;;8958:4;8943:12;;:19;8928:12;:34;;;;8897:73;9009:2;8988:40;;8997:10;8988:40;;;9013:14;8988:40;;;;;;;;;;;;;;;;;;9060:3;9035:10;:22;9046:10;9035:22;;;;;;;;;;;;;;;:28;;;;8048:1025;9086:4;9079:11;;7964:1132;;;;;;;:::o;10571:268::-;10627:4;10666:7;:5;:7::i;:::-;10652:21;;:10;:21;;;10644:30;;;;;;;;10710:12;10685:9;:21;10695:10;10685:21;;;;;;;;;;;;;;;;:37;;;;;;;;;;;10749:12;10733;;:28;;;;;;;;;;;10788:10;10773:40;;10782:4;10773:40;;;10800:12;10773:40;;;;;;;;;;;;;;;;;;10827:4;10820:11;;10571:268;;;:::o;6874:159::-;6977:7;7003:8;:15;7012:5;7003:15;;;;;;;;;;;;;;;:24;7019:7;7003:24;;;;;;;;;;;;;;;;6996:31;;6874:159;;;;:::o;3780:103::-;2940:9;:7;:9::i;:::-;2932:18;;;;;;;;3849:28;3868:8;3849:18;:28::i;:::-;3780:103;:::o;2746:73::-;2783:7;2807:6;;;;;;;;;;;2800:13;;2746:73;:::o;6598:270::-;6658:4;6705:12;6684:10;:17;6695:5;6684:17;;;;;;;;;;;;;;;;:34;6677:3;:41;;6673:190;;;6740:4;6733:11;;;;6673:190;6785:1;6764:10;:17;6775:5;6764:17;;;;;;;;;;;;;;;;:22;6760:103;;;6808:4;6801:11;;;;6760:103;6848:5;6841:12;;6598:270;;;;:::o;1587:136::-;1645:7;1683:9;1674:1;1669;:6;;1661:15;;;;;;;;1699:1;1695;:5;1683:17;;1716:1;1709:8;;1587:136;;;;;:::o;1791:::-;1849:7;1865:9;1881:1;1877;:5;1865:17;;1902:1;1897;:6;;1889:15;;;;;;;;1920:1;1913:8;;1791:136;;;;;:::o;4023:173::-;4113:1;4093:22;;:8;:22;;;;4085:31;;;;;;;;4157:8;4128:38;;4149:6;;;;;;;;;;;4128:38;;;;;;;;;;;;4182:8;4173:6;;:17;;;;;;;;;;;;;;;;;;4023:173;:::o

Swarm Source

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