ETH Price: $3,393.10 (+4.22%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Destruct109142932020-09-22 19:54:011584 days ago1600804441IN
0x21062FDE...51Fe0Ac82
0 ETH0.00153155109
Register Dev234109139242020-09-22 18:37:441584 days ago1600799864IN
0x21062FDE...51Fe0Ac82
0 ETH0.00492272118
Buy109138542020-09-22 18:21:441584 days ago1600798904IN
0x21062FDE...51Fe0Ac82
0.1 ETH0.01047662125
Buy109129122020-09-22 14:43:551585 days ago1600785835IN
0x21062FDE...51Fe0Ac82
0.003 ETH0.01555173226
Buy109113152020-09-22 8:41:331585 days ago1600764093IN
0x21062FDE...51Fe0Ac82
3.05 ETH0.01374336164
Buy109112962020-09-22 8:39:031585 days ago1600763943IN
0x21062FDE...51Fe0Ac82
1.56 ETH0.0163175171
Buy109112862020-09-22 8:36:241585 days ago1600763784IN
0x21062FDE...51Fe0Ac82
0.26 ETH0.01341008160
Buy109104732020-09-22 5:39:171585 days ago1600753157IN
0x21062FDE...51Fe0Ac82
0.065 ETH0.0063605976
Buy109104642020-09-22 5:36:591585 days ago1600753019IN
0x21062FDE...51Fe0Ac82
0.35 ETH0.0063697876
Buy109072132020-09-21 17:36:551585 days ago1600709815IN
0x21062FDE...51Fe0Ac82
0.334 ETH0.0083813100
Buy109071962020-09-21 17:32:251585 days ago1600709545IN
0x21062FDE...51Fe0Ac82
0.5 ETH0.0074593589
Buy109071512020-09-21 17:23:221585 days ago1600709002IN
0x21062FDE...51Fe0Ac82
0.335 ETH0.0060448988
Buy109070422020-09-21 17:03:021585 days ago1600707782IN
0x21062FDE...51Fe0Ac82
0.15 ETH0.01280487153
Buy109069212020-09-21 16:37:531585 days ago1600706273IN
0x21062FDE...51Fe0Ac82
1.1 ETH0.02295309273.9
Buy109046982020-09-21 8:37:231586 days ago1600677443IN
0x21062FDE...51Fe0Ac82
0.05 ETH0.01064726155
Sell109034002020-09-21 3:41:071586 days ago1600659667IN
0x21062FDE...51Fe0Ac82
0 ETH0.00661967109
Buy109030672020-09-21 2:26:461586 days ago1600655206IN
0x21062FDE...51Fe0Ac82
0.048 ETH0.0075431790
Sell109026572020-09-21 0:59:381586 days ago1600649978IN
0x21062FDE...51Fe0Ac82
0 ETH0.00668041110
Buy109010272020-09-20 19:01:021586 days ago1600628462IN
0x21062FDE...51Fe0Ac82
0.30168247 ETH0.0065279778
Buy109009582020-09-20 18:45:301586 days ago1600627530IN
0x21062FDE...51Fe0Ac82
0.00054387 ETH0.0059576279
Buy109009112020-09-20 18:35:081586 days ago1600626908IN
0x21062FDE...51Fe0Ac82
0.638 ETH0.0061923274
Buy109008442020-09-20 18:22:221586 days ago1600626142IN
0x21062FDE...51Fe0Ac82
0.135 ETH0.006193274
Buy109007802020-09-20 18:09:181586 days ago1600625358IN
0x21062FDE...51Fe0Ac82
0.98 ETH0.0081181297
Get Comm Funds109006952020-09-20 17:48:181586 days ago1600624098IN
0x21062FDE...51Fe0Ac82
0 ETH0.0116697568
Get Comm Funds109006302020-09-20 17:36:311586 days ago1600623391IN
0x21062FDE...51Fe0Ac82
0 ETH0.00338229142
View all transactions

Latest 8 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
109142932020-09-22 19:54:011584 days ago1600804441
0x21062FDE...51Fe0Ac82
86.5040182 ETH
109034002020-09-21 3:41:071586 days ago1600659667
0x21062FDE...51Fe0Ac82
0.02287118 ETH
109026572020-09-21 0:59:381586 days ago1600649978
0x21062FDE...51Fe0Ac82
0.02286728 ETH
109006952020-09-20 17:48:181586 days ago1600624098
0x21062FDE...51Fe0Ac82
1.55249047 ETH
109006952020-09-20 17:48:181586 days ago1600624098
0x21062FDE...51Fe0Ac82
0.62099619 ETH
109006952020-09-20 17:48:181586 days ago1600624098
0x21062FDE...51Fe0Ac82
1.55249047 ETH
109006952020-09-20 17:48:181586 days ago1600624098
0x21062FDE...51Fe0Ac82
1.24199238 ETH
109006952020-09-20 17:48:181586 days ago1600624098
0x21062FDE...51Fe0Ac82
1.24199238 ETH
Loading...
Loading
Contract Self Destruct called at Txn Hash 0xc3c93335370ccb3e682ec297177b7b717d71504a229fa8c164d42c971e74d1f7


Contract Source Code Verified (Exact Match)

Contract Name:
DTT_Exchange

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, GNU GPLv2 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-09-16
*/

pragma solidity ^0.4.26;

contract DTT_Exchange {
    // only people with tokens
    modifier onlyBagholders() {
        require(myTokens() > 0);
        _;
    }

    modifier onlyAdministrator(){
        address _customerAddress = msg.sender;
        require(administrators[_customerAddress]);
        _;
    }
    
    
    /*==============================
    =            EVENTS            =
    ==============================*/
    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        uint256 totalSupply,
        address indexed referredBy
    );
    
    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned
    );
    
    event onReinvestment(
        address indexed customerAddress,
        uint256 ethereumReinvested,
        uint256 tokensMinted
    );
    
    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );
    
    // ERC20
    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );
    
    
    /*=====================================
    =            CONFIGURABLES            =
    =====================================*/
    string public name = "DTT Exchange";
    string public symbol = "DTT";
    uint8 constant public decimals = 0;
    uint256 constant internal tokenPriceInitial_ = 270000000000000;
    uint256 constant internal tokenPriceIncremental_ = 270000000;
    uint256 public percent = 75;
    uint256 public currentPrice_ = tokenPriceInitial_ + tokenPriceIncremental_;
    uint256 public grv = 1;

    address commissionHolder; // holds commissions fees 
    address stakeHolder; // holds stake
    address dev2; // Marketing funds
    address dev3; // Advertisement funds
    address dev4; // Dev ops funds
    address dev5; // Management funds
    address dev6; // Server, admin and domain Management
    
    
    
   /*================================
    =            DATASETS            =
    ================================*/
    mapping(address => uint256) internal tokenBalanceLedger_;
    address sonk;
    uint256 internal tokenSupply_ = 0;
    // uint256 internal profitPerShare_;
    mapping(address => bool) public administrators;
    uint256 commFunds=0;
    
    
    constructor() public
    {
        sonk = msg.sender;
        administrators[sonk] = true; 
        commissionHolder = sonk;
        stakeHolder = sonk;
        commFunds = 0;
    }
    
    function buy(address _referredBy)
        public
        payable
        returns(uint256)
    {
        purchaseTokens(msg.value, _referredBy);
    }
    
    function()
        payable
        public
    {
        purchaseTokens(msg.value, 0x0);
    }
    
    function holdStake(uint256 _amount) 
        onlyBagholders()
        public
        {
            tokenBalanceLedger_[msg.sender] = SafeMath.sub(tokenBalanceLedger_[msg.sender], _amount);
            tokenBalanceLedger_[stakeHolder] = SafeMath.add(tokenBalanceLedger_[stakeHolder], _amount);
        }
        
    function unstake(uint256 _amount, address _customerAddress)
        onlyAdministrator()
        public
    {
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress],_amount);
        tokenBalanceLedger_[stakeHolder] = SafeMath.sub(tokenBalanceLedger_[stakeHolder], _amount);
    }
    
    function withdrawRewards(uint256 _amount, address _customerAddress)
        onlyAdministrator()
        public 
    {
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress],_amount);
        tokenSupply_ = SafeMath.add (tokenSupply_,_amount);
    }
    
    function withdrawComm(uint256 _amount, address _customerAddress)
        onlyAdministrator()
        public 
    {
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress],_amount);
        tokenBalanceLedger_[commissionHolder] = SafeMath.sub(tokenBalanceLedger_[commissionHolder], _amount);
    }
    
    /**
     * Alias of sell() and withdraw().
     */
    function exit()
        public
    {
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if(_tokens > 0) sell(_tokens);
    }

    /**
     * Liquifies tokens to ethereum.
     */
    function sell(uint256 _amountOfTokens)
        onlyBagholders()
        public
    {
        // setup data
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens,true);
        uint256 _dividends = _ethereum * percent/1000;//SafeMath.div(_ethereum, dividendFee_); // 7.5% sell fees
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        commFunds += _dividends;
        
        // burn the sold tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);
        _customerAddress.transfer(_taxedEthereum);
        emit onTokenSell(_customerAddress, _tokens, _taxedEthereum);
    }
    
    function registerDev234(address _devAddress2, address _devAddress3, address _devAddress4,address _devAddress5, address _devAddress6,address _commHolder)
    onlyAdministrator()
    public
    {
        dev2 = _devAddress2;
        dev3 = _devAddress3;
        dev4 = _devAddress4;
        dev5 = _devAddress5;
        dev6 = _devAddress6;
        commissionHolder = _commHolder;
        administrators[commissionHolder] = true;
    }
    
    function totalCommFunds() 
        onlyAdministrator()
        public view
        returns(uint256)
    {
        return commFunds;    
    }
    
    function getCommFunds(uint256 _amount)
        onlyAdministrator()
        public 
    {
        if(_amount <= commFunds)
        {
            dev2.transfer(_amount*20/100);
            dev3.transfer(_amount*20/100);
            dev4.transfer(_amount*25/100);
            dev5.transfer(_amount*10/100);
            dev6.transfer(_amount*25/100);
            commFunds = SafeMath.sub(commFunds,_amount);
        }
    }

    
    function transfer(address _toAddress, uint256 _amountOfTokens)
        onlyAdministrator()
        public
        returns(bool)
    {
        // setup
        address _customerAddress = msg.sender;
        
        // these are dispersed to shareholders
        uint256 _tokenFee = _amountOfTokens * 15/100;//SafeMath.div(_amountOfTokens, dividendFee_);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

        // exchange tokens
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);
        emit Transfer(_customerAddress, _toAddress, _taxedTokens);
        
        // ERC20
        return true;
       
    }
    
    function destruct() onlyAdministrator() public{
        selfdestruct(commissionHolder);
    }
    
    
    function setPercent(uint256 newPercent) onlyAdministrator() public {
        percent = newPercent * 10;
    }

    
    function setName(string _name)
        onlyAdministrator()
        public
    {
        name = _name;
    }
    
    function setSymbol(string _symbol)
        onlyAdministrator()
        public
    {
        symbol = _symbol;
    }

    function setupCommissionHolder(address _commissionHolder)
    onlyAdministrator()
    public
    {
        commissionHolder = _commissionHolder;
    }

    function totalEthereumBalance()
        public
        view
        returns(uint)
    {
        return address(this).balance;
    }
    
    function totalSupply()
        public
        view
        returns(uint256)
    {
        return tokenSupply_;
    }
    
    /**
     * Retrieve the tokens owned by the caller.
     */
    function myTokens()
        public
        view
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }
    
    
    /**
     * Retrieve the token balance of any single address.
     */
    function balanceOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return tokenBalanceLedger_[_customerAddress];
    }
    

    function sellPrice() 
        public 
        view 
        returns(uint256)
    {
        // our calculation relies on the token supply, so we need supply. Doh.
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(2,false);
            uint256 _dividends = _ethereum * percent/1000;
            uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }
    
    /**
     * Return the sell price of 1 individual token.
     */
    function buyPrice() 
        public 
        view 
        returns(uint256)
    {
        return currentPrice_;
    }
    
    
    function calculateEthereumReceived(uint256 _tokensToSell) 
        public 
        view 
        returns(uint256)
    {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ethereum = tokensToEthereum_(_tokensToSell,false);
        uint256 _dividends = _ethereum * percent/1000;//SafeMath.div(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        return _taxedEthereum;
    }
    
    
    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/
    
    event testLog(
        uint256 currBal
    );

    function calculateTokensReceived(uint256 _ethereumToSpend) 
        public 
        view 
        returns(uint256)
    {
        uint256 _dividends = _ethereumToSpend * percent/1000;
        uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum, currentPrice_, grv, false);
        _amountOfTokens = SafeMath.sub(_amountOfTokens, _amountOfTokens * 20/100);
        return _amountOfTokens;
    }
    
    function purchaseTokens(uint256 _incomingEthereum, address _referredBy)
        internal
        returns(uint256)
    {
        // data setup
        address _customerAddress = msg.sender;
        uint256 _dividends = _incomingEthereum * percent/1000;
        commFunds += _dividends;
        uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum , currentPrice_, grv, true);
        tokenBalanceLedger_[commissionHolder] += _amountOfTokens * 20/100;
        require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_));
        
        tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
        
        //deduct commissions for referrals
        _amountOfTokens = SafeMath.sub(_amountOfTokens, _amountOfTokens * 20/100);
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        
        // fire event
        emit onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, tokenSupply_, _referredBy);
        
        return _amountOfTokens;
    }
   
    function ethereumToTokens_(uint256 _ethereum, uint256 _currentPrice, uint256 _grv, bool buy)
        internal
        view
        returns(uint256)
    {
        uint256 _tokenPriceIncremental = (tokenPriceIncremental_*(2**(_grv-1)));
        uint256 _tempad = SafeMath.sub((2*_currentPrice), _tokenPriceIncremental);
        uint256 _tokenSupply = tokenSupply_;
        uint256 _tokensReceived = (
            (
                SafeMath.sub(
                    (sqrt
                        (
                            _tempad**2
                            + (8*_tokenPriceIncremental*_ethereum)
                        )
                    ), _tempad
                )
            )/(2*_tokenPriceIncremental)
        );
        uint256 tempbase = upperBound_(_grv);
        if((_tokensReceived + _tokenSupply) < tempbase && _tokenSupply < tempbase){
            _currentPrice = _currentPrice+((_tokensReceived-1)*_tokenPriceIncremental);
        }
        if((_tokensReceived + _tokenSupply) > tempbase && _tokenSupply < tempbase){
            _tokensReceived = tempbase - _tokenSupply;
            _ethereum = SafeMath.sub(
                _ethereum, 
                ((_tokensReceived)/2)*
                ((2*_currentPrice)+((_tokensReceived-1)
                *_tokenPriceIncremental))
            );
            _currentPrice = _currentPrice+((_tokensReceived-1)*_tokenPriceIncremental);
            _grv = _grv + 1;
            _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
            _tempad = SafeMath.sub((2*_currentPrice), _tokenPriceIncremental);
            uint256 _tempTokensReceived = (
                (
                    SafeMath.sub(
                        (sqrt
                            (
                                _tempad**2
                                + (8*_tokenPriceIncremental*_ethereum)
                            )
                        ), _tempad
                    )
                )/(2*_tokenPriceIncremental)
            );
            _currentPrice = _currentPrice+((_tempTokensReceived-1)*_tokenPriceIncremental);
            _tokensReceived = _tokensReceived + _tempTokensReceived;
        }
        if(buy == true)
        {
            currentPrice_ = _currentPrice;
            grv = _grv;
        }
        return _tokensReceived;
    }
    
    function upperBound_(uint256 _grv)
    internal
    view
    returns(uint256)
    {
        if(_grv <= 5)
        {
            return (60000 * _grv);
        }
        if(_grv > 5 && _grv <= 10)
        {
            return (50000 * _grv);
        }
        if(_grv > 10 && _grv <= 15)
        {
            return (40000 * _grv);
        }
        if(_grv > 15 && _grv <= 20)
        {
            return (30000 * _grv);
        }
        return 0;
    }
   
     function tokensToEthereum_(uint256 _tokens, bool sell)
        internal
        view
        returns(uint256)
    {
        uint256 _tokenSupply = tokenSupply_;
        uint256 _etherReceived = 0;
        uint256 _grv = grv;
        uint256 tempbase = upperBound_(_grv-1);
        uint256 _currentPrice = currentPrice_;
        uint256 _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
        if((_tokenSupply - _tokens) < tempbase)
        {
            uint256 tokensToSell = _tokenSupply - tempbase;
            uint256 a = _currentPrice - (tokensToSell*_tokenPriceIncremental);
            _tokens = _tokens - tokensToSell;
            _etherReceived = _etherReceived + ((tokensToSell/2)*((2*a)+((tokensToSell-1)*_tokenPriceIncremental)));
            _currentPrice = _currentPrice-((tokensToSell-1)*_tokenPriceIncremental);
            _tokenSupply = _tokenSupply - tokensToSell;
            _grv = _grv-1 ;
            _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
            tempbase = upperBound_(_grv-1);
        }
        if((_tokenSupply - _tokens) < tempbase)
        {
            tokensToSell = _tokenSupply - tempbase;
            _tokens = _tokens - tokensToSell;
             a = _currentPrice - ((tokensToSell-1)*_tokenPriceIncremental);
            _etherReceived = _etherReceived + ((tokensToSell/2)*((2*a)+((tokensToSell-1)*_tokenPriceIncremental)));
            _currentPrice = a;
            _tokenSupply = _tokenSupply - tokensToSell;
            _grv = _grv-1 ;
            _tokenPriceIncremental = (tokenPriceIncremental_*((2)**(_grv-1)));
            tempbase = upperBound_(_grv);
        }
        if(_tokens > 0)
        {
             a = _currentPrice - ((_tokens-1)*_tokenPriceIncremental);
             _etherReceived = _etherReceived + ((_tokens/2)*((2*a)+((_tokens-1)*_tokenPriceIncremental)));
             _tokenSupply = _tokenSupply - _tokens;
             _currentPrice = a;
        }
        if(sell == true)
        {
            grv = _grv;
            currentPrice_ = _currentPrice;
        }
        return _etherReceived;
    }
    
    
    function sqrt(uint x) internal pure returns (uint y) {
        uint z = (x + 1) / 2;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

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

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"grv","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"destruct","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentPrice_","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"holdStake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"percent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPercent","type":"uint256"}],"name":"setPercent","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_devAddress2","type":"address"},{"name":"_devAddress3","type":"address"},{"name":"_devAddress4","type":"address"},{"name":"_devAddress5","type":"address"},{"name":"_devAddress6","type":"address"},{"name":"_commHolder","type":"address"}],"name":"registerDev234","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_customerAddress","type":"address"}],"name":"unstake","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalCommFunds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_customerAddress","type":"address"}],"name":"withdrawComm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"getCommFunds","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_customerAddress","type":"address"}],"name":"withdrawRewards","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_commissionHolder","type":"address"}],"name":"setupCommissionHolder","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":false,"name":"totalSupply","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"currBal","type":"uint256"}],"name":"testLog","type":"event"}]

