ETH Price: $3,008.85 (-0.02%)
 

Overview

ETH Balance

0.067763424 ETH

Eth Value

$203.89 (@ $3,008.85/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer232825342025-09-03 12:17:59110 days ago1756901879IN
0x7Ed17253...45f4108B4
0 ETH0.000028370.45230392
Transfer182045982023-09-24 8:55:11820 days ago1695545711IN
0x7Ed17253...45f4108B4
0 ETH0.000410686.8789919
Transfer179497522023-08-19 15:36:35856 days ago1692459395IN
0x7Ed17253...45f4108B4
0 ETH0.0009638816.1483872
Transfer179497402023-08-19 15:33:59856 days ago1692459239IN
0x7Ed17253...45f4108B4
0 ETH0.0008928916.26371768
Transfer178570162023-08-06 16:09:59869 days ago1691338199IN
0x7Ed17253...45f4108B4
0 ETH0.0012631121.15728314
Transfer177894292023-07-28 5:20:35878 days ago1690521635IN
0x7Ed17253...45f4108B4
0 ETH0.001031117.27107612
Transfer129188512021-07-29 5:19:191607 days ago1627535959IN
0x7Ed17253...45f4108B4
0 ETH0.000680523
Transfer123050012021-04-24 20:06:261703 days ago1619294786IN
0x7Ed17253...45f4108B4
0 ETH0.0029838550
Transfer121132472021-03-26 7:24:591732 days ago1616743499IN
0x7Ed17253...45f4108B4
0 ETH0.00472472113.3000016
Approve113044962020-11-21 23:25:321857 days ago1606001132IN
0x7Ed17253...45f4108B4
0 ETH0.0019370544.00000023
Approve111807602020-11-02 23:53:311876 days ago1604361211IN
0x7Ed17253...45f4108B4
0 ETH0.000748417
Approve110904672020-10-20 3:09:511889 days ago1603163391IN
0x7Ed17253...45f4108B4
0 ETH0.0013075129.7
Approve110404602020-10-12 11:23:021897 days ago1602501782IN
0x7Ed17253...45f4108B4
0 ETH0.00964125219
Approve105818792020-08-02 18:06:211968 days ago1596391581IN
0x7Ed17253...45f4108B4
0 ETH0.0028307464.30000123
Transfer104551672020-07-14 3:07:571987 days ago1594696077IN
0x7Ed17253...45f4108B4
0 ETH0.0017010330.00000145
Transfer103368172020-06-25 19:21:072006 days ago1593112867IN
0x7Ed17253...45f4108B4
0 ETH0.0013344332
Transfer100524152020-05-12 16:25:252050 days ago1589300725IN
0x7Ed17253...45f4108B4
0 ETH0.0017573531.00000123
Transfer94062182020-02-03 0:08:242150 days ago1580688504IN
0x7Ed17253...45f4108B4
0 ETH0.000021931
Transfer93054322020-01-18 13:14:312165 days ago1579353271IN
0x7Ed17253...45f4108B4
0 ETH0.000082773.1
Transfer93054302020-01-18 13:13:232165 days ago1579353203IN
0x7Ed17253...45f4108B4
0 ETH0.000082773.1
Transfer93054272020-01-18 13:12:532165 days ago1579353173IN
0x7Ed17253...45f4108B4
0 ETH0.00025026
Transfer87536762019-10-16 17:59:432259 days ago1571248783IN
0x7Ed17253...45f4108B4
0 ETH0.0009704623.69
Transfer83953162019-08-21 18:37:562315 days ago1566412676IN
0x7Ed17253...45f4108B4
0 ETH0.000043472.07
Transfer83743612019-08-18 12:24:362318 days ago1566131076IN
0x7Ed17253...45f4108B4
0 ETH0.000023461.1
Transfer82206872019-07-25 15:56:062342 days ago1564070166IN
0x7Ed17253...45f4108B4
0 ETH0.0011180220
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer58176942018-06-19 16:20:112743 days ago1529425211
0x7Ed17253...45f4108B4
0.0011 ETH
Transfer58152692018-06-19 6:25:122743 days ago1529389512
0x7Ed17253...45f4108B4
0.0011 ETH
Transfer58103092018-06-18 10:20:222744 days ago1529317222
0x7Ed17253...45f4108B4
0.003 ETH
Transfer57998582018-06-16 15:56:152746 days ago1529164575
0x7Ed17253...45f4108B4
0.003 ETH
Transfer57979652018-06-16 8:15:292746 days ago1529136929
0x7Ed17253...45f4108B4
0.01 ETH
Transfer57971752018-06-16 4:57:352746 days ago1529125055
0x7Ed17253...45f4108B4
0.0012 ETH
Transfer57963572018-06-16 1:37:002747 days ago1529113020
0x7Ed17253...45f4108B4
0.0011 ETH
Transfer57947842018-06-15 19:10:252747 days ago1529089825
0x7Ed17253...45f4108B4
0.0011 ETH
Transfer57946842018-06-15 18:46:532747 days ago1529088413
0x7Ed17253...45f4108B4
0.002 ETH
Transfer57914322018-06-15 5:13:242747 days ago1529039604
0x7Ed17253...45f4108B4
0.01 ETH
Transfer57878772018-06-14 14:32:422748 days ago1528986762
0x7Ed17253...45f4108B4
0.5 ETH
Transfer57877412018-06-14 13:57:512748 days ago1528984671
0x7Ed17253...45f4108B4
0.002 ETH
Transfer57864592018-06-14 8:33:272748 days ago1528965207
0x7Ed17253...45f4108B4
0.01 ETH
Transfer57864092018-06-14 8:19:532748 days ago1528964393
0x7Ed17253...45f4108B4
0.01 ETH
Transfer57858422018-06-14 5:59:402748 days ago1528955980
0x7Ed17253...45f4108B4
0.004 ETH
Transfer57858262018-06-14 5:55:252748 days ago1528955725
0x7Ed17253...45f4108B4
0.002 ETH
Transfer57858152018-06-14 5:52:122748 days ago1528955532
0x7Ed17253...45f4108B4
0.1 ETH
Transfer57857982018-06-14 5:46:222748 days ago1528955182
0x7Ed17253...45f4108B4
0.002 ETH
Transfer57857862018-06-14 5:42:332748 days ago1528954953
0x7Ed17253...45f4108B4
0.01 ETH
Transfer57855912018-06-14 4:54:232748 days ago1528952063
0x7Ed17253...45f4108B4
0.1 ETH
Transfer57855732018-06-14 4:50:002748 days ago1528951800
0x7Ed17253...45f4108B4
0.002 ETH
Transfer57852422018-06-14 3:26:422748 days ago1528946802
0x7Ed17253...45f4108B4
0.01 ETH
Transfer57852332018-06-14 3:24:402748 days ago1528946680
0x7Ed17253...45f4108B4
0.9 ETH
Transfer57849622018-06-14 2:19:422749 days ago1528942782
0x7Ed17253...45f4108B4
2 ETH
Transfer57832782018-06-13 19:27:372749 days ago1528918057
0x7Ed17253...45f4108B4
0.96 ETH
View All Internal Transactions
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Hadescoin

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-05-27
*/

pragma solidity ^0.4.20;

/*   HadesCoin go to the moon
 *  
 *  $$    $$   $$$$$$   $$$$$$$$   $$$$$$$$$   $$$$$$$$  
 *  $$    $$  $$    $$  $$     $$  $$          $$  
 *  $$    $$  $$    $$  $$     $$  $$          $$   
 *  $$$$$$$$  $$$$$$$$  $$     $$  $$$$$$$$$   $$$$$$$$  
 *  $$    $$  $$    $$  $$     $$  $$                $$  
 *  $$    $$  $$    $$  $$     $$  $$                $$  
 *  $$    $$  $$    $$  $$$$$$$$   $$$$$$$$$   $$$$$$$$   
 */


/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */

library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || 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;
  }
}


