ETH Price: $2,764.40 (+2.16%)

Token

Spank (SPNK)
 

Overview

Max Total Supply

200,312,311.12371244 SPNK

Holders

83

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Balance
0 SPNK

Value
$0.00
0x871472f682a72be20590691f049cbfee4c6248c3
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
SpankICO

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-09-27
*/

pragma solidity ^0.4.11;

/**
* @author Jefferson Davis
* Spank_ICO.sol creates the client's token for crowdsale and allows for subsequent token sales and minting of tokens
*   In addition, there is a quarterly dividend payout triggered by the owner, plus creates a transaction record prior to payout
*   Crowdsale contracts edited from original contract code at https://www.ethereum.org/crowdsale#crowdfund-your-idea
*   Additional crowdsale contracts, functions, libraries from OpenZeppelin
*       at https://github.com/OpenZeppelin/zeppelin-solidity/tree/master/contracts/token
*   Token contract edited from original contract code at https://www.ethereum.org/token
*   ERC20 interface and certain token functions adapted from https://github.com/ConsenSys/Tokens
**/

contract ERC20 {
	//Sets events and functions for ERC20 token
	event Approval(address indexed _owner, address indexed _spender, uint _value);
	event Transfer(address indexed _from, address indexed _to, uint _value);
	
    function allowance(address _owner, address _spender) constant returns (uint remaining);
	function approve(address _spender, uint _value) returns (bool success);
    function balanceOf(address _owner) constant returns (uint balance);
    function transfer(address _to, uint _value) returns (bool success);
    function transferFrom(address _from, address _to, uint _value) returns (bool success);
}


contract Owned {
	//Public variable
    address public owner;

	//Sets contract creator as the owner
    function Owned() {
        owner = msg.sender;
    }
	
	//Sets onlyOwner modifier for specified functions
    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }

	//Allows for transfer of contract ownership
    function transferOwnership(address newOwner) onlyOwner {
        owner = newOwner;
    }
}


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

    function div(uint256 a, uint256 b) internal returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function max64(uint64 a, uint64 b) internal constant returns (uint64) {
        return a >= b ? a : b;
    }

    function max256(uint256 a, uint256 b) internal constant returns (uint256) {
        return a >= b ? a : b;
    }

    function min64(uint64 a, uint64 b) internal constant returns (uint64) {
        return a < b ? a : b;
    }

    function min256(uint256 a, uint256 b) internal constant returns (uint256) {
        return a < b ? a : b;
    }
  
    function mul(uint256 a, uint256 b) internal returns (uint256) {
        uint256 c = a * b;
        assert(a == 0 || c / a == b);
        return c;
    }

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


contract Spank is ERC20, Owned {
     //Applies SafeMath library to uint256 operations 
    using SafeMath for uint256;

	//Public variables
	string public name; 
	string public symbol; 
	uint256 public decimals;  
    uint256 public initialSupply; 
	uint256 public totalSupply; 

    //Variables
    uint256 multiplier; 
	
	//Creates arrays for balances
    mapping (address => uint256) balance;
    mapping (address => mapping (address => uint256)) allowed;

    //Creates modifier to prevent short address attack
    modifier onlyPayloadSize(uint size) {
        if(msg.data.length < size + 4) revert();
        _;
    }

	//Constructor
	function Spank(string tokenName, string tokenSymbol, uint8 decimalUnits, uint256 decimalMultiplier, uint256 initialAmount) {
		name = tokenName; 
		symbol = tokenSymbol; 
		decimals = decimalUnits; 
        multiplier = decimalMultiplier; 
        initialSupply = initialAmount; 
		totalSupply = initialSupply;  
	}
	
	//Provides the remaining balance of approved tokens from function approve 
    function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
      return allowed[_owner][_spender];
    }

	//Allows for a certain amount of tokens to be spent on behalf of the account owner
    function approve(address _spender, uint256 _value) returns (bool success) { 
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

	//Returns the account balance 
    function balanceOf(address _owner) constant returns (uint256 remainingBalance) {
        return balance[_owner];
    }

    //Allows contract owner to mint new tokens, prevents numerical overflow
	function mintToken(address target, uint256 mintedAmount) onlyOwner returns (bool success) {
		require(mintedAmount > 0); 
        uint256 addTokens = mintedAmount; 
		balance[target] += addTokens;
		totalSupply += addTokens;
		Transfer(0, target, addTokens);
		return true; 
	}

	//Sends tokens from sender's account
    function transfer(address _to, uint256 _value) onlyPayloadSize(2 * 32) returns (bool success) {
        if ((balance[msg.sender] >= _value) && (balance[_to] + _value > balance[_to])) {
            balance[msg.sender] -= _value;
            balance[_to] += _value;
            Transfer(msg.sender, _to, _value);
            return true;
        } else { 
			return false; 
		}
    }
	
	//Transfers tokens from an approved account 
    function transferFrom(address _from, address _to, uint256 _value) onlyPayloadSize(3 * 32) returns (bool success) {
        if ((balance[_from] >= _value) && (allowed[_from][msg.sender] >= _value) && (balance[_to] + _value > balance[_to])) {
            balance[_to] += _value;
            balance[_from] -= _value;
            allowed[_from][msg.sender] -= _value;
            Transfer(_from, _to, _value);
            return true;
        } else { 
			return false; 
		}
    }
}


