ETH Price: $3,192.39 (+1.97%)

Token

Marathon.Finance (MTON)
 

Overview

Max Total Supply

416.215198343046039281 MTON

Holders

40 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Filtered by Token Holder
pulsexhex.eth
Balance
0.095 MTON

Value
$0.00
0x7298467bdab687c7cd8c2d2d5a6b9885d8051c07
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Marathon is a reward-oriented and balanced-deflation project that aims to bring the most to token holders that will hold out till the end of the deflation period.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
MarathonToken

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv3 license
/**
 *Submitted for verification at Etherscan.io on 2020-10-08
*/

/**
 *Submitted for verification at Etherscan.io on 2020-10-02
*/

/**
 * This code is inspired by BOMB, Sparta and AHF.
 * Unlike other DeFi projects out there, it proposes a balanced reward and burn function. Each transaction burns a variable MTON quantity 
 * depending on the total supply remaining on the blockchain. The same value is placed in reward for distribution to top holders.
*/

pragma solidity ^0.5.0;

interface IERC20 {
  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);
}

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a / b;
    return c;
  }

  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a + b;
    assert(c >= a);
    return c;
  }

  function ceil(uint256 a, uint256 m) internal pure returns (uint256) {
    uint256 c = add(a,m);
    uint256 d = sub(c,1);
    return mul(div(d,m),m);
  }
}

contract ERC20Detailed is IERC20 {

  string private _name;
  string private _symbol;
  uint8 private _decimals;

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

  function name() public view returns(string memory) {
    return _name;
  }

  function symbol() public view returns(string memory) {
    return _symbol;
  }

//modified for decimals from uint8 to uint256
  function decimals() public view returns(uint256) {
    return _decimals;
  }
}

