Contract 0x9fd1836885e44ee084a2ae479982540b0ba48f04 8

 

Contract Overview

Balance:
3.553428326958469105 MATIC

MATIC Value:
$4.55 (@ $1.28/MATIC)

Token:
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xe052918d81daafa50ee090f2ffbbce42e182daf35d84c23aa94d26a2d3fbd6a1Transfer343250662022-10-14 7:25:45116 days 17 hrs ago0x28c1451ab6fd875f33e583da87a18f9b84f6b18e IN  0x9fd1836885e44ee084a2ae479982540b0ba48f04260 MATIC0.007256916533 344.812151156
0xf082697114ac02499ef794bb271879b166e5ab2815943b19d3573374406ffec1Transfer343250532022-10-14 7:25:13116 days 17 hrs ago0x28c1451ab6fd875f33e583da87a18f9b84f6b18e IN  0x9fd1836885e44ee084a2ae479982540b0ba48f04260 MATIC0.008125648453 386.089919873
0x35e5afc47dd1db84460dd4af04edcc7844f56dcfef3807cfe26e034421e2bedaTransfer339479482022-10-05 4:31:29125 days 20 hrs ago0x24587236c36c5fb6e8bd78990891c4b62f804ca4 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f044.3007086 MATIC0.000989162 47.000000039
0x84e204383d14e25e69631a6ba8f14fd3fcf59d7ea5eaba569c1df3959771248cTransfer339478152022-10-05 4:26:51125 days 20 hrs ago0xe4b2e815ea32b6272a1a15466df328cbdcd1f2a1 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040.0082201 MATIC0.000989162 47.000000012
0x8e45d9576cacb0ce2d2db7ece2bb3dd2d8e3699021409f7cf0b163405c7468baWithdraw333660722022-09-21 2:08:34139 days 23 hrs ago0x75f973b7534172f2d8fe31e660cf4bd87460ea41 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.017720119877 30.312358664
0x7b72102821e0c3fa8474d0825d100c36664a192c3c5a997933147afc9ea2f66aWithdraw330603902022-09-13 16:48:22147 days 8 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.00727525576230.036603166
0x44ea1d912e236cb085e525ed553afe548bdb168ec6a871129beba57f3f39b67cWithdraw330603902022-09-13 16:48:22147 days 8 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.00733023767730.263601365
0xc1ca611e04302e997ebc3c0743cb4d041b2b25950a048031dbe3d7287b388389Withdraw330603902022-09-13 16:48:22147 days 8 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.00731355955830.194744126
0xf3a6b5576263475a39ba61204c0bbc85a439af2664272d80f28e5318d21addeeWithdraw330567792022-09-13 14:44:02147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007282094939 30.064839373
0x3894ee3249d3b994cfc22c7f4429ab9411dcc0e12082262f1e6fbd86fb761192Withdraw330567792022-09-13 14:44:02147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.00728334491 30.070000003
0xd60276d26f2515d96be6fbf61fbf465b4fba77b9f9a0d80f4d722194a8e65beaWithdraw330567792022-09-13 14:44:02147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007421579005 30.640712949
0x77ffd7701fe133e1028e6ef1407296fda68cb4da02790e9c2261a038349c1bdfWithdraw330567792022-09-13 14:44:02147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007317127883 30.209476301
0xac6504eabd5e86274aa10ad8ef45cb094400706ff89c8f5dd4668e8ebc71c05aWithdraw330567792022-09-13 14:44:02147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007283369126 30.07009998
0x6c519496f999bb44b88c7224e1172e88a6f2ffd3492f58509c1a9ec5d87453afWithdraw330567772022-09-13 14:43:58147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007283344909 30.069999998
0xed015dc62f27d7c792beea8200c85c850d3bb366f7795d664fcf7fa7af03424dWithdraw330567772022-09-13 14:43:58147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007283344916 30.070000026
0xdb2c640df061d3b6599c9938ca80ac48d650255db86f0f5378855216b303ccf0Withdraw330567772022-09-13 14:43:58147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007283344911 30.070000005
0x5c9fde6875bf1921971e7591887e173537741387381fb0b2c53d5919fa747a8fWithdraw330567772022-09-13 14:43:58147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007316831548 30.208252855
0xfb438fb2550bc30d887e0fff991d5f0aa4d4ed8c9473b54645fb796370e405d3Withdraw330567772022-09-13 14:43:58147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007296554428 30.124536784
0xc82abd6a33127436db510c9ab34e99d7d352ff31a72d4f93c9488d3b8f1eeefcWithdraw330567772022-09-13 14:43:58147 days 10 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007528815254 31.083448263
0x0bad6f3a9d58fb6941560b7090d031fb4f99619f8c460af617989373a4f70133Withdraw327231542022-09-05 13:21:40155 days 11 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007283344912 30.070000009
0x8044277c438be208f933bb73788ab9794e14daae6712f28393b1c5585c3c107bWithdraw327231542022-09-05 13:21:40155 days 11 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.00728334491 30.07
0xbc9de40b9994c8e9d35b5981a4eb87231551fb79a33784d06adec8ca54d0ed9aWithdraw327231542022-09-05 13:21:40155 days 11 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007294121647 30.114492811
0x11d49f5bdc9a8c8a208983c85bf84f80f7a246081fff75a557e3db08f337853eWithdraw327231542022-09-05 13:21:40155 days 11 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007312043464 30.188484783
0x8957cdb6c9e48c19633a7aeede7c07e80fabb9b7d365e37630afe580cf009ff1Withdraw327231542022-09-05 13:21:40155 days 11 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007343143199 30.316883073
0x932cfb3375c5fd1a880182c535e0bb7cd0023e50e54bc1407b104c05949ee505Withdraw327231542022-09-05 13:21:40155 days 11 hrs ago0x59af790faf125df5b17b33b63cbcb0d27cce6c23 IN  0x9fd1836885e44ee084a2ae479982540b0ba48f040 MATIC0.007887034132 32.562389851
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x8e45d9576cacb0ce2d2db7ece2bb3dd2d8e3699021409f7cf0b163405c7468ba333660722022-09-21 2:08:34139 days 23 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.002229709522408492 MATIC
0x8e45d9576cacb0ce2d2db7ece2bb3dd2d8e3699021409f7cf0b163405c7468ba333660722022-09-21 2:08:34139 days 23 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.004459419044816984 MATIC
0x8e45d9576cacb0ce2d2db7ece2bb3dd2d8e3699021409f7cf0b163405c7468ba333660722022-09-21 2:08:34139 days 23 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.327388225694444444 MATIC
0x8e45d9576cacb0ce2d2db7ece2bb3dd2d8e3699021409f7cf0b163405c7468ba333660722022-09-21 2:08:34139 days 23 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.654776451388888888 MATIC
0x667e41b585222b6c31855f065f5f5ab1e5db49429a7ba1d7fd247c6ca441fdcb324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0x667e41b585222b6c31855f065f5f5ab1e5db49429a7ba1d7fd247c6ca441fdcb324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0x667e41b585222b6c31855f065f5f5ab1e5db49429a7ba1d7fd247c6ca441fdcb324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0x667e41b585222b6c31855f065f5f5ab1e5db49429a7ba1d7fd247c6ca441fdcb324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0xb19cc447a6ab30eaad29379edd152f9a4ddc28ba7f7669d0363a895b5e2d3181324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0xb19cc447a6ab30eaad29379edd152f9a4ddc28ba7f7669d0363a895b5e2d3181324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0xb19cc447a6ab30eaad29379edd152f9a4ddc28ba7f7669d0363a895b5e2d3181324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0xb19cc447a6ab30eaad29379edd152f9a4ddc28ba7f7669d0363a895b5e2d3181324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0x4bec6c473d437843ca10aea2497941a8cf7e6d73bccd62c484b0be41ed8e7c7b324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0x4bec6c473d437843ca10aea2497941a8cf7e6d73bccd62c484b0be41ed8e7c7b324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0x4bec6c473d437843ca10aea2497941a8cf7e6d73bccd62c484b0be41ed8e7c7b324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0x4bec6c473d437843ca10aea2497941a8cf7e6d73bccd62c484b0be41ed8e7c7b324607052022-08-29 21:36:03162 days 3 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0xa6d62cded060d72b0057bd6a8b423e76d3769bb4172bff68882d6b6106147b88324532592022-08-29 15:55:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0xa6d62cded060d72b0057bd6a8b423e76d3769bb4172bff68882d6b6106147b88324532592022-08-29 15:55:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0xa6d62cded060d72b0057bd6a8b423e76d3769bb4172bff68882d6b6106147b88324532592022-08-29 15:55:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0xa6d62cded060d72b0057bd6a8b423e76d3769bb4172bff68882d6b6106147b88324532592022-08-29 15:55:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0x7f73f7b5ff553e2de65bd5dcbd9f66da6a18a027ee9091c660c5b312040ae87c324532312022-08-29 15:54:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0x7f73f7b5ff553e2de65bd5dcbd9f66da6a18a027ee9091c660c5b312040ae87c324532312022-08-29 15:54:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0x7f73f7b5ff553e2de65bd5dcbd9f66da6a18a027ee9091c660c5b312040ae87c324532312022-08-29 15:54:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
0x7f73f7b5ff553e2de65bd5dcbd9f66da6a18a027ee9091c660c5b312040ae87c324532312022-08-29 15:54:44162 days 9 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0647388 MATIC
0xaeca6f94afb71da8c98f8598eaacf9f05095fe962c6ce98d41ad3c1551e3d540324322832022-08-29 2:00:41162 days 23 hrs ago 0x9fd1836885e44ee084a2ae479982540b0ba48f040x37a963146a33ae93dc314461534ef12dccd2fb320.0323694 MATIC
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
StableOne

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

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

// File: @openzeppelin/contracts/security/ReentrancyGuard.sol


// OpenZeppelin Contracts v4.4.1 (security/ReentrancyGuard.sol)

pragma solidity ^0.8.0;

/**
 * @dev Contract module that helps prevent reentrant calls to a function.
 *
 * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier
 * available, which can be applied to functions to make sure there are no nested
 * (reentrant) calls to them.
 *
 * Note that because there is a single `nonReentrant` guard, functions marked as
 * `nonReentrant` may not call one another. This can be worked around by making
 * those functions `private`, and then adding `external` `nonReentrant` entry
 * points to them.
 *
 * TIP: If you would like to learn more about reentrancy and alternative ways
 * to protect against it, check out our blog post
 * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
 */