60806040526040805190810160405280600c81526020017f4454542045786368616e67650000000000000000000000000000000000000000815250600090805190602001906200005192919062000261565b506040805190810160405280600381526020017f4454540000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000261565b50604b600255631017df8065f5904616e0000160035560016004556000600e556000601055348015620000d157600080fd5b5033600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f6000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600060108190555062000310565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002a457805160ff1916838001178555620002d5565b82800160010185558215620002d5579182015b82811115620002d4578251825591602001919060010190620002b7565b5b509050620002e49190620002e8565b5090565b6200030d91905b8082111562000309576000816000905550600101620002ef565b5090565b90565b6126a580620003206000396000f30060806040526004361061018b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019957806310d0ffdd1461022957806318160ddd1461026a5780631dfa4da01461029557806322609373146102c05780632b68b9c6146103015780632e926d4914610318578063313ce567146103435780634b750334146103745780634d71d5341461039f5780636b2f4632146103cc57806370a08231146103f757806370ba11131461044e5780637154b8b51461047957806376be1585146104a6578063832913f7146105015780638381e182146105e45780638620410b1461063157806387d491061461065c578063949e8acd1461068757806395d89b41146106b2578063a9059cbb14610742578063b84c8246146107a7578063bf006ed314610810578063c47f00271461085d578063c654465d146108c6578063e4849b32146108f3578063e9fad8ee14610920578063f088d54714610937578063f3301f6b14610981578063f531497c146109ce575b610196346000610a11565b50005b3480156101a557600080fd5b506101ae610c41565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061025460048036038101908080359060200190929190505050610cdf565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b5061027f610d3e565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610d48565b6040518082815260200191505060405180910390f35b3480156102cc57600080fd5b506102eb60048036038101908080359060200190929190505050610d4e565b6040518082815260200191505060405180910390f35b34801561030d57600080fd5b50610316610d9d565b005b34801561032457600080fd5b5061032d610e35565b6040518082815260200191505060405180910390f35b34801561034f57600080fd5b50610358610e3b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561038057600080fd5b50610389610e40565b6040518082815260200191505060405180910390f35b3480156103ab57600080fd5b506103ca60048036038101908080359060200190929190505050610e9d565b005b3480156103d857600080fd5b506103e1611012565b6040518082815260200191505060405180910390f35b34801561040357600080fd5b50610438600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611031565b6040518082815260200191505060405180910390f35b34801561045a57600080fd5b5061046361107a565b6040518082815260200191505060405180910390f35b34801561048557600080fd5b506104a460048036038101908080359060200190929190505050611080565b005b3480156104b257600080fd5b506104e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110eb565b604051808215151515815260200191505060405180910390f35b34801561050d57600080fd5b506105e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061110b565b005b3480156105f057600080fd5b5061062f60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611371565b005b34801561063d57600080fd5b5061064661152f565b6040518082815260200191505060405180910390f35b34801561066857600080fd5b50610671611539565b6040518082815260200191505060405180910390f35b34801561069357600080fd5b5061069c6115a0565b6040518082815260200191505060405180910390f35b3480156106be57600080fd5b506106c76115b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107075780820151818401526020810190506106ec565b50505050905090810190601f1680156107345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561074e57600080fd5b5061078d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611653565b604051808215151515815260200191505060405180910390f35b3480156107b357600080fd5b5061080e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611874565b005b34801561081c57600080fd5b5061085b60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ec565b005b34801561086957600080fd5b506108c4600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611aaa565b005b3480156108d257600080fd5b506108f160048036038101908080359060200190929190505050611b22565b005b3480156108ff57600080fd5b5061091e60048036038101908080359060200190929190505050611df9565b005b34801561092c57600080fd5b50610935611fea565b005b61096b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612049565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b506109cc60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205b565b005b3480156109da57600080fd5b50610a0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061215b565b005b60008060008060003393506103e86002548802811515610a2d57fe5b04925082601060008282540192505081905550610a4a87846121fd565b9150610a5d826003546004546001612216565b9050606460148202811515610a6e57fe5b04600c6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600081118015610af95750600e54610af782600e54612370565b115b1515610b0457600080fd5b610b10600e5482612370565b600e81905550610b2f81606460148402811515610b2957fe5b046121fd565b9050610b7a600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612370565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4c97349aa4e79b6080832c321c994d53f5c7262a37d900a6cd54e325e756a2ed8984600e5460405180848152602001838152602001828152602001935050505060405180910390a38094505050505092915050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cd75780601f10610cac57610100808354040283529160200191610cd7565b820191906000526020600020905b815481529060010190602001808311610cba57829003601f168201915b505050505081565b6000806000806103e86002548602811515610cf657fe5b049250610d0385846121fd565b9150610d16826003546004546000612216565b9050610d3181606460148402811515610d2b57fe5b046121fd565b9050809350505050919050565b6000600e54905090565b60045481565b600080600080600e548511151515610d6557600080fd5b610d7085600061238e565b92506103e86002548402811515610d8357fe5b049150610d9083836121fd565b9050809350505050919050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610dfa57600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60035481565b600081565b6000806000806000600e541415610e6557631017df8065f5904616e000039350610e97565b610e716002600061238e565b92506103e86002548402811515610e8457fe5b049150610e9183836121fd565b90508093505b50505090565b6000610ea76115a0565b111515610eb357600080fd5b610efc600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826121fd565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610faa600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612370565b600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60025481565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156110dd57600080fd5b600a82026002819055505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561116857600080fd5b86600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156113ce57600080fd5b611417600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612370565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114c5600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846121fd565b600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000600354905090565b600080339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561159757600080fd5b60105491505090565b6000803390506115af81611031565b91505090565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561164b5780601f106116205761010080835404028352916020019161164b565b820191906000526020600020905b81548152906001019060200180831161162e57829003601f168201915b505050505081565b6000806000806000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156116b657600080fd5b3393506064600f87028115156116c857fe5b0492506116d586846121fd565b91506116e3600e54846121fd565b600e81905550611732600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054876121fd565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117be600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612370565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156118d157600080fd5b81600190805190602001906118e79291906125d4565b505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561194957600080fd5b611992600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612370565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a40600c6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846121fd565b600c6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b0757600080fd5b8160009080519060200190611b1d9291906125d4565b505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b7f57600080fd5b60105482111515611df557600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460148502811515611bd557fe5b049081150290604051600060405180830381858888f19350505050158015611c01573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460148502811515611c4d57fe5b049081150290604051600060405180830381858888f19350505050158015611c79573d6000803e3d6000fd5b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460198502811515611cc557fe5b049081150290604051600060405180830381858888f19350505050158015611cf1573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600a8502811515611d3d57fe5b049081150290604051600060405180830381858888f19350505050158015611d69573d6000803e3d6000fd5b50600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460198502811515611db557fe5b049081150290604051600060405180830381858888f19350505050158015611de1573d6000803e3d6000fd5b50611dee601054836121fd565b6010819055505b5050565b600080600080600080611e0a6115a0565b111515611e1657600080fd5b339450600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611151515611e6757600080fd5b859350611e7584600161238e565b92506103e86002548402811515611e8857fe5b049150611e9583836121fd565b905081601060008282540192505081905550611eb3600e54856121fd565b600e81905550611f02600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856121fd565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f8b573d6000803e3d6000fd5b508473ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398583604051808381526020018281526020019250505060405180910390a2505050505050565b600080339150600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156120455761204481611df9565b5b5050565b60006120553483610a11565b50919050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156120b857600080fd5b612101600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612370565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612150600e5484612370565b600e81905550505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156121b857600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561220b57fe5b818303905092915050565b60008060008060008060006001890360020a631017df8002955061223d8a600202876121fd565b9450600e5493508560020261226461225e8d89600802026002890a01612501565b876121fd565b81151561226d57fe5b0492506122798961254c565b91508184840110801561228b57508184105b1561229b578560018403028a0199505b818484011180156122ab57508184105b156123435783820392506122d78b8760018603028c600202016002868115156122d057fe5b04026121fd565b9a508560018403028a0199506001890198506001890360020a631017df800295506123058a600202876121fd565b9450856002026123276123218d89600802026002890a01612501565b876121fd565b81151561233057fe5b0490508560018203028a01995080830192505b60011515881515141561235f5789600381905550886004819055505b829650505050505050949350505050565b600080828401905083811015151561238457fe5b8091505092915050565b6000806000806000806000806000600e5497506000965060045495506123b66001870361254c565b945060035493506001860360020a631017df80029250848b8903101561243757848803915082820284039050818b039a5082600183030281600202016002838115156123fe57fe5b0402870196508260018303028403935081880397506001860395506001860360020a631017df800292506124346001870361254c565b94505b848b8903101561249b578488039150818b039a5082600183030284039050826001830302816002020160028381151561246c57fe5b04028701965080935081880397506001860395506001860360020a631017df800292506124988661254c565b94505b60008b11156124d4578260018c0302840390508260018c0302816002020160028c8115156124c557fe5b0402870196508a880397508093505b600115158a151514156124f05785600481905550836003819055505b869850505050505050505092915050565b60008060026001840181151561251357fe5b0490508291505b8181101561254657809150600281828581151561253357fe5b040181151561253e57fe5b04905061251a565b50919050565b6000600582111515612564578161ea600290506125cf565b6005821180156125755750600a8211155b15612586578161c3500290506125cf565b600a821180156125975750600f8211155b156125a85781619c400290506125cf565b600f821180156125b9575060148211155b156125ca57816175300290506125cf565b600090505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061261557805160ff1916838001178555612643565b82800160010185558215612643579182015b82811115612642578251825591602001919060010190612627565b5b5090506126509190612654565b5090565b61267691905b8082111561267257600081600090555060010161265a565b5090565b905600a165627a7a72305820752120576ac2192a40d19519b0b98a8b0bbf5fcba097360dd67f650ed82054410029