/**
 *      ERC223 contract interface with ERC20 functions and events
 *      Fully backward compatible with ERC20
 *      Recommended implementation used at https://github.com/Dexaran/ERC223-token-standard/tree/Recommended
 */
contract ERC223 {
    function balanceOf(address who) public view returns (uint);

    function name() public view returns (string _name);
    function symbol() public view returns (string _symbol);
    function decimals() public view returns (uint8 _decimals);
    function totalSupply() public view returns (uint256 _supply);

    function transfer(address to, uint value) public returns (bool ok);
    function transfer(address to, uint value, bytes data) public returns (bool ok);
    function transfer(address to, uint value, bytes data, string custom_fallback) public returns (bool ok);

    event Transfer(address indexed from, address indexed to, uint value, bytes indexed data);
    event Transfer(address indexed _from, address indexed _to, uint256 _value);
    event Approval(address indexed _owner, address indexed _spender, uint256 _value);
    event Burn(address indexed burner, uint256 value);
}


contract ContractReceiver {
     
    struct TKN {
        address sender;
        uint value;
        bytes data;
        bytes4 sig;
    }
    
    
    function tokenFallback(address _from, uint _value, bytes _data) public pure {
      TKN memory tkn;
      tkn.sender = _from;
      tkn.value = _value;
      tkn.data = _data;
      uint32 u = uint32(_data[3]) + (uint32(_data[2]) << 8) + (uint32(_data[1]) << 16) + (uint32(_data[0]) << 24);
      tkn.sig = bytes4(u);
      
      /* tkn variable is analogue of msg variable of Ether transaction
      *  tkn.sender is person who initiated this token transaction   (analogue of msg.sender)
      *  tkn.value the number of tokens that were sent   (analogue of msg.value)
      *  tkn.data is data of token transaction   (analogue of msg.data)
      *  tkn.sig is 4 bytes signature of function
      *  if data of token transaction is a function execution
      */
    }
}

contract ForeignToken {
    function balanceOf(address _owner) constant public returns (uint256);
    function transfer(address _to, uint256 _value) public returns (bool);
}