contract SpankICO is Owned, Spank {
    //Applies SafeMath library to uint256 operations 
    using SafeMath for uint256;

    //Public Variables
    address public multiSigWallet;                  
    uint256 public amountRaised; 
    uint256 public dividendPayment;
    uint256 public numberOfRecordEntries; 
    uint256 public numberOfTokenHolders; 
    uint256 public startTime; 
    uint256 public stopTime; 
    uint256 public hardcap; 
    uint256 public price;                            

    //Variables
    address[] recordTokenHolders; 
    address[] tokenHolders; 
    bool crowdsaleClosed = true; 
    mapping (address => uint256) recordBalance; 
    mapping (address => uint256) recordTokenHolderID;      
    mapping (address => uint256) tokenHolderID;               
    string tokenName = "Spank"; 
    string tokenSymbol = "SPNK"; 
    uint256 initialTokens = 20000000000000000; 
    uint256 multiplier = 100000000; 
    uint8 decimalUnits = 8;  

   	//Initializes the token
	function SpankICO() 
    	Spank(tokenName, tokenSymbol, decimalUnits, multiplier, initialTokens) {
            balance[msg.sender] = initialTokens;     
            Transfer(0, msg.sender, initialTokens);    
            multiSigWallet = msg.sender;        
            hardcap = 30000000000000000;    
            setPrice(3000); 
            dividendPayment = 50000000000000; 
            recordTokenHolders.length = 2; 
            tokenHolders.length = 2; 
            tokenHolders[1] = msg.sender; 
            numberOfTokenHolders++; 
    }

    //Fallback function creates tokens and sends to investor when crowdsale is open
    function () payable {
        require((!crowdsaleClosed) 
            && (now < stopTime) 
            && (totalSupply.add(msg.value.mul(getPrice()).mul(multiplier).div(1 ether)) <= hardcap)); 
        address recipient = msg.sender; 
        amountRaised = amountRaised.add(msg.value.div(1 ether)); 
        uint256 tokens = msg.value.mul(getPrice()).mul(multiplier).div(1 ether);
        totalSupply = totalSupply.add(tokens);
        balance[recipient] = balance[recipient].add(tokens);
        require(multiSigWallet.send(msg.value)); 
        Transfer(0, recipient, tokens);
        if (tokenHolderID[recipient] == 0) {
            addTokenHolder(recipient); 
        }
    }   

    //Adds an address to the recorrdEntry list
    function addRecordEntry(address account) internal {
        if (recordTokenHolderID[account] == 0) {
            recordTokenHolderID[account] = recordTokenHolders.length; 
            recordTokenHolders.length++; 
            recordTokenHolders[recordTokenHolders.length.sub(1)] = account; 
            numberOfRecordEntries++;
        }
    }

    //Adds an address to the tokenHolders list 
    function addTokenHolder(address account) returns (bool success) {
        bool status = false; 
        if (balance[account] != 0) {
            tokenHolderID[account] = tokenHolders.length;
            tokenHolders.length++;
            tokenHolders[tokenHolders.length.sub(1)] = account; 
            numberOfTokenHolders++;
            status = true; 
        }
        return status; 
    }  

    //Allows the owner to create an record of token owners and their balances
    function createRecord() internal {
        for (uint i = 0; i < (tokenHolders.length.sub(1)); i++ ) {
            address holder = getTokenHolder(i);
            uint256 holderBal = balanceOf(holder); 
            addRecordEntry(holder); 
            recordBalance[holder] = holderBal; 
        }
    }

    //Returns the current price of the token for the crowdsale
    function getPrice() returns (uint256 result) {
        return price;
    }

    //Returns record contents
    function getRecordBalance(address record) constant returns (uint256) {
        return recordBalance[record]; 
    }

    //Returns the address of a specific index value
    function getRecordHolder(uint256 index) constant returns (address) {
        return address(recordTokenHolders[index.add(1)]); 
    }

    //Returns time remaining on crowdsale
    function getRemainingTime() constant returns (uint256) {
        return stopTime; 
    }

    //Returns the address of a specific index value
	function getTokenHolder(uint256 index) constant returns (address) {
		return address(tokenHolders[index.add(1)]);
	}

    //Pays out dividends to tokens holders of record, based on 500,000 token payment
    function payOutDividend() onlyOwner returns (bool success) { 
        createRecord(); 
        uint256 volume = totalSupply; 
        for (uint i = 0; i < (tokenHolders.length.sub(1)); i++) {
            address payee = getTokenHolder(i); 
            uint256 stake = volume.div(dividendPayment.div(multiplier));    
            uint256 dividendPayout = balanceOf(payee).div(stake).mul(multiplier); 
            balance[payee] = balance[payee].add(dividendPayout);
            totalSupply = totalSupply.add(dividendPayout); 
            Transfer(0, payee, dividendPayout);
        }
        return true; 
    }

    //Sets the multisig wallet for a crowdsale
    function setMultiSigWallet(address wallet) onlyOwner returns (bool success) {
        multiSigWallet = wallet; 
        return true; 
    }

    //Sets the token price 
    function setPrice(uint256 newPriceperEther) onlyOwner returns (uint256) {
        require(newPriceperEther > 0); 
        price = newPriceperEther; 
        return price; 
    }

    //Allows owner to start the crowdsale from the time of execution until a specified stopTime
    function startSale(uint256 saleStart, uint256 saleStop) onlyOwner returns (bool success) {
        require(saleStop > now);     
        startTime = saleStart; 
        stopTime = saleStop; 
        crowdsaleClosed = false; 
        return true; 
    }

    //Allows owner to stop the crowdsale immediately
    function stopSale() onlyOwner returns (bool success) {
        stopTime = now; 
        crowdsaleClosed = true;
        return true; 
    }

}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"stopTime","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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"payOutDividend","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numberOfTokenHolders","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getRecordHolder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"record","type":"address"}],"name":"getRecordBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multiSigWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"remainingBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"}],"name":"mintToken","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amountRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numberOfRecordEntries","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPriceperEther","type":"uint256"}],"name":"setPrice","outputs":[{"name":"","type":"uint256"}],"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":"getPrice","outputs":[{"name":"result","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"dividendPayment","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"hardcap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"index","type":"uint256"}],"name":"getTokenHolder","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addTokenHolder","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopSale","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getRemainingTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"wallet","type":"address"}],"name":"setMultiSigWallet","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"saleStart","type":"uint256"},{"name":"saleStop","type":"uint256"}],"name":"startSale","outputs":[{"name":"success","type":"bool"}],"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":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"}]

