ETH Price: $2,537.58 (+0.24%)

Contract

0x34317e2Da45FeC7c525aCa8dAbF22CbC877128a3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw201067952024-06-16 20:39:2374 days ago1718570363IN
0x34317e2D...C877128a3
0 ETH0.000399074.17071083
Sell201067782024-06-16 20:35:5974 days ago1718570159IN
0x34317e2D...C877128a3
0 ETH0.000396634.71044397
Feed Inventory191472692024-02-03 10:34:35208 days ago1706956475IN
0x34317e2D...C877128a3
0 ETH0.0010995415.46307638
Sell190885862024-01-26 5:06:11216 days ago1706245571IN
0x34317e2D...C877128a3
0 ETH0.0012890619.2065134
Withdraw190885832024-01-26 5:05:23216 days ago1706245523IN
0x34317e2D...C877128a3
0 ETH0.0015544319.78009517
Withdraw189507532024-01-06 21:19:11235 days ago1704575951IN
0x34317e2D...C877128a3
0 ETH0.0010183816.5629461
Sell189507322024-01-06 21:14:47235 days ago1704575687IN
0x34317e2D...C877128a3
0 ETH0.0013515120.13697174
Withdraw189507272024-01-06 21:13:47235 days ago1704575627IN
0x34317e2D...C877128a3
0 ETH0.0021908122.89585953
Withdraw185409472023-11-10 10:28:11293 days ago1699612091IN
0x34317e2D...C877128a3
0 ETH0.0019060631
Sell185409422023-11-10 10:27:11293 days ago1699612031IN
0x34317e2D...C877128a3
0 ETH0.0021469432
Withdraw185313272023-11-09 2:11:11294 days ago1699495871IN
0x34317e2D...C877128a3
0 ETH0.0017976329.23649419
Sell185313182023-11-09 2:09:23294 days ago1699495763IN
0x34317e2D...C877128a3
0 ETH0.0017787726.50294965
Withdraw184234442023-10-24 23:38:59309 days ago1698190739IN
0x34317e2D...C877128a3
0 ETH0.0013019421.17467656
Sell184234352023-10-24 23:37:11309 days ago1698190631IN
0x34317e2D...C877128a3
0 ETH0.0013630820.30937154
Withdraw184234242023-10-24 23:34:59309 days ago1698190499IN
0x34317e2D...C877128a3
0 ETH0.002060321.53193937
Reinvest183448082023-10-13 23:40:23320 days ago1697240423IN
0x34317e2D...C877128a3
0 ETH0.000397455.07986746
Reinvest183190992023-10-10 9:16:11324 days ago1696929371IN
0x34317e2D...C877128a3
0 ETH0.000486846.22231563
Buy183190902023-10-10 9:14:23324 days ago1696929263IN
0x34317e2D...C877128a3
0 ETH0.000751016.98665575
Sell178433152023-08-04 18:10:11391 days ago1691172611IN
0x34317e2D...C877128a3
0 ETH0.0019258428.69934192
Withdraw178065552023-07-30 14:51:11396 days ago1690728671IN
0x34317e2D...C877128a3
0 ETH0.0010535917.13560714
Withdraw177780872023-07-26 15:16:23400 days ago1690384583IN
0x34317e2D...C877128a3
0 ETH0.0027284834.71976697
Sell177780772023-07-26 15:14:23400 days ago1690384463IN
0x34317e2D...C877128a3
0 ETH0.0020368730.35405751
Withdraw176601092023-07-10 1:49:23416 days ago1688953763IN
0x34317e2D...C877128a3
0 ETH0.0013645314.26052135
Sell176601002023-07-10 1:47:35416 days ago1688953655IN
0x34317e2D...C877128a3
0 ETH0.0011016516.42305278
Transfer176600912023-07-10 1:45:47416 days ago1688953547IN
0x34317e2D...C877128a3
0 ETH0.0030187319
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
VidyaFLUX

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-12-20
*/

/*  VidyaFlux 
    ---------
    Launch date set to 12/20/2020 @ 10:00pm (UTC)
    
    5% entry fee
    5% exit fee
    1% transfer fee 
    1% referral fee 
    0.5% generator fee (maintenance)
    
    Maintenance fee is reserved for the Team3D Inventory contract: 
    0x9680223F7069203E361f55fEFC89B7c1A952CDcc
    
    Anyone who calls feedInventory() function sends maintenance 
    balance to Inventory and gets a 1% bonus in VIDYA for the effort 
    
    Call inventoryFund() to view the current accumulated inventory
    balance. */

pragma solidity ^0.5.17;

library SafeMath {

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

  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    return a / b;
  }

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

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

}

contract TOKEN {
   function totalSupply() external view returns (uint256);
   function balanceOf(address account) external view returns (uint256);
   function transfer(address recipient, uint256 amount) external returns (bool);
   function allowance(address owner, address spender) external view returns (uint256);
   function approve(address spender, uint256 amount) external returns (bool);
   function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
}