abstract contract ReentrancyGuard {
    // Booleans are more expensive than uint256 or any type that takes up a full
    // word because each write operation emits an extra SLOAD to first read the
    // slot's contents, replace the bits taken up by the boolean, and then write
    // back. This is the compiler's defense against contract upgrades and
    // pointer aliasing, and it cannot be disabled.

    // The values being non-zero value makes deployment a bit more expensive,
    // but in exchange the refund on every call to nonReentrant will be lower in
    // amount. Since refunds are capped to a percentage of the total
    // transaction's gas, it is best to keep them low in cases like this one, to
    // increase the likelihood of the full refund coming into effect.
    uint256 private constant _NOT_ENTERED = 1;
    uint256 private constant _ENTERED = 2;

    uint256 private _status;

    constructor() {
        _status = _NOT_ENTERED;
    }

    /**
     * @dev Prevents a contract from calling itself, directly or indirectly.
     * Calling a `nonReentrant` function from another `nonReentrant`
     * function is not supported. It is possible to prevent this from happening
     * by making the `nonReentrant` function external, and making it call a
     * `private` function that does the actual work.
     */
    modifier nonReentrant() {
        // On the first call to nonReentrant, _notEntered will be true
        require(_status != _ENTERED, "ReentrancyGuard: reentrant call");

        // Any calls to nonReentrant after this point will fail
        _status = _ENTERED;

        _;

        // By storing the original value once again, a refund is triggered (see
        // https://eips.ethereum.org/EIPS/eip-2200)
        _status = _NOT_ENTERED;
    }
}

// File: contracts/StableOne.sol


pragma solidity 0.8.11;