60606040526001601460006101000a81548160ff0219169083151502179055506040805190810160405280600581526020017f5370616e6b000000000000000000000000000000000000000000000000000000815250601890805190602001906200006c92919062000517565b506040805190810160405280600481526020017f53504e4b0000000000000000000000000000000000000000000000000000000081525060199080519060200190620000ba92919062000517565b5066470de4df820000601a556305f5e100601b556008601c60006101000a81548160ff021916908360ff1602179055503415620000f657600080fd5b5b60188054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620001915780601f10620001655761010080835404028352916020019162000191565b820191906000526020600020905b8154815290600101906020018083116200017357829003601f168201915b505050505060198054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015620002305780601f10620002045761010080835404028352916020019162000230565b820191906000526020600020905b8154815290600101906020018083116200021257829003601f168201915b5050505050601c60009054906101000a900460ff16601b54601a545b5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b8460019080519060200190620002a692919062000517565b508360029080519060200190620002bf92919062000517565b508260ff1660038190555081600681905550806004819055506004546005819055505b5050505050601a54600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef601a546040518082815260200191505060405180910390a333600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550666a94d74f430000601081905550620003ef610bb8620004966401000000000262001860176401000000009004565b50652d79883d2000600b8190555060026012816200040e91906200059e565b5060026013816200042091906200059e565b5033601360018154811015156200043357fe5b906000526020600020900160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d600081548092919060010191905055505b620005f5565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515620004f457600080fd5b6000821115156200050457600080fd5b8160118190555060115490505b5b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200055a57805160ff19168380011785556200058b565b828001600101855582156200058b579182015b828111156200058a5782518255916020019190600101906200056d565b5b5090506200059a9190620005cd565b5090565b815481835581811511620005c857818360005260206000209182019101620005c79190620005cd565b5b505050565b620005f291905b80821115620005ee576000816000905550600101620005d4565b5090565b90565b61215780620006056000396000f3006060604052361561019f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ff5e731461047157806306fdde031461049a578063095ea7b3146105295780630b5982f014610583578063178ef307146105b057806318160ddd146105d95780631e27ae4d1461060257806323b872dd14610665578063268b0459146106de578063313ce5671461072b578063378dc3dc146107545780634b8feb4f1461077d57806370a08231146107d257806378e979251461081f57806379c65068146108485780637b3e5e7b146108a25780638da5cb5b146108cb578063908ccc5e1461092057806391b7f5ed1461094957806395d89b411461098057806398d5fdca14610a0f578063a035b1fe14610a38578063a9059cbb14610a61578063ab74731d14610abb578063b071cbe614610ae4578063ca55954c14610b0d578063da49808414610b70578063dd62ed3e14610bc1578063e36b0b3714610c2d578063efb98bcf14610c5a578063f03b0c0b14610c83578063f2fde38b14610cd4578063f4f3122e14610d0d575b5b600080601460009054906101000a900460ff161580156101c15750600f5442105b801561022a5750601054610227610216670de0b6b3a7640000610208601b546101fa6101eb610d51565b34610d5c90919063ffffffff16565b610d5c90919063ffffffff16565b610d9090919063ffffffff16565b600554610dac90919063ffffffff16565b11155b151561023557600080fd5b339150610267610256670de0b6b3a764000034610d9090919063ffffffff16565b600a54610dac90919063ffffffff16565b600a819055506102b5670de0b6b3a76400006102a7601b5461029961028a610d51565b34610d5c90919063ffffffff16565b610d5c90919063ffffffff16565b610d9090919063ffffffff16565b90506102cc81600554610dac90919063ffffffff16565b60058190555061032481600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dac90919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156103c957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561046c5761046a82610dcb565b505b5b5050005b341561047c57600080fd5b610484610f0c565b6040518082815260200191505060405180910390f35b34156104a557600080fd5b6104ad610f12565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ee5780820151818401525b6020810190506104d2565b50505050905090810190601f16801561051b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053457600080fd5b610569600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb0565b604051808215151515815260200191505060405180910390f35b341561058e57600080fd5b6105966110a3565b604051808215151515815260200191505060405180910390f35b34156105bb57600080fd5b6105c36112bc565b6040518082815260200191505060405180910390f35b34156105e457600080fd5b6105ec6112c2565b6040518082815260200191505060405180910390f35b341561060d57600080fd5b61062360048080359060200190919050506112c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067057600080fd5b6106c4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611321565b604051808215151515815260200191505060405180910390f35b34156106e957600080fd5b610715600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611639565b6040518082815260200191505060405180910390f35b341561073657600080fd5b61073e611683565b6040518082815260200191505060405180910390f35b341561075f57600080fd5b610767611689565b6040518082815260200191505060405180910390f35b341561078857600080fd5b61079061168f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107dd57600080fd5b610809600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116b5565b6040518082815260200191505060405180910390f35b341561082a57600080fd5b6108326116ff565b6040518082815260200191505060405180910390f35b341561085357600080fd5b610888600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611705565b604051808215151515815260200191505060405180910390f35b34156108ad57600080fd5b6108b561182f565b6040518082815260200191505060405180910390f35b34156108d657600080fd5b6108de611835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092b57600080fd5b61093361185a565b6040518082815260200191505060405180910390f35b341561095457600080fd5b61096a6004808035906020019091905050611860565b6040518082815260200191505060405180910390f35b341561098b57600080fd5b6109936118df565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109d45780820151818401525b6020810190506109b8565b50505050905090810190601f168015610a015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a1a57600080fd5b610a22610d51565b6040518082815260200191505060405180910390f35b3415610a4357600080fd5b610a4b61197d565b6040518082815260200191505060405180910390f35b3415610a6c57600080fd5b610aa1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611983565b604051808215151515815260200191505060405180910390f35b3415610ac657600080fd5b610ace611b88565b6040518082815260200191505060405180910390f35b3415610aef57600080fd5b610af7611b8e565b6040518082815260200191505060405180910390f35b3415610b1857600080fd5b610b2e6004808035906020019091905050611b94565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b7b57600080fd5b610ba7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dcb565b604051808215151515815260200191505060405180910390f35b3415610bcc57600080fd5b610c17600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611bed565b6040518082815260200191505060405180910390f35b3415610c3857600080fd5b610c40611c75565b604051808215151515815260200191505060405180910390f35b3415610c6557600080fd5b610c6d611cfd565b6040518082815260200191505060405180910390f35b3415610c8e57600080fd5b610cba600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d08565b604051808215151515815260200191505060405180910390f35b3415610cdf57600080fd5b610d0b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611db1565b005b3415610d1857600080fd5b610d376004808035906020019091908035906020019091905050611e51565b604051808215151515815260200191505060405180910390f35b600060115490505b90565b60008082840290506000841480610d7d5750828482811515610d7a57fe5b04145b1515610d8557fe5b8091505b5092915050565b6000808284811515610d9e57fe5b0490508091505b5092915050565b6000808284019050838110151515610dc057fe5b8091505b5092915050565b600080600090506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610f0257601380549050601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060138054809190600101610e7891906120da565b50826013610e956001601380549050611ef190919063ffffffff16565b815481101515610ea157fe5b906000526020600020900160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60008154809291906001019190505550600190505b8091505b50919050565b600f5481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa85780601f10610f7d57610100808354040283529160200191610fa8565b820191906000526020600020905b815481529060010190602001808311610f8b57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561110757600080fd5b61110f611f0b565b6005549450600093505b6111326001601380549050611ef190919063ffffffff16565b8410156112ae5761114284611b94565b925061116d61115e601b54600b54610d9090919063ffffffff16565b86610d9090919063ffffffff16565b915061119e601b5461119084611182876116b5565b610d9090919063ffffffff16565b610d5c90919063ffffffff16565b90506111f281600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dac90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124a81600554610dac90919063ffffffff16565b6005819055508273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b8380600101945050611119565b600195505b5b505050505090565b600d5481565b60055481565b600060126112e0600184610dac90919063ffffffff16565b8154811015156112ec57fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b60006060600481016000369050101561133957600080fd5b82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611404575082600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561148f5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156116265782600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150611630565b60009150611630565b5b5b509392505050565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60035481565b60045481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600e5481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561176357600080fd5b60008311151561177257600080fd5b82905080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806005600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600191505b5b5092915050565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118bd57600080fd5b6000821115156118cc57600080fd5b8160118190555060115490505b5b919050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119755780601f1061194a57610100808354040283529160200191611975565b820191906000526020600020905b81548152906001019060200180831161195857829003601f168201915b505050505081565b60115481565b60006040600481016000369050101561199b57600080fd5b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611a695750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611b765782600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150611b80565b60009150611b80565b5b5b5092915050565b600b5481565b60105481565b60006013611bac600184610dac90919063ffffffff16565b815481101515611bb857fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd257600080fd5b42600f819055506001601460006101000a81548160ff021916908315150217905550600190505b5b90565b6000600f5490505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d6557600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b5b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0c57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eae57600080fd5b4282111515611ebc57600080fd5b82600e8190555081600f819055506000601460006101000a81548160ff021916908315150217905550600190505b5b92915050565b6000828211151515611eff57fe5b81830390505b92915050565b60008060008092505b611f2d6001601380549050611ef190919063ffffffff16565b831015611fa557611f3d83611b94565b9150611f48826116b5565b9050611f5382611fab565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8280600101935050611f14565b5b505050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156120d657601280549050601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506012805480919060010161205091906120da565b5080601261206d6001601280549050611ef190919063ffffffff16565b81548110151561207957fe5b906000526020600020900160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c600081548092919060010191905055505b5b50565b815481835581811511612101578183600052602060002091820191016121009190612106565b5b505050565b61212891905b8082111561212457600081600090555060010161210c565b5090565b905600a165627a7a7230582046bf281e1dbbce574a311f9d05f0fe09bfdab48a4b56478c0f3a79b6f14c06780029

