Contract 0x2D23cBAC4748c479AcB1e64208388C1FB1c61fCb

 
Txn Hash
Block
From
To
Value [Txn Fee]
0x70ec4bbf7d45fa397085ef53a6e412e172b04c5ca3924312613324ec82b0387466903892021-04-19 2:40:563 days 35 mins ago0xf4f9557d71be210e2b790881f54e356ca7f9468c IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000367005
0xeeb7efb176d62d17481ef9d9c4e98e9f9ed01cbf553e2f9b5128fe9da850630066723692021-04-18 11:38:243 days 15 hrs ago0x3ca7470e96002aeab38e9ab090c128b7536aa2f9 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000300545
0xe3e4ad4a25dcc34a70427c389f64664ae11f1ad9067be67a906f4a22e0f2b86566722052021-04-18 11:30:123 days 15 hrs ago0x0987fbd3c357fb724b5e6b875ccd272f69c909ca IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000300545
0x5692d9b4772b804bd822865bcc7d1492cb3261d63e7d6d1ae4530830aea9ce7f66715852021-04-18 10:59:103 days 16 hrs ago0xf0442ecfd47b7d8d1101f4f4fd1b8f2a7eeb3163 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000367005
0x24a854643ada91582f3fc9b54b3442a9013ed0a0854a802503e1f612da9f16f566708822021-04-18 10:24:013 days 16 hrs ago0x8cf4cb81bb7821d74b9870c15953b876d90fbb9c IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000300545
0x3f9b0fb16e8a61984ee43105730478f22182c6fe44e3ed9e3313b2cb8ad283ff66706032021-04-18 10:10:043 days 17 hrs ago0xdb9a59c174a1dd6d1ee271f54c4a22073b10e0c3 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000367005
0x695b4824cc45630fc8b557a96da04dcea2f541aba4e21e453538c923474f2abe66685682021-04-18 8:27:423 days 18 hrs ago0x4c7ea28530969f866f8cee9f6eeda3c6027f784e IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000334045
0x72fc6ff43fb66a9682a2f357953e29d300d4400fb7afa841d5af01694d08e5e866680832021-04-18 8:03:273 days 19 hrs ago0x22b0fa717a694e3dfb17b0d9e76cefccb89912c0 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.00512372
0x2b1bd0950eac6a97e3075b4eb07c58f1d55abe8bdd1656fe84ed0fc98e80ffc966676802021-04-18 7:43:183 days 19 hrs ago0xb9fd0fe2cc6651fd0e7f371f8ab9521856784e77 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000334005
0xb96c1ef2cf54450c590a6fdbfee79c503f3b097bf8d494a0fc594eb3e34ae4a566673652021-04-18 7:27:333 days 19 hrs ago0x189cb51c1eb43e9f23d04bc5edecd90f00ffb0b0 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000334005
0x8e3cbf6fa9c7e4d38faedd05d2a9812e91fb1f9e2bbf4937ed64efce72cdac9c66673382021-04-18 7:26:123 days 19 hrs ago0xe8dd850dade06d680dbd0b10f01170adb0292dc9 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.003021185
0xfeb1e9a57a79d1a9f6071fa9dd7bc866608b67d755d8e29e4cb580d1127565e366673382021-04-18 7:26:123 days 19 hrs ago0x5c6b020b366b23c6e41f9dd2c7502efcc3c4157a IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000334005
0x7eba30658c02053fb303b476274aaad47f6053aee3b8f0761a192924bfd2b44c66672062021-04-18 7:19:363 days 19 hrs ago0x22b0fa717a694e3dfb17b0d9e76cefccb89912c0 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.00512372
0x7cf12451457f6b3fda302f26ff0c39303e6916c0b03a5cf682973256a1b3834b66669872021-04-18 7:08:393 days 20 hrs ago0xb9fd0fe2cc6651fd0e7f371f8ab9521856784e77 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000334005
0xde1a65a3f7f8b71c6f3d02e0a5a7708ab6d05e15e17fd49f83ee9253789b45f666669292021-04-18 7:05:453 days 20 hrs ago0xf4f9557d71be210e2b790881f54e356ca7f9468c IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000400465
0xfa97cc7965299f1656d50f8d0c844808dd203b0513cced72cb15beb69df0084e66667202021-04-18 6:55:183 days 20 hrs ago0x22b0fa717a694e3dfb17b0d9e76cefccb89912c0 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.00512372
0x39893a69e8c0e08d68a9cf2bde0f793e534a5f97cf2c2e9c042b1395aedcbb3e66667152021-04-18 6:55:033 days 20 hrs ago0xf0442ecfd47b7d8d1101f4f4fd1b8f2a7eeb3163 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000400465
0xfec05857671f8ac160811af4a90aba1e6d9b65d43758b99ab620de17240acd8a66667092021-04-18 6:54:453 days 20 hrs ago0xe8dd850dade06d680dbd0b10f01170adb0292dc9 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.003021185
0x220eeea6580689e688e825e601b3f7ee7e03a4470cd23b41eb52b9d5935c6e9566666972021-04-18 6:54:093 days 20 hrs ago0xe18322990805fc8b28e953424b37181fe9af24f2 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000440415
0x4d92957cc745eb806bed3a66569d631076d8be48e44e88419e6ef1c28828b83a66666942021-04-18 6:54:003 days 20 hrs ago0x86825ff11c6ee2059cf0a870767314134a08a162 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000334005
0xa7fbdc220af489319869561691b1f7e67f28ab8aa990bf6a3592a1c438ffa04b66666482021-04-18 6:51:423 days 20 hrs ago0xb7d458c1c7afaa86f70d77cdcd98080818fa0fd0 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.00061329
0x76e891e3a7ef45956c8a7f3d380a7492440a10c22bb1369555a3df53ff45d3de66666142021-04-18 6:50:003 days 20 hrs ago0xe8dd850dade06d680dbd0b10f01170adb0292dc9 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000886125
0x645c460d0c28c08000cf3897b317a7171f9360d09b4196b678a478df5f0d551e66666012021-04-18 6:49:213 days 20 hrs ago0xe8dd850dade06d680dbd0b10f01170adb0292dc9 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.00308768
0x3ec495950fd7bd5425db1bcd92ec839a6c8b3e9278d34181e6e2f24068c51bc466657012021-04-18 6:04:193 days 21 hrs ago0x5c8ea68cde6e18e317f81f7fdc3d7c8877740c99 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.000440415
0xfb2325f0d5795a07b02b7267ebb9e48138ab4f253add157d74658471df7c620f66656932021-04-18 6:03:553 days 21 hrs ago0x22b0fa717a694e3dfb17b0d9e76cefccb89912c0 IN  0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0 BNB0.00512372
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x695b4824cc45630fc8b557a96da04dcea2f541aba4e21e453538c923474f2abe66685682021-04-18 8:27:423 days 18 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x4c7ea28530969f866f8cee9f6eeda3c6027f784e0.185582965393519021 BNB
0x72fc6ff43fb66a9682a2f357953e29d300d4400fb7afa841d5af01694d08e5e866680832021-04-18 8:03:273 days 19 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x22b0fa717a694e3dfb17b0d9e76cefccb89912c00.240297999999999986 BNB
0x2b1bd0950eac6a97e3075b4eb07c58f1d55abe8bdd1656fe84ed0fc98e80ffc966676802021-04-18 7:43:183 days 19 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xb9fd0fe2cc6651fd0e7f371f8ab9521856784e770.001925 BNB
0xb96c1ef2cf54450c590a6fdbfee79c503f3b097bf8d494a0fc594eb3e34ae4a566673652021-04-18 7:27:333 days 19 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x189cb51c1eb43e9f23d04bc5edecd90f00ffb0b00.008665277777777777 BNB
0x8e3cbf6fa9c7e4d38faedd05d2a9812e91fb1f9e2bbf4937ed64efce72cdac9c66673382021-04-18 7:26:123 days 19 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xe8dd850dade06d680dbd0b10f01170adb0292dc90.140422065972222212 BNB
0xfeb1e9a57a79d1a9f6071fa9dd7bc866608b67d755d8e29e4cb580d1127565e366673382021-04-18 7:26:123 days 19 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x5c6b020b366b23c6e41f9dd2c7502efcc3c4157a0.01903 BNB
0x7eba30658c02053fb303b476274aaad47f6053aee3b8f0761a192924bfd2b44c66672062021-04-18 7:19:363 days 19 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x22b0fa717a694e3dfb17b0d9e76cefccb89912c00.133164 BNB
0x7cf12451457f6b3fda302f26ff0c39303e6916c0b03a5cf682973256a1b3834b66669872021-04-18 7:08:393 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xb9fd0fe2cc6651fd0e7f371f8ab9521856784e770.026677777777777777 BNB
0xde1a65a3f7f8b71c6f3d02e0a5a7708ab6d05e15e17fd49f83ee9253789b45f666669292021-04-18 7:05:453 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xf4f9557d71be210e2b790881f54e356ca7f9468c0.0111590625 BNB
0xfa97cc7965299f1656d50f8d0c844808dd203b0513cced72cb15beb69df0084e66667202021-04-18 6:55:183 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x22b0fa717a694e3dfb17b0d9e76cefccb89912c00.281580666666666642 BNB
0x39893a69e8c0e08d68a9cf2bde0f793e534a5f97cf2c2e9c042b1395aedcbb3e66667152021-04-18 6:55:033 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xf0442ecfd47b7d8d1101f4f4fd1b8f2a7eeb31630.015608888888888888 BNB
0xfec05857671f8ac160811af4a90aba1e6d9b65d43758b99ab620de17240acd8a66667092021-04-18 6:54:453 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xe8dd850dade06d680dbd0b10f01170adb0292dc90.024110625 BNB
0x220eeea6580689e688e825e601b3f7ee7e03a4470cd23b41eb52b9d5935c6e9566666972021-04-18 6:54:093 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xe18322990805fc8b28e953424b37181fe9af24f20.12394148148148148 BNB
0x4d92957cc745eb806bed3a66569d631076d8be48e44e88419e6ef1c28828b83a66666942021-04-18 6:54:003 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x86825ff11c6ee2059cf0a870767314134a08a1620.00302199074074074 BNB
0xa7fbdc220af489319869561691b1f7e67f28ab8aa990bf6a3592a1c438ffa04b66666482021-04-18 6:51:423 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xb7d458c1c7afaa86f70d77cdcd98080818fa0fd00.905305555555555554 BNB
0x76e891e3a7ef45956c8a7f3d380a7492440a10c22bb1369555a3df53ff45d3de66666142021-04-18 6:50:003 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xe8dd850dade06d680dbd0b10f01170adb0292dc94 BNB
0x645c460d0c28c08000cf3897b317a7171f9360d09b4196b678a478df5f0d551e66666012021-04-18 6:49:213 days 20 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xe8dd850dade06d680dbd0b10f01170adb0292dc94.871090405092592582 BNB
0x3ec495950fd7bd5425db1bcd92ec839a6c8b3e9278d34181e6e2f24068c51bc466657012021-04-18 6:04:193 days 21 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x5c8ea68cde6e18e317f81f7fdc3d7c8877740c990.015929120370370369 BNB
0xfb2325f0d5795a07b02b7267ebb9e48138ab4f253add157d74658471df7c620f66656932021-04-18 6:03:553 days 21 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x22b0fa717a694e3dfb17b0d9e76cefccb89912c02.857637333333333312 BNB
0xfc01b973ed029a7920ed8842ad4e28c83e46d8014e4aa7c396e17ffb9f8c7f6a66654772021-04-18 5:53:073 days 21 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x33b9f548131a2201733029b73dd659485aca60230.032084629629629629 BNB
0xdce57ebf91274f0804d15dc6230af8f6fcd0d86fbea0a575c0a84846245bb96266644542021-04-18 5:01:553 days 22 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x4c7ea28530969f866f8cee9f6eeda3c6027f784e0.232491666666666666 BNB
0xc42877dcc8b7a50e342f8f5d06b594e6b98519f81791823cb56b31233228297d66642242021-04-18 4:50:253 days 22 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x8cf4cb81bb7821d74b9870c15953b876d90fbb9c0.111644444444444444 BNB
0xdf3f10ab036f657f06bb4caaaa15ef3f19d28bf4f31c9ceb627aac276d14d5c966632412021-04-18 4:01:163 days 23 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x4c7ea28530969f866f8cee9f6eeda3c6027f784e0.229297222222222222 BNB
0xfcb403854feb2e25df5f1dd529e02ebc21faeb6fb1dbdd41baeaa044c1acd07966629952021-04-18 3:48:583 days 23 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0x681b1b5f28334871e7b375656870f1a6a18131450.008425037037037037 BNB
0xf2f5feece85a803d2f0fa854d985762b3f9313b6033bcb33b51cc02da6a997f766629632021-04-18 3:47:223 days 23 hrs ago 0x2d23cbac4748c479acb1e64208388c1fb1c61fcb0xf4f9557d71be210e2b790881f54e356ca7f9468c0.0815446875 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
DIYSTAKE

