ETH Price: $2,972.76 (-2.12%)
Gas: 3 Gwei

Token

Ether Clown (KLOWN)
 

Overview

Max Total Supply

125,557.2287097 KLOWN

Holders

768 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 7 Decimals)

Balance
48.255 KLOWN

Value
$0.00
0x37e25702ef2946fa5885ebbf5b2411c06f1a93ac
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Ether Clown is a social experiment type of a token with an RNG (Random Number Generated) burning mechanism on every transaction from 1.5% to 3.5% when people transfer token(s) between two addresses.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
KLOWN

Compiler Version
v0.5.8+commit.23d335f2

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2019-08-17
*/

pragma solidity 0.5.8;

interface IERC20 
{
    function totalSupply() external view returns (uint256);
    function balanceOf(address who) external view returns (uint256);
    function allowance(address owner, address spender) external view returns (uint256);
    function transfer(address to, uint256 value) external returns (bool);
    function approve(address spender, uint256 value) external returns (bool);
    function transferFrom(address from, address to, uint256 value) external returns (bool);
    
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract ApproveAndCallFallBack {

    function receiveApproval(address from, uint256 tokens, address token, bytes memory data) public;
}

library SafeMath 
{
    function mul(uint256 a, uint256 b) internal pure returns (uint256) 
    {
        if (a == 0) 
        {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }
    
    function div(uint256 a, uint256 b) internal pure returns (uint256) 
    {
        uint256 c = a / b;
        return c;
    }
    
    function sub(uint256 a, uint256 b) internal pure returns (uint256) 
    {
        assert(b <= a);
        return a - b;
    }
    
    function add(uint256 a, uint256 b) internal pure returns (uint256) 
    {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
    
    function ceil(uint256 a, uint256 m) internal pure returns (uint256) 
    {
        uint256 c = add(a,m);
        uint256 d = sub(c,1);
        return mul(div(d,m),m);
    }
}

contract ERC20Detailed is IERC20 
{
    string private _name;
    string private _symbol;
    uint8 private _decimals;
    
    constructor(string memory name, string memory symbol, uint8 decimals) public {
        _name = name;
        _symbol = symbol;
        _decimals = decimals;
    }
    
    function name() public view returns(string memory) {
        return _name;
    }
    
    function symbol() public view returns(string memory) {
        return _symbol;
    }
    
    function decimals() public view returns(uint8) {
        return _decimals;
    }
}

contract KLOWN is ERC20Detailed 
{
    using SafeMath for uint256;
    
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowed;
    
    string constant tokenName = "Ether Clown";//"Ether Clown";
    string constant tokenSymbol = "KLOWN";//"KLOWN"; 
    uint8  constant tokenDecimals = 7;
    uint256 _totalSupply = 0;
	
	    //shown in public 
    uint256 public RemainingSupply = 0;

    
    // ------------------------------------------------------------------------
  
    address public contractOwner;



    
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    
    // ------------------------------------------------------------------------
    
    constructor() public ERC20Detailed(tokenName, tokenSymbol, tokenDecimals) 
    {
        contractOwner = msg.sender;

        _mint(msg.sender, 777000 * (10**uint256(tokenDecimals)));
    }
    
    // ------------------------------------------------------------------------

    function transferOwnership(address newOwner) public 
    {
        require(msg.sender == contractOwner);
        require(newOwner != address(0));
        emit OwnershipTransferred(contractOwner, newOwner);
        contractOwner = newOwner;
    }
    
    function totalSupply() public view returns (uint256) 
    {
        return _totalSupply;
    }
    
    function balanceOf(address owner) public view returns (uint256) 
    {
        return _balances[owner];
    }
    
   
   
    function allowance(address owner, address spender) public view returns (uint256) 
    {
        return _allowed[owner][spender];
    }
    
    function transfer(address to, uint256 value) public returns (bool) 
    {
        _executeTransfer(msg.sender, to, value);
        return true;
    }
    
    function multiTransfer(address[] memory receivers, uint256[] memory values) public
    {
        require(receivers.length == values.length);
        for(uint256 i = 0; i < receivers.length; i++)
            _executeTransfer(msg.sender, receivers[i], values[i]);
    }
    
    function transferFrom(address from, address to, uint256 value) public returns (bool) 
    {
        require(value <= _allowed[from][msg.sender]);
        _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
        _executeTransfer(from, to, value);
        return true;
    }
    
    function approve(address spender, uint256 value) public returns (bool) 
    {
        require(spender != address(0));
        _allowed[msg.sender][spender] = value;
        emit Approval(msg.sender, spender, value);
        return true;
    }
    
    function approveAndCall(address spender, uint tokens, bytes memory data) public returns (bool success) 
    {
        _allowed[msg.sender][spender] = tokens;
        emit Approval(msg.sender, spender, tokens);
        ApproveAndCallFallBack(spender).receiveApproval(msg.sender, tokens, address(this), data);
        return true;
    }
    
    function increaseAllowance(address spender, uint256 addedValue) public returns (bool) 
    {
        require(spender != address(0));
        _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].add(addedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }
    
    function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) 
    {
        require(spender != address(0));
        _allowed[msg.sender][spender] = (_allowed[msg.sender][spender].sub(subtractedValue));
        emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
        return true;
    }
    
    function _mint(address account, uint256 value) internal 
    {
        require(value != 0);
        
        uint256 initalBalance = _balances[account];
        uint256 newBalance = initalBalance.add(value);
        
        _balances[account] = newBalance;
        _totalSupply = _totalSupply.add(value);


		RemainingSupply = _totalSupply;
        

        emit Transfer(address(0), account, value);
    }
    
    function burn(uint256 value) external 
    {
        _burn(msg.sender, value);
    }
    
    function burnFrom(address account, uint256 value) external 
    {
        require(value <= _allowed[account][msg.sender]);
        _allowed[account][msg.sender] = _allowed[account][msg.sender].sub(value);
        _burn(account, value);
    }
    
    function _burn(address account, uint256 value) internal 
    {
        require(value != 0);
        require(value <= _balances[account]);
        
        uint256 initalBalance = _balances[account];
        uint256 newBalance = initalBalance.sub(value);
        
        _balances[account] = newBalance;
        _totalSupply = _totalSupply.sub(value);
		//public
		RemainingSupply = _totalSupply;
        
        
        emit Transfer(account, address(0), value);
    }
    
    function random() private view returns (uint256) {
        
        
        uint256 rndValue =  uint256(keccak256(abi.encodePacked(block.timestamp, block.difficulty)));
        // get a psudeorandom value between 150 and 350 (to be used as percent % burn)
        rndValue = rndValue %200 + 150;
     
        
       
       return
        rndValue;
        
   }

    
    /*
    *   transfer with additional burn and stake rewards
    *   the receiver gets 95% of the sent value
    *   5% are split to be burnt and distributed to holders
    */
    function _executeTransfer(address from, address to, uint256 value) private
    {
        require(value <= _balances[from]);
        require(to != address(0) && to != address(this));

		
        uint256 randomBurnPercent = 0;
		uint256 burnPercent = 0;
		
		
		//burn only if total remaining supply > 15540 (percentage of orignal supply)
		if(_totalSupply > 15540)
		{
			randomBurnPercent = random();
		
			
			/*
				random number generated is between 150 and 350. need it to be between 1.5 and 3.5 
				this technique is used due to the way solidity handles floating point numbers
				10000 is dividing by 100 twice 
			*/ 
			
			burnPercent = value.mul(randomBurnPercent).div(10000);
        }
        
		
        uint256 initalBalance_from = _balances[from];
        uint256 newBalance_from = initalBalance_from.sub(value);
        
        value = value.sub(burnPercent);
        
        uint256 initalBalance_to = _balances[to];
        uint256 newBalance_to = initalBalance_to.add(value);
        
        //transfer
        _balances[from] = newBalance_from;
        _balances[to] = newBalance_to;
        emit Transfer(from, to, value);
                
        uint256 amountToBurn = burnPercent;
                
        //update total supply
        _totalSupply = _totalSupply.sub(amountToBurn);
		//public
		RemainingSupply = _totalSupply;
		
        emit Transfer(msg.sender, address(0), amountToBurn);
    }
    
    
    //withdraw tokens that were sent to this contract by accident
    function withdrawERC20Tokens(address tokenAddress, uint256 amount) public
    {
        require(msg.sender == contractOwner);
        require(tokenAddress != address(this));
        IERC20(tokenAddress).transfer(msg.sender, amount);
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"RemainingSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"receivers","type":"address[]"},{"name":"values","type":"uint256[]"}],"name":"multiTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"},{"name":"value","type":"uint256"}],"name":"burnFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"tokens","type":"uint256"},{"name":"data","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"tokenAddress","type":"address"},{"name":"amount","type":"uint256"}],"name":"withdrawERC20Tokens","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":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

6080604052600060055560006006553480156200001b57600080fd5b506040518060400160405280600b81526020017f457468657220436c6f776e0000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4b4c4f574e00000000000000000000000000000000000000000000000000000081525060078260009080519060200190620000a2929190620002a8565b508160019080519060200190620000bb929190620002a8565b5080600260006101000a81548160ff021916908360ff16021790555050505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200013933600760ff16600a0a620bdb28026200013f60201b60201c565b62000357565b60008114156200014e57600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000620001ae83836200028b60201b62001d3e1790919060201c565b905080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555062000210836005546200028b60201b62001d3e1790919060201c565b6005819055506005546006819055508373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b6000808284019050838110156200029e57fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002eb57805160ff19168380011785556200031c565b828001600101855582156200031c579182015b828111156200031b578251825591602001919060010190620002fe565b5b5090506200032b91906200032f565b5090565b6200035491905b808211156200035057600081600090555060010162000336565b5090565b90565b611fad80620003676000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063cae9ca5111610071578063cae9ca51146106ca578063ce606ee0146107c7578063dd62ed3e14610811578063e49cb2fb14610889578063f2fde38b146108d757610121565b806370a08231146104d557806379cc67901461052d57806395d89b411461057b578063a457c2d7146105fe578063a9059cbb1461066457610121565b80631e89d545116100f45780631e89d5451461024b57806323b872dd14610397578063313ce5671461041d578063395093511461044157806342966c68146104a757610121565b80630180e6b41461012657806306fdde0314610144578063095ea7b3146101c757806318160ddd1461022d575b600080fd5b61012e61091b565b6040518082815260200191505060405180910390f35b61014c610921565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018c578082015181840152602081019050610171565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610213600480360360408110156101dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109c3565b604051808215151515815260200191505060405180910390f35b610235610aee565b6040518082815260200191505060405180910390f35b6103956004803603604081101561026157600080fd5b810190808035906020019064010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460208302840111640100000000831117156102b257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561031257600080fd5b82018360208201111561032457600080fd5b8035906020019184602083028401116401000000008311171561034657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610af8565b005b610403600480360360608110156103ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b58565b604051808215151515815260200191505060405180910390f35b610425610d08565b604051808260ff1660ff16815260200191505060405180910390f35b61048d6004803603604081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1f565b604051808215151515815260200191505060405180910390f35b6104d3600480360360208110156104bd57600080fd5b8101908080359060200190929190505050610f54565b005b610517600480360360208110156104eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f61565b6040518082815260200191505060405180910390f35b6105796004803603604081101561054357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610faa565b005b610583611150565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c35780820151818401526020810190506105a8565b50505050905090810190601f1680156105f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61064a6004803603604081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f2565b604051808215151515815260200191505060405180910390f35b6106b06004803603604081101561067a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611427565b604051808215151515815260200191505060405180910390f35b6107ad600480360360608110156106e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561072757600080fd5b82018360208201111561073957600080fd5b8035906020019184600183028401116401000000008311171561075b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061143e565b604051808215151515815260200191505060405180910390f35b6107cf611671565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108736004803603604081101561082757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611697565b6040518082815260200191505060405180910390f35b6108d56004803603604081101561089f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061171e565b005b610919600480360360208110156108ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611878565b005b60065481565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109b95780601f1061098e576101008083540402835291602001916109b9565b820191906000526020600020905b81548152906001019060200180831161099c57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109fe57600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b8051825114610b0657600080fd5b60008090505b8251811015610b5357610b4633848381518110610b2557fe5b6020026020010151848481518110610b3957fe5b60200260200101516119cc565b8080600101915050610b0c565b505050565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610be357600080fd5b610c7282600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2790919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cfd8484846119cc565b600190509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d5a57600080fd5b610de982600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3e90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b610f5e3382611d5a565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561103357600080fd5b6110c281600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2790919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061114c8282611d5a565b5050565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111e85780601f106111bd576101008083540402835291602001916111e8565b820191906000526020600020905b8154815290600101906020018083116111cb57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561122d57600080fd5b6112bc82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60006114343384846119cc565b6001905092915050565b600082600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115ff5780820151818401526020810190506115e4565b50505050905090810190601f16801561162c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561164e57600080fd5b505af1158015611662573d6000803e3d6000fd5b50505050600190509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461177857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b157600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561183857600080fd5b505af115801561184c573d6000803e3d6000fd5b505050506040513d602081101561186257600080fd5b8101908080519060200190929190505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561190c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a1857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a8157503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611a8a57600080fd5b60008090506000809050613cb46005541115611ad457611aa8611ee3565b9150611ad1612710611ac38486611f3190919063ffffffff16565b611f6890919063ffffffff16565b90505b6000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611b2d8583611d2790919063ffffffff16565b9050611b428386611d2790919063ffffffff16565b94506000600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611b9d8783611d3e90919063ffffffff16565b905082600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a36000859050611ca681600554611d2790919063ffffffff16565b600581905550600554600681905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505050505050505050565b600082821115611d3357fe5b818303905092915050565b600080828401905083811015611d5057fe5b8091505092915050565b6000811415611d6857600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611db457600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611e0d8383611d2790919063ffffffff16565b905080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e6883600554611d2790919063ffffffff16565b600581905550600554600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b600080424460405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060001c9050609660c88281611f2657fe5b060190508091505090565b600080831415611f445760009050611f62565b6000828402905082848281611f5557fe5b0414611f5d57fe5b809150505b92915050565b600080828481611f7457fe5b049050809150509291505056fea165627a7a7230582048bbb199e8ae0f3a2fcb4845bd886a3a55a99befbfbd21fc3777e5c004be18ac0029

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad578063cae9ca5111610071578063cae9ca51146106ca578063ce606ee0146107c7578063dd62ed3e14610811578063e49cb2fb14610889578063f2fde38b146108d757610121565b806370a08231146104d557806379cc67901461052d57806395d89b411461057b578063a457c2d7146105fe578063a9059cbb1461066457610121565b80631e89d545116100f45780631e89d5451461024b57806323b872dd14610397578063313ce5671461041d578063395093511461044157806342966c68146104a757610121565b80630180e6b41461012657806306fdde0314610144578063095ea7b3146101c757806318160ddd1461022d575b600080fd5b61012e61091b565b6040518082815260200191505060405180910390f35b61014c610921565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561018c578082015181840152602081019050610171565b50505050905090810190601f1680156101b95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610213600480360360408110156101dd57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506109c3565b604051808215151515815260200191505060405180910390f35b610235610aee565b6040518082815260200191505060405180910390f35b6103956004803603604081101561026157600080fd5b810190808035906020019064010000000081111561027e57600080fd5b82018360208201111561029057600080fd5b803590602001918460208302840111640100000000831117156102b257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f8201169050808301925050505050505091929192908035906020019064010000000081111561031257600080fd5b82018360208201111561032457600080fd5b8035906020019184602083028401116401000000008311171561034657600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050509192919290505050610af8565b005b610403600480360360608110156103ad57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610b58565b604051808215151515815260200191505060405180910390f35b610425610d08565b604051808260ff1660ff16815260200191505060405180910390f35b61048d6004803603604081101561045757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610d1f565b604051808215151515815260200191505060405180910390f35b6104d3600480360360208110156104bd57600080fd5b8101908080359060200190929190505050610f54565b005b610517600480360360208110156104eb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f61565b6040518082815260200191505060405180910390f35b6105796004803603604081101561054357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610faa565b005b610583611150565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156105c35780820151818401526020810190506105a8565b50505050905090810190601f1680156105f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61064a6004803603604081101561061457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506111f2565b604051808215151515815260200191505060405180910390f35b6106b06004803603604081101561067a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611427565b604051808215151515815260200191505060405180910390f35b6107ad600480360360608110156106e057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291908035906020019064010000000081111561072757600080fd5b82018360208201111561073957600080fd5b8035906020019184600183028401116401000000008311171561075b57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050919291929050505061143e565b604051808215151515815260200191505060405180910390f35b6107cf611671565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6108736004803603604081101561082757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611697565b6040518082815260200191505060405180910390f35b6108d56004803603604081101561089f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061171e565b005b610919600480360360208110156108ed57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611878565b005b60065481565b606060008054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109b95780601f1061098e576101008083540402835291602001916109b9565b820191906000526020600020905b81548152906001019060200180831161099c57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156109fe57600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b6000600554905090565b8051825114610b0657600080fd5b60008090505b8251811015610b5357610b4633848381518110610b2557fe5b6020026020010151848481518110610b3957fe5b60200260200101516119cc565b8080600101915050610b0c565b505050565b6000600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610be357600080fd5b610c7282600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2790919063ffffffff16565b600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cfd8484846119cc565b600190509392505050565b6000600260009054906101000a900460ff16905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d5a57600080fd5b610de982600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d3e90919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b610f5e3382611d5a565b50565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205481111561103357600080fd5b6110c281600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2790919063ffffffff16565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061114c8282611d5a565b5050565b606060018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111e85780601f106111bd576101008083540402835291602001916111e8565b820191906000526020600020905b8154815290600101906020018083116111cb57829003601f168201915b5050505050905090565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561122d57600080fd5b6112bc82600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611d2790919063ffffffff16565b600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b60006114343384846119cc565b6001905092915050565b600082600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925856040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff16638f4ffcb1338530866040518563ffffffff1660e01b8152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156115ff5780820151818401526020810190506115e4565b50505050905090810190601f16801561162c5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561164e57600080fd5b505af1158015611662573d6000803e3d6000fd5b50505050600190509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461177857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156117b157600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561183857600080fd5b505af115801561184c573d6000803e3d6000fd5b505050506040513d602081101561186257600080fd5b8101908080519060200190929190505050505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146118d257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561190c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff16600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611a1857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015611a8157503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b611a8a57600080fd5b60008090506000809050613cb46005541115611ad457611aa8611ee3565b9150611ad1612710611ac38486611f3190919063ffffffff16565b611f6890919063ffffffff16565b90505b6000600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611b2d8583611d2790919063ffffffff16565b9050611b428386611d2790919063ffffffff16565b94506000600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611b9d8783611d3e90919063ffffffff16565b905082600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555080600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef896040518082815260200191505060405180910390a36000859050611ca681600554611d2790919063ffffffff16565b600581905550600554600681905550600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a350505050505050505050565b600082821115611d3357fe5b818303905092915050565b600080828401905083811015611d5057fe5b8091505092915050565b6000811415611d6857600080fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054811115611db457600080fd5b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000611e0d8383611d2790919063ffffffff16565b905080600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e6883600554611d2790919063ffffffff16565b600581905550600554600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a350505050565b600080424460405160200180838152602001828152602001925050506040516020818303038152906040528051906020012060001c9050609660c88281611f2657fe5b060190508091505090565b600080831415611f445760009050611f62565b6000828402905082848281611f5557fe5b0414611f5d57fe5b809150505b92915050565b600080828481611f7457fe5b049050809150509291505056fea165627a7a7230582048bbb199e8ae0f3a2fcb4845bd886a3a55a99befbfbd21fc3777e5c004be18ac0029

Deployed Bytecode Sourcemap

2317:7473:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2317:7473:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2747:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2036:82;;;:::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;2036:82:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4813:248;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4813:248:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3663:97;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4220:272;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4220:272:0;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4220:272:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4220:272:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4220:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4220:272:0;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;4220:272:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;4220:272:0;;;;;;101:9:-1;95:2;81:12;77:21;67:8;63:36;60:51;39:11;25:12;22:29;11:108;8:2;;;132:1;129;122:12;8:2;4220:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;4220:272:0;;;;;;;;;;;;;;;:::i;:::-;;4504:297;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4504:297:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2228:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5425:329;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5425:329:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6552:87;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6552:87:0;;;;;;;;;;;;;;;;;:::i;:::-;;3772:112;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3772:112:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6651:246;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6651:246:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2130:86;;;:::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;2130:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5766:339;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5766:339:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4055:153;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4055:153:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;5073:340;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5073:340:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21:11:-1;8;5:28;2:2;;;46:1;43;36:12;2:2;5073:340:0;;35:9:-1;28:4;12:14;8:25;5:40;2:2;;;58:1;55;48:12;2:2;5073:340:0;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;5073:340:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;5073:340:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2881:28;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3906:137;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3906:137:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9538:243;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9538:243:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;3400:251;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;3400:251:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;2747:34;;;;:::o;2036:82::-;2072:13;2105:5;2098:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2036:82;:::o;4813:248::-;4878:4;4928:1;4909:21;;:7;:21;;;;4901:30;;;;;;4974:5;4942:8;:20;4951:10;4942:20;;;;;;;;;;;;;;;:29;4963:7;4942:29;;;;;;;;;;;;;;;:37;;;;5016:7;4995:36;;5004:10;4995:36;;;5025:5;4995:36;;;;;;;;;;;;;;;;;;5049:4;5042:11;;4813:248;;;;:::o;3663:97::-;3707:7;3740:12;;3733:19;;3663:97;:::o;4220:272::-;4347:6;:13;4327:9;:16;:33;4319:42;;;;;;4376:9;4388:1;4376:13;;4372:112;4395:9;:16;4391:1;:20;4372:112;;;4431:53;4448:10;4460:9;4470:1;4460:12;;;;;;;;;;;;;;4474:6;4481:1;4474:9;;;;;;;;;;;;;;4431:16;:53::i;:::-;4413:3;;;;;;;4372:112;;;;4220:272;;:::o;4504:297::-;4583:4;4623:8;:14;4632:4;4623:14;;;;;;;;;;;;;;;:26;4638:10;4623:26;;;;;;;;;;;;;;;;4614:5;:35;;4606:44;;;;;;4690:37;4721:5;4690:8;:14;4699:4;4690:14;;;;;;;;;;;;;;;:26;4705:10;4690:26;;;;;;;;;;;;;;;;:30;;:37;;;;:::i;:::-;4661:8;:14;4670:4;4661:14;;;;;;;;;;;;;;;:26;4676:10;4661:26;;;;;;;;;;;;;;;:66;;;;4738:33;4755:4;4761:2;4765:5;4738:16;:33::i;:::-;4789:4;4782:11;;4504:297;;;;;:::o;2228:82::-;2268:5;2293:9;;;;;;;;;;;2286:16;;2228:82;:::o;5425:329::-;5505:4;5555:1;5536:21;;:7;:21;;;;5528:30;;;;;;5602:45;5636:10;5602:8;:20;5611:10;5602:20;;;;;;;;;;;;;;;:29;5623:7;5602:29;;;;;;;;;;;;;;;;:33;;:45;;;;:::i;:::-;5569:8;:20;5578:10;5569:20;;;;;;;;;;;;;;;:29;5590:7;5569:29;;;;;;;;;;;;;;;:79;;;;5685:7;5664:60;;5673:10;5664:60;;;5694:8;:20;5703:10;5694:20;;;;;;;;;;;;;;;:29;5715:7;5694:29;;;;;;;;;;;;;;;;5664:60;;;;;;;;;;;;;;;;;;5742:4;5735:11;;5425:329;;;;:::o;6552:87::-;6607:24;6613:10;6625:5;6607;:24::i;:::-;6552:87;:::o;3772:112::-;3827:7;3860:9;:16;3870:5;3860:16;;;;;;;;;;;;;;;;3853:23;;3772:112;;;:::o;6651:246::-;6744:8;:17;6753:7;6744:17;;;;;;;;;;;;;;;:29;6762:10;6744:29;;;;;;;;;;;;;;;;6735:5;:38;;6727:47;;;;;;6817:40;6851:5;6817:8;:17;6826:7;6817:17;;;;;;;;;;;;;;;:29;6835:10;6817:29;;;;;;;;;;;;;;;;:33;;:40;;;;:::i;:::-;6785:8;:17;6794:7;6785:17;;;;;;;;;;;;;;;:29;6803:10;6785:29;;;;;;;;;;;;;;;:72;;;;6868:21;6874:7;6883:5;6868;:21::i;:::-;6651:246;;:::o;2130:86::-;2168:13;2201:7;2194:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2130:86;:::o;5766:339::-;5851:4;5901:1;5882:21;;:7;:21;;;;5874:30;;;;;;5948:50;5982:15;5948:8;:20;5957:10;5948:20;;;;;;;;;;;;;;;:29;5969:7;5948:29;;;;;;;;;;;;;;;;:33;;:50;;;;:::i;:::-;5915:8;:20;5924:10;5915:20;;;;;;;;;;;;;;;:29;5936:7;5915:29;;;;;;;;;;;;;;;:84;;;;6036:7;6015:60;;6024:10;6015:60;;;6045:8;:20;6054:10;6045:20;;;;;;;;;;;;;;;:29;6066:7;6045:29;;;;;;;;;;;;;;;;6015:60;;;;;;;;;;;;;;;;;;6093:4;6086:11;;5766:339;;;;:::o;4055:153::-;4116:4;4139:39;4156:10;4168:2;4172:5;4139:16;:39::i;:::-;4196:4;4189:11;;4055:153;;;;:::o;5073:340::-;5162:12;5225:6;5193:8;:20;5202:10;5193:20;;;;;;;;;;;;;;;:29;5214:7;5193:29;;;;;;;;;;;;;;;:38;;;;5268:7;5247:37;;5256:10;5247:37;;;5277:6;5247:37;;;;;;;;;;;;;;;;;;5318:7;5295:47;;;5343:10;5355:6;5371:4;5378;5295:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;5295:88:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5295:88:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5295:88:0;;;;5401:4;5394:11;;5073:340;;;;;:::o;2881:28::-;;;;;;;;;;;;;:::o;3906:137::-;3978:7;4011:8;:15;4020:5;4011:15;;;;;;;;;;;;;;;:24;4027:7;4011:24;;;;;;;;;;;;;;;;4004:31;;3906:137;;;;:::o;9538:243::-;9650:13;;;;;;;;;;;9636:27;;:10;:27;;;9628:36;;;;;;9707:4;9683:29;;:12;:29;;;;9675:38;;;;;;9731:12;9724:29;;;9754:10;9766:6;9724:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9724:49:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9724:49:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9724:49:0;;;;;;;;;;;;;;;;;9538:243;;:::o;3400:251::-;3491:13;;;;;;;;;;;3477:27;;:10;:27;;;3469:36;;;;;;3544:1;3524:22;;:8;:22;;;;3516:31;;;;;;3599:8;3563:45;;3584:13;;;;;;;;;;;3563:45;;;;;;;;;;;;3635:8;3619:13;;:24;;;;;;;;;;;;;;;;;;3400:251;:::o;7981:1472::-;8089:9;:15;8099:4;8089:15;;;;;;;;;;;;;;;;8080:5;:24;;8072:33;;;;;;8138:1;8124:16;;:2;:16;;;;:39;;;;;8158:4;8144:19;;:2;:19;;;;8124:39;8116:48;;;;;;8181:25;8209:1;8181:29;;8215:19;8237:1;8215:23;;8349:5;8334:12;;:20;8331:370;;;8385:8;:6;:8::i;:::-;8365:28;;8650:39;8683:5;8650:28;8660:17;8650:5;:9;;:28;;;;:::i;:::-;:32;;:39;;;;:::i;:::-;8636:53;;8331:370;8725:26;8754:9;:15;8764:4;8754:15;;;;;;;;;;;;;;;;8725:44;;8780:23;8806:29;8829:5;8806:18;:22;;:29;;;;:::i;:::-;8780:55;;8864:22;8874:11;8864:5;:9;;:22;;;;:::i;:::-;8856:30;;8907:24;8934:9;:13;8944:2;8934:13;;;;;;;;;;;;;;;;8907:40;;8958:21;8982:27;9003:5;8982:16;:20;;:27;;;;:::i;:::-;8958:51;;9068:15;9050:9;:15;9060:4;9050:15;;;;;;;;;;;;;;;:33;;;;9110:13;9094:9;:13;9104:2;9094:13;;;;;;;;;;;;;;;:29;;;;9154:2;9139:25;;9148:4;9139:25;;;9158:5;9139:25;;;;;;;;;;;;;;;;;;9193:20;9216:11;9193:34;;9302:30;9319:12;9302;;:16;;:30;;;;:::i;:::-;9287:12;:45;;;;9367:12;;9349:15;:30;;;;9428:1;9399:46;;9408:10;9399:46;;;9432:12;9399:46;;;;;;;;;;;;;;;;;;7981:1472;;;;;;;;;;:::o;1234:129::-;1292:7;1330:1;1325;:6;;1318:14;;;;1354:1;1350;:5;1343:12;;1234:129;;;;:::o;1375:153::-;1433:7;1459:9;1475:1;1471;:5;1459:17;;1499:1;1494;:6;;1487:14;;;;1519:1;1512:8;;;1375:153;;;;:::o;6909:486::-;6999:1;6990:5;:10;;6982:19;;;;;;7029:9;:18;7039:7;7029:18;;;;;;;;;;;;;;;;7020:5;:27;;7012:36;;;;;;7069:21;7093:9;:18;7103:7;7093:18;;;;;;;;;;;;;;;;7069:42;;7122:18;7143:24;7161:5;7143:13;:17;;:24;;;;:::i;:::-;7122:45;;7209:10;7188:9;:18;7198:7;7188:18;;;;;;;;;;;;;;;:31;;;;7245:23;7262:5;7245:12;;:16;;:23;;;;:::i;:::-;7230:12;:38;;;;7303:12;;7285:15;:30;;;;7377:1;7351:36;;7360:7;7351:36;;;7381:5;7351:36;;;;;;;;;;;;;;;;;;6909:486;;;;:::o;7407:377::-;7447:7;7487:16;7542:15;7559:16;7525:51;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;7525:51:0;;;7515:62;;;;;;7507:71;;7487:91;;7704:3;7698;7688:8;:13;;;;;;:19;7677:30;;7759:8;7743:24;;;7407:377;:::o;858:224::-;916:7;951:1;946;:6;942:57;;;986:1;979:8;;;;942:57;1009:9;1025:1;1021;:5;1009:17;;1053:1;1048;1044;:5;;;;;;:10;1037:18;;;;1073:1;1066:8;;;858:224;;;;;:::o;1094:128::-;1152:7;1178:9;1194:1;1190;:5;;;;;;1178:17;;1213:1;1206:8;;;1094:128;;;;:::o

Swarm Source

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