Contract 0xdDf9021D485d7C169B3555Eb4c695F795491fe2e 3

Contract Overview

Balance:
55,427.139712732886272527 CRO

CRO Value:
$6,290.98 (@ $0.11/CRO)

Token:
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xff78d86b5cea581e8ca736f78ab0cdf9643a0f39fe1724c5c45bb634301d1fe2Deposit48306382022-09-27 18:12:3221 hrs 58 mins ago0x66bc3025dd6459690eb6558dc6d6312c3c125f5a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e30 CRO0.647003082406 4,911.174823375
0xfbfd540e3dbc167bc63ba46546334f4f8b668cf176eed4cb9b827ab742cae8b3Compound48273582022-09-27 13:01:061 day 3 hrs ago0xf2c579082fe10d57331d0cd66843c4d6777ea48a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.781205013889 4,911.323973603
0x630a737e991a14a4908151484fc32937289be4d2d2f09de25644bdef73b5266fDeposit48273442022-09-27 12:59:461 day 3 hrs ago0xf2c579082fe10d57331d0cd66843c4d6777ea48a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e300 CRO0.667650378881 4,911.324610543
0xaafa162a9c535e4f642db0752734fee65dc2274431ebb27c3341f58cdc52236bDeposit48214972022-09-27 3:44:231 day 12 hrs ago0x66bc3025dd6459690eb6558dc6d6312c3c125f5a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e10 CRO0.647179979384 4,912.517586663
0x312c0c1db2b253b2b9ee47cda4c69873b5b8c6cb41ee4669fd3f52310c80ec73Compound48176872022-09-26 21:43:121 day 18 hrs ago0x6596ebac66caa235562380443061199b014ac088 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.728228543787 4,911.767976878
0x9f3e73ff16976d35fbe370462c7b3c2f001b6a7a171eb7c64e281ce9b622d3d5Harvest48052742022-09-26 2:06:442 days 14 hrs ago0x03e7df1e38f925adb2c43165f732775046b8587d IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.377007116656 4,912.336855601
0xe27d4a1b45e8f860e6ada39e3ca9f60ce20acfbc378691c568b2a2e82c05cb90Compound47990142022-09-25 16:12:442 days 23 hrs ago0xf2bf1c9872670ecdf6c732c7575f899106ea39e8 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.707722347668 4,912.623368189
0x9a6557189a3e1f4d71411b73ad72a344c3ed69f12fdad247f9a8f924c5741ddcDeposit47892042022-09-25 0:43:343 days 15 hrs ago0x66bc3025dd6459690eb6558dc6d6312c3c125f5a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e20 CRO0.647253686121 4,913.077068804
0x224bfe4ea7d17ee0895479059a81477b1a871b9dd13dbf3f410fdee8e2ca74f4Deposit47739532022-09-24 0:38:214 days 15 hrs ago0x66bc3025dd6459690eb6558dc6d6312c3c125f5a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e10 CRO0.647346068862 4,913.77831398
0x7f3c11820e9419bffd3fa6bc1d9708197fe81b9292109f9f9f32c9ad556e0110Compound47710052022-09-23 19:58:484 days 20 hrs ago0xe636ead63e11e049b50ea87d1d595057cd0053ea IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.707908025781 4,913.9122446
0x8f2185ba017f2a50443841e63baea3f15b697806446a67d7964f03d65a48bda9Compound47630902022-09-23 7:26:425 days 8 hrs ago0x80059ad3c71295a2b1f8cfbfe00a5c1545f838f1 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.781673323985 4,914.268172071
0x19cf395c613ff81fa5337d3825cd0397d10444dec6061184ba5310409a1e6d44Harvest47521432022-09-22 14:09:016 days 2 hrs ago0x5c15fe8c349d46006dbdec40e249cceea2963748 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.524636427404 4,914.765074473
0x241fab87e7a695a7528a7b7851bc858f297639bec053c33894123869eb1e5151Withdraw47521322022-09-22 14:07:596 days 2 hrs ago0x5c15fe8c349d46006dbdec40e249cceea2963748 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.5699506189 4,914.765570385
0xbf501272f47706efaab9bd97d0bfafce8c18388eda946a61f1075b57b53a8bb1Deposit47365802022-09-21 13:36:067 days 2 hrs ago0x5c15fe8c349d46006dbdec40e249cceea2963748 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e15 CRO1.075869754582 4,915.475362914
0xcf070ec06e36cad17b26c95fb2fa44feaeedb24d602904f25a944522e68a634bCompound47316272022-09-21 5:48:287 days 10 hrs ago0x0edb17996dabd08ae5551bafca04085932a32b4b IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.708166271576 4,915.704846364
0x9c894c8c3426b3558542dd7476518d959be250edc70fb88b44244f06f9e25217Deposit47229462022-09-20 16:08:288 days 2 mins ago0x66bc3025dd6459690eb6558dc6d6312c3c125f5a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e15 CRO0.647652801108 4,916.106611521
0xa680f350e001d6a8f50e19b9fbeee3e25096a60cf456b953eb27c73e998437aeDeposit47160392022-09-20 5:15:298 days 10 hrs ago0x66bc3025dd6459690eb6558dc6d6312c3c125f5a IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e10 CRO0.647694997876 4,916.426912474
0x95141aae70d90b58ff569a7b7a99d0eaccc3e5f92dceed70ca3f69c7d59af629Harvest47159292022-09-20 5:05:058 days 11 hrs ago0xecf45bf53c17e3e7a1e217ceeafe43a989d388da IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.377321415204 4,916.432110762
0xa52ce580eaefabfb6de3cf9b431248a57d038aa9c97f50b8ca4b6da62137b20bCompound47155082022-09-20 4:25:198 days 11 hrs ago0xf9aa2b8b6fc1ba884a10a677767cef449e529c72 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.698440972043 4,916.451774884
0xe86a2e8a72ba82e6b4e916e5719e23f27f52094b46abd0929ed207dd611c2693Harvest47096852022-09-19 19:14:448 days 20 hrs ago0xac55245507ffe057701f0107b99ed6d2207d94bf IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.377343589786 4,916.72104169
0x7eb0ab1d2569ea35e634f0fa904f0bf72ffb622a741d3a1750659da12c025702Withdraw47096822022-09-19 19:14:278 days 20 hrs ago0xac55245507ffe057701f0107b99ed6d2207d94bf IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.570177404553 4,916.721175451
0x94b91a3566fdb3858e11f91b6e9543da5b29b939893a6a4fdc3dc38ed0c587f7Harvest47096222022-09-19 19:08:468 days 21 hrs ago0xac55245507ffe057701f0107b99ed6d2207d94bf IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.524845521925 4,916.723860393
0xf2f30c57ff017b70b6d13ddf0c1857fcd89afd54871a31ecd6436950e8d62e9aCompound47096132022-09-19 19:07:558 days 21 hrs ago0xac55245507ffe057701f0107b99ed6d2207d94bf IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.70831313242 4,916.724274413
0x187542613041c751b71db0cc029f4b2c920a2e32035d07f65e5703403cf2e89fCompound47087322022-09-19 17:44:258 days 22 hrs ago0x2f0500ffbbe8c7522cb7c90fac4a9a42cdb5bd0e IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.782070297514 4,916.763887757
0x3698e2cabf53ef51917f60e37c22ba5b0c4d967a4ea617bf5f1a678d21a39df0Compound46994082022-09-19 3:02:229 days 13 hrs ago0x805ab080bf10c8a08d3dea7c69fbcb45cc6d6b25 IN  0xddf9021d485d7c169b3555eb4c695f795491fe2e0 CRO0.782138489938 4,917.192603757
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x9f3e73ff16976d35fbe370462c7b3c2f001b6a7a171eb7c64e281ce9b622d3d548052742022-09-26 2:06:442 days 14 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x03e7df1e38f925adb2c43165f732775046b8587d23.928317133431319541 CRO
0x19cf395c613ff81fa5337d3825cd0397d10444dec6061184ba5310409a1e6d4447521432022-09-22 14:09:016 days 2 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x5c15fe8c349d46006dbdec40e249cceea296374812.150865092672131069 CRO
0x95141aae70d90b58ff569a7b7a99d0eaccc3e5f92dceed70ca3f69c7d59af62947159292022-09-20 5:05:058 days 11 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xecf45bf53c17e3e7a1e217ceeafe43a989d388da27.147498266372922392 CRO
0xe86a2e8a72ba82e6b4e916e5719e23f27f52094b46abd0929ed207dd611c269347096852022-09-19 19:14:448 days 20 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xac55245507ffe057701f0107b99ed6d2207d94bf1,155.8352161466273455 CRO
0x94b91a3566fdb3858e11f91b6e9543da5b29b939893a6a4fdc3dc38ed0c587f747096222022-09-19 19:08:468 days 21 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xac55245507ffe057701f0107b99ed6d2207d94bf0.070064429373438612 CRO
0xfcc3def286135f8f6a94a9a654d3b3b464b86519f48204c6e945892fb23b06d946894582022-09-18 11:21:0210 days 4 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xe636ead63e11e049b50ea87d1d595057cd0053ea28.967923358581564407 CRO
0x499eafacb7746cc6b96f1b27a0c2fb3250e9daeb5d69e1d5e57ea46d5491f90346875522022-09-18 8:21:0510 days 7 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x93f9a0f08ec55d4409f921d7e524d16df848934f188.824485303371982603 CRO
0x8f41a9e946dd32e8cd2095bdce9855d6079d66173ddb323b89ae8a6931c385fb46866602022-09-18 6:56:5410 days 9 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x1c55c15dd1cd42f6e0b0187f47c9b49e4b96ad7412.565731439170444697 CRO
0xbfb17bc372d9a450a2acaadd0d61f694225c21f9594fcc2d622a7082be8f8a3146804762022-09-17 21:13:3010 days 18 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x80c17147571d340b0538139f4221335103f83171289.353451215968442795 CRO
0xa1e7c6ef785e88169921b643a7aed58492a45d05609dfc48ea411e0bd50aad3746633212022-09-16 18:12:5011 days 21 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x98ee774412637377097eb34b51e8be83b2add7b34,946.123942869742998833 CRO
0x0e2533f6daf735693d821773cb57e17b1da508a707562ea5b349375e7d6260fa46417772022-09-15 8:15:5813 days 7 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xf2c579082fe10d57331d0cd66843c4d6777ea48a29.452851219026083844 CRO
0xb2786d05ac2e1683f0464c8bd1840e4f2cdaca53a61e99c5873e5ca191c04bd946083002022-09-13 3:27:5815 days 12 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x1b2d2d1ff82ab1a880c47387b55e298f495f0b82877.088924831092246843 CRO
0x55b626d0ad85738bebf306660fbdb58ed4236cb9eb10e3ede74ea8edd7c02b2846062482022-09-13 0:14:1715 days 15 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xf2c579082fe10d57331d0cd66843c4d6777ea48a58.896641971493240344 CRO
0xf6342b6baabeb8b451d3e44ccd472ed413f3ae4230041c1bd14fa56ec300f51646000572022-09-12 14:29:2316 days 1 hr ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xb1fc41cbad16cafdfc2ed196c7fe515dfb6a1577104.070814903482011254 CRO
0xe684c31e20eee20d7c288714eb406193be4e712d05f49594685c272994829ecf45543572022-09-09 14:34:3019 days 1 hr ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xb2f53f96eb85f6c1b4b5b23f392d8c20964dc2b460.230048055371787473 CRO
0xc5da871ea495cd16a801c6fda6550228cdd644b3603fdee357968bf3cea982a445455252022-09-09 0:40:4119 days 15 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xf2c579082fe10d57331d0cd66843c4d6777ea48a85.652545075331860415 CRO
0x106fc29166a25dbc98b657edb6af694f5e5e10e69f5cb3cade628cfdf68143c945239172022-09-07 14:40:0321 days 1 hr ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xe636ead63e11e049b50ea87d1d595057cd0053ea32.40914063706934557 CRO
0x6337b32795141f4829d0de54d61f1c9a7a0abec4ad144737e6a6df8fd925c28b45094062022-09-06 15:50:0922 days 20 mins ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x161b2d6a78a4a523be6adb47694a303e345471041.309327399587490235 CRO
0x05f86ad4c03834297237c6d3ff1e28128cc79c4747787c84e2ce6525b18b3add44522052022-09-02 21:54:3325 days 18 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x1c094ee1cb1013480fd3871c7bd7ec9e24b6bf54124.140313884371421442 CRO
0x665a7e64c6c94a65d610daca3a5116d069d24012274a4d672ae861bc2ad54f7b44313042022-09-01 12:58:5127 days 3 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xc08caff510f344b8f86d7b862fbae33ed1f64d491,615.695184397731972572 CRO
0xc9595a7af5db57c02eb10f11e85cfbd6388a2cdeb184e8881f581af3cacbb1a544178162022-08-31 15:41:3628 days 29 mins ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xecf45bf53c17e3e7a1e217ceeafe43a989d388da15.932892507536762302 CRO
0xd8bafcb2c4c607299ecdeeeec167e0b9fdd61f1cd08c2c17ecb2282e0f85723b44136072022-08-31 9:03:2428 days 7 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0xf2c579082fe10d57331d0cd66843c4d6777ea48a174.065351394205094354 CRO
0x12447a22ba7ccc41f7ce6c01c4051c83091ea6cf47c2f034c8e2142a136745e243944582022-08-30 2:56:4929 days 13 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x4a62011ef7531ecf2455d9d3f96bf5df739d7d562.796649153362909812 CRO
0xdfdca7ff33005353b583c339b2dac223a4d83118f63b944b7a6244ec9449a49043683082022-08-28 9:52:4431 days 6 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x80c17147571d340b0538139f4221335103f8317132.659337457914863079 CRO
0x35735a6e5cdd97093455281c4aae3e966a195e9cf2723b07629c48950f94803143354142022-08-26 6:11:1633 days 9 hrs ago 0xddf9021d485d7c169b3555eb4c695f795491fe2e0x52af411f863fd97419b6e4decb3a68ffa92468064,674.593700296407578006 CRO
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StronghandsVault

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at cronoscan.com on 2022-01-25
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.6.12;