Compiler Version
v0.7.0+commit.9e61f92b

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at BscScan.com on 2021-04-03
*/

/*
 *   Website: https://diystake.com/
 *
 *
 *   [USAGE INSTRUCTION]
 *
 *   1) Connect browser extension Metamask (see help: https://academy.binance.com/en/articles/connecting-metamask-to-binance-smart-chain )
 *   2) Choose one of the tariff plans, enter the BNB amount (0.05 BNB minimum) using our website "Stake BNB" button
 *   3) Wait for your earnings
 *   4) Withdraw earnings any time using our website "Withdraw" button
 *
 *   [INVESTMENT CONDITIONS]
 *
 *   - Basic interest rate: +0.5% every 24 hours (~0.02% hourly) - only for new deposits
 *   - Minimal deposit: 0.05 BNB, no maximal limit
 *   - Total income: based on your tarrif plan (from 5% to 8% daily!!!) + Basic interest rate !!!
 *   - Earnings every moment, withdraw any time (if you use capitalization of interest you can withdraw only at the end of your deposit) 
 *
 *   [AFFILIATE PROGRAM]
 *
 *   - 3-level referral commission: 5% - 2.5% - 0.5%
 */
 
 
// SPDX-License-Identifier: MIT

pragma solidity =0.7.0;