contract StableOne is ReentrancyGuard {
    using SafeMath for uint256;
    address public owner;
    uint256 private constant PRIMARY_BENIFICIARY_INVESTMENT_PERC = 65;
    uint256 private constant SECONDARY_BENIFICIARY_INVESTMENT_PERC = 35;
    uint256 private constant PRIMARY_BENIFICIARY_REINVESTMENT_PERC = 40;
    uint256 private constant SECONDARY_BENIFICIARY_REINVESTMENT_PERC = 20;
    uint256 private constant PLAN_TERM = 30 days;
    uint256 private constant TIME_STEP_DRAW = 1 days;
    uint256 private constant DAILY_INTEREST_RATE = 70;
    uint256 private constant DAILY_AUTO_REINTEREST_RATE = 210;
    uint256 private constant ON_WITHDRAW_AUTO_REINTEREST_RATE = 250;
    uint256 private constant MIN_WITHDRAW = 0.02 ether;
    uint256 private constant MIN_INVESTMENT = 0.05 ether;
    uint256 private constant REFERENCE_LEVEL1_RATE = 50;
    uint256 private constant REFERENCE_LEVEL2_RATE = 30;
    uint256 private constant REFERENCE_LEVEL3_RATE = 15;
    uint256 private constant REFERENCE_LEVEL4_RATE = 5;
    uint256 private constant REFERENCE_LEVEL5_RATE = 5;
    address payable public primaryBenificiary;
    address payable public secondaryBenificiary;
    uint256 public totalInvested;
    uint256 public activeInvested;
    uint256 public totalWithdrawal;
    uint256 public totalReinvested;
    uint256 public totalReferralReward;
    struct Investor {
        address addr;
        address ref;
        uint256[5] refs;
        uint256 totalDeposit;
        uint256 totalWithdraw;
        uint256 totalReinvest;
        Investment[] investments;
    }
    struct Investment {
        uint256 investmentDate;
        uint256 investment;
        uint256 dividendCalculatedDate;
        bool isExpired;
        uint256 lastWithdrawalDate;
        uint256 dividends;
        uint256 withdrawn;
    }
    mapping(address => Investor) public investors;
    event OnInvest(address investor, uint256 amount);
    event OnReinvest(address investor, uint256 amount);
    constructor(
        address payable _primaryAddress,
        address payable _secondaryAddress
    ) {
        require(
            _primaryAddress != address(0) && _secondaryAddress != address(0),
            "Primary or Secondary address cannot be null"
        );
        primaryBenificiary = _primaryAddress;
        secondaryBenificiary = _secondaryAddress;
        owner = msg.sender;
    }
    modifier onlyOwner() {
        require(
            owner == msg.sender,
            "Only owner is authorized for this option"
        );
        _;
    }
    function changePrimaryBenificiary(address payable newAddress)
        public
        onlyOwner
    {
        require(newAddress != address(0), "Address cannot be null");
        primaryBenificiary = newAddress;
    }
    function changeSecondaryBenificiary(address payable newAddress)
        public
        onlyOwner
    {
        require(newAddress != address(0), "Address cannot be null");
        secondaryBenificiary = newAddress;
    }
    function invest(address _ref) public payable {
        if (_invest(msg.sender, _ref, msg.value)) {
            emit OnInvest(msg.sender, msg.value);
        }
    }
    function getBalance() public view returns (uint256) {
        return address(this).balance;
    }
    function _invest(
        address _addr,
        address _ref,
        uint256 _amount
    ) private returns (bool) {
        require(msg.value >= MIN_INVESTMENT, "Minimum investment is 0.05 Matic");
        require(_ref != _addr, "Ref address cannot be same with caller");
        if (investors[_addr].addr == address(0)) {
            _addInvestor(_addr, _ref, _amount);
        }
        investors[_addr].totalDeposit = investors[_addr].totalDeposit.add(
            _amount
        );
        totalInvested = totalInvested.add(_amount);
        activeInvested = activeInvested.add(_amount);
        investors[_addr].investments.push(
            Investment({
                investmentDate: block.timestamp,
                investment: _amount,
                dividendCalculatedDate: block.timestamp,
                lastWithdrawalDate: block.timestamp,
                isExpired: false,
                dividends: 0,
                withdrawn: 0
            })
        );
        _sendRewardOnInvestment(_amount);
        return true;
    }
    function _sendReferralReward(
        address payable _ref,
        uint256 level,
        uint256 _amount
    ) private {
        uint256 reward;
        if (level == 1) {
            reward = _amount.mul(REFERENCE_LEVEL1_RATE).div(1000);
        } else if (level == 2) {
            reward = _amount.mul(REFERENCE_LEVEL2_RATE).div(1000);
        } else if (level == 3) {
            reward = _amount.mul(REFERENCE_LEVEL3_RATE).div(1000);
        } else if (level == 4) {
            reward = _amount.mul(REFERENCE_LEVEL4_RATE).div(1000);
        } else if (level == 5) {
            reward = _amount.mul(REFERENCE_LEVEL5_RATE).div(1000);
        }
        totalReferralReward = totalReferralReward.add(reward);
        _ref.transfer(reward);
    }
    function _reinvest(address _addr, uint256 _amount) private returns (bool) {
        investors[_addr].totalDeposit = investors[_addr].totalDeposit.add(
            _amount
        );
        investors[_addr].totalReinvest = investors[_addr].totalReinvest.add(
            _amount
        );
        totalReinvested = totalReinvested.add(_amount);
        investors[_addr].investments.push(
            Investment({
                investmentDate: block.timestamp,
                investment: _amount,
                dividendCalculatedDate: block.timestamp,
                lastWithdrawalDate: block.timestamp,
                isExpired: false,
                dividends: 0,
                withdrawn: 0
            })
        );
        activeInvested = activeInvested.add(_amount);
        totalInvested = totalInvested.add(_amount);
        _sendRewardOnReinvestment(_amount);
        return true;
    }
    function _addInvestor(
        address _addr,
        address _ref,
        uint256 _amount
    ) private {
        investors[_addr].addr = _addr;
        address refAddr = _ref;
        investors[_addr].ref = _ref;
        for (uint256 i = 0; i < 5; i++) {
            if (investors[refAddr].addr != address(0)) {
                investors[refAddr].refs[i] = investors[refAddr].refs[i].add(1);
                _sendReferralReward(payable(refAddr), (i + 1), _amount);
            } else break;
            refAddr = investors[refAddr].ref;
        }
    }
    function _sendRewardOnInvestment(uint256 _amount) private {
        require(_amount > 0, "Amount must be greater than 0");
        uint256 rewardForPrimaryBenificiary = _amount
            .mul(PRIMARY_BENIFICIARY_INVESTMENT_PERC)
            .div(1000);
        uint256 rewardForSecondaryBenificiary = _amount
            .mul(SECONDARY_BENIFICIARY_INVESTMENT_PERC)
            .div(1000);
        primaryBenificiary.transfer(rewardForPrimaryBenificiary);
        secondaryBenificiary.transfer(rewardForSecondaryBenificiary);
    }
    function _sendRewardOnReinvestment(uint256 _amount) private {
        require(_amount > 0, "Amount must be greater than 0");
        uint256 rewardForPrimaryBenificiary = _amount
            .mul(PRIMARY_BENIFICIARY_REINVESTMENT_PERC)
            .div(1000);
        uint256 rewardForSecondaryBenificiary = _amount
            .mul(SECONDARY_BENIFICIARY_REINVESTMENT_PERC)
            .div(1000);
        primaryBenificiary.transfer(rewardForPrimaryBenificiary);
        secondaryBenificiary.transfer(rewardForSecondaryBenificiary);
    }
    function getInvestorRefs(address addr)
        public
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        Investor storage investor = investors[addr];
        return (
            investor.refs[0],
            investor.refs[1],
            investor.refs[2],
            investor.refs[3],
            investor.refs[4]
        );
    }
    function getDividends(address addr) public view returns (uint256,bool) {
        Investor storage investor = investors[addr];
        uint256 dividendAmount = 0;
        bool toReinvest=false;
        for (uint256 i = 0; i < investor.investments.length; i++) {
            // if (investor.investments[i].isExpired) {
            //     continue;
            // }
            uint256 calculatedDate = block.timestamp;
            uint256 endTime = investor.investments[i].investmentDate.add(
                PLAN_TERM
            );
            if (calculatedDate >= endTime) {
                calculatedDate = endTime;
            }
            uint256 amount = _calculateDividends(
                investor.investments[i].investment,
                DAILY_INTEREST_RATE,
                calculatedDate,
                investor.investments[i].lastWithdrawalDate
            );
            dividendAmount = dividendAmount.add(amount);
             uint256 numberOfDays = calculatedDate.subz(
                investor.investments[i].dividendCalculatedDate
            ) / TIME_STEP_DRAW;
            if (numberOfDays > 0) toReinvest = true;
        }
        return (dividendAmount,toReinvest);
    }
    function calculateDividendsAndautoReinvest(address addr) public {
        Investor storage investor = investors[addr];
        for (uint256 i = 0; i < investor.investments.length; i++) {
            if (investor.investments[i].isExpired) {
                continue;
            }
            uint256 calculatedDate = block.timestamp;
            uint256 endTime = investor.investments[i].investmentDate.add(
                PLAN_TERM
            );
            if (calculatedDate >= endTime) {
                calculatedDate = endTime;
                investor.investments[i].isExpired = true;
                activeInvested = activeInvested.subz(
                    investor.investments[i].investment
                );
            }
            uint256 amount = _calculateDividends(
                investor.investments[i].investment,
                DAILY_INTEREST_RATE,
                calculatedDate,
                investor.investments[i].lastWithdrawalDate
            );
            investor.investments[i].dividends = amount;
            uint256 numberOfDays = calculatedDate.subz(
                investor.investments[i].dividendCalculatedDate
            ) / TIME_STEP_DRAW;
            if (numberOfDays == 0) continue;
            uint256 amountToReinvest = amount
                .mul(DAILY_AUTO_REINTEREST_RATE)
                .div(1000);
            if (_reinvest(addr, amountToReinvest)) {
                emit OnInvest(addr, amountToReinvest);
            }
            investor.investments[i].dividends = investor
                .investments[i]
                .dividends
                .subz(amountToReinvest);
            totalReinvested = totalReinvested.add(amountToReinvest);
            investor.investments[i].dividendCalculatedDate = calculatedDate;
        }
    }
    function getInvestments(address addr)
        public
        view
        returns (
            uint256[] memory,
            uint256[] memory,
            uint256[] memory,
            bool[] memory
        )
    {
        Investor storage investor = investors[addr];
        uint256[] memory investmentDates = new uint256[](
            investor.investments.length
        );
        uint256[] memory investments = new uint256[](
            investor.investments.length
        );
        uint256[] memory withdrawn = new uint256[](investor.investments.length);
        bool[] memory isExpireds = new bool[](investor.investments.length);
        for (uint256 i; i < investor.investments.length; i++) {
            require(
                investor.investments[i].investmentDate != 0,
                "wrong investment date"
            );
            withdrawn[i] = investor.investments[i].withdrawn;
            investmentDates[i] = investor.investments[i].investmentDate;
            investments[i] = investor.investments[i].investment;
            if (investor.investments[i].isExpired) {
                isExpireds[i] = true;
            } else {
                isExpireds[i] = false;
                if (PLAN_TERM > 0) {
                    if (
                        block.timestamp >=
                        investor.investments[i].investmentDate.add(PLAN_TERM)
                    ) {
                        isExpireds[i] = true;
                    }
                }
            }
        }
        return (investmentDates, investments, withdrawn, isExpireds);
    }
    function _calculateDividends(
        uint256 _amount,
        uint256 _dailyInterestRate,
        uint256 _now,
        uint256 _start
    ) private pure returns (uint256) {
        return
            (((_amount * _dailyInterestRate) / 1000) * (_now - _start)) /
            (TIME_STEP_DRAW);
    }
    function withdraw() public nonReentrant {
        calculateDividendsAndautoReinvest(msg.sender);
        (uint256 dividends,) = getDividends(msg.sender);
        require(
            dividends >= MIN_WITHDRAW,
            "Cannot withdraw less than 0.02 Matic"
        );
        uint256 reinvestAmount = dividends
            .mul(ON_WITHDRAW_AUTO_REINTEREST_RATE)
            .div(1000);
        _reinvest(msg.sender, reinvestAmount);
        uint256 remainingAmount = dividends.subz(reinvestAmount);
        // Withdrawal date save
        totalWithdrawal = totalWithdrawal.add(remainingAmount);
        investors[msg.sender].totalWithdraw = remainingAmount;
        for (uint256 i = 0; i < investors[msg.sender].investments.length; i++) {
            investors[msg.sender].investments[i].lastWithdrawalDate = block
                .timestamp;
            investors[msg.sender].investments[i].withdrawn = investors[
                msg.sender
            ].investments[i].dividends;
            investors[msg.sender].investments[i].dividends = 0;
        }
        payable(msg.sender).transfer(remainingAmount);
    }
    function getContractInformation()
        public
        view
        returns (
            uint256,
            uint256,
            uint256,
            uint256,
            uint256,
            uint256
        )
    {
        uint256 contractBalance = getBalance();
        return (
            contractBalance,
            totalInvested,
            activeInvested,
            totalWithdrawal,
            totalReinvested,
            totalReferralReward
        );
    }
}
library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;
        return c;
    }
    function subz(uint256 a, uint256 b) internal pure returns (uint256) {
        if (b >= a) {
            return 0;
        }
        uint256 c = a - b;
        return c;
    }
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;
        return c;
    }
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: modulo by zero");
        return a % b;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"_primaryAddress","type":"address"},{"internalType":"address payable","name":"_secondaryAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnInvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"OnReinvest","type":"event"},{"inputs":[],"name":"activeInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"calculateDividendsAndautoReinvest","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddress","type":"address"}],"name":"changePrimaryBenificiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"newAddress","type":"address"}],"name":"changeSecondaryBenificiary","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractInformation","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getInvestments","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bool[]","name":"","type":"bool[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getInvestorRefs","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_ref","type":"address"}],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"investors","outputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"address","name":"ref","type":"address"},{"internalType":"uint256","name":"totalDeposit","type":"uint256"},{"internalType":"uint256","name":"totalWithdraw","type":"uint256"},{"internalType":"uint256","name":"totalReinvest","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"primaryBenificiary","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"secondaryBenificiary","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReferralReward","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalReinvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040523480156200001157600080fd5b506040516200350a3803806200350a833981810160405281019062000037919062000221565b6001600081905550600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614158015620000aa5750600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b620000ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000e390620002ef565b60405180910390fd5b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555033600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505062000311565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001e982620001bc565b9050919050565b620001fb81620001dc565b81146200020757600080fd5b50565b6000815190506200021b81620001f0565b92915050565b600080604083850312156200023b576200023a620001b7565b5b60006200024b858286016200020a565b92505060206200025e858286016200020a565b9150509250929050565b600082825260208201905092915050565b7f5072696d617279206f72205365636f6e6461727920616464726573732063616e60008201527f6e6f74206265206e756c6c000000000000000000000000000000000000000000602082015250565b6000620002d7602b8362000268565b9150620002e48262000279565b604082019050919050565b600060208201905081810360008301526200030a81620002c8565b9050919050565b6131e980620003216000396000f3fe6080604052600436106101145760003560e01c80636f7bc9be116100a0578063a91f880311610064578063a91f880314610389578063aa37d610146103b4578063f592e82f146103df578063f6dfdad11461040a578063fc73c86e1461043a57610114565b80636f7bc9be146102a057806380f3c220146102e15780638ad61c551461030a5780638da5cb5b14610335578063a327ed931461036057610114565b80634634d81c116100e75780634634d81c146101b85780635216aeec146101f65780635e7dc418146102215780636b56ee021461024c5780636cbf7bf21461027757610114565b806303f9c7931461011957806312065fe0146101355780633075c8d6146101605780633ccfd60b146101a1575b600080fd5b610133600480360381019061012e91906125db565b61047a565b005b34801561014157600080fd5b5061014a6104c7565b6040516101579190612621565b60405180910390f35b34801561016c57600080fd5b50610187600480360381019061018291906125db565b6104cf565b60405161019895949392919061263c565b60405180910390f35b3480156101ad57600080fd5b506101b66105aa565b005b3480156101c457600080fd5b506101df60048036038101906101da91906125db565b610965565b6040516101ed9291906126aa565b60405180910390f35b34801561020257600080fd5b5061020b610b05565b6040516102189190612621565b60405180910390f35b34801561022d57600080fd5b50610236610b0b565b60405161024391906126f4565b60405180910390f35b34801561025857600080fd5b50610261610b31565b60405161026e9190612621565b60405180910390f35b34801561028357600080fd5b5061029e6004803603810190610299919061273b565b610b37565b005b3480156102ac57600080fd5b506102c760048036038101906102c291906125db565b610c7b565b6040516102d8959493929190612777565b60405180910390f35b3480156102ed57600080fd5b506103086004803603810190610303919061273b565b610cf1565b005b34801561031657600080fd5b5061031f610e35565b60405161032c9190612621565b60405180910390f35b34801561034157600080fd5b5061034a610e3b565b60405161035791906127ca565b60405180910390f35b34801561036c57600080fd5b50610387600480360381019061038291906125db565b610e61565b005b34801561039557600080fd5b5061039e6111f0565b6040516103ab9190612621565b60405180910390f35b3480156103c057600080fd5b506103c96111f6565b6040516103d69190612621565b60405180910390f35b3480156103eb57600080fd5b506103f46111fc565b60405161040191906126f4565b60405180910390f35b34801561041657600080fd5b5061041f611222565b604051610431969594939291906127e5565b60405180910390f35b34801561044657600080fd5b50610461600480360381019061045c91906125db565b61125c565b60405161047194939291906129c2565b60405180910390f35b610485338234611679565b156104c4577faf2a53799989d65c435efb2fb5aa187b184295fa3ac08d532832f9d5b85c035033346040516104bb929190612a23565b60405180910390a15b50565b600047905090565b600080600080600080600960008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806002016000600581106105305761052f612a4c565b5b01548160020160016005811061054957610548612a4c565b5b01548260020160026005811061056257610561612a4c565b5b01548360020160036005811061057b5761057a612a4c565b5b01548460020160046005811061059457610593612a4c565b5b0154955095509550955095505091939590929450565b600260005414156105f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e790612ad8565b60405180910390fd5b600260008190555061060133610e61565b600061060c33610965565b50905066470de4df820000811015610659576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065090612b6a565b60405180910390fd5b60006106836103e861067560fa856119bd90919063ffffffff16565b611a3890919063ffffffff16565b905061068f3382611a96565b5060006106a58284611d3390919063ffffffff16565b90506106bc81600654611d6090919063ffffffff16565b60068190555080600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206008018190555060005b600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01805490508110156109105742600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0182815481106107ae576107ad612a4c565b5b906000526020600020906007020160040181905550600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01818154811061081757610816612a4c565b5b906000526020600020906007020160050154600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a01828154811061087d5761087c612a4c565b5b9060005260206000209060070201600601819055506000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a0182815481106108e8576108e7612a4c565b5b906000526020600020906007020160050181905550808061090890612bb9565b91505061070c565b503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610957573d6000803e3d6000fd5b505050506001600081905550565b6000806000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008060005b83600a0180549050811015610af65760004290506000610a0462278d0087600a0185815481106109e4576109e3612a4c565b5b906000526020600020906007020160000154611d6090919063ffffffff16565b9050808210610a11578091505b6000610a6e87600a018581548110610a2c57610a2b612a4c565b5b9060005260206000209060070201600101546046858a600a018881548110610a5757610a56612a4c565b5b906000526020600020906007020160040154611dbe565b9050610a838187611d6090919063ffffffff16565b9550600062015180610ac589600a018781548110610aa457610aa3612a4c565b5b90600052602060002090600702016002015486611d3390919063ffffffff16565b610acf9190612c31565b90506000811115610adf57600195505b505050508080610aee90612bb9565b9150506109b1565b50818194509450505050915091565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbe90612cd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c2e90612d40565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60096020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060070154908060080154908060090154905085565b3373ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7890612cd4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610df1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de890612d40565b60405180910390fd5b80600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60055481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060005b81600a01805490508110156111eb5781600a018181548110610ecc57610ecb612a4c565b5b906000526020600020906007020160030160009054906101000a900460ff1615610ef5576111d8565b60004290506000610f3962278d0085600a018581548110610f1957610f18612a4c565b5b906000526020600020906007020160000154611d6090919063ffffffff16565b9050808210610fc857809150600184600a018481548110610f5d57610f5c612a4c565b5b906000526020600020906007020160030160006101000a81548160ff021916908315150217905550610fc184600a018481548110610f9e57610f9d612a4c565b5b906000526020600020906007020160010154600554611d3390919063ffffffff16565b6005819055505b600061102585600a018581548110610fe357610fe2612a4c565b5b90600052602060002090600702016001015460468588600a01888154811061100e5761100d612a4c565b5b906000526020600020906007020160040154611dbe565b90508085600a01858154811061103e5761103d612a4c565b5b90600052602060002090600702016005018190555060006201518061109387600a01878154811061107257611071612a4c565b5b90600052602060002090600702016002015486611d3390919063ffffffff16565b61109d9190612c31565b905060008114156110b157505050506111d8565b60006110db6103e86110cd60d2866119bd90919063ffffffff16565b611a3890919063ffffffff16565b90506110e78882611a96565b15611126577faf2a53799989d65c435efb2fb5aa187b184295fa3ac08d532832f9d5b85c0350888260405161111d929190612a23565b60405180910390a15b6111608188600a0188815481106111405761113f612a4c565b5b906000526020600020906007020160050154611d3390919063ffffffff16565b87600a01878154811061117657611175612a4c565b5b9060005260206000209060070201600501819055506111a081600754611d6090919063ffffffff16565b6007819055508487600a0187815481106111bd576111bc612a4c565b5b90600052602060002090600702016002018190555050505050505b80806111e390612bb9565b915050610ea7565b505050565b60085481565b60075481565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008060008060006112356104c7565b90508060045460055460065460075460085496509650965096509650965050909192939495565b6060806060806000600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600081600a018054905067ffffffffffffffff8111156112c8576112c7612d60565b5b6040519080825280602002602001820160405280156112f65781602001602082028036833780820191505090505b509050600082600a018054905067ffffffffffffffff81111561131c5761131b612d60565b5b60405190808252806020026020018201604052801561134a5781602001602082028036833780820191505090505b509050600083600a018054905067ffffffffffffffff8111156113705761136f612d60565b5b60405190808252806020026020018201604052801561139e5781602001602082028036833780820191505090505b509050600084600a018054905067ffffffffffffffff8111156113c4576113c3612d60565b5b6040519080825280602002602001820160405280156113f25781602001602082028036833780820191505090505b50905060005b85600a018054905081101561166057600086600a01828154811061141f5761141e612a4c565b5b9060005260206000209060070201600001541415611472576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146990612ddb565b60405180910390fd5b85600a01818154811061148857611487612a4c565b5b9060005260206000209060070201600601548382815181106114ad576114ac612a4c565b5b60200260200101818152505085600a0181815481106114cf576114ce612a4c565b5b9060005260206000209060070201600001548582815181106114f4576114f3612a4c565b5b60200260200101818152505085600a01818154811061151657611515612a4c565b5b90600052602060002090600702016001015484828151811061153b5761153a612a4c565b5b60200260200101818152505085600a01818154811061155d5761155c612a4c565b5b906000526020600020906007020160030160009054906101000a900460ff16156115ad57600182828151811061159657611595612a4c565b5b60200260200101901515908115158152505061164d565b60008282815181106115c2576115c1612a4c565b5b602002602001019015159081151581525050600062278d00111561164c5761161d62278d0087600a0183815481106115fd576115fc612a4c565b5b906000526020600020906007020160000154611d6090919063ffffffff16565b421061164b57600182828151811061163857611637612a4c565b5b6020026020010190151590811515815250505b5b5b808061165890612bb9565b9150506113f8565b5083838383985098509850985050505050509193509193565b600066b1a2bc2ec500003410156116c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116bc90612e47565b60405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611734576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161172b90612ed9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156117d7576117d6848484611e07565b5b61182c82600960008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154611d6090919063ffffffff16565b600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007018190555061188782600454611d6090919063ffffffff16565b6004819055506118a282600554611d6090919063ffffffff16565b600581905550600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a016040518060e00160405280428152602001848152602001428152602001600015158152602001428152602001600081526020016000815250908060018154018082558091505060019003906000526020600020906007020160009091909190915060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff0219169083151502179055506080820151816004015560a0820151816005015560c0820151816006015550506119b282612112565b600190509392505050565b6000808314156119d05760009050611a32565b600082846119de9190612ef9565b90508284826119ed9190612c31565b14611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490612fc5565b60405180910390fd5b809150505b92915050565b6000808211611a7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a7390613031565b60405180910390fd5b60008284611a8a9190612c31565b90508091505092915050565b6000611aed82600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070154611d6090919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070181905550611b8882600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090154611d6090919063ffffffff16565b600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060090181905550611be382600754611d6090919063ffffffff16565b600781905550600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600a016040518060e00160405280428152602001848152602001428152602001600015158152602001428152602001600081526020016000815250908060018154018082558091505060019003906000526020600020906007020160009091909190915060008201518160000155602082015181600101556040820151816002015560608201518160030160006101000a81548160ff0219169083151502179055506080820151816004015560a0820151816005015560c082015181600601555050611cff82600554611d6090919063ffffffff16565b600581905550611d1a82600454611d6090919063ffffffff16565b600481905550611d2982612284565b6001905092915050565b6000828210611d455760009050611d5a565b60008284611d539190613051565b9050809150505b92915050565b6000808284611d6f9190613085565b905083811015611db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611dab90613127565b60405180910390fd5b8091505092915050565b6000620151808284611dd09190613051565b6103e88688611ddf9190612ef9565b611de99190612c31565b611df39190612ef9565b611dfd9190612c31565b9050949350505050565b82600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600082905082600960008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060005b600581101561210b57600073ffffffffffffffffffffffffffffffffffffffff16600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461208e576120196001600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201836005811061200957612008612a4c565b5b0154611d6090919063ffffffff16565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201826005811061206d5761206c612a4c565b5b0181905550612089826001836120839190613085565b856123f6565b612093565b61210b565b600960008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150808061210390612bb9565b915050611f11565b5050505050565b60008111612155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214c90613193565b60405180910390fd5b600061217f6103e86121716041856119bd90919063ffffffff16565b611a3890919063ffffffff16565b905060006121ab6103e861219d6023866119bd90919063ffffffff16565b611a3890919063ffffffff16565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612215573d6000803e3d6000fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505015801561227e573d6000803e3d6000fd5b50505050565b600081116122c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122be90613193565b60405180910390fd5b60006122f16103e86122e36028856119bd90919063ffffffff16565b611a3890919063ffffffff16565b9050600061231d6103e861230f6014866119bd90919063ffffffff16565b611a3890919063ffffffff16565b9050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015612387573d6000803e3d6000fd5b50600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156123f0573d6000803e3d6000fd5b50505050565b60006001831415612430576124296103e861241b6032856119bd90919063ffffffff16565b611a3890919063ffffffff16565b9050612510565b6002831415612468576124616103e8612453601e856119bd90919063ffffffff16565b611a3890919063ffffffff16565b905061250f565b60038314156124a0576124996103e861248b600f856119bd90919063ffffffff16565b611a3890919063ffffffff16565b905061250e565b60048314156124d8576124d16103e86124c36005856119bd90919063ffffffff16565b611a3890919063ffffffff16565b905061250d565b600583141561250c576125096103e86124fb6005856119bd90919063ffffffff16565b611a3890919063ffffffff16565b90505b5b5b5b5b61252581600854611d6090919063ffffffff16565b6008819055508373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015612571573d6000803e3d6000fd5b5050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006125a88261257d565b9050919050565b6125b88161259d565b81146125c357600080fd5b50565b6000813590506125d5816125af565b92915050565b6000602082840312156125f1576125f0612578565b5b60006125ff848285016125c6565b91505092915050565b6000819050919050565b61261b81612608565b82525050565b60006020820190506126366000830184612612565b92915050565b600060a0820190506126516000830188612612565b61265e6020830187612612565b61266b6040830186612612565b6126786060830185612612565b6126856080830184612612565b9695505050505050565b60008115159050919050565b6126a48161268f565b82525050565b60006040820190506126bf6000830185612612565b6126cc602083018461269b565b9392505050565b60006126de8261257d565b9050919050565b6126ee816126d3565b82525050565b600060208201905061270960008301846126e5565b92915050565b612718816126d3565b811461272357600080fd5b50565b6000813590506127358161270f565b92915050565b60006020828403121561275157612750612578565b5b600061275f84828501612726565b91505092915050565b6127718161259d565b82525050565b600060a08201905061278c6000830188612768565b6127996020830187612768565b6127a66040830186612612565b6127b36060830185612612565b6127c06080830184612612565b9695505050505050565b60006020820190506127df6000830184612768565b92915050565b600060c0820190506127fa6000830189612612565b6128076020830188612612565b6128146040830187612612565b6128216060830186612612565b61282e6080830185612612565b61283b60a0830184612612565b979650505050505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61287b81612608565b82525050565b600061288d8383612872565b60208301905092915050565b6000602082019050919050565b60006128b182612846565b6128bb8185612851565b93506128c683612862565b8060005b838110156128f75781516128de8882612881565b97506128e983612899565b9250506001810190506128ca565b5085935050505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6129398161268f565b82525050565b600061294b8383612930565b60208301905092915050565b6000602082019050919050565b600061296f82612904565b612979818561290f565b935061298483612920565b8060005b838110156129b557815161299c888261293f565b97506129a783612957565b925050600181019050612988565b5085935050505092915050565b600060808201905081810360008301526129dc81876128a6565b905081810360208301526129f081866128a6565b90508181036040830152612a0481856128a6565b90508181036060830152612a188184612964565b905095945050505050565b6000604082019050612a386000830185612768565b612a456020830184612612565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082825260208201905092915050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000612ac2601f83612a7b565b9150612acd82612a8c565b602082019050919050565b60006020820190508181036000830152612af181612ab5565b9050919050565b7f43616e6e6f74207769746864726177206c657373207468616e20302e3032204d60008201527f6174696300000000000000000000000000000000000000000000000000000000602082015250565b6000612b54602483612a7b565b9150612b5f82612af8565b604082019050919050565b60006020820190508181036000830152612b8381612b47565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612bc482612608565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bf757612bf6612b8a565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612c3c82612608565b9150612c4783612608565b925082612c5757612c56612c02565b5b828204905092915050565b7f4f6e6c79206f776e657220697320617574686f72697a656420666f722074686960008201527f73206f7074696f6e000000000000000000000000000000000000000000000000602082015250565b6000612cbe602883612a7b565b9150612cc982612c62565b604082019050919050565b60006020820190508181036000830152612ced81612cb1565b9050919050565b7f416464726573732063616e6e6f74206265206e756c6c00000000000000000000600082015250565b6000612d2a601683612a7b565b9150612d3582612cf4565b602082019050919050565b60006020820190508181036000830152612d5981612d1d565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f77726f6e6720696e766573746d656e7420646174650000000000000000000000600082015250565b6000612dc5601583612a7b565b9150612dd082612d8f565b602082019050919050565b60006020820190508181036000830152612df481612db8565b9050919050565b7f4d696e696d756d20696e766573746d656e7420697320302e3035204d61746963600082015250565b6000612e31602083612a7b565b9150612e3c82612dfb565b602082019050919050565b60006020820190508181036000830152612e6081612e24565b9050919050565b7f52656620616464726573732063616e6e6f742062652073616d6520776974682060008201527f63616c6c65720000000000000000000000000000000000000000000000000000602082015250565b6000612ec3602683612a7b565b9150612ece82612e67565b604082019050919050565b60006020820190508181036000830152612ef281612eb6565b9050919050565b6000612f0482612608565b9150612f0f83612608565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f4857612f47612b8a565b5b828202905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000612faf602183612a7b565b9150612fba82612f53565b604082019050919050565b60006020820190508181036000830152612fde81612fa2565b9050919050565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000600082015250565b600061301b601a83612a7b565b915061302682612fe5565b602082019050919050565b6000602082019050818103600083015261304a8161300e565b9050919050565b600061305c82612608565b915061306783612608565b92508282101561307a57613079612b8a565b5b828203905092915050565b600061309082612608565b915061309b83612608565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156130d0576130cf612b8a565b5b828201905092915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000613111601b83612a7b565b915061311c826130db565b602082019050919050565b6000602082019050818103600083015261314081613104565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000600082015250565b600061317d601d83612a7b565b915061318882613147565b602082019050919050565b600060208201905081810360008301526131ac81613170565b905091905056fea2646970667358221220a7eb348eb24fc0adea44705d066d4b2d321c36f90aca0a557508bfa02b64d77764736f6c634300080b003300000000000000000000000037a963146a33ae93dc314461534ef12dccd2fb3200000000000000000000000037a963146a33ae93dc314461534ef12dccd2fb32

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

00000000000000000000000037a963146a33ae93dc314461534ef12dccd2fb3200000000000000000000000037a963146a33ae93dc314461534ef12dccd2fb32

-----Decoded View---------------
Arg [0] : _primaryAddress (address): 0x37a963146a33ae93dc314461534ef12dccd2fb32
Arg [1] : _secondaryAddress (address): 0x37a963146a33ae93dc314461534ef12dccd2fb32

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000037a963146a33ae93dc314461534ef12dccd2fb32
Arg [1] : 00000000000000000000000037a963146a33ae93dc314461534ef12dccd2fb32


Deployed ByteCode Sourcemap

2824:14956:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5898:168;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6072:99;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;10643:459;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;16130:1144;;;;;;;;;;;;;:::i;:::-;;11108:1227;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;4023:28;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3973:43;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4094:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5438:222;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4693:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;5666:226;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4058:29;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2902:20;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;12341:1837;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4168:34;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4131:30;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3925:41;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17280:497;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;14184:1626;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;5898:168;5958:36;5966:10;5978:4;5984:9;5958:7;:36::i;:::-;5954:105;;;6016:31;6025:10;6037:9;6016:31;;;;;;;:::i;:::-;;;;;;;;5954:105;5898:168;:::o;6072:99::-;6115:7;6142:21;6135:28;;6072:99;:::o;10643:459::-;10744:7;10766;10788;10810;10832;10867:25;10895:9;:15;10905:4;10895:15;;;;;;;;;;;;;;;10867:43;;10943:8;:13;;10957:1;10943:16;;;;;;;:::i;:::-;;;;10974:8;:13;;10988:1;10974:16;;;;;;;:::i;:::-;;;;11005:8;:13;;11019:1;11005:16;;;;;;;:::i;:::-;;;;11036:8;:13;;11050:1;11036:16;;;;;;;:::i;:::-;;;;11067:8;:13;;11081:1;11067:16;;;;;;;:::i;:::-;;;;10921:173;;;;;;;;;;;10643:459;;;;;;;:::o;16130:1144::-;1812:1;2410:7;;:19;;2402:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;1812:1;2543:7;:18;;;;16181:45:::1;16215:10;16181:33;:45::i;:::-;16238:17;16260:24;16273:10;16260:12;:24::i;:::-;16237:47;;;3561:10;16317:9;:25;;16295:111;;;;;;;;;;;;:::i;:::-;;;;;;;;;16417:22;16442:85;16522:4;16442:61;3511:3;16442:9;:27;;:61;;;;:::i;:::-;:79;;:85;;;;:::i;:::-;16417:110;;16538:37;16548:10;16560:14;16538:9;:37::i;:::-;;16586:23;16612:30;16627:14;16612:9;:14;;:30;;;;:::i;:::-;16586:56;;16704:36;16724:15;16704;;:19;;:36;;;;:::i;:::-;16686:15;:54;;;;16789:15;16751:9;:21;16761:10;16751:21;;;;;;;;;;;;;;;:35;;:53;;;;16820:9;16815:396;16839:9;:21;16849:10;16839:21;;;;;;;;;;;;;;;:33;;:40;;;;16835:1;:44;16815:396;;;16959:33;16901:9;:21;16911:10;16901:21;;;;;;;;;;;;;;;:33;;16935:1;16901:36;;;;;;;;:::i;:::-;;;;;;;;;;;;:55;;:91;;;;17056:9;:53;17084:10;17056:53;;;;;;;;;;;;;;;:65;;17122:1;17056:68;;;;;;;;:::i;:::-;;;;;;;;;;;;:78;;;17007:9;:21;17017:10;17007:21;;;;;;;;;;;;;;;:33;;17041:1;17007:36;;;;;;;;:::i;:::-;;;;;;;;;;;;:46;;:127;;;;17198:1;17149:9;:21;17159:10;17149:21;;;;;;;;;;;;;;;:33;;17183:1;17149:36;;;;;;;;:::i;:::-;;;;;;;;;;;;:46;;:50;;;;16881:3;;;;;:::i;:::-;;;;16815:396;;;;17229:10;17221:28;;:45;17250:15;17221:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;16170:1104;;;1768:1:::0;2722:7;:22;;;;16130:1144::o;11108:1227::-;11165:7;11173:4;11190:25;11218:9;:15;11228:4;11218:15;;;;;;;;;;;;;;;11190:43;;11244:22;11281:15;11318:9;11313:970;11337:8;:20;;:27;;;;11333:1;:31;11313:970;;;11491:22;11516:15;11491:40;;11546:15;11564:85;3262:7;11564:8;:20;;11585:1;11564:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;:42;;:85;;;;:::i;:::-;11546:103;;11686:7;11668:14;:25;11664:90;;11731:7;11714:24;;11664:90;11768:14;11785:219;11823:8;:20;;11844:1;11823:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:34;;;3378:2;11914:14;11947:8;:20;;11968:1;11947:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:42;;;11785:19;:219::i;:::-;11768:236;;12036:26;12055:6;12036:14;:18;;:26;;;;:::i;:::-;12019:43;;12078:20;3318:6;12101:99;12139:8;:20;;12160:1;12139:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:46;;;12101:14;:19;;:99;;;;:::i;:::-;:116;;;;:::i;:::-;12078:139;;12251:1;12236:12;:16;12232:39;;;12267:4;12254:17;;12232:39;11371:912;;;;11366:3;;;;;:::i;:::-;;;;11313:970;;;;12301:14;12316:10;12293:34;;;;;;;11108:1227;;;:::o;4023:28::-;;;;:::o;3973:43::-;;;;;;;;;;;;;:::o;4094:30::-;;;;:::o;5438:222::-;5334:10;5325:19;;:5;;;;;;;;;;;:19;;;5303:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;5581:1:::1;5559:24;;:10;:24;;;;5551:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;5642:10;5621:18;;:31;;;;;;;;;;;;;;;;;;5438:222:::0;:::o;4693:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5666:226::-;5334:10;5325:19;;:5;;;;;;;;;;;:19;;;5303:109;;;;;;;;;;;;:::i;:::-;;;;;;;;;5811:1:::1;5789:24;;:10;:24;;;;5781:59;;;;;;;;;;;;:::i;:::-;;;;;;;;;5874:10;5851:20;;:33;;;;;;;;;;;;;;;;;;5666:226:::0;:::o;4058:29::-;;;;:::o;2902:20::-;;;;;;;;;;;;;:::o;12341:1837::-;12416:25;12444:9;:15;12454:4;12444:15;;;;;;;;;;;;;;;12416:43;;12475:9;12470:1701;12494:8;:20;;:27;;;;12490:1;:31;12470:1701;;;12547:8;:20;;12568:1;12547:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;;;;;;;;;;;12543:82;;;12601:8;;12543:82;12639:22;12664:15;12639:40;;12694:15;12712:85;3262:7;12712:8;:20;;12733:1;12712:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;:42;;:85;;;;:::i;:::-;12694:103;;12834:7;12816:14;:25;12812:280;;12879:7;12862:24;;12941:4;12905:8;:20;;12926:1;12905:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;;:40;;;;;;;;;;;;;;;;;;12981:95;13023:8;:20;;13044:1;13023:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:34;;;12981:14;;:19;;:95;;;;:::i;:::-;12964:14;:112;;;;12812:280;13106:14;13123:219;13161:8;:20;;13182:1;13161:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:34;;;3378:2;13252:14;13285:8;:20;;13306:1;13285:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:42;;;13123:19;:219::i;:::-;13106:236;;13393:6;13357:8;:20;;13378:1;13357:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;:42;;;;13414:20;3318:6;13437:99;13475:8;:20;;13496:1;13475:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:46;;;13437:14;:19;;:99;;;;:::i;:::-;:116;;;;:::i;:::-;13414:139;;13588:1;13572:12;:17;13568:31;;;13591:8;;;;;;13568:31;13614:24;13641:84;13720:4;13641:56;3441:3;13641:6;:28;;:56;;;;:::i;:::-;:78;;:84;;;;:::i;:::-;13614:111;;13744:33;13754:4;13760:16;13744:9;:33::i;:::-;13740:111;;;13803:32;13812:4;13818:16;13803:32;;;;;;;:::i;:::-;;;;;;;;13740:111;13901:110;13994:16;13901:8;:38;;13940:1;13901:41;;;;;;;;:::i;:::-;;;;;;;;;;;;:69;;;:92;;:110;;;;:::i;:::-;13865:8;:20;;13886:1;13865:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;:146;;;;14044:37;14064:16;14044:15;;:19;;:37;;;;:::i;:::-;14026:15;:55;;;;14145:14;14096:8;:20;;14117:1;14096:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:46;;:63;;;;12528:1643;;;;;12470:1701;12523:3;;;;;:::i;:::-;;;;12470:1701;;;;12405:1773;12341:1837;:::o;4168:34::-;;;;:::o;4131:30::-;;;;:::o;3925:41::-;;;;;;;;;;;;;:::o;17280:497::-;17376:7;17398;17420;17442;17464;17486;17521:23;17547:12;:10;:12::i;:::-;17521:38;;17592:15;17622:13;;17650:14;;17679:15;;17709;;17739:19;;17570:199;;;;;;;;;;;;;17280:497;;;;;;:::o;14184:1626::-;14284:16;14315;14346;14377:13;14418:25;14446:9;:15;14456:4;14446:15;;;;;;;;;;;;;;;14418:43;;14472:32;14535:8;:20;;:27;;;;14507:66;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14472:101;;14584:28;14643:8;:20;;:27;;;;14615:66;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14584:97;;14692:26;14735:8;:20;;:27;;;;14721:42;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14692:71;;14774:24;14812:8;:20;;:27;;;;14801:39;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14774:66;;14856:9;14851:881;14871:8;:20;;:27;;;;14867:1;:31;14851:881;;;14988:1;14946:8;:20;;14967:1;14946:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;:43;;14920:126;;;;;;;;;;;;:::i;:::-;;;;;;;;;15076:8;:20;;15097:1;15076:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;;15061:9;15071:1;15061:12;;;;;;;;:::i;:::-;;;;;;;:48;;;;;15145:8;:20;;15166:1;15145:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;15124:15;15140:1;15124:18;;;;;;;;:::i;:::-;;;;;;;:59;;;;;15215:8;:20;;15236:1;15215:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:34;;;15198:11;15210:1;15198:14;;;;;;;;:::i;:::-;;;;;;;:51;;;;;15268:8;:20;;15289:1;15268:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:33;;;;;;;;;;;;15264:457;;;15338:4;15322:10;15333:1;15322:13;;;;;;;;:::i;:::-;;;;;;;:20;;;;;;;;;;;15264:457;;;15399:5;15383:10;15394:1;15383:13;;;;;;;;:::i;:::-;;;;;;;:21;;;;;;;;;;;15439:1;3262:7;15427:13;15423:283;;;15539:53;3262:7;15539:8;:20;;15560:1;15539:23;;;;;;;;:::i;:::-;;;;;;;;;;;;:38;;;:42;;:53;;;;:::i;:::-;15495:15;:97;15465:222;;15659:4;15643:10;15654:1;15643:13;;;;;;;;:::i;:::-;;;;;;;:20;;;;;;;;;;;15465:222;15423:283;15264:457;14900:3;;;;;:::i;:::-;;;;14851:881;;;;15750:15;15767:11;15780:9;15791:10;15742:60;;;;;;;;;;;;;14184:1626;;;;;:::o;6177:1074::-;6291:4;3620:10;6316:9;:27;;6308:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;6407:5;6399:13;;:4;:13;;;;6391:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;6503:1;6470:35;;:9;:16;6480:5;6470:16;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:35;;;6466:102;;;6522:34;6535:5;6542:4;6548:7;6522:12;:34::i;:::-;6466:102;6610:66;6658:7;6610:9;:16;6620:5;6610:16;;;;;;;;;;;;;;;:29;;;:33;;:66;;;;:::i;:::-;6578:9;:16;6588:5;6578:16;;;;;;;;;;;;;;;:29;;:98;;;;6703:26;6721:7;6703:13;;:17;;:26;;;;:::i;:::-;6687:13;:42;;;;6757:27;6776:7;6757:14;;:18;;:27;;;;:::i;:::-;6740:14;:44;;;;6795:9;:16;6805:5;6795:16;;;;;;;;;;;;;;;:28;;6843:324;;;;;;;;6889:15;6843:324;;;;6935:7;6843:324;;;;6985:15;6843:324;;;;7084:5;6843:324;;;;;;7039:15;6843:324;;;;7119:1;6843:324;;;;7150:1;6843:324;;;6795:383;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7189:32;7213:7;7189:23;:32::i;:::-;7239:4;7232:11;;6177:1074;;;;;:::o;18365:246::-;18423:7;18452:1;18447;:6;18443:47;;;18477:1;18470:8;;;;18443:47;18500:9;18516:1;18512;:5;;;;:::i;:::-;18500:17;;18545:1;18540;18536;:5;;;;:::i;:::-;:10;18528:56;;;;;;;;;;;;:::i;:::-;;;;;;;;;18602:1;18595:8;;;18365:246;;;;;:::o;18617:177::-;18675:7;18707:1;18703;:5;18695:44;;;;;;;;;;;;:::i;:::-;;;;;;;;;18750:9;18766:1;18762;:5;;;;:::i;:::-;18750:17;;18785:1;18778:8;;;18617:177;;;;:::o;8031:928::-;8099:4;8148:66;8196:7;8148:9;:16;8158:5;8148:16;;;;;;;;;;;;;;;:29;;;:33;;:66;;;;:::i;:::-;8116:9;:16;8126:5;8116:16;;;;;;;;;;;;;;;:29;;:98;;;;8258:67;8307:7;8258:9;:16;8268:5;8258:16;;;;;;;;;;;;;;;:30;;;:34;;:67;;;;:::i;:::-;8225:9;:16;8235:5;8225:16;;;;;;;;;;;;;;;:30;;:100;;;;8354:28;8374:7;8354:15;;:19;;:28;;;;:::i;:::-;8336:15;:46;;;;8393:9;:16;8403:5;8393:16;;;;;;;;;;;;;;;:28;;8441:324;;;;;;;;8487:15;8441:324;;;;8533:7;8441:324;;;;8583:15;8441:324;;;;8682:5;8441:324;;;;;;8637:15;8441:324;;;;8717:1;8441:324;;;;8748:1;8441:324;;;8393:383;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8804:27;8823:7;8804:14;;:18;;:27;;;;:::i;:::-;8787:14;:44;;;;8858:26;8876:7;8858:13;;:17;;:26;;;;:::i;:::-;8842:13;:42;;;;8895:34;8921:7;8895:25;:34::i;:::-;8947:4;8940:11;;8031:928;;;;:::o;18179:180::-;18238:7;18267:1;18262;:6;18258:47;;18292:1;18285:8;;;;18258:47;18315:9;18331:1;18327;:5;;;;:::i;:::-;18315:17;;18350:1;18343:8;;;18179:180;;;;;:::o;17806:179::-;17864:7;17884:9;17900:1;17896;:5;;;;:::i;:::-;17884:17;;17925:1;17920;:6;;17912:46;;;;;;;;;;;;:::i;:::-;;;;;;;;;17976:1;17969:8;;;17806:179;;;;:::o;15816:308::-;15985:7;3318:6;16076;16069:4;:13;;;;:::i;:::-;16060:4;16038:18;16028:7;:28;;;;:::i;:::-;16027:37;;;;:::i;:::-;16026:57;;;;:::i;:::-;16025:91;;;;:::i;:::-;16005:111;;15816:308;;;;;;:::o;8965:570::-;9110:5;9086:9;:16;9096:5;9086:16;;;;;;;;;;;;;;;:21;;;:29;;;;;;;;;;;;;;;;;;9126:15;9144:4;9126:22;;9182:4;9159:9;:16;9169:5;9159:16;;;;;;;;;;;;;;;:20;;;:27;;;;;;;;;;;;;;;;;;9202:9;9197:331;9221:1;9217;:5;9197:331;;;9283:1;9248:37;;:9;:18;9258:7;9248:18;;;;;;;;;;;;;;;:23;;;;;;;;;;;;:37;;;9244:225;;9335:33;9366:1;9335:9;:18;9345:7;9335:18;;;;;;;;;;;;;;;:23;;9359:1;9335:26;;;;;;;:::i;:::-;;;;:30;;:33;;;;:::i;:::-;9306:9;:18;9316:7;9306:18;;;;;;;;;;;;;;;:23;;9330:1;9306:26;;;;;;;:::i;:::-;;;:62;;;;9387:55;9415:7;9430:1;9426;:5;;;;:::i;:::-;9434:7;9387:19;:55::i;:::-;9244:225;;;9464:5;;9244:225;9494:9;:18;9504:7;9494:18;;;;;;;;;;;;;;;:22;;;;;;;;;;;;9484:32;;9224:3;;;;;:::i;:::-;;;;9197:331;;;;9075:460;8965:570;;;:::o;9541:542::-;9628:1;9618:7;:11;9610:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;9674:35;9712:86;9793:4;9712:62;2992:2;9712:7;:25;;:62;;;;:::i;:::-;:80;;:86;;;;:::i;:::-;9674:124;;9809:37;9849:88;9932:4;9849:64;3066:2;9849:7;:25;;:64;;;;:::i;:::-;:82;;:88;;;;:::i;:::-;9809:128;;9948:18;;;;;;;;;;;:27;;:56;9976:27;9948:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10015:20;;;;;;;;;;;:29;;:60;10045:29;10015:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9599:484;;9541:542;:::o;10089:548::-;10178:1;10168:7;:11;10160:53;;;;;;;;;;;;:::i;:::-;;;;;;;;;10224:35;10262:88;10345:4;10262:64;3140:2;10262:7;:25;;:64;;;;:::i;:::-;:82;;:88;;;;:::i;:::-;10224:126;;10361:37;10401:90;10486:4;10401:66;3216:2;10401:7;:25;;:66;;;;:::i;:::-;:84;;:90;;;;:::i;:::-;10361:130;;10502:18;;;;;;;;;;;:27;;:56;10530:27;10502:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10569:20;;;;;;;;;;;:29;;:60;10599:29;10569:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10149:488;;10089:548;:::o;7257:768::-;7393:14;7431:1;7422:5;:10;7418:504;;;7458:44;7497:4;7458:34;3686:2;7458:7;:11;;:34;;;;:::i;:::-;:38;;:44;;;;:::i;:::-;7449:53;;7418:504;;;7533:1;7524:5;:10;7520:402;;;7560:44;7599:4;7560:34;3744:2;7560:7;:11;;:34;;;;:::i;:::-;:38;;:44;;;;:::i;:::-;7551:53;;7520:402;;;7635:1;7626:5;:10;7622:300;;;7662:44;7701:4;7662:34;3802:2;7662:7;:11;;:34;;;;:::i;:::-;:38;;:44;;;;:::i;:::-;7653:53;;7622:300;;;7737:1;7728:5;:10;7724:198;;;7764:44;7803:4;7764:34;3860:1;7764:7;:11;;:34;;;;:::i;:::-;:38;;:44;;;;:::i;:::-;7755:53;;7724:198;;;7839:1;7830:5;:10;7826:96;;;7866:44;7905:4;7866:34;3917:1;7866:7;:11;;:34;;;;:::i;:::-;:38;;:44;;;;:::i;:::-;7857:53;;7826:96;7724:198;7622:300;7520:402;7418:504;7954:31;7978:6;7954:19;;:23;;:31;;;;:::i;:::-;7932:19;:53;;;;7996:4;:13;;:21;8010:6;7996:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7382:643;7257:768;;;:::o;88:117:1:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:664::-;1816:4;1854:3;1843:9;1839:19;1831:27;;1868:71;1936:1;1925:9;1921:17;1912:6;1868:71;:::i;:::-;1949:72;2017:2;2006:9;2002:18;1993:6;1949:72;:::i;:::-;2031;2099:2;2088:9;2084:18;2075:6;2031:72;:::i;:::-;2113;2181:2;2170:9;2166:18;2157:6;2113:72;:::i;:::-;2195:73;2263:3;2252:9;2248:19;2239:6;2195:73;:::i;:::-;1611:664;;;;;;;;:::o;2281:90::-;2315:7;2358:5;2351:13;2344:21;2333:32;;2281:90;;;:::o;2377:109::-;2458:21;2473:5;2458:21;:::i;:::-;2453:3;2446:34;2377:109;;:::o;2492:320::-;2607:4;2645:2;2634:9;2630:18;2622:26;;2658:71;2726:1;2715:9;2711:17;2702:6;2658:71;:::i;:::-;2739:66;2801:2;2790:9;2786:18;2777:6;2739:66;:::i;:::-;2492:320;;;;;:::o;2818:104::-;2863:7;2892:24;2910:5;2892:24;:::i;:::-;2881:35;;2818:104;;;:::o;2928:142::-;3031:32;3057:5;3031:32;:::i;:::-;3026:3;3019:45;2928:142;;:::o;3076:254::-;3185:4;3223:2;3212:9;3208:18;3200:26;;3236:87;3320:1;3309:9;3305:17;3296:6;3236:87;:::i;:::-;3076:254;;;;:::o;3336:138::-;3417:32;3443:5;3417:32;:::i;:::-;3410:5;3407:43;3397:71;;3464:1;3461;3454:12;3397:71;3336:138;:::o;3480:155::-;3534:5;3572:6;3559:20;3550:29;;3588:41;3623:5;3588:41;:::i;:::-;3480:155;;;;:::o;3641:345::-;3708:6;3757:2;3745:9;3736:7;3732:23;3728:32;3725:119;;;3763:79;;:::i;:::-;3725:119;3883:1;3908:61;3961:7;3952:6;3941:9;3937:22;3908:61;:::i;:::-;3898:71;;3854:125;3641:345;;;;:::o;3992:118::-;4079:24;4097:5;4079:24;:::i;:::-;4074:3;4067:37;3992:118;;:::o;4116:664::-;4321:4;4359:3;4348:9;4344:19;4336:27;;4373:71;4441:1;4430:9;4426:17;4417:6;4373:71;:::i;:::-;4454:72;4522:2;4511:9;4507:18;4498:6;4454:72;:::i;:::-;4536;4604:2;4593:9;4589:18;4580:6;4536:72;:::i;:::-;4618;4686:2;4675:9;4671:18;4662:6;4618:72;:::i;:::-;4700:73;4768:3;4757:9;4753:19;4744:6;4700:73;:::i;:::-;4116:664;;;;;;;;:::o;4786:222::-;4879:4;4917:2;4906:9;4902:18;4894:26;;4930:71;4998:1;4987:9;4983:17;4974:6;4930:71;:::i;:::-;4786:222;;;;:::o;5014:775::-;5247:4;5285:3;5274:9;5270:19;5262:27;;5299:71;5367:1;5356:9;5352:17;5343:6;5299:71;:::i;:::-;5380:72;5448:2;5437:9;5433:18;5424:6;5380:72;:::i;:::-;5462;5530:2;5519:9;5515:18;5506:6;5462:72;:::i;:::-;5544;5612:2;5601:9;5597:18;5588:6;5544:72;:::i;:::-;5626:73;5694:3;5683:9;5679:19;5670:6;5626:73;:::i;:::-;5709;5777:3;5766:9;5762:19;5753:6;5709:73;:::i;:::-;5014:775;;;;;;;;;:::o;5795:114::-;5862:6;5896:5;5890:12;5880:22;;5795:114;;;:::o;5915:184::-;6014:11;6048:6;6043:3;6036:19;6088:4;6083:3;6079:14;6064:29;;5915:184;;;;:::o;6105:132::-;6172:4;6195:3;6187:11;;6225:4;6220:3;6216:14;6208:22;;6105:132;;;:::o;6243:108::-;6320:24;6338:5;6320:24;:::i;:::-;6315:3;6308:37;6243:108;;:::o;6357:179::-;6426:10;6447:46;6489:3;6481:6;6447:46;:::i;:::-;6525:4;6520:3;6516:14;6502:28;;6357:179;;;;:::o;6542:113::-;6612:4;6644;6639:3;6635:14;6627:22;;6542:113;;;:::o;6691:732::-;6810:3;6839:54;6887:5;6839:54;:::i;:::-;6909:86;6988:6;6983:3;6909:86;:::i;:::-;6902:93;;7019:56;7069:5;7019:56;:::i;:::-;7098:7;7129:1;7114:284;7139:6;7136:1;7133:13;7114:284;;;7215:6;7209:13;7242:63;7301:3;7286:13;7242:63;:::i;:::-;7235:70;;7328:60;7381:6;7328:60;:::i;:::-;7318:70;;7174:224;7161:1;7158;7154:9;7149:14;;7114:284;;;7118:14;7414:3;7407:10;;6815:608;;;6691:732;;;;:::o;7429:111::-;7493:6;7527:5;7521:12;7511:22;;7429:111;;;:::o;7546:181::-;7642:11;7676:6;7671:3;7664:19;7716:4;7711:3;7707:14;7692:29;;7546:181;;;;:::o;7733:129::-;7797:4;7820:3;7812:11;;7850:4;7845:3;7841:14;7833:22;;7733:129;;;:::o;7868:99::-;7939:21;7954:5;7939:21;:::i;:::-;7934:3;7927:34;7868:99;;:::o;7973:167::-;8036:10;8057:40;8093:3;8085:6;8057:40;:::i;:::-;8129:4;8124:3;8120:14;8106:28;;7973:167;;;;:::o;8146:110::-;8213:4;8245;8240:3;8236:14;8228:22;;8146:110;;;:::o;8286:708::-;8399:3;8428:51;8473:5;8428:51;:::i;:::-;8495:83;8571:6;8566:3;8495:83;:::i;:::-;8488:90;;8602:53;8649:5;8602:53;:::i;:::-;8678:7;8709:1;8694:275;8719:6;8716:1;8713:13;8694:275;;;8795:6;8789:13;8822:57;8875:3;8860:13;8822:57;:::i;:::-;8815:64;;8902:57;8952:6;8902:57;:::i;:::-;8892:67;;8754:215;8741:1;8738;8734:9;8729:14;;8694:275;;;8698:14;8985:3;8978:10;;8404:590;;;8286:708;;;;:::o;9000:1145::-;9371:4;9409:3;9398:9;9394:19;9386:27;;9459:9;9453:4;9449:20;9445:1;9434:9;9430:17;9423:47;9487:108;9590:4;9581:6;9487:108;:::i;:::-;9479:116;;9642:9;9636:4;9632:20;9627:2;9616:9;9612:18;9605:48;9670:108;9773:4;9764:6;9670:108;:::i;:::-;9662:116;;9825:9;9819:4;9815:20;9810:2;9799:9;9795:18;9788:48;9853:108;9956:4;9947:6;9853:108;:::i;:::-;9845:116;;10008:9;10002:4;9998:20;9993:2;9982:9;9978:18;9971:48;10036:102;10133:4;10124:6;10036:102;:::i;:::-;10028:110;;9000:1145;;;;;;;:::o;10151:332::-;10272:4;10310:2;10299:9;10295:18;10287:26;;10323:71;10391:1;10380:9;10376:17;10367:6;10323:71;:::i;:::-;10404:72;10472:2;10461:9;10457:18;10448:6;10404:72;:::i;:::-;10151:332;;;;;:::o;10489:180::-;10537:77;10534:1;10527:88;10634:4;10631:1;10624:15;10658:4;10655:1;10648:15;10675:169;10759:11;10793:6;10788:3;10781:19;10833:4;10828:3;10824:14;10809:29;;10675:169;;;;:::o;10850:181::-;10990:33;10986:1;10978:6;10974:14;10967:57;10850:181;:::o;11037:366::-;11179:3;11200:67;11264:2;11259:3;11200:67;:::i;:::-;11193:74;;11276:93;11365:3;11276:93;:::i;:::-;11394:2;11389:3;11385:12;11378:19;;11037:366;;;:::o;11409:419::-;11575:4;11613:2;11602:9;11598:18;11590:26;;11662:9;11656:4;11652:20;11648:1;11637:9;11633:17;11626:47;11690:131;11816:4;11690:131;:::i;:::-;11682:139;;11409:419;;;:::o;11834:223::-;11974:34;11970:1;11962:6;11958:14;11951:58;12043:6;12038:2;12030:6;12026:15;12019:31;11834:223;:::o;12063:366::-;12205:3;12226:67;12290:2;12285:3;12226:67;:::i;:::-;12219:74;;12302:93;12391:3;12302:93;:::i;:::-;12420:2;12415:3;12411:12;12404:19;;12063:366;;;:::o;12435:419::-;12601:4;12639:2;12628:9;12624:18;12616:26;;12688:9;12682:4;12678:20;12674:1;12663:9;12659:17;12652:47;12716:131;12842:4;12716:131;:::i;:::-;12708:139;;12435:419;;;:::o;12860:180::-;12908:77;12905:1;12898:88;13005:4;13002:1;12995:15;13029:4;13026:1;13019:15;13046:233;13085:3;13108:24;13126:5;13108:24;:::i;:::-;13099:33;;13154:66;13147:5;13144:77;13141:103;;;13224:18;;:::i;:::-;13141:103;13271:1;13264:5;13260:13;13253:20;;13046:233;;;:::o;13285:180::-;13333:77;13330:1;13323:88;13430:4;13427:1;13420:15;13454:4;13451:1;13444:15;13471:185;13511:1;13528:20;13546:1;13528:20;:::i;:::-;13523:25;;13562:20;13580:1;13562:20;:::i;:::-;13557:25;;13601:1;13591:35;;13606:18;;:::i;:::-;13591:35;13648:1;13645;13641:9;13636:14;;13471:185;;;;:::o;13662:227::-;13802:34;13798:1;13790:6;13786:14;13779:58;13871:10;13866:2;13858:6;13854:15;13847:35;13662:227;:::o;13895:366::-;14037:3;14058:67;14122:2;14117:3;14058:67;:::i;:::-;14051:74;;14134:93;14223:3;14134:93;:::i;:::-;14252:2;14247:3;14243:12;14236:19;;13895:366;;;:::o;14267:419::-;14433:4;14471:2;14460:9;14456:18;14448:26;;14520:9;14514:4;14510:20;14506:1;14495:9;14491:17;14484:47;14548:131;14674:4;14548:131;:::i;:::-;14540:139;;14267:419;;;:::o;14692:172::-;14832:24;14828:1;14820:6;14816:14;14809:48;14692:172;:::o;14870:366::-;15012:3;15033:67;15097:2;15092:3;15033:67;:::i;:::-;15026:74;;15109:93;15198:3;15109:93;:::i;:::-;15227:2;15222:3;15218:12;15211:19;;14870:366;;;:::o;15242:419::-;15408:4;15446:2;15435:9;15431:18;15423:26;;15495:9;15489:4;15485:20;15481:1;15470:9;15466:17;15459:47;15523:131;15649:4;15523:131;:::i;:::-;15515:139;;15242:419;;;:::o;15667:180::-;15715:77;15712:1;15705:88;15812:4;15809:1;15802:15;15836:4;15833:1;15826:15;15853:171;15993:23;15989:1;15981:6;15977:14;15970:47;15853:171;:::o;16030:366::-;16172:3;16193:67;16257:2;16252:3;16193:67;:::i;:::-;16186:74;;16269:93;16358:3;16269:93;:::i;:::-;16387:2;16382:3;16378:12;16371:19;;16030:366;;;:::o;16402:419::-;16568:4;16606:2;16595:9;16591:18;16583:26;;16655:9;16649:4;16645:20;16641:1;16630:9;16626:17;16619:47;16683:131;16809:4;16683:131;:::i;:::-;16675:139;;16402:419;;;:::o;16827:182::-;16967:34;16963:1;16955:6;16951:14;16944:58;16827:182;:::o;17015:366::-;17157:3;17178:67;17242:2;17237:3;17178:67;:::i;:::-;17171:74;;17254:93;17343:3;17254:93;:::i;:::-;17372:2;17367:3;17363:12;17356:19;;17015:366;;;:::o;17387:419::-;17553:4;17591:2;17580:9;17576:18;17568:26;;17640:9;17634:4;17630:20;17626:1;17615:9;17611:17;17604:47;17668:131;17794:4;17668:131;:::i;:::-;17660:139;;17387:419;;;:::o;17812:225::-;17952:34;17948:1;17940:6;17936:14;17929:58;18021:8;18016:2;18008:6;18004:15;17997:33;17812:225;:::o;18043:366::-;18185:3;18206:67;18270:2;18265:3;18206:67;:::i;:::-;18199:74;;18282:93;18371:3;18282:93;:::i;:::-;18400:2;18395:3;18391:12;18384:19;;18043:366;;;:::o;18415:419::-;18581:4;18619:2;18608:9;18604:18;18596:26;;18668:9;18662:4;18658:20;18654:1;18643:9;18639:17;18632:47;18696:131;18822:4;18696:131;:::i;:::-;18688:139;;18415:419;;;:::o;18840:348::-;18880:7;18903:20;18921:1;18903:20;:::i;:::-;18898:25;;18937:20;18955:1;18937:20;:::i;:::-;18932:25;;19125:1;19057:66;19053:74;19050:1;19047:81;19042:1;19035:9;19028:17;19024:105;19021:131;;;19132:18;;:::i;:::-;19021:131;19180:1;19177;19173:9;19162:20;;18840:348;;;;:::o;19194:220::-;19334:34;19330:1;19322:6;19318:14;19311:58;19403:3;19398:2;19390:6;19386:15;19379:28;19194:220;:::o;19420:366::-;19562:3;19583:67;19647:2;19642:3;19583:67;:::i;:::-;19576:74;;19659:93;19748:3;19659:93;:::i;:::-;19777:2;19772:3;19768:12;19761:19;;19420:366;;;:::o;19792:419::-;19958:4;19996:2;19985:9;19981:18;19973:26;;20045:9;20039:4;20035:20;20031:1;20020:9;20016:17;20009:47;20073:131;20199:4;20073:131;:::i;:::-;20065:139;;19792:419;;;:::o;20217:176::-;20357:28;20353:1;20345:6;20341:14;20334:52;20217:176;:::o;20399:366::-;20541:3;20562:67;20626:2;20621:3;20562:67;:::i;:::-;20555:74;;20638:93;20727:3;20638:93;:::i;:::-;20756:2;20751:3;20747:12;20740:19;;20399:366;;;:::o;20771:419::-;20937:4;20975:2;20964:9;20960:18;20952:26;;21024:9;21018:4;21014:20;21010:1;20999:9;20995:17;20988:47;21052:131;21178:4;21052:131;:::i;:::-;21044:139;;20771:419;;;:::o;21196:191::-;21236:4;21256:20;21274:1;21256:20;:::i;:::-;21251:25;;21290:20;21308:1;21290:20;:::i;:::-;21285:25;;21329:1;21326;21323:8;21320:34;;;21334:18;;:::i;:::-;21320:34;21379:1;21376;21372:9;21364:17;;21196:191;;;;:::o;21393:305::-;21433:3;21452:20;21470:1;21452:20;:::i;:::-;21447:25;;21486:20;21504:1;21486:20;:::i;:::-;21481:25;;21640:1;21572:66;21568:74;21565:1;21562:81;21559:107;;;21646:18;;:::i;:::-;21559:107;21690:1;21687;21683:9;21676:16;;21393:305;;;;:::o;21704:177::-;21844:29;21840:1;21832:6;21828:14;21821:53;21704:177;:::o;21887:366::-;22029:3;22050:67;22114:2;22109:3;22050:67;:::i;:::-;22043:74;;22126:93;22215:3;22126:93;:::i;:::-;22244:2;22239:3;22235:12;22228:19;;21887:366;;;:::o;22259:419::-;22425:4;22463:2;22452:9;22448:18;22440:26;;22512:9;22506:4;22502:20;22498:1;22487:9;22483:17;22476:47;22540:131;22666:4;22540:131;:::i;:::-;22532:139;;22259:419;;;:::o;22684:179::-;22824:31;22820:1;22812:6;22808:14;22801:55;22684:179;:::o;22869:366::-;23011:3;23032:67;23096:2;23091:3;23032:67;:::i;:::-;23025:74;;23108:93;23197:3;23108:93;:::i;:::-;23226:2;23221:3;23217:12;23210:19;;22869:366;;;:::o;23241:419::-;23407:4;23445:2;23434:9;23430:18;23422:26;;23494:9;23488:4;23484:20;23480:1;23469:9;23465:17;23458:47;23522:131;23648:4;23522:131;:::i;:::-;23514:139;;23241:419;;;:::o

Swarm Source

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