ETH Price: $2,694.27 (-1.27%)

Token

Step chain (IOC)
 

Overview

Max Total Supply

1,000,000,000 IOC

Holders

945

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
0 IOC

Value
$0.00
0x580597430db47796db1d79a7006445ffb993c7bc
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:
ATokenERC20

Compiler Version
v0.5.9+commit.e560f70d

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-09-18
*/

pragma solidity ^0.5.9;
/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
	/**
	 * @dev Multiplies two numbers, throws on overflow.
	 */
	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;
	}
	/**
	 * @dev Integer division of two numbers, truncating the quotient.
	 */
	function div(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a / b;
		return c;
	}
	/**
	 * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
	 */
	function sub(uint256 a, uint256 b) internal pure returns (uint256) {
		assert(b <= a);
		return a - b;
	}
	/**
	 * @dev Adds two numbers, throws on overflow.
	 */
	function add(uint256 a, uint256 b) internal pure returns (uint256) {
		uint256 c = a + b;
		assert(c >= a);
		return c;
	}
}

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 */
contract ERC20Basic {
	function totalSupply() public view returns (uint256);
	function balanceOf(address who) public view returns (uint256);
	function transfer(address to, uint256 value) public returns (bool);
	event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 */
contract ERC20 is ERC20Basic {
	function allowance(address owner, address spender) public view returns (uint256);
	function transferFrom(address from, address to, uint256 value) public returns (bool);
	function approve(address spender, uint256 value) public returns (bool);
	event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract Ownable {
	address public owner;
	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;
	}
	/**
	 * @dev Throws if called by any account other than the owner.
	 */
	modifier onlyOwner() {
		require(msg.sender == owner);
		_;
	}

	/**
	 * @dev Allows the current owner to transfer control of the contract to a newOwner.
	 * @param newOwner The address to transfer ownership to.
	 */
	function transferOwnership(address newOwner) public onlyOwner {
		require(newOwner != address(0));
		emit OwnershipTransferred(owner, newOwner);
		owner = newOwner;
	}
}

/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic,ERC20 {
	using SafeMath for uint256;
	mapping(address => uint256) balances;
	mapping(address => uint256) public lockValues; //lock the amount of the specified address.
	uint256 totalSupply_ = 1000000000*10**8; //total
	/**
	 * @dev total number of tokens in existence
	 */
	function totalSupply() public view returns (uint256) {
		return totalSupply_;
	}
	/**
	 * @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) {
		require(_to != address(0));
		address addr = msg.sender;
		require(_value <= balances[addr]);
		uint256 transBlalance = balances[msg.sender].sub(lockValues[msg.sender]);
		require(_value <= transBlalance);
		// SafeMath.sub will throw if there is not enough balance.
		balances[msg.sender] = balances[msg.sender].sub(_value);
		balances[_to] = balances[_to].add(_value);
		emit Transfer(msg.sender, _to, _value);
		return true;
	}
	/**
	 * @dev Gets the balance of the specified address.
	 * @param _owner The address to query the the balance of.
	 * @return An uint256 representing the amount owned by the passed address.
	 */
	function balanceOf(address _owner) public view returns (uint256 balance) {
		return balances[_owner];
	}
}

/**
 * @title Standard ERC20 token
 * @dev Implementation of the basic standard token.
 */
contract StandardToken is ERC20, BasicToken {
	mapping (address => mapping (address => uint256)) internal allowed;
	/**
	 * @dev Transfer tokens from one address to another
	 * @param _from address The address which you want to send tokens from
	 * @param _to address The address which you want to transfer to
	 * @param _value uint256 the amount of tokens to be transferred
	 */
	function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
		require(_to != address(0));
		require(_value <= balances[_from]);
		require(_value <= allowed[_from][msg.sender]);
		uint256 transBlalance = balances[_from].sub(lockValues[_from]);
		require(_value <= transBlalance);
		transBlalance = allowed[_from][msg.sender].sub(lockValues[msg.sender]);
		require(_value <= transBlalance);
		balances[_from] = balances[_from].sub(_value);
		balances[_to] = balances[_to].add(_value);
		allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
		emit Transfer(_from, _to, _value);
		return true;
	}

	/**
	 * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
	 *
	 * Beware that changing an allowance with this method brings the risk that someone may use both the old
	 * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
	 * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
	 * @param _spender The address which will spend the funds.
	 * @param _value The amount of tokens to be spent.
	 */
	function approve(address _spender, uint256 _value) public returns (bool) {
		allowed[msg.sender][_spender] = _value;
		emit Approval(msg.sender, _spender, _value);
		return true;
	}
	/**
	 * @dev Function to check the amount of tokens that an owner allowed to a spender.
	 * @param _owner address The address which owns the funds.
	 * @param _spender address The address which will spend the funds.
	 * @return A uint256 specifying the amount of tokens still available for the spender.
	 */
	function allowance(address _owner, address _spender) public view returns (uint256) {
		return allowed[_owner][_spender];
	}
	/**
	 * @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 increaseApproval(address _spender, uint _addedValue) public returns (bool) {
		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 decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
		uint oldValue = allowed[msg.sender][_spender];
		if (_subtractedValue > oldValue) {
		  allowed[msg.sender][_spender] = 0;
		} else {
		  allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
		}
		emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
		return true;
	}
}

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is Ownable {
	event Pause();
	event Unpause();
	bool public paused = false;
	/**
	 * @dev Modifier to make a function callable only when the contract is not paused.
	 */
	modifier whenNotPaused() {
		require(!paused);
		_;
	}
	/**
	 * @dev Modifier to make a function callable only when the contract is paused.
	 */
	modifier whenPaused() {
		require(paused);
		_;
	}
	/**
	 * @dev called by the owner to pause, triggers stopped state
	 */
	function pause() onlyOwner whenNotPaused public {
		paused = true;
		emit Pause();
	}
	/**
	 * @dev called by the owner to unpause, returns to normal state
	 */
	function unpause() onlyOwner whenPaused public {
		paused = false;
		emit Unpause();
	}
}
/**
 * @title Pausable token
 * @dev StandardToken modified with pausable transfers.
 **/
