ETH Price: $2,506.02 (+0.59%)

Contract

0xc15122898c3eE73211d8a8a4a656Ba1980D53086
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00
Transaction Hash
Method
Block
From
To
Exit205196312024-08-13 12:14:1176 days ago1723551251IN
0xc1512289...980D53086
0 ETH0.000129831.50556374
Buy204532622024-08-04 6:01:3585 days ago1722751295IN
0xc1512289...980D53086
0 ETH0.000145481
Buy204085222024-07-29 0:04:5991 days ago1722211499IN
0xc1512289...980D53086
0 ETH0.000162571
Reinvest192335092024-02-15 13:04:47256 days ago1708002287IN
0xc1512289...980D53086
0 ETH0.0017730825.72416708
Withdraw191061382024-01-28 16:11:35274 days ago1706458295IN
0xc1512289...980D53086
0 ETH0.0011165515.65470723
Sell191061332024-01-28 16:10:35274 days ago1706458235IN
0xc1512289...980D53086
0 ETH0.0007814715.67593488
Reinvest190972522024-01-27 10:14:11275 days ago1706350451IN
0xc1512289...980D53086
0 ETH0.0008138511.80754595
Sell190388832024-01-19 5:41:11283 days ago1705642871IN
0xc1512289...980D53086
0 ETH0.0008332418.49523204
Withdraw189762252024-01-10 11:23:11292 days ago1704885791IN
0xc1512289...980D53086
0 ETH0.0017702924.82049023
Sell188717932023-12-26 18:56:47307 days ago1703617007IN
0xc1512289...980D53086
0 ETH0.0009763921.6726074
Withdraw186579902023-11-26 19:41:35337 days ago1701027695IN
0xc1512289...980D53086
0 ETH0.0022292431.25517665
Sell186579702023-11-26 19:37:35337 days ago1701027455IN
0xc1512289...980D53086
0 ETH0.0014512432.21266098
Reinvest185072032023-11-05 17:10:47358 days ago1699204247IN
0xc1512289...980D53086
0 ETH0.0050316773
Buy185072032023-11-05 17:10:47358 days ago1699204247IN
0xc1512289...980D53086
0 ETH0.0019631364
Buy185072012023-11-05 17:10:23358 days ago1699204223IN
0xc1512289...980D53086
0 ETH0.0019017862
Buy185072012023-11-05 17:10:23358 days ago1699204223IN
0xc1512289...980D53086
0 ETH0.0017177456
Exit184126162023-10-23 11:17:23371 days ago1698059843IN
0xc1512289...980D53086
0 ETH0.001720423.89951882
Withdraw178787092023-08-09 17:03:23446 days ago1691600603IN
0xc1512289...980D53086
0 ETH0.0023245342.86915061
Sell178787062023-08-09 17:02:47446 days ago1691600567IN
0xc1512289...980D53086
0 ETH0.0021146446.9379814
Withdraw176095412023-07-02 23:17:59483 days ago1688339879IN
0xc1512289...980D53086
0 ETH0.0006421511.8425817
Sell176095322023-07-02 23:16:11483 days ago1688339771IN
0xc1512289...980D53086
0 ETH0.0005587312.40191175
Withdraw176095262023-07-02 23:14:59483 days ago1688339699IN
0xc1512289...980D53086
0 ETH0.0008441511.83548068
Withdraw176004112023-07-01 16:32:47485 days ago1688229167IN
0xc1512289...980D53086
0 ETH0.0014941220.94838726
Sell176003862023-07-01 16:27:47485 days ago1688228867IN
0xc1512289...980D53086
0 ETH0.0010546523.41601429
Withdraw175675342023-06-27 1:45:47489 days ago1687830347IN
0xc1512289...980D53086
0 ETH0.0006396611.79668707
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
205196312024-08-13 12:14:1176 days ago1723551251
0xc1512289...980D53086
0 ETH
204532622024-08-04 6:01:3585 days ago1722751295
0xc1512289...980D53086
0 ETH
204085222024-07-29 0:04:5991 days ago1722211499
0xc1512289...980D53086
0 ETH
191061382024-01-28 16:11:35274 days ago1706458295
0xc1512289...980D53086
0 ETH
189762252024-01-10 11:23:11292 days ago1704885791
0xc1512289...980D53086
0 ETH
186579902023-11-26 19:41:35337 days ago1701027695
0xc1512289...980D53086
0 ETH
185072032023-11-05 17:10:47358 days ago1699204247
0xc1512289...980D53086
0 ETH
185072012023-11-05 17:10:23358 days ago1699204223
0xc1512289...980D53086
0 ETH
185072012023-11-05 17:10:23358 days ago1699204223
0xc1512289...980D53086
0 ETH
184126162023-10-23 11:17:23371 days ago1698059843
0xc1512289...980D53086
0 ETH
178787092023-08-09 17:03:23446 days ago1691600603
0xc1512289...980D53086
0 ETH
176095412023-07-02 23:17:59483 days ago1688339879
0xc1512289...980D53086
0 ETH
176095262023-07-02 23:14:59483 days ago1688339699
0xc1512289...980D53086
0 ETH
176004112023-07-01 16:32:47485 days ago1688229167
0xc1512289...980D53086
0 ETH
175675342023-06-27 1:45:47489 days ago1687830347
0xc1512289...980D53086
0 ETH
175025652023-06-17 22:40:23498 days ago1687041623
0xc1512289...980D53086
0 ETH
174302402023-06-07 18:22:11509 days ago1686162131
0xc1512289...980D53086
0 ETH
173733332023-05-30 17:50:35517 days ago1685469035
0xc1512289...980D53086
0 ETH
170669892023-04-17 14:08:35560 days ago1681740515
0xc1512289...980D53086
0 ETH
167881632023-03-09 4:06:35599 days ago1678334795
0xc1512289...980D53086
0 ETH
167813532023-03-08 5:06:35600 days ago1678251995
0xc1512289...980D53086
0 ETH
167631192023-03-05 15:35:11603 days ago1678030511
0xc1512289...980D53086
0 ETH
167001822023-02-24 19:11:11612 days ago1677265871
0xc1512289...980D53086
0 ETH
166383642023-02-16 2:38:23620 days ago1676515103
0xc1512289...980D53086
0 ETH
164970132023-01-27 8:39:35640 days ago1674808775
0xc1512289...980D53086
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SPIClub

Compiler Version
v0.4.26+commit.4563c3fc

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license, Audited

Contract Source Code (Solidity)Audit Report

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

/*
    SPI CLUB
    SPI Staking Contract
    --------------------
    10% buy fee
    10% sell fee 
    2% referral fee 
    1% transfer fee 
    
    Launch time 12/18/2020 @ 12:00pm
    SPI token 0x9B02dD390a603Add5c07f9fd9175b7DABE8D63B7
*/