contract Hadescoin is ERC223  {
    
    using SafeMath for uint256;
    using SafeMath for uint;
    address public owner = msg.sender;

    mapping (address => uint256) balances;
    mapping (address => mapping (address => uint256)) allowed;
    mapping (address => bool) public blacklist;
    mapping (address => uint) public increase;
    mapping (address => uint256) public unlockUnixTime;
    uint  public maxIncrease=20;
    address public target;
    string internal name_= "HadesCoin";
    string internal symbol_ = "HAC";
    uint8 internal decimals_= 18;
    uint256 internal totalSupply_= 2000000000e18;
    uint256 public toGiveBase = 5000e18;
    uint256 public increaseBase = 500e18;


    uint256 public OfficalHold = totalSupply_.mul(18).div(100);
    uint256 public totalRemaining = totalSupply_;
    uint256 public totalDistributed = 0;
    bool public canTransfer = true;
    uint256 public etherGetBase=5000000;



    bool public distributionFinished = false;
    bool public finishFreeGetToken = false;
    bool public finishEthGetToken = false;    
    modifier canDistr() {
        require(!distributionFinished);
        _;
    }
    
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }
    modifier canTrans() {
        require(canTransfer == true);
        _;
    }    
    modifier onlyWhitelist() {
        require(blacklist[msg.sender] == false);
        _;
    }
    
    function Hadescoin (address _target) public {
        owner = msg.sender;
        target = _target;
        distr(target, OfficalHold);
    }

    // Function to access name of token .
    function name() public view returns (string _name) {
      return name_;
    }
    // Function to access symbol of token .
    function symbol() public view returns (string _symbol) {
      return symbol_;
    }
    // Function to access decimals of token .
    function decimals() public view returns (uint8 _decimals) {
      return decimals_;
    }
    // Function to access total supply of tokens .
    function totalSupply() public view returns (uint256 _totalSupply) {
      return totalSupply_;
    }


    // Function that is called when a user or another contract wants to transfer funds .
    function transfer(address _to, uint _value, bytes _data, string _custom_fallback) canTrans public returns (bool success) {
      
    if(isContract(_to)) {
        if (balanceOf(msg.sender) < _value) revert();
        balances[msg.sender] = balances[msg.sender].sub(_value);
        balances[_to] = balances[_to].add(_value);
        assert(_to.call.value(0)(bytes4(keccak256(_custom_fallback)), msg.sender, _value, _data));
        Transfer(msg.sender, _to, _value, _data);
        Transfer(msg.sender, _to, _value);
        return true;
    }
    else {
        return transferToAddress(_to, _value, _data);
    }
    }


    // Function that is called when a user or another contract wants to transfer funds .
    function transfer(address _to, uint _value, bytes _data) canTrans public returns (bool success) {
      
    if(isContract(_to)) {
        return transferToContract(_to, _value, _data);
    }
    else {
        return transferToAddress(_to, _value, _data);
    }
    }

    // Standard function transfer similar to ERC20 transfer with no _data .
    // Added due to backwards compatibility reasons .
    function transfer(address _to, uint _value) canTrans public returns (bool success) {
      
    //standard function transfer similar to ERC20 transfer with no _data
    //added due to backwards compatibility reasons
    bytes memory empty;
    if(isContract(_to)) {
        return transferToContract(_to, _value, empty);
    }
    else {
        return transferToAddress(_to, _value, empty);
    }
    }

    //assemble the given address bytecode. If bytecode exists then the _addr is a contract.
    function isContract(address _addr) private view returns (bool is_contract) {
      uint length;
      assembly {
            //retrieve the size of the code on target address, this needs assembly
            length := extcodesize(_addr)
      }
      return (length>0);
    }

    //function that is called when transaction target is an address
    function transferToAddress(address _to, uint _value, bytes _data) private returns (bool success) {
    if (balanceOf(msg.sender) < _value) revert();
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value, _data);
    Transfer(msg.sender, _to, _value);
    return true;
    }

    //function that is called when transaction target is a contract
    function transferToContract(address _to, uint _value, bytes _data) private returns (bool success) {
    if (balanceOf(msg.sender) < _value) revert();
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    ContractReceiver receiver = ContractReceiver(_to);
    receiver.tokenFallback(msg.sender, _value, _data);
    Transfer(msg.sender, _to, _value, _data);
    Transfer(msg.sender, _to, _value);
    return true;
    }


    function balanceOf(address _owner) public view returns (uint balance) {
    return balances[_owner];
    }

    
    function changeOwner(address newOwner) onlyOwner public {
        if (newOwner != address(0)) {
            owner = newOwner;
        }
      }

    
    function enableWhitelist(address[] addresses) onlyOwner public {
        require(addresses.length <= 255);
        for (uint8 i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = false;
        }
    }

    function disableWhitelist(address[] addresses) onlyOwner public {
        require(addresses.length <= 255);
        for (uint8 i = 0; i < addresses.length; i++) {
            blacklist[addresses[i]] = true;
        }
    }
    function changeIncrease(address[] addresses, uint256[] _amount) onlyOwner public {
        require(addresses.length <= 255);
        for (uint8 i = 0; i < addresses.length; i++) {
            require(_amount[i] <= maxIncrease);
            increase[addresses[i]] = _amount[i];
        }
    }
    function finishDistribution() onlyOwner canDistr public returns (bool) {
        distributionFinished = true;
        return true;
    }
    function startDistribution() onlyOwner  public returns (bool) {
        distributionFinished = false;
        return true;
    }
    function finishFreeGet() onlyOwner canDistr public returns (bool) {
        finishFreeGetToken = true;
        return true;
    }
    function finishEthGet() onlyOwner canDistr public returns (bool) {
        finishEthGetToken = true;
        return true;
    }
    function startFreeGet() onlyOwner canDistr public returns (bool) {
        finishFreeGetToken = false;
        return true;
    }
    function startEthGet() onlyOwner canDistr public returns (bool) {
        finishEthGetToken = false;
        return true;
    }
    function startTransfer() onlyOwner  public returns (bool) {
        canTransfer = true;
        return true;
    }
    function stopTransfer() onlyOwner  public returns (bool) {
        canTransfer = false;
        return true;
    }
    function changeBaseValue(uint256 _toGiveBase,uint256 _increaseBase,uint256 _etherGetBase,uint _maxIncrease) onlyOwner public returns (bool) {
        toGiveBase = _toGiveBase;
        increaseBase = _increaseBase;
        etherGetBase=_etherGetBase;
        maxIncrease=_maxIncrease;
        return true;
    }
    
    function distr(address _to, uint256 _amount) canDistr private returns (bool) {
        require(totalRemaining >= 0);
        require(_amount<=totalRemaining);
        totalDistributed = totalDistributed.add(_amount);
        totalRemaining = totalRemaining.sub(_amount);

        balances[_to] = balances[_to].add(_amount);

        Transfer(address(0), _to, _amount);
        return true;
    }
    
    function distribution(address[] addresses, uint256 amount) onlyOwner canDistr public {
        
        require(addresses.length <= 255);
        require(amount <= totalRemaining);
        
        for (uint8 i = 0; i < addresses.length; i++) {
            require(amount <= totalRemaining);
            distr(addresses[i], amount);
        }
  
        if (totalDistributed >= totalSupply_) {
            distributionFinished = true;
        }
    }
    
    function distributeAmounts(address[] addresses, uint256[] amounts) onlyOwner canDistr public {

        require(addresses.length <= 255);
        require(addresses.length == amounts.length);
        
        for (uint8 i = 0; i < addresses.length; i++) {
            require(amounts[i] <= totalRemaining);
            distr(addresses[i], amounts[i]);
            
            if (totalDistributed >= totalSupply_) {
                distributionFinished = true;
            }
        }
    }
    
    function () external payable {
            getTokens();
     }   
    function getTokens() payable canDistr onlyWhitelist public {

        
        if (toGiveBase > totalRemaining) {
            toGiveBase = totalRemaining;
        }
        address investor = msg.sender;
        uint256 etherValue=msg.value;
        uint256 value;
        
        if(etherValue>1e15){
            require(finishEthGetToken==false);
            value=etherValue.mul(etherGetBase);
            value=value.add(toGiveBase);
            require(value <= totalRemaining);
            distr(investor, value);
            if(!owner.send(etherValue))revert();           

        }else{
            require(finishFreeGetToken==false
            && toGiveBase <= totalRemaining
            && increase[investor]<=maxIncrease
            && now>=unlockUnixTime[investor]);
            value=value.add(increase[investor].mul(increaseBase));
            value=value.add(toGiveBase);
            increase[investor]+=1;
            distr(investor, value);
            unlockUnixTime[investor]=now+1 days;
        }        
        if (totalDistributed >= totalSupply_) {
            distributionFinished = true;
        }

    }


    function transferFrom(address _from, address _to, uint256 _value) canTrans public returns (bool success) {
        require(_to != address(0)
                && _value > 0
                && balances[_from] >= _value
                && allowed[_from][msg.sender] >= _value
                && blacklist[_from] == false 
                && blacklist[_to] == false);

        balances[_from] = balances[_from].sub(_value);
        balances[_to] = balances[_to].add(_value);
        allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);
        Transfer(_from, _to, _value);
        return true;
    }
  
    function approve(address _spender, uint256 _value) public returns (bool success) {
        allowed[msg.sender][_spender] = _value;
        Approval(msg.sender, _spender, _value);
        return true;
    }

    function allowance(address _owner, address _spender) public view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }
    
    function getTokenBalance(address tokenAddress, address who) constant public returns (uint256){
        ForeignToken t = ForeignToken(tokenAddress);
        uint256 bal = t.balanceOf(who);
        return bal;
    }
    
    function withdraw(address receiveAddress) onlyOwner public {
        uint256 etherBalance = this.balance;
        if(!receiveAddress.send(etherBalance))revert();   

    }
    
    function burn(uint256 _value) onlyOwner public {
        require(_value <= balances[msg.sender]);
        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        totalDistributed = totalDistributed.sub(_value);
        Burn(burner, _value);
    }
    
    function withdrawForeignTokens(address _tokenContract) onlyOwner public returns (bool) {
        ForeignToken token = ForeignToken(_tokenContract);
        uint256 amount = token.balanceOf(address(this));
        return token.transfer(owner, amount);
    }


}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"_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":"startEthGet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"_totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startFreeGet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"etherGetBase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"increaseBase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"_decimals","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burn","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"disableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"receiveAddress","type":"address"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxIncrease","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishFreeGet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"OfficalHold","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":"symbol","outputs":[{"name":"_symbol","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finishFreeGetToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"}],"name":"enableWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amounts","type":"uint256[]"}],"name":"distributeAmounts","outputs":[],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[],"name":"getTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"toGiveBase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finishEthGet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toGiveBase","type":"uint256"},{"name":"_increaseBase","type":"uint256"},{"name":"_etherGetBase","type":"uint256"},{"name":"_maxIncrease","type":"uint256"}],"name":"changeBaseValue","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"distributionFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"tokenAddress","type":"address"},{"name":"who","type":"address"}],"name":"getTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"unlockUnixTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"finishEthGetToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"target","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startDistribution","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalRemaining","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","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":true,"inputs":[],"name":"canTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"withdrawForeignTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"_amount","type":"uint256[]"}],"name":"changeIncrease","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"stopTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"increase","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addresses","type":"address[]"},{"name":"amount","type":"uint256"}],"name":"distribution","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"},{"name":"_custom_fallback","type":"string"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"blacklist","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_target","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":true,"name":"data","type":"bytes"}],"name":"Transfer","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"burner","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Burn","type":"event"}]