contract PausableToken is StandardToken, Pausable {
	function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {
		return super.transfer(_to, _value);
	}

	function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {
		return super.transferFrom(_from, _to, _value);
	}
	function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
		return super.approve(_spender, _value);
	}
	function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) {
		return super.increaseApproval(_spender, _addedValue);
	}
	function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) {
		return super.decreaseApproval(_spender, _subtractedValue);
	}
}

/**
 * @dev Token ERC20 contract
 */
contract ATokenERC20 is PausableToken {
	string public constant version = "1.0";
	string public name = "Step chain";
	string public symbol = "IOC";
	uint8 public constant decimals = 8;
	
	constructor() public {
		balances[msg.sender] = totalSupply_;
	}

	function addLockValue(address addr,uint256 _value) public onlyOwner {
		uint256 _reqlockValues= lockValues[addr].add(_value);
		require(_reqlockValues <= balances[addr]);    
		require(addr != address(0));
		lockValues[addr] = lockValues[addr].add(_value);        
	}    
	function subLockValue(address addr,uint256 _value) public onlyOwner {
		require(addr != address(0));
		require(_value <= lockValues[addr]);
		lockValues[addr] = lockValues[addr].sub(_value);        
	}
}

Contract Security Audit

Contract ABI

[{"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":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":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"addLockValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","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":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","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":true,"inputs":[{"name":"","type":"address"}],"name":"lockValues","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","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":"addr","type":"address"},{"name":"_value","type":"uint256"}],"name":"subLockValue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","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":"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":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

