ETH Price: $2,683.15 (+2.02%)
Gas: 1 Gwei

Contract

0x3aa2D543a49EFCBb24607F834358dF3561222A05
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Buy59776892018-07-17 0:40:592217 days ago1531788059IN
0x3aa2D543...561222A05
0.132 ETH0.0022633620
Buy57354982018-06-05 8:28:192259 days ago1528187299IN
0x3aa2D543...561222A05
0.12 ETH0.0008316810
Buy57319132018-06-04 17:12:322259 days ago1528132352IN
0x3aa2D543...561222A05
0.34032 ETH0.001135479
Buy56821742018-05-26 21:43:292268 days ago1527371009IN
0x3aa2D543...561222A05
0.984 ETH0.000452674
Buy56775432018-05-26 2:22:172269 days ago1527301337IN
0x3aa2D543...561222A05
0.2916 ETH0.000565845
Buy56485512018-05-20 22:37:112274 days ago1526855831IN
0x3aa2D543...561222A05
0.24 ETH0.000384654
Buy56485122018-05-20 22:27:572274 days ago1526855277IN
0x3aa2D543...561222A05
0.12 ETH0.000452674
Buy56434702018-05-20 1:06:532275 days ago1526778413IN
0x3aa2D543...561222A05
0.12 ETH0.0045267240
Buy56392462018-05-19 6:57:352276 days ago1526713055IN
0x3aa2D543...561222A05
0.12 ETH0.0018318.3
Buy55802642018-05-08 22:38:042286 days ago1525819084IN
0x3aa2D543...561222A05
0.24 ETH0.000126161
Buy55532212018-05-04 5:38:082291 days ago1525412288IN
0x3aa2D543...561222A05
0.12 ETH0.000350823.1
Set Swap Token55349812018-05-01 0:30:162294 days ago1525134616IN
0x3aa2D543...561222A05
0 ETH0.000265412
Buy55050912018-04-25 20:13:112299 days ago1524687191IN
0x3aa2D543...561222A05
0.24 ETH0.000529884.2
Reg Referrers55030792018-04-25 11:50:162299 days ago1524657016IN
0x3aa2D543...561222A05
0 ETH0.000145452
Reg Referrers55029992018-04-25 11:29:132299 days ago1524655753IN
0x3aa2D543...561222A05
0 ETH0.000050272
Swap54810122018-04-21 16:41:322303 days ago1524328892IN
0x3aa2D543...561222A05
0 ETH0.000150566
Swap54723622018-04-20 4:56:292305 days ago1524200189IN
0x3aa2D543...561222A05
0 ETH0.00098441
Swap54625162018-04-18 12:13:022306 days ago1524053582IN
0x3aa2D543...561222A05
0 ETH0.00006932
Swap54489562018-04-16 4:32:032309 days ago1523853123IN
0x3aa2D543...561222A05
0 ETH0.000097311
Swap54455512018-04-15 14:51:572309 days ago1523803917IN
0x3aa2D543...561222A05
0 ETH0.000194632
Swap54447952018-04-15 11:42:132309 days ago1523792533IN
0x3aa2D543...561222A05
0 ETH0.00037852
Set Swap Token54447072018-04-15 11:21:192309 days ago1523791279IN
0x3aa2D543...561222A05
0 ETH0.000296312
Swap54426842018-04-15 3:05:462310 days ago1523761546IN
0x3aa2D543...561222A05
0 ETH0.000079731
Set Swap Token54402042018-04-14 17:05:232310 days ago1523725523IN
0x3aa2D543...561222A05
0 ETH0.000133582
Swap54281112018-04-12 15:54:382312 days ago1523548478IN
0x3aa2D543...561222A05
0 ETH0.000047330.5
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
59776892018-07-17 0:40:592217 days ago1531788059
0x3aa2D543...561222A05
0.066 ETH
59776892018-07-17 0:40:592217 days ago1531788059
0x3aa2D543...561222A05
0.066 ETH
57354982018-06-05 8:28:192259 days ago1528187299
0x3aa2D543...561222A05
0.06 ETH
57354982018-06-05 8:28:192259 days ago1528187299
0x3aa2D543...561222A05
0.06 ETH
57319132018-06-04 17:12:322259 days ago1528132352
0x3aa2D543...561222A05
0.153144 ETH
57319132018-06-04 17:12:322259 days ago1528132352
0x3aa2D543...561222A05
0.153144 ETH
57319132018-06-04 17:12:322259 days ago1528132352
0x3aa2D543...561222A05
0.034032 ETH
56821742018-05-26 21:43:292268 days ago1527371009
0x3aa2D543...561222A05
0.492 ETH
56821742018-05-26 21:43:292268 days ago1527371009
0x3aa2D543...561222A05
0.492 ETH
56775432018-05-26 2:22:172269 days ago1527301337
0x3aa2D543...561222A05
0.1458 ETH
56775432018-05-26 2:22:172269 days ago1527301337
0x3aa2D543...561222A05
0.1458 ETH
56485512018-05-20 22:37:112274 days ago1526855831
0x3aa2D543...561222A05
0.108 ETH
56485512018-05-20 22:37:112274 days ago1526855831
0x3aa2D543...561222A05
0.108 ETH
56485512018-05-20 22:37:112274 days ago1526855831
0x3aa2D543...561222A05
0.024 ETH
56485122018-05-20 22:27:572274 days ago1526855277
0x3aa2D543...561222A05
0.06 ETH
56485122018-05-20 22:27:572274 days ago1526855277
0x3aa2D543...561222A05
0.06 ETH
56434702018-05-20 1:06:532275 days ago1526778413
0x3aa2D543...561222A05
0.06 ETH
56434702018-05-20 1:06:532275 days ago1526778413
0x3aa2D543...561222A05
0.06 ETH
56392462018-05-19 6:57:352276 days ago1526713055
0x3aa2D543...561222A05
0.06 ETH
56392462018-05-19 6:57:352276 days ago1526713055
0x3aa2D543...561222A05
0.06 ETH
55802642018-05-08 22:38:042286 days ago1525819084
0x3aa2D543...561222A05
0.108 ETH
55802642018-05-08 22:38:042286 days ago1525819084
0x3aa2D543...561222A05
0.108 ETH
55802642018-05-08 22:38:042286 days ago1525819084
0x3aa2D543...561222A05
0.024 ETH
55532212018-05-04 5:38:082291 days ago1525412288
0x3aa2D543...561222A05
0.06 ETH
55532212018-05-04 5:38:082291 days ago1525412288
0x3aa2D543...561222A05
0.06 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Crowdsale

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-03-22
*/

pragma solidity ^0.4.20;




library SafeMath {
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    if (a == 0) {
      return 0;
    }
    uint256 c = a * b;
    assert(c / a == b);
    return c;
  }

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

  function 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;
  }
}




contract Ownable {
  address public owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  function Ownable() public {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}





contract ERC20 {
    uint256 public totalSupply;
    function balanceOf(address who) public view returns (uint256);
    function transfer(address to, uint256 value) public returns (bool);
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool);
    mapping(address => uint256) balances;
}
contract AthTokenInterface is ERC20{

  function delivery( address _to, uint256 _amount ) public returns( bool );
  function afterIco( uint256 _redemptionPrice ) public  returns( bool );
  function currentBalance() public returns( uint256 );
  
}






