Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
228,173.947116257486807 8TH
Holders
12
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.95 8THValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Name:
Eightherbank
Compiler Version
v0.4.20+commit.3155dd80
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-11-17 */ pragma solidity ^0.4.20; contract AcceptsEighterbank { Eightherbank public tokenContract; function AcceptsEighterbank(address _tokenContract) public { tokenContract = Eightherbank(_tokenContract); } modifier onlyTokenContract { require(msg.sender == address(tokenContract)); _; } /** * @dev Standard ERC677 function that will handle incoming token transfers. * * @param _from Token sender address. * @param _value Amount of tokens. * @param _data Transaction metadata. */ function tokenFallback(address _from, uint256 _value, bytes _data) external returns (bool); } contract Eightherbank { /*================================= = MODIFIERS = =================================*/ // only people with tokens modifier onlyBagholders() { require(myTokens() > 0); _; } // only people with profits modifier onlyStronghands() { require(myDividends(true) > 0); _; } modifier notContract() { require (msg.sender == tx.origin); _; } // administrators can: // -> change the name of the contract // -> change the name of the token // -> change the PoS difficulty (How many tokens it costs to hold a masternode, in case it gets crazy high later) // they CANNOT: // -> take funds // -> disable withdrawals // -> kill the contract // -> change the price of tokens modifier onlyAdministrator(){ address _customerAddress = msg.sender; require(msg.sender == owner); _; } /*============================== = EVENTS = ==============================*/ event onTokenPurchase( address indexed customerAddress, uint256 incomingEthereum, uint256 tokensMinted, address indexed referredBy ); event onTokenSell( address indexed customerAddress, uint256 tokensBurned, uint256 ethereumEarned ); event onReinvestment( address indexed customerAddress, uint256 ethereumReinvested, uint256 tokensMinted ); event onWithdraw( address indexed customerAddress, uint256 ethereumWithdrawn ); // ERC20 event Transfer( address indexed from, address indexed to, uint256 tokens ); /*===================================== = CONFIGURABLES = =====================================*/ address public owner; string public name = "8therbank"; string public symbol = "8TH"; uint8 public decimals = 18; uint8 constant internal dividendFee_ = 10; uint8 constant internal transferFee_ = 5; uint8 constant internal refferalFee_ = 33; uint256 constant internal tokenPriceInitial_ = 0.00005556 ether; // We need no increment. The price is stable uint256 constant internal magnitude = 2**64; // proof of stake (defaults at 1800 tokens) uint256 public stakingRequirement = 1800e18; // 1% Server fee address internal serverFeeAddress = msg.sender; // 1% To collect funds to buy in partner contracts address internal partnerFeeAddress = 0xdde972dc6B0fBE22B575a1066eF038fd7A60Fd98; // 0.5% For promotional purpose (if not filled, the address will be the same as the partnerFeeAddress on default) address internal promoFeeAddress = 0xE377f23F3C2238FE9EB59776549Ec785CbF42e1b; // 0.5% For the person who does our development address internal devFeeAddress = msg.sender; // ambassador program mapping(address => bool) internal ambassadors_; uint256 constant internal ambassadorMaxPurchase_ = 1 ether; uint256 constant internal ambassadorQuota_ = 100 ether; /*================================ = DATASETS = ================================*/ // amount of shares for each address (scaled number) mapping(address => uint256) internal tokenBalanceLedger_; mapping(address => uint256) internal referralBalance_; mapping(address => int256) internal payoutsTo_; mapping(address => uint256) internal ambassadorAccumulatedQuota_; // when this is set to true, only ambassadors can purchase tokens. bool public onlyAmbassadors = true; // UNIX Timestamp // Contract activates itself. Most honest way without having to refresh the UI and without people being able to snip the contract. uint ACTIVATION_TIME = 1574013600; // Function that disables ambassador mode once UNIX Timestamp has expired modifier antiEarlyWhale(uint256 _amountOfEthereum){ if (now >= ACTIVATION_TIME) { onlyAmbassadors = false; } // are we still in the vulnerable phase? // if so, enact anti early whale protocol if(onlyAmbassadors){ require( // is the customer in the ambassador list? (ambassadors_[msg.sender] == true && // does the customer purchase exceed the max ambassador quota? (ambassadorAccumulatedQuota_[msg.sender] + _amountOfEthereum) <= ambassadorMaxPurchase_) ); // updated the accumulated quota ambassadorAccumulatedQuota_[msg.sender] = SafeMath.add(ambassadorAccumulatedQuota_[msg.sender], _amountOfEthereum); // execute _; }else{ onlyAmbassadors=false; _; } } uint256 internal tokenSupply_ = 0; uint256 internal profitPerShare_; // administrator list (see above on what they can do) mapping(bytes32 => bool) public administrators; // contracts, which can accept Eightherbank tokens mapping(address => bool) public canAcceptTokens_; /*======================================= = PUBLIC FUNCTIONS = =======================================*/ /* * -- APPLICATION ENTRY POINTS -- */ function Eightherbank() public { // add administrators here owner = msg.sender; name = "8therbank"; symbol = "8TH"; decimals = 18; // The full ambassador list. // This does not mean that everyone actually participates in the ambassador phase. This is the same for the maximum amount. ambassadors_[0x60bc6fa49588bbB9e3273E1fc421f383393E2fc3] = true; // Negan ambassadors_[0x074F21a36217d7615d0202faA926aEFEBB5a9999] = true; // Lordshill ambassadors_[0xEe54D208f62368B4efFe176CB548A317dcAe963F] = true; // Crypto Grandad ambassadors_[0x843f2C19bc6df9E32B482E2F9ad6C078001088b1] = true; // Tony ambassadors_[0xE377f23F3C2238FE9EB59776549Ec785CbF42e1b] = true; // Graig Grant ambassadors_[0xACa4E2730b57dA82476D6d1fA2a85A8f686F108b] = true; // Cherry Blossom ambassadors_[0x24B23bB643082026227e945C7833B81426057b10] = true; // Trevon James ambassadors_[0x5138240E96360ad64010C27eB0c685A8b2eDE4F2] = true; // Sniped ambassadors_[0xAFC1a5cB605bBd1aa5F6415458BC45cD7554d08b] = true; // Jedi Masternode ambassadors_[0xAA7A7C2DECB180f68F11E975e6D92B5Dc06083A6] = true; // NumberOfThings ambassadors_[0x73018870D10173ae6F71Cac3047ED3b6d175F274] = true; // Cryptochron ambassadors_[0x53e1eB6a53d9354d43155f76861C5a2AC80ef361] = true; // CoinArtist ambassadors_[0xCdB84A89BB3D2ad99a39AfAd0068DC11B8280FbC] = true; // Ultra-Boy ambassadors_[0xF1018aCEAd986C97BccffaC40246D701E7b6C58b] = true; // Timing Is Everything ambassadors_[0x340570F0fe147f60C259753A7491059eB6526c2D] = true; // Omokazee ambassadors_[0xbE57E8Cde352a6a55B103f826AC8c324aCD68aDf] = true; // SanTro ambassadors_[0x05aF7f355E914197FB3548c7Ab67887dD187D808] = true; // ButDoesItFloat ambassadors_[0x190A2409fc6434483D4c2CAb804E75e3Bc5ebFa6] = true; // Yobo ambassadors_[0x52DC007F9D85c4949AF4Db4E7863e48f7f4Fe93D] = true; // All About Passive Income ambassadors_[0x92421097F5a6b24B45e94A5297e220622DCdbd5a] = true; // BobBot } // Function for external contracts to make it easy to feed Eighterbank in a possible partnership function buyFor(address _customerAddress, address _referredBy) public payable returns (uint256) { return purchaseTokens(_customerAddress, msg.value, _referredBy ); } /** * Converts all incoming ethereum to tokens for the caller, and passes down the referral addy (if any) */ function buy(address _referredBy) public payable returns(uint256) { purchaseTokens(msg.sender, msg.value, _referredBy); } /** * Fallback function to handle ethereum that was send straight to the contract * Unfortunately we cannot use a referral address this way. */ function() payable public { purchaseTokens(msg.sender, msg.value, 0x0); } /** * Converts all of caller's dividends to tokens. */ function reinvest() onlyStronghands() public { // fetch dividends uint256 _dividends = myDividends(false); // retrieve ref. bonus later in the code // pay out the dividends virtually address _customerAddress = msg.sender; payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude); // retrieve ref. bonus _dividends += referralBalance_[_customerAddress]; referralBalance_[_customerAddress] = 0; // dispatch a buy order with the virtualized "withdrawn dividends" uint256 _tokens = purchaseTokens(_customerAddress, _dividends, 0x0); // fire event onReinvestment(_customerAddress, _dividends, _tokens); } /** * Alias of sell() and withdraw(). */ function exit() public { // get token count for caller & sell them all address _customerAddress = msg.sender; uint256 _tokens = tokenBalanceLedger_[_customerAddress]; if(_tokens > 0) sell(_tokens); // lambo delivery service withdraw(); } /** * Withdraws all of the callers earnings. */ function withdraw() onlyStronghands() public { // setup data address _customerAddress = msg.sender; uint256 _dividends = myDividends(false); // get ref. bonus later in the code // update dividend tracker payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude); // add ref. bonus _dividends += referralBalance_[_customerAddress]; referralBalance_[_customerAddress] = 0; // lambo delivery service _customerAddress.transfer(_dividends); // fire event onWithdraw(_customerAddress, _dividends); } /** * Liquifies tokens to ethereum. */ function sell(uint256 _amountOfTokens) onlyBagholders() public { // setup data address _customerAddress = msg.sender; // russian hackers BTFO require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]); uint256 _tokens = _amountOfTokens; uint256 _ethereum = tokensToEthereum_(_tokens); uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, dividendFee_), 100); uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends); // burn the sold tokens tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens); tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens); // update dividends tracker int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude)); payoutsTo_[_customerAddress] -= _updatedPayouts; // dividing by zero is a bad idea if (tokenSupply_ > 0) { // update the amount of dividends per token profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_); } // fire event onTokenSell(_customerAddress, _tokens, _taxedEthereum); } /** * Transfer tokens from the caller to a new holder. * Remember, there's a 5% fee here as well. */ function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders() public returns(bool) { // setup address _customerAddress = msg.sender; // make sure we have the requested tokens // also disables transfers until ambassador phase is over // ( we dont want whale premines ) require(!onlyAmbassadors && _amountOfTokens <= tokenBalanceLedger_[_customerAddress]); // liquify 5% of the tokens that are transfered // these are dispersed to shareholders uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100); uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee); uint256 _dividends = tokensToEthereum_(_tokenFee); // burn the fee tokens tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee); // exchange tokens tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens); tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens); // update dividend trackers payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens); payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens); // disperse dividends among holders profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_); // fire event Transfer(_customerAddress, _toAddress, _taxedTokens); // ERC20 return true; } /** * Transfer token to a specified address and forward the data to recipient * ERC-677 standard * https://github.com/ethereum/EIPs/issues/677 * @param _to Receiver address. * @param _value Amount of tokens that will be transferred. * @param _data Transaction metadata. */ function transferAndCall(address _to, uint256 _value, bytes _data) external returns (bool) { require(_to != address(0)); require(canAcceptTokens_[_to] == true); // security check that contract approved by Eightherbank platform require(transfer(_to, _value)); // do a normal token transfer to the contract if (isContract(_to)) { AcceptsEighterbank receiver = AcceptsEighterbank(_to); require(receiver.tokenFallback(msg.sender, _value, _data)); } return true; } /** * Additional check that the game address we are sending tokens to is a contract * assemble the given address bytecode. If bytecode exists then the _addr is a contract. */ function isContract(address _addr) private constant returns (bool is_contract) { // retrieve the size of the code on target address, this needs assembly uint length; assembly { length := extcodesize(_addr) } return length > 0; } /*---------- ADMINISTRATOR ONLY FUNCTIONS ----------*/ /** * In case the amassador quota is not met, the administrator can manually disable the ambassador phase. */ function disableInitialStage() onlyAdministrator() public { onlyAmbassadors = false; } // Function to change partnerFeeAddress in case the partnership is ever broken function changePartner(address _partnerAddress) public{ require(owner==msg.sender); partnerFeeAddress=_partnerAddress; } // Function to change promoFeeAddresss in case the promoter decides to stop function changePromoter(address _promotorAddress) public{ require(owner==msg.sender); promoFeeAddress=_promotorAddress; } // Function to change devFeeAddresss in case the developer decides to stop working function changeDev(address _devAddress) public{ require(owner==msg.sender); devFeeAddress=_devAddress; } /** * In case one of us dies, we need to replace ourselves. */ function setAdministrator(address newowner) onlyAdministrator() public { owner = newowner; } /** * Precautionary measures in case we need to adjust the masternode rate. */ function setStakingRequirement(uint256 _amountOfTokens) onlyAdministrator() public { stakingRequirement = _amountOfTokens; } /** * Add or remove game contract, which can accept Eightherbank tokens */ function setCanAcceptTokens(address _address, bool _value) onlyAdministrator() public { canAcceptTokens_[_address] = _value; } /** * If we want to rebrand, we can. */ function setName(string _name) onlyAdministrator() public { name = _name; } /** * If we want to rebrand, we can. */ function setSymbol(string _symbol) onlyAdministrator() public { symbol = _symbol; } /*---------- HELPERS AND CALCULATORS ----------*/ /** * Method to view the current Ethereum stored in the contract * Example: totalEthereumBalance() */ function totalEthereumBalance() public view returns(uint) { return this.balance; } /** * Retrieve the total token supply. */ function totalSupply() public view returns(uint256) { return tokenSupply_; } /** * Retrieve the tokens owned by the caller. */ function myTokens() public view returns(uint256) { address _customerAddress = msg.sender; return balanceOf(_customerAddress); } /** * Retrieve the dividends owned by the caller. * If `_includeReferralBonus` is to to 1/true, the referral bonus will be included in the calculations. * The reason for this, is that in the frontend, we will want to get the total divs (global + ref) * But in the internal calculations, we want them separate. */ function myDividends(bool _includeReferralBonus) public view returns(uint256) { address _customerAddress = msg.sender; return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ; } /** * Retrieve the token balance of any single address. */ function balanceOf(address _customerAddress) view public returns(uint256) { return tokenBalanceLedger_[_customerAddress]; } /** * Retrieve the dividend balance of any single address. */ function dividendsOf(address _customerAddress) view public returns(uint256) { return (uint256) ((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude; } /** * Return the buy price of 1 individual token. */ function sellPrice() public view returns(string) { return "0.00005"; } /** * Return the sell price of 1 individual token. */ function buyPrice() public view returns(string) { return "0.00005556"; } /** * Function for the frontend to dynamically retrieve the price scaling of buy orders. */ function calculateTokensReceived(uint256 _ethereumToSpend) public view returns(uint256) { uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereumToSpend, dividendFee_), 100); uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends); uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum); return _amountOfTokens; } /** * Function for the frontend to dynamically retrieve the price scaling of sell orders. */ function calculateEthereumReceived(uint256 _tokensToSell) public view returns(uint256) { require(_tokensToSell <= tokenSupply_); uint256 _ethereum = tokensToEthereum_(_tokensToSell); uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, dividendFee_), 100); uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends); return _taxedEthereum; } /*========================================== = INTERNAL FUNCTIONS = ==========================================*/ function purchaseTokens(address _customerAddress, uint256 _incomingEthereum, address _referredBy) antiEarlyWhale(_incomingEthereum) internal returns(uint256) { // data setup uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum, dividendFee_), 100); uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, refferalFee_), 100); uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus); uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends); // 3% fee used for the serverFeeAddress, promoFeeAddress, partnerFeeAddress and devFeeAddress _taxedEthereum = SafeMath.sub(_taxedEthereum, SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 100)); // 1% _taxedEthereum = SafeMath.sub(_taxedEthereum, SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 100)); // 1% _taxedEthereum = SafeMath.sub(_taxedEthereum, SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 200)); // 0.5% _taxedEthereum = SafeMath.sub(_taxedEthereum, SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 200)); // 0.5% uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum); uint256 _fee = _dividends * magnitude; // no point in continuing execution if OP is a poorfag russian hacker // prevents overflow in the case that the pyramid somehow magically starts being used by everyone in the world // (or hackers) // and yes we know that the safemath function automatically rules out the "greater then" equasion. require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_)); // is the user referred by a masternode? if( // is this a referred purchase? _referredBy != 0x0000000000000000000000000000000000000000 && // no cheating! _referredBy != _customerAddress && // does the referrer have at least X whole tokens? // i.e is the referrer a godly chad masternode tokenBalanceLedger_[_referredBy] >= stakingRequirement ){ // wealth redistribution referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus); } else { // no ref purchase // add the referral bonus back to the global dividends cake _dividends = SafeMath.add(_dividends, _referralBonus); _fee = _dividends * magnitude; } // we can't give people infinite ethereum if(tokenSupply_ > 0){ // add tokens to the pool tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens); // take the amount of dividends gained through this transaction, and allocates them evenly to each shareholder profitPerShare_ += (_dividends * magnitude / (tokenSupply_)); // calculate the amount of tokens the customer receives over his purchase _fee = _fee - (_fee-(_amountOfTokens * (_dividends * magnitude / (tokenSupply_)))); } else { // add tokens to the pool tokenSupply_ = _amountOfTokens; } // update circulating supply & the ledger address for the customer tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens); // Tells the contract that the buyer doesn't deserve dividends for the tokens before they owned them; // really i know you think you do but you don't int256 _updatedPayouts = (int256) ((profitPerShare_ * _amountOfTokens) - _fee); payoutsTo_[_customerAddress] += _updatedPayouts; // fire event onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy); // Transfers the fee amounts to the addresses serverFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 100)); // 1% partnerFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 100)); // 1% promoFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 200)); // 0.5% devFeeAddress.transfer(SafeMath.div(SafeMath.mul(_incomingEthereum, 1), 200)); // 0.5% return _amountOfTokens; } /** * Calculate Token price based on an amount of incoming ethereum * It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation; * Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code. */ function ethereumToTokens_(uint256 _ethereum) internal view returns(uint256) { return (_ethereum * 20000); } /** * Calculate token sell value. * It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation; * Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code. */ function tokensToEthereum_(uint256 _tokens) internal view returns(uint256) { return (_tokens / 20000); } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"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":"","type":"address"}],"name":"canAcceptTokens_","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","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":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"setCanAcceptTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"transferAndCall","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_promotorAddress","type":"address"}],"name":"changePromoter","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"string"}],"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":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"setStakingRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_devAddress","type":"address"}],"name":"changeDev","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"disableInitialStage","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_partnerAddress","type":"address"}],"name":"changePartner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_customerAddress","type":"address"},{"name":"_referredBy","type":"address"}],"name":"buyFor","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newowner","type":"address"}],"name":"setAdministrator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"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":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"}]
Contract Creation Code
606060405260408051908101604052600981527f387468657262616e6b0000000000000000000000000000000000000000000000602082015260019080516200004d9291602001906200055b565b5060408051908101604052600381527f385448000000000000000000000000000000000000000000000000000000000060208201526002908051620000979291602001906200055b565b506003805460ff19908116601217909155686194049f30f720000060045560058054600160a060020a033316600160a060020a0319918216811790925560068054821673dde972dc6b0fbe22b575a1066ef038fd7a60fd9817905560078054821673e377f23f3c2238fe9eb59776549ec785cbf42e1b179055600880549091169091179055600e80549091166001179055635dd18aa0600f55600060105534156200014157600080fd5b60008054600160a060020a03191633600160a060020a031617905560408051908101604052600981527f387468657262616e6b000000000000000000000000000000000000000000000060208201526001908051620001a59291602001906200055b565b5060408051908101604052600381527f385448000000000000000000000000000000000000000000000000000000000060208201526002908051620001ef9291602001906200055b565b506003805460ff1990811660121790915560096020527f114bfc4befc37e8ec534e2cb18d7b487f50a2d45f3104da0bc84b5b841a1f7868054821660019081179091557f4f78b6fa0a3eed5c62ae445ad18523ff9f9e5c2c6fbd115dbdcb51104828a42580548316821790557f2a01bda43fbcd17074d9bc8960d178bc9a7a00a9cfba2dba283534f8ade7896380548316821790557f95d2a117b1509bfad9e7f4c893f81b86485c527ad0f4cd587a683fd954ffe2a980548316821790557fd46e7c3b7d2654734292eafca1361060dace44e2d98de8ba89c43f9ebcf687be80548316821790557ff51607957d06f143a6fd6dedfc968371aee72733c1bac773af1a84b5a2ed31fd80548316821790557f20a462d403faa0e1978da5a8d6944e6234024e8f21c73b4932a225f2bc6ac90680548316821790557f269ff8cb10a0c242644e6b6ccfbeb7218dc9c272de6b16eaa4d853dd861cfffd80548316821790557ffaeb13871d0be45aa988b5725f5040f1627bdcae7c25bf9f7c746b033798be1080548316821790557faab007f826b86db4cd49a7381da1fa01ee68eccfc9eacc510ac26d814ce83de180548316821790557f082c98d427e6e6f5520e519cb37dfe00bcead11013ded3c03143825ebec6873e80548316821790557fd70161641f7c079ff257d3947d4e739f26319b3d4694ce97decc8463881c9ebd80548316821790557fd3a824c05cd442a11ac387882c77bb7e4b43ada491ecf447405191f1eaef2f1b80548316821790557fc79f8f72900b2162a0c683c6f436d0e58777e247c68e5dc2271f0ec8f12dd4b180548316821790557f572c6ad66f1c8930af4c6d67679e2e99f729dc2fb4d4b00d82df7dbd3a3a212c80548316821790557f0250ea59e4bf672a6d76e2ef16d5903ae4c018a340eb31d86b59438204a41e7b80548316821790557f69e2678772cd5b449b56504bde3d2fe5dd414339112eed10dfae3ee298ba8cdb80548316821790557fe2386808eef28d09fbbd09b6725976d164c6e68ea618f6cd419575a4dc26fc9180548316821790557f49df9586b0f70fb391fe79242479389fd68f3c41d9c662914c27469e4721513d80548316821790557392421097f5a6b24b45e94a5297e220622dcdbd5a6000527f180631170f2175aba6d52b2811435146af6ce96e8b3f7b0aca19cd81b17277d3805490921617905562000600565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200059e57805160ff1916838001178555620005ce565b82800160010185558215620005ce579182015b82811115620005ce578251825591602001919060010190620005b1565b50620005dc929150620005e0565b5090565b620005fd91905b80821115620005dc5760008155600101620005e7565b90565b611ab580620006106000396000f3006060604052600436106101b55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b81146101c457806306fdde03146101f55780630f34dc161461027f57806310d0ffdd146102b257806318160ddd146102c857806322609373146102db57806327defa1f146102f1578063294205b414610304578063313ce5671461032a578063392efb52146103535780633ccfd60b146103695780634000aea01461037c5780634411b711146103ab5780634b750334146103ca57806356d399e8146103dd578063688abbf7146103f05780636b2f46321461040857806370a082311461041b5780638328b6101461043a5780638620410b1461045057806388a8c95c146104635780638da5cb5b14610482578063949e8acd146104b157806395d89b41146104c4578063a8e04f34146104d7578063a9059cbb146104ea578063ab1eedb21461050c578063b84c82461461052b578063c47f00271461057c578063caa877e7146105cd578063df8089ef146105e7578063e4849b3214610606578063e9fad8ee1461061c578063f088d5471461062f578063fdb5a03e14610643575b6101c133346000610656565b50005b34156101cf57600080fd5b6101e3600160a060020a0360043516610e37565b60405190815260200160405180910390f35b341561020057600080fd5b610208610e6f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024457808201518382015260200161022c565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028a57600080fd5b61029e600160a060020a0360043516610f0d565b604051901515815260200160405180910390f35b34156102bd57600080fd5b6101e3600435610f22565b34156102d357600080fd5b6101e3610f55565b34156102e657600080fd5b6101e3600435610f5c565b34156102fc57600080fd5b61029e610f98565b341561030f57600080fd5b610328600160a060020a03600435166024351515610fa1565b005b341561033557600080fd5b61033d610fe9565b60405160ff909116815260200160405180910390f35b341561035e57600080fd5b61029e600435610ff2565b341561037457600080fd5b610328611007565b341561038757600080fd5b61029e60048035600160a060020a03169060248035916044359182019101356110ce565b34156103b657600080fd5b610328600160a060020a0360043516611206565b34156103d557600080fd5b610208611250565b34156103e857600080fd5b6101e3611291565b34156103fb57600080fd5b6101e36004351515611297565b341561041357600080fd5b6101e36112da565b341561042657600080fd5b6101e3600160a060020a03600435166112e8565b341561044557600080fd5b610328600435611303565b341561045b57600080fd5b610208611325565b341561046e57600080fd5b610328600160a060020a0360043516611366565b341561048d57600080fd5b6104956113b0565b604051600160a060020a03909116815260200160405180910390f35b34156104bc57600080fd5b6101e36113bf565b34156104cf57600080fd5b6102086113d2565b34156104e257600080fd5b61032861143d565b34156104f557600080fd5b61029e600160a060020a0360043516602435611466565b341561051757600080fd5b610328600160a060020a0360043516611602565b341561053657600080fd5b61032860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061164c95505050505050565b341561058757600080fd5b61032860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061168095505050505050565b6101e3600160a060020a03600435811690602435166116af565b34156105f257600080fd5b610328600160a060020a03600435166116c3565b341561061157600080fd5b61032860043561170f565b341561062757600080fd5b610328611865565b6101e3600160a060020a036004351661189c565b341561064e57600080fd5b6103286118a9565b60008060008060008060008089600f544210151561067957600e805460ff191690555b600e5460ff1615610aa857600160a060020a03331660009081526009602052604090205460ff16151560011480156106d45750600160a060020a0333166000908152600d6020526040902054670de0b6b3a764000090820111155b15156106df57600080fd5b600160a060020a0333166000908152600d60205260409020546107029082611961565b600160a060020a0333166000908152600d60205260409020556107306107298c600a61197b565b60646119a6565b975061074061072989602161197b565b965061074c88886119bd565b95506107588b896119bd565b94506107718561076c6107298e600161197b565b6119bd565b94506107858561076c6107298e600161197b565b94506107a08561076c6107998e600161197b565b60c86119a6565b94506107b48561076c6107998e600161197b565b94506107bf856119cf565b9350604060020a860292506000841180156107e457506010546107e28582611961565b115b15156107ef57600080fd5b600160a060020a038a161580159061081957508b600160a060020a03168a600160a060020a031614155b801561083f5750600454600160a060020a038b166000908152600a602052604090205410155b1561088557600160a060020a038a166000908152600b60205260409020546108679088611961565b600160a060020a038b166000908152600b602052604090205561089b565b61088f8688611961565b9550604060020a860292505b600060105411156108f5576108b260105485611961565b6010819055604060020a87028115156108c757fe5b60118054929091049091019055601054604060020a87028115156108e757fe5b0484028303830392506108fb565b60108490555b600160a060020a038c166000908152600a602052604090205461091e9085611961565b600160a060020a03808e166000818152600a6020908152604080832095909555601154600c90915290849020805491890288900391820190559450908c16917f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5908e9088905191825260208201526040908101905180910390a3600554600160a060020a03166108fc6109b56107298e600161197b565b9081150290604051600060405180830381858888f1935050505015156109da57600080fd5b600654600160a060020a03166108fc6109f76107298e600161197b565b9081150290604051600060405180830381858888f193505050501515610a1c57600080fd5b600754600160a060020a03166108fc610a396107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610a5e57600080fd5b600854600160a060020a03166108fc610a7b6107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610aa057600080fd5b839850610e28565b600e805460ff19169055610ac06107298c600a61197b565b9750610ad061072989602161197b565b9650610adc88886119bd565b9550610ae88b896119bd565b9450610afc8561076c6107298e600161197b565b9450610b108561076c6107298e600161197b565b9450610b248561076c6107998e600161197b565b9450610b388561076c6107998e600161197b565b9450610b43856119cf565b9350604060020a86029250600084118015610b685750601054610b668582611961565b115b1515610b7357600080fd5b600160a060020a038a1615801590610b9d57508b600160a060020a03168a600160a060020a031614155b8015610bc35750600454600160a060020a038b166000908152600a602052604090205410155b15610c0957600160a060020a038a166000908152600b6020526040902054610beb9088611961565b600160a060020a038b166000908152600b6020526040902055610c1f565b610c138688611961565b9550604060020a860292505b60006010541115610c7957610c3660105485611961565b6010819055604060020a8702811515610c4b57fe5b60118054929091049091019055601054604060020a8702811515610c6b57fe5b048402830383039250610c7f565b60108490555b600160a060020a038c166000908152600a6020526040902054610ca29085611961565b600160a060020a03808e166000818152600a6020908152604080832095909555601154600c90915290849020805491890288900391820190559450908c16917f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5908e9088905191825260208201526040908101905180910390a3600554600160a060020a03166108fc610d396107298e600161197b565b9081150290604051600060405180830381858888f193505050501515610d5e57600080fd5b600654600160a060020a03166108fc610d7b6107298e600161197b565b9081150290604051600060405180830381858888f193505050501515610da057600080fd5b600754600160a060020a03166108fc610dbd6107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610de257600080fd5b600854600160a060020a03166108fc610dff6107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610e2457600080fd5b8398505b50505050505050509392505050565b600160a060020a0381166000908152600c6020908152604080832054600a909252822054601154604060020a929102035b0492915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f055780601f10610eda57610100808354040283529160200191610f05565b820191906000526020600020905b815481529060010190602001808311610ee857829003601f168201915b505050505081565b60136020526000908152604090205460ff1681565b6000808080610f3561072986600a61197b565b9250610f4185846119bd565b9150610f4c826119cf565b95945050505050565b6010545b90565b6000806000806010548511151515610f7357600080fd5b610f7c856119d6565b9250610f8c61072984600a61197b565b9150610f4c83836119bd565b600e5460ff1681565b6000543390600160a060020a03808316911614610fbd57600080fd5b50600160a060020a03919091166000908152601360205260409020805460ff1916911515919091179055565b60035460ff1681565b60126020526000908152604090205460ff1681565b60008060006110166001611297565b1161102057600080fd5b33915061102d6000611297565b600160a060020a0383166000818152600c602090815260408083208054604060020a8702019055600b9091528082208054929055920192509082156108fc0290839051600060405180830381858888f19350505050151561108d57600080fd5b81600160a060020a03167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc8260405190815260200160405180910390a25050565b600080600160a060020a03861615156110e657600080fd5b600160a060020a03861660009081526013602052604090205460ff16151560011461111057600080fd5b61111a8686611466565b151561112557600080fd5b61112e866119e1565b156111fa575084600160a060020a03811663c0ee0b8a338787876000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8716028152600160a060020a0385166004820190815260248201859052606060448301908152606483018490529091608401848480828437820191505095505050505050602060405180830381600087803b15156111d457600080fd5b6102c65a03f115156111e557600080fd5b5050506040518051905015156111fa57600080fd5b50600195945050505050565b60005433600160a060020a0390811691161461122157600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6112586119e9565b60408051908101604052600781527f302e3030303035000000000000000000000000000000000000000000000000006020820152905090565b60045481565b600033826112ad576112a881610e37565b6112d1565b600160a060020a0381166000908152600b60205260409020546112cf82610e37565b015b91505b50919050565b600160a060020a0330163190565b600160a060020a03166000908152600a602052604090205490565b6000543390600160a060020a0380831691161461131f57600080fd5b50600455565b61132d6119e9565b60408051908101604052600a81527f302e3030303035353536000000000000000000000000000000000000000000006020820152905090565b60005433600160a060020a0390811691161461138157600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b6000336113cb816112e8565b91505b5090565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f055780601f10610eda57610100808354040283529160200191610f05565b6000543390600160a060020a0380831691161461145957600080fd5b50600e805460ff19169055565b6000806000806000806114776113bf565b1161148157600080fd5b600e5433945060ff161580156114af5750600160a060020a0384166000908152600a60205260409020548611155b15156114ba57600080fd5b6114c861072987600561197b565b92506114d486846119bd565b91506114df836119d6565b90506114ed601054846119bd565b601055600160a060020a0384166000908152600a602052604090205461151390876119bd565b600160a060020a038086166000908152600a602052604080822093909355908916815220546115429083611961565b600160a060020a038881166000818152600a602090815260408083209590955560118054948a168352600c9091528482208054948c029094039093558254918152929092208054928502909201909155546010546115b19190604060020a84028115156115ab57fe5b04611961565b601155600160a060020a038088169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019695505050505050565b60005433600160a060020a0390811691161461161d57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000543390600160a060020a0380831691161461166857600080fd5b600282805161167b9291602001906119fb565b505050565b6000543390600160a060020a0380831691161461169c57600080fd5b600182805161167b9291602001906119fb565b60006116bc833484610656565b9392505050565b6000543390600160a060020a038083169116146116df57600080fd5b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008060008060008060006117226113bf565b1161172c57600080fd5b33600160a060020a0381166000908152600a602052604090205490965087111561175557600080fd5b869450611761856119d6565b935061177161072985600a61197b565b925061177d84846119bd565b915061178b601054866119bd565b601055600160a060020a0386166000908152600a60205260409020546117b190866119bd565b600160a060020a0387166000908152600a6020908152604080832093909355601154600c9091529181208054928802604060020a86020192839003905560105491925090111561181857611814601154601054604060020a86028115156115ab57fe5b6011555b85600160a060020a03167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a31139868460405191825260208201526040908101905180910390a250505050505050565b33600160a060020a0381166000908152600a602052604081205490811115611890576118908161170f565b611898611007565b5050565b60006112d4333484610656565b6000806000806118b96001611297565b116118c357600080fd5b6118cd6000611297565b33600160a060020a0381166000908152600c602090815260408083208054604060020a8702019055600b9091528120805490829055909201945092506119169083908590610656565b905081600160a060020a03167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab3615326458848360405191825260208201526040908101905180910390a2505050565b60008282018381101561197057fe5b8091505b5092915050565b60008083151561198e5760009150611974565b5082820282848281151561199e57fe5b041461197057fe5b60008082848115156119b457fe5b04949350505050565b6000828211156119c957fe5b50900390565b614e200290565b6000614e2082610e68565b6000903b1190565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a3c57805160ff1916838001178555611a69565b82800160010185558215611a69579182015b82811115611a69578251825591602001919060010190611a4e565b506113ce92610f599250905b808211156113ce5760008155600101611a755600a165627a7a723058200b39eb2cca49e5e734deec1255cfce212247bb8261c7d1715fff3524d68e36b90029
Deployed Bytecode
0x6060604052600436106101b55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b81146101c457806306fdde03146101f55780630f34dc161461027f57806310d0ffdd146102b257806318160ddd146102c857806322609373146102db57806327defa1f146102f1578063294205b414610304578063313ce5671461032a578063392efb52146103535780633ccfd60b146103695780634000aea01461037c5780634411b711146103ab5780634b750334146103ca57806356d399e8146103dd578063688abbf7146103f05780636b2f46321461040857806370a082311461041b5780638328b6101461043a5780638620410b1461045057806388a8c95c146104635780638da5cb5b14610482578063949e8acd146104b157806395d89b41146104c4578063a8e04f34146104d7578063a9059cbb146104ea578063ab1eedb21461050c578063b84c82461461052b578063c47f00271461057c578063caa877e7146105cd578063df8089ef146105e7578063e4849b3214610606578063e9fad8ee1461061c578063f088d5471461062f578063fdb5a03e14610643575b6101c133346000610656565b50005b34156101cf57600080fd5b6101e3600160a060020a0360043516610e37565b60405190815260200160405180910390f35b341561020057600080fd5b610208610e6f565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561024457808201518382015260200161022c565b50505050905090810190601f1680156102715780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561028a57600080fd5b61029e600160a060020a0360043516610f0d565b604051901515815260200160405180910390f35b34156102bd57600080fd5b6101e3600435610f22565b34156102d357600080fd5b6101e3610f55565b34156102e657600080fd5b6101e3600435610f5c565b34156102fc57600080fd5b61029e610f98565b341561030f57600080fd5b610328600160a060020a03600435166024351515610fa1565b005b341561033557600080fd5b61033d610fe9565b60405160ff909116815260200160405180910390f35b341561035e57600080fd5b61029e600435610ff2565b341561037457600080fd5b610328611007565b341561038757600080fd5b61029e60048035600160a060020a03169060248035916044359182019101356110ce565b34156103b657600080fd5b610328600160a060020a0360043516611206565b34156103d557600080fd5b610208611250565b34156103e857600080fd5b6101e3611291565b34156103fb57600080fd5b6101e36004351515611297565b341561041357600080fd5b6101e36112da565b341561042657600080fd5b6101e3600160a060020a03600435166112e8565b341561044557600080fd5b610328600435611303565b341561045b57600080fd5b610208611325565b341561046e57600080fd5b610328600160a060020a0360043516611366565b341561048d57600080fd5b6104956113b0565b604051600160a060020a03909116815260200160405180910390f35b34156104bc57600080fd5b6101e36113bf565b34156104cf57600080fd5b6102086113d2565b34156104e257600080fd5b61032861143d565b34156104f557600080fd5b61029e600160a060020a0360043516602435611466565b341561051757600080fd5b610328600160a060020a0360043516611602565b341561053657600080fd5b61032860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061164c95505050505050565b341561058757600080fd5b61032860046024813581810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061168095505050505050565b6101e3600160a060020a03600435811690602435166116af565b34156105f257600080fd5b610328600160a060020a03600435166116c3565b341561061157600080fd5b61032860043561170f565b341561062757600080fd5b610328611865565b6101e3600160a060020a036004351661189c565b341561064e57600080fd5b6103286118a9565b60008060008060008060008089600f544210151561067957600e805460ff191690555b600e5460ff1615610aa857600160a060020a03331660009081526009602052604090205460ff16151560011480156106d45750600160a060020a0333166000908152600d6020526040902054670de0b6b3a764000090820111155b15156106df57600080fd5b600160a060020a0333166000908152600d60205260409020546107029082611961565b600160a060020a0333166000908152600d60205260409020556107306107298c600a61197b565b60646119a6565b975061074061072989602161197b565b965061074c88886119bd565b95506107588b896119bd565b94506107718561076c6107298e600161197b565b6119bd565b94506107858561076c6107298e600161197b565b94506107a08561076c6107998e600161197b565b60c86119a6565b94506107b48561076c6107998e600161197b565b94506107bf856119cf565b9350604060020a860292506000841180156107e457506010546107e28582611961565b115b15156107ef57600080fd5b600160a060020a038a161580159061081957508b600160a060020a03168a600160a060020a031614155b801561083f5750600454600160a060020a038b166000908152600a602052604090205410155b1561088557600160a060020a038a166000908152600b60205260409020546108679088611961565b600160a060020a038b166000908152600b602052604090205561089b565b61088f8688611961565b9550604060020a860292505b600060105411156108f5576108b260105485611961565b6010819055604060020a87028115156108c757fe5b60118054929091049091019055601054604060020a87028115156108e757fe5b0484028303830392506108fb565b60108490555b600160a060020a038c166000908152600a602052604090205461091e9085611961565b600160a060020a03808e166000818152600a6020908152604080832095909555601154600c90915290849020805491890288900391820190559450908c16917f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5908e9088905191825260208201526040908101905180910390a3600554600160a060020a03166108fc6109b56107298e600161197b565b9081150290604051600060405180830381858888f1935050505015156109da57600080fd5b600654600160a060020a03166108fc6109f76107298e600161197b565b9081150290604051600060405180830381858888f193505050501515610a1c57600080fd5b600754600160a060020a03166108fc610a396107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610a5e57600080fd5b600854600160a060020a03166108fc610a7b6107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610aa057600080fd5b839850610e28565b600e805460ff19169055610ac06107298c600a61197b565b9750610ad061072989602161197b565b9650610adc88886119bd565b9550610ae88b896119bd565b9450610afc8561076c6107298e600161197b565b9450610b108561076c6107298e600161197b565b9450610b248561076c6107998e600161197b565b9450610b388561076c6107998e600161197b565b9450610b43856119cf565b9350604060020a86029250600084118015610b685750601054610b668582611961565b115b1515610b7357600080fd5b600160a060020a038a1615801590610b9d57508b600160a060020a03168a600160a060020a031614155b8015610bc35750600454600160a060020a038b166000908152600a602052604090205410155b15610c0957600160a060020a038a166000908152600b6020526040902054610beb9088611961565b600160a060020a038b166000908152600b6020526040902055610c1f565b610c138688611961565b9550604060020a860292505b60006010541115610c7957610c3660105485611961565b6010819055604060020a8702811515610c4b57fe5b60118054929091049091019055601054604060020a8702811515610c6b57fe5b048402830383039250610c7f565b60108490555b600160a060020a038c166000908152600a6020526040902054610ca29085611961565b600160a060020a03808e166000818152600a6020908152604080832095909555601154600c90915290849020805491890288900391820190559450908c16917f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d5908e9088905191825260208201526040908101905180910390a3600554600160a060020a03166108fc610d396107298e600161197b565b9081150290604051600060405180830381858888f193505050501515610d5e57600080fd5b600654600160a060020a03166108fc610d7b6107298e600161197b565b9081150290604051600060405180830381858888f193505050501515610da057600080fd5b600754600160a060020a03166108fc610dbd6107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610de257600080fd5b600854600160a060020a03166108fc610dff6107998e600161197b565b9081150290604051600060405180830381858888f193505050501515610e2457600080fd5b8398505b50505050505050509392505050565b600160a060020a0381166000908152600c6020908152604080832054600a909252822054601154604060020a929102035b0492915050565b60018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f055780601f10610eda57610100808354040283529160200191610f05565b820191906000526020600020905b815481529060010190602001808311610ee857829003601f168201915b505050505081565b60136020526000908152604090205460ff1681565b6000808080610f3561072986600a61197b565b9250610f4185846119bd565b9150610f4c826119cf565b95945050505050565b6010545b90565b6000806000806010548511151515610f7357600080fd5b610f7c856119d6565b9250610f8c61072984600a61197b565b9150610f4c83836119bd565b600e5460ff1681565b6000543390600160a060020a03808316911614610fbd57600080fd5b50600160a060020a03919091166000908152601360205260409020805460ff1916911515919091179055565b60035460ff1681565b60126020526000908152604090205460ff1681565b60008060006110166001611297565b1161102057600080fd5b33915061102d6000611297565b600160a060020a0383166000818152600c602090815260408083208054604060020a8702019055600b9091528082208054929055920192509082156108fc0290839051600060405180830381858888f19350505050151561108d57600080fd5b81600160a060020a03167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc8260405190815260200160405180910390a25050565b600080600160a060020a03861615156110e657600080fd5b600160a060020a03861660009081526013602052604090205460ff16151560011461111057600080fd5b61111a8686611466565b151561112557600080fd5b61112e866119e1565b156111fa575084600160a060020a03811663c0ee0b8a338787876000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8716028152600160a060020a0385166004820190815260248201859052606060448301908152606483018490529091608401848480828437820191505095505050505050602060405180830381600087803b15156111d457600080fd5b6102c65a03f115156111e557600080fd5b5050506040518051905015156111fa57600080fd5b50600195945050505050565b60005433600160a060020a0390811691161461122157600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6112586119e9565b60408051908101604052600781527f302e3030303035000000000000000000000000000000000000000000000000006020820152905090565b60045481565b600033826112ad576112a881610e37565b6112d1565b600160a060020a0381166000908152600b60205260409020546112cf82610e37565b015b91505b50919050565b600160a060020a0330163190565b600160a060020a03166000908152600a602052604090205490565b6000543390600160a060020a0380831691161461131f57600080fd5b50600455565b61132d6119e9565b60408051908101604052600a81527f302e3030303035353536000000000000000000000000000000000000000000006020820152905090565b60005433600160a060020a0390811691161461138157600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031681565b6000336113cb816112e8565b91505b5090565b60028054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f055780601f10610eda57610100808354040283529160200191610f05565b6000543390600160a060020a0380831691161461145957600080fd5b50600e805460ff19169055565b6000806000806000806114776113bf565b1161148157600080fd5b600e5433945060ff161580156114af5750600160a060020a0384166000908152600a60205260409020548611155b15156114ba57600080fd5b6114c861072987600561197b565b92506114d486846119bd565b91506114df836119d6565b90506114ed601054846119bd565b601055600160a060020a0384166000908152600a602052604090205461151390876119bd565b600160a060020a038086166000908152600a602052604080822093909355908916815220546115429083611961565b600160a060020a038881166000818152600a602090815260408083209590955560118054948a168352600c9091528482208054948c029094039093558254918152929092208054928502909201909155546010546115b19190604060020a84028115156115ab57fe5b04611961565b601155600160a060020a038088169085167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a35060019695505050505050565b60005433600160a060020a0390811691161461161d57600080fd5b6006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000543390600160a060020a0380831691161461166857600080fd5b600282805161167b9291602001906119fb565b505050565b6000543390600160a060020a0380831691161461169c57600080fd5b600182805161167b9291602001906119fb565b60006116bc833484610656565b9392505050565b6000543390600160a060020a038083169116146116df57600080fd5b506000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008060008060008060006117226113bf565b1161172c57600080fd5b33600160a060020a0381166000908152600a602052604090205490965087111561175557600080fd5b869450611761856119d6565b935061177161072985600a61197b565b925061177d84846119bd565b915061178b601054866119bd565b601055600160a060020a0386166000908152600a60205260409020546117b190866119bd565b600160a060020a0387166000908152600a6020908152604080832093909355601154600c9091529181208054928802604060020a86020192839003905560105491925090111561181857611814601154601054604060020a86028115156115ab57fe5b6011555b85600160a060020a03167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a31139868460405191825260208201526040908101905180910390a250505050505050565b33600160a060020a0381166000908152600a602052604081205490811115611890576118908161170f565b611898611007565b5050565b60006112d4333484610656565b6000806000806118b96001611297565b116118c357600080fd5b6118cd6000611297565b33600160a060020a0381166000908152600c602090815260408083208054604060020a8702019055600b9091528120805490829055909201945092506119169083908590610656565b905081600160a060020a03167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab3615326458848360405191825260208201526040908101905180910390a2505050565b60008282018381101561197057fe5b8091505b5092915050565b60008083151561198e5760009150611974565b5082820282848281151561199e57fe5b041461197057fe5b60008082848115156119b457fe5b04949350505050565b6000828211156119c957fe5b50900390565b614e200290565b6000614e2082610e68565b6000903b1190565b60206040519081016040526000815290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611a3c57805160ff1916838001178555611a69565b82800160010185558215611a69579182015b82811115611a69578251825591602001919060010190611a4e565b506113ce92610f599250905b808211156113ce5760008155600101611a755600a165627a7a723058200b39eb2cca49e5e734deec1255cfce212247bb8261c7d1715fff3524d68e36b90029
Deployed Bytecode Sourcemap
675:26545:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9354:42;9369:10;9381:9;9392:3;9354:14;:42::i;:::-;;675:26545;19903:254;;;;;;;;;;-1:-1:-1;;;;;19903:254:0;;;;;;;;;;;;;;;;;;;;2713:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;2713:32:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6098:48;;;;;;;;;;-1:-1:-1;;;;;6098:48:0;;;;;;;;;;;;;;;;;;;;;;20687:417;;;;;;;;;;;;;;18500:122;;;;;;;;;;;;21226:433;;;;;;;;;;;;;;4516:34;;;;;;;;;;;;17576:157;;;;;;;;;;-1:-1:-1;;;;;17576:157:0;;;;;;;;;;;2787:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5983:46;;;;;;;;;;;;;;10736:678;;;;;;;;;;;;14964:524;;;;;;;;;;;;;-1:-1:-1;;;;;14964:524:0;;;;;;;;;;;;;;;;16611:144;;;;;;;;;;-1:-1:-1;;;;;16611:144:0;;;;;20239:123;;;;;;;;;;;;3189:43;;;;;;;;;;;;19245:310;;;;;;;;;;;;;;;;18301:128;;;;;;;;;;;;19643:169;;;;;;;;;;-1:-1:-1;;;;;19643:169:0;;;;;17307:161;;;;;;;;;;;;;;20445:121;;;;;;;;;;;;16851:127;;;;;;;;;;-1:-1:-1;;;;;16851:127:0;;;;;2686:20;;;;;;;;;;;;;;;-1:-1:-1;;;;;2686:20:0;;;;;;;;;;;;;;18701:182;;;;;;;;;;;;2752:28;;;;;;;;;;;;16160:123;;;;;;;;;;;;12940:1690;;;;;;;;;;-1:-1:-1;;;;;12940:1690:0;;;;;;;16379:143;;;;;;;;;;-1:-1:-1;;;;;16379:143:0;;;;;17985:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17985:120:0;;-1:-1:-1;17985:120:0;;-1:-1:-1;;;;;;17985:120:0;17804:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17804:112:0;;-1:-1:-1;17804:112:0;;-1:-1:-1;;;;;;17804:112:0;8629:179;;-1:-1:-1;;;;;8629:179:0;;;;;;;;;;17070:129;;;;;;;;;;-1:-1:-1;;;;;17070:129:0;;;;;11482:1316;;;;;;;;;;;;;;10343:320;;;;;;;;;;;;8947:168;;-1:-1:-1;;;;;8947:168:0;;;;;9488:785;;;;;;;;;;;;21831:4523;22007:7;22057:27;22162:22;22264:18;22345:22;23028:23;23098:12;25587:22;21953:17;4915:15;;4908:3;:22;;4904:78;;;4947:15;:23;;-1:-1:-1;;4947:23:0;;;4904:78;5097:15;;;;5094:716;;;-1:-1:-1;;;;;5228:10:0;5215:24;;;;;:12;:24;;;;;;;;:32;;:24;:32;:238;;;;-1:-1:-1;;;;;;5395:10:0;5367:39;;;;;:27;:39;;;;;;3921:7;5367:59;;;5366:87;;5215:238;5128:359;;;;;;;;-1:-1:-1;;;;;5649:10:0;5621:39;;;;;:27;:39;;;;;;5608:72;;5662:17;5608:12;:72::i;:::-;-1:-1:-1;;;;;5594:10:0;5566:39;;;;;:27;:39;;;;;:114;22087:64;22100:45;22113:17;2860:2;22100:12;:45::i;:::-;22147:3;22087:12;:64::i;:::-;22057:94;-1:-1:-1;22187:66:0;22200:47;22057:94;2955:2;22200:12;:47::i;22187:66::-;22162:91;;22285:49;22298:19;22319:14;22285:12;:49::i;:::-;22264:70;;22370:52;22383:17;22402:19;22370:12;:52::i;:::-;22345:77;;22563:83;22576:14;22592:53;22605:34;22618:17;22637:1;22605:12;:34::i;22592:53::-;22563:12;:83::i;:::-;22546:100;;22680:83;22693:14;22709:53;22722:34;22735:17;22754:1;22722:12;:34::i;22680:83::-;22663:100;;22797:83;22810:14;22826:53;22839:34;22852:17;22871:1;22839:12;:34::i;:::-;22875:3;22826:12;:53::i;22797:83::-;22780:100;;22916:83;22929:14;22945:53;22958:34;22971:17;22990:1;22958:12;:34::i;22916:83::-;22899:100;;23054:33;23072:14;23054:17;:33::i;:::-;23028:59;;-1:-1:-1;;;23113:10:0;:22;23098:37;;23507:1;23489:15;:19;:82;;;;-1:-1:-1;23558:12:0;;23513:42;23526:15;23558:12;23513;:42::i;:::-;:57;23489:82;23481:91;;;;;;;;-1:-1:-1;;;;;23705:57:0;;;;;;:136;;;23825:16;-1:-1:-1;;;;;23810:31:0;:11;-1:-1:-1;;;;;23810:31:0;;;23705:136;:345;;;;-1:-1:-1;24032:18:0;;-1:-1:-1;;;;;23996:32:0;;;;;;:19;:32;;;;;;:54;;23705:345;23643:809;;;-1:-1:-1;;;;;24159:29:0;;;;;;:16;:29;;;;;;24146:59;;24190:14;24146:12;:59::i;:::-;-1:-1:-1;;;;;24114:29:0;;;;;;:16;:29;;;;;:91;23643:809;;;24356:40;24369:10;24381:14;24356:12;:40::i;:::-;24343:53;;-1:-1:-1;;;24418:10:0;:22;24411:29;;23643:809;24541:1;24526:12;;:16;24523:671;;;24626:43;24639:12;;24653:15;24626:12;:43::i;:::-;24611:12;:58;;;-1:-1:-1;;;24831:22:0;;:39;;;;;;;24811:15;:60;;24831:39;;;;24811:60;;;;;25054:12;;-1:-1:-1;;;25028:22:0;;:39;;;;;;;;25009:15;:59;25003:4;:66;24995:4;:75;24988:82;;24523:671;;;25152:12;:30;;;24523:671;-1:-1:-1;;;;;25343:37:0;;;;;;:19;:37;;;;;;25330:68;;25382:15;25330:12;:68::i;:::-;-1:-1:-1;;;;;25290:37:0;;;;;;;:19;:37;;;;;;;;:108;;;;25623:15;;25676:10;:28;;;;;;;:47;;25623:33;;;25622:42;;;25676:47;;;;;25622:42;-1:-1:-1;25767:82:0;;;;;;25801:17;;25641:15;;25767:82;;;;;;;;;;;;;;;;;;;25925:16;;-1:-1:-1;;;;;25925:16:0;:80;25951:53;25964:34;25977:17;25925:16;25964:12;:34::i;25951:53::-;25925:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26022:17;;-1:-1:-1;;;;;26022:17:0;:81;26049:53;26062:34;26075:17;26022;26062:12;:34::i;26049:53::-;26022:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26120:15;;-1:-1:-1;;;;;26120:15:0;:79;26145:53;26158:34;26171:17;26120:15;26158:12;:34::i;26145:53::-;26120:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26218:13;;-1:-1:-1;;;;;26218:13:0;:77;26241:53;26254:34;26267:17;26218:13;26254:12;:34::i;26241:53::-;26218:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26331:15;26324:22;;5094:716;;;5761:15;:21;;-1:-1:-1;;5761:21:0;;;22087:64;22100:45;22113:17;2860:2;22100:12;:45::i;22087:64::-;22057:94;-1:-1:-1;22187:66:0;22200:47;22057:94;2955:2;22200:12;:47::i;22187:66::-;22162:91;;22285:49;22298:19;22319:14;22285:12;:49::i;:::-;22264:70;;22370:52;22383:17;22402:19;22370:12;:52::i;:::-;22345:77;;22563:83;22576:14;22592:53;22605:34;22618:17;22637:1;22605:12;:34::i;22563:83::-;22546:100;;22680:83;22693:14;22709:53;22722:34;22735:17;22754:1;22722:12;:34::i;22680:83::-;22663:100;;22797:83;22810:14;22826:53;22839:34;22852:17;22871:1;22839:12;:34::i;22797:83::-;22780:100;;22916:83;22929:14;22945:53;22958:34;22971:17;22990:1;22958:12;:34::i;22916:83::-;22899:100;;23054:33;23072:14;23054:17;:33::i;:::-;23028:59;;-1:-1:-1;;;23113:10:0;:22;23098:37;;23507:1;23489:15;:19;:82;;;;-1:-1:-1;23558:12:0;;23513:42;23526:15;23558:12;23513;:42::i;:::-;:57;23489:82;23481:91;;;;;;;;-1:-1:-1;;;;;23705:57:0;;;;;;:136;;;23825:16;-1:-1:-1;;;;;23810:31:0;:11;-1:-1:-1;;;;;23810:31:0;;;23705:136;:345;;;;-1:-1:-1;24032:18:0;;-1:-1:-1;;;;;23996:32:0;;;;;;:19;:32;;;;;;:54;;23705:345;23643:809;;;-1:-1:-1;;;;;24159:29:0;;;;;;:16;:29;;;;;;24146:59;;24190:14;24146:12;:59::i;:::-;-1:-1:-1;;;;;24114:29:0;;;;;;:16;:29;;;;;:91;23643:809;;;24356:40;24369:10;24381:14;24356:12;:40::i;:::-;24343:53;;-1:-1:-1;;;24418:10:0;:22;24411:29;;23643:809;24541:1;24526:12;;:16;24523:671;;;24626:43;24639:12;;24653:15;24626:12;:43::i;:::-;24611:12;:58;;;-1:-1:-1;;;24831:22:0;;:39;;;;;;;24811:15;:60;;24831:39;;;;24811:60;;;;;25054:12;;-1:-1:-1;;;25028:22:0;;:39;;;;;;;;25009:15;:59;25003:4;:66;24995:4;:75;24988:82;;24523:671;;;25152:12;:30;;;24523:671;-1:-1:-1;;;;;25343:37:0;;;;;;:19;:37;;;;;;25330:68;;25382:15;25330:12;:68::i;:::-;-1:-1:-1;;;;;25290:37:0;;;;;;;:19;:37;;;;;;;;:108;;;;25623:15;;25676:10;:28;;;;;;;:47;;25623:33;;;25622:42;;;25676:47;;;;;25622:42;-1:-1:-1;25767:82:0;;;;;;25801:17;;25641:15;;25767:82;;;;;;;;;;;;;;;;;;;25925:16;;-1:-1:-1;;;;;25925:16:0;:80;25951:53;25964:34;25977:17;25925:16;25964:12;:34::i;25951:53::-;25925:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26022:17;;-1:-1:-1;;;;;26022:17:0;:81;26049:53;26062:34;26075:17;26022;26062:12;:34::i;26049:53::-;26022:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26120:15;;-1:-1:-1;;;;;26120:15:0;:79;26145:53;26158:34;26171:17;26120:15;26158:12;:34::i;26145:53::-;26120:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26218:13;;-1:-1:-1;;;;;26218:13:0;:77;26241:53;26254:34;26267:17;26218:13;26254:12;:34::i;26241:53::-;26218:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26331:15;26324:22;;5797:1;21831:4523;;;;;;;;;;;;;:::o;19903:254::-;-1:-1:-1;;;;;20108:28:0;;19997:7;20108:28;;;:10;:28;;;;;;;;;20067:19;:37;;;;;;20049:15;;-1:-1:-1;;;3122:5:0;20049:55;;20040:96;20029:120;;;19903:254;-1:-1:-1;;19903:254:0:o;2713:32::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6098:48::-;;;;;;;;;;;;;;;:::o;20687:417::-;20796:7;;;;20842:63;20855:44;20868:16;2860:2;20855:12;:44::i;20842:63::-;20821:84;;20941:42;20954:16;20972:10;20941:12;:42::i;:::-;20916:67;;21020:33;21038:14;21020:17;:33::i;:::-;20994:59;20687:417;-1:-1:-1;;;;;20687:417:0:o;18500:122::-;18602:12;;18500:122;;:::o;21226:433::-;21334:7;21408:17;21471:18;21559:22;21384:12;;21367:13;:29;;21359:38;;;;;;;;21428:32;21446:13;21428:17;:32::i;:::-;21408:52;-1:-1:-1;21492:56:0;21505:37;21408:52;2860:2;21505:12;:37::i;21492:56::-;21471:77;;21584:35;21597:9;21608:10;21584:12;:35::i;4516:34::-;;;;;;:::o;17576:157::-;1591:24;1661:5;1618:10;;-1:-1:-1;;;;;1647:19:0;;;1661:5;;1647:19;1639:28;;;;;;-1:-1:-1;;;;;;17690:26:0;;;;;;;;:16;:26;;;;;:35;;-1:-1:-1;;17690:35:0;;;;;;;;;;17576:157::o;2787:27::-;;;;;;:::o;5983:46::-;;;;;;;;;;;;;;;:::o;10736:678::-;10838:24;10886:18;1050:1;1030:17;1042:4;1030:11;:17::i;:::-;:21;1022:30;;;;;;10865:10;10838:37;;10907:18;10919:5;10907:11;:18::i;:::-;-1:-1:-1;;;;;11018:28:0;;;;;;:10;:28;;;;;;;;:66;;-1:-1:-1;;;11061:22:0;;11018:66;;;11146:16;:34;;;;;;;;11191:38;;;11132:48;;;-1:-1:-1;11018:28:0;11285:37;;;;;11132:48;;11285:37;;;;;;;;;;;;;;;;;;;;;;;;;11377:16;-1:-1:-1;;;;;11366:40:0;;11395:10;11366:40;;;;;;;;;;;;;;10736:678;;:::o;14964:524::-;15049:4;;-1:-1:-1;;;;;15072:17:0;;;;15064:26;;;;;;-1:-1:-1;;;;;15107:21:0;;;;;;:16;:21;;;;;;;;:29;;:21;:29;15099:38;;;;;;15220:21;15229:3;15234:6;15220:8;:21::i;:::-;15212:30;;;;;;;;15301:15;15312:3;15301:10;:15::i;:::-;15297:164;;;-1:-1:-1;15378:3:0;-1:-1:-1;;;;;15401:22:0;;;15424:10;15436:6;15444:5;;15401:49;;;;;;;;;;;;;;;-1:-1:-1;;;;;15401:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15393:58;;;;;;;;-1:-1:-1;15476:4:0;;14964:524;-1:-1:-1;;;;;14964:524:0:o;16611:144::-;16686:5;;16693:10;-1:-1:-1;;;;;16686:17:0;;;:5;;:17;16678:26;;;;;;16715:15;:32;;-1:-1:-1;;16715:32:0;-1:-1:-1;;;;;16715:32:0;;;;;;;;;;16611:144::o;20239:123::-;20310:6;;:::i;:::-;20338:16;;;;;;;;;;;;;;;;;-1:-1:-1;20239:123:0;:::o;3189:43::-;;;;:::o;19245:310::-;19344:7;19396:10;19424:21;:122;;19517:29;19529:16;19517:11;:29::i;:::-;19424:122;;;-1:-1:-1;;;;;19480:34:0;;;;;;:16;:34;;;;;;19448:29;19497:16;19448:11;:29::i;:::-;:66;19424:122;19417:129;;19245:310;;;;;:::o;18301:128::-;-1:-1:-1;;;;;18409:4:0;:12;;18301:128;:::o;19643:169::-;-1:-1:-1;;;;;19767:37:0;19735:7;19767:37;;;:19;:37;;;;;;;19643:169::o;17307:161::-;1591:24;1661:5;1618:10;;-1:-1:-1;;;;;1647:19:0;;;1661:5;;1647:19;1639:28;;;;;;-1:-1:-1;17424:18:0;:36;17307:161::o;20445:121::-;20515:6;;:::i;:::-;20539:19;;;;;;;;;;;;;;;;;-1:-1:-1;20445:121:0;:::o;16851:127::-;16916:5;;16923:10;-1:-1:-1;;;;;16916:17:0;;;:5;;:17;16908:26;;;;;;16945:13;:25;;-1:-1:-1;;16945:25:0;-1:-1:-1;;;;;16945:25:0;;;;;;;;;;16851:127::o;2686:20::-;;;-1:-1:-1;;;;;2686:20:0;;:::o;18701:182::-;18768:7;18820:10;18848:27;18820:10;18848:9;:27::i;:::-;18841:34;;18701:182;;;:::o;2752:28::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16160:123;1591:24;1661:5;1618:10;;-1:-1:-1;;;;;1647:19:0;;;1661:5;;1647:19;1639:28;;;;;;-1:-1:-1;16252:15:0;:23;;-1:-1:-1;;16252:23:0;;;16160:123::o;12940:1690::-;13062:4;13102:24;13533:17;13626:20;13700:18;917:1;904:10;:8;:10::i;:::-;:14;896:23;;;;;;13331:15;;13129:10;;-1:-1:-1;13331:15:0;;13330:16;:76;;;;-1:-1:-1;;;;;;13369:37:0;;;;;;:19;:37;;;;;;13350:56;;;13330:76;13322:85;;;;;;;;13553:62;13566:43;13579:15;2908:1;13566:12;:43::i;13553:62::-;13533:82;;13649:40;13662:15;13679:9;13649:12;:40::i;:::-;13626:63;;13721:28;13739:9;13721:17;:28::i;:::-;13700:49;;13811:37;13824:12;;13838:9;13811:12;:37::i;:::-;13796:12;:52;-1:-1:-1;;;;;13942:37:0;;;;;;:19;:37;;;;;;13929:68;;13981:15;13929:12;:68::i;:::-;-1:-1:-1;;;;;13889:37:0;;;;;;;:19;:37;;;;;;:108;;;;14055:31;;;;;;;14042:59;;14088:12;14042;:59::i;:::-;-1:-1:-1;;;;;14008:31:0;;;;;;;:19;:31;;;;;;;;:93;;;;14201:15;;;14159:28;;;;;:10;:28;;;;;;:76;;14201:33;;;14159:76;;;;;;14282:15;;14246:22;;;;;;;:67;;14282:30;;;14246:67;;;;;;14410:15;14454:12;;14397:70;;14410:15;-1:-1:-1;;;14428:22:0;;14427:39;;;;;;;;14397:12;:70::i;:::-;14379:15;:88;-1:-1:-1;;;;;14511:52:0;;;;;;;14550:12;14511:52;;;;;;;;;;;;;;-1:-1:-1;14609:4:0;;12940:1690;-1:-1:-1;;;;;;12940:1690:0:o;16379:143::-;16452:5;;16459:10;-1:-1:-1;;;;;16452:17:0;;;:5;;:17;16444:26;;;;;;16481:17;:33;;-1:-1:-1;;16481:33:0;-1:-1:-1;;;;;16481:33:0;;;;;;;;;;16379:143::o;17985:120::-;1591:24;1661:5;1618:10;;-1:-1:-1;;;;;1647:19:0;;;1661:5;;1647:19;1639:28;;;;;;18081:6;18090:7;;18081:16;;;;;;;;:::i;:::-;;17985:120;;:::o;17804:112::-;1591:24;1661:5;1618:10;;-1:-1:-1;;;;;1647:19:0;;;1661:5;;1647:19;1639:28;;;;;;17896:4;17903:5;;17896:12;;;;;;;;:::i;8629:179::-;8716:7;8743:57;8758:16;8776:9;8787:11;8743:14;:57::i;:::-;8736:64;8629:179;-1:-1:-1;;;8629:179:0:o;17070:129::-;1591:24;1661:5;1618:10;;-1:-1:-1;;;;;1647:19:0;;;1661:5;;1647:19;1639:28;;;;;;-1:-1:-1;17175:5:0;:16;;-1:-1:-1;;17175:16:0;-1:-1:-1;;;;;17175:16:0;;;;;;;;;;17070:129::o;11482:1316::-;11602:24;11759:15;11803:17;11857:18;11945:22;12278;917:1;904:10;:8;:10::i;:::-;:14;896:23;;;;;;11629:10;-1:-1:-1;;;;;11710:37:0;;;;;;:19;:37;;;;;;11629:10;;-1:-1:-1;11691:56:0;;;11683:65;;;;;;11777:15;11759:33;;11823:26;11841:7;11823:17;:26::i;:::-;11803:46;-1:-1:-1;11878:56:0;11891:37;11803:46;2860:2;11891:12;:37::i;11878:56::-;11857:77;;11970:35;11983:9;11994:10;11970:12;:35::i;:::-;11945:60;;12074:35;12087:12;;12101:7;12074:12;:35::i;:::-;12059:12;:50;-1:-1:-1;;;;;12173:37:0;;;;;;:19;:37;;;;;;12160:60;;12212:7;12160:12;:60::i;:::-;-1:-1:-1;;;;;12120:37:0;;;;;;:19;:37;;;;;;;;:100;;;;12313:15;;12381:10;:28;;;;;;:47;;12313:25;;;-1:-1:-1;;;12342:26:0;;12313:56;12381:47;;;;;;12503:12;;12313:56;;-1:-1:-1;12503:16:0;;12499:194;;;12611:70;12624:15;;12668:12;;-1:-1:-1;;;12642:10:0;:22;12641:39;;;;;;12611:70;12593:15;:88;12499:194;12748:16;-1:-1:-1;;;;;12736:54:0;;12766:7;12775:14;12736:54;;;;;;;;;;;;;;;;;;;;11482:1316;;;;;;;:::o;10343:320::-;10473:10;-1:-1:-1;;;;;10512:37:0;;10446:24;10512:37;;;:19;:37;;;;;;;10563:11;;10560:29;;;10576:13;10581:7;10576:4;:13::i;:::-;10645:10;:8;:10::i;:::-;10343:320;;:::o;8947:168::-;9031:7;9056:50;9071:10;9083:9;9094:11;9056:14;:50::i;9488:785::-;9595:18;9740:24;10101:15;1050:1;1030:17;1042:4;1030:11;:17::i;:::-;:21;1022:30;;;;;;9616:18;9628:5;9616:11;:18::i;:::-;9767:10;-1:-1:-1;;;;;9788:28:0;;;;;;:10;:28;;;;;;;;:66;;-1:-1:-1;;;9831:22:0;;9788:66;;;9921:16;:34;;;;;;;9966:38;;;;9907:48;;;;-1:-1:-1;9767:10:0;-1:-1:-1;10119:49:0;;9767:10;;9907:48;;10119:14;:49::i;:::-;10101:67;;10227:16;-1:-1:-1;;;;;10212:53:0;;10245:10;10257:7;10212:53;;;;;;;;;;;;;;;;;;;;9488:785;;;:::o;28332:147::-;28390:7;28422:5;;;28445:6;;;;28438:14;;;;28470:1;28463:8;;28332:147;;;;;;:::o;27417:208::-;27475:7;;27499:6;;27495:47;;;27529:1;27522:8;;;;27495:47;-1:-1:-1;27564:5:0;;;27568:1;27564;:5;27587;;;;;;;;:10;27580:18;;;27720:288;27778:7;27877:9;27893:1;27889;:5;;;;;;;;;27720:288;-1:-1:-1;;;;27720:288:0:o;28134:123::-;28192:7;28219:6;;;;28212:14;;;;-1:-1:-1;28244:5:0;;;28134:123::o;26650:154::-;26790:5;26778:17;;26650:154::o;27067:150::-;27160:7;27203:5;27193:7;:15;;15693:266;15754:16;15904:18;;15940:10;;15693:266::o;675:26545::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;675:26545:0;;;;-1:-1:-1;675:26545:0;;;;;;;;;;;;;;
Swarm Source
bzzr://0b39eb2cca49e5e734deec1255cfce212247bb8261c7d1715fff3524d68e36b9
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.