Deployed Bytecode

0x6060604052361561019f576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806303ff5e731461047157806306fdde031461049a578063095ea7b3146105295780630b5982f014610583578063178ef307146105b057806318160ddd146105d95780631e27ae4d1461060257806323b872dd14610665578063268b0459146106de578063313ce5671461072b578063378dc3dc146107545780634b8feb4f1461077d57806370a08231146107d257806378e979251461081f57806379c65068146108485780637b3e5e7b146108a25780638da5cb5b146108cb578063908ccc5e1461092057806391b7f5ed1461094957806395d89b411461098057806398d5fdca14610a0f578063a035b1fe14610a38578063a9059cbb14610a61578063ab74731d14610abb578063b071cbe614610ae4578063ca55954c14610b0d578063da49808414610b70578063dd62ed3e14610bc1578063e36b0b3714610c2d578063efb98bcf14610c5a578063f03b0c0b14610c83578063f2fde38b14610cd4578063f4f3122e14610d0d575b5b600080601460009054906101000a900460ff161580156101c15750600f5442105b801561022a5750601054610227610216670de0b6b3a7640000610208601b546101fa6101eb610d51565b34610d5c90919063ffffffff16565b610d5c90919063ffffffff16565b610d9090919063ffffffff16565b600554610dac90919063ffffffff16565b11155b151561023557600080fd5b339150610267610256670de0b6b3a764000034610d9090919063ffffffff16565b600a54610dac90919063ffffffff16565b600a819055506102b5670de0b6b3a76400006102a7601b5461029961028a610d51565b34610d5c90919063ffffffff16565b610d5c90919063ffffffff16565b610d9090919063ffffffff16565b90506102cc81600554610dac90919063ffffffff16565b60058190555061032481600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dac90919063ffffffff16565b600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505015156103c957600080fd5b8173ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a36000601760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141561046c5761046a82610dcb565b505b5b5050005b341561047c57600080fd5b610484610f0c565b6040518082815260200191505060405180910390f35b34156104a557600080fd5b6104ad610f12565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104ee5780820151818401525b6020810190506104d2565b50505050905090810190601f16801561051b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053457600080fd5b610569600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610fb0565b604051808215151515815260200191505060405180910390f35b341561058e57600080fd5b6105966110a3565b604051808215151515815260200191505060405180910390f35b34156105bb57600080fd5b6105c36112bc565b6040518082815260200191505060405180910390f35b34156105e457600080fd5b6105ec6112c2565b6040518082815260200191505060405180910390f35b341561060d57600080fd5b61062360048080359060200190919050506112c8565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561067057600080fd5b6106c4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611321565b604051808215151515815260200191505060405180910390f35b34156106e957600080fd5b610715600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611639565b6040518082815260200191505060405180910390f35b341561073657600080fd5b61073e611683565b6040518082815260200191505060405180910390f35b341561075f57600080fd5b610767611689565b6040518082815260200191505060405180910390f35b341561078857600080fd5b61079061168f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156107dd57600080fd5b610809600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506116b5565b6040518082815260200191505060405180910390f35b341561082a57600080fd5b6108326116ff565b6040518082815260200191505060405180910390f35b341561085357600080fd5b610888600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611705565b604051808215151515815260200191505060405180910390f35b34156108ad57600080fd5b6108b561182f565b6040518082815260200191505060405180910390f35b34156108d657600080fd5b6108de611835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561092b57600080fd5b61093361185a565b6040518082815260200191505060405180910390f35b341561095457600080fd5b61096a6004808035906020019091905050611860565b6040518082815260200191505060405180910390f35b341561098b57600080fd5b6109936118df565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156109d45780820151818401525b6020810190506109b8565b50505050905090810190601f168015610a015780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415610a1a57600080fd5b610a22610d51565b6040518082815260200191505060405180910390f35b3415610a4357600080fd5b610a4b61197d565b6040518082815260200191505060405180910390f35b3415610a6c57600080fd5b610aa1600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611983565b604051808215151515815260200191505060405180910390f35b3415610ac657600080fd5b610ace611b88565b6040518082815260200191505060405180910390f35b3415610aef57600080fd5b610af7611b8e565b6040518082815260200191505060405180910390f35b3415610b1857600080fd5b610b2e6004808035906020019091905050611b94565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b7b57600080fd5b610ba7600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610dcb565b604051808215151515815260200191505060405180910390f35b3415610bcc57600080fd5b610c17600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611bed565b6040518082815260200191505060405180910390f35b3415610c3857600080fd5b610c40611c75565b604051808215151515815260200191505060405180910390f35b3415610c6557600080fd5b610c6d611cfd565b6040518082815260200191505060405180910390f35b3415610c8e57600080fd5b610cba600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611d08565b604051808215151515815260200191505060405180910390f35b3415610cdf57600080fd5b610d0b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611db1565b005b3415610d1857600080fd5b610d376004808035906020019091908035906020019091905050611e51565b604051808215151515815260200191505060405180910390f35b600060115490505b90565b60008082840290506000841480610d7d5750828482811515610d7a57fe5b04145b1515610d8557fe5b8091505b5092915050565b6000808284811515610d9e57fe5b0490508091505b5092915050565b6000808284019050838110151515610dc057fe5b8091505b5092915050565b600080600090506000600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054141515610f0257601380549050601760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060138054809190600101610e7891906120da565b50826013610e956001601380549050611ef190919063ffffffff16565b815481101515610ea157fe5b906000526020600020900160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60008154809291906001019190505550600190505b8091505b50919050565b600f5481565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610fa85780601f10610f7d57610100808354040283529160200191610fa8565b820191906000526020600020905b815481529060010190602001808311610f8b57829003601f168201915b505050505081565b600081600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a3600190505b92915050565b6000806000806000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561110757600080fd5b61110f611f0b565b6005549450600093505b6111326001601380549050611ef190919063ffffffff16565b8410156112ae5761114284611b94565b925061116d61115e601b54600b54610d9090919063ffffffff16565b86610d9090919063ffffffff16565b915061119e601b5461119084611182876116b5565b610d9090919063ffffffff16565b610d5c90919063ffffffff16565b90506111f281600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dac90919063ffffffff16565b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061124a81600554610dac90919063ffffffff16565b6005819055508273ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a35b8380600101945050611119565b600195505b5b505050505090565b600d5481565b60055481565b600060126112e0600184610dac90919063ffffffff16565b8154811015156112ec57fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b60006060600481016000369050101561133957600080fd5b82600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611404575082600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b801561148f5750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b156116265782600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150611630565b60009150611630565b5b5b509392505050565b6000601560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b60035481565b60045481565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b919050565b600e5481565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561176357600080fd5b60008311151561177257600080fd5b82905080600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550806005600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff1660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040518082815260200191505060405180910390a3600191505b5b5092915050565b600a5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118bd57600080fd5b6000821115156118cc57600080fd5b8160118190555060115490505b5b919050565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156119755780601f1061194a57610100808354040283529160200191611975565b820191906000526020600020905b81548152906001019060200180831161195857829003601f168201915b505050505081565b60115481565b60006040600481016000369050101561199b57600080fd5b82600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611a695750600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205401115b15611b765782600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600760008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150611b80565b60009150611b80565b5b5b5092915050565b600b5481565b60105481565b60006013611bac600184610dac90919063ffffffff16565b815481101515611bb857fe5b906000526020600020900160005b9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b919050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490505b92915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611cd257600080fd5b42600f819055506001601460006101000a81548160ff021916908315150217905550600190505b5b90565b6000600f5490505b90565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d6557600080fd5b81600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600190505b5b919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e0c57600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611eae57600080fd5b4282111515611ebc57600080fd5b82600e8190555081600f819055506000601460006101000a81548160ff021916908315150217905550600190505b5b92915050565b6000828211151515611eff57fe5b81830390505b92915050565b60008060008092505b611f2d6001601380549050611ef190919063ffffffff16565b831015611fa557611f3d83611b94565b9150611f48826116b5565b9050611f5382611fab565b80601560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8280600101935050611f14565b5b505050565b6000601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414156120d657601280549050601660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506012805480919060010161205091906120da565b5080601261206d6001601280549050611ef190919063ffffffff16565b81548110151561207957fe5b906000526020600020900160005b6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600c600081548092919060010191905055505b5b50565b815481835581811511612101578183600052602060002091820191016121009190612106565b5b505050565b61212891905b8082111561212457600081600090555060010161210c565b5090565b905600a165627a7a7230582046bf281e1dbbce574a311f9d05f0fe09bfdab48a4b56478c0f3a79b6f14c06780029

Swarm Source

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