608060405267016345785d8a00006002556000600460146101000a81548160ff0219169083151502179055506040518060400160405280600a81526020017f5374657020636861696e00000000000000000000000000000000000000000000815250600590805190602001906200007892919062000161565b506040518060400160405280600381526020017f494f43000000000000000000000000000000000000000000000000000000000081525060069080519060200190620000c692919062000161565b50348015620000d457600080fd5b5033600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506002546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000210565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001a457805160ff1916838001178555620001d5565b82800160010185558215620001d5579182015b82811115620001d4578251825591602001919060010190620001b7565b5b509050620001e49190620001e8565b5090565b6200020d91905b8082111562000209576000816000905550600101620001ef565b5090565b90565b611f2080620002206000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379e23483116100ad578063cb619a3311610071578063cb619a33146105da578063d73dd62314610632578063dd62ed3e14610698578063e59bcf5214610710578063f2fde38b1461075e5761012c565b806379e234831461044f5780638456cb591461049d5780638da5cb5b146104a757806395d89b41146104f1578063a9059cbb146105745761012c565b80633f4ba83a116100f45780633f4ba83a146102e257806354fd4d50146102ec5780635c975abb1461036f578063661884631461039157806370a08231146103f75761012c565b806306fdde0314610131578063095ea7b3146101b457806318160ddd1461021a57806323b872dd14610238578063313ce567146102be575b600080fd5b6101396107a2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610840565b604051808215151515815260200191505060405180910390f35b61022261086e565b6040518082815260200191505060405180910390f35b6102a46004803603606081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610878565b604051808215151515815260200191505060405180910390f35b6102c66108a8565b604051808260ff1660ff16815260200191505060405180910390f35b6102ea6108ad565b005b6102f4610969565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610334578082015181840152602081019050610319565b50505050905090810190601f1680156103615780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103776109a2565b604051808215151515815260200191505060405180910390f35b6103dd600480360360408110156103a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b5565b604051808215151515815260200191505060405180910390f35b6104396004803603602081101561040d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e3565b6040518082815260200191505060405180910390f35b61049b6004803603604081101561046557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2b565b005b6104a5610bfa565b005b6104af610cb7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f9610cdd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053957808201518184015260208101905061051e565b50505050905090810190601f1680156105665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105c06004803603604081101561058a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d7b565b604051808215151515815260200191505060405180910390f35b61061c600480360360208110156105f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da9565b6040518082815260200191505060405180910390f35b61067e6004803603604081101561064857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dc1565b604051808215151515815260200191505060405180910390f35b6106fa600480360360408110156106ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610def565b6040518082815260200191505060405180910390f35b61075c6004803603604081101561072657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e76565b005b6107a06004803603602081101561077457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fef565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108385780601f1061080d57610100808354040283529160200191610838565b820191906000526020600020905b81548152906001019060200180831161081b57829003601f168201915b505050505081565b6000600460149054906101000a900460ff161561085c57600080fd5b6108668383611143565b905092915050565b6000600254905090565b6000600460149054906101000a900460ff161561089457600080fd5b61089f848484611235565b90509392505050565b600881565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461090757600080fd5b600460149054906101000a900460ff1661092057600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6040518060400160405280600381526020017f312e30000000000000000000000000000000000000000000000000000000000081525081565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff16156109d157600080fd5b6109db8383611768565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a8557600080fd5b6000610ad982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b90506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610b2657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b6057600080fd5b610bb282600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c5457600080fd5b600460149054906101000a900460ff1615610c6e57600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d735780601f10610d4857610100808354040283529160200191610d73565b820191906000526020600020905b815481529060010190602001808311610d5657829003601f168201915b505050505081565b6000600460149054906101000a900460ff1615610d9757600080fd5b610da18383611a15565b905092915050565b60016020528060005260406000206000915090505481565b6000600460149054906101000a900460ff1615610ddd57600080fd5b610de78383611cd8565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ed057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f0a57600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610f5657600080fd5b610fa881600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561108357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127057600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156112bb57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561134457600080fd5b60006113d6600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b9050808311156113e557600080fd5b6114b3600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b9050808311156114c257600080fd5b611513836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115a6836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167783600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611879576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190d565b61188c8382611ed490919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600080828401905083811015611a0b57fe5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a5057600080fd5b60003390506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115611aa057600080fd5b6000611b32600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b905080841115611b4157600080fd5b611b92846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c25846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b6000611d6982600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600082821115611ee057fe5b81830390509291505056fea265627a7a72305820f55dd0cbdd5b923632aa98cf5b56386d2681321d86c43ac0abfb76e1a0c981ba64736f6c63430005090032

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061012c5760003560e01c806379e23483116100ad578063cb619a3311610071578063cb619a33146105da578063d73dd62314610632578063dd62ed3e14610698578063e59bcf5214610710578063f2fde38b1461075e5761012c565b806379e234831461044f5780638456cb591461049d5780638da5cb5b146104a757806395d89b41146104f1578063a9059cbb146105745761012c565b80633f4ba83a116100f45780633f4ba83a146102e257806354fd4d50146102ec5780635c975abb1461036f578063661884631461039157806370a08231146103f75761012c565b806306fdde0314610131578063095ea7b3146101b457806318160ddd1461021a57806323b872dd14610238578063313ce567146102be575b600080fd5b6101396107a2565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561017957808201518184015260208101905061015e565b50505050905090810190601f1680156101a65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610200600480360360408110156101ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610840565b604051808215151515815260200191505060405180910390f35b61022261086e565b6040518082815260200191505060405180910390f35b6102a46004803603606081101561024e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610878565b604051808215151515815260200191505060405180910390f35b6102c66108a8565b604051808260ff1660ff16815260200191505060405180910390f35b6102ea6108ad565b005b6102f4610969565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610334578082015181840152602081019050610319565b50505050905090810190601f1680156103615780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103776109a2565b604051808215151515815260200191505060405180910390f35b6103dd600480360360408110156103a757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109b5565b604051808215151515815260200191505060405180910390f35b6104396004803603602081101561040d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109e3565b6040518082815260200191505060405180910390f35b61049b6004803603604081101561046557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610a2b565b005b6104a5610bfa565b005b6104af610cb7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6104f9610cdd565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561053957808201518184015260208101905061051e565b50505050905090810190601f1680156105665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6105c06004803603604081101561058a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d7b565b604051808215151515815260200191505060405180910390f35b61061c600480360360208110156105f057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610da9565b6040518082815260200191505060405180910390f35b61067e6004803603604081101561064857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610dc1565b604051808215151515815260200191505060405180910390f35b6106fa600480360360408110156106ae57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610def565b6040518082815260200191505060405180910390f35b61075c6004803603604081101561072657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610e76565b005b6107a06004803603602081101561077457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fef565b005b60058054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108385780601f1061080d57610100808354040283529160200191610838565b820191906000526020600020905b81548152906001019060200180831161081b57829003601f168201915b505050505081565b6000600460149054906101000a900460ff161561085c57600080fd5b6108668383611143565b905092915050565b6000600254905090565b6000600460149054906101000a900460ff161561089457600080fd5b61089f848484611235565b90509392505050565b600881565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461090757600080fd5b600460149054906101000a900460ff1661092057600080fd5b6000600460146101000a81548160ff0219169083151502179055507f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3360405160405180910390a1565b6040518060400160405280600381526020017f312e30000000000000000000000000000000000000000000000000000000000081525081565b600460149054906101000a900460ff1681565b6000600460149054906101000a900460ff16156109d157600080fd5b6109db8383611768565b905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a8557600080fd5b6000610ad982600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b90506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610b2657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b6057600080fd5b610bb282600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610c5457600080fd5b600460149054906101000a900460ff1615610c6e57600080fd5b6001600460146101000a81548160ff0219169083151502179055507f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62560405160405180910390a1565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60068054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d735780601f10610d4857610100808354040283529160200191610d73565b820191906000526020600020905b815481529060010190602001808311610d5657829003601f168201915b505050505081565b6000600460149054906101000a900460ff1615610d9757600080fd5b610da18383611a15565b905092915050565b60016020528060005260406000206000915090505481565b6000600460149054906101000a900460ff1615610ddd57600080fd5b610de78383611cd8565b905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610ed057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f0a57600080fd5b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115610f5657600080fd5b610fa881600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461104957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561108357600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561127057600080fd5b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156112bb57600080fd5b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561134457600080fd5b60006113d6600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b9050808311156113e557600080fd5b6114b3600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b9050808311156114c257600080fd5b611513836000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506115a6836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167783600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115611879576000600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061190d565b61188c8382611ed490919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b600080828401905083811015611a0b57fe5b8091505092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611a5057600080fd5b60003390506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115611aa057600080fd5b6000611b32600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b905080841115611b4157600080fd5b611b92846000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611ed490919063ffffffff16565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c25846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019250505092915050565b6000611d6982600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546119f990919063ffffffff16565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b600082821115611ee057fe5b81830390509291505056fea265627a7a72305820f55dd0cbdd5b923632aa98cf5b56386d2681321d86c43ac0abfb76e1a0c981ba64736f6c63430005090032