contract Crowdsale is Ownable{
    
    using SafeMath for uint256;
    
    bool _initialize = false;
    
    AthTokenInterface token;

    enum CrowdsaleStates { Disabled, Presale, ICO1, ICO2, ICO3, ICO4, Finished }
    
    uint256 public presale                  = 750000  ether;
    uint256 public bounty                   = 500000  ether;
    uint256 public constant price           = 0.00024 ether;
    uint256 public constant threshold       = 50000 ether;
    uint256 public constant min             = price * 500;
    uint256 public constant hardcap         = 1000 ether; 
    uint256 public          totalEth        = 0;
    
    uint256 public constant affiliatThreshold1 = 1 * min;
    uint256 public constant affiliatThreshold2 = 10 * min;
    uint256 public constant affiliatThreshold3 = 50 * min;
    uint256 public constant affiliatThreshold4 = 100 * min;
    
    uint256 public icoTimeStart          = 0;
    uint256 public ICO1Period            = 1 days;
    uint256 public ICO2Period            = 7 days + ICO1Period;
    uint256 public ICO3Period            = 10 days + ICO2Period;
    uint256 public ICO4Period            = 12 days + ICO3Period;
    
    
    address[] owners;
    
    
    CrowdsaleStates public CrowdsaleState = CrowdsaleStates.Disabled;
    
    modifier icoActive {
        require( 
               getCrowdsaleState() == CrowdsaleStates.Presale 
            || getCrowdsaleState() == CrowdsaleStates.ICO1 
            || getCrowdsaleState() == CrowdsaleStates.ICO2 
            || getCrowdsaleState() == CrowdsaleStates.ICO3
            || getCrowdsaleState() == CrowdsaleStates.ICO4
            );
        _;
    }
    
    modifier Finished {
        require( getCrowdsaleState() == CrowdsaleStates.Finished );
        _;
    }
    modifier notFinished {
        require( getCrowdsaleState() != CrowdsaleStates.Finished );
        _;
    }
    
    modifier Initialized {
        require( _initialize );
        _;
    }
    
    
    
    event NewInvestor( address );
    event NewReferrer( address );
    event Referral( address, address, uint256, uint256 );
    event Bounty( address, uint256 );
    event Swap( address, address, uint256 );
    event NewSwapToken( address );
    event Delivery( address, uint256 );
    
    
    
    mapping( address => uint256 ) investorsTotalBalances;
    mapping( address => uint256 ) investorsStock;
    mapping( address => bool ) investorsCheck;
    address[] public investors;
    
    
    
    mapping( address => bool ) referrers;
    address[] public referrersList;
    
    
    
    
    
    function initialize( address _a, address[] _owners ) public onlyOwner returns( bool )
    {
        require( _a != address(0) && _owners.length == 2 && _owners[0] != address(0) && _owners[1] != address(0) && !_initialize );
        
        
        token = AthTokenInterface( _a );
        owners = _owners;
        _initialize = true;
    }

    
    function getOwners(uint8 _i) public constant returns( address )
    {
        return owners[_i];
    }
    
   
    
    function referrersCount() public constant returns( uint256 )
    {
        return referrersList.length;
    }
    
    
    
    function regReferrer( address _a ) public onlyOwner Initialized returns( bool )
    {
        if( referrers[_a] != true ) {
            
            referrers[_a] = true;
            referrersList.push( _a );
            
            NewReferrer( _a );
            
        }
    }
    function regReferrers( address[] _a ) public onlyOwner Initialized returns( bool )
    {
        for( uint256 i = 0; i <= _a.length - 1; i++ ){
            
            if( referrers[_a[i]] != true ) {
            
                referrers[_a[i]] = true;
                referrersList.push( _a[i] );
                
                NewReferrer( _a[i] );
                
            }
        }
    }
    
    
    
    function referralBonusCalculate( uint256 _amount, uint256 _amountTokens ) public pure returns( uint256 )
    {
        uint256 amount = 0;
        
        if( _amount < affiliatThreshold2  )  amount =  _amountTokens.mul( 7 ).div( 100 );
        if( _amount < affiliatThreshold3  )  amount =  _amountTokens.mul( 10 ).div( 100 );
        if( _amount < affiliatThreshold4  )  amount =  _amountTokens.mul( 15 ).div( 100 );
        if( _amount >= affiliatThreshold4  ) amount =  _amountTokens.mul( 20 ).div( 100 );
        
        return amount;
    }
    
    function referrerBonusCalculate( uint256 _amount ) public pure returns( uint256 )
    {
        uint256 amount = 0;
        
        if( _amount < affiliatThreshold2  )  amount =  _amount.mul( 3 ).div( 100 );
        if( _amount < affiliatThreshold3  )  amount =  _amount.mul( 7 ).div( 100 );
        if( _amount < affiliatThreshold4  )  amount =  _amount.mul( 10 ).div( 100 );
        if( _amount >= affiliatThreshold4  ) amount =  _amount.mul( 15 ).div( 100 );
        
        return amount;
    }
    
    
    function redemptionPriceCalculate( uint256 _ath ) public pure returns( uint256 )
    {
        if( _ath >= 3333333 ether ) return price.mul( 150 ).div( 100 );
        if( _ath >= 2917777 ether ) return price.mul( 145 ).div( 100 );
        if( _ath >= 2500000 ether ) return price.mul( 140 ).div( 100 );
        if( _ath >= 2083333 ether ) return price.mul( 135 ).div( 100 );
        if( _ath >= 1700000 ether ) return price.mul( 130 ).div( 100 );
        if( _ath >= 1250000 ether ) return price.mul( 125 ).div( 100 );  
        
        return price;
    }
    
   
    function() public payable
    {
        buy( address(0) );
    }
    

    
    function buy( address _referrer ) public payable icoActive Initialized
    {
        
        
        
      require( msg.value >= min );
      

      uint256 _amount = crowdsaleBonus( msg.value.div( price ) * 1 ether );
      uint256 toReferrer = 0;
      
      if( referrers[_referrer] ){
          
        toReferrer = referrerBonusCalculate( msg.value );
        _referrer.transfer( toReferrer );
        _amount = _amount.add( referralBonusCalculate( msg.value, _amount ) );
        
        Referral( _referrer, msg.sender, msg.value, _amount );
        
      }
      
      
      
       
       
      token.delivery( msg.sender, _amount );
      totalEth = totalEth.add( msg.value );
      
      Delivery( msg.sender, _amount );
      
       
        
      if( getCrowdsaleState() == CrowdsaleStates.Presale ) {
          
          presale = presale.sub( _amount );
          
          for( uint256 i = 0; i <= owners.length - 1; i++ ){
              
            owners[i].transfer( ( msg.value.sub( toReferrer ) ).div( owners.length ) );
            
          }
      
      }
      
      
      investorsTotalBalances[msg.sender]  = investorsTotalBalances[msg.sender].add( _amount );
       
      if( investorsTotalBalances[msg.sender] >= threshold && investorsCheck[msg.sender] == false ){
          investors.push( msg.sender );
          investorsCheck[msg.sender] = true;
          
          NewInvestor( msg.sender );
      }
       
       
      
       
    }
    

    

    
    function getCrowdsaleState() public constant returns( CrowdsaleStates )
    {
        if( CrowdsaleState == CrowdsaleStates.Disabled ) return CrowdsaleStates.Disabled;
        if( CrowdsaleState == CrowdsaleStates.Finished ) return CrowdsaleStates.Finished;
        
        if( CrowdsaleState == CrowdsaleStates.Presale ){
            if( presale > 0 ) 
                return CrowdsaleStates.Presale;
            else
                return CrowdsaleStates.Disabled;
        }
        
        if( CrowdsaleState == CrowdsaleStates.ICO1 ){
            
            if( token.currentBalance() <= 0 || totalEth >= hardcap ) return CrowdsaleStates.Finished; 
            
            if( now.sub( icoTimeStart ) <= ICO1Period)  return CrowdsaleStates.ICO1;
            if( now.sub( icoTimeStart ) <= ICO2Period ) return CrowdsaleStates.ICO2;
            if( now.sub( icoTimeStart ) <= ICO3Period ) return CrowdsaleStates.ICO3;
            if( now.sub( icoTimeStart ) <= ICO4Period ) return CrowdsaleStates.ICO4;
            if( now.sub( icoTimeStart ) >  ICO4Period ) return CrowdsaleStates.Finished;
            
        }
    }
    
    
    
    function crowdsaleBonus( uint256 _amount ) internal constant  returns ( uint256 )
    {
        uint256 bonus = 0;
        
        if( getCrowdsaleState() == CrowdsaleStates.Presale ){
            bonus = _amount.mul( 50 ).div( 100 );
        }
        
        if( getCrowdsaleState() == CrowdsaleStates.ICO1 ){
            bonus = _amount.mul( 35 ).div( 100 );
        }
        if( getCrowdsaleState() == CrowdsaleStates.ICO2 ){
            bonus = _amount.mul( 25 ).div( 100 );
        }
        if( getCrowdsaleState() == CrowdsaleStates.ICO3 ){
            bonus = _amount.mul( 15 ).div( 100 );
        }
        
        return _amount.add( bonus );
        
    }
    
    
    function startPresale() public onlyOwner notFinished Initialized returns ( bool )
    {
        CrowdsaleState = CrowdsaleStates.Presale;
        return true;
    }
    
    function startIco() public onlyOwner notFinished Initialized returns ( bool )
    {
        CrowdsaleState = CrowdsaleStates.ICO1;
        icoTimeStart = now;
        return true;
    }
    
    
    function completeIcoPart1() public onlyOwner Finished Initialized returns( bool )
    {
        //stop ico
        CrowdsaleState = CrowdsaleStates.Finished;
        
        uint256 sales = token.totalSupply() - token.currentBalance();
        
        
        uint256 i;
        
        //burn
        if( totalEth >= hardcap ) {
            
            for( i = 0; i <= owners.length - 1; i++ ){
                token.delivery( owners[i], bounty.div( owners.length ) );
            }
            
        } else {
            
            uint256 tmp = sales.mul( 20 ).div( 100 ).add( bounty );
            for( i = 0; i <= owners.length - 1; i++ ){
                token.delivery( owners[i], tmp.div( owners.length ) );
            }  
            
        }
        
        uint b = address(this).balance;
         for( i = 0; i <= owners.length - 1; i++ ){
            owners[i].transfer(  b.div( owners.length ) );
        }
        
        token.afterIco(  redemptionPriceCalculate( sales )  );
    }
    
    function completeIcoPart2() public onlyOwner Finished Initialized returns( bool )
    {
        uint256 sum = 0;
        uint256 i = 0;
        for( i = 0; i <= investors.length - 1; i++ ) {
            sum = sum.add( investorsTotalBalances[ investors[i] ] );
        }
        for( i = 0; i <= investors.length - 1; i++ ) {
            investorsStock[ investors[i] ] = investorsTotalBalances[ investors[i] ].mul( 100 ).div( sum );
        }
    }
    
    
    function investorsCount() public constant returns( uint256 )
    {
        return investors.length ;
    }
    
    function investorsAddress( uint256 _i ) public constant returns( address )
    {
        return investors[_i] ;
    }
    
    function investorsInfo( address _a ) public constant returns( uint256, uint256 )
    {
        return ( investorsTotalBalances[_a], investorsStock[_a] );
    }
    
    function investorsStockInfo( address _a)  public constant returns(uint256)
    {
        return  investorsStock[_a];
    }
    
    

    
    function bountyTransfer( address _to, uint256 amount) public onlyOwner Initialized returns( bool )
    {
        
        
        require( bounty >= amount && token.currentBalance() >= amount );
        
        
        token.delivery( _to, amount );
        bounty = bounty.sub( amount );
        
        Delivery( _to, amount );
        Bounty( _to, amount );
        
    }
    
    
    
    
    bool public swapActivity = true;
    address[] tokenList;
    mapping( address => uint256 ) tokenRateAth;
    mapping( address => uint256 ) tokenRateToken;
    mapping( address => uint256 ) tokenLimit;
    mapping( address => uint256 ) tokenMinAmount;
    mapping( address => bool ) tokenActivity;
    mapping( address => bool ) tokenFirst;
    mapping ( address => uint256 ) tokenSwapped;
    
    
    function swapActivityHandler() public onlyOwner
    {
        swapActivity = !swapActivity;
    }
    
    
    function setSwapToken( address _a, uint256 _rateAth, uint256 _rateToken, uint256 _limit, uint256 _minAmount,  bool _activity ) public onlyOwner returns( bool )
    {
       if( tokenFirst[_a] == false ) {
           tokenFirst[_a] = true;
           
           NewSwapToken( _a );
       }
       
       tokenRateAth[_a]     = _rateAth;
       tokenRateToken[_a]   = _rateToken;
       tokenLimit[_a]       = _limit;
       tokenMinAmount[_a]   = _minAmount;
       tokenActivity[_a]    = _activity;
    }
    

    function swapTokenInfo( address _a) public constant returns( uint256, uint256, uint256, uint256,  bool )
    {
        return ( tokenRateAth[_a], tokenRateToken[_a], tokenLimit[_a], tokenMinAmount[_a], tokenActivity[_a] );
    }
    
    function swap( address _a, uint256 _amount ) public returns( bool )
    {
        require( swapActivity && tokenActivity[_a] && ( _amount >= tokenMinAmount[_a] ) );
        
        uint256 ath = tokenRateAth[_a].mul( _amount ).div( tokenRateToken[_a] );
        tokenSwapped[_a] = tokenSwapped[_a].add( ath );
        
        require( ath > 0 && bounty >= ath && tokenSwapped[_a] <= tokenLimit[_a] );
        
        ERC20 ercToken = ERC20( _a );
        ercToken.transferFrom( msg.sender, address(this), _amount );
        
        for( uint256 i = 0; i <= owners.length - 1; i++ )
          ercToken.transfer( owners[i], _amount.div( owners.length ) );
          
        token.delivery( msg.sender, ath );
        bounty = bounty.sub( ath );
        
        Delivery( msg.sender, ath );
        Swap( msg.sender, _a, ath );
        
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[],"name":"startPresale","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"icoTimeStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_amountTokens","type":"uint256"}],"name":"referralBonusCalculate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"referrersList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"amount","type":"uint256"}],"name":"bountyTransfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"investorsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_amount","type":"uint256"}],"name":"referrerBonusCalculate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"getCrowdsaleState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"swapActivity","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"affiliatThreshold4","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"investors","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"threshold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"CrowdsaleState","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO4Period","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"startIco","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"address"}],"name":"investorsInfo","outputs":[{"name":"","type":"uint256"},{"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":false,"inputs":[],"name":"swapActivityHandler","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"bounty","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address"},{"name":"_owners","type":"address[]"}],"name":"initialize","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address"},{"name":"_rateAth","type":"uint256"},{"name":"_rateToken","type":"uint256"},{"name":"_limit","type":"uint256"},{"name":"_minAmount","type":"uint256"},{"name":"_activity","type":"bool"}],"name":"setSwapToken","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"address"}],"name":"investorsStockInfo","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"completeIcoPart1","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address[]"}],"name":"regReferrers","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardcap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"affiliatThreshold3","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"completeIcoPart2","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"affiliatThreshold1","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO1Period","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_a","type":"address"}],"name":"swapTokenInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address"},{"name":"_amount","type":"uint256"}],"name":"swap","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"referrersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ath","type":"uint256"}],"name":"redemptionPriceCalculate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_i","type":"uint256"}],"name":"investorsAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_a","type":"address"}],"name":"regReferrer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ICO2Period","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_i","type":"uint8"}],"name":"getOwners","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ICO3Period","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_referrer","type":"address"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"affiliatThreshold2","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"min","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"presale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"}],"name":"NewInvestor","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"}],"name":"NewReferrer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"},{"indexed":false,"name":"","type":"address"},{"indexed":false,"name":"","type":"uint256"},{"indexed":false,"name":"","type":"uint256"}],"name":"Referral","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"},{"indexed":false,"name":"","type":"uint256"}],"name":"Bounty","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"},{"indexed":false,"name":"","type":"address"},{"indexed":false,"name":"","type":"uint256"}],"name":"Swap","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"}],"name":"NewSwapToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"","type":"address"},{"indexed":false,"name":"","type":"uint256"}],"name":"Delivery","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