Deployed Bytecode

0x60806040526004361061018b576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461019957806310d0ffdd1461022957806318160ddd1461026a5780631dfa4da01461029557806322609373146102c05780632b68b9c6146103015780632e926d4914610318578063313ce567146103435780634b750334146103745780634d71d5341461039f5780636b2f4632146103cc57806370a08231146103f757806370ba11131461044e5780637154b8b51461047957806376be1585146104a6578063832913f7146105015780638381e182146105e45780638620410b1461063157806387d491061461065c578063949e8acd1461068757806395d89b41146106b2578063a9059cbb14610742578063b84c8246146107a7578063bf006ed314610810578063c47f00271461085d578063c654465d146108c6578063e4849b32146108f3578063e9fad8ee14610920578063f088d54714610937578063f3301f6b14610981578063f531497c146109ce575b610196346000610a11565b50005b3480156101a557600080fd5b506101ae610c41565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101ee5780820151818401526020810190506101d3565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023557600080fd5b5061025460048036038101908080359060200190929190505050610cdf565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b5061027f610d3e565b6040518082815260200191505060405180910390f35b3480156102a157600080fd5b506102aa610d48565b6040518082815260200191505060405180910390f35b3480156102cc57600080fd5b506102eb60048036038101908080359060200190929190505050610d4e565b6040518082815260200191505060405180910390f35b34801561030d57600080fd5b50610316610d9d565b005b34801561032457600080fd5b5061032d610e35565b6040518082815260200191505060405180910390f35b34801561034f57600080fd5b50610358610e3b565b604051808260ff1660ff16815260200191505060405180910390f35b34801561038057600080fd5b50610389610e40565b6040518082815260200191505060405180910390f35b3480156103ab57600080fd5b506103ca60048036038101908080359060200190929190505050610e9d565b005b3480156103d857600080fd5b506103e1611012565b6040518082815260200191505060405180910390f35b34801561040357600080fd5b50610438600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611031565b6040518082815260200191505060405180910390f35b34801561045a57600080fd5b5061046361107a565b6040518082815260200191505060405180910390f35b34801561048557600080fd5b506104a460048036038101908080359060200190929190505050611080565b005b3480156104b257600080fd5b506104e7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110eb565b604051808215151515815260200191505060405180910390f35b34801561050d57600080fd5b506105e2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061110b565b005b3480156105f057600080fd5b5061062f60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611371565b005b34801561063d57600080fd5b5061064661152f565b6040518082815260200191505060405180910390f35b34801561066857600080fd5b50610671611539565b6040518082815260200191505060405180910390f35b34801561069357600080fd5b5061069c6115a0565b6040518082815260200191505060405180910390f35b3480156106be57600080fd5b506106c76115b5565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156107075780820151818401526020810190506106ec565b50505050905090810190601f1680156107345780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561074e57600080fd5b5061078d600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611653565b604051808215151515815260200191505060405180910390f35b3480156107b357600080fd5b5061080e600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611874565b005b34801561081c57600080fd5b5061085b60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118ec565b005b34801561086957600080fd5b506108c4600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611aaa565b005b3480156108d257600080fd5b506108f160048036038101908080359060200190929190505050611b22565b005b3480156108ff57600080fd5b5061091e60048036038101908080359060200190929190505050611df9565b005b34801561092c57600080fd5b50610935611fea565b005b61096b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612049565b6040518082815260200191505060405180910390f35b34801561098d57600080fd5b506109cc60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061205b565b005b3480156109da57600080fd5b50610a0f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061215b565b005b60008060008060003393506103e86002548802811515610a2d57fe5b04925082601060008282540192505081905550610a4a87846121fd565b9150610a5d826003546004546001612216565b9050606460148202811515610a6e57fe5b04600c6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600081118015610af95750600e54610af782600e54612370565b115b1515610b0457600080fd5b610b10600e5482612370565b600e81905550610b2f81606460148402811515610b2957fe5b046121fd565b9050610b7a600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612370565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f4c97349aa4e79b6080832c321c994d53f5c7262a37d900a6cd54e325e756a2ed8984600e5460405180848152602001838152602001828152602001935050505060405180910390a38094505050505092915050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cd75780601f10610cac57610100808354040283529160200191610cd7565b820191906000526020600020905b815481529060010190602001808311610cba57829003601f168201915b505050505081565b6000806000806103e86002548602811515610cf657fe5b049250610d0385846121fd565b9150610d16826003546004546000612216565b9050610d3181606460148402811515610d2b57fe5b046121fd565b9050809350505050919050565b6000600e54905090565b60045481565b600080600080600e548511151515610d6557600080fd5b610d7085600061238e565b92506103e86002548402811515610d8357fe5b049150610d9083836121fd565b9050809350505050919050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515610dfa57600080fd5b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16ff5b60035481565b600081565b6000806000806000600e541415610e6557631017df8065f5904616e000039350610e97565b610e716002600061238e565b92506103e86002548402811515610e8457fe5b049150610e9183836121fd565b90508093505b50505090565b6000610ea76115a0565b111515610eb357600080fd5b610efc600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054826121fd565b600c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610faa600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612370565b600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60025481565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156110dd57600080fd5b600a82026002819055505050565b600f6020528060005260406000206000915054906101000a900460ff1681565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561116857600080fd5b86600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555085600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555084600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050505050505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156113ce57600080fd5b611417600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612370565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114c5600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846121fd565b600c6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000600354905090565b600080339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561159757600080fd5b60105491505090565b6000803390506115af81611031565b91505090565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561164b5780601f106116205761010080835404028352916020019161164b565b820191906000526020600020905b81548152906001019060200180831161162e57829003601f168201915b505050505081565b6000806000806000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156116b657600080fd5b3393506064600f87028115156116c857fe5b0492506116d586846121fd565b91506116e3600e54846121fd565b600e81905550611732600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054876121fd565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506117be600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612370565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156118d157600080fd5b81600190805190602001906118e79291906125d4565b505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561194957600080fd5b611992600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612370565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a40600c6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054846121fd565b600c6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b0757600080fd5b8160009080519060200190611b1d9291906125d4565b505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611b7f57600080fd5b60105482111515611df557600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460148502811515611bd557fe5b049081150290604051600060405180830381858888f19350505050158015611c01573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460148502811515611c4d57fe5b049081150290604051600060405180830381858888f19350505050158015611c79573d6000803e3d6000fd5b50600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460198502811515611cc557fe5b049081150290604051600060405180830381858888f19350505050158015611cf1573d6000803e3d6000fd5b50600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6064600a8502811515611d3d57fe5b049081150290604051600060405180830381858888f19350505050158015611d69573d6000803e3d6000fd5b50600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc606460198502811515611db557fe5b049081150290604051600060405180830381858888f19350505050158015611de1573d6000803e3d6000fd5b50611dee601054836121fd565b6010819055505b5050565b600080600080600080611e0a6115a0565b111515611e1657600080fd5b339450600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548611151515611e6757600080fd5b859350611e7584600161238e565b92506103e86002548402811515611e8857fe5b049150611e9583836121fd565b905081601060008282540192505081905550611eb3600e54856121fd565b600e81905550611f02600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054856121fd565b600c60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508473ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611f8b573d6000803e3d6000fd5b508473ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398583604051808381526020018281526020019250505060405180910390a2505050505050565b600080339150600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156120455761204481611df9565b5b5050565b60006120553483610a11565b50919050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156120b857600080fd5b612101600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612370565b600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612150600e5484612370565b600e81905550505050565b6000339050600f60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615156121b857600080fd5b81600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600082821115151561220b57fe5b818303905092915050565b60008060008060008060006001890360020a631017df8002955061223d8a600202876121fd565b9450600e5493508560020261226461225e8d89600802026002890a01612501565b876121fd565b81151561226d57fe5b0492506122798961254c565b91508184840110801561228b57508184105b1561229b578560018403028a0199505b818484011180156122ab57508184105b156123435783820392506122d78b8760018603028c600202016002868115156122d057fe5b04026121fd565b9a508560018403028a0199506001890198506001890360020a631017df800295506123058a600202876121fd565b9450856002026123276123218d89600802026002890a01612501565b876121fd565b81151561233057fe5b0490508560018203028a01995080830192505b60011515881515141561235f5789600381905550886004819055505b829650505050505050949350505050565b600080828401905083811015151561238457fe5b8091505092915050565b6000806000806000806000806000600e5497506000965060045495506123b66001870361254c565b945060035493506001860360020a631017df80029250848b8903101561243757848803915082820284039050818b039a5082600183030281600202016002838115156123fe57fe5b0402870196508260018303028403935081880397506001860395506001860360020a631017df800292506124346001870361254c565b94505b848b8903101561249b578488039150818b039a5082600183030284039050826001830302816002020160028381151561246c57fe5b04028701965080935081880397506001860395506001860360020a631017df800292506124988661254c565b94505b60008b11156124d4578260018c0302840390508260018c0302816002020160028c8115156124c557fe5b0402870196508a880397508093505b600115158a151514156124f05785600481905550836003819055505b869850505050505050505092915050565b60008060026001840181151561251357fe5b0490508291505b8181101561254657809150600281828581151561253357fe5b040181151561253e57fe5b04905061251a565b50919050565b6000600582111515612564578161ea600290506125cf565b6005821180156125755750600a8211155b15612586578161c3500290506125cf565b600a821180156125975750600f8211155b156125a85781619c400290506125cf565b600f821180156125b9575060148211155b156125ca57816175300290506125cf565b600090505b919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061261557805160ff1916838001178555612643565b82800160010185558215612643579182015b82811115612642578251825591602001919060010190612627565b5b5090506126509190612654565b5090565b61267691905b8082111561267257600081600090555060010161265a565b5090565b905600a165627a7a72305820752120576ac2192a40d19519b0b98a8b0bbf5fcba097360dd67f650ed82054410029