Deployed Bytecode Sourcemap

9748:752:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9748:752:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9832:33;;;:::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;9832:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9214:135;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9214:135:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2946:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9054:157;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9054:157:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9901:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8679:90;;;:::i;:::-;;9790:38;;;:::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;9790:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8099:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9523:178;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9523:178:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3904:106;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3904:106:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10013:272;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10013:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8510:88;;;:::i;:::-;;1773:20;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;9869:28;;;:::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;9869:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8922:127;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8922:127:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2744:45;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2744:45:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9352:168;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9352:168:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6208:125;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6208:125:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10292:205;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10292:205:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2358:171;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2358:171:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;9832:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9214:135::-;9295:4;8265:6;;;;;;;;;;;8264:7;8256:16;;;;;;9313:31;9327:8;9337:6;9313:13;:31::i;:::-;9306:38;;9214:135;;;;:::o;2946:82::-;2990:7;3011:12;;3004:19;;2946:82;:::o;9054:157::-;9150:4;8265:6;;;;;;;;;;;8264:7;8256:16;;;;;;9168:38;9187:5;9194:3;9199:6;9168:18;:38::i;:::-;9161:45;;9054:157;;;;;:::o;9901:34::-;9934:1;9901:34;:::o;8679:90::-;2179:5;;;;;;;;;;;2165:19;;:10;:19;;;2157:28;;;;;;8414:6;;;;;;;;;;;8406:15;;;;;;8740:5;8731:6;;:14;;;;;;;;;;;;;;;;;;8755:9;;;;;;;;;;8679:90::o;9790:38::-;;;;;;;;;;;;;;;;;;;:::o;8099:26::-;;;;;;;;;;;;;:::o;9523:178::-;9620:12;8265:6;;;;;;;;;;;8264:7;8256:16;;;;;;9646:50;9669:8;9679:16;9646:22;:50::i;:::-;9639:57;;9523:178;;;;:::o;3904:106::-;3960:15;3989:8;:16;3998:6;3989:16;;;;;;;;;;;;;;;;3982:23;;3904:106;;;:::o;10013:272::-;2179:5;;;;;;;;;;;2165:19;;:10;:19;;;2157:28;;;;;;10086:22;10110:28;10131:6;10110:10;:16;10121:4;10110:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;10086:52;;10169:8;:14;10178:4;10169:14;;;;;;;;;;;;;;;;10151;:32;;10143:41;;;;;;10217:1;10201:18;;:4;:18;;;;10193:27;;;;;;10244:28;10265:6;10244:10;:16;10255:4;10244:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;10225:10;:16;10236:4;10225:16;;;;;;;;;;;;;;;:47;;;;2190:1;10013:272;;:::o;8510:88::-;2179:5;;;;;;;;;;;2165:19;;:10;:19;;;2157:28;;;;;;8265:6;;;;;;;;;;;8264:7;8256:16;;;;;;8572:4;8563:6;;:13;;;;;;;;;;;;;;;;;;8586:7;;;;;;;;;;8510:88::o;1773:20::-;;;;;;;;;;;;;:::o;9869:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8922:127::-;8999:4;8265:6;;;;;;;;;;;8264:7;8256:16;;;;;;9017:27;9032:3;9037:6;9017:14;:27::i;:::-;9010:34;;8922:127;;;;:::o;2744:45::-;;;;;;;;;;;;;;;;;:::o;9352:168::-;9444:12;8265:6;;;;;;;;;;;8264:7;8256:16;;;;;;9470:45;9493:8;9503:11;9470:22;:45::i;:::-;9463:52;;9352:168;;;;:::o;6208:125::-;6282:7;6303;:15;6311:6;6303:15;;;;;;;;;;;;;;;:25;6319:8;6303:25;;;;;;;;;;;;;;;;6296:32;;6208:125;;;;:::o;10292:205::-;2179:5;;;;;;;;;;;2165:19;;:10;:19;;;2157:28;;;;;;10389:1;10373:18;;:4;:18;;;;10365:27;;;;;;10415:10;:16;10426:4;10415:16;;;;;;;;;;;;;;;;10405:6;:26;;10397:35;;;;;;10456:28;10477:6;10456:10;:16;10467:4;10456:16;;;;;;;;;;;;;;;;:20;;:28;;;;:::i;:::-;10437:10;:16;10448:4;10437:16;;;;;;;;;;;;;;;:47;;;;10292:205;;:::o;2358:171::-;2179:5;;;;;;;;;;;2165:19;;:10;:19;;;2157:28;;;;;;2453:1;2433:22;;:8;:22;;;;2425:31;;;;;;2494:8;2466:37;;2487:5;;;;;;;;;;;2466:37;;;;;;;;;;;;2516:8;2508:5;;:16;;;;;;;;;;;;;;;;;;2358:171;:::o;5705:185::-;5772:4;5815:6;5783:7;:19;5791:10;5783:19;;;;;;;;;;;;;;;:29;5803:8;5783:29;;;;;;;;;;;;;;;:38;;;;5852:8;5831:38;;5840:10;5831:38;;;5862:6;5831:38;;;;;;;;;;;;;;;;;;5881:4;5874:11;;5705:185;;;;:::o;4501:651::-;4583:4;4617:1;4602:17;;:3;:17;;;;4594:26;;;;;;4643:8;:15;4652:5;4643:15;;;;;;;;;;;;;;;;4633:6;:25;;4625:34;;;;;;4682:7;:14;4690:5;4682:14;;;;;;;;;;;;;;;:26;4697:10;4682:26;;;;;;;;;;;;;;;;4672:6;:36;;4664:45;;;;;;4714:21;4738:38;4758:10;:17;4769:5;4758:17;;;;;;;;;;;;;;;;4738:8;:15;4747:5;4738:15;;;;;;;;;;;;;;;;:19;;:38;;;;:::i;:::-;4714:62;;4799:13;4789:6;:23;;4781:32;;;;;;4834:54;4865:10;:22;4876:10;4865:22;;;;;;;;;;;;;;;;4834:7;:14;4842:5;4834:14;;;;;;;;;;;;;;;:26;4849:10;4834:26;;;;;;;;;;;;;;;;:30;;:54;;;;:::i;:::-;4818:70;;4911:13;4901:6;:23;;4893:32;;;;;;4948:27;4968:6;4948:8;:15;4957:5;4948:15;;;;;;;;;;;;;;;;:19;;:27;;;;:::i;:::-;4930:8;:15;4939:5;4930:15;;;;;;;;;;;;;;;:45;;;;4996:25;5014:6;4996:8;:13;5005:3;4996:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;4980:8;:13;4989:3;4980:13;;;;;;;;;;;;;;;:41;;;;5055:38;5086:6;5055:7;:14;5063:5;5055:14;;;;;;;;;;;;;;;:26;5070:10;5055:26;;;;;;;;;;;;;;;;:30;;:38;;;;:::i;:::-;5026:7;:14;5034:5;5026:14;;;;;;;;;;;;;;;:26;5041:10;5026:26;;;;;;;;;;;;;;;:67;;;;5119:3;5103:28;;5112:5;5103:28;;;5124:6;5103:28;;;;;;;;;;;;;;;;;;5143:4;5136:11;;;4501:651;;;;;:::o;7511:395::-;7594:4;7605:13;7621:7;:19;7629:10;7621:19;;;;;;;;;;;;;;;:29;7641:8;7621:29;;;;;;;;;;;;;;;;7605:45;;7678:8;7659:16;:27;7655:160;;;7727:1;7695:7;:19;7703:10;7695:19;;;;;;;;;;;;;;;:29;7715:8;7695:29;;;;;;;;;;;;;;;:33;;;;7655:160;;;7779:30;7792:16;7779:8;:12;;:30;;;;:::i;:::-;7747:7;:19;7755:10;7747:19;;;;;;;;;;;;;;;:29;7767:8;7747:29;;;;;;;;;;;;;;;:62;;;;7655:160;7845:8;7824:61;;7833:10;7824:61;;;7855:7;:19;7863:10;7855:19;;;;;;;;;;;;;;;:29;7875:8;7855:29;;;;;;;;;;;;;;;;7824:61;;;;;;;;;;;;;;;;;;7897:4;7890:11;;;7511:395;;;;:::o;848:126::-;906:7;920:9;936:1;932;:5;920:17;;954:1;949;:6;;942:14;;;;968:1;961:8;;;848:126;;;;:::o;3185:514::-;3248:4;3282:1;3267:17;;:3;:17;;;;3259:26;;;;;;3290:12;3305:10;3290:25;;3338:8;:14;3347:4;3338:14;;;;;;;;;;;;;;;;3328:6;:24;;3320:33;;;;;;3358:21;3382:48;3407:10;:22;3418:10;3407:22;;;;;;;;;;;;;;;;3382:8;:20;3391:10;3382:20;;;;;;;;;;;;;;;;:24;;:48;;;;:::i;:::-;3358:72;;3453:13;3443:6;:23;;3435:32;;;;;;3557;3582:6;3557:8;:20;3566:10;3557:20;;;;;;;;;;;;;;;;:24;;:32;;;;:::i;:::-;3534:8;:20;3543:10;3534:20;;;;;;;;;;;;;;;:55;;;;3610:25;3628:6;3610:8;:13;3619:3;3610:13;;;;;;;;;;;;;;;;:17;;:25;;;;:::i;:::-;3594:8;:13;3603:3;3594:13;;;;;;;;;;;;;;;:41;;;;3666:3;3645:33;;3654:10;3645:33;;;3671:6;3645:33;;;;;;;;;;;;;;;;;;3690:4;3683:11;;;;3185:514;;;;:::o;6789:259::-;6867:4;6910:46;6944:11;6910:7;:19;6918:10;6910:19;;;;;;;;;;;;;;;:29;6930:8;6910:29;;;;;;;;;;;;;;;;:33;;:46;;;;:::i;:::-;6878:7;:19;6886:10;6878:19;;;;;;;;;;;;;;;:29;6898:8;6878:29;;;;;;;;;;;;;;;:78;;;;6987:8;6966:61;;6975:10;6966:61;;;6997:7;:19;7005:10;6997:19;;;;;;;;;;;;;;;:29;7017:8;6997:29;;;;;;;;;;;;;;;;6966:61;;;;;;;;;;;;;;;;;;7039:4;7032:11;;6789:259;;;;:::o;677:108::-;735:7;761:1;756;:6;;749:14;;;;779:1;775;:5;768:12;;677:108;;;;:::o

Swarm Source

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