contract DIYSTAKE {
    using SafeMath for uint256;

    uint256 public LAUNCH_TIME;
    uint256[] public REFERRAL_PERCENTS = [50, 25, 5];
    uint256 public constant INVEST_MIN_AMOUNT = 0.05 ether;
    uint256 public constant PERCENT_STEP = 5;
    uint256 public constant PERCENTS_DIVIDER = 1000;
    uint256 public constant TIME_STEP = 1 days;
    uint256 public constant DECREASE_DAY_STEP = 0.5 days;
    uint256 public constant PENALTY_STEP = 200;
    uint256 public constant MARKETING_FEE = 50;
    uint256 public constant PROJECT_FEE = 50;

    uint256 public totalStaked;
    uint256 public totalRefBonus;

    struct Plan {
        uint256 time;
        uint256 percent;
    }

    Plan[] internal plans;

    struct Deposit {
        uint8 plan;
        uint256 percent;
        uint256 amount;
        uint256 profit;
        uint256 start;
        uint256 finish;
        bool force;
    }

    struct User {
        Deposit[] deposits;
        uint256 checkpoint;
        address referrer;
        uint256[3] levels;
        uint256 bonus;
        uint256 totalBonus;
    }

    mapping(address => User) internal users;
    mapping(address => Deposit[]) internal penaltyDeposits;

    address payable public marketingAddress;
    address payable public projectAddress;

    event Newbie(address user);
    event NewDeposit(
        address indexed user,
        uint8 plan,
        uint256 percent,
        uint256 amount,
        uint256 profit,
        uint256 start,
        uint256 finish
    );
    event Withdrawn(address indexed user, uint256 amount);
    event ForceWithdrawn(
        address indexed user,
        uint256 amount,
        uint256 penaltyAmount,
        uint256 penaltyID
    );
    event RefBonus(
        address indexed referrer,
        address indexed referral,
        uint256 indexed level,
        uint256 amount
    );
    event FeePayed(address indexed user, uint256 totalAmount);

    modifier beforeStarted() {
        require(block.timestamp >= LAUNCH_TIME, "!beforeStarted");
        _;
    }

    constructor(address payable marketingAddr, address payable projectAddr)
        public
    {
        require(!isContract(marketingAddr), "!marketingAddr");
        require(!isContract(projectAddr), "!projectAddr");

        marketingAddress = marketingAddr;
        projectAddress = projectAddr;

        if (getChainID() == 97) {
            LAUNCH_TIME = block.timestamp; // Test Network
        } else {
            LAUNCH_TIME = 1617631200;
        }

        plans.push(Plan(14, 80));
        plans.push(Plan(21, 65));
        plans.push(Plan(28, 50));
        plans.push(Plan(14, 80));
        plans.push(Plan(21, 65));
        plans.push(Plan(28, 50));
    }

    function invest(address referrer, uint8 plan)
        public
        payable
        beforeStarted()
    {
        require(msg.value >= INVEST_MIN_AMOUNT);
        require(plan < 6, "Invalid plan");

        marketingAddress.transfer(
            msg.value.mul(MARKETING_FEE).div(PERCENTS_DIVIDER)
        );
        projectAddress.transfer(
            msg.value.mul(PROJECT_FEE).div(PERCENTS_DIVIDER)
        );

        emit FeePayed(
            msg.sender,
            msg.value.mul(MARKETING_FEE.add(PROJECT_FEE)).div(PERCENTS_DIVIDER)
        );

        User storage user = users[msg.sender];

        if (user.referrer == address(0)) {
            if (referrer != msg.sender) {
                user.referrer = referrer;
            }

            address upline = user.referrer;
            for (uint256 i = 0; i < 3; i++) {
                if (upline != address(0)) {
                    users[upline].levels[i] = users[upline].levels[i].add(1);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.referrer != address(0)) {
            address upline = user.referrer;
            for (uint256 i = 0; i < 3; i++) {
                if (upline != address(0)) {
                    uint256 amount =
                        msg.value.mul(REFERRAL_PERCENTS[i]).div(
                            PERCENTS_DIVIDER
                        );
                    users[upline].bonus = users[upline].bonus.add(amount);
                    users[upline].totalBonus = users[upline].totalBonus.add(
                        amount
                    );
                    emit RefBonus(upline, msg.sender, i, amount);
                    upline = users[upline].referrer;
                } else break;
            }
        }

        if (user.deposits.length == 0) {
            user.checkpoint = block.timestamp;
            emit Newbie(msg.sender);
        }

        (uint256 percent, uint256 profit, , uint256 finish) =
            getResult(plan, msg.value);
        user.deposits.push(
            Deposit(
                plan,
                percent,
                msg.value,
                profit,
                block.timestamp,
                finish,
                true
            )
        );

        totalStaked = totalStaked.add(msg.value);
        emit NewDeposit(
            msg.sender,
            plan,
            percent,
            msg.value,
            profit,
            block.timestamp,
            finish
        );
    }

    function withdraw() public beforeStarted() {
        User storage user = users[msg.sender];

        uint256 totalAmount = getUserDividends(msg.sender);

        uint256 referralBonus = getUserReferralBonus(msg.sender);
        if (referralBonus > 0) {
            user.bonus = 0;
            totalAmount = totalAmount.add(referralBonus);
        }

        require(totalAmount > 0, "User has no dividends");

        uint256 contractBalance = address(this).balance;
        if (contractBalance < totalAmount) {
            totalAmount = contractBalance;
        }

        user.checkpoint = block.timestamp;

        for (uint256 i = 0; i < user.deposits.length; i++) {
            if (user.checkpoint < user.deposits[i].finish) {
                if (user.deposits[i].plan < 3) {
                    user.deposits[i].force = false;
                } else if (block.timestamp > user.deposits[i].finish) {
                    user.deposits[i].force = false;
                }
            }
        }

        msg.sender.transfer(totalAmount);

        emit Withdrawn(msg.sender, totalAmount);
    }

    function forceWithdraw(uint256 index) public beforeStarted() {
        User storage user = users[msg.sender];

        require(index < user.deposits.length, "Invalid index");
        require(user.deposits[index].force == true, "Force is false");

        uint256 depositAmount = user.deposits[index].amount;
        uint256 penaltyAmount =
            depositAmount.mul(PENALTY_STEP).div(PERCENTS_DIVIDER);

        msg.sender.transfer(depositAmount.sub(penaltyAmount));

        penaltyDeposits[msg.sender].push(user.deposits[index]);

        user.deposits[index] = user.deposits[user.deposits.length - 1];
        user.deposits.pop();

        // the reason length will not change that can't used
        // delete user.deposits[index];

        emit ForceWithdrawn(
            msg.sender,
            depositAmount,
            penaltyAmount,
            penaltyDeposits[msg.sender].length
        );
    }

    function getContractBalance() public view returns (uint256) {
        return address(this).balance;
    }

    function getPlanInfo(uint8 plan)
        public
        view
        returns (uint256 time, uint256 percent)
    {
        time = plans[plan].time;
        percent = plans[plan].percent;
    }

    function getPercent(uint8 plan) public view returns (uint256) {
        if (block.timestamp > LAUNCH_TIME) {
            return
                plans[plan].percent.add(
                    PERCENT_STEP.mul(block.timestamp.sub(LAUNCH_TIME)).div(
                        TIME_STEP
                    )
                );
        } else {
            return plans[plan].percent;
        }
    }

    function getResult(uint8 plan, uint256 deposit)
        public
        view
        returns (
            uint256 percent,
            uint256 profit,
            uint256 current,
            uint256 finish
        )
    {
        percent = getPercent(plan);

        if (plan < 3) {
            profit = deposit.mul(percent).div(PERCENTS_DIVIDER).mul(
                plans[plan].time
            );
        } else if (plan < 6) {
            for (uint256 i = 0; i < plans[plan].time; i++) {
                profit = profit.add(
                    (deposit.add(profit)).mul(percent).div(PERCENTS_DIVIDER)
                );
            }
        }

        current = block.timestamp;
        finish = current.add(getDecreaseDays(plans[plan].time));
    }

    function getUserDividends(address userAddress)
        public
        view
        returns (uint256)
    {
        User memory user = users[userAddress];

        uint256 totalAmount;

        for (uint256 i = 0; i < user.deposits.length; i++) {
            if (user.checkpoint < user.deposits[i].finish) {
                if (user.deposits[i].plan < 3) {
                    uint256 share =
                        user.deposits[i]
                            .amount
                            .mul(user.deposits[i].percent)
                            .div(PERCENTS_DIVIDER);
                    uint256 from =
                        user.deposits[i].start > user.checkpoint
                            ? user.deposits[i].start
                            : user.checkpoint;
                    uint256 to =
                        user.deposits[i].finish < block.timestamp
                            ? user.deposits[i].finish
                            : block.timestamp;
                    if (from < to) {
                        uint256 planTime =
                            plans[user.deposits[i].plan].time.mul(TIME_STEP);
                        uint256 redress =
                            planTime.div(
                                getDecreaseDays(
                                    plans[user.deposits[i].plan].time
                                )
                            );

                        totalAmount = totalAmount.add(
                            share.mul(to.sub(from)).mul(redress).div(TIME_STEP)
                        );
                    }
                } else if (block.timestamp > user.deposits[i].finish) {
                    totalAmount = totalAmount.add(user.deposits[i].profit);
                }
            }
        }

        return totalAmount;
    }

    function getDecreaseDays(uint256 planTime) public view returns (uint256) {
        uint256 limitDays = uint256(5).mul(TIME_STEP);
        uint256 pastDays = block.timestamp.sub(LAUNCH_TIME).div(TIME_STEP);
        uint256 decreaseDays = pastDays.mul(DECREASE_DAY_STEP);
        uint256 minimumDays = planTime.mul(TIME_STEP).sub(decreaseDays);

        if (planTime.mul(TIME_STEP).sub(decreaseDays) < limitDays) {
            return limitDays;
        }

        return minimumDays;
    }

    function getUserCheckpoint(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].checkpoint;
    }

    function getUserReferrer(address userAddress)
        public
        view
        returns (address)
    {
        return users[userAddress].referrer;
    }

    function getUserDownlineCount(address userAddress)
        public
        view
        returns (
            uint256,
            uint256,
            uint256
        )
    {
        return (
            users[userAddress].levels[0],
            users[userAddress].levels[1],
            users[userAddress].levels[2]
        );
    }

    function getUserReferralBonus(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].bonus;
    }

    function getUserReferralTotalBonus(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].totalBonus;
    }

    function getUserReferralWithdrawn(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].totalBonus.sub(users[userAddress].bonus);
    }

    function getUserAvailable(address userAddress)
        public
        view
        returns (uint256)
    {
        return
            getUserReferralBonus(userAddress).add(
                getUserDividends(userAddress)
            );
    }

    function getUserAmountOfDeposits(address userAddress)
        public
        view
        returns (uint256)
    {
        return users[userAddress].deposits.length;
    }

    function getUserAmountOfPenaltyDeposits(address userAddress)
        public
        view
        returns (uint256)
    {
        return penaltyDeposits[userAddress].length;
    }

    function getUserTotalDeposits(address userAddress)
        public
        view
        returns (uint256 amount)
    {
        for (uint256 i = 0; i < users[userAddress].deposits.length; i++) {
            amount = amount.add(users[userAddress].deposits[i].amount);
        }
    }

    function getUserDepositInfo(address userAddress, uint256 index)
        public
        view
        returns (
            uint8 plan,
            uint256 percent,
            uint256 amount,
            uint256 profit,
            uint256 start,
            uint256 finish,
            bool force
        )
    {
        User memory user = users[userAddress];

        require(index < user.deposits.length, "Invalid index");

        plan = user.deposits[index].plan;
        percent = user.deposits[index].percent;
        amount = user.deposits[index].amount;
        profit = user.deposits[index].profit;
        start = user.deposits[index].start;
        finish = user.deposits[index].finish;
        force = user.deposits[index].force;
    }

    function getUserPenaltyDepositInfo(address userAddress, uint256 index)
        public
        view
        returns (
            uint8 plan,
            uint256 percent,
            uint256 amount,
            uint256 profit,
            uint256 start,
            uint256 finish
        )
    {
        require(index < penaltyDeposits[userAddress].length, "Invalid index");

        plan = penaltyDeposits[userAddress][index].plan;
        percent = penaltyDeposits[userAddress][index].percent;
        amount = penaltyDeposits[userAddress][index].amount;
        profit = penaltyDeposits[userAddress][index].profit;
        start = penaltyDeposits[userAddress][index].start;
        finish = penaltyDeposits[userAddress][index].finish;
    }

    function getChainID() public pure returns (uint256) {
        uint256 id;
        assembly {
            id := chainid()
        }
        return id;
    }

    function isContract(address addr) internal view returns (bool) {
        uint256 size;
        assembly {
            size := extcodesize(addr)
        }
        return size > 0;
    }
}

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

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"marketingAddr","type":"address"},{"internalType":"address payable","name":"projectAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"totalAmount","type":"uint256"}],"name":"FeePayed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"penaltyAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"penaltyID","type":"uint256"}],"name":"ForceWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"plan","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"percent","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"profit","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"start","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"finish","type":"uint256"}],"name":"NewDeposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"}],"name":"Newbie","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"address","name":"referral","type":"address"},{"indexed":true,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"RefBonus","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdrawn","type":"event"},{"inputs":[],"name":"DECREASE_DAY_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"INVEST_MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"LAUNCH_TIME","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MARKETING_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PENALTY_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENT_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PROJECT_FEE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"forceWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChainID","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"planTime","type":"uint256"}],"name":"getDecreaseDays","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPercent","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"getPlanInfo","outputs":[{"internalType":"uint256","name":"time","type":"uint256"},{"internalType":"uint256","name":"percent","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"deposit","type":"uint256"}],"name":"getResult","outputs":[{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"current","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfPenaltyDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"},{"internalType":"bool","name":"force","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDownlineCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserPenaltyDepositInfo","outputs":[{"internalType":"uint8","name":"plan","type":"uint8"},{"internalType":"uint256","name":"percent","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"profit","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralTotalBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint8","name":"plan","type":"uint8"}],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"marketingAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"projectAddress","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalRefBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalStaked","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60806040526040518060600160405280603260ff168152602001601960ff168152602001600560ff1681525060019060036200003d92919062000482565b503480156200004b57600080fd5b5060405162003baa38038062003baa833981810160405260408110156200007157600080fd5b8101908080519060200190929190805190602001909291905050506200009d826200046260201b60201c565b1562000111576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f216d61726b6574696e674164647200000000000000000000000000000000000081525060200191505060405180910390fd5b62000122816200046260201b60201c565b1562000196576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f2170726f6a65637441646472000000000000000000000000000000000000000081525060200191505060405180910390fd5b81600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060616200022a6200047560201b60201c565b14156200023e57426000819055506200024a565b63606b17e06000819055505b60046040518060400160405280600e815260200160508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506004604051806040016040528060158152602001604181525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060046040518060400160405280601c8152602001603281525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060046040518060400160405280600e815260200160508152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550506004604051806040016040528060158152602001604181525090806001815401808255809150506001900390600052602060002090600202016000909190919091506000820151816000015560208201518160010155505060046040518060400160405280601c815260200160328152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550505050620004f8565b600080823b905060008111915050919050565b6000804690508091505090565b828054828255906000526020600020908101928215620004c6579160200282015b82811115620004c5578251829060ff16905591602001919060010190620004a3565b5b509050620004d59190620004d9565b5090565b5b80821115620004f4576000816000905550600101620004da565b5090565b6136a280620005086000396000f3fe60806040526004361061020f5760003560e01c806369b11dd511610118578063af3e2122116100a0578063d7ffca911161006f578063d7ffca9114610b1b578063dbaaed4014610b80578063e262113e14610c15578063e85abe0914610c40578063f596474214610ca55761020f565b8063af3e2122146109d8578063c0806b0314610a03578063ccf5d75f14610aa1578063d7a3a12214610acc5761020f565b8063817b1cd2116100e7578063817b1cd21461085c578063a51b953314610887578063a5ece941146108d9578063a8aeb6c21461091a578063aecaa6341461097f5761020f565b806369b11dd51461073c5780636bb18556146107675780636f9fb98a146107cc5780637e3abeea146107f75761020f565b80633ccfd60b1161019b578063564b81ef1161016a578063564b81ef146105d557806357fc86b414610600578063581c5ae61461062b5780635936cf611461067c578063600d20ce146106ed5761020f565b80633ccfd60b146104ed5780633cf96af11461050457806348c372031461054557806348d44bd1146105aa5761020f565b80630fcc56f7116101e25780630fcc56f714610342578063153ab9df1461037d5780631cfe4d8a146103e257806332bc298c1461044757806336144c9a146104725761020f565b806301c234a814610214578063022466b51461023f57806303a93c0c1461026a578063040a772e146102dd575b600080fd5b34801561022057600080fd5b50610229610cd0565b6040518082815260200191505060405180910390f35b34801561024b57600080fd5b50610254610cd6565b6040518082815260200191505060405180910390f35b34801561027657600080fd5b506102b96004803603602081101561028d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cdc565b60405180848152602001838152602001828152602001935050505060405180910390f35b3480156102e957600080fd5b5061032c6004803603602081101561030057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610dde565b6040518082815260200191505060405180910390f35b34801561034e57600080fd5b5061037b6004803603602081101561036557600080fd5b81019080803590602001909291905050506112a6565b005b34801561038957600080fd5b506103cc600480360360208110156103a057600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611832565b6040518082815260200191505060405180910390f35b3480156103ee57600080fd5b506104316004803603602081101561040557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061185e565b6040518082815260200191505060405180910390f35b34801561045357600080fd5b5061045c6118aa565b6040518082815260200191505060405180910390f35b34801561047e57600080fd5b506104c16004803603602081101561049557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506118b1565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156104f957600080fd5b5061050261191d565b005b34801561051057600080fd5b50610519611c6d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561055157600080fd5b506105946004803603602081101561056857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611c93565b6040518082815260200191505060405180910390f35b3480156105b657600080fd5b506105bf611cdf565b6040518082815260200191505060405180910390f35b3480156105e157600080fd5b506105ea611ce4565b6040518082815260200191505060405180910390f35b34801561060c57600080fd5b50610615611cf1565b6040518082815260200191505060405180910390f35b61067a6004803603604081101561064157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611cf6565b005b34801561068857600080fd5b506106c26004803603604081101561069f57600080fd5b81019080803560ff16906020019092919080359060200190929190505050612764565b6040518085815260200184815260200183815260200182815260200194505050505060405180910390f35b3480156106f957600080fd5b506107266004803603602081101561071057600080fd5b81019080803590602001909291905050506128c1565b6040518082815260200191505060405180910390f35b34801561074857600080fd5b506107516128e2565b6040518082815260200191505060405180910390f35b34801561077357600080fd5b506107b66004803603602081101561078a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506128e8565b6040518082815260200191505060405180910390f35b3480156107d857600080fd5b506107e1612988565b6040518082815260200191505060405180910390f35b34801561080357600080fd5b506108466004803603602081101561081a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612990565b6040518082815260200191505060405180910390f35b34801561086857600080fd5b50610871612a6b565b6040518082815260200191505060405180910390f35b34801561089357600080fd5b506108c3600480360360208110156108aa57600080fd5b81019080803560ff169060200190929190505050612a71565b6040518082815260200191505060405180910390f35b3480156108e557600080fd5b506108ee612b1d565b604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092657600080fd5b506109696004803603602081101561093d57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612b43565b6040518082815260200191505060405180910390f35b34801561098b57600080fd5b506109bb600480360360208110156109a257600080fd5b81019080803560ff169060200190929190505050612b92565b604051808381526020018281526020019250505060405180910390f35b3480156109e457600080fd5b506109ed612be2565b6040518082815260200191505060405180910390f35b348015610a0f57600080fd5b50610a5c60048036036040811015610a2657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050612be7565b604051808860ff168152602001878152602001868152602001858152602001848152602001838152602001821515815260200197505050505050505060405180910390f35b348015610aad57600080fd5b50610ab6612f21565b6040518082815260200191505060405180910390f35b348015610ad857600080fd5b50610b0560048036036020811015610aef57600080fd5b8101908080359060200190929190505050612f27565b6040518082815260200191505060405180910390f35b348015610b2757600080fd5b50610b6a60048036036020811015610b3e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050612ffe565b6040518082815260200191505060405180910390f35b348015610b8c57600080fd5b50610bd960048036036040811015610ba357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061304a565b604051808760ff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390f35b348015610c2157600080fd5b50610c2a613355565b6040518082815260200191505060405180910390f35b348015610c4c57600080fd5b50610c8f60048036036020811015610c6357600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050613360565b6040518082815260200191505060405180910390f35b348015610cb157600080fd5b50610cba6133ac565b6040518082815260200191505060405180910390f35b6103e881565b60005481565b6000806000600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600060038110610d2f57fe5b0154600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600160038110610d7f57fe5b0154600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301600260038110610dcf57fe5b01549250925092509193909250565b6000610de86135d7565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060c001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015610ef357838290600052602060002090600702016040518060e00160405290816000820160009054906101000a900460ff1660ff1660ff16815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff16151515158152505081526020019060010190610e57565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201600380602002604051908101604052809291908260038015610f97576020028201915b815481526020019060010190808311610f83575b50505050508152602001600682015481526020016007820154815250509050600080600090505b82600001515181101561129b5782600001518181518110610fdb57fe5b602002602001015160a001518360200151101561128e5760038360000151828151811061100457fe5b60200260200101516000015160ff1610156112385760006110786103e861106a8660000151858151811061103457fe5b6020026020010151602001518760000151868151811061105057fe5b6020026020010151604001516133b190919063ffffffff16565b61343790919063ffffffff16565b9050600084602001518560000151848151811061109157fe5b602002602001015160800151116110ac5784602001516110c9565b846000015183815181106110bc57fe5b6020026020010151608001515b9050600042866000015185815181106110de57fe5b602002602001015160a00151106110f55742611112565b8560000151848151811061110557fe5b602002602001015160a001515b9050808210156112305760006111706201518060048960000151888151811061113757fe5b60200260200101516000015160ff168154811061115057fe5b9060005260206000209060020201600001546133b190919063ffffffff16565b905060006111cb6111bc60048a60000151898151811061118c57fe5b60200260200101516000015160ff16815481106111a557fe5b906000526020600020906002020160000154612f27565b8361343790919063ffffffff16565b905061122b61121c6201518061120e846112006111f18a8a6134c690919063ffffffff16565b8b6133b190919063ffffffff16565b6133b190919063ffffffff16565b61343790919063ffffffff16565b8861354f90919063ffffffff16565b965050505b50505061128d565b8260000151818151811061124857fe5b602002602001015160a0015142111561128c576112898360000151828151811061126e57fe5b6020026020010151606001518361354f90919063ffffffff16565b91505b5b5b8080600101915050610fbe565b508092505050919050565b60005442101561131e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f216265666f72655374617274656400000000000000000000000000000000000081525060200191505060405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018054905082106113dd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c696420696e6465780000000000000000000000000000000000000081525060200191505060405180910390fd5b600115158160000183815481106113f057fe5b906000526020600020906007020160060160009054906101000a900460ff16151514611484576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f466f7263652069732066616c736500000000000000000000000000000000000081525060200191505060405180910390fd5b600081600001838154811061149557fe5b906000526020600020906007020160020154905060006114d36103e86114c560c8856133b190919063ffffffff16565b61343790919063ffffffff16565b90503373ffffffffffffffffffffffffffffffffffffffff166108fc61150283856134c690919063ffffffff16565b9081150290604051600060405180830381858888f1935050505015801561152d573d6000803e3d6000fd5b50600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002083600001858154811061157c57fe5b906000526020600020906007020190806001815401808255809150506001900390600052602060002090600702016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff16021790555060018201548160010155600282015481600201556003820154816003015560048201548160040155600582015481600501556006820160009054906101000a900460ff168160060160006101000a81548160ff02191690831515021790555050508260000160018460000180549050038154811061165b57fe5b906000526020600020906007020183600001858154811061167857fe5b90600052602060002090600702016000820160009054906101000a900460ff168160000160006101000a81548160ff021916908360ff16021790555060018201548160010155600282015481600201556003820154816003015560048201548160040155600582015481600501556006820160009054906101000a900460ff168160060160006101000a81548160ff0219169083151502179055509050508260000180548061172357fe5b6001900381819060005260206000209060070201600080820160006101000a81549060ff0219169055600182016000905560028201600090556003820160009055600482016000905560058201600090556006820160006101000a81549060ff0219169055505090553373ffffffffffffffffffffffffffffffffffffffff167f633968735585b4d87aa5d0f91933d94e1cd57f8c8a1d1722738e6305a0d790348383600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905060405180848152602001838152602001828152602001935050505060405180910390a250505050565b600061185761184083610dde565b61184984613360565b61354f90919063ffffffff16565b9050919050565b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b6201518081565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600054421015611995576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f216265666f72655374617274656400000000000000000000000000000000000081525060200191505060405180910390fd5b6000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060006119e333610dde565b905060006119f033613360565b90506000811115611a1b5760008360060181905550611a18818361354f90919063ffffffff16565b91505b60008211611a91576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260158152602001807f5573657220686173206e6f206469766964656e6473000000000000000000000081525060200191505060405180910390fd5b600047905082811015611aa2578092505b42846001018190555060005b8460000180549050811015611bd157846000018181548110611acc57fe5b90600052602060002090600702016005015485600101541015611bc4576003856000018281548110611afa57fe5b906000526020600020906007020160000160009054906101000a900460ff1660ff161015611b60576000856000018281548110611b3357fe5b906000526020600020906007020160060160006101000a81548160ff021916908315150217905550611bc3565b846000018181548110611b6f57fe5b906000526020600020906007020160050154421115611bc2576000856000018281548110611b9957fe5b906000526020600020906007020160060160006101000a81548160ff0219169083151502179055505b5b5b8080600101915050611aae565b503373ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050158015611c18573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5846040518082815260200191505060405180910390a250505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701549050919050565b603281565b6000804690508091505090565b600581565b600054421015611d6e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f216265666f72655374617274656400000000000000000000000000000000000081525060200191505060405180910390fd5b66b1a2bc2ec50000341015611d8257600080fd5b60068160ff1610611dfb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600c8152602001807f496e76616c696420706c616e000000000000000000000000000000000000000081525060200191505060405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611e5f6103e8611e516032346133b190919063ffffffff16565b61343790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611e8a573d6000803e3d6000fd5b50600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc611eef6103e8611ee16032346133b190919063ffffffff16565b61343790919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015611f1a573d6000803e3d6000fd5b503373ffffffffffffffffffffffffffffffffffffffff167f2899dc8c12def1caa9accb64257cf2fd9f960f21bb27a560a757eae3c2ec43c1611f8d6103e8611f7f611f7060328061354f90919063ffffffff16565b346133b190919063ffffffff16565b61343790919063ffffffff16565b6040518082815260200191505060405180910390a26000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415612251573373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146120b557828160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b60008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561224e57600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461223c576121806001600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600301836003811061217057fe5b015461354f90919063ffffffff16565b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030182600381106121cd57fe5b0181905550600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150612241565b61224e565b80806001019150506120e1565b50505b600073ffffffffffffffffffffffffffffffffffffffff168160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125705760008160020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060005b600381101561256d57600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161461255b5760006123526103e86123446001858154811061232a57fe5b9060005260206000200154346133b190919063ffffffff16565b61343790919063ffffffff16565b90506123a981600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006015461354f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206006018190555061244481600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206007015461354f90919063ffffffff16565b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060070181905550813373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fd41f7e766eebcc7ff42b11ac8691bdf864db4afc0c55e71d629d54edce460d98846040518082815260200191505060405180910390a4600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16925050612560565b61256d565b80806001019150506122d5565b50505b6000816000018054905014156125d7574281600101819055507f9fd565cd14c3c391679eb0cad12a14dcf7534e9d3462bcb9b67a098a9bbbc24a33604051808273ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15b60008060006125e68534612764565b93505092509250836000016040518060e001604052808760ff16815260200185815260200134815260200184815260200142815260200183815260200160011515815250908060018154018082558091505060019003906000526020600020906007020160009091909190915060008201518160000160006101000a81548160ff021916908360ff1602179055506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c08201518160060160006101000a81548160ff02191690831515021790555050506126dd3460025461354f90919063ffffffff16565b6002819055503373ffffffffffffffffffffffffffffffffffffffff167f84e02daa69bdb087c9fe8d3041abca495512cb14e723070f6d1d4efface82e5d868534864287604051808760ff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a2505050505050565b60008060008061277386612a71565b935060038660ff1610156127e2576127db60048760ff168154811061279457fe5b9060005260206000209060020201600001546127cd6103e86127bf888a6133b190919063ffffffff16565b61343790919063ffffffff16565b6133b190919063ffffffff16565b9250612877565b60068660ff1610156128765760005b60048760ff168154811061280157fe5b906000526020600020906002020160000154811015612874576128656128566103e86128488861283a898c61354f90919063ffffffff16565b6133b190919063ffffffff16565b61343790919063ffffffff16565b8561354f90919063ffffffff16565b935080806001019150506127f1565b505b5b4291506128b66128a760048860ff168154811061289057fe5b906000526020600020906002020160000154612f27565b8361354f90919063ffffffff16565b905092959194509250565b600181815481106128ce57fe5b906000526020600020016000915090505481565b60035481565b6000612981600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060154600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600701546134c690919063ffffffff16565b9050919050565b600047905090565b600080600090505b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000180549050811015612a6557612a56600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018281548110612a3557fe5b9060005260206000209060070201600201548361354f90919063ffffffff16565b91508080600101915050612998565b50919050565b60025481565b60008054421115612af357612aec612abc62015180612aae612a9e600054426134c690919063ffffffff16565b60056133b190919063ffffffff16565b61343790919063ffffffff16565b60048460ff1681548110612acc57fe5b90600052602060002090600202016001015461354f90919063ffffffff16565b9050612b18565b60048260ff1681548110612b0357fe5b90600052602060002090600202016001015490505b919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001805490509050919050565b60008060048360ff1681548110612ba557fe5b906000526020600020906002020160000154915060048360ff1681548110612bc957fe5b9060005260206000209060020201600101549050915091565b603281565b6000806000806000806000612bfa6135d7565b600560008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060c001604052908160008201805480602002602001604051908101604052809291908181526020016000905b82821015612d0557838290600052602060002090600702016040518060e00160405290816000820160009054906101000a900460ff1660ff1660ff16815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481526020016006820160009054906101000a900460ff16151515158152505081526020019060010190612c69565b505050508152602001600182015481526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201600380602002604051908101604052809291908260038015612da9576020028201915b815481526020019060010190808311612d95575b505050505081526020016006820154815260200160078201548152505090508060000151518910612e42576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c696420696e6465780000000000000000000000000000000000000081525060200191505060405180910390fd5b80600001518981518110612e5257fe5b602002602001015160000151975080600001518981518110612e7057fe5b602002602001015160200151965080600001518981518110612e8e57fe5b602002602001015160400151955080600001518981518110612eac57fe5b602002602001015160600151945080600001518981518110612eca57fe5b602002602001015160800151935080600001518981518110612ee857fe5b602002602001015160a00151925080600001518981518110612f0657fe5b602002602001015160c0015191505092959891949750929550565b61a8c081565b600080612f416201518060056133b190919063ffffffff16565b90506000612f6f62015180612f61600054426134c690919063ffffffff16565b61343790919063ffffffff16565b90506000612f8861a8c0836133b190919063ffffffff16565b90506000612fb482612fa662015180896133b190919063ffffffff16565b6134c690919063ffffffff16565b905083612fdf83612fd1620151808a6133b190919063ffffffff16565b6134c690919063ffffffff16565b1015612ff15783945050505050612ff9565b809450505050505b919050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101549050919050565b600080600080600080600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050871061310a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f496e76616c696420696e6465780000000000000000000000000000000000000081525060200191505060405180910390fd5b600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020878154811061315457fe5b906000526020600020906007020160000160009054906101000a900460ff169550600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002087815481106131bf57fe5b9060005260206000209060070201600101549450600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020878154811061321d57fe5b9060005260206000209060070201600201549350600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020878154811061327b57fe5b9060005260206000209060070201600301549250600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002087815481106132d957fe5b9060005260206000209060070201600401549150600660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020878154811061333757fe5b90600052602060002090600702016005015490509295509295509295565b66b1a2bc2ec5000081565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600601549050919050565b60c881565b6000808314156133c45760009050613431565b60008284029050828482816133d557fe5b041461342c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602181526020018061364c6021913960400191505060405180910390fd5b809150505b92915050565b60008082116134ae576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601a8152602001807f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060200191505060405180910390fd5b60008284816134b957fe5b0490508091505092915050565b60008282111561353e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525060200191505060405180910390fd5b600082840390508091505092915050565b6000808284019050838110156135cd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601b8152602001807f536166654d6174683a206164646974696f6e206f766572666c6f77000000000081525060200191505060405180910390fd5b8091505092915050565b6040518060c001604052806060815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001613615613629565b815260200160008152602001600081525090565b604051806060016040528060039060208202803683378082019150509050509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212203c4ab1e74e3053773cbe1f19ca61382caa6445d0dab6835155a4491bb2d7fac064736f6c6343000700003300000000000000000000000065b43ad6afaec946aa8e4674716e23dd67e5503900000000000000000000000065b43ad6afaec946aa8e4674716e23dd67e55039

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