606060405260008060146101000a81548160ff021916908315150217905550699ed194db19b238c000006002556969e10de76676d0800000600355600060045560006005556201518060065560065462093a8001600755600754620d2f0001600855600854620fd200016009556000600b60006101000a81548160ff0219169083600681111561008b57fe5b02179055506001601260006101000a81548160ff021916908315150217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506141ed806100fa6000396000f300606060405260043610610225576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304c98b2b1461023157806305c85c421461025e5780631ab46d4e146102875780631dd0aeef146102c757806329fb598e1461032a5780632b711051146103845780632ca0c835146103ad5780632d3fb0d5146103e457806332a55bb41461041b57806336054f51146104485780633c3c9c23146104715780633feb5f2b1461049a57806342cde4e8146104fd57806346afb9631461052657806356bb4d4a1461055d57806389311e6f146105865780638bab6718146105b35780638da5cb5b1461060757806393e7155b1461065c578063943dfef114610671578063946d92041461069a57806397a532191461072b57806397eb1800146107ab5780639ed49005146107f8578063a035b1fe14610825578063acf555b81461084e578063b071cbe6146108c0578063b4f5b9b9146108e9578063befbae0414610912578063cd8540721461093f578063cf7e01ba14610968578063cfea3bb614610991578063d004f0f7146109fe578063d1558b7c14610a58578063db5df44714610a81578063dce5f27714610ab8578063dfcdc7f214610b1b578063e8b0a26214610b6c578063ec759b8014610b95578063f06d56ae14610bfb578063f088d54714610c24578063f2fde38b14610c52578063f51c290714610c8b578063f889794514610cb4578063fdea8e0b14610cdd575b61022f6000610d06565b005b341561023c57600080fd5b610244611471565b604051808215151515815260200191505060405180910390f35b341561026957600080fd5b610271611540565b6040518082815260200191505060405180910390f35b341561029257600080fd5b6102b16004808035906020019091908035906020019091905050611546565b6040518082815260200191505060405180910390f35b34156102d257600080fd5b6102e86004808035906020019091905050611654565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561033557600080fd5b61036a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611693565b604051808215151515815260200191505060405180910390f35b341561038f57600080fd5b610397611996565b6040518082815260200191505060405180910390f35b34156103b857600080fd5b6103ce60048080359060200190919050506119a3565b6040518082815260200191505060405180910390f35b34156103ef57600080fd5b6103f7611ab0565b6040518082600681111561040757fe5b60ff16815260200191505060405180910390f35b341561042657600080fd5b61042e611d27565b604051808215151515815260200191505060405180910390f35b341561045357600080fd5b61045b611d3a565b6040518082815260200191505060405180910390f35b341561047c57600080fd5b610484611d4b565b6040518082815260200191505060405180910390f35b34156104a557600080fd5b6104bb6004808035906020019091905050611d51565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561050857600080fd5b610510611d90565b6040518082815260200191505060405180910390f35b341561053157600080fd5b610539611d9e565b6040518082600681111561054957fe5b60ff16815260200191505060405180910390f35b341561056857600080fd5b610570611db1565b6040518082815260200191505060405180910390f35b341561059157600080fd5b610599611db7565b604051808215151515815260200191505060405180910390f35b34156105be57600080fd5b6105ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8d565b604051808381526020018281526020019250505060405180910390f35b341561061257600080fd5b61061a611f19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066757600080fd5b61066f611f3e565b005b341561067c57600080fd5b610684611fc5565b6040518082815260200191505060405180910390f35b34156106a557600080fd5b610711600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611fcb565b604051808215151515815260200191505060405180910390f35b341561073657600080fd5b610791600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001909190803590602001909190803515159060200190919050506121a5565b604051808215151515815260200191505060405180910390f35b34156107b657600080fd5b6107e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612488565b6040518082815260200191505060405180910390f35b341561080357600080fd5b61080b6124d1565b604051808215151515815260200191505060405180910390f35b341561083057600080fd5b610838612b57565b6040518082815260200191505060405180910390f35b341561085957600080fd5b6108a6600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612b61565b604051808215151515815260200191505060405180910390f35b34156108cb57600080fd5b6108d3612dd4565b6040518082815260200191505060405180910390f35b34156108f457600080fd5b6108fc612de1565b6040518082815260200191505060405180910390f35b341561091d57600080fd5b610925612df2565b604051808215151515815260200191505060405180910390f35b341561094a57600080fd5b610952613095565b6040518082815260200191505060405180910390f35b341561097357600080fd5b61097b6130a6565b6040518082815260200191505060405180910390f35b341561099c57600080fd5b6109c8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506130ac565b60405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390f35b3415610a0957600080fd5b610a3e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613214565b604051808215151515815260200191505060405180910390f35b3415610a6357600080fd5b610a6b6138df565b6040518082815260200191505060405180910390f35b3415610a8c57600080fd5b610aa260048080359060200190919050506138ec565b6040518082815260200191505060405180910390f35b3415610ac357600080fd5b610ad96004808035906020019091905050613aad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b2657600080fd5b610b52600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613af1565b604051808215151515815260200191505060405180910390f35b3415610b7757600080fd5b610b7f613ce7565b6040518082815260200191505060405180910390f35b3415610ba057600080fd5b610bb9600480803560ff16906020019091905050613ced565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c0657600080fd5b610c0e613d34565b6040518082815260200191505060405180910390f35b610c50600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d06565b005b3415610c5d57600080fd5b610c89600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613d3a565b005b3415610c9657600080fd5b610c9e613e8f565b6040518082815260200191505060405180910390f35b3415610cbf57600080fd5b610cc7613ea0565b6040518082815260200191505060405180910390f35b3415610ce857600080fd5b610cf0613eae565b6040518082815260200191505060405180910390f35b600080600060016006811115610d1857fe5b610d20611ab0565b6006811115610d2b57fe5b1480610d54575060026006811115610d3f57fe5b610d47611ab0565b6006811115610d5257fe5b145b80610d7c575060036006811115610d6757fe5b610d6f611ab0565b6006811115610d7a57fe5b145b80610da4575060046006811115610d8f57fe5b610d97611ab0565b6006811115610da257fe5b145b80610dcc575060056006811115610db757fe5b610dbf611ab0565b6006811115610dca57fe5b145b1515610dd757600080fd5b600060149054906101000a900460ff161515610df257600080fd5b6101f465da475abf0000023410151515610e0b57600080fd5b610e36670de0b6b3a7640000610e3065da475abf000034613eb490919063ffffffff16565b02613ecf565b925060009150601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f9f57610e97346119a3565b91508373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610ed957600080fd5b610ef5610ee63485611546565b8461403190919063ffffffff16565b92507f90f46099733ed637df811df4fcc5cae4961192ca04f36da9ab64b4dd8dc9b7f584333486604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a15b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561106357600080fd5b5af1151561107057600080fd5b50505060405180519050506110903460045461403190919063ffffffff16565b6004819055507fa41a6d0dcc2ddcc48e73640905338672be260cdd8a099612a1564ab7fa820b5d3384604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001600681111561110e57fe5b611116611ab0565b600681111561112157fe5b14156112095761113c8360025461404f90919063ffffffff16565b600281905550600090505b6001600a80549050038111151561120857600a8181548110151561116757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6111d6600a805490506111c8863461404f90919063ffffffff16565b613eb490919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015156111fb57600080fd5b8080600101915050611147565b5b61125b83600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461403190919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550690a968163f0a57b400000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611347575060001515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561146b57600f805480600101828161136091906140a3565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f97d33a7365e760e859a3453f70484ea24a4aeb75478205a52ac35174ead0ccf633604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ce57600080fd5b6006808111156114da57fe5b6114e2611ab0565b60068111156114ed57fe5b141515156114fa57600080fd5b600060149054906101000a900460ff16151561151557600080fd5b6001600b60006101000a81548160ff0219169083600681111561153457fe5b02179055506001905090565b60055481565b600080600090506101f465da475abf000002600a0284101561158c57611589606461157b60078661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf0000026032028410156115cb576115c860646115ba600a8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf00000260640284101561160a5761160760646115f9600f8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf0000026064028410151561164a57611647606461163960148661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b8091505092915050565b60118181548110151561166357fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f057600080fd5b600060149054906101000a900460ff16151561170b57600080fd5b81600354101580156117b8575081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce845d1d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561179e57600080fd5b5af115156117ab57600080fd5b5050506040518051905010155b15156117c357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561188757600080fd5b5af1151561189457600080fd5b50505060405180519050506118b48260035461404f90919063ffffffff16565b6003819055507fa41a6d0dcc2ddcc48e73640905338672be260cdd8a099612a1564ab7fa820b5d8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17f4cc4e2a1284006914465e82a99bce908c3ad5b5d4b08fbef40faf68169cee2a88383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a192915050565b6000600f80549050905090565b600080600090506101f465da475abf000002600a028310156119e9576119e660646119d860038661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf000002603202831015611a2857611a256064611a1760078661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf000002606402831015611a6757611a646064611a56600a8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf00000260640283101515611aa757611aa46064611a96600f8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b80915050919050565b6000806006811115611abe57fe5b600b60009054906101000a900460ff166006811115611ad957fe5b1415611ae85760009050611d24565b600680811115611af457fe5b600b60009054906101000a900460ff166006811115611b0f57fe5b1415611b1e5760069050611d24565b60016006811115611b2b57fe5b600b60009054906101000a900460ff166006811115611b4657fe5b1415611b695760006002541115611b605760019050611d24565b60009050611d24565b60026006811115611b7657fe5b600b60009054906101000a900460ff166006811115611b9157fe5b1415611d23576000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce845d1d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611c1e57600080fd5b5af11515611c2b57600080fd5b50505060405180519050111580611c4d5750683635c9adc5dea0000060045410155b15611c5b5760069050611d24565b600654611c736005544261404f90919063ffffffff16565b111515611c835760029050611d24565b600754611c9b6005544261404f90919063ffffffff16565b111515611cab5760039050611d24565b600854611cc36005544261404f90919063ffffffff16565b111515611cd35760049050611d24565b600954611ceb6005544261404f90919063ffffffff16565b111515611cfb5760059050611d24565b600954611d136005544261404f90919063ffffffff16565b1115611d225760069050611d24565b5b5b90565b601260009054906101000a900460ff1681565b6101f465da475abf00000260640281565b60045481565b600f81815481101515611d6057fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b690a968163f0a57b40000081565b600b60009054906101000a900460ff1681565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1457600080fd5b600680811115611e2057fe5b611e28611ab0565b6006811115611e3357fe5b14151515611e4057600080fd5b600060149054906101000a900460ff161515611e5b57600080fd5b6002600b60006101000a81548160ff02191690836006811115611e7a57fe5b0217905550426005819055506001905090565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491509150915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9957600080fd5b601260009054906101000a900460ff1615601260006101000a81548160ff021916908315150217905550565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561202857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612066575060028251145b80156120b75750600073ffffffffffffffffffffffffffffffffffffffff1682600081518110151561209457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614155b80156121085750600073ffffffffffffffffffffffffffffffffffffffff168260018151811015156120e557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614155b80156121215750600060149054906101000a900460ff16155b151561212c57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a90805190602001906121839291906140cf565b506001600060146101000a81548160ff02191690831515021790555092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561220257600080fd5b60001515601960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612317576001601960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff3a2ec3827c4ae6d0cefea4e5f4ea9dfe208f2454088c1d3cccba6db5972f18b87604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b85601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082601760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055509695505050505050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561253457600080fd5b60068081111561254057fe5b612548611ab0565b600681111561255357fe5b14151561255f57600080fd5b600060149054906101000a900460ff16151561257a57600080fd5b6006600b60006101000a81548160ff0219169083600681111561259957fe5b0217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce845d1d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561262357600080fd5b5af1151561263057600080fd5b50505060405180519050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156126bf57600080fd5b5af115156126cc57600080fd5b50505060405180519050039350683635c9adc5dea0000060045410151561284457600092505b6001600a80549050038311151561283f57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c600a8581548110151561275057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612796600a80549050600354613eb490919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561281a57600080fd5b5af1151561282757600080fd5b505050604051805190505082806001019350506126f2565b6129d2565b61287f600354612871606461286360148961406890919063ffffffff16565b613eb490919063ffffffff16565b61403190919063ffffffff16565b9150600092505b6001600a8054905003831115156129d157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c600a858154811015156128e457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612928600a8054905086613eb490919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156129ac57600080fd5b5af115156129b957600080fd5b50505060405180519050508280600101935050612886565b5b3073ffffffffffffffffffffffffffffffffffffffff16319050600092505b6001600a805490500383111515612aa057600a83815481101515612a1157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612a6e600a8054905084613eb490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515612a9357600080fd5b82806001019350506129f1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349cd4554612ae7866138ec565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612b3857600080fd5b5af11515612b4557600080fd5b50505060405180519050505050505090565b65da475abf000081565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bbf57600080fd5b600060149054906101000a900460ff161515612bda57600080fd5b600090505b600183510381111515612dce5760011515601060008584815181101515612c0257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612dc1576001601060008584815181101515612c7157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060118054806001018281612ce091906140a3565b916000526020600020900160008584815181101515612cfb57fe5b90602001906020020151909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507fae566c1b3aa9561f042dbc3c50b1e235c99a4482566eaad8e814625ba2d8266a8382815181101515612d7557fe5b90602001906020020151604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b8080600101915050612bdf565b50919050565b683635c9adc5dea0000081565b6101f465da475abf00000260320281565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e5257600080fd5b600680811115612e5e57fe5b612e66611ab0565b6006811115612e7157fe5b141515612e7d57600080fd5b600060149054906101000a900460ff161515612e9857600080fd5b6000915060009050600090505b6001600f805490500381111515612f5157612f42600c6000600f84815481101515612ecc57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361403190919063ffffffff16565b91508080600101915050612ea5565b600090505b6001600f8054905003811115156130905761300682612ff86064600c6000600f87815481101515612f8357fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461406890919063ffffffff16565b613eb490919063ffffffff16565b600d6000600f8481548110151561301957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050612f56565b505090565b6101f465da475abf00000260010281565b60065481565b6000806000806000601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169450945094509450945091939590929450565b600080600080601260009054906101000a900460ff16801561327f5750601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156132ca5750601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548510155b15156132d557600080fd5b613378601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461336a87601460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461406890919063ffffffff16565b613eb490919063ffffffff16565b92506133cc83601a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461403190919063ffffffff16565b601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311801561342157508260035410155b80156134ab5750601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411155b15156134b657600080fd5b8591508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561358f57600080fd5b5af1151561359c57600080fd5b5050506040518051905050600090505b6001600a8054905003811115156136d5578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a838154811015156135e857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661362c600a8054905089613eb490919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156136b057600080fd5b5af115156136bd57600080fd5b505050604051805190505080806001019150506135ac565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561379957600080fd5b5af115156137a657600080fd5b50505060405180519050506137c68360035461404f90919063ffffffff16565b6003819055507fa41a6d0dcc2ddcc48e73640905338672be260cdd8a099612a1564ab7fa820b5d3384604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca6338785604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a150505092915050565b6000601180549050905090565b60006a02c1dc581118dc36340000821015156139365761392f6064613921609665da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0269dd021396e8c3a400008210151561397e576139776064613969609165da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0211654585005212800000821015156139c6576139bf60646139b1608c65da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a01b929b54e98b32cf4000082101515613a0e57613a0760646139f9608765da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0167fd2f45f5fa5e80000082101515613a5657613a4f6064613a41608265da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0108b2a2c280290940000082101515613a9e57613a976064613a89607d65da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b65da475abf000090505b919050565b6000600f82815481101515613abe57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613b4e57600080fd5b600060149054906101000a900460ff161515613b6957600080fd5b60011515601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515613ce2576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060118054806001018281613c2f91906140a3565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507fae566c1b3aa9561f042dbc3c50b1e235c99a4482566eaad8e814625ba2d8266a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b919050565b60075481565b6000600a8260ff16815481101515613d0157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613d9557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613dd157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6101f465da475abf000002600a0281565b6101f465da475abf00000281565b60025481565b6000808284811515613ec257fe5b0490508091505092915050565b6000806000905060016006811115613ee357fe5b613eeb611ab0565b6006811115613ef657fe5b1415613f2657613f236064613f1560328661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b60026006811115613f3357fe5b613f3b611ab0565b6006811115613f4657fe5b1415613f7657613f736064613f6560238661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b60036006811115613f8357fe5b613f8b611ab0565b6006811115613f9657fe5b1415613fc657613fc36064613fb560198661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b60046006811115613fd357fe5b613fdb611ab0565b6006811115613fe657fe5b1415614016576140136064614005600f8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b614029818461403190919063ffffffff16565b915050919050565b600080828401905083811015151561404557fe5b8091505092915050565b600082821115151561405d57fe5b818303905092915050565b600080600084141561407d576000915061409c565b828402905082848281151561408e57fe5b0414151561409857fe5b8091505b5092915050565b8154818355818115116140ca578183600052602060002091820191016140c99190614159565b5b505050565b828054828255906000526020600020908101928215614148579160200282015b828111156141475782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906140ef565b5b509050614155919061417e565b5090565b61417b91905b8082111561417757600081600090555060010161415f565b5090565b90565b6141be91905b808211156141ba57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101614184565b5090565b905600a165627a7a723058208da8d15cd130087f85ee16ffa96fcccf2d5a125d0af1d54e8eb1627d622a27920029