pragma solidity ^ 0.4.26;

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 Ownable {
 address public owner;
 event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
 constructor() public {
  owner = msg.sender;
 }
 modifier onlyOwner() {
  require(msg.sender == owner);
  _;
 }
 function transferOwnership(address newOwner) public onlyOwner {
  require(newOwner != address(0));
  emit OwnershipTransferred(owner, newOwner);
  owner = newOwner;
 }
}

contract SPIClub is Ownable {

 mapping(address => bool) internal ambassadors_;
 uint256 constant internal ambassadorMaxPurchase_ = 10000e18; // 10k
 mapping(address => uint256) internal ambassadorAccumulatedQuota_;
 bool public onlyAmbassadors = true;
 uint256 ACTIVATION_TIME = 1608292800; // 12/18/2020 @ 12:00pm (UTC)

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

  if (onlyAmbassadors) {
   require((ambassadors_[_customerAddress] == true && (ambassadorAccumulatedQuota_[_customerAddress] + _amountOfSTAT) <= ambassadorMaxPurchase_));
   ambassadorAccumulatedQuota_[_customerAddress] = SafeMath.add(ambassadorAccumulatedQuota_[_customerAddress], _amountOfSTAT);
   _;
  } 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 incomingSTAT,
  uint256 tokensMinted,
  address indexed referredBy,
  uint timestamp
 );

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

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

 event onWithdraw(
  address indexed customerAddress,
  uint256 statWithdrawn
 );

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

 string public name = "SPI Club";
 string public symbol = "SPIC";
 uint8 constant public decimals = 18;
 uint256 internal entryFee_ = 10; // 10%
 uint256 internal transferFee_ = 1;
 uint256 internal exitFee_ = 10; // 10%
 uint256 internal referralFee_ = 20; // 2% of the 10% fee 
 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_;
 uint256 internal tokenSupply_;
 uint256 internal profitPerShare_;
 uint256 public stakingRequirement;
 uint256 public totalHolder = 0;
 uint256 public totalDonation = 0;
 TOKEN erc20;

 constructor() public {
  erc20 = TOKEN(address(0x9B02dD390a603Add5c07f9fd9175b7DABE8D63B7));
 }

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

 function distribute(uint256 _amount) public returns(uint256) {
  require(_amount > 0, "must be a positive value");
  checkAndTransferSTAT(_amount);
  totalDonation += _amount;
  profitPerShare_ = SafeMath.add(profitPerShare_, (_amount * magnitude) / tokenSupply_);
  emit onDistribute(msg.sender, _amount);
 }

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

 function buyFor(uint256 _amount, address _customerAddress, address _referredBy) public returns(uint256) {
  checkAndTransferSTAT(_amount);
  return purchaseTokens(_referredBy, _customerAddress, _amount);
 }

 function() payable public {
  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(0x0, _customerAddress, _dividends);
  emit onReinvestment(_customerAddress, _dividends, _tokens);
 }

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

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

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

  uint256 _dividends = SafeMath.div(SafeMath.mul(_amountOfTokens, exitFee_), 100);
  uint256 _taxedSTAT = SafeMath.sub(_amountOfTokens, _dividends);

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

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

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

  emit Transfer(_customerAddress, address(0), _amountOfTokens);
  emit onTokenSell(_customerAddress, _amountOfTokens, _taxedSTAT, 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 setName(string _name) onlyOwner public {
  name = _name;
 }

 function setSymbol(string _symbol) onlyOwner public {
  symbol = _symbol;
 }

 function totalPowerBalance() 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 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 _stat = 1e18;
  uint256 _dividends = SafeMath.div(SafeMath.mul(_stat, exitFee_), 100);
  uint256 _taxedSTAT = SafeMath.sub(_stat, _dividends);

  return _taxedSTAT;
 }

 function buyPrice() public view returns(uint256) {
  uint256 _stat = 1e18;
  uint256 _dividends = SafeMath.div(SafeMath.mul(_stat, entryFee_), 100);
  uint256 _taxedSTAT = SafeMath.add(_stat, _dividends);

  return _taxedSTAT;
 }

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

  return _amountOfTokens;
 }

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

  return _taxedSTAT;
 }

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

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

  invested_[msg.sender] += _incomingSTAT;

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

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

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

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

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

  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, _incomingSTAT, _amountOfTokens, _referredBy, now);

  return _amountOfTokens;
 }

 function multiData()
 public
 view
 returns(uint256, uint256, uint256, uint256, uint256, uint256, uint256) {
  return (
   totalPowerBalance(),
   totalSupply(),
   balanceOf(msg.sender),
   erc20.balanceOf(msg.sender),
   dividendsOf(msg.sender),
   buyPrice(),
   sellPrice()

  );
 }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_powerToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"onlyAmbassadors","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_customerAddress","type":"address"},{"name":"_referredBy","type":"address"}],"name":"buyFor","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalPowerBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"},{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amount","type":"uint256"}],"name":"distribute","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getInvested","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculatePowerReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalDonation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalHolder","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multiData","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"price","type":"uint256"}],"name":"onDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"incomingSTAT","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"statEarned","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"statReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"statWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526001600360006101000a81548160ff021916908315150217905550635fdc99c06004556040805190810160405280600881526020017f53504920436c756200000000000000000000000000000000000000000000000081525060059080519060200190620000749291906200018a565b506040805190810160405280600481526020017f535049430000000000000000000000000000000000000000000000000000000081525060069080519060200190620000c29291906200018a565b50600a6007556001600855600a6009556014600a5560006012556000601355348015620000ee57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739b02dd390a603add5c07f9fd9175b7dabe8d63b7601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000239565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001cd57805160ff1916838001178555620001fe565b82800160010185558215620001fe579182015b82811115620001fd578251825591602001919060010190620001e0565b5b5090506200020d919062000211565b5090565b6200023691905b808211156200023257600081600090555060010162000218565b5090565b90565b612b8480620002496000396000f30060806040526004361061018a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461018f57806306fdde03146101e657806310d0ffdd1461027657806318160ddd146102b757806327defa1f146102e2578063313ce5671461031157806332b74ec7146103425780633ccfd60b146103c35780634b750334146103da57806356d399e814610405578063688abbf7146104305780636b4096351461047357806370a082311461049e5780637deb6025146104f55780638620410b146105565780638da5cb5b1461058157806391c05b0b146105d8578063949e8acd1461061957806395d89b4114610644578063a9059cbb146106d4578063b84c824614610739578063befc3e2b146107a2578063c47f0027146107cd578063d7d7928914610836578063e4849b3214610877578063e9fad8ee146108a4578063ee2ac05f146108bb578063f11745df146108e6578063f2b79df914610911578063f2fde38b14610966578063fdb5a03e146109a9575b600080fd5b34801561019b57600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c0565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a62565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102a160048036038101908080359060200190929190505050610b00565b6040518082815260200191505060405180910390f35b3480156102c357600080fd5b506102cc610b33565b6040518082815260200191505060405180910390f35b3480156102ee57600080fd5b506102f7610b3d565b604051808215151515815260200191505060405180910390f35b34801561031d57600080fd5b50610326610b50565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034e57600080fd5b506103ad60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b55565b6040518082815260200191505060405180910390f35b3480156103cf57600080fd5b506103d8610b74565b005b3480156103e657600080fd5b506103ef610dd2565b6040518082815260200191505060405180910390f35b34801561041157600080fd5b5061041a610e10565b6040518082815260200191505060405180910390f35b34801561043c57600080fd5b5061045d600480360381019080803515159060200190929190505050610e16565b6040518082815260200191505060405180910390f35b34801561047f57600080fd5b50610488610e82565b6040518082815260200191505060405180910390f35b3480156104aa57600080fd5b506104df600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f81565b6040518082815260200191505060405180910390f35b34801561050157600080fd5b5061054060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fca565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b5061056b610fe8565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b50610596611026565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e457600080fd5b506106036004803603810190808035906020019092919050505061104b565b6040518082815260200191505060405180910390f35b34801561062557600080fd5b5061062e61115a565b6040518082815260200191505060405180910390f35b34801561065057600080fd5b5061065961116f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561069957808201518184015260208101905061067e565b50505050905090810190601f1680156106c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106e057600080fd5b5061071f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061120d565b604051808215151515815260200191505060405180910390f35b34801561074557600080fd5b506107a0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611526565b005b3480156107ae57600080fd5b506107b761159b565b6040518082815260200191505060405180910390f35b3480156107d957600080fd5b50610834600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506115e2565b005b34801561084257600080fd5b5061086160048036038101908080359060200190929190505050611657565b6040518082815260200191505060405180910390f35b34801561088357600080fd5b506108a26004803603810190808035906020019092919050505061169b565b005b3480156108b057600080fd5b506108b961192c565b005b3480156108c757600080fd5b506108d0611993565b6040518082815260200191505060405180910390f35b3480156108f257600080fd5b506108fb611999565b6040518082815260200191505060405180910390f35b34801561091d57600080fd5b5061092661199f565b6040518088815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390f35b34801561097257600080fd5b506109a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aeb565b005b3480156109b557600080fd5b506109be611c40565b005b600068010000000000000000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010540203811515610a5a57fe5b049050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b505050505081565b6000806000610b1b610b1485600754611db5565b6064611ded565b9150610b278483611e03565b90508092505050919050565b6000600f54905090565b600360009054906101000a900460ff1681565b601281565b6000610b6084611e1c565b610b6b828486611fce565b90509392505050565b6000806000610b836001610e16565b111515610b8f57600080fd5b339150610b9c6000610e16565b9050680100000000000000008102600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d4457600080fd5b505af1158015610d58573d6000803e3d6000fd5b505050506040513d6020811015610d6e57600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600080600080670de0b6b3a76400009250610df9610df284600954611db5565b6064611ded565b9150610e058383611e03565b905080935050505090565b60115481565b60008033905082610e2f57610e2a816109c0565b610e7a565b600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e78826109c0565b015b915050919050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f4157600080fd5b505af1158015610f55573d6000803e3d6000fd5b505050506040513d6020811015610f6b57600080fd5b8101908080519060200190929190505050905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610fd583611e1c565b610fe0823385611fce565b905092915050565b600080600080670de0b6b3a7640000925061100f61100884600754611db5565b6064611ded565b915061101b8383612a97565b905080935050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080821115156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6d757374206265206120706f7369746976652076616c7565000000000000000081525060200191505060405180910390fd5b6110cd82611e1c565b81601360008282540192505081905550611101601054600f546801000000000000000085028115156110fb57fe5b04612a97565b6010819055503373ffffffffffffffffffffffffffffffffffffffff167fd14b763af9e91e53a0578778058d700fec4f12297440083843749bb37d806064836040518082815260200191505060405180910390a2919050565b60008033905061116981610f81565b91505090565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112055780601f106111da57610100808354040283529160200191611205565b820191906000526020600020905b8154815290600101906020018083116111e857829003601f168201915b505050505081565b60008060008060008061121e61115a565b11151561122a57600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561127b57600080fd5b60006112876001610e16565b111561129657611295610b74565b5b6112ac6112a587600854611db5565b6064611ded565b92506112b88684611e03565b91508290506112c9600f5484611e03565b600f81905550611318600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113a4600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612a97565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560105402600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160105402600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506114ad601054600f546801000000000000000084028115156114a757fe5b04612a97565b6010819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158157600080fd5b8060069080519060200190611597929190612ab3565b5050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163d57600080fd5b8060059080519060200190611653929190612ab3565b5050565b6000806000600f54841115151561166d57600080fd5b61168361167c85600954611db5565b6064611ded565b915061168f8483611e03565b90508092505050919050565b60008060008060006116ab61115a565b1115156116b757600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115151561170857600080fd5b61171e61171786600954611db5565b6064611ded565b925061172a8584611e03565b9150611738600f5486611e03565b600f81905550611787600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856010540201905080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600f5411156118615761185a601054600f5468010000000000000000860281151561185457fe5b04612a97565b6010819055505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff167f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e586844260405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600080339150600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611987576119868161169b565b5b61198f610b74565b5050565b60135481565b60125481565b60008060008060008060006119b2610e82565b6119ba610b33565b6119c333610f81565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d6020811015611aaa57600080fd5b8101908080519060200190929190505050611ac4336109c0565b611acc610fe8565b611ad4610dd2565b965096509650965096509650965090919293949596565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080611c506001610e16565b111515611c5c57600080fd5b339250611c696000610e16565b9150680100000000000000008202600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d5860008484611fce565b90508273ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588383604051808381526020018281526020019250505060405180910390a2505050565b600080831415611dc85760009050611de7565b8183029050818382811515611dd957fe5b04141515611de357fe5b8090505b92915050565b60008183811515611dfa57fe5b04905092915050565b6000828211151515611e1157fe5b818303905092915050565b60011515601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b505050506040513d6020811015611f4357600080fd5b81019080805190602001909291905050501515141515611fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b50565b6000806000806000806000878960045442101515612002576000600360006101000a81548160ff0219169083151502179055505b600360009054906101000a900460ff16156125e55760011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156120c2575069021e19e0c9bab240000082600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b15156120cd57600080fd5b612116600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612a97565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061216361159b565b141561217c576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506121df6121d88b600754611db5565b6064611ded565b97506121f76121f089600a54611db5565b6064611ded565b96506122038888611e03565b955061220f8a89611e03565b9450680100000000000000008602935060008511801561223b5750600f5461223986600f54612a97565b115b151561224657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156122af57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156122fc5750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156123925761234a600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612a97565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123ad565b61239c8688612a97565b955068010000000000000000860293505b6000600f541115612418576123c4600f5486612a97565b600f81905550600f546801000000000000000087028115156123e257fe5b04601060008282540192505081905550600f5468010000000000000000870281151561240a57fe5b048502840384039350612420565b84600f819055505b612469600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612a97565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a3849850612a88565b6000600360006101000a81548160ff021916908315150217905550600061260a61159b565b1415612623576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061268661267f8b600754611db5565b6064611ded565b975061269e61269789600a54611db5565b6064611ded565b96506126aa8888611e03565b95506126b68a89611e03565b945068010000000000000000860293506000851180156126e25750600f546126e086600f54612a97565b115b15156126ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561275657508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156127a35750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612839576127f1600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612a97565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612854565b6128438688612a97565b955068010000000000000000860293505b6000600f5411156128bf5761286b600f5486612a97565b600f81905550600f5468010000000000000000870281151561288957fe5b04601060008282540192505081905550600f546801000000000000000087028115156128b157fe5b0485028403840393506128c7565b84600f819055505b612910600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612a97565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a38498505b50505050505050509392505050565b60008183019050828110151515612aaa57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612af457805160ff1916838001178555612b22565b82800160010185558215612b22579182015b82811115612b21578251825591602001919060010190612b06565b5b509050612b2f9190612b33565b5090565b612b5591905b80821115612b51576000816000905550600101612b39565b5090565b905600a165627a7a72305820e81f568b85562bdfb27032f34c546b03754629d5c29c2acb963dd9c6cf95a0e20029