00000000000000000000000065b43ad6afaec946aa8e4674716e23dd67e5503900000000000000000000000065b43ad6afaec946aa8e4674716e23dd67e55039

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 00000000000000000000000065b43ad6afaec946aa8e4674716e23dd67e55039
Arg [1] : 00000000000000000000000065b43ad6afaec946aa8e4674716e23dd67e55039


Deployed ByteCode Sourcemap

1020:15521:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1276:47;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1080:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12784:347;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10067:1861;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;7599:937;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13701:248;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14141:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1330:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12615:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;6461:1130;;;;;;;;;;;;;:::i;:::-;;2309:37;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13310:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1536:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;16179:161;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1229:40;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3841:2612;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9277:782;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1113:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1618:28;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13491:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8544:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14333:288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1585:26;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8866:403;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2263:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;13957:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8659:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1487:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;14629:771;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1379:52;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;11936:498;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12442:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15408:763;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1168:54;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;13139:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1438:42;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1276:47;1319:4;1276:47;:::o;1080:26::-;;;;:::o;12784:347::-;12897:7;12919;12941;12998:5;:18;13004:11;12998:18;;;;;;;;;;;;;;;:25;;13024:1;12998:28;;;;;;;;;13041:5;:18;13047:11;13041:18;;;;;;;;;;;;;;;:25;;13067:1;13041:28;;;;;;;;;13084:5;:18;13090:11;13084:18;;;;;;;;;;;;;;;:25;;13110:1;13084:28;;;;;;;;;12976:147;;;;;;12784:347;;;;;:::o;10067:1861::-;10162:7;10187:16;;:::i;:::-;10206:5;:18;10212:11;10206:18;;;;;;;;;;;;;;;10187:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10237:19;10274:9;10286:1;10274:13;;10269:1621;10293:4;:13;;;:20;10289:1;:24;10269:1621;;;10357:4;:13;;;10371:1;10357:16;;;;;;;;;;;;;;:23;;;10339:4;:15;;;:41;10335:1544;;;10429:1;10405:4;:13;;;10419:1;10405:16;;;;;;;;;;;;;;:21;;;:25;;;10401:1463;;;10455:13;10496:165;1319:4;10496:113;10584:4;:13;;;10598:1;10584:16;;;;;;;;;;;;;;:24;;;10496:4;:13;;;10510:1;10496:16;;;;;;;;;;;;;;:53;;;:87;;:113;;;;:::i;:::-;:147;;:165;;;;:::i;:::-;10455:206;;10684:12;10749:4;:15;;;10724:4;:13;;;10738:1;10724:16;;;;;;;;;;;;;;:22;;;:40;:141;;10850:4;:15;;;10724:141;;;10796:4;:13;;;10810:1;10796:16;;;;;;;;;;;;;;:22;;;10724:141;10684:181;;10888:10;10952:15;10926:4;:13;;;10940:1;10926:16;;;;;;;;;;;;;;:23;;;:41;:143;;11054:15;10926:143;;;10999:4;:13;;;11013:1;10999:16;;;;;;;;;;;;;;:23;;;10926:143;10888:181;;11103:2;11096:4;:9;11092:603;;;11134:16;11182:48;1366:6;11182:5;11188:4;:13;;;11202:1;11188:16;;;;;;;;;;;;;;:21;;;11182:28;;;;;;;;;;;;;;;;;;;;:33;;;:37;;:48;;;;:::i;:::-;11134:96;;11257:15;11304:200;11351:122;11405:5;11411:4;:13;;;11425:1;11411:16;;;;;;;;;;;;;;:21;;;11405:28;;;;;;;;;;;;;;;;;;;;:33;;;11351:15;:122::i;:::-;11304:8;:12;;:200;;;;:::i;:::-;11257:247;;11547:124;11593:51;1366:6;11593:36;11621:7;11593:23;11603:12;11610:4;11603:2;:6;;:12;;;;:::i;:::-;11593:5;:9;;:23;;;;:::i;:::-;:27;;:36;;;;:::i;:::-;:40;;:51;;;;:::i;:::-;11547:11;:15;;:124;;;;:::i;:::-;11533:138;;11092:603;;;10401:1463;;;;;;11742:4;:13;;;11756:1;11742:16;;;;;;;;;;;;;;:23;;;11724:15;:41;11720:144;;;11804:40;11820:4;:13;;;11834:1;11820:16;;;;;;;;;;;;;;:23;;;11804:11;:15;;:40;;;;:::i;:::-;11790:54;;11720:144;10401:1463;10335:1544;10315:3;;;;;;;10269:1621;;;;11909:11;11902:18;;;;10067:1861;;;:::o;7599:937::-;3089:11;;3070:15;:30;;3062:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7671:17:::1;7691:5;:17;7697:10;7691:17;;;;;;;;;;;;;;;7671:37;;7737:4;:13;;:20;;;;7729:5;:28;7721:54;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;7824:4;7794:34;;:4;:13;;7808:5;7794:20;;;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;:34;;;7786:61;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;7860:21;7884:4;:13;;7898:5;7884:20;;;;;;;;;;;;;;;;;;:27;;;7860:51;;7922:21;7959:53;1319:4;7959:31;1477:3;7959:13;:17;;:31;;;;:::i;:::-;:35;;:53;;;;:::i;:::-;7922:90;;8025:10;:19;;:53;8045:32;8063:13;8045;:17;;:32;;;;:::i;:::-;8025:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;8091:15;:27;8107:10;8091:27;;;;;;;;;;;;;;;8124:4;:13;;8138:5;8124:20;;;;;;;;;;;;;;;;;;8091:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8181:4;:13;;8218:1;8195:4;:13;;:20;;;;:24;8181:39;;;;;;;;;;;;;;;;;;8158:4;:13;;8172:5;8158:20;;;;;;;;;;;;;;;;;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8231:4;:13;;:19;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8402:10;8373:155;;;8427:13;8455;8483:15;:27;8499:10;8483:27;;;;;;;;;;;;;;;:34;;;;8373:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3130:1;;;7599:937:::0;:::o;13701:248::-;13796:7;13841:100;13897:29;13914:11;13897:16;:29::i;:::-;13841:33;13862:11;13841:20;:33::i;:::-;:37;;:100;;;;:::i;:::-;13821:120;;13701:248;;;:::o;14141:184::-;14250:7;14282:15;:28;14298:11;14282:28;;;;;;;;;;;;;;;:35;;;;14275:42;;14141:184;;;:::o;1330:42::-;1366:6;1330:42;:::o;12615:161::-;12709:7;12741:5;:18;12747:11;12741:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;12734:34;;12615:161;;;:::o;6461:1130::-;3089:11;;3070:15;:30;;3062:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6515:17:::1;6535:5;:17;6541:10;6535:17;;;;;;;;;;;;;;;6515:37;;6565:19;6587:28;6604:10;6587:16;:28::i;:::-;6565:50;;6628:21;6652:32;6673:10;6652:20;:32::i;:::-;6628:56;;6715:1;6699:13;:17;6695:123;;;6746:1;6733:4;:10;;:14;;;;6776:30;6792:13;6776:11;:15;;:30;;;;:::i;:::-;6762:44;;6695:123;6852:1;6838:11;:15;6830:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;6892:23;6918:21;6892:47;;6972:11;6954:15;:29;6950:91;;;7014:15;7000:29;;6950:91;7071:15;7053:4;:15;;:33;;;;7104:9;7099:388;7123:4;:13;;:20;;;;7119:1;:24;7099:388;;;7187:4;:13;;7201:1;7187:16;;;;;;;;;;;;;;;;;;:23;;;7169:4;:15;;;:41;7165:311;;;7259:1;7235:4;:13;;7249:1;7235:16;;;;;;;;;;;;;;;;;;:21;;;;;;;;;;;;:25;;;7231:230;;;7310:5;7285:4;:13;;7299:1;7285:16;;;;;;;;;;;;;;;;;;:22;;;:30;;;;;;;;;;;;;;;;;;7231:230;;;7363:4;:13;;7377:1;7363:16;;;;;;;;;;;;;;;;;;:23;;;7345:15;:41;7341:120;;;7436:5;7411:4;:13;;7425:1;7411:16;;;;;;;;;;;;;;;;;;:22;;;:30;;;;;;;;;;;;;;;;;;7341:120;7231:230;7165:311;7145:3;;;;;;;7099:388;;;;7499:10;:19;;:32;7519:11;7499:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;7559:10;7549:34;;;7571:11;7549:34;;;;;;;;;;;;;;;;;;3130:1;;;;6461:1130::o:0;2309:37::-;;;;;;;;;;;;;:::o;13310:173::-;13414:7;13446:5;:18;13452:11;13446:18;;;;;;;;;;;;;;;:29;;;13439:36;;13310:173;;;:::o;1536:40::-;1574:2;1536:40;:::o;16179:161::-;16222:7;16242:10;16293:9;16287:15;;16330:2;16323:9;;;16179:161;:::o;1229:40::-;1268:1;1229:40;:::o;3841:2612::-;3089:11;;3070:15;:30;;3062:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1212:10:::1;3969:9;:30;;3961:39;;;::::0;::::1;;4026:1;4019:4;:8;;;4011:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;4057:16;;;;;;;;;;;:25;;:101;4097:50;1319:4;4097:28;1527:2;4097:9;:13;;:28;;;;:::i;:::-;:32;;:50;;;;:::i;:::-;4057:101;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;4169:14;;;;;;;;;;;:23;;:97;4207:48;1319:4;4207:26;1574:2;4207:9;:13;;:26;;;;:::i;:::-;:30;;:48;;;;:::i;:::-;4169:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;4307:10;4284:126;;;4332:67;1319:4;4332:45;4346:30;1574:2;1527::::0;4346:17:::1;;:30;;;;:::i;:::-;4332:9;:13;;:45;;;;:::i;:::-;:49;;:67;;;;:::i;:::-;4284:126;;;;;;;;;;;;;;;;;;4423:17;4443:5;:17;4449:10;4443:17;;;;;;;;;;;;;;;4423:37;;4502:1;4477:27;;:4;:13;;;;;;;;;;;;:27;;;4473:464;;;4537:10;4525:22;;:8;:22;;;4521:87;;4584:8;4568:4;:13;;;:24;;;;;;;;;;;;;;;;;;4521:87;4624:14;4641:4;:13;;;;;;;;;;;;4624:30;;4674:9;4669:257;4693:1;4689;:5;4669:257;;;4742:1;4724:20;;:6;:20;;;4720:190;;4795:30;4823:1;4795:5;:13;4801:6;4795:13;;;;;;;;;;;;;;;:20;;4816:1;4795:23;;;;;;;;;:27;;:30;;;;:::i;:::-;4769:5;:13;4775:6;4769:13;;;;;;;;;;;;;;;:20;;4790:1;4769:23;;;;;;;;:56;;;;4857:5;:13;4863:6;4857:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;4848:31;;4720:190;;;4905:5;;4720:190;4696:3;;;;;;;4669:257;;;;4473:464;;4978:1;4953:27;;:4;:13;;;;;;;;;;;;:27;;;4949:737;;4997:14;5014:4;:13;;;;;;;;;;;;4997:30;;5047:9;5042:633;5066:1;5062;:5;5042:633;;;5115:1;5097:20;;:6;:20;;;5093:566;;5142:14;5184:113;1319:4;5184:35;5198:17;5216:1;5198:20;;;;;;;;;;;;;;;;5184:9;:13;;:35;;;;:::i;:::-;:39;;:113;;;;:::i;:::-;5142:155;;5342:31;5366:6;5342:5;:13;5348:6;5342:13;;;;;;;;;;;;;;;:19;;;:23;;:31;;;;:::i;:::-;5320:5;:13;5326:6;5320:13;;;;;;;;;;;;;;;:19;;:53;;;;5423:84;5478:6;5423:5;:13;5429:6;5423:13;;;;;;;;;;;;;;;:24;;;:28;;:84;;;;:::i;:::-;5396:5;:13;5402:6;5396:13;;;;;;;;;;;;;;;:24;;:111;;;;5564:1;5552:10;5535:39;;5544:6;5535:39;;;5567:6;5535:39;;;;;;;;;;;;;;;;;;5606:5;:13;5612:6;5606:13;;;;;;;;;;;;;;;:22;;;;;;;;;;;;5597:31;;5093:566;;;;5654:5;;5093:566;5069:3;;;;;;;5042:633;;;;4949:737;;5726:1;5702:4;:13;;:20;;;;:25;5698:129;;;5762:15;5744:4;:15;;:33;;;;5797:18;5804:10;5797:18;;;;;;;;;;;;;;;;;;;;5698:129;5840:15;5857:14:::0;5875::::1;5906:26;5916:4;5922:9;5906;:26::i;:::-;5839:93;;;;;;;5943:4;:13;;5976:206;;;;;;;;6002:4;5976:206;;;;;;6025:7;5976:206;;;;6051:9;5976:206;;;;6079:6;5976:206;;;;6104:15;5976:206;;;;6138:6;5976:206;;;;6163:4;5976:206;;;;::::0;5943:250:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6220:26;6236:9;6220:11;;:15;;:26;;;;:::i;:::-;6206:11;:40;;;;6287:10;6262:183;;;6312:4;6331:7;6353:9;6377:6;6398:15;6428:6;6262:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3130:1;;;;3841:2612:::0;;:::o;9277:782::-;9387:15;9417:14;9446:15;9476:14;9528:16;9539:4;9528:10;:16::i;:::-;9518:26;;9568:1;9561:4;:8;;;9557:391;;;9595:96;9660:5;9666:4;9660:11;;;;;;;;;;;;;;;;;;;;:16;;;9595:42;1319:4;9595:20;9607:7;9595;:11;;:20;;;;:::i;:::-;:24;;:42;;;;:::i;:::-;:46;;:96;;;;:::i;:::-;9586:105;;9557:391;;;9720:1;9713:4;:8;;;9709:239;;;9743:9;9738:199;9762:5;9768:4;9762:11;;;;;;;;;;;;;;;;;;;;:16;;;9758:1;:20;9738:199;;;9813:108;9846:56;1319:4;9846:34;9872:7;9847:19;9859:6;9847:7;:11;;:19;;;;:::i;:::-;9846:25;;:34;;;;:::i;:::-;:38;;:56;;;;:::i;:::-;9813:6;:10;;:108;;;;:::i;:::-;9804:117;;9780:3;;;;;;;9738:199;;;;9709:239;9557:391;9970:15;9960:25;;10005:46;10017:33;10033:5;10039:4;10033:11;;;;;;;;;;;;;;;;;;;;:16;;;10017:15;:33::i;:::-;10005:7;:11;;:46;;;;:::i;:::-;9996:55;;9277:782;;;;;;;:::o;1113:48::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1618:28::-;;;;:::o;13491:202::-;13594:7;13626:59;13660:5;:18;13666:11;13660:18;;;;;;;;;;;;;;;:24;;;13626:5;:18;13632:11;13626:18;;;;;;;;;;;;;;;:29;;;:33;;:59;;;;:::i;:::-;13619:66;;13491:202;;;:::o;8544:107::-;8595:7;8622:21;8615:28;;8544:107;:::o;14333:288::-;14432:14;14469:9;14481:1;14469:13;;14464:150;14488:5;:18;14494:11;14488:18;;;;;;;;;;;;;;;:27;;:34;;;;14484:1;:38;14464:150;;;14553:49;14564:5;:18;14570:11;14564:18;;;;;;;;;;;;;;;:27;;14592:1;14564:30;;;;;;;;;;;;;;;;;;:37;;;14553:6;:10;;:49;;;;:::i;:::-;14544:58;;14524:3;;;;;;;14464:150;;;;14333:288;;;:::o;1585:26::-;;;;:::o;8866:403::-;8919:7;8961:11;;8943:15;:29;8939:323;;;9013:178;9059:113;1366:6;9059:50;9076:32;9096:11;;9076:15;:19;;:32;;;;:::i;:::-;1268:1;9059:16;;:50;;;;:::i;:::-;:54;;:113;;;;:::i;:::-;9013:5;9019:4;9013:11;;;;;;;;;;;;;;;;;;;;:19;;;:23;;:178;;;;:::i;:::-;8989:202;;;;8939:323;9231:5;9237:4;9231:11;;;;;;;;;;;;;;;;;;;;:19;;;9224:26;;8866:403;;;;:::o;2263:39::-;;;;;;;;;;;;;:::o;13957:176::-;14059:7;14091:5;:18;14097:11;14091:18;;;;;;;;;;;;;;;:27;;:34;;;;14084:41;;13957:176;;;:::o;8659:199::-;8740:12;8754:15;8794:5;8800:4;8794:11;;;;;;;;;;;;;;;;;;;;:16;;;8787:23;;8831:5;8837:4;8831:11;;;;;;;;;;;;;;;;;;;;:19;;;8821:29;;8659:199;;;:::o;1487:42::-;1527:2;1487:42;:::o;14629:771::-;14755:10;14780:15;14810:14;14839;14868:13;14896:14;14925:10;14963:16;;:::i;:::-;14982:5;:18;14988:11;14982:18;;;;;;;;;;;;;;;14963:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15029:4;:13;;;:20;15021:5;:28;15013:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15087:4;:13;;;15101:5;15087:20;;;;;;;;;;;;;;:25;;;15080:32;;15133:4;:13;;;15147:5;15133:20;;;;;;;;;;;;;;:28;;;15123:38;;15181:4;:13;;;15195:5;15181:20;;;;;;;;;;;;;;:27;;;15172:36;;15228:4;:13;;;15242:5;15228:20;;;;;;;;;;;;;;:27;;;15219:36;;15274:4;:13;;;15288:5;15274:20;;;;;;;;;;;;;;:26;;;15266:34;;15320:4;:13;;;15334:5;15320:20;;;;;;;;;;;;;;:27;;;15311:36;;15366:4;:13;;;15380:5;15366:20;;;;;;;;;;;;;;:26;;;15358:34;;14629:771;;;;;;;;;;;:::o;1379:52::-;1423:8;1379:52;:::o;11936:498::-;12000:7;12020:17;12040:25;1366:6;12048:1;12040:14;;:25;;;;:::i;:::-;12020:45;;12076:16;12095:47;1366:6;12095:32;12115:11;;12095:15;:19;;:32;;;;:::i;:::-;:36;;:47;;;;:::i;:::-;12076:66;;12153:20;12176:31;1423:8;12176;:12;;:31;;;;:::i;:::-;12153:54;;12218:19;12240:41;12268:12;12240:23;1366:6;12240:8;:12;;:23;;;;:::i;:::-;:27;;:41;;;;:::i;:::-;12218:63;;12342:9;12298:41;12326:12;12298:23;1366:6;12298:8;:12;;:23;;;;:::i;:::-;:27;;:41;;;;:::i;:::-;:53;12294:102;;;12375:9;12368:16;;;;;;;;12294:102;12415:11;12408:18;;;;;;11936:498;;;;:::o;12442:165::-;12538:7;12570:5;:18;12576:11;12570:18;;;;;;;;;;;;;;;:29;;;12563:36;;12442:165;;;:::o;15408:763::-;15541:10;15566:15;15596:14;15625;15654:13;15682:14;15740:15;:28;15756:11;15740:28;;;;;;;;;;;;;;;:35;;;;15732:5;:43;15724:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15813:15;:28;15829:11;15813:28;;;;;;;;;;;;;;;15842:5;15813:35;;;;;;;;;;;;;;;;;;:40;;;;;;;;;;;;15806:47;;15874:15;:28;15890:11;15874:28;;;;;;;;;;;;;;;15903:5;15874:35;;;;;;;;;;;;;;;;;;:43;;;15864:53;;15937:15;:28;15953:11;15937:28;;;;;;;;;;;;;;;15966:5;15937:35;;;;;;;;;;;;;;;;;;:42;;;15928:51;;15999:15;:28;16015:11;15999:28;;;;;;;;;;;;;;;16028:5;15999:35;;;;;;;;;;;;;;;;;;:42;;;15990:51;;16060:15;:28;16076:11;16060:28;;;;;;;;;;;;;;;16089:5;16060:35;;;;;;;;;;;;;;;;;;:41;;;16052:49;;16121:15;:28;16137:11;16121:28;;;;;;;;;;;;;;;16150:5;16121:35;;;;;;;;;;;;;;;;;;:42;;;16112:51;;15408:763;;;;;;;;:::o;1168:54::-;1212:10;1168:54;:::o;13139:163::-;13238:7;13270:5;:18;13276:11;13270:18;;;;;;;;;;;;;;;:24;;;13263:31;;13139:163;;;:::o;1438:42::-;1477:3;1438:42;:::o;16950:250::-;17008:7;17037:1;17032;:6;17028:47;;;17062:1;17055:8;;;;17028:47;17087:9;17103:1;17099;:5;17087:17;;17132:1;17127;17123;:5;;;;;;:10;17115:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17191:1;17184:8;;;16950:250;;;;;:::o;17208:179::-;17266:7;17298:1;17294;:5;17286:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17341:9;17357:1;17353;:5;;;;;;17341:17;;17378:1;17371:8;;;17208:179;;;;:::o;16758:184::-;16816:7;16849:1;16844;:6;;16836:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16896:9;16912:1;16908;:5;16896:17;;16933:1;16926:8;;;16758:184;;;;:::o;16569:181::-;16627:7;16647:9;16663:1;16659;:5;16647:17;;16688:1;16683;:6;;16675:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16741:1;16734:8;;;16569:181;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

ipfs://3c4ab1e74e3053773cbe1f19ca61382caa6445d0dab6835155a4491bb2d7fac0
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.