library SafeMath {
    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;
    }

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

    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) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

contract StronghandsVault {
    struct UserData {
        uint256 deposited;
        uint256 withdrawn;
        uint256 compounded;
        uint256 harvested;
        
        uint256 xDeposited;
        uint256 xWithdrawn;
        uint256 xCompounded;
        uint256 xHarvested;
    }
    
    /*=================================
    =            MODIFIERS            =
    =================================*/
    // only people with tokens
    modifier onlyHolders() {
        require(myTokens() > 0);
        _;
    }
    
    // only people with profits
    modifier onlyStronghands() {
        require(myDividends(true) > 0);
        _;
    }
    
    /*==============================
    =            EVENTS            =
    ==============================*/
    
    // Normal Events
    event onTokenPurchase(address indexed customerAddress, uint256 incomingBase, uint256 tokensMinted, address indexed referredBy);
    event onTokenSell(address indexed customerAddress, uint256 tokensBurned, uint256 baseEarned);
    event onReinvestment(address indexed customerAddress, uint256 baseReinvested, uint256 tokensMinted);
    event onWithdraw(address indexed customerAddress, uint256 baseWithdrawn);
    
    // ERC20 Events
    event Transfer(address indexed from, address indexed to, uint256 tokens);
    
    /*=====================================
    =            CONFIGURABLES            =
    =====================================*/
    
    string public name = "Stronghands CRO3D";
    string public symbol = "CRO3D";
    
    uint8 constant public decimals = 18;
    uint8 constant internal dividendFee_ = 10;
    
    uint256 constant internal tokenPriceInitial_ = 0.0000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.00000001 ether;
    uint256 constant internal magnitude = 2**64;
    
   /*================================
    =            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 => address) internal referrerOf;
    mapping(address => uint256) internal referralsOf_;
    mapping(address => uint256) internal referralEarningsOf_;
    
    mapping(address => UserData) internal userData_;
    
    uint256 internal players;
    uint256 internal tokenSupply_ = 0;
    uint256 internal profitPerShare_;
    
    uint256 internal totalDeposited_;
    uint256 internal totalWithdrawn_;
    uint256 internal totalCompounded_;
    uint256 internal totalHarvested_;
    
    /*=======================================
    =            PUBLIC FUNCTIONS           =
    =======================================*/

    constructor() public {

    }
    
    // Fallback function
    receive() payable external {
        deposit(address(0));
    }
     
    // Converts all incoming base to tokens for the caller, and passes down the referral addy (if any)
    function deposit(address _referredBy) public payable returns (uint256) {

        // If the deposits of msgSender = 0, this is their first deposit.
        if (userData_[msg.sender].deposited == 0) {
            players += 1;
        }
        
        // Deposit Base to the contract, create the tokens.
        purchaseTokens(msg.value, _referredBy);
        
        // Count the referral
        referralsOf_[_referredBy] += 1;
        
        userData_[msg.sender].deposited += msg.value;
        userData_[msg.sender].xDeposited += 1;
        
        totalDeposited_ += msg.value;
        referrerOf[msg.sender] = _referredBy;
    }
    
    // Liquifies tokens to Base.
    function withdraw(uint256 _amountOfTokens) onlyHolders() public {
        
        address _customerAddress = msg.sender;
        
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _base = tokensToBase_(_tokens);
        uint256 _dividends = SafeMath.div(_base, dividendFee_);
        uint256 _taxedBase = SafeMath.sub(_base, _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 + (_taxedBase * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;       
        
        if (tokenSupply_ > 0) {
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }
        
        // Update Stats
        userData_[msg.sender].withdrawn += _dividends;
        userData_[msg.sender].xWithdrawn += 1;
        
        totalWithdrawn_ += _dividends;
        
        // fire event
        emit onTokenSell(_customerAddress, _tokens, _taxedBase);
    }
    
    // Converts all of caller's dividends to tokens.
    function compound() 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(_dividends, referrerOf[_customerAddress]);
        
        // Update stats...
        userData_[msg.sender].deposited += _dividends;
        userData_[msg.sender].compounded += _dividends;
        userData_[msg.sender].xCompounded += 1;
        
        totalCompounded_ += _dividends;
        
        // fire event
        emit onReinvestment(_customerAddress, _dividends, _tokens);
    }

    // Withdraws all of the callers earnings.
    function harvest() onlyStronghands() public {
        // setup data
        address payable _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);
        
        // 
        userData_[msg.sender].harvested += _dividends;
        userData_[msg.sender].xHarvested += 1;
        
        totalHarvested_ += _dividends;
        
        // fire event
        emit onWithdraw(_customerAddress, _dividends);
    }
    
    // Transfer token to a different address. No fees.
    function transfer(address _toAddress, uint256 _amountOfTokens) onlyHolders() public returns (bool) {
        // cant send to 0 address
        require(_toAddress != address(0));
        // setup
        address _customerAddress = msg.sender;

        // make sure we have the requested tokens
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        // withdraw all outstanding dividends first
        if(myDividends(true) > 0) harvest();

        // exchange tokens
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _amountOfTokens);

        // update dividend trackers
        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _amountOfTokens);

        // fire event
        emit Transfer(_customerAddress, _toAddress, _amountOfTokens);
        return true;
    }
        
    // 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) withdraw(_tokens);
        
        // lambo delivery service
        harvest();
    }
    
    /*----------  HELPERS AND CALCULATORS  ----------*/
    
    function myReferrals() public view returns (uint256) {
        return referralsOf(msg.sender);
    }

    function referralsOf(address _user) public view returns (uint256) {
        return referralsOf_[_user];
    }
    
    function myTotalRefEarnings() public view returns (uint256) {
        return totalRefEarningsOf(msg.sender);
    }

    function totalRefEarningsOf(address _user) public view returns (uint256) {
        return referralEarningsOf_[_user];
    }
    
    function contractStats() public view returns (uint256 _totalDeposited, uint256 _totalWithdrawn, uint256 _totalCompounded, uint256 _totalHarvested) {
        return (totalDeposited_, totalWithdrawn_, totalCompounded_, totalHarvested_);
    }
    
    function getAmountStatsOf(address _user) public view returns (uint256 _deposited, uint256 _withdrawn, uint256 _compounded, uint256 _harvested) {
        return (
            userData_[_user].deposited,
            userData_[_user].withdrawn,
            userData_[_user].compounded,
            userData_[_user].harvested
        );
    }
    
    function getRepeatStatsOf(address _user) public view returns (uint256 _xDeposited, uint256 _xWithdrawn, uint256 _xCompounded, uint256 _xHarvested) {
        return (
            userData_[_user].xDeposited,
            userData_[_user].xWithdrawn,
            userData_[_user].xCompounded,
            userData_[_user].xHarvested
        );
    }
    
    //////////////////////////////////////////////////////////////////////////////////////////
    
    // View the current Base stored in the contract
    function totalBaseBalance() public view returns(uint) {
        return address(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);
    }

    function myDividends(bool _includeReferralBonus) public view returns(uint256) {
        address _customerAddress = msg.sender;
        return dividendsOf(_customerAddress,_includeReferralBonus);
    }
    
    // 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,bool _includeReferralBonus) view public returns(uint256) {
        uint256 regularDividends = (uint256) ((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
        if (_includeReferralBonus){
            return regularDividends + referralBalance_[_customerAddress];
        } else {
            return regularDividends;
        }
    }
    
    
    // Return the buy price of 1 individual token.
    function sellPrice() public view returns(uint256) {
        // our calculation relies on the token supply, so we need supply. Doh.
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _base = tokensToBase_(1e18);
            uint256 _dividends = SafeMath.div(_base, dividendFee_  );
            uint256 _taxedBase = SafeMath.sub(_base, _dividends);
            return _taxedBase;
        }
    }
    
    // Return the sell price of 1 individual token.
    function buyPrice() public view returns(uint256) {
        // our calculation relies on the token supply, so we need supply. Doh.
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _base = tokensToBase_(1e18);
            uint256 _dividends = SafeMath.div(_base, dividendFee_  );
            uint256 _taxedBase = SafeMath.add(_base, _dividends);
            return _taxedBase;
        }
    }
    
    // Function for the frontend to dynamically retrieve the price scaling of buy orders.
    function calculateTokensReceived(uint256 _baseToSpend) public view returns(uint256) {
        uint256 _dividends = SafeMath.div(_baseToSpend, dividendFee_);
        uint256 _taxedBase = SafeMath.sub(_baseToSpend, _dividends);
        uint256 _amountOfTokens = baseToTokens_(_taxedBase);
        
        return _amountOfTokens;
    }
    
    // Function for the frontend to dynamically retrieve the price scaling of sell orders.
    function calculateBaseReceived(uint256 _tokensToSell) public view returns(uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _base = tokensToBase_(_tokensToSell);
        uint256 _dividends = SafeMath.div(_base, dividendFee_);
        uint256 _taxedBase = SafeMath.sub(_base, _dividends);
        return _taxedBase;
    }
    
    
    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/
    
    // Deposit tokens into the contract and issue the correct amount of tokens to the depositor
    function purchaseTokens(uint256 _incomingBase, address _referredBy) internal returns(uint256) {
        // data setup
        address _customerAddress = msg.sender;
        uint256 _undividedDividends = SafeMath.div(_incomingBase, dividendFee_);
        uint256 _referralBonus = SafeMath.div(_undividedDividends, 3);
        uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus);
        uint256 _taxedBase = SafeMath.sub(_incomingBase, _undividedDividends);
        uint256 _amountOfTokens = baseToTokens_(_taxedBase);
        uint256 _fee = _dividends * magnitude;
 
        // prevents overflow
        require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_));
        
        if(
            // is this a referred purchase?
            _referredBy != 0x0000000000000000000000000000000000000000
        ){
            // 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 Base
        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 participant
            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;
        
        referralEarningsOf_[_referredBy] += (_referralBonus);
        
        // fire event
        emit onTokenPurchase(_customerAddress, _incomingBase, _amountOfTokens, _referredBy);
        return _amountOfTokens;
    }

    // Calculate Token price based on an amount of incoming Base | Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
    function baseToTokens_(uint256 _base) internal view returns(uint256) {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived = 
         (
            (
                // underflow attempts BTFO
                SafeMath.sub(
                    (sqrt
                        (
                            (_tokenPriceInitial**2)
                            +(2*(tokenPriceIncremental_ * 1e18)*(_base * 1e18))
                            +(((tokenPriceIncremental_)**2)*(tokenSupply_**2))
                            +(2*(tokenPriceIncremental_)*_tokenPriceInitial*tokenSupply_)
                        )
                    ), _tokenPriceInitial
                )
            )/(tokenPriceIncremental_)
        )-(tokenSupply_)
        ;
  
        return _tokensReceived;
    }
    
    // Calculate token sell value | Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
    function tokensToBase_(uint256 _tokens) internal view returns(uint256) {
        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (tokenSupply_ + 1e18);
        uint256 _baseReceived =
        (
            // underflow attempts BTFO
            SafeMath.sub(
                (
                    (
                        (
                            tokenPriceInitial_ +(tokenPriceIncremental_ * (_tokenSupply/1e18))
                        )-tokenPriceIncremental_
                    )*(tokens_ - 1e18)
                ),(tokenPriceIncremental_*((tokens_**2-tokens_)/1e18))/2
            )
        /1e18);
        return _baseReceived;
    }
    
    // SQUARE ROOT!
    function sqrt(uint x) internal pure returns (uint y) {
        uint z = (x + 1) / 2;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"baseReinvested","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"incomingBase","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensMinted","type":"uint256"},{"indexed":true,"internalType":"address","name":"referredBy","type":"address"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokensBurned","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"baseEarned","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"customerAddress","type":"address"},{"indexed":false,"internalType":"uint256","name":"baseWithdrawn","type":"uint256"}],"name":"onWithdraw","type":"event"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokensToSell","type":"uint256"}],"name":"calculateBaseReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_baseToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"compound","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractStats","outputs":[{"internalType":"uint256","name":"_totalDeposited","type":"uint256"},{"internalType":"uint256","name":"_totalWithdrawn","type":"uint256"},{"internalType":"uint256","name":"_totalCompounded","type":"uint256"},{"internalType":"uint256","name":"_totalHarvested","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referredBy","type":"address"}],"name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"_customerAddress","type":"address"},{"internalType":"bool","name":"_includeReferralBonus","type":"bool"}],"name":"dividendsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"exit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getAmountStatsOf","outputs":[{"internalType":"uint256","name":"_deposited","type":"uint256"},{"internalType":"uint256","name":"_withdrawn","type":"uint256"},{"internalType":"uint256","name":"_compounded","type":"uint256"},{"internalType":"uint256","name":"_harvested","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getRepeatStatsOf","outputs":[{"internalType":"uint256","name":"_xDeposited","type":"uint256"},{"internalType":"uint256","name":"_xWithdrawn","type":"uint256"},{"internalType":"uint256","name":"_xCompounded","type":"uint256"},{"internalType":"uint256","name":"_xHarvested","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"harvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myReferrals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"myTotalRefEarnings","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"referralsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"sellPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalBaseBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"totalRefEarningsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_toAddress","type":"address"},{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amountOfTokens","type":"uint256"}],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526040518060400160405280601181526020017f5374726f6e6768616e64732043524f33440000000000000000000000000000008152506000908051906020019062000051929190620000b9565b506040518060400160405280600581526020017f43524f3344000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f929190620000b9565b506000600a55348015620000b257600080fd5b506200015f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000fc57805160ff19168380011785556200012d565b828001600101855582156200012d579182015b828111156200012c5782518255916020019190600101906200010f565b5b5090506200013c919062000140565b5090565b5b808211156200015b57600081600090555060010162000141565b5090565b6122eb806200016f6000396000f3fe6080604052600436106101855760003560e01c806374a76816116100d1578063a38ebdeb1161008a578063d0ad8bc211610064578063d0ad8bc214610872578063e9fad8ee1461089d578063f340fa01146108b4578063f69e20461461090c57610197565b8063a38ebdeb1461075c578063a9059cbb146107d6578063b99b2f811461084757610197565b806374a7681614610526578063831aba43146105975780638620410b146105fc5780638e5f4a0214610627578063949e8acd146106a157806395d89b41146106cc57610197565b80633b68a8bd1161013e5780634b750334116101185780634b750334146103e05780635dd677501461040b578063688abbf71461047057806370a08231146104c157610197565b80633b68a8bd1461033a5780634147ccd21461037a5780634641257d146103c957610197565b806306fdde031461019c57806310d0ffdd1461022c57806318160ddd1461027b57806328315088146102a65780632e1a7d4d146102d1578063313ce5671461030c57610197565b36610197576101946000610923565b50005b600080fd5b3480156101a857600080fd5b506101b1610b0e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f15780820151818401526020810190506101d6565b50505050905090810190601f16801561021e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561023857600080fd5b506102656004803603602081101561024f57600080fd5b8101908080359060200190929190505050610bac565b6040518082815260200191505060405180910390f35b34801561028757600080fd5b50610290610be5565b6040518082815260200191505060405180910390f35b3480156102b257600080fd5b506102bb610bef565b6040518082815260200191505060405180910390f35b3480156102dd57600080fd5b5061030a600480360360208110156102f457600080fd5b8101908080359060200190929190505050610bf7565b005b34801561031857600080fd5b50610321610ed3565b604051808260ff16815260200191505060405180910390f35b34801561034657600080fd5b5061034f610ed8565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b34801561038657600080fd5b506103b36004803603602081101561039d57600080fd5b8101908080359060200190929190505050610ef8565b6040518082815260200191505060405180910390f35b3480156103d557600080fd5b506103de610f41565b005b3480156103ec57600080fd5b506103f5611195565b6040518082815260200191505060405180910390f35b34801561041757600080fd5b5061045a6004803603602081101561042e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111f4565b6040518082815260200191505060405180910390f35b34801561047c57600080fd5b506104ab6004803603602081101561049357600080fd5b8101908080351515906020019092919050505061123d565b6040518082815260200191505060405180910390f35b3480156104cd57600080fd5b50610510600480360360208110156104e457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611255565b6040518082815260200191505060405180910390f35b34801561053257600080fd5b506105816004803603604081101561054957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080351515906020019092919050505061129e565b6040518082815260200191505060405180910390f35b3480156105a357600080fd5b506105e6600480360360208110156105ba57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611395565b6040518082815260200191505060405180910390f35b34801561060857600080fd5b506106116113de565b6040518082815260200191505060405180910390f35b34801561063357600080fd5b506106766004803603602081101561064a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061143d565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156106ad57600080fd5b506106b661155e565b6040518082815260200191505060405180910390f35b3480156106d857600080fd5b506106e1611573565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610721578082015181840152602081019050610706565b50505050905090810190601f16801561074e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561076857600080fd5b506107ab6004803603602081101561077f57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611611565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156107e257600080fd5b5061082f600480360360408110156107f957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050611732565b60405180821515815260200191505060405180910390f35b34801561085357600080fd5b5061085c611a17565b6040518082815260200191505060405180910390f35b34801561087e57600080fd5b50610887611a27565b6040518082815260200191505060405180910390f35b3480156108a957600080fd5b506108b2611a37565b005b6108f6600480360360208110156108ca57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610923565b6040518082815260200191505060405180910390f35b34801561091857600080fd5b50610921611a9f565b005b600080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414156109815760016009600082825401925050819055505b61098b3483611d72565b506001600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555034600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001600082825401925050819055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000828254019250508190555034600c6000828254019250508190555081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ba45780601f10610b7957610100808354040283529160200191610ba4565b820191906000526020600020905b815481529060010190602001808311610b8757829003601f168201915b505050505081565b600080610bbd83600a60ff166120f5565b90506000610bcb848361210e565b90506000610bd882612125565b9050809350505050919050565b6000600a54905090565b600047905090565b6000610c0161155e565b11610c0b57600080fd5b6000339050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610c5c57600080fd5b60008290506000610c6c826121b0565b90506000610c7e82600a60ff166120f5565b90506000610c8c838361210e565b9050610c9a600a548561210e565b600a81905550610ce9600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548561210e565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600068010000000000000000820285600b540201905080600460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600a541115610dc357610dbc600b54600a5468010000000000000000860281610db657fe5b04612254565b600b819055505b82600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101600082825401925050819055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005016000828254019250508190555082600d600082825401925050819055508573ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398684604051808381526020018281526020019250505060405180910390a250505050505050565b601281565b600080600080600c54600d54600e54600f54935093509350935090919293565b6000600a54821115610f0957600080fd5b6000610f14836121b0565b90506000610f2682600a60ff166120f5565b90506000610f34838361210e565b9050809350505050919050565b6000610f4d600161123d565b11610f5757600080fd5b60003390506000610f68600061123d565b9050680100000000000000008102600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611091573d6000803e3d6000fd5b5080600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600082825401925050819055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007016000828254019250508190555080600f600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b600080600a5414156111b5576402540be40064174876e8000390506111f1565b60006111c8670de0b6b3a76400006121b0565b905060006111da82600a60ff166120f5565b905060006111e8838361210e565b90508093505050505b90565b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008033905061124d818461129e565b915050919050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008068010000000000000000600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600b5402038161133757fe5b049050821561138a57600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810191505061138f565b809150505b92915050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600080600a5414156113fe576402540be40064174876e80001905061143a565b6000611411670de0b6b3a76400006121b0565b9050600061142382600a60ff166120f5565b905060006114318383612254565b90508093505050505b90565b600080600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040154600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050154600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015493509350935093509193509193565b60008033905061156d81611255565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156116095780601f106115de57610100808354040283529160200191611609565b820191906000526020600020905b8154815290600101906020018083116115ec57829003601f168201915b505050505081565b600080600080600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154600860008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020154600860008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003015493509350935093509193509193565b60008061173d61155e565b1161174757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561178157600080fd5b6000339050600260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548311156117d257600080fd5b60006117de600161123d565b11156117ed576117ec610f41565b5b611836600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548461210e565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506118c2600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484612254565b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555082600b5402600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555082600b5402600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191505092915050565b6000611a2233611395565b905090565b6000611a32336111f4565b905090565b60003390506000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000811115611a9357611a9281610bf7565b5b611a9b610f41565b5050565b6000611aab600161123d565b11611ab557600080fd5b6000611ac1600061123d565b90506000339050680100000000000000008202600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600360008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054820191506000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000611c1483600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611d72565b905082600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000016000828254019250508190555082600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825401925050819055506001600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006016000828254019250508190555082600e600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000803390506000611d8885600a60ff166120f5565b90506000611d978260036120f5565b90506000611da5838361210e565b90506000611db3888561210e565b90506000611dc082612125565b905060006801000000000000000084029050600082118015611dee5750600a54611dec83600a54612254565b115b611df757600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff1614611ebc57611e74600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486612254565b600360008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611ed7565b611ec68486612254565b935068010000000000000000840290505b6000600a541115611f3e57611eee600a5483612254565b600a81905550600a5468010000000000000000850281611f0a57fe5b04600b60008282540192505081905550600a5468010000000000000000850281611f3057fe5b048202810381039050611f46565b81600a819055505b611f8f600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612254565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060008183600b540203905080600460008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555085600760008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508973ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58d86604051808381526020018281526020019250505060405180910390a3829850505050505050505092915050565b60008082848161210157fe5b0490508091505092915050565b60008282111561211a57fe5b818303905092915050565b600080670de0b6b3a764000064174876e8000290506000600a546402540be40061219b612195600a54866402540be40060020202026002600a540a60026402540be4000a02670de0b6b3a76400008a02670de0b6b3a76400006402540be40002600202026002890a010101612270565b8561210e565b816121a257fe5b040390508092505050919050565b600080670de0b6b3a7640000830190506000670de0b6b3a7640000600a540190506000670de0b6b3a764000061223f670de0b6b3a764000085036402540be400670de0b6b3a7640000868161220157fe5b046402540be4000264174876e8000103026002670de0b6b3a7640000876002890a038161222a57fe5b046402540be400028161223957fe5b0461210e565b8161224657fe5b049050809350505050919050565b60008082840190508381101561226657fe5b8091505092915050565b6000806002600184018161228057fe5b0490508291505b818110156122af5780915060028182858161229e57fe5b0401816122a757fe5b049050612287565b5091905056fea264697066735822122091a84328cbb254fccc4e203e32ae746e77ce7188da098bf6ca82f189773a6bac64736f6c634300060c0033

Deployed ByteCode Sourcemap

691:18865:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3701:19;3717:1;3701:7;:19::i;:::-;;691:18865;;;;;2189:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13641:339;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11196:90;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11042:101;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;4549:1308;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;2279:35;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9911:242;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14084:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7003:844;;;;;;;;;;;;;:::i;:::-;;12506:484;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9774:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11505:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11778:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11988:448;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9527:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13055:483;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;10522:353;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11347:150;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2236:30;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10165:345;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7915:1063;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;9417:102;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9650:116;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;9033:309;;;;;;;;;;;;;:::i;:::-;;3845:658;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5923:1025;;;;;;;;;;;;;:::i;:::-;;3845:658;3907:7;4043:1;4008:9;:21;4018:10;4008:21;;;;;;;;;;;;;;;:31;;;:36;4004:81;;;4072:1;4061:7;;:12;;;;;;;;;;;4004:81;4166:38;4181:9;4192:11;4166:14;:38::i;:::-;;4285:1;4256:12;:25;4269:11;4256:25;;;;;;;;;;;;;;;;:30;;;;;;;;;;;4342:9;4307;:21;4317:10;4307:21;;;;;;;;;;;;;;;:31;;;:44;;;;;;;;;;;4398:1;4362:9;:21;4372:10;4362:21;;;;;;;;;;;;;;;:32;;;:37;;;;;;;;;;;4439:9;4420:15;;:28;;;;;;;;;;;4484:11;4459:10;:22;4470:10;4459:22;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;3845:658;;;:::o;2189:40::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13641:339::-;13716:7;13736:18;13757:40;13770:12;2360:2;13757:40;;:12;:40::i;:::-;13736:61;;13808:18;13829:38;13842:12;13856:10;13829:12;:38::i;:::-;13808:59;;13878:23;13904:25;13918:10;13904:13;:25::i;:::-;13878:51;;13957:15;13950:22;;;;;13641:339;;;:::o;11196:90::-;11239:7;11266:12;;11259:19;;11196:90;:::o;11042:101::-;11090:4;11114:21;11107:28;;11042:101;:::o;4549:1308::-;1210:1;1197:10;:8;:10::i;:::-;:14;1189:23;;;;;;4634:24:::1;4661:10;4634:37;;4719:19;:37;4739:16;4719:37;;;;;;;;;;;;;;;;4700:15;:56;;4692:65;;;::::0;::::1;;4768:15;4786;4768:33;;4812:13;4828:22;4842:7;4828:13;:22::i;:::-;4812:38;;4861:18;4882:33;4895:5;2360:2;4882:33;;:12;:33::i;:::-;4861:54;;4926:18;4947:31;4960:5;4967:10;4947:12;:31::i;:::-;4926:52;;5047:35;5060:12;;5074:7;5047:12;:35::i;:::-;5032:12;:50;;;;5133:60;5146:19;:37;5166:16;5146:37;;;;;;;;;;;;;;;;5185:7;5133:12;:60::i;:::-;5093:19;:37;5113:16;5093:37;;;;;;;;;;;;;;;:100;;;;5251:22;2556:5;5315:10;:22;5304:7;5286:15;;:25;:52;5251:88;;5382:15;5350:10;:28;5361:16;5350:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;5444:1;5429:12;;:16;5425:137;;;5480:70;5493:15;;5537:12;;2556:5;5511:10;:22;5510:39;;;;;;5480:12;:70::i;:::-;5462:15;:88;;;;5425:137;5642:10;5607:9;:21;5617:10;5607:21;;;;;;;;;;;;;;;:31;;;:45;;;;;;;;;;;5699:1;5663:9;:21;5673:10;5663:21;;;;;;;;;;;;;;;:32;;;:37;;;;;;;;;;;5740:10;5721:15;;:29;;;;;;;;;;;5811:16;5799:50;;;5829:7;5838:10;5799:50;;;;;;;;;;;;;;;;;;;;;;;;1223:1;;;;;;4549:1308:::0;:::o;2279:35::-;2312:2;2279:35;:::o;9911:242::-;9957:23;9982;10007:24;10033:23;10077:15;;10094;;10111:16;;10129:15;;10069:76;;;;;;;;9911:242;;;;:::o;14084:351::-;14158:7;14203:12;;14186:13;:29;;14178:38;;;;;;14227:13;14243:28;14257:13;14243;:28::i;:::-;14227:44;;14282:18;14303:33;14316:5;2360:2;14303:33;;:12;:33::i;:::-;14282:54;;14347:18;14368:31;14381:5;14388:10;14368:12;:31::i;:::-;14347:52;;14417:10;14410:17;;;;;14084:351;;;:::o;7003:844::-;1343:1;1323:17;1335:4;1323:11;:17::i;:::-;:21;1315:30;;;;;;7081:32:::1;7116:10;7081:45;;7137:18;7158;7170:5;7158:11;:18::i;:::-;7137:39;;2556:5;7312:10;:22;7269:10;:28;7280:16;7269:28;;;;;;;;;;;;;;;;:66;;;;;;;;;;;7397:16;:34;7414:16;7397:34;;;;;;;;;;;;;;;;7383:48;;;;7479:1;7442:16;:34;7459:16;7442:34;;;;;;;;;;;;;;;:38;;;;7536:16;:25;;:37;7562:10;7536:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7642:10;7607:9;:21;7617:10;7607:21;;;;;;;;;;;;;;;:31;;;:45;;;;;;;;;;;7699:1;7663:9;:21;7673:10;7663:21;;;;;;;;;;;;;;;:32;;;:37;;;;;;;;;;;7740:10;7721:15;;:29;;;;;;;;;;;7810:16;7799:40;;;7828:10;7799:40;;;;;;;;;;;;;;;;;;1356:1;;7003:844::o:0;12506:484::-;12547:7;12666:1;12650:12;;:17;12647:336;;;2495:16;2422:15;12690:43;12683:50;;;;12647:336;12766:13;12782:19;12796:4;12782:13;:19::i;:::-;12766:35;;12816:18;12837:35;12850:5;2360:2;12837:35;;:12;:35::i;:::-;12816:56;;12887:18;12908:31;12921:5;12928:10;12908:12;:31::i;:::-;12887:52;;12961:10;12954:17;;;;;12506:484;;:::o;9774:125::-;9838:7;9865:19;:26;9885:5;9865:26;;;;;;;;;;;;;;;;9858:33;;9774:125;;;:::o;11505:203::-;11574:7;11594:24;11621:10;11594:37;;11649:51;11661:16;11678:21;11649:11;:51::i;:::-;11642:58;;;11505:203;;;:::o;11778:137::-;11843:7;11870:19;:37;11890:16;11870:37;;;;;;;;;;;;;;;;11863:44;;11778:137;;;:::o;11988:448::-;12082:7;12102:24;2556:5;12208:10;:28;12219:16;12208:28;;;;;;;;;;;;;;;;12167:19;:37;12187:16;12167:37;;;;;;;;;;;;;;;;12149:15;;:55;12140:96;12129:120;;;;;;12102:147;;12264:21;12260:169;;;12327:16;:34;12344:16;12327:34;;;;;;;;;;;;;;;;12308:16;:53;12301:60;;;;;12260:169;12401:16;12394:23;;;11988:448;;;;;:::o;9527:111::-;9584:7;9611:12;:19;9624:5;9611:19;;;;;;;;;;;;;;;;9604:26;;9527:111;;;:::o;13055:483::-;13095:7;13214:1;13198:12;;:17;13195:336;;;2495:16;2422:15;13238:43;13231:50;;;;13195:336;13314:13;13330:19;13344:4;13330:13;:19::i;:::-;13314:35;;13364:18;13385:35;13398:5;2360:2;13385:35;;:12;:35::i;:::-;13364:56;;13435:18;13456:31;13469:5;13476:10;13456:12;:31::i;:::-;13435:52;;13509:10;13502:17;;;;;13055:483;;:::o;10522:353::-;10584:19;10605;10626:20;10648:19;10702:9;:16;10712:5;10702:16;;;;;;;;;;;;;;;:27;;;10744:9;:16;10754:5;10744:16;;;;;;;;;;;;;;;:27;;;10786:9;:16;10796:5;10786:16;;;;;;;;;;;;;;;:28;;;10829:9;:16;10839:5;10829:16;;;;;;;;;;;;;;;:27;;;10680:187;;;;;;;;10522:353;;;;;:::o;11347:150::-;11387:7;11407:24;11434:10;11407:37;;11462:27;11472:16;11462:9;:27::i;:::-;11455:34;;;11347:150;:::o;2236:30::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;10165:345::-;10227:18;10247;10267:19;10288:18;10341:9;:16;10351:5;10341:16;;;;;;;;;;;;;;;:26;;;10382:9;:16;10392:5;10382:16;;;;;;;;;;;;;;;:26;;;10423:9;:16;10433:5;10423:16;;;;;;;;;;;;;;;:27;;;10465:9;:16;10475:5;10465:16;;;;;;;;;;;;;;;:26;;;10319:183;;;;;;;;10165:345;;;;;:::o;7915:1063::-;8008:4;1210:1;1197:10;:8;:10::i;:::-;:14;1189:23;;;;;;8090:1:::1;8068:24;;:10;:24;;;;8060:33;;;::::0;::::1;;8122:24;8149:10;8122:37;;8250:19;:37;8270:16;8250:37;;;;;;;;;;;;;;;;8231:15;:56;;8223:65;;;::::0;::::1;;8377:1;8357:17;8369:4;8357:11;:17::i;:::-;:21;8354:35;;;8380:9;:7;:9::i;:::-;8354:35;8470:68;8483:19;:37;8503:16;8483:37;;;;;;;;;;;;;;;;8522:15;8470:12;:68::i;:::-;8430:19;:37;8450:16;8430:37;;;;;;;;;;;;;;;:108;;;;8583:62;8596:19;:31;8616:10;8596:31;;;;;;;;;;;;;;;;8629:15;8583:12;:62::i;:::-;8549:19;:31;8569:10;8549:31;;;;;;;;;;;;;;;:96;;;;8755:15;8737;;:33;8695:10;:28;8706:16;8695:28;;;;;;;;;;;;;;;;:76;;;;;;;;;;;8836:15;8818;;:33;8782:10;:22;8793:10;8782:22;;;;;;;;;;;;;;;;:70;;;;;;;;;;;8920:10;8893:55;;8902:16;8893:55;;;8932:15;8893:55;;;;;;;;;;;;;;;;;;8966:4;8959:11;;;7915:1063:::0;;;;:::o;9417:102::-;9461:7;9488:23;9500:10;9488:11;:23::i;:::-;9481:30;;9417:102;:::o;9650:116::-;9701:7;9728:30;9747:10;9728:18;:30::i;:::-;9721:37;;9650:116;:::o;9033:309::-;9122:24;9149:10;9122:37;;9170:15;9188:19;:37;9208:16;9188:37;;;;;;;;;;;;;;;;9170:55;;9249:1;9239:7;:11;9236:33;;;9252:17;9261:7;9252:8;:17::i;:::-;9236:33;9325:9;:7;:9::i;:::-;9033:309;;:::o;5923:1025::-;1343:1;1323:17;1335:4;1323:11;:17::i;:::-;:21;1315:30;;;;;;6007:18:::1;6028;6040:5;6028:11;:18::i;:::-;6007:39;;6152:24;6179:10;6152:37;;2556:5;6243:10;:22;6200:10;:28;6211:16;6200:28;;;;;;;;;;;;;;;;:66;;;;;;;;;;;6333:16;:34;6350:16;6333:34;;;;;;;;;;;;;;;;6319:48;;;;6415:1;6378:16;:34;6395:16;6378:34;;;;;;;;;;;;;;;:38;;;;6513:15;6531:56;6546:10;6558;:28;6569:16;6558:28;;;;;;;;;;;;;;;;;;;;;;;;;6531:14;:56::i;:::-;6513:74;;6671:10;6636:9;:21;6646:10;6636:21;;;;;;;;;;;;;;;:31;;;:45;;;;;;;;;;;6728:10;6692:9;:21;6702:10;6692:21;;;;;;;;;;;;;;;:32;;;:46;;;;;;;;;;;6786:1;6749:9;:21;6759:10;6749:21;;;;;;;;;;;;;;;:33;;;:38;;;;;;;;;;;6828:10;6808:16;;:30;;;;;;;;;;;6902:16;6887:53;;;6920:10;6932:7;6887:53;;;;;;;;;;;;;;;;;;;;;;;;1356:1;;;5923:1025::o:0;14706:2775::-;14791:7;14834:24;14861:10;14834:37;;14882:27;14912:41;14925:13;2360:2;14912:41;;:12;:41::i;:::-;14882:71;;14964:22;14989:36;15002:19;15023:1;14989:12;:36::i;:::-;14964:61;;15036:18;15057:49;15070:19;15091:14;15057:12;:49::i;:::-;15036:70;;15117:18;15138:48;15151:13;15166:19;15138:12;:48::i;:::-;15117:69;;15197:23;15223:25;15237:10;15223:13;:25::i;:::-;15197:51;;15259:12;2556:5;15274:10;:22;15259:37;;15366:1;15348:15;:19;:82;;;;;15417:12;;15372:42;15385:15;15401:12;;15372;:42::i;:::-;:57;15348:82;15340:91;;;;;;15529:42;15514:57;;:11;:57;;;15452:521;;15667:59;15680:16;:29;15697:11;15680:29;;;;;;;;;;;;;;;;15711:14;15667:12;:59::i;:::-;15635:16;:29;15652:11;15635:29;;;;;;;;;;;;;;;:91;;;;15452:521;;;15877:40;15890:10;15902:14;15877:12;:40::i;:::-;15864:53;;2556:5;15939:10;:22;15932:29;;15452:521;16058:1;16043:12;;:16;16040:671;;;16143:43;16156:12;;16170:15;16143:12;:43::i;:::-;16128:12;:58;;;;16374:12;;2556:5;16348:10;:22;:39;;;;;;16328:15;;:60;;;;;;;;;;;16571:12;;2556:5;16545:10;:22;:39;;;;;;16526:15;:59;16520:4;:66;16512:4;:75;16505:82;;16040:671;;;16684:15;16669:12;:30;;;;16040:671;16847:68;16860:19;:37;16880:16;16860:37;;;;;;;;;;;;;;;;16899:15;16847:12;:68::i;:::-;16807:19;:37;16827:16;16807:37;;;;;;;;;;;;;;;:108;;;;17104:22;17177:4;17158:15;17140;;:33;17139:42;17104:78;;17225:15;17193:10;:28;17204:16;17193:28;;;;;;;;;;;;;;;;:47;;;;;;;;;;;17298:14;17261:19;:32;17281:11;17261:32;;;;;;;;;;;;;;;;:52;;;;;;;;;;;17428:11;17362:78;;17378:16;17362:78;;;17396:13;17411:15;17362:78;;;;;;;;;;;;;;;;;;;;;;;;17458:15;17451:22;;;;;;;;;;14706:2775;;;;:::o;276:122::-;334:7;354:9;370:1;366;:5;;;;;;354:17;;389:1;382:8;;;276:122;;;;:::o;406:123::-;464:7;496:1;491;:6;;484:14;;;;520:1;516;:5;509:12;;406:123;;;;:::o;17653:842::-;17713:7;17733:26;17783:4;2422:15;17762:25;17733:54;;17798:23;18427:12;;2495:16;17913:461;17949:363;18272:12;;18253:18;2495:16;18226:1;:26;:45;:58;18191:1;18177:12;;:15;18173:1;2495:16;18147:27;18146:47;18108:4;18100:5;:12;18093:4;2495:16;18068:29;18065:1;:33;:48;18031:1;18011:18;:21;18010:104;:184;:275;17949:4;:363::i;:::-;18337:18;17913:12;:461::i;:::-;17850:564;;;;;;17835:605;17798:642;;18472:15;18465:22;;;;17653:842;;;:::o;18640:682::-;18702:7;18722:15;18751:4;18741:7;:14;18722:34;;18767:20;18806:4;18791:12;;:19;18767:44;;18822:21;19278:4;18910:357;19173:4;19163:7;:14;2495:16;19082:4;19069:12;:17;;;;;;2495:16;19043:44;2422:15;19022:66;18991:147;18964:214;19251:1;19244:4;19235:7;19233:1;19224:7;:10;:18;19223:25;;;;;;2495:16;19199:50;19198:54;;;;;;18910:12;:357::i;:::-;:372;;;;;;18822:461;;19301:13;19294:20;;;;;18640:682;;;:::o;537:147::-;595:7;615:9;631:1;627;:5;615:17;;655:1;650;:6;;643:14;;;;675:1;668:8;;;537:147;;;;:::o;19355:198::-;19400:6;19419;19438:1;19433;19429;:5;19428:11;;;;;;19419:20;;19454:1;19450:5;;19466:80;19477:1;19473;:5;19466:80;;;19499:1;19495:5;;19533:1;19528;19524;19520;:5;;;;;;:9;19519:15;;;;;;19515:19;;19466:80;;;19355:198;;;;:::o

Swarm Source

ipfs://91a84328cbb254fccc4e203e32ae746e77ce7188da098bf6ca82f189773a6bac
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Block Uncle Number Difficulty Gas Used Reward
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.