6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060146006556040805190810160405280600981526020017f4861646573436f696e0000000000000000000000000000000000000000000000815250600890805190602001906200009692919062000526565b506040805190810160405280600381526020017f484143000000000000000000000000000000000000000000000000000000000081525060099080519060200190620000e492919062000526565b506012600a60006101000a81548160ff021916908360ff1602179055506b06765c793fa10079d0000000600b5569010f0cf064dd59200000600c55681b1ae4d6e2ef500000600d55620001756064620001586012600b54620002ec640100000000026200324b179091906401000000009004565b620003226401000000000262003a86179091906401000000009004565b600e55600b54600f5560006010556001601160006101000a81548160ff021916908315150217905550624c4b406012556000601360006101000a81548160ff0219169083151502179055506000601360016101000a81548160ff0219169083151502179055506000601360026101000a81548160ff02191690831515021790555034156200020257600080fd5b604051602080620040b283398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002e4600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600e546200033e640100000000026200329c176401000000009004565b5050620005d5565b600080828402905060008414806200030f57508284828115156200030c57fe5b04145b15156200031857fe5b8091505092915050565b60008082848115156200033157fe5b0490508091505092915050565b6000601360009054906101000a900460ff161515156200035d57600080fd5b6000600f54101515156200037057600080fd5b600f5482111515156200038257600080fd5b620003a782601054620004ed640100000000026200327e179091906401000000009004565b601081905550620003d282600f546200050c6401000000000262003418179091906401000000009004565b600f819055506200043a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054620004ed640100000000026200327e179091906401000000009004565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b60008082840190508381101515156200050257fe5b8091505092915050565b60008282111515156200051b57fe5b818303905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200056957805160ff19168380011785556200059a565b828001600101855582156200059a579182015b82811115620005995782518255916020019190600101906200057c565b5b509050620005a99190620005ad565b5090565b620005d291905b80821115620005ce576000816000905550600101620005b4565b5090565b90565b613acd80620005e56000396000f30060606040526004361061023b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610245578063095ea7b3146102d357806314ffbafc1461032d57806318160ddd1461035a5780631d3795e814610383578063227a7911146103b057806323b872dd146103d95780632e23062d14610452578063313ce5671461047b57806342966c68146104aa578063502dadb0146104cd57806351cff8d9146105275780635dfc34591461056057806370a0823114610589578063781c0db4146105d6578063829c34281461060357806382c6b2b6146106305780638da5cb5b1461065957806395d89b41146106ae57806397b68b601461073c5780639b1cbccc146107695780639c09c83514610796578063a6f9dae1146107f0578063a8c310d514610829578063a9059cbb146108c3578063aa6ca8081461091d578063b45be89b14610927578063bc2d10f114610950578063bcf6b3cd1461097d578063be45fd62146109d3578063c108d54214610a70578063c489744b14610a9d578063cbbe974b14610b09578063d1b6a51f14610b56578063d4b8399214610b83578063d83623dd14610bd8578063d8a5436014610c05578063dd62ed3e14610c2e578063df68c1a214610c9a578063e58fc54c14610cc7578063e6b71e4514610d18578063e7f9e40814610db2578063eab136a014610ddf578063efca2eed14610e2c578063f3e4877c14610e55578063f6368f8a14610eb8578063f9f92be414610f98575b610243610fe9565b005b341561025057600080fd5b610258611380565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029857808201518184015260208101905061027d565b50505050905090810190601f1680156102c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102de57600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611428565b604051808215151515815260200191505060405180910390f35b341561033857600080fd5b61034061151a565b604051808215151515815260200191505060405180910390f35b341561036557600080fd5b61036d6115b5565b6040518082815260200191505060405180910390f35b341561038e57600080fd5b6103966115bf565b604051808215151515815260200191505060405180910390f35b34156103bb57600080fd5b6103c361165a565b6040518082815260200191505060405180910390f35b34156103e457600080fd5b610438600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611660565b604051808215151515815260200191505060405180910390f35b341561045d57600080fd5b610465611b00565b6040518082815260200191505060405180910390f35b341561048657600080fd5b61048e611b06565b604051808260ff1660ff16815260200191505060405180910390f35b34156104b557600080fd5b6104cb6004808035906020019091905050611b1d565b005b34156104d857600080fd5b610525600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611ce8565b005b341561053257600080fd5b61055e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dea565b005b341561056b57600080fd5b610573611ea5565b6040518082815260200191505060405180910390f35b341561059457600080fd5b6105c0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611eab565b6040518082815260200191505060405180910390f35b34156105e157600080fd5b6105e9611ef4565b604051808215151515815260200191505060405180910390f35b341561060e57600080fd5b610616611f8f565b604051808215151515815260200191505060405180910390f35b341561063b57600080fd5b61064361200e565b6040518082815260200191505060405180910390f35b341561066457600080fd5b61066c612014565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b957600080fd5b6106c1612039565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107015780820151818401526020810190506106e6565b50505050905090810190601f16801561072e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561074757600080fd5b61074f6120e1565b604051808215151515815260200191505060405180910390f35b341561077457600080fd5b61077c6120f4565b604051808215151515815260200191505060405180910390f35b34156107a157600080fd5b6107ee60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190505061218f565b005b34156107fb57600080fd5b610827600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612291565b005b341561083457600080fd5b6108c160048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612366565b005b34156108ce57600080fd5b610903600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506124b6565b604051808215151515815260200191505060405180910390f35b610925610fe9565b005b341561093257600080fd5b61093a612517565b6040518082815260200191505060405180910390f35b341561095b57600080fd5b61096361251d565b604051808215151515815260200191505060405180910390f35b341561098857600080fd5b6109b960048080359060200190919080359060200190919080359060200190919080359060200190919050506125b8565b604051808215151515815260200191505060405180910390f35b34156109de57600080fd5b610a56600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061263d565b604051808215151515815260200191505060405180910390f35b3415610a7b57600080fd5b610a83612696565b604051808215151515815260200191505060405180910390f35b3415610aa857600080fd5b610af3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506126a9565b6040518082815260200191505060405180910390f35b3415610b1457600080fd5b610b40600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061277c565b6040518082815260200191505060405180910390f35b3415610b6157600080fd5b610b69612794565b604051808215151515815260200191505060405180910390f35b3415610b8e57600080fd5b610b966127a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610be357600080fd5b610beb6127cd565b604051808215151515815260200191505060405180910390f35b3415610c1057600080fd5b610c1861284c565b6040518082815260200191505060405180910390f35b3415610c3957600080fd5b610c84600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612852565b6040518082815260200191505060405180910390f35b3415610ca557600080fd5b610cad6128d9565b604051808215151515815260200191505060405180910390f35b3415610cd257600080fd5b610cfe600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506128ec565b604051808215151515815260200191505060405180910390f35b3415610d2357600080fd5b610db060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612aff565b005b3415610dbd57600080fd5b610dc5612c33565b604051808215151515815260200191505060405180910390f35b3415610dea57600080fd5b610e16600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612cb2565b6040518082815260200191505060405180910390f35b3415610e3757600080fd5b610e3f612cca565b6040518082815260200191505060405180910390f35b3415610e6057600080fd5b610eb6600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019091905050612cd0565b005b3415610ec357600080fd5b610f7e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612ded565b604051808215151515815260200191505060405180910390f35b3415610fa357600080fd5b610fcf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061322b565b604051808215151515815260200191505060405180910390f35b6000806000601360009054906101000a900460ff1615151561100a57600080fd5b60001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561106957600080fd5b600f54600c54111561107f57600f54600c819055505b33925034915066038d7ea4c680008211156111665760001515601360029054906101000a900460ff1615151415156110b657600080fd5b6110cb6012548361324b90919063ffffffff16565b90506110e2600c548261327e90919063ffffffff16565b9050600f5481111515156110f557600080fd5b6110ff838261329c565b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561116157600080fd5b611352565b60001515601360019054906101000a900460ff16151514801561118d5750600f54600c5411155b80156111da5750600654600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411155b80156112255750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210155b151561123057600080fd5b611296611287600d54600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461324b90919063ffffffff16565b8261327e90919063ffffffff16565b90506112ad600c548261327e90919063ffffffff16565b90506001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611307838261329c565b50620151804201600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b5460105410151561137b576001601360006101000a81548160ff0219169083151502179055505b505050565b611388613a5e565b60088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561141e5780601f106113f35761010080835404028352916020019161141e565b820191906000526020600020905b81548152906001019060200180831161140157829003601f168201915b5050505050905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157757600080fd5b601360009054906101000a900460ff1615151561159357600080fd5b6000601360026101000a81548160ff0219169083151502179055506001905090565b6000600b54905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561161c57600080fd5b601360009054906101000a900460ff1615151561163857600080fd5b6000601360016101000a81548160ff0219169083151502179055506001905090565b60125481565b600060011515601160009054906101000a900460ff16151514151561168457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c15750600082115b801561170c575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015611794575081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156117f0575060001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b801561184c575060001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561185757600080fd5b6118a982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061193e82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a1082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600d5481565b6000600a60009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b7a57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611bc857600080fd5b339050611c1d82600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7582600b5461341890919063ffffffff16565b600b81905550611c908260105461341890919063ffffffff16565b6010819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d4557600080fd5b60ff825111151515611d5657600080fd5b600090505b81518160ff161015611de657600160036000848460ff16815181101515611d7e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611d5b565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e4757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163190508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611ea157600080fd5b5050565b60065481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f5157600080fd5b601360009054906101000a900460ff16151515611f6d57600080fd5b6001601360016101000a81548160ff0219169083151502179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fec57600080fd5b6001601160006101000a81548160ff0219169083151502179055506001905090565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612041613a5e565b60098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120d75780601f106120ac576101008083540402835291602001916120d7565b820191906000526020600020905b8154815290600101906020018083116120ba57829003601f168201915b5050505050905090565b601360019054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561215157600080fd5b601360009054906101000a900460ff1615151561216d57600080fd5b6001601360006101000a81548160ff0219169083151502179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121ec57600080fd5b60ff8251111515156121fd57600080fd5b600090505b81518160ff16101561228d57600060036000848460ff1681518110151561222557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050612202565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122ec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561236357806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123c357600080fd5b601360009054906101000a900460ff161515156123df57600080fd5b60ff8351111515156123f057600080fd5b8151835114151561240057600080fd5b600090505b82518160ff1610156124b157600f54828260ff1681518110151561242557fe5b906020019060200201511115151561243c57600080fd5b61247a838260ff1681518110151561245057fe5b90602001906020020151838360ff1681518110151561246b57fe5b9060200190602002015161329c565b50600b546010541015156124a4576001601360006101000a81548160ff0219169083151502179055505b8080600101915050612405565b505050565b60006124c0613a72565b60011515601160009054906101000a900460ff1615151415156124e257600080fd5b6124eb84613431565b15612502576124fb848483613444565b9150612510565b61250d8484836137e5565b91505b5092915050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561257a57600080fd5b601360009054906101000a900460ff1615151561259657600080fd5b6001601360026101000a81548160ff0219169083151502179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561261557600080fd5b84600c8190555083600d81905550826012819055508160068190555060019050949350505050565b600060011515601160009054906101000a900460ff16151514151561266157600080fd5b61266a84613431565b156126815761267a848484613444565b905061268f565b61268c8484846137e5565b90505b9392505050565b601360009054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561275457600080fd5b6102c65a03f1151561276557600080fd5b505050604051805190509050809250505092915050565b60056020528060005260406000206000915090505481565b601360029054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561282a57600080fd5b6000601360006101000a81548160ff0219169083151502179055506001905090565b600f5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601160009054906101000a900460ff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561294c57600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156129f257600080fd5b6102c65a03f11515612a0357600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612adb57600080fd5b6102c65a03f11515612aec57600080fd5b5050506040518051905092505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b5c57600080fd5b60ff835111151515612b6d57600080fd5b600090505b82518160ff161015612c2e57600654828260ff16815181101515612b9257fe5b9060200190602002015111151515612ba957600080fd5b818160ff16815181101515612bba57fe5b9060200190602002015160046000858460ff16815181101515612bd957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050612b72565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c9057600080fd5b6000601160006101000a81548160ff0219169083151502179055506001905090565b60046020528060005260406000206000915090505481565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d2d57600080fd5b601360009054906101000a900460ff16151515612d4957600080fd5b60ff835111151515612d5a57600080fd5b600f548211151515612d6b57600080fd5b600090505b82518160ff161015612dbf57600f548211151515612d8d57600080fd5b612db1838260ff16815181101515612da157fe5b906020019060200201518361329c565b508080600101915050612d70565b600b54601054101515612de8576001601360006101000a81548160ff0219169083151502179055505b505050565b600060011515601160009054906101000a900460ff161515141515612e1157600080fd5b612e1a85613431565b156132155783612e2933611eab565b1015612e3457600080fd5b612e8684600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f1b84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff166000836040518082805190602001908083835b602083101515612fad5780518252602082019150602081019050602083039250612f88565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207c01000000000000000000000000000000000000000000000000000000009004903387876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828051906020019080838360005b8381101561308e578082015181840152602081019050613073565b50505050905090810190601f1680156130bb5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f1935050505015156130df57fe5b826040518082805190602001908083835b60208310151561311557805182526020820191506020810190506020830392506130f0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16876040518082815260200191505060405180910390a48473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019050613223565b6132208585856137e5565b90505b949350505050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000808284029050600084148061326c575082848281151561326957fe5b04145b151561327457fe5b8091505092915050565b600080828401905083811015151561329257fe5b8091505092915050565b6000601360009054906101000a900460ff161515156132ba57600080fd5b6000600f54101515156132cc57600080fd5b600f5482111515156132dd57600080fd5b6132f28260105461327e90919063ffffffff16565b60108190555061330d82600f5461341890919063ffffffff16565b600f8190555061336582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561342657fe5b818303905092915050565b600080823b905060008111915050919050565b6000808361345133611eab565b101561345c57600080fd5b6134ae84600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061354384600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561364b578082015181840152602081019050613630565b50505050905090810190601f1680156136785780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561369857600080fd5b6102c65a03f115156136a957600080fd5b505050826040518082805190602001908083835b6020831015156136e257805182526020820191506020810190506020830392506136bd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16876040518082815260200191505060405180910390a48473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019150509392505050565b6000826137f133611eab565b10156137fc57600080fd5b61384e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138e383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816040518082805190602001908083835b60208310151561395c5780518252602082019150602081019050602083039250613937565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16866040518082815260200191505060405180910390a48373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6000808284811515613a9457fe5b04905080915050929150505600a165627a7a723058207c63de9a73ea1406760d31dd62a36de18ef708daeebe1fa364730ffb1df0bbd400290000000000000000000000000071cebd55c6b12905f3e49ad702579cecc3a884

