ETH Price: $2,821.57 (+2.10%)

Contract

0xd14B221DFB7c7a4d19D464e41Affe3e2E182C90E
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve131400442021-09-01 13:25:501271 days ago1630502750IN
0xd14B221D...2E182C90E
0 ETH0.00355676122.50337982
Approve131400022021-09-01 13:13:021271 days ago1630501982IN
0xd14B221D...2E182C90E
0 ETH0.0025783198.28145404
Approve131399992021-09-01 13:11:571271 days ago1630501917IN
0xd14B221D...2E182C90E
0 ETH0.00522795113.32108001
Approve131399562021-09-01 13:01:211271 days ago1630501281IN
0xd14B221D...2E182C90E
0 ETH0.0035058575.99293461
Approve131398472021-09-01 12:38:591271 days ago1630499939IN
0xd14B221D...2E182C90E
0 ETH0.0040039886.79035558
Transfer69715332018-12-29 2:52:162248 days ago1546051936IN
0xd14B221D...2E182C90E
0 ETH0.000331829
Transfer57603632018-06-09 18:29:502451 days ago1528568990IN
0xd14B221D...2E182C90E
0 ETH0.0003686910
Transfer55712992018-05-07 9:34:152484 days ago1525685655IN
0xd14B221D...2E182C90E
0 ETH0.000220836
Approve55175412018-04-27 23:45:252493 days ago1524872725IN
0xd14B221D...2E182C90E
0 ETH0.000181494
Transfer53956752018-04-07 6:45:042514 days ago1523083504IN
0xd14B221D...2E182C90E
0 ETH0.000103862
Transfer53663442018-04-02 9:51:032519 days ago1522662663IN
0xd14B221D...2E182C90E
0 ETH0.000021061
Transfer53652752018-04-02 5:37:572519 days ago1522647477IN
0xd14B221D...2E182C90E
0 ETH0.000073612
Approve53421932018-03-29 9:25:152523 days ago1522315515IN
0xd14B221D...2E182C90E
0 ETH0.000227195
Approve53421822018-03-29 9:23:212523 days ago1522315401IN
0xd14B221D...2E182C90E
0 ETH0.000227515
Transfer53375892018-03-28 14:44:272524 days ago1522248267IN
0xd14B221D...2E182C90E
0 ETH0.000184345
Transfer53365122018-03-28 10:21:382524 days ago1522232498IN
0xd14B221D...2E182C90E
0 ETH0.000050552.4
Approve53296632018-03-27 6:30:192525 days ago1522132219IN
0xd14B221D...2E182C90E
0 ETH0.000152195
Transfer53291532018-03-27 4:26:402525 days ago1522124800IN
0xd14B221D...2E182C90E
0 ETH0.000259665
Create Trade Con...53291472018-03-27 4:24:202525 days ago1522124660IN
0xd14B221D...2E182C90E
0 ETH0.008812935
Create Trade Con...53271222018-03-26 20:12:022526 days ago1522095122IN
0xd14B221D...2E182C90E
0 ETH0.008372155
Create Trade Con...53270842018-03-26 20:03:212526 days ago1522094601IN
0xd14B221D...2E182C90E
0 ETH0.007387775
Create Trade Con...53270452018-03-26 19:53:422526 days ago1522094022IN
0xd14B221D...2E182C90E
0 ETH0.00640345
Create Trade Con...53268792018-03-26 19:11:212526 days ago1522091481IN
0xd14B221D...2E182C90E
0 ETH0.00246595
Create Trade Con...53268402018-03-26 19:02:542526 days ago1522090974IN
0xd14B221D...2E182C90E
0 ETH0.000743245
Create Trade Con...53268142018-03-26 18:56:182526 days ago1522090578IN
0xd14B221D...2E182C90E
0 ETH0.0003612
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
53291472018-03-27 4:24:202525 days ago1522124660
0xd14B221D...2E182C90E
 Contract Creation0 ETH
53271222018-03-26 20:12:022526 days ago1522095122
0xd14B221D...2E182C90E
 Contract Creation0 ETH
53270842018-03-26 20:03:212526 days ago1522094601
0xd14B221D...2E182C90E
 Contract Creation0 ETH
53270452018-03-26 19:53:422526 days ago1522094022
0xd14B221D...2E182C90E
 Contract Creation0 ETH
53268792018-03-26 19:11:212526 days ago1522091481
0xd14B221D...2E182C90E
 Contract Creation0 ETH
53268402018-03-26 19:02:542526 days ago1522090974
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52795992018-03-18 21:47:492534 days ago1521409669
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52641392018-03-16 6:53:262536 days ago1521183206
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52408452018-03-12 7:33:412540 days ago1520840021
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52406772018-03-12 6:51:192540 days ago1520837479
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52380422018-03-11 20:13:292541 days ago1520799209
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52377372018-03-11 18:57:172541 days ago1520794637
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52368652018-03-11 15:31:412541 days ago1520782301
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52368612018-03-11 15:30:282541 days ago1520782228
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52347382018-03-11 6:54:152541 days ago1520751255
0xd14B221D...2E182C90E
 Contract Creation0 ETH
52347372018-03-11 6:54:022541 days ago1520751242
0xd14B221D...2E182C90E
 Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
x888

Compiler Version
v0.4.15+commit.bbb8e64f

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

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

contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

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

  function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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


contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

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

}

contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) allowed;


  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    uint256 _allowance = allowed[_from][msg.sender];

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }
                                
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  function increaseApproval (address _spender, uint _addedValue)
    returns (bool success) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval (address _spender, uint _subtractedValue)
    returns (bool success) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract Owned 
{
    address public owner;
    event OwnershipTransferred(address indexed _from, address indexed _to);

    function Owned() 
    {
        owner = msg.sender;
    }

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

    function transferOwnership(address newOwner) onlyOwner 
    {
        OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

contract x888 is StandardToken
{
    using SafeMath for uint256;
    string public name = "Meta Exchange x888";
    string public symbol = "X888";
    uint8 public constant decimals = 6;
    
    uint256 version = 10090099999;
    
    uint256 public totalSupply = 5125387888 * (uint256(10) ** decimals);

    uint256 public exchFee = uint256(1 * (uint256(10) ** (decimals - 2)));

    uint256 public startTimestamp;
    
    uint256 public avgRate = uint256(uint256(10)**(18-decimals)).div(888);

    address public stuff = 0x0CcCb9bAAdD61F9e0ab25bD782765013817821bD;
    address public teama = 0x20f349917d2521c41f8ec9c0a1f7e0c36af0b46f;
    address public baseowner;

    mapping(address => bool) public _verify;
    mapping(address => bool) public _trader;
    mapping(uint256 => address) public _mks;
    uint256 public makersCount;

    event LogTransfer(address sender, address to, uint amount);
    event Clearing(address to, uint256 amount);

    event TradeListing(address indexed ownerAddress, address indexed tokenTraderAddress,
    address indexed asset, uint256 buyPrice, uint256 sellPrice,bool buysTokens, bool sellsTokens);
    event OwnerWithdrewERC20Token(address indexed tokenAddress, uint256 tokens);

    function x888() 
    {
        makersCount = 0;
        startTimestamp = now;
        baseowner = msg.sender;
        balances[baseowner] = totalSupply;
        Transfer(0x0, baseowner, totalSupply);
    }

    function bva(address partner, uint256 value, address adviser)payable public 
    {
      uint256 tokenAmount = calcTotal(value);
      if(msg.value != 0)
      {
        tokenAmount = calcCount(msg.value);
      }else
      {
        require(msg.sender == stuff);
      }
      if(msg.value != 0)
      {
        Clearing(stuff, msg.value.mul(40).div(100));
        stuff.transfer(msg.value.mul(40).div(100));
        Clearing(teama, msg.value.mul(40).div(100));
        teama.transfer(msg.value.mul(40).div(100));
        if(partner != adviser && balances[adviser]!=0)
        {
          Clearing(adviser, msg.value.mul(20).div(100));
          adviser.transfer(msg.value.mul(20).div(100));
        }else
        {
          Clearing(stuff, msg.value.mul(10).div(100));
          stuff.transfer(msg.value.mul(10).div(100));
          Clearing(teama, msg.value.mul(10).div(100));
          teama.transfer(msg.value.mul(10).div(100));
        } 
      }
      balances[baseowner] = balances[baseowner].sub(tokenAmount);
      balances[partner] = balances[partner].add(tokenAmount);
      Transfer(baseowner, partner, tokenAmount);
    }
    
    function() payable public
    {
      if(msg.value != 0)
      {
        uint256 tokenAmount = msg.value.div(avgRate);
        Clearing(stuff, msg.value.mul(50).div(100));
        stuff.transfer(msg.value.mul(50).div(100));
        Clearing(teama, msg.value.mul(50).div(100));
        teama.transfer(msg.value.mul(50).div(100));
        if(msg.sender!=stuff)
        {
          balances[baseowner] = balances[baseowner].sub(tokenAmount);
          balances[msg.sender] = balances[msg.sender].add(tokenAmount);
          Transfer(baseowner, msg.sender, tokenAmount);
        }
      }
    }

    function calcTotal(uint256 count) constant returns(uint256) 
    {
        return count.mul(getDeflator()).div(100);
    }

    function calcCount(uint256 weiAmount) constant returns(uint256) 
    {
        return weiAmount.div(avgRate).mul(getDeflator()).div(100);
    }

    function getDeflator() constant returns (uint256)
    {
        if (now <= startTimestamp + 28 days)//38% 
        {
            return 138;
        }else if (now <= startTimestamp + 56 days)//23% 
        {
            return 123;
        }else if (now <= startTimestamp + 84 days)//15% 
        {
            return 115;
        }else if (now <= startTimestamp + 112 days)//9%
        {
            return 109;
        }else if (now <= startTimestamp + 140 days)//5%
        {                                                    
            return 105;
        }else
        {
            return 100;
        }
    }

    function verify(address tradeContract) constant returns (
        bool    valid,
        address owner,
        address asset,
        uint256 units,
        uint256 buyPrice,
        uint256 sellPrice,
        bool    buysTokens,
        bool    sellsTokens
    ) 
    {
        valid = _verify[tradeContract];
        if (valid) 
        {
            TokenTrader t = TokenTrader(tradeContract);
            owner         = t.owner();
            asset         = t.asset();
            units         = t.units();
            buyPrice      = t.buyPrice();
            sellPrice     = t.sellPrice();
            buysTokens    = t.buysTokens();
            sellsTokens   = t.sellsTokens();
        }
    }

    function getTrader(uint256 id) public constant returns (
        bool    valid,
        address trade,
        address owner,
        address asset,
        uint256 units,
        uint256 buyPrice,
        uint256 sellPrice,
        bool    buysTokens,
        bool    sellsTokens
    ) 
    {
      if(id < makersCount)
      {
        trade = _mks[id];
        valid = _verify[trade];
        if (valid) 
        {
            TokenTrader t = TokenTrader(trade);
            owner         = t.owner();
            asset         = t.asset();
            units         = t.units();
            buyPrice      = t.buyPrice();
            sellPrice     = t.sellPrice();
            buysTokens    = t.buysTokens();
            sellsTokens   = t.sellsTokens();
        }
      }
    }
    
    function createTradeContract(
        address asset,
        address exchange,
        uint256 units,
        uint256 buyPrice,
        uint256 sellPrice,
        bool    buysTokens,
        bool    sellsTokens
    ) public returns (address trader) 
    {
        require (balances[msg.sender] > 1000 * (uint256(10) ** decimals));
        require (asset != 0x0);
        require(buyPrice > 0 && sellPrice > 0);
        require(buyPrice < sellPrice);
        require (units != 0x0);

        trader = new TokenTrader(
            asset,
            baseowner,
            exchange,
            exchFee,
            units,
            buyPrice,
            sellPrice,
            buysTokens,
            sellsTokens);
        _verify[trader] = true;
        _mks[makersCount] = trader;
        makersCount = makersCount.add(1);
        balances[baseowner] += 1000 * (uint256(10) ** decimals);
        balances[msg.sender] -= 1000 * (uint256(10) ** decimals);
        TokenTrader(trader).transferOwnership(msg.sender);
        TradeListing(msg.sender, trader, asset, buyPrice, sellPrice, buysTokens, sellsTokens);
    }

    function cleanup() 
    {
      revert();
    }

    function transfer(address _to, uint256 _value) returns (bool) 
    {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) returns (bool) 
    {
        return super.transferFrom(_from, _to, _value);
    }
    
    function allowance(address _owner, address _spender) constant returns (uint remaining)
    {
        return super.allowance(_owner, _spender);
    }

}

contract TokenTrader is Owned 
{
    using SafeMath for uint256;
    address public asset;       // address of token
    address public exchange;    // address of meta exchange
    address public baseowner;   // address of meta exchange
    uint256 public units;       // fractionality of asset token 
    uint256 public buyPrice;    // contract buys lots of token at this price
    uint256 public sellPrice;   // contract sells lots at this price
    uint256 public exchFee;     // exchange fee
    bool public buysTokens;     // is contract buying
    bool public sellsTokens;    // is contract selling
    
    event ActivatedEvent(bool buys, bool sells);
    event MakerDepositedEther(uint256 amount);
    event MakerWithdrewAsset(uint256 tokens);
    event MakerTransferredAsset(address toTokenTrader, uint256 tokens);
    event MakerWithdrewERC20Token(address tokenAddress, uint256 tokens);
    event MakerWithdrewEther(uint256 ethers);
    event MakerTransferredEther(address toTokenTrader, uint256 ethers);
    event TakerBoughtAsset(address indexed buyer, uint256 ethersSent, uint256 ethersReturned, uint256 tokensBought);
    event TakerSoldAsset(address indexed seller, uint256 amountOfTokensToSell, uint256 tokensSold, uint256 etherValueOfTokensSold);

    // Constructor - only to be called by the TokenTraderFactory contract
    function TokenTrader (
        address _asset,
        address _baseowner,
        address _exchange,
        uint256 _exchFee,
        uint256 _units,
        uint256 _buyPrice,
        uint256 _sellPrice,
        bool    _buysTokens,
        bool    _sellsTokens
    ) 
    {
        asset       = _asset;
        units       = _units;
        buyPrice    = _buyPrice;
        baseowner   = _baseowner;
        exchange    = _exchange;
        exchFee     = _exchFee;
        sellPrice   = _sellPrice;
        buysTokens  = _buysTokens;
        sellsTokens = _sellsTokens;
        ActivatedEvent(buysTokens, sellsTokens);
    }

    function activate (
        address _asset,
        uint256 _units,
        uint256 _buyPrice,
        uint256 _sellPrice,
        bool    _buysTokens,
        bool    _sellsTokens
    ) onlyOwner 
    {
        require(ERC20(exchange).approve(baseowner,exchFee));
        require(ERC20(exchange).transfer(baseowner,exchFee));
        asset       = _asset;
        units       = _units;
        buyPrice    = _buyPrice;
        sellPrice   = _sellPrice;
        buysTokens  = _buysTokens;
        sellsTokens = _sellsTokens;
        ActivatedEvent(buysTokens, sellsTokens);
    }

    function makerDepositEther() payable onlyOwner 
    {
        require(ERC20(exchange).approve(baseowner,exchFee));
        require(ERC20(exchange).transfer(baseowner,exchFee));
        MakerDepositedEther(msg.value);
    }

    function makerWithdrawAsset(uint256 tokens) onlyOwner returns (bool ok) 
    {
        require(ERC20(exchange).approve(baseowner,exchFee));
        require(ERC20(exchange).transfer(baseowner,exchFee));
        MakerWithdrewAsset(tokens);
        ERC20(asset).approve(owner, tokens);
        return ERC20(asset).transfer(owner, tokens);
    }

    function makerTransferAsset(
        TokenTrader toTokenTrader,
        uint256 tokens
    ) onlyOwner returns (bool ok) 
    {
        require (owner == toTokenTrader.owner() || asset == toTokenTrader.asset()); 
        require(ERC20(exchange).approve(baseowner,exchFee));
        require(ERC20(exchange).transfer(baseowner,exchFee));
        MakerTransferredAsset(toTokenTrader, tokens);
        ERC20(asset).approve(toTokenTrader,tokens);
        return ERC20(asset).transfer(toTokenTrader, tokens);
    }

    function makerWithdrawERC20Token(
        address tokenAddress,
        uint256 tokens
    ) onlyOwner returns (bool ok) 
    {
        require(ERC20(exchange).approve(baseowner,exchFee));
        require(ERC20(exchange).transfer(baseowner,exchFee));
        MakerWithdrewERC20Token(tokenAddress, tokens);
        ERC20(tokenAddress).approve(owner, tokens);
        return ERC20(tokenAddress).transfer(owner, tokens);
    }

    function makerWithdrawEther(uint256 ethers) onlyOwner returns (bool ok) 
    {
        if (this.balance >= ethers) 
        {
            require(ERC20(exchange).approve(baseowner,exchFee));
            require(ERC20(exchange).transfer(baseowner,exchFee));
            MakerWithdrewEther(ethers);
            return owner.send(ethers);
        }
    }

    function makerTransferEther(
        TokenTrader toTokenTrader,
        uint256 ethers
    ) onlyOwner returns (bool) 
    {
        require (owner == toTokenTrader.owner() || asset == toTokenTrader.asset()); 
        require(ERC20(exchange).approve(baseowner,exchFee));
        require(ERC20(exchange).transfer(baseowner,exchFee));
        if (this.balance >= ethers) 
        {
            MakerTransferredEther(toTokenTrader, ethers);
            toTokenTrader.makerDepositEther.value(ethers)();
        }
    }

    function takerBuyAsset() payable 
    {
        if (sellsTokens || msg.sender == owner) 
        {
            require(ERC20(exchange).approve(baseowner,exchFee));
            require(ERC20(exchange).transfer(baseowner,exchFee));
            uint256 order    =  msg.value / sellPrice;                        ///max tokens in order
            uint256 can_sell =  ERC20(asset).balanceOf(address(this))/units;  ///current balance in token
            uint256 change = 0;
            if (msg.value > (can_sell * sellPrice))
            {
                change  = msg.value - (can_sell * sellPrice);
                order = can_sell;
            }
            if (change > 0) 
            {
                require(msg.sender.send(change));
            }
            if (order > 0) 
            {
                require (ERC20(asset).approve(msg.sender, order * units));
                require (ERC20(asset).transfer(msg.sender, order * units));
            }
            TakerBoughtAsset(msg.sender, msg.value, change, order * units);
        }
        else require (msg.sender.send(msg.value));
    }

    function takerSellAsset(uint256 amountOfTokensToSell) public  
    {
        if (buysTokens || msg.sender == owner) 
        {
            require(ERC20(exchange).approve(baseowner,exchFee));
            require(ERC20(exchange).transfer(baseowner,exchFee));
            uint256 can_buy = this.balance / buyPrice;          //limit of ethers 
            uint256 order = amountOfTokensToSell / units;       //limit of tokens to sell
            if (order > can_buy) order = can_buy;
            if (order > 0) 
            {
                require(ERC20(asset).transferFrom(msg.sender, address(this), order * units));
                require(msg.sender.send(order * buyPrice));
            }
            TakerSoldAsset(msg.sender, amountOfTokensToSell, order * units, buyPrice * units);
        }
    }
    function () payable 
    {
        takerBuyAsset();
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"weiAmount","type":"uint256"}],"name":"calcCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDeflator","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_trader","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"cleanup","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"_verify","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"tradeContract","type":"address"}],"name":"verify","outputs":[{"name":"valid","type":"bool"},{"name":"owner","type":"address"},{"name":"asset","type":"address"},{"name":"units","type":"uint256"},{"name":"buyPrice","type":"uint256"},{"name":"sellPrice","type":"uint256"},{"name":"buysTokens","type":"bool"},{"name":"sellsTokens","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"partner","type":"address"},{"name":"value","type":"uint256"},{"name":"adviser","type":"address"}],"name":"bva","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"makersCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"avgRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"stuff","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"teama","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"count","type":"uint256"}],"name":"calcTotal","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"id","type":"uint256"}],"name":"getTrader","outputs":[{"name":"valid","type":"bool"},{"name":"trade","type":"address"},{"name":"owner","type":"address"},{"name":"asset","type":"address"},{"name":"units","type":"uint256"},{"name":"buyPrice","type":"uint256"},{"name":"sellPrice","type":"uint256"},{"name":"buysTokens","type":"bool"},{"name":"sellsTokens","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"_mks","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"asset","type":"address"},{"name":"exchange","type":"address"},{"name":"units","type":"uint256"},{"name":"buyPrice","type":"uint256"},{"name":"sellPrice","type":"uint256"},{"name":"buysTokens","type":"bool"},{"name":"sellsTokens","type":"bool"}],"name":"createTradeContract","outputs":[{"name":"trader","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"exchFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"baseowner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"startTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"LogTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Clearing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"ownerAddress","type":"address"},{"indexed":true,"name":"tokenTraderAddress","type":"address"},{"indexed":true,"name":"asset","type":"address"},{"indexed":false,"name":"buyPrice","type":"uint256"},{"indexed":false,"name":"sellPrice","type":"uint256"},{"indexed":false,"name":"buysTokens","type":"bool"},{"indexed":false,"name":"sellsTokens","type":"bool"}],"name":"TradeListing","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"tokenAddress","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"OwnerWithdrewERC20Token","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

606060405260408051908101604052601281527f4d6574612045786368616e676520783838380000000000000000000000000000602082015260039080516200004d929160200190620001c8565b506040805190810160405260048082527f5838383800000000000000000000000000000000000000000000000000000000602083015290805162000096929160200190620001c8565b506402596ab51f600555661235835c667c00600655612710600755620000d264e8d4a5100061037864010000000062000ac2620001ab82021704565b600955600a8054600160a060020a0319908116730cccb9baadd61f9e0ab25bd782765013817821bd17909155600b80549091167320f349917d2521c41f8ec9c0a1f7e0c36af0b46f17905534156200012957600080fd5b5b6000601081905542600855600c8054600160a060020a03191633600160a060020a0390811691909117808355600654908216845260016020526040808520829055925490911692917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91905190815260200160405180910390a35b62000272565b6000808284811515620001ba57fe5b0490508091505b5092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020b57805160ff19168380011785556200023b565b828001600101855582156200023b579182015b828111156200023b5782518255916020019190600101906200021e565b5b506200024a9291506200024e565b5090565b6200026f91905b808211156200024a576000815560010162000255565b5090565b90565b613e6e80620002826000396000f30060606040523615620001775763ffffffff60e060020a600035041663018dfaa08114620003e657806306fdde031462000411578063095ea7b314620004a257806318160ddd14620004db57806323b872dd146200050357806329ed82a11462000542578063313ce567146200056a5780633c4e10df14620005965780633cecd71914620005cc57806349dbf0b314620005e457806363a9c3d7146200061a5780636618846314620006935780636dda9b2414620006cc57806370a0823114620006ee57806370d378101462000722578063838c63b7146200074a57806395d89b4114620007725780639c755f2f14620008035780639f2ff2211462000835578063a9059cbb1462000867578063af6128c214620008a0578063bcfbd44514620008cb578063c0f6cf711462000941578063c4cf8a401462000976578063c668f71b14620009cd578063d73dd62314620009f5578063dd62ed3e1462000a2e578063de3bec591462000a68578063e6fd48bc1462000a9a575b5b60003415620003e1576009546200019790349063ffffffff62000ac216565b600a5490915060008051602062003e0383398151915290600160a060020a0316620001dd6064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600a54600160a060020a03166108fc620002336064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200025957600080fd5b600b5460008051602062003e0383398151915290600160a060020a03166200029c6064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600b54600160a060020a03166108fc620002f26064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200031857600080fd5b600a5433600160a060020a03908116911614620003e157600c54600160a060020a03166000908152600160205260409020546200035c908263ffffffff62000b1116565b600c54600160a060020a0390811660009081526001602052604080822093909355339091168152205462000397908263ffffffff62000b2916565b600160a060020a033381166000818152600160205260409081902093909355600c54909291169060008051602062003e238339815191529084905190815260200160405180910390a35b5b5b50005b3415620003f257600080fd5b620003ff60043562000b44565b60405190815260200160405180910390f35b34156200041d57600080fd5b6200042762000b92565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015620004665780820151818401525b6020016200044b565b50505050905090810190601f168015620004945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415620004ae57600080fd5b620004c7600160a060020a036004351660243562000c34565b604051901515815260200160405180910390f35b3415620004e757600080fd5b620003ff62000ca1565b60405190815260200160405180910390f35b34156200050f57600080fd5b620004c7600160a060020a036004358116906024351660443562000ca7565b604051901515815260200160405180910390f35b34156200054e57600080fd5b620003ff62000cc0565b60405190815260200160405180910390f35b34156200057657600080fd5b6200058062000d47565b60405160ff909116815260200160405180910390f35b3415620005a257600080fd5b620004c7600160a060020a036004351662000d4c565b604051901515815260200160405180910390f35b3415620005d857600080fd5b620005e262000d61565b005b3415620005f057600080fd5b620004c7600160a060020a036004351662000d68565b604051901515815260200160405180910390f35b34156200062657600080fd5b6200063c600160a060020a036004351662000d7d565b6040519715158852600160a060020a039687166020890152949095166040808801919091526060870193909352608086019190915260a085015291151560c0840152151560e0830152610100909101905180910390f35b34156200069f57600080fd5b620004c7600160a060020a036004351660243562001074565b604051901515815260200160405180910390f35b620005e2600160a060020a03600435811690602435906044351662001174565b005b3415620006fa57600080fd5b620003ff600160a060020a036004351662001678565b60405190815260200160405180910390f35b34156200072e57600080fd5b620003ff62001697565b60405190815260200160405180910390f35b34156200075657600080fd5b620003ff6200169d565b60405190815260200160405180910390f35b34156200077e57600080fd5b62000427620016a3565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015620004665780820151818401525b6020016200044b565b50505050905090810190601f168015620004945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156200080f57600080fd5b6200081962001745565b604051600160a060020a03909116815260200160405180910390f35b34156200084157600080fd5b6200081962001754565b604051600160a060020a03909116815260200160405180910390f35b34156200087357600080fd5b620004c7600160a060020a036004351660243562001763565b604051901515815260200160405180910390f35b3415620008ac57600080fd5b620003ff6004356200177a565b60405190815260200160405180910390f35b3415620008d757600080fd5b620008e4600435620017b3565b6040519815158952600160a060020a0397881660208a01529587166040808a0191909152949096166060880152608087019290925260a086015260c085015291151560e08401521515610100830152610120909101905180910390f35b34156200094d57600080fd5b6200081960043562001ad1565b604051600160a060020a03909116815260200160405180910390f35b34156200098257600080fd5b62000819600160a060020a036004358116906024351660443560643560843560a435151560c435151562001aec565b604051600160a060020a03909116815260200160405180910390f35b3415620009d957600080fd5b620003ff62001d70565b60405190815260200160405180910390f35b341562000a0157600080fd5b620004c7600160a060020a036004351660243562001d76565b604051901515815260200160405180910390f35b341562000a3a57600080fd5b620003ff600160a060020a036004358116906024351662001e1d565b60405190815260200160405180910390f35b341562000a7457600080fd5b6200081962001e34565b604051600160a060020a03909116815260200160405180910390f35b341562000aa657600080fd5b620003ff62001e43565b60405190815260200160405180910390f35b600080828481151562000ad157fe5b0490508091505b5092915050565b600082820283158062000afd575082848281151562000afa57fe5b04145b151562000b0657fe5b8091505b5092915050565b60008282111562000b1e57fe5b508082035b92915050565b60008282018381101562000b0657fe5b8091505b5092915050565b600062000b8a6064620001d062000b5a62000cc0565b60095462000b7090879063ffffffff62000ac216565b9063ffffffff62000adf16565b9063ffffffff62000ac216565b90505b919050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000c2c5780601f1062000c005761010080835404028352916020019162000c2c565b820191906000526020600020905b81548152906001019060200180831162000c0e57829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60065481565b600062000cb684848462001e49565b90505b9392505050565b6008546000906224ea0001421162000cdb5750608a62000d3f565b6008546249d40001421162000cf35750607b62000d3f565b600854626ebe0001421162000d0b5750607362000d3f565b6008546293a80001421162000d235750606d62000d3f565b60085462b8920001421162000d3b5750606962000d3f565b5060645b5b5b5b5b5b90565b600681565b600e6020526000908152604090205460ff1681565b600080fd5b565b600d6020526000908152604090205460ff1681565b600160a060020a0381166000908152600d602052604081205460ff169080808080808080881562001067575088600160a060020a038116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000df157600080fd5b6102c65a03f1151562000e0357600080fd5b5050506040518051985050600160a060020a0381166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000e5557600080fd5b6102c65a03f1151562000e6757600080fd5b5050506040518051975050600160a060020a03811663976a84356000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000eb957600080fd5b6102c65a03f1151562000ecb57600080fd5b5050506040518051965050600160a060020a038116638620410b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000f1d57600080fd5b6102c65a03f1151562000f2f57600080fd5b5050506040518051955050600160a060020a038116634b7503346000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000f8157600080fd5b6102c65a03f1151562000f9357600080fd5b5050506040518051945050600160a060020a03811663b10993476000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000fe557600080fd5b6102c65a03f1151562000ff757600080fd5b5050506040518051935050600160a060020a038116634ca50f596000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200104957600080fd5b6102c65a03f115156200105b57600080fd5b50505060405180519250505b5b50919395975091939597565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205480831115620010d357600160a060020a0333811660009081526002602090815260408083209388168352929052908120556200110c565b620010e5818463ffffffff62000b1116565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600062001181836200177a565b905034156200119d57620011953462000b44565b9050620011b9565b600a5433600160a060020a03908116911614620011b957600080fd5b5b3415620015bf57600a5460008051602062003e0383398151915290600160a060020a0316620012046064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600a54600160a060020a03166108fc6200125a6064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200128057600080fd5b600b5460008051602062003e0383398151915290600160a060020a0316620012c36064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600b54600160a060020a03166108fc620013196064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200133f57600080fd5b81600160a060020a031684600160a060020a031614158015620013795750600160a060020a03821660009081526001602052604090205415155b15620014365760008051602062003e0383398151915282620013b66064620001d034601463ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a0382166108fc6200140a6064620001d034601463ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200143057600080fd5b620015bf565b600a805460008051602062003e0383398151915291600160a060020a03909116906200147f90606490620001d090349063ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600a8054600160a060020a0316906108fc90620014da90606490620001d090349063ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200150057600080fd5b600b5460008051602062003e0383398151915290600160a060020a0316620015436064620001d034600a63ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600b54600160a060020a03166108fc620015996064620001d034600a63ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f193505050501515620015bf57600080fd5b5b5b600c54600160a060020a0316600090815260016020526040902054620015ee908263ffffffff62000b1116565b600c54600160a060020a03908116600090815260016020526040808220939093559086168152205462001628908263ffffffff62000b2916565b600160a060020a038086166000818152600160205260409081902093909355600c54909291169060008051602062003e238339815191529084905190815260200160405180910390a35b50505050565b600160a060020a0381166000908152600160205260409020545b919050565b60105481565b60095481565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000c2c5780601f1062000c005761010080835404028352916020019162000c2c565b820191906000526020600020905b81548152906001019060200180831162000c0e57829003601f168201915b505050505081565b600a54600160a060020a031681565b600b54600160a060020a031681565b600062001771838362001f6b565b90505b92915050565b600062000b8a6064620001d06200179062000cc0565b859063ffffffff62000adf16565b9063ffffffff62000ac216565b90505b919050565b6000806000806000806000806000806010548b101562001ac15760008b8152600f6020908152604080832054600160a060020a0316808452600d9092529091205460ff169a509850891562001ac1575087600160a060020a038116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200184b57600080fd5b6102c65a03f115156200185d57600080fd5b5050506040518051985050600160a060020a0381166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620018af57600080fd5b6102c65a03f11515620018c157600080fd5b5050506040518051975050600160a060020a03811663976a84356000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200191357600080fd5b6102c65a03f115156200192557600080fd5b5050506040518051965050600160a060020a038116638620410b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200197757600080fd5b6102c65a03f115156200198957600080fd5b5050506040518051955050600160a060020a038116634b7503346000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019db57600080fd5b6102c65a03f11515620019ed57600080fd5b5050506040518051945050600160a060020a03811663b10993476000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a3f57600080fd5b6102c65a03f1151562001a5157600080fd5b5050506040518051935050600160a060020a038116634ca50f596000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001aa357600080fd5b6102c65a03f1151562001ab557600080fd5b50505060405180519250505b5b5b509193959799909294969850565b600f60205260009081526040902054600160a060020a031681565b600160a060020a033316600090815260016020526040812054633b9aca00901162001b1657600080fd5b600160a060020a038816151562001b2c57600080fd5b60008511801562001b3d5750600084115b151562001b4957600080fd5b83851062001b5657600080fd5b85151562001b6357600080fd5b600c546007548991600160a060020a0316908990898989898962001b8662002063565b600160a060020a03998a1681529789166020890152959097166040808801919091526060870194909452608086019290925260a085015260c084015292151560e08301521515610100820152610120019051809103906000f080151562001bec57600080fd5b600160a060020a0381166000818152600d60209081526040808320805460ff19166001908117909155601080548552600f9093529220805473ffffffffffffffffffffffffffffffffffffffff1916909317909255905491925062001c58919063ffffffff62000b2916565b601055600c54600160a060020a039081166000908152600160205260408082208054633b9aca00019055338084168352918190208054633b9ac9ff190190559183169163f2fde38b91905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562001cdf57600080fd5b6102c65a03f1151562001cf157600080fd5b50505087600160a060020a031681600160a060020a031633600160a060020a03167fdaa59d7a681dcae622d29c4186016073d3889442602be55efae7f541941e34ac888888886040519384526020840192909252151560408084019190915290151560608301526080909101905180910390a45b979650505050505050565b60075481565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205462001db0908363ffffffff62000b2916565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600062001771838362002036565b90505b92915050565b600c54600160a060020a031681565b60085481565b600080600160a060020a038416151562001e6257600080fd5b50600160a060020a0380851660008181526002602090815260408083203390951683529381528382205492825260019052919091205462001eaa908463ffffffff62000b1116565b600160a060020a03808716600090815260016020526040808220939093559086168152205462001ee1908463ffffffff62000b2916565b600160a060020a03851660009081526001602052604090205562001f0c818463ffffffff62000b1116565b600160a060020a038087166000818152600260209081526040808320338616845290915290819020939093559086169160008051602062003e238339815191529086905190815260200160405180910390a3600191505b509392505050565b6000600160a060020a038316151562001f8357600080fd5b600160a060020a03331660009081526001602052604090205462001fae908363ffffffff62000b1116565b600160a060020a03338116600090815260016020526040808220939093559085168152205462001fe5908363ffffffff62000b2916565b600160a060020a03808516600081815260016020526040908190209390935591339091169060008051602062003e238339815191529085905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b604051611d8e80620020758339019056006060604052341561000f57600080fd5b60405161012080611d8e8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805191906020018051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60018054600160a060020a0319908116600160a060020a038c811691909117909255600487905560058690556003805482168b841617905560028054909116918916919091179055600786905560068390556008805460ff19168315151761ff001916610100831515810291909117918290557ffa4f96c42c616d6fbda491095977a6af7c76ebd387177b72299180502cbeaa999160ff80821692909104166040519115158252151560208201526040908101905180910390a15b5050505050505050505b611c3e806101506000396000f300606060405236156100f65763ffffffff60e060020a6000350416632170ebf7811461010257806338d52e0f1461012c5780634b7503341461015b5780634ca50f591461018057806352954e5a146101a75780638620410b146101dd5780638da5cb5b14610202578063919f8cfc14610231578063976a84351461023b578063b109934714610260578063be86d5a714610287578063c34764cf146102bd578063c60ccb0e146100f6578063c668f71b146102fd578063cd53a3b714610322578063d2f7265a1461034c578063de3bec591461037b578063eff883bd146103aa578063f2fde38b146103c2578063fdfcb425146103e3575b5b6100ff610417565b5b005b341561010d57600080fd5b610118600435610810565b604051901515815260200160405180910390f35b341561013757600080fd5b61013f6109c0565b604051600160a060020a03909116815260200160405180910390f35b341561016657600080fd5b61016e6109cf565b60405190815260200160405180910390f35b341561018b57600080fd5b6101186109d5565b604051901515815260200160405180910390f35b34156101b257600080fd5b610118600160a060020a03600435166024356109e3565b604051901515815260200160405180910390f35b34156101e857600080fd5b61016e610d54565b60405190815260200160405180910390f35b341561020d57600080fd5b61013f610d5a565b604051600160a060020a03909116815260200160405180910390f35b6100ff610d69565b005b341561024657600080fd5b61016e610ed9565b60405190815260200160405180910390f35b341561026b57600080fd5b610118610edf565b604051901515815260200160405180910390f35b341561029257600080fd5b610118600160a060020a0360043516602435610ee8565b604051901515815260200160405180910390f35b34156102c857600080fd5b610118600160a060020a03600435166024356111c9565b604051901515815260200160405180910390f35b6100ff610417565b005b341561030857600080fd5b61016e611452565b60405190815260200160405180910390f35b341561032d57600080fd5b610118600435611458565b604051901515815260200160405180910390f35b341561035757600080fd5b61013f6116d3565b604051600160a060020a03909116815260200160405180910390f35b341561038657600080fd5b61013f6116e2565b604051600160a060020a03909116815260200160405180910390f35b34156103b557600080fd5b6100ff6004356116f1565b005b34156103cd57600080fd5b6100ff600160a060020a03600435166119ac565b005b34156103ee57600080fd5b6100ff600160a060020a0360043516602435604435606435608435151560a4351515611a30565b005b6000806000600860019054906101000a900460ff1680610445575060005433600160a060020a039081169116145b156107d757600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104b357600080fd5b6102c65a03f115156104c457600080fd5b5050506040518051905015156104d957600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561054257600080fd5b6102c65a03f1151561055357600080fd5b50505060405180519050151561056857600080fd5b6006543481151561057557fe5b60045460015492909104945090600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105d857600080fd5b6102c65a03f115156105e957600080fd5b505050604051805190508115156105fc57fe5b04915060009050600654820234111561061c576006548202340390508192505b600081111561065657600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561065657600080fd5b5b600083111561077c57600154600454600160a060020a039091169063095ea7b3903390860260006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106c857600080fd5b6102c65a03f115156106d957600080fd5b5050506040518051905015156106ee57600080fd5b600154600454600160a060020a039091169063a9059cbb903390860260006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561075657600080fd5b6102c65a03f1151561076757600080fd5b50505060405180519050151561077c57600080fd5b5b33600160a060020a03167f37e948531341be0a8ce95c3833827c6f3559825cb6421e6ff1fe21c3a8b712173483600454870260405180848152602001838152602001828152602001935050505060405180910390a2610809565b600160a060020a0333163480156108fc0290604051600060405180830381858888f19350505050151561080957600080fd5b5b5b505050565b6000805433600160a060020a0390811691161461082c57600080fd5b600160a060020a033016318290106109b957600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156108a757600080fd5b6102c65a03f115156108b857600080fd5b5050506040518051905015156108cd57600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561093657600080fd5b6102c65a03f1151561094757600080fd5b50505060405180519050151561095c57600080fd5b7f8a93d70d792b644d97d7da8a5798e03bbee85be4537a860a331dbe3ee50eb9828260405190815260200160405180910390a1600054600160a060020a031682156108fc0283604051600060405180830381858888f19450505050505b5b5b919050565b600154600160a060020a031681565b60065481565b600854610100900460ff1681565b6000805433600160a060020a039081169116146109ff57600080fd5b82600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a4557600080fd5b6102c65a03f11515610a5657600080fd5b5050506040518051600054600160a060020a03908116911614905080610aea575082600160a060020a03166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610abd57600080fd5b6102c65a03f11515610ace57600080fd5b5050506040518051600154600160a060020a0390811691161490505b1515610af557600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b5e57600080fd5b6102c65a03f11515610b6f57600080fd5b505050604051805190501515610b8457600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610bed57600080fd5b6102c65a03f11515610bfe57600080fd5b505050604051805190501515610c1357600080fd5b7f127afec6b0ab48f803536010148b79615f4a518f9b574de5b45bc74991c46d518383604051600160a060020a03909216825260208201526040908101905180910390a1600154600160a060020a031663095ea7b3848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610cb657600080fd5b6102c65a03f11515610cc757600080fd5b50505060405180515050600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d3057600080fd5b6102c65a03f11515610d4157600080fd5b50505060405180519150505b5b92915050565b60055481565b600054600160a060020a031681565b60005433600160a060020a03908116911614610d8457600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610ded57600080fd5b6102c65a03f11515610dfe57600080fd5b505050604051805190501515610e1357600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e7c57600080fd5b6102c65a03f11515610e8d57600080fd5b505050604051805190501515610ea257600080fd5b7fc745dab9c51cefa79677191ed7af7b0ccbb8360b8b39ed79f257f6895882980f3460405190815260200160405180910390a15b5b565b60045481565b60085460ff1681565b6000805433600160a060020a03908116911614610f0457600080fd5b82600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f4a57600080fd5b6102c65a03f11515610f5b57600080fd5b5050506040518051600054600160a060020a03908116911614905080610fef575082600160a060020a03166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fc257600080fd5b6102c65a03f11515610fd357600080fd5b5050506040518051600154600160a060020a0390811691161490505b1515610ffa57600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561106357600080fd5b6102c65a03f1151561107457600080fd5b50505060405180519050151561108957600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110f257600080fd5b6102c65a03f1151561110357600080fd5b50505060405180519050151561111857600080fd5b600160a060020a03301631829010610d4d577f714b446590efbc5b722abe34b4c0cacf4b1f5607fbf924f957646590ce66c4ad8383604051600160a060020a03909216825260208201526040908101905180910390a182600160a060020a031663919f8cfc836040518263ffffffff1660e060020a0281526004016000604051808303818588803b15156111ab57600080fd5b6125ee5a03f115156111bc57600080fd5b505050505b5b5b92915050565b6000805433600160a060020a039081169116146111e557600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561124e57600080fd5b6102c65a03f1151561125f57600080fd5b50505060405180519050151561127457600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156112dd57600080fd5b6102c65a03f115156112ee57600080fd5b50505060405180519050151561130357600080fd5b7ffea8ae97829f3801e6ca15928428931c2a4f3cee1fa7c9b83d959efd246664228383604051600160a060020a03909216825260208201526040908101905180910390a160008054600160a060020a038086169263095ea7b3929091169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156113ad57600080fd5b6102c65a03f115156113be57600080fd5b5050506040518051505060008054600160a060020a038086169263a9059cbb929091169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d3057600080fd5b6102c65a03f11515610d4157600080fd5b50505060405180519150505b5b92915050565b60075481565b6000805433600160a060020a0390811691161461147457600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156114dd57600080fd5b6102c65a03f115156114ee57600080fd5b50505060405180519050151561150357600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561156c57600080fd5b6102c65a03f1151561157d57600080fd5b50505060405180519050151561159257600080fd5b7f1ebbc515a759c3fe8e048867aac7fe458e3a37ac3dd44ffc73a6238cf30039818260405190815260200160405180910390a160015460008054600160a060020a039283169263095ea7b39291169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561162d57600080fd5b6102c65a03f1151561163e57600080fd5b5050506040518051505060015460008054600160a060020a039283169263a9059cbb9291169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156116b057600080fd5b6102c65a03f115156116c157600080fd5b50505060405180519150505b5b919050565b600254600160a060020a031681565b600354600160a060020a031681565b600854600090819060ff1680611715575060005433600160a060020a039081169116145b1561080957600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561178357600080fd5b6102c65a03f1151561179457600080fd5b5050506040518051905015156117a957600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561181257600080fd5b6102c65a03f1151561182357600080fd5b50505060405180519050151561183857600080fd5b60055430600160a060020a03163181151561184f57fe5b0491506004548381151561185f57fe5b0490508181111561186d5750805b600081111561194957600154600454600160a060020a03909116906323b872dd9033903090850260006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156118ec57600080fd5b6102c65a03f115156118fd57600080fd5b50505060405180519050151561191257600080fd5b33600160a060020a03166108fc60055483029081150290604051600060405180830381858888f19350505050151561194957600080fd5b5b33600160a060020a03167f0ba0a3a12a9b73413f41468a265bf897ff66171a971e352360753a27d5db76838460045484026004546005540260405180848152602001838152602001828152602001935050505060405180910390a25b5b505050565b60005433600160a060020a039081169116146119c757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a03908116911614611a4b57600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611ab457600080fd5b6102c65a03f11515611ac557600080fd5b505050604051805190501515611ada57600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611b4357600080fd5b6102c65a03f11515611b5457600080fd5b505050604051805190501515611b6957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388161790556004859055600584905560068390556008805460ff19168315151761ff001916610100831515810291909117918290557ffa4f96c42c616d6fbda491095977a6af7c76ebd387177b72299180502cbeaa999160ff80821692909104166040519115158252151560208201526040908101905180910390a15b5b5050505050505600a165627a7a723058207196f2f5a054df852a408a6d44ed55b340b192670aac7008e0924305f2f4428d0029fe01ee96133d3632c083ea915249f4ce813a4ae890804e659920170391a370d2ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820aa8d12ccded224c5c85b5cb48f1d9ee5bcfb5e16fe5d9b550da0e6cb561f86720029

Deployed Bytecode

0x60606040523615620001775763ffffffff60e060020a600035041663018dfaa08114620003e657806306fdde031462000411578063095ea7b314620004a257806318160ddd14620004db57806323b872dd146200050357806329ed82a11462000542578063313ce567146200056a5780633c4e10df14620005965780633cecd71914620005cc57806349dbf0b314620005e457806363a9c3d7146200061a5780636618846314620006935780636dda9b2414620006cc57806370a0823114620006ee57806370d378101462000722578063838c63b7146200074a57806395d89b4114620007725780639c755f2f14620008035780639f2ff2211462000835578063a9059cbb1462000867578063af6128c214620008a0578063bcfbd44514620008cb578063c0f6cf711462000941578063c4cf8a401462000976578063c668f71b14620009cd578063d73dd62314620009f5578063dd62ed3e1462000a2e578063de3bec591462000a68578063e6fd48bc1462000a9a575b5b60003415620003e1576009546200019790349063ffffffff62000ac216565b600a5490915060008051602062003e0383398151915290600160a060020a0316620001dd6064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600a54600160a060020a03166108fc620002336064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200025957600080fd5b600b5460008051602062003e0383398151915290600160a060020a03166200029c6064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600b54600160a060020a03166108fc620002f26064620001d034603263ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200031857600080fd5b600a5433600160a060020a03908116911614620003e157600c54600160a060020a03166000908152600160205260409020546200035c908263ffffffff62000b1116565b600c54600160a060020a0390811660009081526001602052604080822093909355339091168152205462000397908263ffffffff62000b2916565b600160a060020a033381166000818152600160205260409081902093909355600c54909291169060008051602062003e238339815191529084905190815260200160405180910390a35b5b5b50005b3415620003f257600080fd5b620003ff60043562000b44565b60405190815260200160405180910390f35b34156200041d57600080fd5b6200042762000b92565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015620004665780820151818401525b6020016200044b565b50505050905090810190601f168015620004945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3415620004ae57600080fd5b620004c7600160a060020a036004351660243562000c34565b604051901515815260200160405180910390f35b3415620004e757600080fd5b620003ff62000ca1565b60405190815260200160405180910390f35b34156200050f57600080fd5b620004c7600160a060020a036004358116906024351660443562000ca7565b604051901515815260200160405180910390f35b34156200054e57600080fd5b620003ff62000cc0565b60405190815260200160405180910390f35b34156200057657600080fd5b6200058062000d47565b60405160ff909116815260200160405180910390f35b3415620005a257600080fd5b620004c7600160a060020a036004351662000d4c565b604051901515815260200160405180910390f35b3415620005d857600080fd5b620005e262000d61565b005b3415620005f057600080fd5b620004c7600160a060020a036004351662000d68565b604051901515815260200160405180910390f35b34156200062657600080fd5b6200063c600160a060020a036004351662000d7d565b6040519715158852600160a060020a039687166020890152949095166040808801919091526060870193909352608086019190915260a085015291151560c0840152151560e0830152610100909101905180910390f35b34156200069f57600080fd5b620004c7600160a060020a036004351660243562001074565b604051901515815260200160405180910390f35b620005e2600160a060020a03600435811690602435906044351662001174565b005b3415620006fa57600080fd5b620003ff600160a060020a036004351662001678565b60405190815260200160405180910390f35b34156200072e57600080fd5b620003ff62001697565b60405190815260200160405180910390f35b34156200075657600080fd5b620003ff6200169d565b60405190815260200160405180910390f35b34156200077e57600080fd5b62000427620016a3565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015620004665780820151818401525b6020016200044b565b50505050905090810190601f168015620004945780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156200080f57600080fd5b6200081962001745565b604051600160a060020a03909116815260200160405180910390f35b34156200084157600080fd5b6200081962001754565b604051600160a060020a03909116815260200160405180910390f35b34156200087357600080fd5b620004c7600160a060020a036004351660243562001763565b604051901515815260200160405180910390f35b3415620008ac57600080fd5b620003ff6004356200177a565b60405190815260200160405180910390f35b3415620008d757600080fd5b620008e4600435620017b3565b6040519815158952600160a060020a0397881660208a01529587166040808a0191909152949096166060880152608087019290925260a086015260c085015291151560e08401521515610100830152610120909101905180910390f35b34156200094d57600080fd5b6200081960043562001ad1565b604051600160a060020a03909116815260200160405180910390f35b34156200098257600080fd5b62000819600160a060020a036004358116906024351660443560643560843560a435151560c435151562001aec565b604051600160a060020a03909116815260200160405180910390f35b3415620009d957600080fd5b620003ff62001d70565b60405190815260200160405180910390f35b341562000a0157600080fd5b620004c7600160a060020a036004351660243562001d76565b604051901515815260200160405180910390f35b341562000a3a57600080fd5b620003ff600160a060020a036004358116906024351662001e1d565b60405190815260200160405180910390f35b341562000a7457600080fd5b6200081962001e34565b604051600160a060020a03909116815260200160405180910390f35b341562000aa657600080fd5b620003ff62001e43565b60405190815260200160405180910390f35b600080828481151562000ad157fe5b0490508091505b5092915050565b600082820283158062000afd575082848281151562000afa57fe5b04145b151562000b0657fe5b8091505b5092915050565b60008282111562000b1e57fe5b508082035b92915050565b60008282018381101562000b0657fe5b8091505b5092915050565b600062000b8a6064620001d062000b5a62000cc0565b60095462000b7090879063ffffffff62000ac216565b9063ffffffff62000adf16565b9063ffffffff62000ac216565b90505b919050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000c2c5780601f1062000c005761010080835404028352916020019162000c2c565b820191906000526020600020905b81548152906001019060200180831162000c0e57829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60065481565b600062000cb684848462001e49565b90505b9392505050565b6008546000906224ea0001421162000cdb5750608a62000d3f565b6008546249d40001421162000cf35750607b62000d3f565b600854626ebe0001421162000d0b5750607362000d3f565b6008546293a80001421162000d235750606d62000d3f565b60085462b8920001421162000d3b5750606962000d3f565b5060645b5b5b5b5b5b90565b600681565b600e6020526000908152604090205460ff1681565b600080fd5b565b600d6020526000908152604090205460ff1681565b600160a060020a0381166000908152600d602052604081205460ff169080808080808080881562001067575088600160a060020a038116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000df157600080fd5b6102c65a03f1151562000e0357600080fd5b5050506040518051985050600160a060020a0381166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000e5557600080fd5b6102c65a03f1151562000e6757600080fd5b5050506040518051975050600160a060020a03811663976a84356000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000eb957600080fd5b6102c65a03f1151562000ecb57600080fd5b5050506040518051965050600160a060020a038116638620410b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000f1d57600080fd5b6102c65a03f1151562000f2f57600080fd5b5050506040518051955050600160a060020a038116634b7503346000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000f8157600080fd5b6102c65a03f1151562000f9357600080fd5b5050506040518051945050600160a060020a03811663b10993476000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562000fe557600080fd5b6102c65a03f1151562000ff757600080fd5b5050506040518051935050600160a060020a038116634ca50f596000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200104957600080fd5b6102c65a03f115156200105b57600080fd5b50505060405180519250505b5b50919395975091939597565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205480831115620010d357600160a060020a0333811660009081526002602090815260408083209388168352929052908120556200110c565b620010e5818463ffffffff62000b1116565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600062001181836200177a565b905034156200119d57620011953462000b44565b9050620011b9565b600a5433600160a060020a03908116911614620011b957600080fd5b5b3415620015bf57600a5460008051602062003e0383398151915290600160a060020a0316620012046064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600a54600160a060020a03166108fc6200125a6064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200128057600080fd5b600b5460008051602062003e0383398151915290600160a060020a0316620012c36064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600b54600160a060020a03166108fc620013196064620001d034602863ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200133f57600080fd5b81600160a060020a031684600160a060020a031614158015620013795750600160a060020a03821660009081526001602052604090205415155b15620014365760008051602062003e0383398151915282620013b66064620001d034601463ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600160a060020a0382166108fc6200140a6064620001d034601463ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200143057600080fd5b620015bf565b600a805460008051602062003e0383398151915291600160a060020a03909116906200147f90606490620001d090349063ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600a8054600160a060020a0316906108fc90620014da90606490620001d090349063ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f1935050505015156200150057600080fd5b600b5460008051602062003e0383398151915290600160a060020a0316620015436064620001d034600a63ffffffff62000adf16565b9063ffffffff62000ac216565b604051600160a060020a03909216825260208201526040908101905180910390a1600b54600160a060020a03166108fc620015996064620001d034600a63ffffffff62000adf16565b9063ffffffff62000ac216565b9081150290604051600060405180830381858888f193505050501515620015bf57600080fd5b5b5b600c54600160a060020a0316600090815260016020526040902054620015ee908263ffffffff62000b1116565b600c54600160a060020a03908116600090815260016020526040808220939093559086168152205462001628908263ffffffff62000b2916565b600160a060020a038086166000818152600160205260409081902093909355600c54909291169060008051602062003e238339815191529084905190815260200160405180910390a35b50505050565b600160a060020a0381166000908152600160205260409020545b919050565b60105481565b60095481565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801562000c2c5780601f1062000c005761010080835404028352916020019162000c2c565b820191906000526020600020905b81548152906001019060200180831162000c0e57829003601f168201915b505050505081565b600a54600160a060020a031681565b600b54600160a060020a031681565b600062001771838362001f6b565b90505b92915050565b600062000b8a6064620001d06200179062000cc0565b859063ffffffff62000adf16565b9063ffffffff62000ac216565b90505b919050565b6000806000806000806000806000806010548b101562001ac15760008b8152600f6020908152604080832054600160a060020a0316808452600d9092529091205460ff169a509850891562001ac1575087600160a060020a038116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200184b57600080fd5b6102c65a03f115156200185d57600080fd5b5050506040518051985050600160a060020a0381166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620018af57600080fd5b6102c65a03f11515620018c157600080fd5b5050506040518051975050600160a060020a03811663976a84356000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200191357600080fd5b6102c65a03f115156200192557600080fd5b5050506040518051965050600160a060020a038116638620410b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200197757600080fd5b6102c65a03f115156200198957600080fd5b5050506040518051955050600160a060020a038116634b7503346000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515620019db57600080fd5b6102c65a03f11515620019ed57600080fd5b5050506040518051945050600160a060020a03811663b10993476000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001a3f57600080fd5b6102c65a03f1151562001a5157600080fd5b5050506040518051935050600160a060020a038116634ca50f596000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151562001aa357600080fd5b6102c65a03f1151562001ab557600080fd5b50505060405180519250505b5b5b509193959799909294969850565b600f60205260009081526040902054600160a060020a031681565b600160a060020a033316600090815260016020526040812054633b9aca00901162001b1657600080fd5b600160a060020a038816151562001b2c57600080fd5b60008511801562001b3d5750600084115b151562001b4957600080fd5b83851062001b5657600080fd5b85151562001b6357600080fd5b600c546007548991600160a060020a0316908990898989898962001b8662002063565b600160a060020a03998a1681529789166020890152959097166040808801919091526060870194909452608086019290925260a085015260c084015292151560e08301521515610100820152610120019051809103906000f080151562001bec57600080fd5b600160a060020a0381166000818152600d60209081526040808320805460ff19166001908117909155601080548552600f9093529220805473ffffffffffffffffffffffffffffffffffffffff1916909317909255905491925062001c58919063ffffffff62000b2916565b601055600c54600160a060020a039081166000908152600160205260408082208054633b9aca00019055338084168352918190208054633b9ac9ff190190559183169163f2fde38b91905160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562001cdf57600080fd5b6102c65a03f1151562001cf157600080fd5b50505087600160a060020a031681600160a060020a031633600160a060020a03167fdaa59d7a681dcae622d29c4186016073d3889442602be55efae7f541941e34ac888888886040519384526020840192909252151560408084019190915290151560608301526080909101905180910390a45b979650505050505050565b60075481565b600160a060020a03338116600090815260026020908152604080832093861683529290529081205462001db0908363ffffffff62000b2916565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600062001771838362002036565b90505b92915050565b600c54600160a060020a031681565b60085481565b600080600160a060020a038416151562001e6257600080fd5b50600160a060020a0380851660008181526002602090815260408083203390951683529381528382205492825260019052919091205462001eaa908463ffffffff62000b1116565b600160a060020a03808716600090815260016020526040808220939093559086168152205462001ee1908463ffffffff62000b2916565b600160a060020a03851660009081526001602052604090205562001f0c818463ffffffff62000b1116565b600160a060020a038087166000818152600260209081526040808320338616845290915290819020939093559086169160008051602062003e238339815191529086905190815260200160405180910390a3600191505b509392505050565b6000600160a060020a038316151562001f8357600080fd5b600160a060020a03331660009081526001602052604090205462001fae908363ffffffff62000b1116565b600160a060020a03338116600090815260016020526040808220939093559085168152205462001fe5908363ffffffff62000b2916565b600160a060020a03808516600081815260016020526040908190209390935591339091169060008051602062003e238339815191529085905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b604051611d8e80620020758339019056006060604052341561000f57600080fd5b60405161012080611d8e8339810160405280805191906020018051919060200180519190602001805191906020018051919060200180519190602001805191906020018051919060200180519150505b5b60008054600160a060020a03191633600160a060020a03161790555b60018054600160a060020a0319908116600160a060020a038c811691909117909255600487905560058690556003805482168b841617905560028054909116918916919091179055600786905560068390556008805460ff19168315151761ff001916610100831515810291909117918290557ffa4f96c42c616d6fbda491095977a6af7c76ebd387177b72299180502cbeaa999160ff80821692909104166040519115158252151560208201526040908101905180910390a15b5050505050505050505b611c3e806101506000396000f300606060405236156100f65763ffffffff60e060020a6000350416632170ebf7811461010257806338d52e0f1461012c5780634b7503341461015b5780634ca50f591461018057806352954e5a146101a75780638620410b146101dd5780638da5cb5b14610202578063919f8cfc14610231578063976a84351461023b578063b109934714610260578063be86d5a714610287578063c34764cf146102bd578063c60ccb0e146100f6578063c668f71b146102fd578063cd53a3b714610322578063d2f7265a1461034c578063de3bec591461037b578063eff883bd146103aa578063f2fde38b146103c2578063fdfcb425146103e3575b5b6100ff610417565b5b005b341561010d57600080fd5b610118600435610810565b604051901515815260200160405180910390f35b341561013757600080fd5b61013f6109c0565b604051600160a060020a03909116815260200160405180910390f35b341561016657600080fd5b61016e6109cf565b60405190815260200160405180910390f35b341561018b57600080fd5b6101186109d5565b604051901515815260200160405180910390f35b34156101b257600080fd5b610118600160a060020a03600435166024356109e3565b604051901515815260200160405180910390f35b34156101e857600080fd5b61016e610d54565b60405190815260200160405180910390f35b341561020d57600080fd5b61013f610d5a565b604051600160a060020a03909116815260200160405180910390f35b6100ff610d69565b005b341561024657600080fd5b61016e610ed9565b60405190815260200160405180910390f35b341561026b57600080fd5b610118610edf565b604051901515815260200160405180910390f35b341561029257600080fd5b610118600160a060020a0360043516602435610ee8565b604051901515815260200160405180910390f35b34156102c857600080fd5b610118600160a060020a03600435166024356111c9565b604051901515815260200160405180910390f35b6100ff610417565b005b341561030857600080fd5b61016e611452565b60405190815260200160405180910390f35b341561032d57600080fd5b610118600435611458565b604051901515815260200160405180910390f35b341561035757600080fd5b61013f6116d3565b604051600160a060020a03909116815260200160405180910390f35b341561038657600080fd5b61013f6116e2565b604051600160a060020a03909116815260200160405180910390f35b34156103b557600080fd5b6100ff6004356116f1565b005b34156103cd57600080fd5b6100ff600160a060020a03600435166119ac565b005b34156103ee57600080fd5b6100ff600160a060020a0360043516602435604435606435608435151560a4351515611a30565b005b6000806000600860019054906101000a900460ff1680610445575060005433600160a060020a039081169116145b156107d757600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156104b357600080fd5b6102c65a03f115156104c457600080fd5b5050506040518051905015156104d957600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561054257600080fd5b6102c65a03f1151561055357600080fd5b50505060405180519050151561056857600080fd5b6006543481151561057557fe5b60045460015492909104945090600160a060020a03166370a082313060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105d857600080fd5b6102c65a03f115156105e957600080fd5b505050604051805190508115156105fc57fe5b04915060009050600654820234111561061c576006548202340390508192505b600081111561065657600160a060020a03331681156108fc0282604051600060405180830381858888f19350505050151561065657600080fd5b5b600083111561077c57600154600454600160a060020a039091169063095ea7b3903390860260006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156106c857600080fd5b6102c65a03f115156106d957600080fd5b5050506040518051905015156106ee57600080fd5b600154600454600160a060020a039091169063a9059cbb903390860260006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561075657600080fd5b6102c65a03f1151561076757600080fd5b50505060405180519050151561077c57600080fd5b5b33600160a060020a03167f37e948531341be0a8ce95c3833827c6f3559825cb6421e6ff1fe21c3a8b712173483600454870260405180848152602001838152602001828152602001935050505060405180910390a2610809565b600160a060020a0333163480156108fc0290604051600060405180830381858888f19350505050151561080957600080fd5b5b5b505050565b6000805433600160a060020a0390811691161461082c57600080fd5b600160a060020a033016318290106109b957600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156108a757600080fd5b6102c65a03f115156108b857600080fd5b5050506040518051905015156108cd57600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561093657600080fd5b6102c65a03f1151561094757600080fd5b50505060405180519050151561095c57600080fd5b7f8a93d70d792b644d97d7da8a5798e03bbee85be4537a860a331dbe3ee50eb9828260405190815260200160405180910390a1600054600160a060020a031682156108fc0283604051600060405180830381858888f19450505050505b5b5b919050565b600154600160a060020a031681565b60065481565b600854610100900460ff1681565b6000805433600160a060020a039081169116146109ff57600080fd5b82600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610a4557600080fd5b6102c65a03f11515610a5657600080fd5b5050506040518051600054600160a060020a03908116911614905080610aea575082600160a060020a03166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610abd57600080fd5b6102c65a03f11515610ace57600080fd5b5050506040518051600154600160a060020a0390811691161490505b1515610af557600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610b5e57600080fd5b6102c65a03f11515610b6f57600080fd5b505050604051805190501515610b8457600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610bed57600080fd5b6102c65a03f11515610bfe57600080fd5b505050604051805190501515610c1357600080fd5b7f127afec6b0ab48f803536010148b79615f4a518f9b574de5b45bc74991c46d518383604051600160a060020a03909216825260208201526040908101905180910390a1600154600160a060020a031663095ea7b3848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610cb657600080fd5b6102c65a03f11515610cc757600080fd5b50505060405180515050600154600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d3057600080fd5b6102c65a03f11515610d4157600080fd5b50505060405180519150505b5b92915050565b60055481565b600054600160a060020a031681565b60005433600160a060020a03908116911614610d8457600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610ded57600080fd5b6102c65a03f11515610dfe57600080fd5b505050604051805190501515610e1357600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610e7c57600080fd5b6102c65a03f11515610e8d57600080fd5b505050604051805190501515610ea257600080fd5b7fc745dab9c51cefa79677191ed7af7b0ccbb8360b8b39ed79f257f6895882980f3460405190815260200160405180910390a15b5b565b60045481565b60085460ff1681565b6000805433600160a060020a03908116911614610f0457600080fd5b82600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f4a57600080fd5b6102c65a03f11515610f5b57600080fd5b5050506040518051600054600160a060020a03908116911614905080610fef575082600160a060020a03166338d52e0f6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fc257600080fd5b6102c65a03f11515610fd357600080fd5b5050506040518051600154600160a060020a0390811691161490505b1515610ffa57600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561106357600080fd5b6102c65a03f1151561107457600080fd5b50505060405180519050151561108957600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156110f257600080fd5b6102c65a03f1151561110357600080fd5b50505060405180519050151561111857600080fd5b600160a060020a03301631829010610d4d577f714b446590efbc5b722abe34b4c0cacf4b1f5607fbf924f957646590ce66c4ad8383604051600160a060020a03909216825260208201526040908101905180910390a182600160a060020a031663919f8cfc836040518263ffffffff1660e060020a0281526004016000604051808303818588803b15156111ab57600080fd5b6125ee5a03f115156111bc57600080fd5b505050505b5b5b92915050565b6000805433600160a060020a039081169116146111e557600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561124e57600080fd5b6102c65a03f1151561125f57600080fd5b50505060405180519050151561127457600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156112dd57600080fd5b6102c65a03f115156112ee57600080fd5b50505060405180519050151561130357600080fd5b7ffea8ae97829f3801e6ca15928428931c2a4f3cee1fa7c9b83d959efd246664228383604051600160a060020a03909216825260208201526040908101905180910390a160008054600160a060020a038086169263095ea7b3929091169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156113ad57600080fd5b6102c65a03f115156113be57600080fd5b5050506040518051505060008054600160a060020a038086169263a9059cbb929091169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610d3057600080fd5b6102c65a03f11515610d4157600080fd5b50505060405180519150505b5b92915050565b60075481565b6000805433600160a060020a0390811691161461147457600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156114dd57600080fd5b6102c65a03f115156114ee57600080fd5b50505060405180519050151561150357600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561156c57600080fd5b6102c65a03f1151561157d57600080fd5b50505060405180519050151561159257600080fd5b7f1ebbc515a759c3fe8e048867aac7fe458e3a37ac3dd44ffc73a6238cf30039818260405190815260200160405180910390a160015460008054600160a060020a039283169263095ea7b39291169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561162d57600080fd5b6102c65a03f1151561163e57600080fd5b5050506040518051505060015460008054600160a060020a039283169263a9059cbb9291169085906040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156116b057600080fd5b6102c65a03f115156116c157600080fd5b50505060405180519150505b5b919050565b600254600160a060020a031681565b600354600160a060020a031681565b600854600090819060ff1680611715575060005433600160a060020a039081169116145b1561080957600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561178357600080fd5b6102c65a03f1151561179457600080fd5b5050506040518051905015156117a957600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561181257600080fd5b6102c65a03f1151561182357600080fd5b50505060405180519050151561183857600080fd5b60055430600160a060020a03163181151561184f57fe5b0491506004548381151561185f57fe5b0490508181111561186d5750805b600081111561194957600154600454600160a060020a03909116906323b872dd9033903090850260006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156118ec57600080fd5b6102c65a03f115156118fd57600080fd5b50505060405180519050151561191257600080fd5b33600160a060020a03166108fc60055483029081150290604051600060405180830381858888f19350505050151561194957600080fd5b5b33600160a060020a03167f0ba0a3a12a9b73413f41468a265bf897ff66171a971e352360753a27d5db76838460045484026004546005540260405180848152602001838152602001828152602001935050505060405180910390a25b5b505050565b60005433600160a060020a039081169116146119c757600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60005433600160a060020a03908116911614611a4b57600080fd5b600254600354600754600160a060020a039283169263095ea7b392169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611ab457600080fd5b6102c65a03f11515611ac557600080fd5b505050604051805190501515611ada57600080fd5b600254600354600754600160a060020a039283169263a9059cbb92169060006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611b4357600080fd5b6102c65a03f11515611b5457600080fd5b505050604051805190501515611b6957600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0388161790556004859055600584905560068390556008805460ff19168315151761ff001916610100831515810291909117918290557ffa4f96c42c616d6fbda491095977a6af7c76ebd387177b72299180502cbeaa999160ff80821692909104166040519115158252151560208201526040908101905180910390a15b5b5050505050505600a165627a7a723058207196f2f5a054df852a408a6d44ed55b340b192670aac7008e0924305f2f4428d0029fe01ee96133d3632c083ea915249f4ce813a4ae890804e659920170391a370d2ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a72305820aa8d12ccded224c5c85b5cb48f1d9ee5bcfb5e16fe5d9b550da0e6cb561f86720029

Swarm Source

bzzr://aa8d12ccded224c5c85b5cb48f1d9ee5bcfb5e16fe5d9b550da0e6cb561f8672

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.