ETH Price: $2,813.62 (+1.57%)

Token

EXLINK COIN (EXLC)
 

Overview

Max Total Supply

10,000,000,000 EXLC

Holders

23

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
20,000,001 EXLC

Value
$0.00
0x54d186ad671dc579c545cd2a15601260c485031c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.

Contract Source Code Verified (Exact Match)

Contract Name:
EXLINKCOIN

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-07-30
*/

pragma solidity ^0.4.21;

contract ERC20Interface {
    function totalSupply() public constant returns (uint);
    function balanceOf(address tokenOwner) public constant returns (uint balance);
    function allowance(address tokenOwner, address spender) public constant returns (uint remaining);
    function transfer(address to, uint tokens) public returns (bool success);
    function approve(address spender, uint tokens) public returns (bool success);
    function transferFrom(address from, address to, uint tokens) public returns (bool success);

    event Transfer(address indexed from, address indexed to, uint tokens);
    event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}

library IterableMapping
{
    struct itmap
    {
        mapping(address => IndexValue) data;
        KeyFlag[] keys;
        uint size;
        
    }
    struct IndexValue { uint keyIndex; uint256 value; }
    struct KeyFlag { address key; bool deleted; }
    function insert(itmap storage self, address key, uint256 value) returns (bool replaced)
    {
        uint keyIndex = self.data[key].keyIndex;
        self.data[key].value = value;
        if (keyIndex > 0)
            return true;
        else
        {
            keyIndex = self.keys.length++;
            self.data[key].keyIndex = keyIndex + 1;
            self.keys[keyIndex].key = key;
            self.size++;
            return false;
        }
    }
    
    function remove(itmap storage self, address key) returns (bool success)
    {
        uint keyIndex = self.data[key].keyIndex;
        if (keyIndex == 0)
            return false;
        delete self.data[key];
        self.keys[keyIndex - 1].deleted = true;
        self.size --;
    }
    
    function contains(itmap storage self, address key) returns (bool)
    {
        return self.data[key].keyIndex > 0;
    }
    
    function iterate_start(itmap storage self) returns (uint keyIndex)
    {
        return iterate_next(self, uint(-1));
    }
    
    function iterate_valid(itmap storage self, uint keyIndex) returns (bool)
    {
        return keyIndex < self.keys.length;
    }
    
    function iterate_next(itmap storage self, uint keyIndex) returns (uint r_keyIndex)
    {
        keyIndex++;
        while (keyIndex < self.keys.length && self.keys[keyIndex].deleted)
            keyIndex++;
        return keyIndex;
    }
    function iterate_get(itmap storage self, uint keyIndex) returns (address key, uint256 value)
    {
        key = self.keys[keyIndex].key;
        value = self.data[key].value;
    }
}