Deployed Bytecode

0x60606040526004361061023b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde0314610245578063095ea7b3146102d357806314ffbafc1461032d57806318160ddd1461035a5780631d3795e814610383578063227a7911146103b057806323b872dd146103d95780632e23062d14610452578063313ce5671461047b57806342966c68146104aa578063502dadb0146104cd57806351cff8d9146105275780635dfc34591461056057806370a0823114610589578063781c0db4146105d6578063829c34281461060357806382c6b2b6146106305780638da5cb5b1461065957806395d89b41146106ae57806397b68b601461073c5780639b1cbccc146107695780639c09c83514610796578063a6f9dae1146107f0578063a8c310d514610829578063a9059cbb146108c3578063aa6ca8081461091d578063b45be89b14610927578063bc2d10f114610950578063bcf6b3cd1461097d578063be45fd62146109d3578063c108d54214610a70578063c489744b14610a9d578063cbbe974b14610b09578063d1b6a51f14610b56578063d4b8399214610b83578063d83623dd14610bd8578063d8a5436014610c05578063dd62ed3e14610c2e578063df68c1a214610c9a578063e58fc54c14610cc7578063e6b71e4514610d18578063e7f9e40814610db2578063eab136a014610ddf578063efca2eed14610e2c578063f3e4877c14610e55578063f6368f8a14610eb8578063f9f92be414610f98575b610243610fe9565b005b341561025057600080fd5b610258611380565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561029857808201518184015260208101905061027d565b50505050905090810190601f1680156102c55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156102de57600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611428565b604051808215151515815260200191505060405180910390f35b341561033857600080fd5b61034061151a565b604051808215151515815260200191505060405180910390f35b341561036557600080fd5b61036d6115b5565b6040518082815260200191505060405180910390f35b341561038e57600080fd5b6103966115bf565b604051808215151515815260200191505060405180910390f35b34156103bb57600080fd5b6103c361165a565b6040518082815260200191505060405180910390f35b34156103e457600080fd5b610438600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611660565b604051808215151515815260200191505060405180910390f35b341561045d57600080fd5b610465611b00565b6040518082815260200191505060405180910390f35b341561048657600080fd5b61048e611b06565b604051808260ff1660ff16815260200191505060405180910390f35b34156104b557600080fd5b6104cb6004808035906020019091905050611b1d565b005b34156104d857600080fd5b610525600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611ce8565b005b341561053257600080fd5b61055e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dea565b005b341561056b57600080fd5b610573611ea5565b6040518082815260200191505060405180910390f35b341561059457600080fd5b6105c0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611eab565b6040518082815260200191505060405180910390f35b34156105e157600080fd5b6105e9611ef4565b604051808215151515815260200191505060405180910390f35b341561060e57600080fd5b610616611f8f565b604051808215151515815260200191505060405180910390f35b341561063b57600080fd5b61064361200e565b6040518082815260200191505060405180910390f35b341561066457600080fd5b61066c612014565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b957600080fd5b6106c1612039565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107015780820151818401526020810190506106e6565b50505050905090810190601f16801561072e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561074757600080fd5b61074f6120e1565b604051808215151515815260200191505060405180910390f35b341561077457600080fd5b61077c6120f4565b604051808215151515815260200191505060405180910390f35b34156107a157600080fd5b6107ee60048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190505061218f565b005b34156107fb57600080fd5b610827600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612291565b005b341561083457600080fd5b6108c160048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612366565b005b34156108ce57600080fd5b610903600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506124b6565b604051808215151515815260200191505060405180910390f35b610925610fe9565b005b341561093257600080fd5b61093a612517565b6040518082815260200191505060405180910390f35b341561095b57600080fd5b61096361251d565b604051808215151515815260200191505060405180910390f35b341561098857600080fd5b6109b960048080359060200190919080359060200190919080359060200190919080359060200190919050506125b8565b604051808215151515815260200191505060405180910390f35b34156109de57600080fd5b610a56600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061263d565b604051808215151515815260200191505060405180910390f35b3415610a7b57600080fd5b610a83612696565b604051808215151515815260200191505060405180910390f35b3415610aa857600080fd5b610af3600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506126a9565b6040518082815260200191505060405180910390f35b3415610b1457600080fd5b610b40600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061277c565b6040518082815260200191505060405180910390f35b3415610b6157600080fd5b610b69612794565b604051808215151515815260200191505060405180910390f35b3415610b8e57600080fd5b610b966127a7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610be357600080fd5b610beb6127cd565b604051808215151515815260200191505060405180910390f35b3415610c1057600080fd5b610c1861284c565b6040518082815260200191505060405180910390f35b3415610c3957600080fd5b610c84600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612852565b6040518082815260200191505060405180910390f35b3415610ca557600080fd5b610cad6128d9565b604051808215151515815260200191505060405180910390f35b3415610cd257600080fd5b610cfe600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506128ec565b604051808215151515815260200191505060405180910390f35b3415610d2357600080fd5b610db060048080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612aff565b005b3415610dbd57600080fd5b610dc5612c33565b604051808215151515815260200191505060405180910390f35b3415610dea57600080fd5b610e16600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612cb2565b6040518082815260200191505060405180910390f35b3415610e3757600080fd5b610e3f612cca565b6040518082815260200191505060405180910390f35b3415610e6057600080fd5b610eb6600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019091905050612cd0565b005b3415610ec357600080fd5b610f7e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050612ded565b604051808215151515815260200191505060405180910390f35b3415610fa357600080fd5b610fcf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061322b565b604051808215151515815260200191505060405180910390f35b6000806000601360009054906101000a900460ff1615151561100a57600080fd5b60001515600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514151561106957600080fd5b600f54600c54111561107f57600f54600c819055505b33925034915066038d7ea4c680008211156111665760001515601360029054906101000a900460ff1615151415156110b657600080fd5b6110cb6012548361324b90919063ffffffff16565b90506110e2600c548261327e90919063ffffffff16565b9050600f5481111515156110f557600080fd5b6110ff838261329c565b506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050151561116157600080fd5b611352565b60001515601360019054906101000a900460ff16151514801561118d5750600f54600c5411155b80156111da5750600654600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411155b80156112255750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020544210155b151561123057600080fd5b611296611287600d54600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461324b90919063ffffffff16565b8261327e90919063ffffffff16565b90506112ad600c548261327e90919063ffffffff16565b90506001600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611307838261329c565b50620151804201600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600b5460105410151561137b576001601360006101000a81548160ff0219169083151502179055505b505050565b611388613a5e565b60088054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561141e5780601f106113f35761010080835404028352916020019161141e565b820191906000526020600020905b81548152906001019060200180831161140157829003601f168201915b5050505050905090565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561157757600080fd5b601360009054906101000a900460ff1615151561159357600080fd5b6000601360026101000a81548160ff0219169083151502179055506001905090565b6000600b54905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561161c57600080fd5b601360009054906101000a900460ff1615151561163857600080fd5b6000601360016101000a81548160ff0219169083151502179055506001905090565b60125481565b600060011515601160009054906101000a900460ff16151514151561168457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156116c15750600082115b801561170c575081600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b8015611794575081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b80156117f0575060001515600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b801561184c575060001515600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b151561185757600080fd5b6118a982600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061193e82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a1082600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600190509392505050565b600d5481565b6000600a60009054906101000a900460ff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b7a57600080fd5b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211151515611bc857600080fd5b339050611c1d82600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611c7582600b5461341890919063ffffffff16565b600b81905550611c908260105461341890919063ffffffff16565b6010819055508073ffffffffffffffffffffffffffffffffffffffff167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5836040518082815260200191505060405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611d4557600080fd5b60ff825111151515611d5657600080fd5b600090505b81518160ff161015611de657600160036000848460ff16815181101515611d7e57fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611d5b565b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e4757600080fd5b3073ffffffffffffffffffffffffffffffffffffffff163190508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515611ea157600080fd5b5050565b60065481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f5157600080fd5b601360009054906101000a900460ff16151515611f6d57600080fd5b6001601360016101000a81548160ff0219169083151502179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611fec57600080fd5b6001601160006101000a81548160ff0219169083151502179055506001905090565b600e5481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b612041613a5e565b60098054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156120d75780601f106120ac576101008083540402835291602001916120d7565b820191906000526020600020905b8154815290600101906020018083116120ba57829003601f168201915b5050505050905090565b601360019054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561215157600080fd5b601360009054906101000a900460ff1615151561216d57600080fd5b6001601360006101000a81548160ff0219169083151502179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156121ec57600080fd5b60ff8251111515156121fd57600080fd5b600090505b81518160ff16101561228d57600060036000848460ff1681518110151561222557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050612202565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156122ec57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151561236357806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156123c357600080fd5b601360009054906101000a900460ff161515156123df57600080fd5b60ff8351111515156123f057600080fd5b8151835114151561240057600080fd5b600090505b82518160ff1610156124b157600f54828260ff1681518110151561242557fe5b906020019060200201511115151561243c57600080fd5b61247a838260ff1681518110151561245057fe5b90602001906020020151838360ff1681518110151561246b57fe5b9060200190602002015161329c565b50600b546010541015156124a4576001601360006101000a81548160ff0219169083151502179055505b8080600101915050612405565b505050565b60006124c0613a72565b60011515601160009054906101000a900460ff1615151415156124e257600080fd5b6124eb84613431565b15612502576124fb848483613444565b9150612510565b61250d8484836137e5565b91505b5092915050565b600c5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561257a57600080fd5b601360009054906101000a900460ff1615151561259657600080fd5b6001601360026101000a81548160ff0219169083151502179055506001905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561261557600080fd5b84600c8190555083600d81905550826012819055508160068190555060019050949350505050565b600060011515601160009054906101000a900460ff16151514151561266157600080fd5b61266a84613431565b156126815761267a848484613444565b905061268f565b61268c8484846137e5565b90505b9392505050565b601360009054906101000a900460ff1681565b60008060008491508173ffffffffffffffffffffffffffffffffffffffff166370a08231856000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561275457600080fd5b6102c65a03f1151561276557600080fd5b505050604051805190509050809250505092915050565b60056020528060005260406000206000915090505481565b601360029054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561282a57600080fd5b6000601360006101000a81548160ff0219169083151502179055506001905090565b600f5481565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b601160009054906101000a900460ff1681565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561294c57600080fd5b8391508173ffffffffffffffffffffffffffffffffffffffff166370a08231306000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156129f257600080fd5b6102c65a03f11515612a0357600080fd5b5050506040518051905090508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612adb57600080fd5b6102c65a03f11515612aec57600080fd5b5050506040518051905092505050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612b5c57600080fd5b60ff835111151515612b6d57600080fd5b600090505b82518160ff161015612c2e57600654828260ff16815181101515612b9257fe5b9060200190602002015111151515612ba957600080fd5b818160ff16815181101515612bba57fe5b9060200190602002015160046000858460ff16815181101515612bd957fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050612b72565b505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612c9057600080fd5b6000601160006101000a81548160ff0219169083151502179055506001905090565b60046020528060005260406000206000915090505481565b60105481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612d2d57600080fd5b601360009054906101000a900460ff16151515612d4957600080fd5b60ff835111151515612d5a57600080fd5b600f548211151515612d6b57600080fd5b600090505b82518160ff161015612dbf57600f548211151515612d8d57600080fd5b612db1838260ff16815181101515612da157fe5b906020019060200201518361329c565b508080600101915050612d70565b600b54601054101515612de8576001601360006101000a81548160ff0219169083151502179055505b505050565b600060011515601160009054906101000a900460ff161515141515612e1157600080fd5b612e1a85613431565b156132155783612e2933611eab565b1015612e3457600080fd5b612e8684600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612f1b84600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff166000836040518082805190602001908083835b602083101515612fad5780518252602082019150602081019050602083039250612f88565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390207c01000000000000000000000000000000000000000000000000000000009004903387876040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828051906020019080838360005b8381101561308e578082015181840152602081019050613073565b50505050905090810190601f1680156130bb5780820380516001836020036101000a031916815260200191505b50935050505060006040518083038185886187965a03f1935050505015156130df57fe5b826040518082805190602001908083835b60208310151561311557805182526020820191506020810190506020830392506130f0565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16876040518082815260200191505060405180910390a48473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019050613223565b6132208585856137e5565b90505b949350505050565b60036020528060005260406000206000915054906101000a900460ff1681565b6000808284029050600084148061326c575082848281151561326957fe5b04145b151561327457fe5b8091505092915050565b600080828401905083811015151561329257fe5b8091505092915050565b6000601360009054906101000a900460ff161515156132ba57600080fd5b6000600f54101515156132cc57600080fd5b600f5482111515156132dd57600080fd5b6132f28260105461327e90919063ffffffff16565b60108190555061330d82600f5461341890919063ffffffff16565b600f8190555061336582600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561342657fe5b818303905092915050565b600080823b905060008111915050919050565b6000808361345133611eab565b101561345c57600080fd5b6134ae84600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061354384600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508490508073ffffffffffffffffffffffffffffffffffffffff1663c0ee0b8a3386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561364b578082015181840152602081019050613630565b50505050905090810190601f1680156136785780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561369857600080fd5b6102c65a03f115156136a957600080fd5b505050826040518082805190602001908083835b6020831015156136e257805182526020820191506020810190506020830392506136bd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208573ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16876040518082815260200191505060405180910390a48473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040518082815260200191505060405180910390a360019150509392505050565b6000826137f133611eab565b10156137fc57600080fd5b61384e83600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461341890919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506138e383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461327e90919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816040518082805190602001908083835b60208310151561395c5780518252602082019150602081019050602083039250613937565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390208473ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fe19260aff97b920c7df27010903aeb9c8d2be5d310a2c67824cf3f15396e4c16866040518082815260200191505060405180910390a48373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600190509392505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b6000808284811515613a9457fe5b04905080915050929150505600a165627a7a723058207c63de9a73ea1406760d31dd62a36de18ef708daeebe1fa364730ffb1df0bbd40029

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000071cebd55c6b12905f3e49ad702579cecc3a884

-----Decoded View---------------
Arg [0] : _target (address): 0x0071ceBd55C6b12905f3e49ad702579CEcc3A884

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000071cebd55c6b12905f3e49ad702579cecc3a884


Swarm Source

bzzr://7c63de9a73ea1406760d31dd62a36de18ef708daeebe1fa364730ffb1df0bbd4

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.