Deployed Bytecode

0x60806040526004361061018a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461018f57806306fdde03146101e657806310d0ffdd1461027657806318160ddd146102b757806327defa1f146102e2578063313ce5671461031157806332b74ec7146103425780633ccfd60b146103c35780634b750334146103da57806356d399e814610405578063688abbf7146104305780636b4096351461047357806370a082311461049e5780637deb6025146104f55780638620410b146105565780638da5cb5b1461058157806391c05b0b146105d8578063949e8acd1461061957806395d89b4114610644578063a9059cbb146106d4578063b84c824614610739578063befc3e2b146107a2578063c47f0027146107cd578063d7d7928914610836578063e4849b3214610877578063e9fad8ee146108a4578063ee2ac05f146108bb578063f11745df146108e6578063f2b79df914610911578063f2fde38b14610966578063fdb5a03e146109a9575b600080fd5b34801561019b57600080fd5b506101d0600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c0565b6040518082815260200191505060405180910390f35b3480156101f257600080fd5b506101fb610a62565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561023b578082015181840152602081019050610220565b50505050905090810190601f1680156102685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561028257600080fd5b506102a160048036038101908080359060200190929190505050610b00565b6040518082815260200191505060405180910390f35b3480156102c357600080fd5b506102cc610b33565b6040518082815260200191505060405180910390f35b3480156102ee57600080fd5b506102f7610b3d565b604051808215151515815260200191505060405180910390f35b34801561031d57600080fd5b50610326610b50565b604051808260ff1660ff16815260200191505060405180910390f35b34801561034e57600080fd5b506103ad60048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b55565b6040518082815260200191505060405180910390f35b3480156103cf57600080fd5b506103d8610b74565b005b3480156103e657600080fd5b506103ef610dd2565b6040518082815260200191505060405180910390f35b34801561041157600080fd5b5061041a610e10565b6040518082815260200191505060405180910390f35b34801561043c57600080fd5b5061045d600480360381019080803515159060200190929190505050610e16565b6040518082815260200191505060405180910390f35b34801561047f57600080fd5b50610488610e82565b6040518082815260200191505060405180910390f35b3480156104aa57600080fd5b506104df600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f81565b6040518082815260200191505060405180910390f35b34801561050157600080fd5b5061054060048036038101908080359060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610fca565b6040518082815260200191505060405180910390f35b34801561056257600080fd5b5061056b610fe8565b6040518082815260200191505060405180910390f35b34801561058d57600080fd5b50610596611026565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105e457600080fd5b506106036004803603810190808035906020019092919050505061104b565b6040518082815260200191505060405180910390f35b34801561062557600080fd5b5061062e61115a565b6040518082815260200191505060405180910390f35b34801561065057600080fd5b5061065961116f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561069957808201518184015260208101905061067e565b50505050905090810190601f1680156106c65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156106e057600080fd5b5061071f600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061120d565b604051808215151515815260200191505060405180910390f35b34801561074557600080fd5b506107a0600480360381019080803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509192919290505050611526565b005b3480156107ae57600080fd5b506107b761159b565b6040518082815260200191505060405180910390f35b3480156107d957600080fd5b50610834600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192905050506115e2565b005b34801561084257600080fd5b5061086160048036038101908080359060200190929190505050611657565b6040518082815260200191505060405180910390f35b34801561088357600080fd5b506108a26004803603810190808035906020019092919050505061169b565b005b3480156108b057600080fd5b506108b961192c565b005b3480156108c757600080fd5b506108d0611993565b6040518082815260200191505060405180910390f35b3480156108f257600080fd5b506108fb611999565b6040518082815260200191505060405180910390f35b34801561091d57600080fd5b5061092661199f565b6040518088815260200187815260200186815260200185815260200184815260200183815260200182815260200197505050505050505060405180910390f35b34801561097257600080fd5b506109a7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611aeb565b005b3480156109b557600080fd5b506109be611c40565b005b600068010000000000000000600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546010540203811515610a5a57fe5b049050919050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af85780601f10610acd57610100808354040283529160200191610af8565b820191906000526020600020905b815481529060010190602001808311610adb57829003601f168201915b505050505081565b6000806000610b1b610b1485600754611db5565b6064611ded565b9150610b278483611e03565b90508092505050919050565b6000600f54905090565b600360009054906101000a900460ff1681565b601281565b6000610b6084611e1c565b610b6b828486611fce565b90509392505050565b6000806000610b836001610e16565b111515610b8f57600080fd5b339150610b9c6000610e16565b9050680100000000000000008102600d60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610d4457600080fd5b505af1158015610d58573d6000803e3d6000fd5b505050506040513d6020811015610d6e57600080fd5b8101908080519060200190929190505050508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600080600080670de0b6b3a76400009250610df9610df284600954611db5565b6064611ded565b9150610e058383611e03565b905080935050505090565b60115481565b60008033905082610e2f57610e2a816109c0565b610e7a565b600c60008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e78826109c0565b015b915050919050565b6000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015610f4157600080fd5b505af1158015610f55573d6000803e3d6000fd5b505050506040513d6020811015610f6b57600080fd5b8101908080519060200190929190505050905090565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610fd583611e1c565b610fe0823385611fce565b905092915050565b600080600080670de0b6b3a7640000925061100f61100884600754611db5565b6064611ded565b915061101b8383612a97565b905080935050505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080821115156110c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f6d757374206265206120706f7369746976652076616c7565000000000000000081525060200191505060405180910390fd5b6110cd82611e1c565b81601360008282540192505081905550611101601054600f546801000000000000000085028115156110fb57fe5b04612a97565b6010819055503373ffffffffffffffffffffffffffffffffffffffff167fd14b763af9e91e53a0578778058d700fec4f12297440083843749bb37d806064836040518082815260200191505060405180910390a2919050565b60008033905061116981610f81565b91505090565b60068054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112055780601f106111da57610100808354040283529160200191611205565b820191906000526020600020905b8154815290600101906020018083116111e857829003601f168201915b505050505081565b60008060008060008061121e61115a565b11151561122a57600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561127b57600080fd5b60006112876001610e16565b111561129657611295610b74565b5b6112ac6112a587600854611db5565b6064611ded565b92506112b88684611e03565b91508290506112c9600f5484611e03565b600f81905550611318600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113a4600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612a97565b600b60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560105402600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160105402600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506114ad601054600f546801000000000000000084028115156114a757fe5b04612a97565b6010819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561158157600080fd5b8060069080519060200190611597929190612ab3565b5050565b6000600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561163d57600080fd5b8060059080519060200190611653929190612ab3565b5050565b6000806000600f54841115151561166d57600080fd5b61168361167c85600954611db5565b6064611ded565b915061168f8483611e03565b90508092505050919050565b60008060008060006116ab61115a565b1115156116b757600080fd5b339350600b60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054851115151561170857600080fd5b61171e61171786600954611db5565b6064611ded565b925061172a8584611e03565b9150611738600f5486611e03565b600f81905550611787600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611e03565b600b60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856010540201905080600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600f5411156118615761185a601054600f5468010000000000000000860281151561185457fe5b04612a97565b6010819055505b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38373ffffffffffffffffffffffffffffffffffffffff167f723391258f051422e0be75f0bbcc5c94947b440ae6162c87b3efb5fecde315e586844260405180848152602001838152602001828152602001935050505060405180910390a25050505050565b600080339150600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611987576119868161169b565b5b61198f610b74565b5050565b60135481565b60125481565b60008060008060008060006119b2610e82565b6119ba610b33565b6119c333610f81565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d6020811015611aaa57600080fd5b8101908080519060200190929190505050611ac4336109c0565b611acc610fe8565b611ad4610dd2565b965096509650965096509650965090919293949596565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611b4657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611b8257600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080600080611c506001610e16565b111515611c5c57600080fd5b339250611c696000610e16565b9150680100000000000000008202600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600c60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600c60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611d5860008484611fce565b90508273ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588383604051808381526020018281526020019250505060405180910390a2505050565b600080831415611dc85760009050611de7565b8183029050818382811515611dd957fe5b04141515611de357fe5b8090505b92915050565b60008183811515611dfa57fe5b04905092915050565b6000828211151515611e1157fe5b818303905092915050565b60011515601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b505050506040513d6020811015611f4357600080fd5b81019080805190602001909291905050501515141515611fcb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f7472616e73666572206d7573742073756363656564000000000000000000000081525060200191505060405180910390fd5b50565b6000806000806000806000878960045442101515612002576000600360006101000a81548160ff0219169083151502179055505b600360009054906101000a900460ff16156125e55760011515600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151480156120c2575069021e19e0c9bab240000082600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020540111155b15156120cd57600080fd5b612116600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612a97565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061216361159b565b141561217c576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506121df6121d88b600754611db5565b6064611ded565b97506121f76121f089600a54611db5565b6064611ded565b96506122038888611e03565b955061220f8a89611e03565b9450680100000000000000008602935060008511801561223b5750600f5461223986600f54612a97565b115b151561224657600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff16141580156122af57508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156122fc5750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156123925761234a600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612a97565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123ad565b61239c8688612a97565b955068010000000000000000860293505b6000600f541115612418576123c4600f5486612a97565b600f81905550600f546801000000000000000087028115156123e257fe5b04601060008282540192505081905550600f5468010000000000000000870281151561240a57fe5b048502840384039350612420565b84600f819055505b612469600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612a97565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a3849850612a88565b6000600360006101000a81548160ff021916908315150217905550600061260a61159b565b1415612623576012600081548092919060010191905055505b89600e60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555061268661267f8b600754611db5565b6064611ded565b975061269e61269789600a54611db5565b6064611ded565b96506126aa8888611e03565b95506126b68a89611e03565b945068010000000000000000860293506000851180156126e25750600f546126e086600f54612a97565b115b15156126ed57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff161415801561275657508a73ffffffffffffffffffffffffffffffffffffffff168c73ffffffffffffffffffffffffffffffffffffffff1614155b80156127a35750601154600b60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b15612839576127f1600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205488612a97565b600c60008e73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612854565b6128438688612a97565b955068010000000000000000860293505b6000600f5411156128bf5761286b600f5486612a97565b600f81905550600f5468010000000000000000870281151561288957fe5b04601060008282540192505081905550600f546801000000000000000087028115156128b157fe5b0485028403840393506128c7565b84600f819055505b612910600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612a97565b600b60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083856010540203925082600d60008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040518082815260200191505060405180910390a38b73ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167fff69b2ba8f4ef8248f8c375ba3916c770604b215557acdd4e8387a4dd5e7de868c884260405180848152602001838152602001828152602001935050505060405180910390a38498505b50505050505050509392505050565b60008183019050828110151515612aaa57fe5b80905092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10612af457805160ff1916838001178555612b22565b82800160010185558215612b22579182015b82811115612b21578251825591602001919060010190612b06565b5b509050612b2f9190612b33565b5090565b612b5591905b80821115612b51576000816000905550600101612b39565b5090565b905600a165627a7a72305820e81f568b85562bdfb27032f34c546b03754629d5c29c2acb963dd9c6cf95a0e20029