Deployed Bytecode Sourcemap

28:17274:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2885:30;2900:9;2911:3;2885:14;:30::i;:::-;;28:17274;1354:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1354:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1354:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10355:486;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10355:486:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8264:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8264:122:0;;;;;;;;;;;;;;;;;;;;;;;1723:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1723:22:0;;;;;;;;;;;;;;;;;;;;;;;9679:447;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9679:447:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7462:95;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7462:95:0;;;;;;1642:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1642:74:0;;;;;;;;;;;;;;;;;;;;;;;1431:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1431:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;8924:531;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8924:531:0;;;;;;;;;;;;;;;;;;;;;;;2935:308;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2935:308:0;;;;;;;;;;;;;;;;;;;;;;;;;;8115:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8115:137:0;;;;;;;;;;;;;;;;;;;;;;;8741:169;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8741:169:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:27;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1608:27:0;;;;;;;;;;;;;;;;;;;;;;;7575:111;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7575:111:0;;;;;;;;;;;;;;;;;;;;;;;;;;2367:46;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2367:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5503:444;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5503:444:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3259:329;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3259:329:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9538:123;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9538:123:0;;;;;;;;;;;;;;;;;;;;;;;5959:147;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5959:147:0;;;;;;;;;;;;;;;;;;;;;;;8465:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8465:182:0;;;;;;;;;;;;;;;;;;;;;;;1396:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1396:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1396:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6564:886;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6564:886:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7824:120;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7824:120:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3910:345;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3910:345:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7700:112;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7700:112:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6118:432;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6118:432:0;;;;;;;;;;;;;;;;;;;;;;;;;;4588:903;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4588:903:0;;;;;;;;;;;;;;;;;;;;;;;;;;4325:199;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4325:199:0;;;;;;2658:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3600:298;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3600:298:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7952:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7952:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;10853:1176;10960:7;11008:24;11056:18;11154:22;11233:23;11035:10;11008:37;;11105:4;11097:7;;11077:17;:27;:32;;;;;;;;11056:53;;11133:10;11120:9;;:23;;;;;;;;;;;11179:43;11192:17;11211:10;11179:12;:43::i;:::-;11154:68;;11259:60;11277:14;11294:13;;11309:3;;11314:4;11259:17;:60::i;:::-;11233:86;;11392:3;11389:2;11371:15;:20;:24;;;;;;;;11330:19;:37;11350:16;;;;;;;;;;;11330:37;;;;;;;;;;;;;;;;:65;;;;;;;;;;;11432:1;11414:15;:19;:82;;;;;11483:12;;11438:42;11451:15;11467:12;;11438;:42::i;:::-;:57;11414:82;11406:91;;;;;;;;11533:43;11546:12;;11560:15;11533:12;:43::i;:::-;11518:12;:58;;;;11659:55;11672:15;11710:3;11707:2;11689:15;:20;:24;;;;;;;;11659:12;:55::i;:::-;11641:73;;11765:68;11778:19;:37;11798:16;11778:37;;;;;;;;;;;;;;;;11817:15;11765:12;:68::i;:::-;11725:19;:37;11745:16;11725:37;;;;;;;;;;;;;;;:108;;;;11966:11;11882:96;;11898:16;11882:96;;;11916:17;11935:15;11952:12;;11882:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12006:15;11999:22;;10853:1176;;;;;;;;:::o;1354:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10355:486::-;10464:7;10489:18;10552:22;10630:23;10537:4;10529:7;;10510:16;:26;:31;;;;;;;;10489:52;;10577:42;10590:16;10608:10;10577:12;:42::i;:::-;10552:67;;10656:60;10674:14;10690:13;;10705:3;;10710:5;10656:17;:60::i;:::-;10630:86;;10745:55;10758:15;10796:3;10793:2;10775:15;:20;:24;;;;;;;;10745:12;:55::i;:::-;10727:73;;10818:15;10811:22;;10355:486;;;;;;:::o;8264:122::-;8334:7;8366:12;;8359:19;;8264:122;:::o;1723:22::-;;;;:::o;9679:447::-;9787:7;9861:17;9930:18;10026:22;9837:12;;9820:13;:29;;9812:38;;;;;;;;9881;9899:13;9913:5;9881:17;:38::i;:::-;9861:58;;9971:4;9963:7;;9951:9;:19;:24;;;;;;;;9930:45;;10051:35;10064:9;10075:10;10051:12;:35::i;:::-;10026:60;;10104:14;10097:21;;9679:447;;;;;;:::o;7462:95::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;7532:16;;;;;;;;;;;7519:30;;;1642:74;;;;:::o;1431:34::-;1464:1;1431:34;:::o;8924:531::-;8995:7;9219:17;9280:18;9340:22;9119:1;9103:12;;:17;9100:348;;;1592:9;1519:15;9143:43;9136:50;;;;9100:348;9239:26;9257:1;9259:5;9239:17;:26::i;:::-;9219:46;;9321:4;9313:7;;9301:9;:19;:24;;;;;;;;9280:45;;9365:35;9378:9;9389:10;9365:12;:35::i;:::-;9340:60;;9422:14;9415:21;;8924:531;;;;;:::o;2935:308::-;147:1;134:10;:8;:10::i;:::-;:14;126:23;;;;;;;;3072:54;3085:19;:31;3105:10;3085:31;;;;;;;;;;;;;;;;3118:7;3072:12;:54::i;:::-;3038:19;:31;3058:10;3038:31;;;;;;;;;;;;;;;:88;;;;3176:55;3189:19;:32;3209:11;;;;;;;;;;;3189:32;;;;;;;;;;;;;;;;3223:7;3176:12;:55::i;:::-;3141:19;:32;3161:11;;;;;;;;;;;3141:32;;;;;;;;;;;;;;;:90;;;;2935:308;:::o;8115:137::-;8194:4;8231;8223:21;;;8216:28;;8115:137;:::o;8741:169::-;8833:7;8865:19;:37;8885:16;8865:37;;;;;;;;;;;;;;;;8858:44;;8741:169;;;:::o;1608:27::-;;;;:::o;7575:111::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;7676:2;7663:10;:15;7653:7;:25;;;;7575:111;;:::o;2367:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;5503:444::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;5716:12;5709:4;;:19;;;;;;;;;;;;;;;;;;5746:12;5739:4;;:19;;;;;;;;;;;;;;;;;;5776:12;5769:4;;:19;;;;;;;;;;;;;;;;;;5806:12;5799:4;;:19;;;;;;;;;;;;;;;;;;5836:12;5829:4;;:19;;;;;;;;;;;;;;;;;;5878:11;5859:16;;:30;;;;;;;;;;;;;;;;;;5935:4;5900:14;:32;5915:16;;;;;;;;;;;5900:32;;;;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;5503:444;;;;;;;:::o;3259:329::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;3420:59;3433:19;:37;3453:16;3433:37;;;;;;;;;;;;;;;;3471:7;3420:12;:59::i;:::-;3380:19;:37;3400:16;3380:37;;;;;;;;;;;;;;;:99;;;;3525:55;3538:19;:32;3558:11;;;;;;;;;;;3538:32;;;;;;;;;;;;;;;;3572:7;3525:12;:55::i;:::-;3490:19;:32;3510:11;;;;;;;;;;;3490:32;;;;;;;;;;;;;;;:90;;;;3259:329;;;:::o;9538:123::-;9608:7;9640:13;;9633:20;;9538:123;:::o;5959:147::-;6053:7;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;6085:9;;6078:16;;5959:147;;:::o;8465:182::-;8532:7;8557:24;8584:10;8557:37;;8612:27;8622:16;8612:9;:27::i;:::-;8605:34;;8465:182;;:::o;1396:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6564:886::-;6689:4;6729:24;6835:17;6936:20;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;6756:10;6729:37;;6876:3;6873:2;6855:15;:20;:24;;;;;;;;6835:44;;6959:40;6972:15;6989:9;6959:12;:40::i;:::-;6936:63;;7025:37;7038:12;;7052:9;7025:12;:37::i;:::-;7010:12;:52;;;;7143:68;7156:19;:37;7176:16;7156:37;;;;;;;;;;;;;;;;7195:15;7143:12;:68::i;:::-;7103:19;:37;7123:16;7103:37;;;;;;;;;;;;;;;:108;;;;7256:59;7269:19;:31;7289:10;7269:31;;;;;;;;;;;;;;;;7302:12;7256;:59::i;:::-;7222:19;:31;7242:10;7222:31;;;;;;;;;;;;;;;:93;;;;7358:10;7331:52;;7340:16;7331:52;;;7370:12;7331:52;;;;;;;;;;;;;;;;;;7429:4;7422:11;;6564:886;;;;;;;;:::o;7824:120::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;7929:7;7920:6;:16;;;;;;;;;;;;:::i;:::-;;7824:120;;:::o;3910:345::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;4077:59;4090:19;:37;4110:16;4090:37;;;;;;;;;;;;;;;;4128:7;4077:12;:59::i;:::-;4037:19;:37;4057:16;4037:37;;;;;;;;;;;;;;;:99;;;;4187:60;4200:19;:37;4220:16;;;;;;;;;;;4200:37;;;;;;;;;;;;;;;;4239:7;4187:12;:60::i;:::-;4147:19;:37;4167:16;;;;;;;;;;;4147:37;;;;;;;;;;;;;;;:100;;;;3910:345;;;:::o;7700:112::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;7799:5;7792:4;:12;;;;;;;;;;;;:::i;:::-;;7700:112;;:::o;6118:432::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;6233:9;;6222:7;:20;;6219:324;;;6268:4;;;;;;;;;;;:13;;:29;6293:3;6290:2;6282:7;:10;:14;;;;;;;;6268:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6268:29:0;6312:4;;;;;;;;;;;:13;;:29;6337:3;6334:2;6326:7;:10;:14;;;;;;;;6312:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6312:29:0;6356:4;;;;;;;;;;;:13;;:29;6381:3;6378:2;6370:7;:10;:14;;;;;;;;6356:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6356:29:0;6400:4;;;;;;;;;;;:13;;:29;6425:3;6422:2;6414:7;:10;:14;;;;;;;;6400:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6400:29:0;6444:4;;;;;;;;;;;:13;;:29;6469:3;6466:2;6458:7;:10;:14;;;;;;;;6444:29;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6444:29:0;6500:31;6513:9;;6523:7;6500:12;:31::i;:::-;6488:9;:43;;;;6219:324;6118:432;;:::o;4588:903::-;4708:24;4832:15;4876:17;4938:18;5052:22;147:1;134:10;:8;:10::i;:::-;:14;126:23;;;;;;;;4735:10;4708:37;;4783:19;:37;4803:16;4783:37;;;;;;;;;;;;;;;;4764:15;:56;;4756:65;;;;;;;;4850:15;4832:33;;4896:31;4914:7;4922:4;4896:17;:31::i;:::-;4876:51;;4979:4;4971:7;;4959:9;:19;:24;;;;;;;;4938:45;;5077:35;5090:9;5101:10;5077:12;:35::i;:::-;5052:60;;5136:10;5123:9;;:23;;;;;;;;;;;5215:35;5228:12;;5242:7;5215:12;:35::i;:::-;5200:12;:50;;;;5301:60;5314:19;:37;5334:16;5314:37;;;;;;;;;;;;;;;;5353:7;5301:12;:60::i;:::-;5261:19;:37;5281:16;5261:37;;;;;;;;;;;;;;;:100;;;;5372:16;:25;;:41;5398:14;5372:41;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5372:41:0;5441:16;5429:54;;;5459:7;5468:14;5429:54;;;;;;;;;;;;;;;;;;;;;;;;4588:903;;;;;;:::o;4325:199::-;4373:24;4421:15;4400:10;4373:37;;4439:19;:37;4459:16;4439:37;;;;;;;;;;;;;;;;4421:55;;4500:1;4490:7;:11;4487:29;;;4503:13;4508:7;4503:4;:13::i;:::-;4487:29;4325:199;;:::o;2658:155::-;2742:7;2767:38;2782:9;2793:11;2767:14;:38::i;:::-;;2658:155;;;:::o;3600:298::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;3770:59;3783:19;:37;3803:16;3783:37;;;;;;;;;;;;;;;;3821:7;3770:12;:59::i;:::-;3730:19;:37;3750:16;3730:37;;;;;;;;;;;;;;;:99;;;;3855:35;3869:12;;3882:7;3855:12;:35::i;:::-;3840:12;:50;;;;3600:298;;;:::o;7952:155::-;216:24;243:10;216:37;;272:14;:32;287:16;272:32;;;;;;;;;;;;;;;;;;;;;;;;;264:41;;;;;;;;8082:17;8063:16;;:36;;;;;;;;;;;;;;;;;;7952:155;;:::o;18216:123::-;18274:7;18306:1;18301;:6;;18294:14;;;;;;18330:1;18326;:5;18319:12;;18216:123;;;;:::o;12040:2381::-;12182:7;12207:30;12289:15;12373:20;12419:23;12796:16;13676:27;12274:1;12269:4;:6;12265:1;:11;1592:9;12241:36;12207:71;;12307:55;12323:13;12321:1;:15;12339:22;12307:12;:55::i;:::-;12289:73;;12396:12;;12373:35;;12751:22;12749:1;:24;12479:253;12515:166;12644:9;12621:22;12619:1;:24;:34;12585:1;12576:7;:10;:78;12515:4;:166::i;:::-;12706:7;12479:12;:253::i;:::-;12460:314;;;;;;;;12419:366;;12815:17;12827:4;12815:11;:17::i;:::-;12796:36;;12881:8;12865:12;12847:15;:30;12846:43;:70;;;;;12908:8;12893:12;:23;12846:70;12843:175;;;12983:22;12980:1;12964:15;:17;12963:42;12948:13;:58;12932:74;;12843:175;13066:8;13050:12;13032:15;:30;13031:43;:70;;;;;13093:8;13078:12;:23;13031:70;13028:1237;;;13146:12;13135:8;:23;13117:41;;13185:197;13216:9;13343:22;13322:1;13306:15;:17;13305:60;13289:13;13287:1;:15;13286:80;13264:1;13247:15;13246:19;;;;;;;;13245:122;13185:12;:197::i;:::-;13173:209;;13448:22;13445:1;13429:15;:17;13428:42;13413:13;:58;13397:74;;13500:1;13493:4;:8;13486:15;;13577:1;13572:4;:6;13567:1;13566:13;1592:9;13542:38;13516:65;;13606:55;13622:13;13620:1;:15;13638:22;13606:12;:55::i;:::-;13596:65;;14052:22;14050:1;:24;13748:281;13788:182;13929:9;13906:22;13904:1;:24;:34;13866:1;13857:7;:10;:82;13788:4;:182::i;:::-;13999:7;13748:12;:281::i;:::-;13725:350;;;;;;;;13676:414;;14160:22;14157:1;14137:19;:21;14136:46;14121:13;:62;14105:78;;14234:19;14216:15;:37;14198:55;;13028:1237;14285:4;14278:11;;:3;:11;;;14275:106;;;14331:13;14315;:29;;;;14365:4;14359:3;:10;;;;14275:106;14398:15;14391:22;;12040:2381;;;;;;;;;;;;:::o;18414:147::-;18472:7;18492:9;18508:1;18504;:5;18492:17;;18532:1;18527;:6;;18520:14;;;;;;18552:1;18545:8;;18414:147;;;;;:::o;14923:2160::-;15027:7;15052:20;15098:22;15135:12;15164:16;15213:21;15261:30;15409:20;15470:9;15075:12;;15052:35;;15123:1;15098:26;;15150:3;;15135:18;;15183:19;15200:1;15195:4;:6;15183:11;:19::i;:::-;15164:38;;15237:13;;15213:37;;15330:1;15325:4;:6;15320:1;15319:13;1592:9;15295:38;15261:73;;15375:8;15364:7;15349:12;:22;15348:35;15345:663;;;15447:8;15432:12;:23;15409:46;;15512:22;15499:12;:35;15482:13;:53;15470:65;;15570:12;15560:7;:22;15550:32;;15674:22;15671:1;15658:12;:14;15657:39;15653:1;15651;:3;15650:47;15646:1;15633:12;:14;;;;;;;;15632:66;15614:14;:85;15597:102;;15762:22;15759:1;15746:12;:14;15745:39;15730:13;:55;15714:71;;15830:12;15815;:27;15800:42;;15869:1;15864:4;:6;15857:13;;15947:1;15942:4;:6;15937:1;15936:13;1592:9;15912:38;15886:65;;15977:19;15994:1;15989:4;:6;15977:11;:19::i;:::-;15966:30;;15345:663;16048:8;16037:7;16022:12;:22;16021:35;16018:596;;;16112:8;16097:12;:23;16082:38;;16155:12;16145:7;:22;16135:32;;16221:22;16218:1;16205:12;:14;16204:39;16187:13;:57;16183:61;;16336:22;16333:1;16320:12;:14;16319:39;16315:1;16313;:3;16312:47;16308:1;16295:12;:14;;;;;;;;16294:66;16276:14;:85;16259:102;;16392:1;16376:17;;16438:12;16423;:27;16408:42;;16477:1;16472:4;:6;16465:13;;16555:1;16550:4;:6;16545:1;16544:13;1592:9;16520:38;16494:65;;16585:17;16597:4;16585:11;:17::i;:::-;16574:28;;16018:596;16637:1;16627:7;:11;16624:303;;;16698:22;16695:1;16687:7;:9;16686:34;16669:13;:52;16665:56;;16804:22;16801:1;16793:7;:9;16792:34;16788:1;16786;:3;16785:42;16781:1;16773:7;:9;;;;;;;;16772:56;16754:14;:75;16737:92;;16875:7;16860:12;:22;16845:37;;16914:1;16898:17;;16624:303;16948:4;16940:12;;:4;:12;;;16937:107;;;16984:4;16978:3;:10;;;;17019:13;17003;:29;;;;16937:107;17061:14;17054:21;;14923:2160;;;;;;;;;;;;:::o;17101:198::-;17146:6;17165;17184:1;17179;17175;:5;17174:11;;;;;;;;17165:20;;17200:1;17196:5;;17212:80;17223:1;17219;:5;17212:80;;;17245:1;17241:5;;17279:1;17274;17270;17266;:5;;;;;;;;:9;17265:15;;;;;;;;17261:19;;17212:80;;;17101:198;;;;:::o;14433:478::-;14505:7;14541:1;14533:4;:9;;14530:71;;;14584:4;14576:5;:12;14568:21;;;;14530:71;14621:1;14614:4;:8;:22;;;;;14634:2;14626:4;:10;;14614:22;14611:84;;;14678:4;14670:5;:12;14662:21;;;;14611:84;14715:2;14708:4;:9;:23;;;;;14729:2;14721:4;:10;;14708:23;14705:85;;;14773:4;14765:5;:12;14757:21;;;;14705:85;14810:2;14803:4;:9;:23;;;;;14824:2;14816:4;:10;;14803:23;14800:85;;;14868:4;14860:5;:12;14852:21;;;;14800:85;14902:1;14895:8;;14433:478;;;;:::o;28:17274::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://752120576ac2192a40d19519b0b98a8b0bbf5fcba097360dd67f650ed8205441

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.