Deployed Bytecode

0x606060405260043610610225576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806304c98b2b1461023157806305c85c421461025e5780631ab46d4e146102875780631dd0aeef146102c757806329fb598e1461032a5780632b711051146103845780632ca0c835146103ad5780632d3fb0d5146103e457806332a55bb41461041b57806336054f51146104485780633c3c9c23146104715780633feb5f2b1461049a57806342cde4e8146104fd57806346afb9631461052657806356bb4d4a1461055d57806389311e6f146105865780638bab6718146105b35780638da5cb5b1461060757806393e7155b1461065c578063943dfef114610671578063946d92041461069a57806397a532191461072b57806397eb1800146107ab5780639ed49005146107f8578063a035b1fe14610825578063acf555b81461084e578063b071cbe6146108c0578063b4f5b9b9146108e9578063befbae0414610912578063cd8540721461093f578063cf7e01ba14610968578063cfea3bb614610991578063d004f0f7146109fe578063d1558b7c14610a58578063db5df44714610a81578063dce5f27714610ab8578063dfcdc7f214610b1b578063e8b0a26214610b6c578063ec759b8014610b95578063f06d56ae14610bfb578063f088d54714610c24578063f2fde38b14610c52578063f51c290714610c8b578063f889794514610cb4578063fdea8e0b14610cdd575b61022f6000610d06565b005b341561023c57600080fd5b610244611471565b604051808215151515815260200191505060405180910390f35b341561026957600080fd5b610271611540565b6040518082815260200191505060405180910390f35b341561029257600080fd5b6102b16004808035906020019091908035906020019091905050611546565b6040518082815260200191505060405180910390f35b34156102d257600080fd5b6102e86004808035906020019091905050611654565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561033557600080fd5b61036a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611693565b604051808215151515815260200191505060405180910390f35b341561038f57600080fd5b610397611996565b6040518082815260200191505060405180910390f35b34156103b857600080fd5b6103ce60048080359060200190919050506119a3565b6040518082815260200191505060405180910390f35b34156103ef57600080fd5b6103f7611ab0565b6040518082600681111561040757fe5b60ff16815260200191505060405180910390f35b341561042657600080fd5b61042e611d27565b604051808215151515815260200191505060405180910390f35b341561045357600080fd5b61045b611d3a565b6040518082815260200191505060405180910390f35b341561047c57600080fd5b610484611d4b565b6040518082815260200191505060405180910390f35b34156104a557600080fd5b6104bb6004808035906020019091905050611d51565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561050857600080fd5b610510611d90565b6040518082815260200191505060405180910390f35b341561053157600080fd5b610539611d9e565b6040518082600681111561054957fe5b60ff16815260200191505060405180910390f35b341561056857600080fd5b610570611db1565b6040518082815260200191505060405180910390f35b341561059157600080fd5b610599611db7565b604051808215151515815260200191505060405180910390f35b34156105be57600080fd5b6105ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e8d565b604051808381526020018281526020019250505060405180910390f35b341561061257600080fd5b61061a611f19565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066757600080fd5b61066f611f3e565b005b341561067c57600080fd5b610684611fc5565b6040518082815260200191505060405180910390f35b34156106a557600080fd5b610711600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050611fcb565b604051808215151515815260200191505060405180910390f35b341561073657600080fd5b610791600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190803590602001909190803590602001909190803515159060200190919050506121a5565b604051808215151515815260200191505060405180910390f35b34156107b657600080fd5b6107e2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612488565b6040518082815260200191505060405180910390f35b341561080357600080fd5b61080b6124d1565b604051808215151515815260200191505060405180910390f35b341561083057600080fd5b610838612b57565b6040518082815260200191505060405180910390f35b341561085957600080fd5b6108a6600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091905050612b61565b604051808215151515815260200191505060405180910390f35b34156108cb57600080fd5b6108d3612dd4565b6040518082815260200191505060405180910390f35b34156108f457600080fd5b6108fc612de1565b6040518082815260200191505060405180910390f35b341561091d57600080fd5b610925612df2565b604051808215151515815260200191505060405180910390f35b341561094a57600080fd5b610952613095565b6040518082815260200191505060405180910390f35b341561097357600080fd5b61097b6130a6565b6040518082815260200191505060405180910390f35b341561099c57600080fd5b6109c8600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506130ac565b60405180868152602001858152602001848152602001838152602001821515151581526020019550505050505060405180910390f35b3415610a0957600080fd5b610a3e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050613214565b604051808215151515815260200191505060405180910390f35b3415610a6357600080fd5b610a6b6138df565b6040518082815260200191505060405180910390f35b3415610a8c57600080fd5b610aa260048080359060200190919050506138ec565b6040518082815260200191505060405180910390f35b3415610ac357600080fd5b610ad96004808035906020019091905050613aad565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610b2657600080fd5b610b52600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613af1565b604051808215151515815260200191505060405180910390f35b3415610b7757600080fd5b610b7f613ce7565b6040518082815260200191505060405180910390f35b3415610ba057600080fd5b610bb9600480803560ff16906020019091905050613ced565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610c0657600080fd5b610c0e613d34565b6040518082815260200191505060405180910390f35b610c50600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d06565b005b3415610c5d57600080fd5b610c89600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050613d3a565b005b3415610c9657600080fd5b610c9e613e8f565b6040518082815260200191505060405180910390f35b3415610cbf57600080fd5b610cc7613ea0565b6040518082815260200191505060405180910390f35b3415610ce857600080fd5b610cf0613eae565b6040518082815260200191505060405180910390f35b600080600060016006811115610d1857fe5b610d20611ab0565b6006811115610d2b57fe5b1480610d54575060026006811115610d3f57fe5b610d47611ab0565b6006811115610d5257fe5b145b80610d7c575060036006811115610d6757fe5b610d6f611ab0565b6006811115610d7a57fe5b145b80610da4575060046006811115610d8f57fe5b610d97611ab0565b6006811115610da257fe5b145b80610dcc575060056006811115610db757fe5b610dbf611ab0565b6006811115610dca57fe5b145b1515610dd757600080fd5b600060149054906101000a900460ff161515610df257600080fd5b6101f465da475abf0000023410151515610e0b57600080fd5b610e36670de0b6b3a7640000610e3065da475abf000034613eb490919063ffffffff16565b02613ecf565b925060009150601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610f9f57610e97346119a3565b91508373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f193505050501515610ed957600080fd5b610ef5610ee63485611546565b8461403190919063ffffffff16565b92507f90f46099733ed637df811df4fcc5cae4961192ca04f36da9ab64b4dd8dc9b7f584333486604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200182815260200194505050505060405180910390a15b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561106357600080fd5b5af1151561107057600080fd5b50505060405180519050506110903460045461403190919063ffffffff16565b6004819055507fa41a6d0dcc2ddcc48e73640905338672be260cdd8a099612a1564ab7fa820b5d3384604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a16001600681111561110e57fe5b611116611ab0565b600681111561112157fe5b14156112095761113c8360025461404f90919063ffffffff16565b600281905550600090505b6001600a80549050038111151561120857600a8181548110151561116757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6111d6600a805490506111c8863461404f90919063ffffffff16565b613eb490919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015156111fb57600080fd5b8080600101915050611147565b5b61125b83600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461403190919063ffffffff16565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550690a968163f0a57b400000600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410158015611347575060001515600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b1561146b57600f805480600101828161136091906140a3565b9160005260206000209001600033909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506001600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f97d33a7365e760e859a3453f70484ea24a4aeb75478205a52ac35174ead0ccf633604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b50505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114ce57600080fd5b6006808111156114da57fe5b6114e2611ab0565b60068111156114ed57fe5b141515156114fa57600080fd5b600060149054906101000a900460ff16151561151557600080fd5b6001600b60006101000a81548160ff0219169083600681111561153457fe5b02179055506001905090565b60055481565b600080600090506101f465da475abf000002600a0284101561158c57611589606461157b60078661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf0000026032028410156115cb576115c860646115ba600a8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf00000260640284101561160a5761160760646115f9600f8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf0000026064028410151561164a57611647606461163960148661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b8091505092915050565b60118181548110151561166357fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156116f057600080fd5b600060149054906101000a900460ff16151561170b57600080fd5b81600354101580156117b8575081600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce845d1d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561179e57600080fd5b5af115156117ab57600080fd5b5050506040518051905010155b15156117c357600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c84846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561188757600080fd5b5af1151561189457600080fd5b50505060405180519050506118b48260035461404f90919063ffffffff16565b6003819055507fa41a6d0dcc2ddcc48e73640905338672be260cdd8a099612a1564ab7fa820b5d8383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17f4cc4e2a1284006914465e82a99bce908c3ad5b5d4b08fbef40faf68169cee2a88383604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a192915050565b6000600f80549050905090565b600080600090506101f465da475abf000002600a028310156119e9576119e660646119d860038661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf000002603202831015611a2857611a256064611a1760078661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf000002606402831015611a6757611a646064611a56600a8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b6101f465da475abf00000260640283101515611aa757611aa46064611a96600f8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b80915050919050565b6000806006811115611abe57fe5b600b60009054906101000a900460ff166006811115611ad957fe5b1415611ae85760009050611d24565b600680811115611af457fe5b600b60009054906101000a900460ff166006811115611b0f57fe5b1415611b1e5760069050611d24565b60016006811115611b2b57fe5b600b60009054906101000a900460ff166006811115611b4657fe5b1415611b695760006002541115611b605760019050611d24565b60009050611d24565b60026006811115611b7657fe5b600b60009054906101000a900460ff166006811115611b9157fe5b1415611d23576000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce845d1d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515611c1e57600080fd5b5af11515611c2b57600080fd5b50505060405180519050111580611c4d5750683635c9adc5dea0000060045410155b15611c5b5760069050611d24565b600654611c736005544261404f90919063ffffffff16565b111515611c835760029050611d24565b600754611c9b6005544261404f90919063ffffffff16565b111515611cab5760039050611d24565b600854611cc36005544261404f90919063ffffffff16565b111515611cd35760049050611d24565b600954611ceb6005544261404f90919063ffffffff16565b111515611cfb5760059050611d24565b600954611d136005544261404f90919063ffffffff16565b1115611d225760069050611d24565b5b5b90565b601260009054906101000a900460ff1681565b6101f465da475abf00000260640281565b60045481565b600f81815481101515611d6057fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b690a968163f0a57b40000081565b600b60009054906101000a900460ff1681565b60095481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e1457600080fd5b600680811115611e2057fe5b611e28611ab0565b6006811115611e3357fe5b14151515611e4057600080fd5b600060149054906101000a900460ff161515611e5b57600080fd5b6002600b60006101000a81548160ff02191690836006811115611e7a57fe5b0217905550426005819055506001905090565b600080600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491509150915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611f9957600080fd5b601260009054906101000a900460ff1615601260006101000a81548160ff021916908315150217905550565b60035481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561202857600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612066575060028251145b80156120b75750600073ffffffffffffffffffffffffffffffffffffffff1682600081518110151561209457fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614155b80156121085750600073ffffffffffffffffffffffffffffffffffffffff168260018151811015156120e557fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1614155b80156121215750600060149054906101000a900460ff16155b151561212c57600080fd5b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a90805190602001906121839291906140cf565b506001600060146101000a81548160ff02191690831515021790555092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561220257600080fd5b60001515601960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415612317576001601960008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507ff3a2ec3827c4ae6d0cefea4e5f4ea9dfe208f2454088c1d3cccba6db5972f18b87604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b85601460008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084601560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082601760008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081601860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055509695505050505050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008060008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561253457600080fd5b60068081111561254057fe5b612548611ab0565b600681111561255357fe5b14151561255f57600080fd5b600060149054906101000a900460ff16151561257a57600080fd5b6006600b60006101000a81548160ff0219169083600681111561259957fe5b0217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ce845d1d6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561262357600080fd5b5af1151561263057600080fd5b50505060405180519050600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156126bf57600080fd5b5af115156126cc57600080fd5b50505060405180519050039350683635c9adc5dea0000060045410151561284457600092505b6001600a80549050038311151561283f57600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c600a8581548110151561275057fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612796600a80549050600354613eb490919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561281a57600080fd5b5af1151561282757600080fd5b505050604051805190505082806001019350506126f2565b6129d2565b61287f600354612871606461286360148961406890919063ffffffff16565b613eb490919063ffffffff16565b61403190919063ffffffff16565b9150600092505b6001600a8054905003831115156129d157600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c600a858154811015156128e457fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612928600a8054905086613eb490919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156129ac57600080fd5b5af115156129b957600080fd5b50505060405180519050508280600101935050612886565b5b3073ffffffffffffffffffffffffffffffffffffffff16319050600092505b6001600a805490500383111515612aa057600a83815481101515612a1157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc612a6e600a8054905084613eb490919063ffffffff16565b9081150290604051600060405180830381858888f193505050501515612a9357600080fd5b82806001019350506129f1565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349cd4554612ae7866138ec565b6040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612b3857600080fd5b5af11515612b4557600080fd5b50505060405180519050505050505090565b65da475abf000081565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612bbf57600080fd5b600060149054906101000a900460ff161515612bda57600080fd5b600090505b600183510381111515612dce5760011515601060008584815181101515612c0257fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515612dc1576001601060008584815181101515612c7157fe5b9060200190602002015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060118054806001018281612ce091906140a3565b916000526020600020900160008584815181101515612cfb57fe5b90602001906020020151909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507fae566c1b3aa9561f042dbc3c50b1e235c99a4482566eaad8e814625ba2d8266a8382815181101515612d7557fe5b90602001906020020151604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b8080600101915050612bdf565b50919050565b683635c9adc5dea0000081565b6101f465da475abf00000260320281565b60008060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515612e5257600080fd5b600680811115612e5e57fe5b612e66611ab0565b6006811115612e7157fe5b141515612e7d57600080fd5b600060149054906101000a900460ff161515612e9857600080fd5b6000915060009050600090505b6001600f805490500381111515612f5157612f42600c6000600f84815481101515612ecc57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548361403190919063ffffffff16565b91508080600101915050612ea5565b600090505b6001600f8054905003811115156130905761300682612ff86064600c6000600f87815481101515612f8357fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461406890919063ffffffff16565b613eb490919063ffffffff16565b600d6000600f8481548110151561301957fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508080600101915050612f56565b505090565b6101f465da475abf00000260010281565b60065481565b6000806000806000601460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601760008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601860008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169450945094509450945091939590929450565b600080600080601260009054906101000a900460ff16801561327f5750601860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b80156132ca5750601760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548510155b15156132d557600080fd5b613378601560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461336a87601460008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461406890919063ffffffff16565b613eb490919063ffffffff16565b92506133cc83601a60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461403190919063ffffffff16565b601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008311801561342157508260035410155b80156134ab5750601660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601a60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411155b15156134b657600080fd5b8591508173ffffffffffffffffffffffffffffffffffffffff166323b872dd3330886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561358f57600080fd5b5af1151561359c57600080fd5b5050506040518051905050600090505b6001600a8054905003811115156136d5578173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600a838154811015156135e857fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1661362c600a8054905089613eb490919063ffffffff16565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156136b057600080fd5b5af115156136bd57600080fd5b505050604051805190505080806001019150506135ac565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b3bb594c33856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561379957600080fd5b5af115156137a657600080fd5b50505060405180519050506137c68360035461404f90919063ffffffff16565b6003819055507fa41a6d0dcc2ddcc48e73640905338672be260cdd8a099612a1564ab7fa820b5d3384604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390a17fea368a40e9570069bb8e6511d668293ad2e1f03b0d982431fd223de9f3b70ca6338785604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a150505092915050565b6000601180549050905090565b60006a02c1dc581118dc36340000821015156139365761392f6064613921609665da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0269dd021396e8c3a400008210151561397e576139776064613969609165da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0211654585005212800000821015156139c6576139bf60646139b1608c65da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a01b929b54e98b32cf4000082101515613a0e57613a0760646139f9608765da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0167fd2f45f5fa5e80000082101515613a5657613a4f6064613a41608265da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b6a0108b2a2c280290940000082101515613a9e57613a976064613a89607d65da475abf000061406890919063ffffffff16565b613eb490919063ffffffff16565b9050613aa8565b65da475abf000090505b919050565b6000600f82815481101515613abe57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613b4e57600080fd5b600060149054906101000a900460ff161515613b6957600080fd5b60011515601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515613ce2576001601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060118054806001018281613c2f91906140a3565b9160005260206000209001600084909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550507fae566c1b3aa9561f042dbc3c50b1e235c99a4482566eaad8e814625ba2d8266a82604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b919050565b60075481565b6000600a8260ff16815481101515613d0157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60085481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515613d9557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515613dd157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6101f465da475abf000002600a0281565b6101f465da475abf00000281565b60025481565b6000808284811515613ec257fe5b0490508091505092915050565b6000806000905060016006811115613ee357fe5b613eeb611ab0565b6006811115613ef657fe5b1415613f2657613f236064613f1560328661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b60026006811115613f3357fe5b613f3b611ab0565b6006811115613f4657fe5b1415613f7657613f736064613f6560238661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b60036006811115613f8357fe5b613f8b611ab0565b6006811115613f9657fe5b1415613fc657613fc36064613fb560198661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b60046006811115613fd357fe5b613fdb611ab0565b6006811115613fe657fe5b1415614016576140136064614005600f8661406890919063ffffffff16565b613eb490919063ffffffff16565b90505b614029818461403190919063ffffffff16565b915050919050565b600080828401905083811015151561404557fe5b8091505092915050565b600082821115151561405d57fe5b818303905092915050565b600080600084141561407d576000915061409c565b828402905082848281151561408e57fe5b0414151561409857fe5b8091505b5092915050565b8154818355818115116140ca578183600052602060002091820191016140c99190614159565b5b505050565b828054828255906000526020600020908101928215614148579160200282015b828111156141475782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550916020019190600101906140ef565b5b509050614155919061417e565b5090565b61417b91905b8082111561417757600081600090555060010161415f565b5090565b90565b6141be91905b808211156141ba57600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101614184565b5090565b905600a165627a7a723058208da8d15cd130087f85ee16ffa96fcccf2d5a125d0af1d54e8eb1627d622a27920029

Swarm Source

bzzr://8da8d15cd130087f85ee16ffa96fcccf2d5a125d0af1d54e8eb1627d622a2792

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
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.