contract VidyaFLUX {
    
    mapping(address => bool) internal ambassadors_;
    uint256 constant internal ambassadorMaxPurchase_ = 500000e18; // 500k
    mapping(address => uint256) internal ambassadorAccumulatedQuota_;
    bool public onlyAmbassadors = true;
    uint256 ACTIVATION_TIME =  1608501600; // 12/20/2020 @ 10:00pm (UTC)

    modifier antiEarlyWhale(uint256 _amountOfVIDYA, address _customerAddress){
      if (now >= ACTIVATION_TIME) {
         onlyAmbassadors = false;
      }

      if (onlyAmbassadors) {
         require((ambassadors_[_customerAddress] == true && (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfVIDYA) <= ambassadorMaxPurchase_));
         ambassadorAccumulatedQuota_[_customerAddress] = SafeMath.add(ambassadorAccumulatedQuota_[_customerAddress], _amountOfVIDYA);
         _;
      } else {
         onlyAmbassadors = false;
         _;
      }
    }

    modifier onlyTokenHolders {
        require(myTokens() > 0);
        _;
    }

    modifier onlyDivis {
        require(myDividends(true) > 0);
        _;
    }

    event onDistribute(
        address indexed customerAddress,
        uint256 price
    );

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingVIDYA,
        uint256 tokensMinted,
        address indexed referredBy,
        uint timestamp
    );

    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 VIDYAEarned,
        uint timestamp
    );

    event onReinvestment(
        address indexed customerAddress,
        uint256 VIDYAReinvested,
        uint256 tokensMinted
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 VIDYAWithdrawn
    );

    event Transfer(
        address indexed from,
        address indexed to,
        uint256 tokens
    );

    string public name = "VidyaFLUX";
    string public symbol = "FLUX";
    uint8 constant public decimals = 18;
    uint256 internal entryFee_ = 5;
    uint256 internal transferFee_ = 1;
    uint256 internal exitFee_ = 5;
    uint256 internal referralFee_ = 20; // 20% of the 5% buy or sell fees makes it 1%
    uint256 internal maintenanceFee_ = 10; // 10% of the 5% buy or sell fees makes it 0.5%
    address internal maintenanceAddress;
    uint256 constant internal magnitude = 2 ** 64;
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    mapping(address => uint256) internal invested_;
    mapping(address => uint256) public allTimeRefEarnings_;
    mapping(address => uint256) public totalInvested_;
    mapping(address => uint256) public totalWithdrawn_;
    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;
    uint256 public stakingRequirement = 0;
    uint256 public totalHolder = 0;
    uint256 public totalDonation = 0;
    TOKEN erc20;

    constructor() public {
        maintenanceAddress = address(0x9680223F7069203E361f55fEFC89B7c1A952CDcc); // Inventory contract  
        erc20 = TOKEN(address(0x3D3D35bb9bEC23b06Ca00fe472b50E7A4c692C30)); // VIDYA token
    }

    function checkAndTransferVIDYA(uint256 _amount) private {
        require(erc20.transferFrom(msg.sender, address(this), _amount) == true, "transfer must succeed");
    }

    function buy(uint256 _amount, address _referredBy) public returns (uint256) {
        checkAndTransferVIDYA(_amount);
        return purchaseTokens(_referredBy, msg.sender, _amount);
    }

    function() payable external {
        revert();
    }

    function reinvest() onlyDivis public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false);
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        uint256 _tokens = purchaseTokens(address(0x0), _customerAddress, _dividends);
        emit onReinvestment(_customerAddress, _dividends, _tokens);
    }

    function exit() external {
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens, address(0x0));
        withdraw();
    }

    function withdraw() onlyDivis public {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false);
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;
        totalWithdrawn_[_customerAddress] = SafeMath.add(totalWithdrawn_[_customerAddress], _dividends);
        erc20.transfer(_customerAddress, _dividends);
        emit onWithdraw(_customerAddress, _dividends);
    }

    function sell(uint256 _amountOfTokens,address _referredBy) onlyTokenHolders public {
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_amountOfTokens, exitFee_), 100);

        uint256 _maintenance = SafeMath.div(SafeMath.mul(_undividedDividends, maintenanceFee_), 100);
        uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, referralFee_), 100);

        uint256 _dividends = SafeMath.sub(_undividedDividends, SafeMath.add(_referralBonus,_maintenance));

        uint256 _taxedVIDYA = SafeMath.sub(_amountOfTokens, _undividedDividends);

        uint256 _fee = _dividends * magnitude;

        referralBalance_[maintenanceAddress] = SafeMath.add(referralBalance_[maintenanceAddress], (_maintenance));

        tokenSupply_ = SafeMath.sub(tokenSupply_, _amountOfTokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        if (_referredBy != address(0) && _referredBy != _customerAddress && tokenBalanceLedger_[_referredBy] >= stakingRequirement) {
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
        } else {
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }

        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens + (_taxedVIDYA * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;

        if (tokenSupply_ > 0) {
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        emit Transfer(_customerAddress, address(0), _amountOfTokens);
        emit onTokenSell(_customerAddress, _amountOfTokens, _taxedVIDYA, now);

    }

    function transfer(address _toAddress, uint256 _amountOfTokens) onlyTokenHolders external returns (bool){
        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        if (myDividends(true) > 0) {
            withdraw();
        }

        uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = _tokenFee;

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);

        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);

        profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);

        emit Transfer(_customerAddress, _toAddress, _taxedTokens);

        return true;
    }

    function totalVIDYABalance() public view returns (uint256) {
        return erc20.balanceOf(address(this));
    }

    function totalSupply() public view returns (uint256) {
        return tokenSupply_;
    }

    function myTokens() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    function myDividends(bool _includeReferralBonus) public view returns (uint256) {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }
    
    function myReferrals() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return referralBalance_[_customerAddress];
    }

    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    function sellPrice() public view returns (uint256) {
        uint256 _VIDYA = 1e18;
        return SafeMath.div(_VIDYA * SafeMath.sub(100, exitFee_), 100);
    }

    function buyPrice() public view returns (uint256) {
        uint256 _VIDYA = 1e18;
        return SafeMath.div(_VIDYA * 100, SafeMath.sub(100, entryFee_));
    }

    function calculateTokensReceived(uint256 _VIDYAToSpend) public view returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_VIDYAToSpend, entryFee_), 100);
        uint256 _amountOfTokens = SafeMath.sub(_VIDYAToSpend, _dividends);

        return _amountOfTokens;
    }

    function calculateVIDYAReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_tokensToSell, exitFee_), 100);
        uint256 _taxedVIDYA = SafeMath.sub(_tokensToSell, _dividends);

        return _taxedVIDYA;
    }

    function getInvested() public view returns (uint256) {
        return invested_[msg.sender];
    }

    function purchaseTokens(address _referredBy, address _customerAddress, uint256 _incomingVIDYA) internal antiEarlyWhale(_incomingVIDYA, _customerAddress) returns (uint256) {
        if (getInvested() == 0) {
          totalHolder++;
        }

        invested_[msg.sender] += _incomingVIDYA;

        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingVIDYA, entryFee_), 100);

        uint256 _maintenance = SafeMath.div(SafeMath.mul(_undividedDividends, maintenanceFee_), 100);
        uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, referralFee_), 100);

        uint256 _dividends = SafeMath.sub(_undividedDividends, SafeMath.add(_referralBonus, _maintenance));
        uint256 _amountOfTokens = SafeMath.sub(_incomingVIDYA, _undividedDividends);
        uint256 _fee = _dividends * magnitude;

        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        referralBalance_[maintenanceAddress] = SafeMath.add(referralBalance_[maintenanceAddress], (_maintenance));

        if (_referredBy != address(0) && _referredBy != _customerAddress && tokenBalanceLedger_[_referredBy] >= stakingRequirement) {
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
            allTimeRefEarnings_[_referredBy] = SafeMath.add(allTimeRefEarnings_[_referredBy], _referralBonus);
            totalInvested_[_customerAddress] = SafeMath.add(totalInvested_[_customerAddress], _incomingVIDYA);
        } else {
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }

        if (tokenSupply_ > 0) {
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            tokenSupply_ = _amountOfTokens;
        }

        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;

        emit Transfer(address(0), msg.sender, _amountOfTokens);
        emit onTokenPurchase(_customerAddress, _incomingVIDYA, _amountOfTokens, _referredBy, now);

        return _amountOfTokens;
    }
    
    /*  Withdraw maintenance balance to Inventory contract 
        Caller (msg.sender) gets 1% of the amount as bonus */
    function feedInventory() public returns(uint256, uint256) {
        
        // Maintenance balance 
        uint256 amount = referralBalance_[maintenanceAddress];
        
        // 1% from amount (amount * 1 / 100)
        uint256 bonus = SafeMath.div(SafeMath.mul(amount, 1), 100);

        // This amount goes to Inventory 
        uint256 toInventory = SafeMath.sub(amount, bonus);
        
        // Set maintenance balance to 0
        referralBalance_[maintenanceAddress] = 0;
        
        // Send to Inventory 
        erc20.transfer(maintenanceAddress, toInventory);
        
        // Send to caller 
        erc20.transfer(msg.sender, bonus);
        
        // Returns the amounts for UI or w/e 
        return (toInventory, bonus);
        
    }
    
    function inventoryFund() public view returns(uint256) {
        return referralBalance_[maintenanceAddress];
    }

    function getOneTimeData() public view returns(uint256, uint256, uint256, string memory, string memory) {
        return (entryFee_, exitFee_, decimals, name, symbol);
    }

    function multiData() public view returns(uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
  return (
        // [0] Total VIDYA in contract
        totalVIDYABalance(),

        // [1] Total FLUX supply
        totalSupply(),

        // [2] User FLUX balance
        balanceOf(msg.sender),

        // [3] User VIDYA balance
        erc20.balanceOf(msg.sender),

        // [4] User divs
        dividendsOf(msg.sender),

        // [5] Buy price
        buyPrice(),

        // [6] Sell price
        sellPrice(),

        // [7] All time ref earnings
        allTimeRefEarnings_[msg.sender],

        // [8] Ref earnings
        referralBalance_[msg.sender],

        // [9] Total invested
        totalInvested_[msg.sender],

        // [10] Total withdrawn
        totalWithdrawn_[msg.sender]

        );
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"price","type":"uint256"}],"name":"onDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"VIDYAReinvested","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"incomingVIDYA","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensMinted","type":"uint256"},{"indexed":true,"internalType":"address","name":"referredBy","type":"address"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensBurned","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"VIDYAEarned","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"VIDYAWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allTimeRefEarnings_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"},{"internalType":"address","name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_VIDYAToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"_tokensToSell","type":"uint256"}],"name":"calculateVIDYAReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"feedInventory","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOneTimeData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"},{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"inventoryFund","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multiData","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"bool","name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myReferrals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onlyAmbassadors","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"},{"internalType":"address","name":"_referredBy","type":"address"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalDonation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalHolder","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalInvested_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalVIDYABalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalWithdrawn_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_toAddress","type":"address"},{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]

60806040526001600260006101000a81548160ff021916908315150217905550635fdfc9606003556040518060400160405280600981526020017f5669647961464c555800000000000000000000000000000000000000000000008152506004908051906020019062000074929190620001a8565b506040518060400160405280600481526020017f464c55580000000000000000000000000000000000000000000000000000000081525060059080519060200190620000c2929190620001a8565b506005600655600160075560056008556014600955600a8055600060155560006016556000601755348015620000f757600080fd5b50739680223f7069203e361f55fefc89b7c1a952cdcc600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733d3d35bb9bec23b06ca00fe472b50e7a4c692c30601860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000257565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001eb57805160ff19168380011785556200021c565b828001600101855582156200021c579182015b828111156200021b578251825591602001919060010190620001fe565b5b5090506200022b91906200022f565b5090565b6200025491905b808211156200025057600081600090555060010162000236565b5090565b90565b6135ea80620002676000396000f3fe6080604052600436106101e25760003560e01c80637529c20211610102578063e14a605e11610095578063f11745df11610064578063f11745df14610a46578063f2b79df914610a71578063fa82b5c714610ae2578063fdb5a03e14610b47576101e2565b8063e14a605e14610974578063e9fad8ee146109d9578063ee2ac05f146109f0578063ef51d6e214610a1b576101e2565b806395d89b41116100d157806395d89b411461081b578063a9059cbb146108ab578063b99b2f811461091e578063befc3e2b14610949576101e2565b80637529c202146107245780637deb6025146107565780638620410b146107c5578063949e8acd146107f0576101e2565b8063313ce5671161017a5780634b750334116101495780634b7503341461061857806356d399e814610643578063688abbf71461066e57806370a08231146106bf576101e2565b8063313ce567146104645780633ccfd60b146104955780634189a68e146104ac57806347b9929514610507576101e2565b806315eaeaf0116101b657806315eaeaf01461037a57806318160ddd146103a5578063243df686146103d057806327defa1f14610435576101e2565b806265318b146101e757806306fdde031461024c57806310d0ffdd146102dc578063148ceca01461032b575b600080fd5b3480156101f357600080fd5b506102366004803603602081101561020a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b5e565b6040518082815260200191505060405180910390f35b34801561025857600080fd5b50610261610bfe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102a1578082015181840152602081019050610286565b50505050905090810190601f1680156102ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e857600080fd5b50610315600480360360208110156102ff57600080fd5b8101908080359060200190929190505050610c9c565b6040518082815260200191505060405180910390f35b34801561033757600080fd5b506103646004803603602081101561034e57600080fd5b8101908080359060200190929190505050610ccf565b6040518082815260200191505060405180910390f35b34801561038657600080fd5b5061038f610d12565b6040518082815260200191505060405180910390f35b3480156103b157600080fd5b506103ba610df3565b6040518082815260200191505060405180910390f35b3480156103dc57600080fd5b5061041f600480360360208110156103f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dfd565b6040518082815260200191505060405180910390f35b34801561044157600080fd5b5061044a610e15565b604051808215151515815260200191505060405180910390f35b34801561047057600080fd5b50610479610e28565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610e2d565b005b3480156104b857600080fd5b50610505600480360360408110156104cf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110fa565b005b34801561051357600080fd5b5061051c61161e565b604051808681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610572578082015181840152602081019050610557565b50505050905090810190601f16801561059f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156105d85780820151818401526020810190506105bd565b50505050905090810190601f1680156106055780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561062457600080fd5b5061062d611781565b6040518082815260200191505060405180910390f35b34801561064f57600080fd5b506106586117ae565b6040518082815260200191505060405180910390f35b34801561067a57600080fd5b506106a96004803603602081101561069157600080fd5b810190808035151590602001909291905050506117b4565b6040518082815260200191505060405180910390f35b3480156106cb57600080fd5b5061070e600480360360208110156106e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611820565b6040518082815260200191505060405180910390f35b34801561073057600080fd5b50610739611869565b604051808381526020018281526020019250505060405180910390f35b34801561076257600080fd5b506107af6004803603604081101561077957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b59565b6040518082815260200191505060405180910390f35b3480156107d157600080fd5b506107da611b77565b6040518082815260200191505060405180910390f35b3480156107fc57600080fd5b50610805611ba4565b6040518082815260200191505060405180910390f35b34801561082757600080fd5b50610830611bb9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610870578082015181840152602081019050610855565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108b757600080fd5b50610904600480360360408110156108ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c57565b604051808215151515815260200191505060405180910390f35b34801561092a57600080fd5b50610933611f6c565b6040518082815260200191505060405180910390f35b34801561095557600080fd5b5061095e611fb8565b6040518082815260200191505060405180910390f35b34801561098057600080fd5b506109c36004803603602081101561099757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fff565b6040518082815260200191505060405180910390f35b3480156109e557600080fd5b506109ee612017565b005b3480156109fc57600080fd5b50610a05612081565b6040518082815260200191505060405180910390f35b348015610a2757600080fd5b50610a30612087565b6040518082815260200191505060405180910390f35b348015610a5257600080fd5b50610a5b6120f0565b6040518082815260200191505060405180910390f35b348015610a7d57600080fd5b50610a866120f6565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b348015610aee57600080fd5b50610b3160048036036020811015610b0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612336565b6040518082815260200191505060405180910390f35b348015610b5357600080fd5b50610b5c61234e565b005b600068010000000000000000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601454020381610bf657fe5b049050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c945780601f10610c6957610100808354040283529160200191610c94565b820191906000526020600020905b815481529060010190602001808311610c7757829003601f168201915b505050505081565b600080610cb5610cae846006546124c3565b60646124f7565b90506000610cc3848361250b565b90508092505050919050565b6000601354821115610ce057600080fd5b6000610cf8610cf1846008546124c3565b60646124f7565b90506000610d06848361250b565b90508092505050919050565b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610db357600080fd5b505afa158015610dc7573d6000803e3d6000fd5b505050506040513d6020811015610ddd57600080fd5b8101908080519060200190929190505050905090565b6000601354905090565b60106020528060005260406000206000915090505481565b600260009054906101000a900460ff1681565b601281565b6000610e3960016117b4565b11610e4357600080fd5b60003390506000610e5460006117b4565b9050680100000000000000008102600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612522565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b6000611104611ba4565b1161110e57600080fd5b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111561115f57600080fd5b6000611177611170856008546124c3565b60646124f7565b9050600061119161118a83600a546124c3565b60646124f7565b905060006111ab6111a4846009546124c3565b60646124f7565b905060006111c2846111bd8486612522565b61250b565b905060006111d0888661250b565b90506000680100000000000000008302905061124d600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612522565b600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112be6013548a61250b565b60138190555061130d600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a61250b565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580156113b957508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156114065750601554600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561149c57611454600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114b7565b6114a68385612522565b925068010000000000000000830290505b60006801000000000000000083028a6014540201905080600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000601354111561154e576115476014546013546801000000000000000087028161154157fe5b04612522565b6014819055505b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c6040518082815260200191505060405180910390a38773ffffffffffffffffffffffffffffffffffffffff167f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e58b854260405180848152602001838152602001828152602001935050505060405180910390a250505050505050505050565b60008060006060806006546008546012600460058260ff169250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116cd5780601f106116a2576101008083540402835291602001916116cd565b820191906000526020600020905b8154815290600101906020018083116116b057829003601f168201915b50505050509150808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117695780601f1061173e57610100808354040283529160200191611769565b820191906000526020600020905b81548152906001019060200180831161174c57829003601f168201915b50505050509050945094509450945094509091929394565b600080670de0b6b3a764000090506117a861179f606460085461250b565b820260646124f7565b91505090565b60155481565b600080339050826117cd576117c881610b5e565b611818565b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181682610b5e565b015b915050919050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006118e96118e28360016124c3565b60646124f7565b905060006118f7838361250b565b90506000600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611a2b57600080fd5b505af1158015611a3f573d6000803e3d6000fd5b505050506040513d6020811015611a5557600080fd5b810190808051906020019092919050505050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b1057600080fd5b505af1158015611b24573d6000803e3d6000fd5b505050506040513d6020811015611b3a57600080fd5b8101908080519060200190929190505050508082945094505050509091565b6000611b648361253c565b611b6f8233856126d0565b905092915050565b600080670de0b6b3a76400009050611b9e60648202611b99606460065461250b565b6124f7565b91505090565b600080339050611bb381611820565b91505090565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c4f5780601f10611c2457610100808354040283529160200191611c4f565b820191906000526020600020905b815481529060010190602001808311611c3257829003601f168201915b505050505081565b600080611c62611ba4565b11611c6c57600080fd5b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115611cbd57600080fd5b6000611cc960016117b4565b1115611cd857611cd7610e2d565b5b6000611cf0611ce9856007546124c3565b60646124f7565b90506000611cfe858361250b565b90506000829050611d116013548461250b565b601381905550611d60600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761250b565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dec600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560145402600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160145402600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611ef360145460135468010000000000000000840281611eed57fe5b04612522565b6014819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b600080339050600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505090565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60116020528060005260406000206000915090505481565b60003390506000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115612075576120748160006110fa565b5b61207d610e2d565b5050565b60175481565b6000600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60165481565b600080600080600080600080600080600061210f610d12565b612117610df3565b61212033611820565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d60208110156121e957600080fd5b810190808051906020019092919050505061220333610b5e565b61220b611b77565b612213611781565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a509a50909192939495969798999a565b60126020528060005260406000206000915090505481565b600061235a60016117b4565b1161236457600080fd5b6000339050600061237560006117b4565b9050680100000000000000008102600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612466600084846126d0565b90508273ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588383604051808381526020018281526020019250505060405180910390a2505050565b6000808314156124d657600090506124f1565b8183029050818382816124e557fe5b04146124ed57fe5b8090505b92915050565b600081838161250257fe5b04905092915050565b60008282111561251757fe5b818303905092915050565b600081830190508281101561253357fe5b80905092915050565b60011515601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561261d57600080fd5b505af1158015612631573d6000803e3d6000fd5b505050506040513d602081101561264757600080fd5b81019080805190602001909291905050501515146126cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b50565b6000818360035442106126f9576000600260006101000a81548160ff0219169083151502179055505b600260009054906101000a900460ff1615612ef157600115156000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156127b857506969e10de76676d080000082600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b6127c157600080fd5b61280a600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612857611fb8565b1415612870576016600081548092919060010191905055505b83600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060006128d56128ce866006546124c3565b60646124f7565b905060006128ef6128e883600a546124c3565b60646124f7565b90506000612909612902846009546124c3565b60646124f7565b905060006129208461291b8486612522565b61250b565b9050600061292e898661250b565b90506000680100000000000000008302905060008211801561295c575060135461295a83601354612522565b115b61296557600080fd5b6129d0600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612522565b600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015612a9e57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015612aeb5750601554600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612c9957612b39600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bc5601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c51601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b612522565b601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cb4565b612ca38385612522565b925068010000000000000000830290505b60006013541115612d1b57612ccb60135483612522565b60138190555060135468010000000000000000840281612ce757fe5b0460146000828254019250508190555060135468010000000000000000840281612d0d57fe5b048202810381039050612d23565b816013819055505b612d6c600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081836014540203905080600e60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38c73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868d864260405180848152602001838152602001828152602001935050505060405180910390a3829950505050505050506135ac565b6000600260006101000a81548160ff0219169083151502179055506000612f16611fb8565b1415612f2f576016600081548092919060010191905055505b83600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000612f94612f8d866006546124c3565b60646124f7565b90506000612fae612fa783600a546124c3565b60646124f7565b90506000612fc8612fc1846009546124c3565b60646124f7565b90506000612fdf84612fda8486612522565b61250b565b90506000612fed898661250b565b90506000680100000000000000008302905060008211801561301b575060135461301983601354612522565b115b61302457600080fd5b61308f600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612522565b600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561315d57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156131aa5750601554600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15613358576131f8600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613284601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613310601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b612522565b601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613373565b6133628385612522565b925068010000000000000000830290505b600060135411156133da5761338a60135483612522565b601381905550601354680100000000000000008402816133a657fe5b04601460008282540192505081905550601354680100000000000000008402816133cc57fe5b0482028103810390506133e2565b816013819055505b61342b600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081836014540203905080600e60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38c73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868d864260405180848152602001838152602001828152602001935050505060405180910390a3829950505050505050505b5050939250505056fea265627a7a723158203c81119a8dc10c9f62eaab40ecee792d653ca66f815561a538bf3536e68cda4664736f6c63430005110032

Deployed Bytecode

0x6080604052600436106101e25760003560e01c80637529c20211610102578063e14a605e11610095578063f11745df11610064578063f11745df14610a46578063f2b79df914610a71578063fa82b5c714610ae2578063fdb5a03e14610b47576101e2565b8063e14a605e14610974578063e9fad8ee146109d9578063ee2ac05f146109f0578063ef51d6e214610a1b576101e2565b806395d89b41116100d157806395d89b411461081b578063a9059cbb146108ab578063b99b2f811461091e578063befc3e2b14610949576101e2565b80637529c202146107245780637deb6025146107565780638620410b146107c5578063949e8acd146107f0576101e2565b8063313ce5671161017a5780634b750334116101495780634b7503341461061857806356d399e814610643578063688abbf71461066e57806370a08231146106bf576101e2565b8063313ce567146104645780633ccfd60b146104955780634189a68e146104ac57806347b9929514610507576101e2565b806315eaeaf0116101b657806315eaeaf01461037a57806318160ddd146103a5578063243df686146103d057806327defa1f14610435576101e2565b806265318b146101e757806306fdde031461024c57806310d0ffdd146102dc578063148ceca01461032b575b600080fd5b3480156101f357600080fd5b506102366004803603602081101561020a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b5e565b6040518082815260200191505060405180910390f35b34801561025857600080fd5b50610261610bfe565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102a1578082015181840152602081019050610286565b50505050905090810190601f1680156102ce5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102e857600080fd5b50610315600480360360208110156102ff57600080fd5b8101908080359060200190929190505050610c9c565b6040518082815260200191505060405180910390f35b34801561033757600080fd5b506103646004803603602081101561034e57600080fd5b8101908080359060200190929190505050610ccf565b6040518082815260200191505060405180910390f35b34801561038657600080fd5b5061038f610d12565b6040518082815260200191505060405180910390f35b3480156103b157600080fd5b506103ba610df3565b6040518082815260200191505060405180910390f35b3480156103dc57600080fd5b5061041f600480360360208110156103f357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dfd565b6040518082815260200191505060405180910390f35b34801561044157600080fd5b5061044a610e15565b604051808215151515815260200191505060405180910390f35b34801561047057600080fd5b50610479610e28565b604051808260ff1660ff16815260200191505060405180910390f35b3480156104a157600080fd5b506104aa610e2d565b005b3480156104b857600080fd5b50610505600480360360408110156104cf57600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506110fa565b005b34801561051357600080fd5b5061051c61161e565b604051808681526020018581526020018481526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610572578082015181840152602081019050610557565b50505050905090810190601f16801561059f5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156105d85780820151818401526020810190506105bd565b50505050905090810190601f1680156106055780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561062457600080fd5b5061062d611781565b6040518082815260200191505060405180910390f35b34801561064f57600080fd5b506106586117ae565b6040518082815260200191505060405180910390f35b34801561067a57600080fd5b506106a96004803603602081101561069157600080fd5b810190808035151590602001909291905050506117b4565b6040518082815260200191505060405180910390f35b3480156106cb57600080fd5b5061070e600480360360208110156106e257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611820565b6040518082815260200191505060405180910390f35b34801561073057600080fd5b50610739611869565b604051808381526020018281526020019250505060405180910390f35b34801561076257600080fd5b506107af6004803603604081101561077957600080fd5b8101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611b59565b6040518082815260200191505060405180910390f35b3480156107d157600080fd5b506107da611b77565b6040518082815260200191505060405180910390f35b3480156107fc57600080fd5b50610805611ba4565b6040518082815260200191505060405180910390f35b34801561082757600080fd5b50610830611bb9565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610870578082015181840152602081019050610855565b50505050905090810190601f16801561089d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156108b757600080fd5b50610904600480360360408110156108ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611c57565b604051808215151515815260200191505060405180910390f35b34801561092a57600080fd5b50610933611f6c565b6040518082815260200191505060405180910390f35b34801561095557600080fd5b5061095e611fb8565b6040518082815260200191505060405180910390f35b34801561098057600080fd5b506109c36004803603602081101561099757600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611fff565b6040518082815260200191505060405180910390f35b3480156109e557600080fd5b506109ee612017565b005b3480156109fc57600080fd5b50610a05612081565b6040518082815260200191505060405180910390f35b348015610a2757600080fd5b50610a30612087565b6040518082815260200191505060405180910390f35b348015610a5257600080fd5b50610a5b6120f0565b6040518082815260200191505060405180910390f35b348015610a7d57600080fd5b50610a866120f6565b604051808c81526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019b50505050505050505050505060405180910390f35b348015610aee57600080fd5b50610b3160048036036020811015610b0557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612336565b6040518082815260200191505060405180910390f35b348015610b5357600080fd5b50610b5c61234e565b005b600068010000000000000000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601454020381610bf657fe5b049050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c945780601f10610c6957610100808354040283529160200191610c94565b820191906000526020600020905b815481529060010190602001808311610c7757829003601f168201915b505050505081565b600080610cb5610cae846006546124c3565b60646124f7565b90506000610cc3848361250b565b90508092505050919050565b6000601354821115610ce057600080fd5b6000610cf8610cf1846008546124c3565b60646124f7565b90506000610d06848361250b565b90508092505050919050565b6000601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b158015610db357600080fd5b505afa158015610dc7573d6000803e3d6000fd5b505050506040513d6020811015610ddd57600080fd5b8101908080519060200190929190505050905090565b6000601354905090565b60106020528060005260406000206000915090505481565b600260009054906101000a900460ff1681565b601281565b6000610e3960016117b4565b11610e4357600080fd5b60003390506000610e5460006117b4565b9050680100000000000000008102600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610f80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612522565b601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15801561106c57600080fd5b505af1158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b6000611104611ba4565b1161110e57600080fd5b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483111561115f57600080fd5b6000611177611170856008546124c3565b60646124f7565b9050600061119161118a83600a546124c3565b60646124f7565b905060006111ab6111a4846009546124c3565b60646124f7565b905060006111c2846111bd8486612522565b61250b565b905060006111d0888661250b565b90506000680100000000000000008302905061124d600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612522565b600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506112be6013548a61250b565b60138190555061130d600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548a61250b565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16141580156113b957508673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614155b80156114065750601554600c60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b1561149c57611454600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506114b7565b6114a68385612522565b925068010000000000000000830290505b60006801000000000000000083028a6014540201905080600e60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000601354111561154e576115476014546013546801000000000000000087028161154157fe5b04612522565b6014819055505b600073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8c6040518082815260200191505060405180910390a38773ffffffffffffffffffffffffffffffffffffffff167f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e58b854260405180848152602001838152602001828152602001935050505060405180910390a250505050505050505050565b60008060006060806006546008546012600460058260ff169250818054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116cd5780601f106116a2576101008083540402835291602001916116cd565b820191906000526020600020905b8154815290600101906020018083116116b057829003601f168201915b50505050509150808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156117695780601f1061173e57610100808354040283529160200191611769565b820191906000526020600020905b81548152906001019060200180831161174c57829003601f168201915b50505050509050945094509450945094509091929394565b600080670de0b6b3a764000090506117a861179f606460085461250b565b820260646124f7565b91505090565b60155481565b600080339050826117cd576117c881610b5e565b611818565b600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461181682610b5e565b015b915050919050565b6000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000806000600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006118e96118e28360016124c3565b60646124f7565b905060006118f7838361250b565b90506000600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611a2b57600080fd5b505af1158015611a3f573d6000803e3d6000fd5b505050506040513d6020811015611a5557600080fd5b810190808051906020019092919050505050601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015611b1057600080fd5b505af1158015611b24573d6000803e3d6000fd5b505050506040513d6020811015611b3a57600080fd5b8101908080519060200190929190505050508082945094505050509091565b6000611b648361253c565b611b6f8233856126d0565b905092915050565b600080670de0b6b3a76400009050611b9e60648202611b99606460065461250b565b6124f7565b91505090565b600080339050611bb381611820565b91505090565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611c4f5780601f10611c2457610100808354040283529160200191611c4f565b820191906000526020600020905b815481529060010190602001808311611c3257829003601f168201915b505050505081565b600080611c62611ba4565b11611c6c57600080fd5b6000339050600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054831115611cbd57600080fd5b6000611cc960016117b4565b1115611cd857611cd7610e2d565b5b6000611cf0611ce9856007546124c3565b60646124f7565b90506000611cfe858361250b565b90506000829050611d116013548461250b565b601381905550611d60600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548761250b565b600c60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dec600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600c60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560145402600e60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160145402600e60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550611ef360145460135468010000000000000000840281611eed57fe5b04612522565b6014819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b600080339050600d60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205491505090565b6000600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60116020528060005260406000206000915090505481565b60003390506000600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115612075576120748160006110fa565b5b61207d610e2d565b5050565b60175481565b6000600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b60165481565b600080600080600080600080600080600061210f610d12565b612117610df3565b61212033611820565b601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156121bf57600080fd5b505afa1580156121d3573d6000803e3d6000fd5b505050506040513d60208110156121e957600080fd5b810190808051906020019092919050505061220333610b5e565b61220b611b77565b612213611781565b601060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549a509a509a509a509a509a509a509a509a509a509a50909192939495969798999a565b60126020528060005260406000206000915090505481565b600061235a60016117b4565b1161236457600080fd5b6000339050600061237560006117b4565b9050680100000000000000008102600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612466600084846126d0565b90508273ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588383604051808381526020018281526020019250505060405180910390a2505050565b6000808314156124d657600090506124f1565b8183029050818382816124e557fe5b04146124ed57fe5b8090505b92915050565b600081838161250257fe5b04905092915050565b60008282111561251757fe5b818303905092915050565b600081830190508281101561253357fe5b80905092915050565b60011515601860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff1660e01b8152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15801561261d57600080fd5b505af1158015612631573d6000803e3d6000fd5b505050506040513d602081101561264757600080fd5b81019080805190602001909291905050501515146126cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b50565b6000818360035442106126f9576000600260006101000a81548160ff0219169083151502179055505b600260009054906101000a900460ff1615612ef157600115156000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156127b857506969e10de76676d080000082600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b6127c157600080fd5b61280a600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000612857611fb8565b1415612870576016600081548092919060010191905055505b83600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060006128d56128ce866006546124c3565b60646124f7565b905060006128ef6128e883600a546124c3565b60646124f7565b90506000612909612902846009546124c3565b60646124f7565b905060006129208461291b8486612522565b61250b565b9050600061292e898661250b565b90506000680100000000000000008302905060008211801561295c575060135461295a83601354612522565b115b61296557600080fd5b6129d0600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612522565b600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614158015612a9e57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b8015612aeb5750601554600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612c9957612b39600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612bc5601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612c51601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b612522565b601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612cb4565b612ca38385612522565b925068010000000000000000830290505b60006013541115612d1b57612ccb60135483612522565b60138190555060135468010000000000000000840281612ce757fe5b0460146000828254019250508190555060135468010000000000000000840281612d0d57fe5b048202810381039050612d23565b816013819055505b612d6c600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081836014540203905080600e60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38c73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868d864260405180848152602001838152602001828152602001935050505060405180910390a3829950505050505050506135ac565b6000600260006101000a81548160ff0219169083151502179055506000612f16611fb8565b1415612f2f576016600081548092919060010191905055505b83600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506000612f94612f8d866006546124c3565b60646124f7565b90506000612fae612fa783600a546124c3565b60646124f7565b90506000612fc8612fc1846009546124c3565b60646124f7565b90506000612fdf84612fda8486612522565b61250b565b90506000612fed898661250b565b90506000680100000000000000008302905060008211801561301b575060135461301983601354612522565b115b61302457600080fd5b61308f600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612522565b600d6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561315d57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156131aa5750601554600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15613358576131f8600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b600d60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613284601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205485612522565b601060008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613310601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548b612522565b601160008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550613373565b6133628385612522565b925068010000000000000000830290505b600060135411156133da5761338a60135483612522565b601381905550601354680100000000000000008402816133a657fe5b04601460008282540192505081905550601354680100000000000000008402816133cc57fe5b0482028103810390506133e2565b816013819055505b61342b600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612522565b600c60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600081836014540203905080600e60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a38c73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868d864260405180848152602001838152602001828152602001935050505060405180910390a3829950505050505050505b5050939250505056fea265627a7a723158203c81119a8dc10c9f62eaab40ecee792d653ca66f815561a538bf3536e68cda4664736f6c63430005110032

Deployed Bytecode Sourcemap

1656:15095:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5362:8;;;10766:224;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10766:224:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10766:224:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3588:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3588:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3588:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11342:294;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11342:294:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11342:294:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11644:333;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11644:333:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;11644:333:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9782:115;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9782:115:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9905:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9905:91:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4320:54;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4320:54:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4320:54:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1887:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1887:34:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;3663:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3663:35:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6109:544;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6109:544:0;;;:::i;:::-;;6661:1932;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6661:1932:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6661:1932:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;15663:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15663:174:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;15663:174: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;15663:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10998:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10998:164:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4569:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4569:37:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10163:276;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10163:276:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10163:276:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10620:138;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10620:138:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;10620:138:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14736:791;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14736:791:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;5124:191;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5124:191:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5124:191:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11170:164;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11170:164:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10004:151;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10004:151:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3627:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3627:29:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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;3627:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8601:1173;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8601:1173:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8601:1173:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;10451:161;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10451:161:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11985:100;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11985:100:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4381:49;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4381:49:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4381:49:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5878:223;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5878:223:0;;;:::i;:::-;;4650:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4650:32:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15539:116;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15539:116:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4613:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4613:30:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15845:903;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15845:903:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4437:50;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4437:50:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4437:50:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5386:484;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5386:484:0;;;:::i;:::-;;10766:224;10834:7;4077;10941:10;:28;10952:16;10941:28;;;;;;;;;;;;;;;;10900:19;:37;10920:16;10900:37;;;;;;;;;;;;;;;;10882:15;;:55;10872:97;10861:121;;;;;;10854:128;;10766:224;;;:::o;3588:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11342:294::-;11419:7;11439:18;11460:57;11473:38;11486:13;11501:9;;11473:12;:38::i;:::-;11513:3;11460:12;:57::i;:::-;11439:78;;11528:23;11554:39;11567:13;11582:10;11554:12;:39::i;:::-;11528:65;;11613:15;11606:22;;;;11342:294;;;:::o;11644:333::-;11720:7;11765:12;;11748:13;:29;;11740:38;;;;;;11789:18;11810:56;11823:37;11836:13;11851:8;;11823:12;:37::i;:::-;11862:3;11810:12;:56::i;:::-;11789:77;;11877:19;11899:39;11912:13;11927:10;11899:12;:39::i;:::-;11877:61;;11958:11;11951:18;;;;11644:333;;;:::o;9782:115::-;9832:7;9859:5;;;;;;;;;;;:15;;;9883:4;9859:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9859:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9859:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;9859:30:0;;;;;;;;;;;;;;;;9852:37;;9782:115;:::o;9905:91::-;9949:7;9976:12;;9969:19;;9905:91;:::o;4320:54::-;;;;;;;;;;;;;;;;;:::o;1887:34::-;;;;;;;;;;;;;:::o;3663:35::-;3696:2;3663:35;:::o;6109:544::-;2728:1;2708:17;2720:4;2708:11;:17::i;:::-;:21;2700:30;;;;;;6157:24;6184:10;6157:37;;6205:18;6226;6238:5;6226:11;:18::i;:::-;6205:39;;4077:7;6297:10;:22;6255:10;:28;6266:16;6255:28;;;;;;;;;;;;;;;;:65;;;;;;;;;;;6345:16;:34;6362:16;6345:34;;;;;;;;;;;;;;;;6331:48;;;;6427:1;6390:16;:34;6407:16;6390:34;;;;;;;;;;;;;;;:38;;;;6475:59;6488:15;:33;6504:16;6488:33;;;;;;;;;;;;;;;;6523:10;6475:12;:59::i;:::-;6439:15;:33;6455:16;6439:33;;;;;;;;;;;;;;;:95;;;;6545:5;;;;;;;;;;;:14;;;6560:16;6578:10;6545:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6545:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6545:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6545:44:0;;;;;;;;;;;;;;;;;6616:16;6605:40;;;6634:10;6605:40;;;;;;;;;;;;;;;;;;2741:1;;6109:544::o;6661:1932::-;2640:1;2627:10;:8;:10::i;:::-;:14;2619:23;;;;;;6755:24;6782:10;6755:37;;6830:19;:37;6850:16;6830:37;;;;;;;;;;;;;;;;6811:15;:56;;6803:65;;;;;;6881:27;6911:58;6924:39;6937:15;6954:8;;6924:12;:39::i;:::-;6965:3;6911:12;:58::i;:::-;6881:88;;6982:20;7005:69;7018:50;7031:19;7052:15;;7018:12;:50::i;:::-;7070:3;7005:12;:69::i;:::-;6982:92;;7085:22;7110:66;7123:47;7136:19;7157:12;;7123;:47::i;:::-;7172:3;7110:12;:66::i;:::-;7085:91;;7189:18;7210:76;7223:19;7244:41;7257:14;7272:12;7244;:41::i;:::-;7210:12;:76::i;:::-;7189:97;;7299:19;7321:50;7334:15;7351:19;7321:12;:50::i;:::-;7299:72;;7384:12;4077:7;7399:10;:22;7384:37;;7473:66;7486:16;:36;7503:18;;;;;;;;;;;7486:36;;;;;;;;;;;;;;;;7525:12;7473;:66::i;:::-;7434:16;:36;7451:18;;;;;;;;;;;7434:36;;;;;;;;;;;;;;;:105;;;;7567:43;7580:12;;7594:15;7567:12;:43::i;:::-;7552:12;:58;;;;7661:68;7674:19;:37;7694:16;7674:37;;;;;;;;;;;;;;;;7713:15;7661:12;:68::i;:::-;7621:19;:37;7641:16;7621:37;;;;;;;;;;;;;;;:108;;;;7769:1;7746:25;;:11;:25;;;;:60;;;;;7790:16;7775:31;;:11;:31;;;;7746:60;:118;;;;;7846:18;;7810:19;:32;7830:11;7810:32;;;;;;;;;;;;;;;;:54;;7746:118;7742:372;;;7913:59;7926:16;:29;7943:11;7926:29;;;;;;;;;;;;;;;;7957:14;7913:12;:59::i;:::-;7881:16;:29;7898:11;7881:29;;;;;;;;;;;;;;;:91;;;;7742:372;;;8018:40;8031:10;8043:14;8018:12;:40::i;:::-;8005:53;;4077:7;8080:10;:22;8073:29;;7742:372;8126:22;4077:7;8198:11;:23;8179:15;8161;;:33;:61;8126:97;;8266:15;8234:10;:28;8245:16;8234:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;8313:1;8298:12;;:16;8294:137;;;8349:70;8362:15;;8406:12;;4077:7;8380:10;:22;8379:39;;;;;;8349:12;:70::i;:::-;8331:15;:88;;;;8294:137;8483:1;8448:55;;8457:16;8448:55;;;8487:15;8448:55;;;;;;;;;;;;;;;;;;8531:16;8519:64;;;8549:15;8566:11;8579:3;8519:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2653:1;;;;;;;;6661:1932;;:::o;15663:174::-;15709:7;15718;15727;15736:13;15751;15785:9;;15796:8;;3696:2;15816:4;15822:6;15777:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15663:174;;;;;:::o;10998:164::-;11040:7;11060:14;11077:4;11060:21;;11099:55;11121:27;11134:3;11139:8;;11121:12;:27::i;:::-;11112:6;:36;11150:3;11099:12;:55::i;:::-;11092:62;;;10998:164;:::o;4569:37::-;;;;:::o;10163:276::-;10233:7;10253:24;10280:10;10253:37;;10308:21;:122;;10401:29;10413:16;10401:11;:29::i;:::-;10308:122;;;10364:16;:34;10381:16;10364:34;;;;;;;;;;;;;;;;10332:29;10344:16;10332:11;:29::i;:::-;:66;10308:122;10301:129;;;10163:276;;;:::o;10620:138::-;10686:7;10713:19;:37;10733:16;10713:37;;;;;;;;;;;;;;;;10706:44;;10620:138;;;:::o;14736:791::-;14776:7;14785;14848:14;14865:16;:36;14882:18;;;;;;;;;;;14865:36;;;;;;;;;;;;;;;;14848:53;;14968:13;14984:42;14997:23;15010:6;15018:1;14997:12;:23::i;:::-;15022:3;14984:12;:42::i;:::-;14968:58;;15082:19;15104:27;15117:6;15125:5;15104:12;:27::i;:::-;15082:49;;15232:1;15193:16;:36;15210:18;;;;;;;;;;;15193:36;;;;;;;;;;;;;;;:40;;;;15285:5;;;;;;;;;;;:14;;;15300:18;;;;;;;;;;;15320:11;15285:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15285:47:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15285:47:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15285:47:0;;;;;;;;;;;;;;;;;15381:5;;;;;;;;;;;:14;;;15396:10;15408:5;15381:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15381:33:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15381:33:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15381:33:0;;;;;;;;;;;;;;;;;15490:11;15503:5;15482:27;;;;;;;14736:791;;:::o;5124:191::-;5191:7;5211:30;5233:7;5211:21;:30::i;:::-;5259:48;5274:11;5287:10;5299:7;5259:14;:48::i;:::-;5252:55;;5124:191;;;;:::o;11170:164::-;11211:7;11231:14;11248:4;11231:21;;11270:56;11292:3;11283:6;:12;11297:28;11310:3;11315:9;;11297:12;:28::i;:::-;11270:12;:56::i;:::-;11263:63;;;11170:164;:::o;10004:151::-;10045:7;10065:24;10092:10;10065:37;;10120:27;10130:16;10120:9;:27::i;:::-;10113:34;;;10004:151;:::o;3627:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8601:1173::-;8699:4;2640:1;2627:10;:8;:10::i;:::-;:14;2619:23;;;;;;8715:24;8742:10;8715:37;;8790:19;:37;8810:16;8790:37;;;;;;;;;;;;;;;;8771:15;:56;;8763:65;;;;;;8865:1;8845:17;8857:4;8845:11;:17::i;:::-;:21;8841:64;;;8883:10;:8;:10::i;:::-;8841:64;8917:17;8937:62;8950:43;8963:15;8980:12;;8950;:43::i;:::-;8995:3;8937:12;:62::i;:::-;8917:82;;9010:20;9033:40;9046:15;9063:9;9033:12;:40::i;:::-;9010:63;;9084:18;9105:9;9084:30;;9142:37;9155:12;;9169:9;9142:12;:37::i;:::-;9127:12;:52;;;;9232:68;9245:19;:37;9265:16;9245:37;;;;;;;;;;;;;;;;9284:15;9232:12;:68::i;:::-;9192:19;:37;9212:16;9192:37;;;;;;;;;;;;;;;:108;;;;9345:59;9358:19;:31;9378:10;9358:31;;;;;;;;;;;;;;;;9391:12;9345;:59::i;:::-;9311:19;:31;9331:10;9311:31;;;;;;;;;;;;;;;:93;;;;9477:15;9459;;:33;9417:10;:28;9428:16;9417:28;;;;;;;;;;;;;;;;:76;;;;;;;;;;;9558:12;9540:15;;:30;9504:10;:22;9515:10;9504:22;;;;;;;;;;;;;;;;:67;;;;;;;;;;;9602:70;9615:15;;9659:12;;4077:7;9633:10;:22;9632:39;;;;;;9602:12;:70::i;:::-;9584:15;:88;;;;9717:10;9690:52;;9699:16;9690:52;;;9729:12;9690:52;;;;;;;;;;;;;;;;;;9762:4;9755:11;;;;;;8601:1173;;;;:::o;10451:161::-;10495:7;10515:24;10542:10;10515:37;;10570:16;:34;10587:16;10570:34;;;;;;;;;;;;;;;;10563:41;;;10451:161;:::o;11985:100::-;12029:7;12056:9;:21;12066:10;12056:21;;;;;;;;;;;;;;;;12049:28;;11985:100;:::o;4381:49::-;;;;;;;;;;;;;;;;;:::o;5878:223::-;5914:24;5941:10;5914:37;;5962:15;5980:19;:37;6000:16;5980:37;;;;;;;;;;;;;;;;5962:55;;6042:1;6032:7;:11;6028:44;;;6045:27;6050:7;6067:3;6045:4;:27::i;:::-;6028:44;6083:10;:8;:10::i;:::-;5878:223;;:::o;4650:32::-;;;;:::o;15539:116::-;15584:7;15611:16;:36;15628:18;;;;;;;;;;;15611:36;;;;;;;;;;;;;;;;15604:43;;15539:116;:::o;4613:30::-;;;;:::o;15845:903::-;15886:7;15895;15904;15913;15922;15931;15940;15949;15958;15967;15976;16048:19;:17;:19::i;:::-;16114:13;:11;:13::i;:::-;16174:21;16184:10;16174:9;:21::i;:::-;16243:5;;;;;;;;;;;:15;;;16259:10;16243:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16243:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16243:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16243:27:0;;;;;;;;;;;;;;;;16309:23;16321:10;16309:11;:23::i;:::-;16371:10;:8;:10::i;:::-;16421:11;:9;:11::i;:::-;16483:19;:31;16503:10;16483:31;;;;;;;;;;;;;;;;16556:16;:28;16573:10;16556:28;;;;;;;;;;;;;;;;16628:14;:26;16643:10;16628:26;;;;;;;;;;;;;;;;16700:15;:27;16716:10;16700:27;;;;;;;;;;;;;;;;15990:750;;;;;;;;;;;;;;;;;;;;;;15845:903;;;;;;;;;;;:::o;4437:50::-;;;;;;;;;;;;;;;;;:::o;5386:484::-;2728:1;2708:17;2720:4;2708:11;:17::i;:::-;:21;2700:30;;;;;;5434:24;5461:10;5434:37;;5482:18;5503;5515:5;5503:11;:18::i;:::-;5482:39;;4077:7;5575:10;:22;5532:10;:28;5543:16;5532:28;;;;;;;;;;;;;;;;:66;;;;;;;;;;;5623:16;:34;5640:16;5623:34;;;;;;;;;;;;;;;;5609:48;;;;5705:1;5668:16;:34;5685:16;5668:34;;;;;;;;;;;;;;;:38;;;;5717:15;5735:58;5758:3;5764:16;5782:10;5735:14;:58::i;:::-;5717:76;;5824:16;5809:53;;;5842:10;5854:7;5809:53;;;;;;;;;;;;;;;;;;;;;;;;2741:1;;;5386:484::o;616:174::-;674:9;701:1;696;:6;692:37;;;720:1;713:8;;;;692:37;743:1;739;:5;735:9;;767:1;762;758;:5;;;;;;:10;751:18;;;;783:1;776:8;;616:174;;;;;:::o;796:92::-;854:7;881:1;877;:5;;;;;;870:12;;796:92;;;;:::o;894:113::-;952:7;980:1;975;:6;;968:14;;;;1000:1;996;:5;989:12;;894:113;;;;:::o;1013:127::-;1071:9;1097:1;1093;:5;1089:9;;1117:1;1112;:6;;1105:14;;;;1133:1;1126:8;;1013:127;;;;:::o;4945:171::-;5078:4;5020:62;;:5;;;;;;;;;;;:18;;;5039:10;5059:4;5066:7;5020:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5020:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5020:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;5020:54:0;;;;;;;;;;;;;;;;:62;;;5012:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4945:171;:::o;12093:2507::-;12255:7;12212:14;12228:16;2097:15;;2090:3;:22;2086:73;;2144:5;2126:15;;:23;;;;;;;;;;;;;;;;;;2086:73;2173:15;;;;;;;;;;;2169:398;;;2245:4;2211:38;;:12;:30;2224:16;2211:30;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;:132;;;;;1792:9;2302:14;2254:27;:45;2282:16;2254:45;;;;;;;;;;;;;;;;:62;2253:90;;2211:132;2202:143;;;;;;2405:75;2418:27;:45;2446:16;2418:45;;;;;;;;;;;;;;;;2465:14;2405:12;:75::i;:::-;2357:27;:45;2385:16;2357:45;;;;;;;;;;;;;;;:123;;;;12296:1;12279:13;:11;:13::i;:::-;:18;12275:62;;;12312:11;;:13;;;;;;;;;;;;;12275:62;12374:14;12349:9;:21;12359:10;12349:21;;;;;;;;;;;;;;;;:39;;;;;;;;;;;12401:27;12431:58;12444:39;12457:14;12473:9;;12444:12;:39::i;:::-;12485:3;12431:12;:58::i;:::-;12401:88;;12502:20;12525:69;12538:50;12551:19;12572:15;;12538:12;:50::i;:::-;12590:3;12525:12;:69::i;:::-;12502:92;;12605:22;12630:66;12643:47;12656:19;12677:12;;12643;:47::i;:::-;12692:3;12630:12;:66::i;:::-;12605:91;;12709:18;12730:77;12743:19;12764:42;12777:14;12793:12;12764;:42::i;:::-;12730:12;:77::i;:::-;12709:98;;12818:23;12844:49;12857:14;12873:19;12844:12;:49::i;:::-;12818:75;;12904:12;4077:7;12919:10;:22;12904:37;;12980:1;12962:15;:19;:81;;;;;13031:12;;12985:43;12998:15;13015:12;;12985;:43::i;:::-;:58;12962:81;12954:90;;;;;;13096:66;13109:16;:36;13126:18;;;;;;;;;;;13109:36;;;;;;;;;;;;;;;;13148:12;13096;:66::i;:::-;13057:16;:36;13074:18;;;;;;;;;;;13057:36;;;;;;;;;;;;;;;:105;;;;13202:1;13179:25;;:11;:25;;;;:60;;;;;13223:16;13208:31;;:11;:31;;;;13179:60;:118;;;;;13279:18;;13243:19;:32;13263:11;13243:32;;;;;;;;;;;;;;;;:54;;13179:118;13175:596;;;13346:59;13359:16;:29;13376:11;13359:29;;;;;;;;;;;;;;;;13390:14;13346:12;:59::i;:::-;13314:16;:29;13331:11;13314:29;;;;;;;;;;;;;;;:91;;;;13455:62;13468:19;:32;13488:11;13468:32;;;;;;;;;;;;;;;;13502:14;13455:12;:62::i;:::-;13420:19;:32;13440:11;13420:32;;;;;;;;;;;;;;;:97;;;;13567:62;13580:14;:32;13595:16;13580:32;;;;;;;;;;;;;;;;13614:14;13567:12;:62::i;:::-;13532:14;:32;13547:16;13532:32;;;;;;;;;;;;;;;:97;;;;13175:596;;;13675:40;13688:10;13700:14;13675:12;:40::i;:::-;13662:53;;4077:7;13737:10;:22;13730:29;;13175:596;13802:1;13787:12;;:16;13783:340;;;13835:43;13848:12;;13862:15;13835:12;:43::i;:::-;13820:12;:58;;;;13938:12;;4077:7;13913:10;:22;:37;;;;;;13893:15;;:58;;;;;;;;;;;14033:12;;4077:7;14008:10;:22;:37;;;;;;13989:15;:57;13981:4;:66;13973:4;:75;13966:82;;13783:340;;;14096:15;14081:12;:30;;;;13783:340;14175:68;14188:19;:37;14208:16;14188:37;;;;;;;;;;;;;;;;14227:15;14175:12;:68::i;:::-;14135:19;:37;14155:16;14135:37;;;;;;;;;;;;;;;:108;;;;14256:22;14327:4;14309:15;14291;;:33;:40;14256:76;;14375:15;14343:10;:28;14354:16;14343:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;14429:10;14408:49;;14425:1;14408:49;;;14441:15;14408:49;;;;;;;;;;;;;;;;;;14540:11;14473:84;;14489:16;14473:84;;;14507:14;14523:15;14553:3;14473:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14577:15;14570:22;;;;;;;;;2169:398;;;2539:5;2521:15;;:23;;;;;;;;;;;;;;;;;;12296:1;12279:13;:11;:13::i;:::-;:18;12275:62;;;12312:11;;:13;;;;;;;;;;;;;12275:62;12374:14;12349:9;:21;12359:10;12349:21;;;;;;;;;;;;;;;;:39;;;;;;;;;;;12401:27;12431:58;12444:39;12457:14;12473:9;;12444:12;:39::i;:::-;12485:3;12431:12;:58::i;:::-;12401:88;;12502:20;12525:69;12538:50;12551:19;12572:15;;12538:12;:50::i;:::-;12590:3;12525:12;:69::i;:::-;12502:92;;12605:22;12630:66;12643:47;12656:19;12677:12;;12643;:47::i;:::-;12692:3;12630:12;:66::i;:::-;12605:91;;12709:18;12730:77;12743:19;12764:42;12777:14;12793:12;12764;:42::i;:::-;12730:12;:77::i;:::-;12709:98;;12818:23;12844:49;12857:14;12873:19;12844:12;:49::i;:::-;12818:75;;12904:12;4077:7;12919:10;:22;12904:37;;12980:1;12962:15;:19;:81;;;;;13031:12;;12985:43;12998:15;13015:12;;12985;:43::i;:::-;:58;12962:81;12954:90;;;;;;13096:66;13109:16;:36;13126:18;;;;;;;;;;;13109:36;;;;;;;;;;;;;;;;13148:12;13096;:66::i;:::-;13057:16;:36;13074:18;;;;;;;;;;;13057:36;;;;;;;;;;;;;;;:105;;;;13202:1;13179:25;;:11;:25;;;;:60;;;;;13223:16;13208:31;;:11;:31;;;;13179:60;:118;;;;;13279:18;;13243:19;:32;13263:11;13243:32;;;;;;;;;;;;;;;;:54;;13179:118;13175:596;;;13346:59;13359:16;:29;13376:11;13359:29;;;;;;;;;;;;;;;;13390:14;13346:12;:59::i;:::-;13314:16;:29;13331:11;13314:29;;;;;;;;;;;;;;;:91;;;;13455:62;13468:19;:32;13488:11;13468:32;;;;;;;;;;;;;;;;13502:14;13455:12;:62::i;:::-;13420:19;:32;13440:11;13420:32;;;;;;;;;;;;;;;:97;;;;13567:62;13580:14;:32;13595:16;13580:32;;;;;;;;;;;;;;;;13614:14;13567:12;:62::i;:::-;13532:14;:32;13547:16;13532:32;;;;;;;;;;;;;;;:97;;;;13175:596;;;13675:40;13688:10;13700:14;13675:12;:40::i;:::-;13662:53;;4077:7;13737:10;:22;13730:29;;13175:596;13802:1;13787:12;;:16;13783:340;;;13835:43;13848:12;;13862:15;13835:12;:43::i;:::-;13820:12;:58;;;;13938:12;;4077:7;13913:10;:22;:37;;;;;;13893:15;;:58;;;;;;;;;;;14033:12;;4077:7;14008:10;:22;:37;;;;;;13989:15;:57;13981:4;:66;13973:4;:75;13966:82;;13783:340;;;14096:15;14081:12;:30;;;;13783:340;14175:68;14188:19;:37;14208:16;14188:37;;;;;;;;;;;;;;;;14227:15;14175:12;:68::i;:::-;14135:19;:37;14155:16;14135:37;;;;;;;;;;;;;;;:108;;;;14256:22;14327:4;14309:15;14291;;:33;:40;14256:76;;14375:15;14343:10;:28;14354:16;14343:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;14429:10;14408:49;;14425:1;14408:49;;;14441:15;14408:49;;;;;;;;;;;;;;;;;;14540:11;14473:84;;14489:16;14473:84;;;14507:14;14523:15;14553:3;14473:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14577:15;14570:22;;;;;;;;;2169:398;12093:2507;;;;;;;:::o

Swarm Source

bzzr://3c81119a8dc10c9f62eaab40ecee792d653ca66f815561a538bf3536e68cda46

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  ]

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.