Deployed Bytecode Sourcemap

1726:10870:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5146:8;;;9084:212;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9084:212:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3388:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3388:31: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;3388:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9781:272;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9781:272:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8461:81;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8461:81:0;;;;;;;;;;;;;;;;;;;;;;;1948:34;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1948:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3456:35;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3456:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4901:209;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4901:209:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5784:392;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5784:392:0;;;;;;9301:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9301:235:0;;;;;;;;;;;;;;;;;;;;;;;4010:33;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4010:33:0;;;;;;;;;;;;;;;;;;;;;;;8687:259;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8687:259:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8351:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8351:105:0;;;;;;;;;;;;;;;;;;;;;;;8951:128;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8951:128:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4722:174;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4722:174:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9541:235;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9541:235:0;;;;;;;;;;;;;;;;;;;;;;;1317:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1317:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;4402:315;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4402:315:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8547:135;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8547:135:0;;;;;;;;;;;;;;;;;;;;;;;3423:29;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3423:29: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;3423:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7119:1069;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7119:1069:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8268:78;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8268:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10366:90;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10366:90:0;;;;;;;;;;;;;;;;;;;;;;;8193:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8193:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10058:303;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10058:303:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6181:933;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6181:933:0;;;;;;;;;;;;;;;;;;;;;;;;;;5597:182;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5597:182:0;;;;;;4081:32;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4081:32:0;;;;;;;;;;;;;;;;;;;;;;;4047:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4047:30:0;;;;;;;;;;;;;;;;;;;;;;;12293:300;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12293:300:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1548:171;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1548:171:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5164:428;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5164:428:0;;;;;;9084:212;9151:7;3713;9250:10;:28;9261:16;9250:28;;;;;;;;;;;;;;;;9209:19;:37;9229:16;9209:37;;;;;;;;;;;;;;;;9191:15;;:55;9182:96;9172:119;;;;;;;;9165:126;;9084:212;;;:::o;3388:31::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9781:272::-;9857:7;9871:18;9954:23;9892:57;9905:38;9918:13;9933:9;;9905:12;:38::i;:::-;9945:3;9892:12;:57::i;:::-;9871:78;;9980:39;9993:13;10008:10;9980:12;:39::i;:::-;9954:65;;10033:15;10026:22;;9781:272;;;;;:::o;8461:81::-;8504:7;8525:12;;8518:19;;8461:81;:::o;1948:34::-;;;;;;;;;;;;;:::o;3456:35::-;3489:2;3456:35;:::o;4901:209::-;4996:7;5010:29;5031:7;5010:20;:29::i;:::-;5051:54;5066:11;5079:16;5097:7;5051:14;:54::i;:::-;5044:61;;4901:209;;;;;:::o;5784:392::-;5826:24;5868:18;2694:1;2674:17;2686:4;2674:11;:17::i;:::-;:21;2666:30;;;;;;;;5853:10;5826:37;;5889:18;5901:5;5889:11;:18::i;:::-;5868:39;;3713:7;5953:10;:22;5912:10;:28;5923:16;5912:28;;;;;;;;;;;;;;;;:64;;;;;;;;;;;5995:16;:34;6012:16;5995:34;;;;;;;;;;;;;;;;5981:48;;;;6071:1;6034:16;:34;6051:16;6034:34;;;;;;;;;;;;;;;:38;;;;6077:5;;;;;;;;;;;:14;;;6092:16;6110:10;6077:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6077:44:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;6077:44:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;6077:44:0;;;;;;;;;;;;;;;;;6142:16;6131:40;;;6160:10;6131:40;;;;;;;;;;;;;;;;;;5784:392;;:::o;9301:235::-;9342:7;9356:13;9381:18;9455;9372:4;9356:20;;9402:48;9415:29;9428:5;9435:8;;9415:12;:29::i;:::-;9446:3;9402:12;:48::i;:::-;9381:69;;9476:31;9489:5;9496:10;9476:12;:31::i;:::-;9455:52;;9521:10;9514:17;;9301:235;;;;:::o;4010:33::-;;;;:::o;8687:259::-;8756:7;8770:24;8797:10;8770:37;;8819:21;:122;;8912:29;8924:16;8912:11;:29::i;:::-;8819:122;;;8875:16;:34;8892:16;8875:34;;;;;;;;;;;;;;;;8843:29;8855:16;8843:11;:29::i;:::-;:66;8819:122;8812:129;;8687:259;;;;:::o;8351:105::-;8400:7;8421:5;;;;;;;;;;;:15;;;8445:4;8421:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8421:30:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8421:30:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;8421:30:0;;;;;;;;;;;;;;;;8414:37;;8351:105;:::o;8951:128::-;9016:7;9037:19;:37;9057:16;9037:37;;;;;;;;;;;;;;;;9030:44;;8951:128;;;:::o;4722:174::-;4788:7;4802:29;4823:7;4802:20;:29::i;:::-;4843:48;4858:11;4871:10;4883:7;4843:14;:48::i;:::-;4836:55;;4722:174;;;;:::o;9541:235::-;9581:7;9595:13;9620:18;9695;9611:4;9595:20;;9641:49;9654:30;9667:5;9674:9;;9654:12;:30::i;:::-;9686:3;9641:12;:49::i;:::-;9620:70;;9716:31;9729:5;9736:10;9716:12;:31::i;:::-;9695:52;;9761:10;9754:17;;9541:235;;;;:::o;1317:20::-;;;;;;;;;;;;;:::o;4402:315::-;4454:7;4486:1;4476:7;:11;4468:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4521:29;4542:7;4521:20;:29::i;:::-;4572:7;4555:13;;:24;;;;;;;;;;;4602:67;4615:15;;4656:12;;3713:7;4633;:19;4632:36;;;;;;;;4602:12;:67::i;:::-;4584:15;:85;;;;4692:10;4679:33;;;4704:7;4679:33;;;;;;;;;;;;;;;;;;4402:315;;;:::o;8547:135::-;8587:7;8601:24;8628:10;8601:37;;8650:27;8660:16;8650:9;:27::i;:::-;8643:34;;8547:135;;:::o;3423:29::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7119:1069::-;7216:4;7227:24;7396:17;7483:20;7551:18;2624:1;2611:10;:8;:10::i;:::-;:14;2603:23;;;;;;;;7254:10;7227:37;;7296:19;:37;7316:16;7296:37;;;;;;;;;;;;;;;;7277:15;:56;;7269:65;;;;;;;;7365:1;7345:17;7357:4;7345:11;:17::i;:::-;:21;7341:49;;;7374:10;:8;:10::i;:::-;7341:49;7416:62;7429:43;7442:15;7459:12;;7429;:43::i;:::-;7474:3;7416:12;:62::i;:::-;7396:82;;7506:40;7519:15;7536:9;7506:12;:40::i;:::-;7483:63;;7572:9;7551:30;;7603:37;7616:12;;7630:9;7603:12;:37::i;:::-;7588:12;:52;;;;7687:68;7700:19;:37;7720:16;7700:37;;;;;;;;;;;;;;;;7739:15;7687:12;:68::i;:::-;7647:19;:37;7667:16;7647:37;;;;;;;;;;;;;;;:108;;;;7794:59;7807:19;:31;7827:10;7807:31;;;;;;;;;;;;;;;;7840:12;7794;:59::i;:::-;7760:19;:31;7780:10;7760:31;;;;;;;;;;;;;;;:93;;;;7919:15;7901;;:33;7860:10;:28;7871:16;7860:28;;;;;;;;;;;;;;;;:75;;;;;;;;;;;7993:12;7975:15;;:30;7940:10;:22;7951:10;7940:22;;;;;;;;;;;;;;;;:66;;;;;;;;;;;8031:70;8044:15;;8088:12;;3713:7;8062:10;:22;8061:39;;;;;;;;8031:12;:70::i;:::-;8013:15;:88;;;;8140:10;8113:52;;8122:16;8113:52;;;8152:12;8113:52;;;;;;;;;;;;;;;;;;8179:4;8172:11;;7119:1069;;;;;;;;:::o;8268:78::-;1528:5;;;;;;;;;;;1514:19;;:10;:19;;;1506:28;;;;;;;;8334:7;8325:6;:16;;;;;;;;;;;;:::i;:::-;;8268:78;:::o;10366:90::-;10409:7;10430:9;:21;10440:10;10430:21;;;;;;;;;;;;;;;;10423:28;;10366:90;:::o;8193:70::-;1528:5;;;;;;;;;;;1514:19;;:10;:19;;;1506:28;;;;;;;;8253:5;8246:4;:12;;;;;;;;;;;;:::i;:::-;;8193:70;:::o;10058:303::-;10133:7;10190:18;10272;10172:12;;10155:13;:29;;10147:38;;;;;;;;10211:56;10224:37;10237:13;10252:8;;10224:12;:37::i;:::-;10263:3;10211:12;:56::i;:::-;10190:77;;10293:39;10306:13;10321:10;10293:12;:39::i;:::-;10272:60;;10346:10;10339:17;;10058:303;;;;;:::o;6181:933::-;6249:24;6363:18;6447;6694:22;2624:1;2611:10;:8;:10::i;:::-;:14;2603:23;;;;;;;;6276:10;6249:37;;6318:19;:37;6338:16;6318:37;;;;;;;;;;;;;;;;6299:15;:56;;6291:65;;;;;;;;6384:58;6397:39;6410:15;6427:8;;6397:12;:39::i;:::-;6438:3;6384:12;:58::i;:::-;6363:79;;6468:41;6481:15;6498:10;6468:12;:41::i;:::-;6447:62;;6531:43;6544:12;;6558:15;6531:12;:43::i;:::-;6516:12;:58;;;;6619:68;6632:19;:37;6652:16;6632:37;;;;;;;;;;;;;;;;6671:15;6619:12;:68::i;:::-;6579:19;:37;6599:16;6579:37;;;;;;;;;;;;;;;:108;;;;3713:7;6765:10;:22;6746:15;6728;;:33;:60;6694:95;;6826:15;6794:10;:28;6805:16;6794:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;6867:1;6852:12;;:16;6848:122;;;6894:70;6907:15;;6951:12;;3713:7;6925:10;:22;6924:39;;;;;;;;6894:12;:70::i;:::-;6876:15;:88;;;;6848:122;7016:1;6981:55;;6990:16;6981:55;;;7020:15;6981:55;;;;;;;;;;;;;;;;;;7058:16;7046:63;;;7076:15;7093:10;7105:3;7046:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6181:933;;;;;:::o;5597:182::-;5627:24;5669:15;5654:10;5627:37;;5687:19;:37;5707:16;5687:37;;;;;;;;;;;;;;;;5669:55;;5743:1;5733:7;:11;5729:30;;;5746:13;5751:7;5746:4;:13::i;:::-;5729:30;5764:10;:8;:10::i;:::-;5597:182;;:::o;4081:32::-;;;;:::o;4047:30::-;;;;:::o;12293:300::-;12340:7;12349;12358;12367;12376;12385;12394;12421:19;:17;:19::i;:::-;12446:13;:11;:13::i;:::-;12465:21;12475:10;12465:9;:21::i;:::-;12492:5;;;;;;;;;;;:15;;;12508:10;12492:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12492:27:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12492:27:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;12492:27:0;;;;;;;;;;;;;;;;12525:23;12537:10;12525:11;:23::i;:::-;12554:10;:8;:10::i;:::-;12570:11;:9;:11::i;:::-;12408:180;;;;;;;;;;;;;;12293:300;;;;;;;:::o;1548:171::-;1528:5;;;;;;;;;;;1514:19;;:10;:19;;;1506:28;;;;;;;;1643:1;1623:22;;:8;:22;;;;1615:31;;;;;;;;1684:8;1656:37;;1677:5;;;;;;;;;;;1656:37;;;;;;;;;;;;1706:8;1698:5;;:16;;;;;;;;;;;;;;;;;;1548:171;:::o;5164:428::-;5206:24;5248:18;5457:15;2694:1;2674:17;2686:4;2674:11;:17::i;:::-;:21;2666:30;;;;;;;;5233:10;5206:37;;5269:18;5281:5;5269:11;:18::i;:::-;5248:39;;3713:7;5333:10;:22;5292:10;:28;5303:16;5292:28;;;;;;;;;;;;;;;;:64;;;;;;;;;;;5375:16;:34;5392:16;5375:34;;;;;;;;;;;;;;;;5361:48;;;;5451:1;5414:16;:34;5431:16;5414:34;;;;;;;;;;;;;;;:38;;;;5475:49;5490:3;5495:16;5513:10;5475:14;:49::i;:::-;5457:67;;5549:16;5534:53;;;5567:10;5579:7;5534:53;;;;;;;;;;;;;;;;;;;;;;;;5164:428;;;:::o;310:159::-;367:9;392:1;387;:6;383:32;;;408:1;401:8;;;;383:32;427:1;423;:5;419:9;;449:1;444;440;:5;;;;;;;;:10;433:18;;;;;;463:1;456:8;;310:159;;;;;:::o;474:88::-;531:7;556:1;552;:5;;;;;;;;545:12;;474:88;;;;:::o;567:107::-;624:7;650:1;645;:6;;638:14;;;;;;668:1;664;:5;657:12;;567:107;;;;:::o;4236:161::-;4362:4;4304:62;;:5;;;;;;;;;;;:18;;;4323:10;4343:4;4350:7;4304:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4304:54:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;4304:54:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;4304:54:0;;;;;;;;;;;;;;;;:62;;;4296:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4236:161;:::o;10461:1827::-;10620:7;10734:27;10828:22;10926:18;11001:23;11080:12;11973:22;10579:13;10594:16;2147:15;;2140:3;:22;;2136:63;;;2188:5;2170:15;;:23;;;;;;;;;;;;;;;;;;2136:63;2209:15;;;;;;;;;;;2205:358;;;2275:4;2241:38;;:12;:30;2254:16;2241:30;;;;;;;;;;;;;;;;;;;;;;;;;:38;;;:131;;;;;1861:8;2332:13;2284:27;:45;2312:16;2284:45;;;;;;;;;;;;;;;;:61;2283:89;;2241:131;2232:142;;;;;;;;2428:74;2441:27;:45;2469:16;2441:45;;;;;;;;;;;;;;;;2488:13;2428:12;:74::i;:::-;2380:27;:45;2408:16;2380:45;;;;;;;;;;;;;;;:122;;;;10655:1;10638:13;:11;:13::i;:::-;:18;10634:49;;;10664:11;;:13;;;;;;;;;;;;;10634:49;10714:13;10689:9;:21;10699:10;10689:21;;;;;;;;;;;;;;;;:38;;;;;;;;;;;10764:57;10777:38;10790:13;10805:9;;10777:12;:38::i;:::-;10817:3;10764:12;:57::i;:::-;10734:87;;10853:66;10866:47;10879:19;10900:12;;10866;:47::i;:::-;10915:3;10853:12;:66::i;:::-;10828:91;;10947:49;10960:19;10981:14;10947:12;:49::i;:::-;10926:70;;11027:48;11040:13;11055:19;11027:12;:48::i;:::-;11001:74;;3713:7;11095:10;:22;11080:37;;11150:1;11132:15;:19;:81;;;;;11201:12;;11155:43;11168:15;11185:12;;11155;:43::i;:::-;:58;11132:81;11124:90;;;;;;;;11248:1;11225:25;;:11;:25;;;;:60;;;;;11269:16;11254:31;;:11;:31;;;;11225:60;:118;;;;;11325:18;;11289:19;:32;11309:11;11289:32;;;;;;;;;;;;;;;;:54;;11225:118;11221:333;;;11383:59;11396:16;:29;11413:11;11396:29;;;;;;;;;;;;;;;;11427:14;11383:12;:59::i;:::-;11351:16;:29;11368:11;11351:29;;;;;;;;;;;;;;;:91;;;;11221:333;;;11473:40;11486:10;11498:14;11473:12;:40::i;:::-;11460:53;;3713:7;11526:10;:22;11519:29;;11221:333;11579:1;11564:12;;:16;11560:292;;;11603:43;11616:12;;11630:15;11603:12;:43::i;:::-;11588:12;:58;;;;11697:12;;3713:7;11672:10;:22;:37;;;;;;;;11652:15;;:58;;;;;;;;;;;11783:12;;3713:7;11758:10;:22;:37;;;;;;;;11739:15;:57;11731:4;:66;11723:4;:75;11716:82;;11560:292;;;11831:15;11816:12;:30;;;;11560:292;11898:68;11911:19;:37;11931:16;11911:37;;;;;;;;;;;;;;;;11950:15;11898:12;:68::i;:::-;11858:19;:37;11878:16;11858:37;;;;;;;;;;;;;;;:108;;;;12043:4;12025:15;12007;;:33;:40;11973:75;;12085:15;12053:10;:28;12064:16;12053:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;12133:10;12112:49;;12129:1;12112:49;;;12145:15;12112:49;;;;;;;;;;;;;;;;;;12237:11;12171:83;;12187:16;12171:83;;;12205:13;12220:15;12250:3;12171:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12268:15;12261:22;;2205:358;;;2545:5;2527:15;;:23;;;;;;;;;;;;;;;;;;10655:1;10638:13;:11;:13::i;:::-;:18;10634:49;;;10664:11;;:13;;;;;;;;;;;;;10634:49;10714:13;10689:9;:21;10699:10;10689:21;;;;;;;;;;;;;;;;:38;;;;;;;;;;;10764:57;10777:38;10790:13;10805:9;;10777:12;:38::i;:::-;10817:3;10764:12;:57::i;:::-;10734:87;;10853:66;10866:47;10879:19;10900:12;;10866;:47::i;:::-;10915:3;10853:12;:66::i;:::-;10828:91;;10947:49;10960:19;10981:14;10947:12;:49::i;:::-;10926:70;;11027:48;11040:13;11055:19;11027:12;:48::i;:::-;11001:74;;3713:7;11095:10;:22;11080:37;;11150:1;11132:15;:19;:81;;;;;11201:12;;11155:43;11168:15;11185:12;;11155;:43::i;:::-;:58;11132:81;11124:90;;;;;;;;11248:1;11225:25;;:11;:25;;;;:60;;;;;11269:16;11254:31;;:11;:31;;;;11225:60;:118;;;;;11325:18;;11289:19;:32;11309:11;11289:32;;;;;;;;;;;;;;;;:54;;11225:118;11221:333;;;11383:59;11396:16;:29;11413:11;11396:29;;;;;;;;;;;;;;;;11427:14;11383:12;:59::i;:::-;11351:16;:29;11368:11;11351:29;;;;;;;;;;;;;;;:91;;;;11221:333;;;11473:40;11486:10;11498:14;11473:12;:40::i;:::-;11460:53;;3713:7;11526:10;:22;11519:29;;11221:333;11579:1;11564:12;;:16;11560:292;;;11603:43;11616:12;;11630:15;11603:12;:43::i;:::-;11588:12;:58;;;;11697:12;;3713:7;11672:10;:22;:37;;;;;;;;11652:15;;:58;;;;;;;;;;;11783:12;;3713:7;11758:10;:22;:37;;;;;;;;11739:15;:57;11731:4;:66;11723:4;:75;11716:82;;11560:292;;;11831:15;11816:12;:30;;;;11560:292;11898:68;11911:19;:37;11931:16;11911:37;;;;;;;;;;;;;;;;11950:15;11898:12;:68::i;:::-;11858:19;:37;11878:16;11858:37;;;;;;;;;;;;;;;:108;;;;12043:4;12025:15;12007;;:33;:40;11973:75;;12085:15;12053:10;:28;12064:16;12053:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;12133:10;12112:49;;12129:1;12112:49;;;12145:15;12112:49;;;;;;;;;;;;;;;;;;12237:11;12171:83;;12187:16;12171:83;;;12205:13;12220:15;12250:3;12171:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12268:15;12261:22;;2205:358;10461:1827;;;;;;;;;;;;;:::o;679:119::-;736:9;760:1;756;:5;752:9;;778:1;773;:6;;766:14;;;;;;792:1;785:8;;679:119;;;;:::o;1726:10870::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://e81f568b85562bdfb27032f34c546b03754629d5c29c2acb963dd9c6cf95a0e2

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.