contract EXLINKCOIN is ERC20Interface {
	

	function totalSupply()public constant returns (uint) {
		return totalEXLCSupply;
	}
	
	function balanceOf(address tokenOwner)public constant returns (uint balance) {
		return balances[tokenOwner];
	}

	function transfer(address to, uint tokens)public returns (bool success) {
		if (balances[msg.sender] >= tokens && tokens > 0 && balances[to] + tokens > balances[to]) {
            if(lockedUsers[msg.sender].lockedTokens > 0){
                TryUnLockBalance(msg.sender);
                if(balances[msg.sender] - tokens < lockedUsers[msg.sender].lockedTokens)
                {
                    return false;
                }
            }
            
			balances[msg.sender] -= tokens;
			balances[to] += tokens;
			emit Transfer(msg.sender, to, tokens);
			return true;
		} else {
			return false;
		}
	}
	

	function transferFrom(address from, address to, uint tokens)public returns (bool success) {
		if (balances[from] >= tokens && allowed[from].data[to].value >= tokens && tokens > 0 && balances[to] + tokens > balances[to]) {
            if(lockedUsers[from].lockedTokens > 0)
            {
                TryUnLockBalance(from);
                if(balances[from] - tokens < lockedUsers[from].lockedTokens)
                {
                    return false;
                }
            }
            
			balances[from] -= tokens;
			allowed[from].data[msg.sender].value -= tokens;
			balances[to] += tokens;
			return true;
		} else {
			return false;
		}
	}
	
	
	function approve(address spender, uint tokens)public returns (bool success) {
	    IterableMapping.insert(allowed[msg.sender], spender, tokens);
		return true;
	}
	
	function allowance(address tokenOwner, address spender)public constant returns (uint remaining) {
		return allowed[tokenOwner].data[spender].value;
	}
	
		
    string public name = "EXLINK COIN";
    string public symbol = "EXLC";
    uint8 public decimals = 18;
	uint256 private totalEXLCSupply = 10000000000000000000000000000;
	uint256 private _totalBalance = totalEXLCSupply;
	
	struct LockUser{
	    uint256 lockedTokens;
	    uint lockedTime;
	    uint lockedIdx;
	}
	
	
	address public owner = 0x0;
	address public auther_user = 0x0;
	address public operater = 0x0;
	
    mapping (address => uint256) balances;
    mapping(address => IterableMapping.itmap) allowed;

	mapping(address => LockUser) lockedUsers;
	
	
 	uint  constant    private ONE_DAY_TIME_LEN = 86400;
 	uint  constant    private ONE_YEAR_TIME_LEN = 31536000;
	uint32 private constant MAX_UINT32 = 0xFFFFFFFF;
	

	uint256   public creatorsTotalBalance =    1130000000000000000000000000; 
	uint256   public jiGouTotalBalance =       1000000000000000000000000000;
	uint256   public icoTotalBalance =         1000000000000000000000000000;
	uint256   public mineTotalBalance =        2000000000000000000000000000;
	uint256   public marketorsTotalBalance =   685000000000000000000000000;
	uint256   public businessersTotalBalance = 685000000000000000000000000;
	uint256   public taskTotalBalance =        3500000000000000000000000000;

	uint256   public mineBalance = 0;
	
	bool public isIcoStart = false;	
	bool public isIcoFinished = false;
	uint256 public icoPrice = 500000000000000000000000;

	
	
	uint256[] public mineBalanceArry = new uint256[](30); 
	uint      public lastUnlockMineBalanceTime = 0;
	uint public dayIdx = 0;
	
	event SendTo(uint32 indexed _idx, uint8 indexed _type, address _from, address _to, uint256 _value);
	
	uint32 sendToIdx = 0;
	
	function safeToNextIdx() internal{
        if (sendToIdx >= MAX_UINT32){
			sendToIdx = 1;
		}
        else
        {
			sendToIdx += 1;
		}
    }

    constructor() public {
		owner = msg.sender;
		mineBalanceArry[0] = 1000000000000000000000000;
		for(uint i=1; i<30; i++){
			mineBalanceArry[i] = mineBalanceArry[i-1] * 99 / 100;
		}
		mineBalance = taskTotalBalance;
		balances[owner] = mineBalance;
		lastUnlockMineBalanceTime = block.timestamp;
    }
	
	
	function StartIco() public {
		if ((msg.sender != operater && msg.sender != auther_user && msg.sender != owner) || isIcoStart) 
		{
		    revert();
		}
		
		isIcoStart = true;
		isIcoFinished = false;		
	}
	
	function StopIco() public {
		if ((msg.sender != operater && msg.sender != auther_user && msg.sender != owner) || isIcoFinished) 
		{
		    revert();
		}
		
		balances[owner] += icoTotalBalance;
		icoTotalBalance = 0;
		
		isIcoStart = false;
		isIcoFinished = true;
	}
	
	function () public payable
    {
		uint256 coin;
		
			if(isIcoFinished || !isIcoStart)
			{
				revert();
			}
		
			coin = msg.value * icoPrice / 1 ether;
			if(coin > icoTotalBalance)
			{
				revert();
			}

			icoTotalBalance -= coin;
			_totalBalance -= coin;
			balances[msg.sender] += coin;
			
			emit Transfer(operater, msg.sender, coin);
			
			safeToNextIdx();
			emit SendTo(sendToIdx, 2, 0x0, msg.sender, coin);
		
    }

	
	function TryUnLockBalance(address target) public {
	    if(target == 0x0)
	    {
	        revert();
	    }
	    LockUser storage user = lockedUsers[target];
	    if(user.lockedIdx > 0 && user.lockedTokens > 0)
	    {
	        if(block.timestamp >= user.lockedTime)
	        {
	            if(user.lockedIdx == 1)
	            {
	                user.lockedIdx = 0;
	                user.lockedTokens = 0;
	            }
	            else
	            {
	                uint256 append = user.lockedTokens/user.lockedIdx;
	                user.lockedTokens -= append;
        			user.lockedIdx--;
        			user.lockedTime = block.timestamp + ONE_YEAR_TIME_LEN;
        			lockedUsers[target] = user;
	            }
	        }
	    }
		
	}
	
	function QueryUnlockTime(address target) public constant returns (uint time) {
	    if(target == 0x0)
	    {
	        revert();
	    }
	    LockUser storage user = lockedUsers[target];
	    if(user.lockedIdx > 0 && user.lockedTokens > 0)
	    {
	        return user.lockedTime;
	    }
	    return 0x0;
	}
	

	function miningEveryDay() public{
		if (msg.sender != operater && msg.sender != auther_user && msg.sender != owner) 
		{
		    revert();
		}
		uint day = uint((block.timestamp - lastUnlockMineBalanceTime) / ONE_DAY_TIME_LEN);
		if(day > 0){
			int max_while = 30;
			uint256 val;
			while(day > 0 && max_while > 0 && mineTotalBalance > 0){
				max_while--;
				day -= 1;
				dayIdx += 1;
				val = mineBalanceArry[(dayIdx/365) % 30];
				if(mineTotalBalance >= val)
				{
					mineBalance += val;
					mineTotalBalance -= val;
					balances[owner] += val;
				}
				else
				{
					mineBalance += mineTotalBalance;
					mineTotalBalance = 0;
					balances[owner] += mineTotalBalance;
					break;
				}
			}
			lastUnlockMineBalanceTime = block.timestamp;
		}
	}

	
	function sendMinerByOwner(address _to, uint256 _value) public {
	
		if (msg.sender != operater && msg.sender != auther_user && msg.sender != owner) 
		{
		    revert();
		}
		
		if(_to == 0x0){
			revert();
		}
		
		
		if(_value > mineBalance){
			revert();
		}
		
		
		mineBalance -= _value;
		balances[owner] -= _value;
		balances[_to] += _value;
		_totalBalance -= _value;
		
		emit Transfer(msg.sender, _to, _value);
		
		safeToNextIdx();
		emit SendTo(sendToIdx, 3, owner, _to, _value);
	}

	function sendICOByOwner(address _to, uint256 _value) public {
		if (msg.sender != operater && msg.sender != owner && msg.sender != auther_user) 
		{
		    revert();
		}
		
		if(_to == 0x0){
			revert();
		}
		
		if(!isIcoFinished && isIcoStart)
		{
			revert();
		}		

		if(_value > icoTotalBalance){
			revert();
		}

		icoTotalBalance -= _value;
		_totalBalance -= _value;
		balances[_to] += _value;
			
		emit Transfer(msg.sender, _to, _value);
			
		safeToNextIdx();
		emit SendTo(sendToIdx, 6, 0x0, _to, _value);
	
	}
	
	function sendCreatorByOwner(address _to, uint256 _value) public {
		if (msg.sender != operater && msg.sender != owner && msg.sender != auther_user) 
		{
		    revert();
		}
		
		if(_to == 0x0){
			revert();
		}
		
		if(_value > creatorsTotalBalance){
			revert();
		}
		
		
		creatorsTotalBalance -= _value;
		_totalBalance -= _value;
		balances[_to] += _value;
		LockUser storage lockUser = lockedUsers[_to];
		lockUser.lockedTime = block.timestamp + ONE_YEAR_TIME_LEN;
		lockUser.lockedTokens += _value;
		lockUser.lockedIdx = 2;

        lockedUsers[_to] = lockUser;
		
		emit Transfer(msg.sender, _to, _value);
		
		safeToNextIdx();
		emit SendTo(sendToIdx, 4, 0x0, _to, _value);
	}

	function sendJigouByOwner(address _to, uint256 _value) public {
		if (msg.sender != operater && msg.sender != owner && msg.sender != auther_user) 
		{
		    revert();
		}
		
		if(_to == 0x0){
			revert();
		}
		
		if(_value > jiGouTotalBalance){
			revert();
		}
		
		
		jiGouTotalBalance -= _value;
		_totalBalance -= _value;
		balances[_to] += _value;
		LockUser storage lockUser = lockedUsers[_to];
		lockUser.lockedTime = block.timestamp + ONE_YEAR_TIME_LEN;
		lockUser.lockedTokens += _value;
		lockUser.lockedIdx = 1;

        lockedUsers[_to] = lockUser;
		
		emit Transfer(msg.sender, _to, _value);
		
		safeToNextIdx();
		emit SendTo(sendToIdx, 4, 0x0, _to, _value);
	}
	
	function sendMarketByOwner(address _to, uint256 _value) public {
	
		if (msg.sender != operater && msg.sender != owner && msg.sender != auther_user) 
		{
		    revert();
		}
		
		if(_to == 0x0){
			revert();
		}
		
		if(_value > marketorsTotalBalance){
			revert();
		}
		
		
		marketorsTotalBalance -= _value;
		_totalBalance -= _value;
		balances[_to] += _value;
		
		emit Transfer(msg.sender, _to, _value);
		
		safeToNextIdx();
		emit SendTo(sendToIdx, 7, 0x0, _to, _value);
	}
	

	function sendBussinessByOwner(address _to, uint256 _value) public {
	
		if (msg.sender != operater && msg.sender != owner && msg.sender != auther_user) 
		{
		    revert();
		}
		
		if(_to == 0x0){
			revert();
		}
		
		if(_value > businessersTotalBalance){
			revert();
		}
		
		
		businessersTotalBalance -= _value;
		_totalBalance -= _value;
		balances[_to] += _value;
		
		emit Transfer(msg.sender, _to, _value);
		
		safeToNextIdx();
		emit SendTo(sendToIdx, 5, 0x0, _to, _value);
	}
	
	function Save() public {
		if (msg.sender != owner) {
		    revert();
		}
		owner.transfer(address(this).balance);
    }
	
	
	function changeAutherOwner(address newOwner) public {
		if ((msg.sender != owner && msg.sender != auther_user) || newOwner == 0x0) 
		{
		    revert();
		}
		else
		{
		    if(msg.sender != owner)
		    {
		        balances[msg.sender] = balances[owner];
		        for (var i = IterableMapping.iterate_start(allowed[owner]); IterableMapping.iterate_valid(allowed[owner], i); i = IterableMapping.iterate_next(allowed[owner], i))
                {
                    var (key, value) = IterableMapping.iterate_get(allowed[owner], i);
                    IterableMapping.insert(allowed[msg.sender], key, value);
                }
			    balances[owner] = 0;
			    for (var j = IterableMapping.iterate_start(allowed[owner]); IterableMapping.iterate_valid(allowed[owner], j); j = IterableMapping.iterate_next(allowed[owner], j))
                {
                    var (key2, value2) = IterableMapping.iterate_get(allowed[owner], j);
                    IterableMapping.remove(allowed[owner], key2);
                }
		    }
			
			auther_user = newOwner;
			owner = msg.sender;
		}
    }
	
	function destruct() public {
		if (msg.sender != owner) 
		{
		    revert();
		}
		else
		{
			selfdestruct(owner);
		}
    }
	
	function setOperater(address op) public {
		if ((msg.sender != owner && msg.sender != auther_user && msg.sender != operater) || op == 0x0) 
		{
		    revert();
		}
		else
		{
			operater = op;
		}
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"dayIdx","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"}],"name":"TryUnLockBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendMarketByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mineTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"StopIco","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUnlockMineBalanceTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketorsTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"mineBalanceArry","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"tokens","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"destruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendMinerByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"icoTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isIcoStart","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendBussinessByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeAutherOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mineBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"op","type":"address"}],"name":"setOperater","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"StartIco","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"target","type":"address"}],"name":"QueryUnlockTime","outputs":[{"name":"time","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"jiGouTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"operater","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isIcoFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"miningEveryDay","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":"tokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendCreatorByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"businessersTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"auther_user","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"creatorsTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"Save","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"taskTotalBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenOwner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendJigouByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"sendICOByOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_idx","type":"uint32"},{"indexed":true,"name":"_type","type":"uint8"},{"indexed":false,"name":"_from","type":"address"},{"indexed":false,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"SendTo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenOwner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Approval","type":"event"}]

60c0604052600b60808190527f45584c494e4b20434f494e00000000000000000000000000000000000000000060a09081526200004091600091906200026d565b506040805180820190915260048082527f45584c4300000000000000000000000000000000000000000000000000000000602090920191825262000087916001916200026d565b506002805460ff191660129081179091556b204fce5e3e25026110000000600381905560045560058054600160a060020a031990811690915560068054821690556007805490911690556b03a6b6cebed490e8aa000000600b556b033b2e3c9fd0803ce8000000600c819055600d556b06765c793fa10079d0000000600e556b02369e64685a57d7cd000000600f8190556010556b0b4f21d42f59c0d52c000000601155600090556013805461ffff191690556969e10de76676d080000060145560408051601e8082526103e0820190925290602082016103c080388339505081516200017c926015925060200190620002f2565b50600060168190556017556018805463ffffffff19169055348015620001a157600080fd5b5060058054600160a060020a031916331790556015805460009169d3c21bcecceda10000009183908110620001d257fe5b6000918252602090912001555060015b601e8110156200023f5760646015600183038154811015156200020157fe5b90600052602060002001546063028115156200021957fe5b046015828154811015156200022a57fe5b600091825260209091200155600101620001e2565b506011546012819055600554600160a060020a0316600090815260086020526040902055426016556200034f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002b057805160ff1916838001178555620002e0565b82800160010185558215620002e0579182015b82811115620002e0578251825591602001919060010190620002c3565b50620002ee9291506200032f565b5090565b828054828255906000526020600020908101928215620002e05791602002820182811115620002e0578251825591602001919060010190620002c3565b6200034c91905b80821115620002ee576000815560010162000336565b90565b6120b2806200035f6000396000f3006080604052600436106101f85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301edb1ea81146102de57806306fdde0314610305578063095ea7b31461038f5780630bac0312146103c75780630e32a720146103ea578063156e95071461040e57806317df17731461042357806318160ddd14610438578063186ba9de1461044d5780631b8fc6e41461046257806320c3a8db1461047757806323b872dd1461048f5780632b68b9c6146104b95780632fa553d3146104ce578063313ce567146104f257806334b0e5ed1461051d5780633b893c2d146105325780633ecafef51461054757806343cd5ea11461055c5780634e5acb1a146105805780635dda837f146105a1578063634b4a8f146105b657806364d538d3146105d757806366b005ee146105ec578063706f88561461060d57806370a082311461062257806371c2835e146106435780637a543a941461067457806381c7ae3b146106895780638da5cb5b1461069e57806395d89b41146106b3578063a9059cbb146106c8578063aa59770f146106ec578063b3e9da0c14610710578063b63a61d314610725578063b925af471461073a578063c2e171d71461074f578063d7d1229714610764578063dd62ed3e14610779578063dfc75b9c146107a0578063f93d029a146107c4575b601354600090610100900460ff1680610214575060135460ff16155b1561021e57600080fd5b601454670de0b6b3a7640000903402049050600d5481111561023f57600080fd5b600d805482900390556004805482900390553360008181526008602090815260409182902080548501905560075482518581529251600160a060020a039091169260008051602061206783398151915292908290030190a361029f6107e8565b6018546040805160008152336020820152808201849052905160029263ffffffff1691600080516020612047833981519152919081900360600190a350005b3480156102ea57600080fd5b506102f361082c565b60408051918252519081900360200190f35b34801561031157600080fd5b5061031a610832565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561035457818101518382015260200161033c565b50505050905090810190601f1680156103815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039b57600080fd5b506103b3600160a060020a03600435166024356108c0565b604080519115158252519081900360200190f35b3480156103d357600080fd5b506103e8600160a060020a0360043516610985565b005b3480156103f657600080fd5b506103e8600160a060020a0360043516602435610a5d565b34801561041a57600080fd5b506102f3610b6d565b34801561042f57600080fd5b506103e8610b73565b34801561044457600080fd5b506102f3610c05565b34801561045957600080fd5b506102f3610c0b565b34801561046e57600080fd5b506102f3610c11565b34801561048357600080fd5b506102f3600435610c17565b34801561049b57600080fd5b506103b3600160a060020a0360043581169060243516604435610c36565b3480156104c557600080fd5b506103e8610d79565b3480156104da57600080fd5b506103e8600160a060020a0360043516602435610d9e565b3480156104fe57600080fd5b50610507610eca565b6040805160ff9092168252519081900360200190f35b34801561052957600080fd5b506102f3610ed3565b34801561053e57600080fd5b506102f3610ed9565b34801561055357600080fd5b506103b3610edf565b34801561056857600080fd5b506103e8600160a060020a0360043516602435610ee8565b34801561058c57600080fd5b506103e8600160a060020a0360043516610ff8565b3480156105ad57600080fd5b506102f3611813565b3480156105c257600080fd5b506103e8600160a060020a0360043516611819565b3480156105e357600080fd5b506103e861189e565b3480156105f857600080fd5b506102f3600160a060020a0360043516611908565b34801561061957600080fd5b506102f361196a565b34801561062e57600080fd5b506102f3600160a060020a0360043516611970565b34801561064f57600080fd5b5061065861198b565b60408051600160a060020a039092168252519081900360200190f35b34801561068057600080fd5b506103b361199a565b34801561069557600080fd5b506103e86119a8565b3480156106aa57600080fd5b50610658611aea565b3480156106bf57600080fd5b5061031a611af9565b3480156106d457600080fd5b506103b3600160a060020a0360043516602435611b53565b3480156106f857600080fd5b506103e8600160a060020a0360043516602435611c4b565b34801561071c57600080fd5b506102f3611d82565b34801561073157600080fd5b50610658611d88565b34801561074657600080fd5b506102f3611d97565b34801561075b57600080fd5b506103e8611d9d565b34801561077057600080fd5b506102f3611dee565b34801561078557600080fd5b506102f3600160a060020a0360043581169060243516611df4565b3480156107ac57600080fd5b506103e8600160a060020a0360043516602435611e22565b3480156107d057600080fd5b506103e8600160a060020a0360043516602435611f12565b60185463ffffffff9081161061080d576018805463ffffffff1916600117905561082a565b6018805463ffffffff8082166001011663ffffffff199091161790555b565b60175481565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b505050505081565b33600090815260096020908152604080832081517fab517b4f0000000000000000000000000000000000000000000000000000000081526004810191909152600160a060020a038616602482015260448101859052905173c65967a6e9553fa67b1453de6a3af197265aeef29263ab517b4f9260648082019391829003018186803b15801561094e57600080fd5b505af4158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b5060019150505b92915050565b600080600160a060020a038316151561099d57600080fd5b600160a060020a0383166000908152600a6020526040812060028101549093501180156109cb575081546000105b15610a585760018201544210610a58578160020154600114156109f8576000600283018190558255610a58565b60028201548254811515610a0857fe5b83549190049081900380845560028085018054600019018155426301e13380016001808801918255600160a060020a0389166000908152600a602052604090209485559054908401555491015590505b505050565b600754600160a060020a03163314801590610a835750600554600160a060020a03163314155b8015610a9a5750600654600160a060020a03163314155b15610aa457600080fd5b600160a060020a0382161515610ab957600080fd5b600f54811115610ac857600080fd5b600f80548290039055600480548290039055600160a060020a03821660008181526008602090815260409182902080548501905581518481529151339260008051602061206783398151915292908290030190a3610b246107e8565b6018546040805160008152600160a060020a0385166020820152808201849052905160079263ffffffff1691600080516020612047833981519152919081900360600190a35050565b600e5481565b600754600160a060020a03163314801590610b995750600654600160a060020a03163314155b8015610bb05750600554600160a060020a03163314155b80610bc25750601354610100900460ff165b15610bcc57600080fd5b600d8054600554600160a060020a03166000908152600860205260408120805490920190915590556013805461ffff1916610100179055565b60035490565b60165481565b600f5481565b6015805482908110610c2557fe5b600091825260209091200154905081565b600160a060020a0383166000908152600860205260408120548211801590610c865750600160a060020a038085166000908152600960209081526040808320938716835292905220600101548211155b8015610c925750600082115b8015610cb75750600160a060020a038316600090815260086020526040902054828101115b15610d6e57600160a060020a0384166000908152600a60205260408120541115610d1a57610ce484610985565b600160a060020a0384166000908152600a60209081526040808320546008909252909120548390031015610d1a57506000610d72565b50600160a060020a0380841660009081526008602081815260408084208054879003905560098252808420338552825280842060019081018054889003905594871684529190529020805483019055610d72565b5060005b9392505050565b600554600160a060020a03163314610d9057600080fd5b600554600160a060020a0316ff5b600754600160a060020a03163314801590610dc45750600654600160a060020a03163314155b8015610ddb5750600554600160a060020a03163314155b15610de557600080fd5b600160a060020a0382161515610dfa57600080fd5b601254811115610e0957600080fd5b601280548290039055600554600160a060020a03908116600090815260086020908152604080832080548690039055928516808352918390208054850190556004805485900390558251848152925191923392600080516020612067833981519152929181900390910190a3610e7d6107e8565b60185460055460408051600160a060020a03928316815291851660208301528181018490525160039263ffffffff1691600080516020612047833981519152919081900360600190a35050565b60025460ff1681565b60145481565b600d5481565b60135460ff1681565b600754600160a060020a03163314801590610f0e5750600554600160a060020a03163314155b8015610f255750600654600160a060020a03163314155b15610f2f57600080fd5b600160a060020a0382161515610f4457600080fd5b601054811115610f5357600080fd5b601080548290039055600480548290039055600160a060020a03821660008181526008602090815260409182902080548501905581518481529151339260008051602061206783398151915292908290030190a3610faf6107e8565b6018546040805160008152600160a060020a0385166020820152808201849052905160059263ffffffff1691600080516020612047833981519152919081900360600190a35050565b60055460009081908190819081908190600160a060020a0316331480159061102b5750600654600160a060020a03163314155b8061103d5750600160a060020a038716155b1561104757600080fd5b600554600160a060020a031633146117d45760058054600160a060020a0390811660009081526008602090815260408083205433845281842055935490921681526009825282902082517fa21ab7160000000000000000000000000000000000000000000000000000000081526004810191909152915173c65967a6e9553fa67b1453de6a3af197265aeef29263a21ab716926024808301939192829003018186803b1580156110f657600080fd5b505af415801561110a573d6000803e3d6000fd5b505050506040513d602081101561112057600080fd5b505195505b600554600160a060020a031660009081526009602090815260409182902082517fc8fccc69000000000000000000000000000000000000000000000000000000008152600481019190915260248101899052915173c65967a6e9553fa67b1453de6a3af197265aeef29263c8fccc69926044808301939192829003018186803b1580156111b157600080fd5b505af41580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b50511561141a57600554600160a060020a03166000908152600960205260409081902081517f75a3e8e8000000000000000000000000000000000000000000000000000000008152600481019190915260248101889052815173c65967a6e9553fa67b1453de6a3af197265aeef2926375a3e8e89260448082019391829003018186803b15801561126b57600080fd5b505af415801561127f573d6000803e3d6000fd5b505050506040513d604081101561129557600080fd5b5080516020918201513360009081526009845260409081902081517fab517b4f0000000000000000000000000000000000000000000000000000000081526004810191909152600160a060020a038416602482015260448101839052905192985090965073c65967a6e9553fa67b1453de6a3af197265aeef29263ab517b4f92606480840193829003018186803b15801561132f57600080fd5b505af4158015611343573d6000803e3d6000fd5b505050506040513d602081101561135957600080fd5b5050600554600160a060020a031660009081526009602090815260409182902082517f88d04437000000000000000000000000000000000000000000000000000000008152600481019190915260248101899052915173c65967a6e9553fa67b1453de6a3af197265aeef2926388d04437926044808301939192829003018186803b1580156113e757600080fd5b505af41580156113fb573d6000803e3d6000fd5b505050506040513d602081101561141157600080fd5b50519550611125565b60058054600160a060020a039081166000908152600860209081526040808320839055935490921681526009825282902082517fa21ab7160000000000000000000000000000000000000000000000000000000081526004810191909152915173c65967a6e9553fa67b1453de6a3af197265aeef29263a21ab716926024808301939192829003018186803b1580156114b257600080fd5b505af41580156114c6573d6000803e3d6000fd5b505050506040513d60208110156114dc57600080fd5b505192505b600554600160a060020a031660009081526009602090815260409182902082517fc8fccc69000000000000000000000000000000000000000000000000000000008152600481019190915260248101869052915173c65967a6e9553fa67b1453de6a3af197265aeef29263c8fccc69926044808301939192829003018186803b15801561156d57600080fd5b505af4158015611581573d6000803e3d6000fd5b505050506040513d602081101561159757600080fd5b5051156117d457600554600160a060020a03166000908152600960205260409081902081517f75a3e8e8000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052815173c65967a6e9553fa67b1453de6a3af197265aeef2926375a3e8e89260448082019391829003018186803b15801561162757600080fd5b505af415801561163b573d6000803e3d6000fd5b505050506040513d604081101561165157600080fd5b508051602091820151600554600160a060020a0390811660009081526009855260409081902081517f20aafe18000000000000000000000000000000000000000000000000000000008152600481019190915291841660248301525192955090935073c65967a6e9553fa67b1453de6a3af197265aeef2926320aafe1892604480840193829003018186803b1580156116e957600080fd5b505af41580156116fd573d6000803e3d6000fd5b505050506040513d602081101561171357600080fd5b5050600554600160a060020a031660009081526009602090815260409182902082517f88d04437000000000000000000000000000000000000000000000000000000008152600481019190915260248101869052915173c65967a6e9553fa67b1453de6a3af197265aeef2926388d04437926044808301939192829003018186803b1580156117a157600080fd5b505af41580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b505192506114e1565b60068054600160a060020a03891673ffffffffffffffffffffffffffffffffffffffff1991821617909155600580549091163317905550505050505050565b60125481565b600554600160a060020a0316331480159061183f5750600654600160a060020a03163314155b80156118565750600754600160a060020a03163314155b806118685750600160a060020a038116155b1561187257600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600754600160a060020a031633148015906118c45750600654600160a060020a03163314155b80156118db5750600554600160a060020a03163314155b806118e8575060135460ff165b156118f257600080fd5b6013805461ff001960ff19909116600117169055565b600080600160a060020a038316151561192057600080fd5b50600160a060020a0382166000908152600a602052604081206002810154909110801561194e575080546000105b1561195f5780600101549150611964565b600091505b50919050565b600c5481565b600160a060020a031660009081526008602052604090205490565b600754600160a060020a031681565b601354610100900460ff1681565b60075460009081908190600160a060020a031633148015906119d55750600654600160a060020a03163314155b80156119ec5750600554600160a060020a03163314155b156119f657600080fd5b601654620151809042030492506000831115610a5857601e91505b600083118015611a215750600082135b8015611a2f57506000600e54115b15611ae1576017805460010190819055600019938401939290920191601590601e9061016d900406815481101515611a6357fe5b9060005260206000200154905080600e54101515611ab1576012805482019055600e80548290039055600554600160a060020a03166000908152600860205260409020805482019055611adc565b600e8054601280549091019055600090819055600554600160a060020a031690526008602052611ae1565b611a11565b42601655505050565b600554600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b336000908152600860205260408120548211801590611b725750600082115b8015611b975750600160a060020a038316600090815260086020526040902054828101115b15611c4357336000908152600a60205260408120541115611be857611bbb33610985565b336000908152600a60209081526040808320546008909252909120548390031015611be85750600061097f565b33600081815260086020908152604080832080548790039055600160a060020a0387168084529281902080548701905580518681529051929392600080516020612067833981519152929181900390910190a350600161097f565b50600061097f565b600754600090600160a060020a03163314801590611c745750600554600160a060020a03163314155b8015611c8b5750600654600160a060020a03163314155b15611c9557600080fd5b600160a060020a0383161515611caa57600080fd5b600b54821115611cb957600080fd5b50600b80548290039055600480548290039055600160a060020a0382166000818152600860209081526040808320805486019055600a825291829020426301e1338001600182015580548501815560028082015582518581529251909392339260008051602061206783398151915292918290030190a3611d386107e8565b6018546040805160008152600160a060020a0386166020820152808201859052905160049263ffffffff1691600080516020612047833981519152919081900360600190a3505050565b60105481565b600654600160a060020a031681565b600b5481565b600554600160a060020a03163314611db457600080fd5b600554604051600160a060020a0390911690303180156108fc02916000818181858888f1935050505015801561189b573d6000803e3d6000fd5b60115481565b600160a060020a03918216600090815260096020908152604080832093909416825291909152206001015490565b600754600090600160a060020a03163314801590611e4b5750600554600160a060020a03163314155b8015611e625750600654600160a060020a03163314155b15611e6c57600080fd5b600160a060020a0383161515611e8157600080fd5b600c54821115611e9057600080fd5b50600c80548290039055600480548290039055600160a060020a0382166000818152600860209081526040808320805486019055600a825291829020426301e1338001600182810191909155815486018255600282015582518581529251909392339260008051602061206783398151915292918290030190a3611d386107e8565b600754600160a060020a03163314801590611f385750600554600160a060020a03163314155b8015611f4f5750600654600160a060020a03163314155b15611f5957600080fd5b600160a060020a0382161515611f6e57600080fd5b601354610100900460ff16158015611f88575060135460ff165b15611f9257600080fd5b600d54811115611fa157600080fd5b600d80548290039055600480548290039055600160a060020a03821660008181526008602090815260409182902080548501905581518481529151339260008051602061206783398151915292908290030190a3611ffd6107e8565b6018546040805160008152600160a060020a0385166020820152808201849052905160069263ffffffff1691600080516020612047833981519152919081900360600190a350505600a5ef9b0dd7fe53cc53b31279fb7e8f421410def7e180acf05ff91441a58d19c4ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820fbce5b36a71eefb0ca9d62eb309dba50f06c908273e4f804635f64b564cf96c20029

Deployed Bytecode

0x6080604052600436106101f85763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166301edb1ea81146102de57806306fdde0314610305578063095ea7b31461038f5780630bac0312146103c75780630e32a720146103ea578063156e95071461040e57806317df17731461042357806318160ddd14610438578063186ba9de1461044d5780631b8fc6e41461046257806320c3a8db1461047757806323b872dd1461048f5780632b68b9c6146104b95780632fa553d3146104ce578063313ce567146104f257806334b0e5ed1461051d5780633b893c2d146105325780633ecafef51461054757806343cd5ea11461055c5780634e5acb1a146105805780635dda837f146105a1578063634b4a8f146105b657806364d538d3146105d757806366b005ee146105ec578063706f88561461060d57806370a082311461062257806371c2835e146106435780637a543a941461067457806381c7ae3b146106895780638da5cb5b1461069e57806395d89b41146106b3578063a9059cbb146106c8578063aa59770f146106ec578063b3e9da0c14610710578063b63a61d314610725578063b925af471461073a578063c2e171d71461074f578063d7d1229714610764578063dd62ed3e14610779578063dfc75b9c146107a0578063f93d029a146107c4575b601354600090610100900460ff1680610214575060135460ff16155b1561021e57600080fd5b601454670de0b6b3a7640000903402049050600d5481111561023f57600080fd5b600d805482900390556004805482900390553360008181526008602090815260409182902080548501905560075482518581529251600160a060020a039091169260008051602061206783398151915292908290030190a361029f6107e8565b6018546040805160008152336020820152808201849052905160029263ffffffff1691600080516020612047833981519152919081900360600190a350005b3480156102ea57600080fd5b506102f361082c565b60408051918252519081900360200190f35b34801561031157600080fd5b5061031a610832565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561035457818101518382015260200161033c565b50505050905090810190601f1680156103815780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561039b57600080fd5b506103b3600160a060020a03600435166024356108c0565b604080519115158252519081900360200190f35b3480156103d357600080fd5b506103e8600160a060020a0360043516610985565b005b3480156103f657600080fd5b506103e8600160a060020a0360043516602435610a5d565b34801561041a57600080fd5b506102f3610b6d565b34801561042f57600080fd5b506103e8610b73565b34801561044457600080fd5b506102f3610c05565b34801561045957600080fd5b506102f3610c0b565b34801561046e57600080fd5b506102f3610c11565b34801561048357600080fd5b506102f3600435610c17565b34801561049b57600080fd5b506103b3600160a060020a0360043581169060243516604435610c36565b3480156104c557600080fd5b506103e8610d79565b3480156104da57600080fd5b506103e8600160a060020a0360043516602435610d9e565b3480156104fe57600080fd5b50610507610eca565b6040805160ff9092168252519081900360200190f35b34801561052957600080fd5b506102f3610ed3565b34801561053e57600080fd5b506102f3610ed9565b34801561055357600080fd5b506103b3610edf565b34801561056857600080fd5b506103e8600160a060020a0360043516602435610ee8565b34801561058c57600080fd5b506103e8600160a060020a0360043516610ff8565b3480156105ad57600080fd5b506102f3611813565b3480156105c257600080fd5b506103e8600160a060020a0360043516611819565b3480156105e357600080fd5b506103e861189e565b3480156105f857600080fd5b506102f3600160a060020a0360043516611908565b34801561061957600080fd5b506102f361196a565b34801561062e57600080fd5b506102f3600160a060020a0360043516611970565b34801561064f57600080fd5b5061065861198b565b60408051600160a060020a039092168252519081900360200190f35b34801561068057600080fd5b506103b361199a565b34801561069557600080fd5b506103e86119a8565b3480156106aa57600080fd5b50610658611aea565b3480156106bf57600080fd5b5061031a611af9565b3480156106d457600080fd5b506103b3600160a060020a0360043516602435611b53565b3480156106f857600080fd5b506103e8600160a060020a0360043516602435611c4b565b34801561071c57600080fd5b506102f3611d82565b34801561073157600080fd5b50610658611d88565b34801561074657600080fd5b506102f3611d97565b34801561075b57600080fd5b506103e8611d9d565b34801561077057600080fd5b506102f3611dee565b34801561078557600080fd5b506102f3600160a060020a0360043581169060243516611df4565b3480156107ac57600080fd5b506103e8600160a060020a0360043516602435611e22565b3480156107d057600080fd5b506103e8600160a060020a0360043516602435611f12565b60185463ffffffff9081161061080d576018805463ffffffff1916600117905561082a565b6018805463ffffffff8082166001011663ffffffff199091161790555b565b60175481565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b820191906000526020600020905b81548152906001019060200180831161089b57829003601f168201915b505050505081565b33600090815260096020908152604080832081517fab517b4f0000000000000000000000000000000000000000000000000000000081526004810191909152600160a060020a038616602482015260448101859052905173c65967a6e9553fa67b1453de6a3af197265aeef29263ab517b4f9260648082019391829003018186803b15801561094e57600080fd5b505af4158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b5060019150505b92915050565b600080600160a060020a038316151561099d57600080fd5b600160a060020a0383166000908152600a6020526040812060028101549093501180156109cb575081546000105b15610a585760018201544210610a58578160020154600114156109f8576000600283018190558255610a58565b60028201548254811515610a0857fe5b83549190049081900380845560028085018054600019018155426301e13380016001808801918255600160a060020a0389166000908152600a602052604090209485559054908401555491015590505b505050565b600754600160a060020a03163314801590610a835750600554600160a060020a03163314155b8015610a9a5750600654600160a060020a03163314155b15610aa457600080fd5b600160a060020a0382161515610ab957600080fd5b600f54811115610ac857600080fd5b600f80548290039055600480548290039055600160a060020a03821660008181526008602090815260409182902080548501905581518481529151339260008051602061206783398151915292908290030190a3610b246107e8565b6018546040805160008152600160a060020a0385166020820152808201849052905160079263ffffffff1691600080516020612047833981519152919081900360600190a35050565b600e5481565b600754600160a060020a03163314801590610b995750600654600160a060020a03163314155b8015610bb05750600554600160a060020a03163314155b80610bc25750601354610100900460ff165b15610bcc57600080fd5b600d8054600554600160a060020a03166000908152600860205260408120805490920190915590556013805461ffff1916610100179055565b60035490565b60165481565b600f5481565b6015805482908110610c2557fe5b600091825260209091200154905081565b600160a060020a0383166000908152600860205260408120548211801590610c865750600160a060020a038085166000908152600960209081526040808320938716835292905220600101548211155b8015610c925750600082115b8015610cb75750600160a060020a038316600090815260086020526040902054828101115b15610d6e57600160a060020a0384166000908152600a60205260408120541115610d1a57610ce484610985565b600160a060020a0384166000908152600a60209081526040808320546008909252909120548390031015610d1a57506000610d72565b50600160a060020a0380841660009081526008602081815260408084208054879003905560098252808420338552825280842060019081018054889003905594871684529190529020805483019055610d72565b5060005b9392505050565b600554600160a060020a03163314610d9057600080fd5b600554600160a060020a0316ff5b600754600160a060020a03163314801590610dc45750600654600160a060020a03163314155b8015610ddb5750600554600160a060020a03163314155b15610de557600080fd5b600160a060020a0382161515610dfa57600080fd5b601254811115610e0957600080fd5b601280548290039055600554600160a060020a03908116600090815260086020908152604080832080548690039055928516808352918390208054850190556004805485900390558251848152925191923392600080516020612067833981519152929181900390910190a3610e7d6107e8565b60185460055460408051600160a060020a03928316815291851660208301528181018490525160039263ffffffff1691600080516020612047833981519152919081900360600190a35050565b60025460ff1681565b60145481565b600d5481565b60135460ff1681565b600754600160a060020a03163314801590610f0e5750600554600160a060020a03163314155b8015610f255750600654600160a060020a03163314155b15610f2f57600080fd5b600160a060020a0382161515610f4457600080fd5b601054811115610f5357600080fd5b601080548290039055600480548290039055600160a060020a03821660008181526008602090815260409182902080548501905581518481529151339260008051602061206783398151915292908290030190a3610faf6107e8565b6018546040805160008152600160a060020a0385166020820152808201849052905160059263ffffffff1691600080516020612047833981519152919081900360600190a35050565b60055460009081908190819081908190600160a060020a0316331480159061102b5750600654600160a060020a03163314155b8061103d5750600160a060020a038716155b1561104757600080fd5b600554600160a060020a031633146117d45760058054600160a060020a0390811660009081526008602090815260408083205433845281842055935490921681526009825282902082517fa21ab7160000000000000000000000000000000000000000000000000000000081526004810191909152915173c65967a6e9553fa67b1453de6a3af197265aeef29263a21ab716926024808301939192829003018186803b1580156110f657600080fd5b505af415801561110a573d6000803e3d6000fd5b505050506040513d602081101561112057600080fd5b505195505b600554600160a060020a031660009081526009602090815260409182902082517fc8fccc69000000000000000000000000000000000000000000000000000000008152600481019190915260248101899052915173c65967a6e9553fa67b1453de6a3af197265aeef29263c8fccc69926044808301939192829003018186803b1580156111b157600080fd5b505af41580156111c5573d6000803e3d6000fd5b505050506040513d60208110156111db57600080fd5b50511561141a57600554600160a060020a03166000908152600960205260409081902081517f75a3e8e8000000000000000000000000000000000000000000000000000000008152600481019190915260248101889052815173c65967a6e9553fa67b1453de6a3af197265aeef2926375a3e8e89260448082019391829003018186803b15801561126b57600080fd5b505af415801561127f573d6000803e3d6000fd5b505050506040513d604081101561129557600080fd5b5080516020918201513360009081526009845260409081902081517fab517b4f0000000000000000000000000000000000000000000000000000000081526004810191909152600160a060020a038416602482015260448101839052905192985090965073c65967a6e9553fa67b1453de6a3af197265aeef29263ab517b4f92606480840193829003018186803b15801561132f57600080fd5b505af4158015611343573d6000803e3d6000fd5b505050506040513d602081101561135957600080fd5b5050600554600160a060020a031660009081526009602090815260409182902082517f88d04437000000000000000000000000000000000000000000000000000000008152600481019190915260248101899052915173c65967a6e9553fa67b1453de6a3af197265aeef2926388d04437926044808301939192829003018186803b1580156113e757600080fd5b505af41580156113fb573d6000803e3d6000fd5b505050506040513d602081101561141157600080fd5b50519550611125565b60058054600160a060020a039081166000908152600860209081526040808320839055935490921681526009825282902082517fa21ab7160000000000000000000000000000000000000000000000000000000081526004810191909152915173c65967a6e9553fa67b1453de6a3af197265aeef29263a21ab716926024808301939192829003018186803b1580156114b257600080fd5b505af41580156114c6573d6000803e3d6000fd5b505050506040513d60208110156114dc57600080fd5b505192505b600554600160a060020a031660009081526009602090815260409182902082517fc8fccc69000000000000000000000000000000000000000000000000000000008152600481019190915260248101869052915173c65967a6e9553fa67b1453de6a3af197265aeef29263c8fccc69926044808301939192829003018186803b15801561156d57600080fd5b505af4158015611581573d6000803e3d6000fd5b505050506040513d602081101561159757600080fd5b5051156117d457600554600160a060020a03166000908152600960205260409081902081517f75a3e8e8000000000000000000000000000000000000000000000000000000008152600481019190915260248101859052815173c65967a6e9553fa67b1453de6a3af197265aeef2926375a3e8e89260448082019391829003018186803b15801561162757600080fd5b505af415801561163b573d6000803e3d6000fd5b505050506040513d604081101561165157600080fd5b508051602091820151600554600160a060020a0390811660009081526009855260409081902081517f20aafe18000000000000000000000000000000000000000000000000000000008152600481019190915291841660248301525192955090935073c65967a6e9553fa67b1453de6a3af197265aeef2926320aafe1892604480840193829003018186803b1580156116e957600080fd5b505af41580156116fd573d6000803e3d6000fd5b505050506040513d602081101561171357600080fd5b5050600554600160a060020a031660009081526009602090815260409182902082517f88d04437000000000000000000000000000000000000000000000000000000008152600481019190915260248101869052915173c65967a6e9553fa67b1453de6a3af197265aeef2926388d04437926044808301939192829003018186803b1580156117a157600080fd5b505af41580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b505192506114e1565b60068054600160a060020a03891673ffffffffffffffffffffffffffffffffffffffff1991821617909155600580549091163317905550505050505050565b60125481565b600554600160a060020a0316331480159061183f5750600654600160a060020a03163314155b80156118565750600754600160a060020a03163314155b806118685750600160a060020a038116155b1561187257600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600754600160a060020a031633148015906118c45750600654600160a060020a03163314155b80156118db5750600554600160a060020a03163314155b806118e8575060135460ff165b156118f257600080fd5b6013805461ff001960ff19909116600117169055565b600080600160a060020a038316151561192057600080fd5b50600160a060020a0382166000908152600a602052604081206002810154909110801561194e575080546000105b1561195f5780600101549150611964565b600091505b50919050565b600c5481565b600160a060020a031660009081526008602052604090205490565b600754600160a060020a031681565b601354610100900460ff1681565b60075460009081908190600160a060020a031633148015906119d55750600654600160a060020a03163314155b80156119ec5750600554600160a060020a03163314155b156119f657600080fd5b601654620151809042030492506000831115610a5857601e91505b600083118015611a215750600082135b8015611a2f57506000600e54115b15611ae1576017805460010190819055600019938401939290920191601590601e9061016d900406815481101515611a6357fe5b9060005260206000200154905080600e54101515611ab1576012805482019055600e80548290039055600554600160a060020a03166000908152600860205260409020805482019055611adc565b600e8054601280549091019055600090819055600554600160a060020a031690526008602052611ae1565b611a11565b42601655505050565b600554600160a060020a031681565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108b85780601f1061088d576101008083540402835291602001916108b8565b336000908152600860205260408120548211801590611b725750600082115b8015611b975750600160a060020a038316600090815260086020526040902054828101115b15611c4357336000908152600a60205260408120541115611be857611bbb33610985565b336000908152600a60209081526040808320546008909252909120548390031015611be85750600061097f565b33600081815260086020908152604080832080548790039055600160a060020a0387168084529281902080548701905580518681529051929392600080516020612067833981519152929181900390910190a350600161097f565b50600061097f565b600754600090600160a060020a03163314801590611c745750600554600160a060020a03163314155b8015611c8b5750600654600160a060020a03163314155b15611c9557600080fd5b600160a060020a0383161515611caa57600080fd5b600b54821115611cb957600080fd5b50600b80548290039055600480548290039055600160a060020a0382166000818152600860209081526040808320805486019055600a825291829020426301e1338001600182015580548501815560028082015582518581529251909392339260008051602061206783398151915292918290030190a3611d386107e8565b6018546040805160008152600160a060020a0386166020820152808201859052905160049263ffffffff1691600080516020612047833981519152919081900360600190a3505050565b60105481565b600654600160a060020a031681565b600b5481565b600554600160a060020a03163314611db457600080fd5b600554604051600160a060020a0390911690303180156108fc02916000818181858888f1935050505015801561189b573d6000803e3d6000fd5b60115481565b600160a060020a03918216600090815260096020908152604080832093909416825291909152206001015490565b600754600090600160a060020a03163314801590611e4b5750600554600160a060020a03163314155b8015611e625750600654600160a060020a03163314155b15611e6c57600080fd5b600160a060020a0383161515611e8157600080fd5b600c54821115611e9057600080fd5b50600c80548290039055600480548290039055600160a060020a0382166000818152600860209081526040808320805486019055600a825291829020426301e1338001600182810191909155815486018255600282015582518581529251909392339260008051602061206783398151915292918290030190a3611d386107e8565b600754600160a060020a03163314801590611f385750600554600160a060020a03163314155b8015611f4f5750600654600160a060020a03163314155b15611f5957600080fd5b600160a060020a0382161515611f6e57600080fd5b601354610100900460ff16158015611f88575060135460ff165b15611f9257600080fd5b600d54811115611fa157600080fd5b600d80548290039055600480548290039055600160a060020a03821660008181526008602090815260409182902080548501905581518481529151339260008051602061206783398151915292908290030190a3611ffd6107e8565b6018546040805160008152600160a060020a0385166020820152808201849052905160069263ffffffff1691600080516020612047833981519152919081900360600190a350505600a5ef9b0dd7fe53cc53b31279fb7e8f421410def7e180acf05ff91441a58d19c4ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820fbce5b36a71eefb0ca9d62eb309dba50f06c908273e4f804635f64b564cf96c20029

Libraries Used

IterableMapping : 0xc65967a6E9553fa67B1453dE6A3af197265aeEf2Unverified

Swarm Source

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