contract MarathonToken is ERC20Detailed {

  using SafeMath for uint256;
  mapping (address => uint256) private _balances;
  mapping (address => mapping (address => uint256)) private _allowed;

  string constant tokenName = "Marathon.Finance";
  string constant tokenSymbol = "MTON";
  uint8  constant tokenDecimals = 18;
  uint256 _totalSupply = 490 * (10 ** 18);
  uint256 public basePercent = 500;

  constructor() public payable ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) {
    _mint(msg.sender, _totalSupply);
  }

  function totalSupply() public view returns (uint256) {
    return _totalSupply;
  }

  function balanceOf(address owner) public view returns (uint256) {
    return _balances[owner];
  }

  function allowance(address owner, address spender) public view returns (uint256) {
    return _allowed[owner][spender];
  }

  function findPercent(uint256 value) public view returns (uint256)  {
    

    uint256 percent = 0;
    if ((_totalSupply > 400 * (10 ** 18)) && (_totalSupply <= 490 * (10 ** 18))) {
         percent = value.mul(500).div(10000);
     }
     
    if ((_totalSupply > 300 * (10 ** 18)) && (_totalSupply <= 400 * (10 ** 18))) {
         percent = value.mul(400).div(10000);
     } 
    
     if ((_totalSupply > 200 * (10 ** 18)) && (_totalSupply <= 300 * (10 ** 18))) {
         percent = value.mul(300).div(10000);
     } 
     
    if ((_totalSupply > 100 * (10 ** 18)) && (_totalSupply <= 200 * (10 ** 18))) {
         percent = value.mul(200).div(10000);
     } 
     
     if ((_totalSupply > 42 * (10 ** 18)) && (_totalSupply <= 100 * (10 ** 18))) {
         percent = value.mul(100).div(10000);
     } 
     
    if (_totalSupply <= 42 * (10 ** 18)) {
         percent = 0;
     } 
     
    return percent.div(2);
  }

  function transfer(address to, uint256 value) public returns (bool) {
    require(value <= _balances[msg.sender]);
    require(to != address(0));

    uint256 tokensToBurn = findPercent(value);
    uint256 tokensToReward = findPercent(value);
    uint256 tokensToTransfer = value.sub(tokensToBurn.add(tokensToReward));

    _balances[msg.sender] = _balances[msg.sender].sub(value);
    _balances[to] = _balances[to].add(tokensToTransfer);
    //burn
    _balances[0x0000000000000000000000000000000000000000] = _balances[0x0000000000000000000000000000000000000000].add(tokensToBurn);
    //reward
    _balances[0xaDd3D05E9fa8c109D8D314eE977c7f805b31945D] = _balances[0xaDd3D05E9fa8c109D8D314eE977c7f805b31945D].add(tokensToReward);

    _totalSupply = _totalSupply.sub(tokensToBurn);

    emit Transfer(msg.sender, to, tokensToTransfer);
    // burns to the address
    if (tokensToBurn>0){
        emit Transfer(msg.sender, 0x0000000000000000000000000000000000000000, tokensToBurn);
    }
    // send to reward address
    if (tokensToBurn>0){
        emit Transfer(msg.sender, 0xaDd3D05E9fa8c109D8D314eE977c7f805b31945D, tokensToReward);
    }
    
    return true;
  }

  function multiTransfer(address[] memory receivers, uint256[] memory amounts) public {
    for (uint256 i = 0; i < receivers.length; i++) {
      transfer(receivers[i], amounts[i]);
    }
  }

  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) {
    require(value <= _balances[from]);
    require(value <= _allowed[from][msg.sender]);
    require(to != address(0));

    _balances[from] = _balances[from].sub(value);

    uint256 tokensToBurn = findPercent(value);
    uint256 tokensToReward = findPercent(value);
    uint256 tokensToTransfer = value.sub(tokensToBurn.add(tokensToReward));

    _balances[to] = _balances[to].add(tokensToTransfer);
    _balances[0x0000000000000000000000000000000000000000] = _balances[0x0000000000000000000000000000000000000000].add(tokensToBurn);
    _balances[0xaDd3D05E9fa8c109D8D314eE977c7f805b31945D] = _balances[0xaDd3D05E9fa8c109D8D314eE977c7f805b31945D].add(tokensToReward);
    
    _totalSupply = _totalSupply.sub(tokensToBurn);

    _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);

    emit Transfer(from, to, tokensToTransfer);
    
    //burn token
    if (tokensToBurn>0)
    {
        emit Transfer(from, 0x0000000000000000000000000000000000000000, tokensToBurn);
    }
    //reward
    if (tokensToReward>0)
    {
        emit Transfer(from, 0xaDd3D05E9fa8c109D8D314eE977c7f805b31945D, tokensToReward);
    }

    return true;
  }

  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;
  }

  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 _mint(address account, uint256 amount) internal {
    require(amount != 0);
    _balances[account] = _balances[account].add(amount);
    emit Transfer(address(0), account, amount);
  }

  function burn(uint256 amount) external {
    _burn(msg.sender, amount);
  }

  function _burn(address account, uint256 amount) internal {
    require(amount != 0);
    require(amount <= _balances[account]);
    _totalSupply = _totalSupply.sub(amount);
    _balances[account] = _balances[account].sub(amount);
    emit Transfer(account, address(0), amount);
  }

  function burnFrom(address account, uint256 amount) external {
    require(amount <= _allowed[account][msg.sender]);
    _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(amount);
    _burn(account, amount);
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":true,"stateMutability":"payable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"basePercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"findPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"receivers","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]

6080604052681a901db3de656800006005556101f46006556040518060400160405280601081526020017f4d61726174686f6e2e46696e616e6365000000000000000000000000000000008152506040518060400160405280600481526020017f4d544f4e00000000000000000000000000000000000000000000000000000000815250601282600090805190602001906200009d92919062000221565b508160019080519060200190620000b692919062000221565b5080600260006101000a81548160ff021916908360ff160217905550505050620000e933600554620000ef60201b60201c565b620002d0565b6000811415620000fe57600080fd5b6200015781600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546200020460201b62001e591790919060201c565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b6000808284019050838110156200021757fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200026457805160ff191683800117855562000295565b8280016001018555821562000295579182015b828111156200029457825182559160200191906001019062000277565b5b509050620002a49190620002a8565b5090565b620002cd91905b80821115620002c9576000816000905550600101620002af565b5090565b90565b61206e80620002e06000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146105fb578063a9059cbb14610661578063c5ac0ded146106c7578063dd62ed3e146106e557610100565b806370a082311461049057806379cc6790146104e857806395d89b411461053657806399702507146105b957610100565b806323b872dd116100d357806323b872dd14610358578063313ce567146103de57806339509351146103fc57806342966c681461046257610100565b806306fdde0314610105578063095ea7b31461018857806318160ddd146101ee5780631e89d5451461020c575b600080fd5b61010d61075d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014d578082015181840152602081019050610132565b50505050905090810190601f16801561017a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d46004803603604081101561019e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107ff565b604051808215151515815260200191505060405180910390f35b6101f661092a565b6040518082815260200191505060405180910390f35b6103566004803603604081101561022257600080fd5b810190808035906020019064010000000081111561023f57600080fd5b82018360208201111561025157600080fd5b8035906020019184602083028401116401000000008311171561027357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102d357600080fd5b8201836020820111156102e557600080fd5b8035906020019184602083028401116401000000008311171561030757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610934565b005b6103c46004803603606081101561036e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610986565b604051808215151515815260200191505060405180910390f35b6103e6610fe6565b6040518082815260200191505060405180910390f35b6104486004803603604081101561041257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611000565b604051808215151515815260200191505060405180910390f35b61048e6004803603602081101561047857600080fd5b8101908080359060200190929190505050611235565b005b6104d2600480360360208110156104a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611242565b6040518082815260200191505060405180910390f35b610534600480360360408110156104fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128b565b005b61053e611431565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561057e578082015181840152602081019050610563565b50505050905090810190601f1680156105ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105e5600480360360208110156105cf57600080fd5b81019080803590602001909291905050506114d3565b6040518082815260200191505060405180910390f35b6106476004803603604081101561061157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116b9565b604051808215151515815260200191505060405180910390f35b6106ad6004803603604081101561067757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118ee565b604051808215151515815260200191505060405180910390f35b6106cf611db5565b6040518082815260200191505060405180910390f35b610747600480360360408110156106fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dbb565b6040518082815260200191505060405180910390f35b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561083a57600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b60008090505b82518110156109815761097383828151811061095257fe5b602002602001015183838151811061096657fe5b60200260200101516118ee565b50808060010191505061093a565b505050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109d457600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610a5d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a9757600080fd5b610ae982600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610b37836114d3565b90506000610b44846114d3565b90506000610b6d610b5e8385611e5990919063ffffffff16565b86611e4290919063ffffffff16565b9050610bc181600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5683600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cff826003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b6003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d6b83600554611e4290919063ffffffff16565b600581905550610e0085600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000831115610f5557600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b6000821115610fd85773add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b600193505050509392505050565b6000600260009054906101000a900460ff1660ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561103b57600080fd5b6110ca82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61123f3382611e75565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561131457600080fd5b6113a381600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061142d8282611e75565b5050565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114c95780601f1061149e576101008083540402835291602001916114c9565b820191906000526020600020905b8154815290600101906020018083116114ac57829003601f168201915b5050505050905090565b600080600090506815af1d78b58c4000006005541180156114ff5750681a901db3de6568000060055411155b156115305761152d61271061151f6101f486611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b681043561a882930000060055411801561155557506815af1d78b58c40000060055411155b156115865761158361271061157561019086611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b680ad78ebc5ac62000006005541180156115ab5750681043561a882930000060055411155b156115dc576115d96127106115cb61012c86611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b68056bc75e2d631000006005541180156116015750680ad78ebc5ac620000060055411155b156116315761162e61271061162060c886611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b680246ddf97976680000600554118015611656575068056bc75e2d6310000060055411155b1561168657611683612710611675606486611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b680246ddf979766800006005541161169d57600090505b6116b160028261202090919063ffffffff16565b915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f457600080fd5b61178382600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561193c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561197657600080fd5b6000611981836114d3565b9050600061198e846114d3565b905060006119b76119a88385611e5990919063ffffffff16565b86611e4290919063ffffffff16565b9050611a0b85600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa081600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b3583600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bde826003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b6003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c4a83600554611e4290919063ffffffff16565b6005819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000831115611d2557600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b6000831115611da85773add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b6001935050505092915050565b60065481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115611e4e57fe5b818303905092915050565b600080828401905083811015611e6b57fe5b8091505092915050565b6000811415611e8357600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611ecf57600080fd5b611ee481600554611e4290919063ffffffff16565b600581905550611f3c81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080831415611ffc576000905061201a565b600082840290508284828161200d57fe5b041461201557fe5b809150505b92915050565b60008082848161202c57fe5b049050809150509291505056fea265627a7a723158202af40edf60664adb28932df1bf1e87bb9e7e13a1c9567b6b8853dab78d044a9464736f6c63430005110032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101005760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d7146105fb578063a9059cbb14610661578063c5ac0ded146106c7578063dd62ed3e146106e557610100565b806370a082311461049057806379cc6790146104e857806395d89b411461053657806399702507146105b957610100565b806323b872dd116100d357806323b872dd14610358578063313ce567146103de57806339509351146103fc57806342966c681461046257610100565b806306fdde0314610105578063095ea7b31461018857806318160ddd146101ee5780631e89d5451461020c575b600080fd5b61010d61075d565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561014d578082015181840152602081019050610132565b50505050905090810190601f16801561017a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101d46004803603604081101561019e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506107ff565b604051808215151515815260200191505060405180910390f35b6101f661092a565b6040518082815260200191505060405180910390f35b6103566004803603604081101561022257600080fd5b810190808035906020019064010000000081111561023f57600080fd5b82018360208201111561025157600080fd5b8035906020019184602083028401116401000000008311171561027357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290803590602001906401000000008111156102d357600080fd5b8201836020820111156102e557600080fd5b8035906020019184602083028401116401000000008311171561030757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610934565b005b6103c46004803603606081101561036e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610986565b604051808215151515815260200191505060405180910390f35b6103e6610fe6565b6040518082815260200191505060405180910390f35b6104486004803603604081101561041257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611000565b604051808215151515815260200191505060405180910390f35b61048e6004803603602081101561047857600080fd5b8101908080359060200190929190505050611235565b005b6104d2600480360360208110156104a657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611242565b6040518082815260200191505060405180910390f35b610534600480360360408110156104fe57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061128b565b005b61053e611431565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561057e578082015181840152602081019050610563565b50505050905090810190601f1680156105ab5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105e5600480360360208110156105cf57600080fd5b81019080803590602001909291905050506114d3565b6040518082815260200191505060405180910390f35b6106476004803603604081101561061157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506116b9565b604051808215151515815260200191505060405180910390f35b6106ad6004803603604081101561067757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506118ee565b604051808215151515815260200191505060405180910390f35b6106cf611db5565b6040518082815260200191505060405180910390f35b610747600480360360408110156106fb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611dbb565b6040518082815260200191505060405180910390f35b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107f55780601f106107ca576101008083540402835291602001916107f5565b820191906000526020600020905b8154815290600101906020018083116107d857829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561083a57600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b60008090505b82518110156109815761097383828151811061095257fe5b602002602001015183838151811061096657fe5b60200260200101516118ee565b50808060010191505061093a565b505050565b6000600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109d457600080fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610a5d57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610a9757600080fd5b610ae982600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000610b37836114d3565b90506000610b44846114d3565b90506000610b6d610b5e8385611e5990919063ffffffff16565b86611e4290919063ffffffff16565b9050610bc181600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610c5683600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cff826003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b6003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610d6b83600554611e4290919063ffffffff16565b600581905550610e0085600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000831115610f5557600073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b6000821115610fd85773add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b600193505050509392505050565b6000600260009054906101000a900460ff1660ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561103b57600080fd5b6110ca82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b61123f3382611e75565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561131457600080fd5b6113a381600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061142d8282611e75565b5050565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114c95780601f1061149e576101008083540402835291602001916114c9565b820191906000526020600020905b8154815290600101906020018083116114ac57829003601f168201915b5050505050905090565b600080600090506815af1d78b58c4000006005541180156114ff5750681a901db3de6568000060055411155b156115305761152d61271061151f6101f486611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b681043561a882930000060055411801561155557506815af1d78b58c40000060055411155b156115865761158361271061157561019086611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b680ad78ebc5ac62000006005541180156115ab5750681043561a882930000060055411155b156115dc576115d96127106115cb61012c86611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b68056bc75e2d631000006005541180156116015750680ad78ebc5ac620000060055411155b156116315761162e61271061162060c886611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b680246ddf97976680000600554118015611656575068056bc75e2d6310000060055411155b1561168657611683612710611675606486611fe990919063ffffffff16565b61202090919063ffffffff16565b90505b680246ddf979766800006005541161169d57600090505b6116b160028261202090919063ffffffff16565b915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156116f457600080fd5b61178382600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561193c57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561197657600080fd5b6000611981836114d3565b9050600061198e846114d3565b905060006119b76119a88385611e5990919063ffffffff16565b86611e4290919063ffffffff16565b9050611a0b85600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611aa081600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611b3583600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b600360008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bde826003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e5990919063ffffffff16565b6003600073add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c4a83600554611e4290919063ffffffff16565b6005819055508573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000831115611d2557600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a35b6000831115611da85773add3d05e9fa8c109d8d314ee977c7f805b31945d73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a35b6001935050505092915050565b60065481565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115611e4e57fe5b818303905092915050565b600080828401905083811015611e6b57fe5b8091505092915050565b6000811415611e8357600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611ecf57600080fd5b611ee481600554611e4290919063ffffffff16565b600581905550611f3c81600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611e4290919063ffffffff16565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35050565b600080831415611ffc576000905061201a565b600082840290508284828161200d57fe5b041461201557fe5b809150505b92915050565b60008082848161202c57fe5b049050809150509291505056fea265627a7a723158202af40edf60664adb28932df1bf1e87bb9e7e13a1c9567b6b8853dab78d044a9464736f6c63430005110032

Deployed Bytecode Sourcemap

2399:6190:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2399:6190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2099:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5636:224;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5636:224:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2947:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5436:194;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5436:194:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5436:194:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5436:194:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5436:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5436:194:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5436:194:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5436:194:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;5436:194:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5436:194:0;;;;;;;;;;;;;;;:::i;:::-;;5866:1273;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5866:1273:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2314:78;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7145:305;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7145:305:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;7980:77;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7980:77:0;;;;;;;;;;;;;;;;;:::i;:::-;;3038:100;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3038:100:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8356:230;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8356:230:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2181:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2181:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3275:952;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3275:952:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7456:315;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;7456:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4233:1197;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4233:1197:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2776:32;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3144:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3144:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2099:76;2135:13;2164:5;2157:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2099:76;:::o;5636:224::-;5701:4;5741:1;5722:21;;:7;:21;;;;5714:30;;;;;;5783:5;5751:8;:20;5760:10;5751:20;;;;;;;;;;;;;;;:29;5772:7;5751:29;;;;;;;;;;;;;;;:37;;;;5821:7;5800:36;;5809:10;5800:36;;;5830:5;5800:36;;;;;;;;;;;;;;;;;;5850:4;5843:11;;5636:224;;;;:::o;2947:85::-;2991:7;3014:12;;3007:19;;2947:85;:::o;5436:194::-;5532:9;5544:1;5532:13;;5527:98;5551:9;:16;5547:1;:20;5527:98;;;5583:34;5592:9;5602:1;5592:12;;;;;;;;;;;;;;5606:7;5614:1;5606:10;;;;;;;;;;;;;;5583:8;:34::i;:::-;;5569:3;;;;;;;5527:98;;;;5436:194;;:::o;5866:1273::-;5945:4;5975:9;:15;5985:4;5975:15;;;;;;;;;;;;;;;;5966:5;:24;;5958:33;;;;;;6015:8;:14;6024:4;6015:14;;;;;;;;;;;;;;;:26;6030:10;6015:26;;;;;;;;;;;;;;;;6006:5;:35;;5998:44;;;;;;6071:1;6057:16;;:2;:16;;;;6049:25;;;;;;6101:26;6121:5;6101:9;:15;6111:4;6101:15;;;;;;;;;;;;;;;;:19;;:26;;;;:::i;:::-;6083:9;:15;6093:4;6083:15;;;;;;;;;;;;;;;:44;;;;6136:20;6159:18;6171:5;6159:11;:18::i;:::-;6136:41;;6184:22;6209:18;6221:5;6209:11;:18::i;:::-;6184:43;;6234:24;6261:43;6271:32;6288:14;6271:12;:16;;:32;;;;:::i;:::-;6261:5;:9;;:43;;;;:::i;:::-;6234:70;;6329:35;6347:16;6329:9;:13;6339:2;6329:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;6313:9;:13;6323:2;6313:13;;;;;;;;;;;;;;;:51;;;;6427:71;6485:12;6427:9;:53;6437:42;6427:53;;;;;;;;;;;;;;;;:57;;:71;;;;:::i;:::-;6371:9;:53;6381:42;6371:53;;;;;;;;;;;;;;;:127;;;;6561:73;6619:14;6561:9;:53;6571:42;6561:53;;;;;;;;;;;;;;;;:57;;:73;;;;:::i;:::-;6505:9;:53;6515:42;6505:53;;;;;;;;;;;;;;;:129;;;;6662:30;6679:12;6662;;:16;;:30;;;;:::i;:::-;6647:12;:45;;;;6730:37;6761:5;6730:8;:14;6739:4;6730:14;;;;;;;;;;;;;;;:26;6745:10;6730:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;6701:8;:14;6710:4;6701:14;;;;;;;;;;;;;;;:26;6716:10;6701:26;;;;;;;;;;;;;;;:66;;;;6796:2;6781:36;;6790:4;6781:36;;;6800:16;6781:36;;;;;;;;;;;;;;;;;;6865:1;6852:12;:14;6848:121;;;6904:42;6889:72;;6898:4;6889:72;;;6948:12;6889:72;;;;;;;;;;;;;;;;;;6848:121;7008:1;6993:14;:16;6989:125;;;7047:42;7032:74;;7041:4;7032:74;;;7091:14;7032:74;;;;;;;;;;;;;;;;;;6989:125;7129:4;7122:11;;;;;5866:1273;;;;;:::o;2314:78::-;2354:7;2377:9;;;;;;;;;;;2370:16;;;;2314:78;:::o;7145:305::-;7225:4;7265:1;7246:21;;:7;:21;;;;7238:30;;;;;;7308:45;7342:10;7308:8;:20;7317:10;7308:20;;;;;;;;;;;;;;;:29;7329:7;7308:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;7275:8;:20;7284:10;7275:20;;;;;;;;;;;;;;;:29;7296:7;7275:29;;;;;;;;;;;;;;;:79;;;;7387:7;7366:60;;7375:10;7366:60;;;7396:8;:20;7405:10;7396:20;;;;;;;;;;;;;;;:29;7417:7;7396:29;;;;;;;;;;;;;;;;7366:60;;;;;;;;;;;;;;;;;;7440:4;7433:11;;7145:305;;;;:::o;7980:77::-;8026:25;8032:10;8044:6;8026:5;:25::i;:::-;7980:77;:::o;3038:100::-;3093:7;3116:9;:16;3126:5;3116:16;;;;;;;;;;;;;;;;3109:23;;3038:100;;;:::o;8356:230::-;8441:8;:17;8450:7;8441:17;;;;;;;;;;;;;;;:29;8459:10;8441:29;;;;;;;;;;;;;;;;8431:6;:39;;8423:48;;;;;;8510:41;8544:6;8510:8;:17;8519:7;8510:17;;;;;;;;;;;;;;;:29;8528:10;8510:29;;;;;;;;;;;;;;;;:33;;:41;;;;:::i;:::-;8478:8;:17;8487:7;8478:17;;;;;;;;;;;;;;;:29;8496:10;8478:29;;;;;;;;;;;;;;;:73;;;;8558:22;8564:7;8573:6;8558:5;:22::i;:::-;8356:230;;:::o;2181:80::-;2219:13;2248:7;2241:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:80;:::o;3275:952::-;3332:7;3357:15;3375:1;3357:19;;3403:16;3388:12;;:31;3387:71;;;;;3441:16;3425:12;;:32;;3387:71;3383:133;;;3482:25;3501:5;3482:14;3492:3;3482:5;:9;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;3472:35;;3383:133;3549:16;3534:12;;:31;3533:71;;;;;3587:16;3571:12;;:32;;3533:71;3529:133;;;3628:25;3647:5;3628:14;3638:3;3628:5;:9;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;3618:35;;3529:133;3696:16;3681:12;;:31;3680:71;;;;;3734:16;3718:12;;:32;;3680:71;3676:133;;;3775:25;3794:5;3775:14;3785:3;3775:5;:9;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;3765:35;;3676:133;3843:16;3828:12;;:31;3827:71;;;;;3881:16;3865:12;;:32;;3827:71;3823:133;;;3922:25;3941:5;3922:14;3932:3;3922:5;:9;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;3912:35;;3823:133;3991:15;3976:12;;:30;3975:70;;;;;4028:16;4012:12;;:32;;3975:70;3971:132;;;4069:25;4088:5;4069:14;4079:3;4069:5;:9;;:14;;;;:::i;:::-;:18;;:25;;;;:::i;:::-;4059:35;;3971:132;4137:15;4121:12;;:31;4117:69;;4176:1;4166:11;;4117:69;4207:14;4219:1;4207:7;:11;;:14;;;;:::i;:::-;4200:21;;;3275:952;;;:::o;7456:315::-;7541:4;7581:1;7562:21;;:7;:21;;;;7554:30;;;;;;7624:50;7658:15;7624:8;:20;7633:10;7624:20;;;;;;;;;;;;;;;:29;7645:7;7624:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;7591:8;:20;7600:10;7591:20;;;;;;;;;;;;;;;:29;7612:7;7591:29;;;;;;;;;;;;;;;:84;;;;7708:7;7687:60;;7696:10;7687:60;;;7717:8;:20;7726:10;7717:20;;;;;;;;;;;;;;;:29;7738:7;7717:29;;;;;;;;;;;;;;;;7687:60;;;;;;;;;;;;;;;;;;7761:4;7754:11;;7456:315;;;;:::o;4233:1197::-;4294:4;4324:9;:21;4334:10;4324:21;;;;;;;;;;;;;;;;4315:5;:30;;4307:39;;;;;;4375:1;4361:16;;:2;:16;;;;4353:25;;;;;;4387:20;4410:18;4422:5;4410:11;:18::i;:::-;4387:41;;4435:22;4460:18;4472:5;4460:11;:18::i;:::-;4435:43;;4485:24;4512:43;4522:32;4539:14;4522:12;:16;;:32;;;;:::i;:::-;4512:5;:9;;:43;;;;:::i;:::-;4485:70;;4588:32;4614:5;4588:9;:21;4598:10;4588:21;;;;;;;;;;;;;;;;:25;;:32;;;;:::i;:::-;4564:9;:21;4574:10;4564:21;;;;;;;;;;;;;;;:56;;;;4643:35;4661:16;4643:9;:13;4653:2;4643:13;;;;;;;;;;;;;;;;:17;;:35;;;;:::i;:::-;4627:9;:13;4637:2;4627:13;;;;;;;;;;;;;;;:51;;;;4753:71;4811:12;4753:9;:53;4763:42;4753:53;;;;;;;;;;;;;;;;:57;;:71;;;;:::i;:::-;4697:9;:53;4707:42;4697:53;;;;;;;;;;;;;;;:127;;;;4901:73;4959:14;4901:9;:53;4911:42;4901:53;;;;;;;;;;;;;;;;:57;;:73;;;;:::i;:::-;4845:9;:53;4855:42;4845:53;;;;;;;;;;;;;;;:129;;;;4998:30;5015:12;4998;;:16;;:30;;;;:::i;:::-;4983:12;:45;;;;5063:2;5042:42;;5051:10;5042:42;;;5067:16;5042:42;;;;;;;;;;;;;;;;;;5137:1;5124:12;:14;5120:121;;;5176:42;5155:78;;5164:10;5155:78;;;5220:12;5155:78;;;;;;;;;;;;;;;;;;5120:121;5295:1;5282:12;:14;5278:123;;;5334:42;5313:80;;5322:10;5313:80;;;5378:14;5313:80;;;;;;;;;;;;;;;;;;5278:123;5420:4;5413:11;;;;;4233:1197;;;;:::o;2776:32::-;;;;:::o;3144:125::-;3216:7;3239:8;:15;3248:5;3239:15;;;;;;;;;;;;;;;:24;3255:7;3239:24;;;;;;;;;;;;;;;;3232:31;;3144:125;;;;:::o;1397:113::-;1455:7;1483:1;1478;:6;;1471:14;;;;1503:1;1499;:5;1492:12;;1397:113;;;;:::o;1516:133::-;1574:7;1590:9;1606:1;1602;:5;1590:17;;1626:1;1621;:6;;1614:14;;;;1642:1;1635:8;;;1516:133;;;;:::o;8063:287::-;8145:1;8135:6;:11;;8127:20;;;;;;8172:9;:18;8182:7;8172:18;;;;;;;;;;;;;;;;8162:6;:28;;8154:37;;;;;;8213:24;8230:6;8213:12;;:16;;:24;;;;:::i;:::-;8198:12;:39;;;;8265:30;8288:6;8265:9;:18;8275:7;8265:18;;;;;;;;;;;;;;;;:22;;:30;;;;:::i;:::-;8244:9;:18;8254:7;8244:18;;;;;;;;;;;;;;;:51;;;;8333:1;8307:37;;8316:7;8307:37;;;8337:6;8307:37;;;;;;;;;;;;;;;;;;8063:287;;:::o;1093:180::-;1151:7;1176:1;1171;:6;1167:37;;;1195:1;1188:8;;;;1167:37;1210:9;1226:1;1222;:5;1210:17;;1250:1;1245;1241;:5;;;;;;:10;1234:18;;;;1266:1;1259:8;;;1093:180;;;;;:::o;1279:112::-;1337:7;1353:9;1369:1;1365;:5;;;;;;1353:17;;1384:1;1377:8;;;1279:112;;;;:::o

Swarm Source

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