Contract 0x1ca7d590cac2034c4d72da617797f4670a1a34bf 1

 
 
Txn Hash Method
Block
From
To
Value [Txn Fee]
0xdd20ca62348649115415cdf6fa405f8029b8d83b838b2f1048fc5e47e506b06aBuy New Level119096712021-10-19 13:35:407 days 10 hrs ago0x23319804d025a126835b7c2a8eab6a4738d665c2 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000950955
0x28c35695d71c6067ce3e7e2dd2e806d70fdcd12142a80825d3c297500c4a0f78Buy New Level119094602021-10-19 13:25:077 days 10 hrs ago0x23319804d025a126835b7c2a8eab6a4738d665c2 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.000950955
0x6fc707f58d89ab356ed9b14f64e1c2de356640792223be3a19f5517baa1bb51cBuy New Level119092742021-10-19 13:15:497 days 10 hrs ago0x23319804d025a126835b7c2a8eab6a4738d665c2 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000820115
0x19ca2d2f30e3b243a72edccda86b83e92e080c24435aae392ff2e9964becc307Buy New Level119092122021-10-19 13:12:437 days 10 hrs ago0x23319804d025a126835b7c2a8eab6a4738d665c2 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000690105
0x00857c520a990920a551c0e8f89fe3789ef9147339d42bdead4c397f70f3ee2bBuy New Level119091932021-10-19 13:11:467 days 10 hrs ago0x23319804d025a126835b7c2a8eab6a4738d665c2 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.000690105
0x6a37a3b0cad7aa83241206524f8472fd359d97cf017e278655cfb3451d14a716Buy New Level119090812021-10-19 13:06:107 days 10 hrs ago0x23319804d025a126835b7c2a8eab6a4738d665c2 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000690105
0x44874d8d69a96eb264ff422827ccea56569e60fd13cf150236efaa71413aa983Buy New Level118277992021-10-16 17:00:0110 days 6 hrs ago0x70445d4617863908cf4e940f3fd38edf35ac3c15 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000690105
0xd7c5241abd516cf4c88faac4ab2fd18147472a0c3a407b9d4997013ef6864b0aBuy New Level118191782021-10-16 9:45:4910 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.001028275
0x6b199a8008ca6ff7fa690bc3e8ef141d3a80ab99f2a029f9ddb625a2f512d636Buy New Level118191692021-10-16 9:45:2210 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.001103275
0x5acf4e6bb0f3e6cb6e894f25a9dece908189d1e3098602fac4faa0747531b93dBuy New Level118191582021-10-16 9:44:4910 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000820185
0xaa1cb29bef9484f346181331e4afe4b4a9b428acaf5fda1212a4ef376a241f9bBuy New Level118191472021-10-16 9:44:1610 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000615105
0xa3325bf37d916dd9e0fff1c1903db6417c265f222871f878ee994458b14b96cfBuy New Level118191412021-10-16 9:43:5810 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.000615105
0x63717b21cbc9c1249e66e4b82b0adfd08e01099d5e030bbc319e0a466770ed0eBuy New Level118191322021-10-16 9:43:3110 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000615105
0xad607a32c164ceea97e206fdf320d59f54c56ea222097045558fa7d6c9577004Registration Ext118191102021-10-16 9:42:2510 days 14 hrs ago0xb7765fb8004252722adfed68e40f874a75914467 IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.00404657
0xf265a123f8c449deb474d5b01dab9407fbb5a6c921ccd8636622a3fecac48fdfBuy New Level118183602021-10-16 9:04:5410 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000820185
0xa110835330f27d8b50188a504db09d1de5a012ab5c582f64608fca3e287afef0Buy New Level118183432021-10-16 9:04:0310 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.000820185
0x4a04b1800753216c80dbcf9466ef5be7c7578d42a462e1e1bccc932f35933890Buy New Level118183232021-10-16 9:03:0310 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000878275
0x91fa0ff19d223187f79fea30d5b48ce2b15fef8d8e8e535286fd4774a5d06a32Buy New Level118183012021-10-16 9:01:5710 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000690105
0x44891b24a2b4937947b4ef8157aefd62e335638d6bf3ee4cab92d02d768c7676Buy New Level118182892021-10-16 9:01:2110 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.000690105
0x4fc79a348e830c6c59a49304b26f0a874da675ed6dc3d26cd5c88fa6bf167556Buy New Level118182712021-10-16 9:00:2710 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000690105
0xbf662feee8cb508894dd62f41c0b947b7df443fa398f32b4f389740c637dd5aaRegistration Ext118182182021-10-16 8:57:4810 days 14 hrs ago0x260a848a0abaddcb6487347606caeeb58c71b0de IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.00424799
0x0cd452cafa156e21c5ad1a08aaac731e78ed668091634fa87ae3ba49d18c475fBuy New Level118131552021-10-16 4:43:4410 days 19 hrs ago0x5ebde536fdf708b09670f6b7f55f47fda94600fe IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000953405
0xbeec001f36aa06672a568bde3e68d98ee333d68bb75b7b0b7bd9358ce21bf1bdBuy New Level118131442021-10-16 4:43:1110 days 19 hrs ago0x5ebde536fdf708b09670f6b7f55f47fda94600fe IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.02 BNB0.000953405
0xb6266aca282cad293f745c6b123d294784be43847ff506f84ae8c07eaf9c1f17Buy New Level118131322021-10-16 4:42:3510 days 19 hrs ago0x5ebde536fdf708b09670f6b7f55f47fda94600fe IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.01 BNB0.000975835
0x7546f06a9cc1ceddfe908e5d2e09369d9deaf14b8b8c4acb582103b0f62cfa7eBuy New Level118131122021-10-16 4:41:3510 days 19 hrs ago0x5ebde536fdf708b09670f6b7f55f47fda94600fe IN  0x1ca7d590cac2034c4d72da617797f4670a1a34bf0.04 BNB0.000777255
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0xdd20ca62348649115415cdf6fa405f8029b8d83b838b2f1048fc5e47e506b06a119096712021-10-19 13:35:407 days 10 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xe55e63b099d20757eadfc63c343b751e76bb8a210.04 BNB
0x28c35695d71c6067ce3e7e2dd2e806d70fdcd12142a80825d3c297500c4a0f78119094602021-10-19 13:25:077 days 10 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xe55e63b099d20757eadfc63c343b751e76bb8a210.02 BNB
0x6fc707f58d89ab356ed9b14f64e1c2de356640792223be3a19f5517baa1bb51c119092742021-10-19 13:15:497 days 10 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xe55e63b099d20757eadfc63c343b751e76bb8a210.01 BNB
0x19ca2d2f30e3b243a72edccda86b83e92e080c24435aae392ff2e9964becc307119092122021-10-19 13:12:437 days 10 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x8faf63e7c0b60709e6c4b73baf9727fa2ad424f80.04 BNB
0x00857c520a990920a551c0e8f89fe3789ef9147339d42bdead4c397f70f3ee2b119091932021-10-19 13:11:467 days 10 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x8faf63e7c0b60709e6c4b73baf9727fa2ad424f80.02 BNB
0x6a37a3b0cad7aa83241206524f8472fd359d97cf017e278655cfb3451d14a716119090812021-10-19 13:06:107 days 10 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x8faf63e7c0b60709e6c4b73baf9727fa2ad424f80.01 BNB
0x44874d8d69a96eb264ff422827ccea56569e60fd13cf150236efaa71413aa983118277992021-10-16 17:00:0110 days 6 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xefbdfff99c7e39b44ddb2383ef13fc5bcce1c5290.01 BNB
0xd7c5241abd516cf4c88faac4ab2fd18147472a0c3a407b9d4997013ef6864b0a118191782021-10-16 9:45:4910 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x96790bb968309e89600643d733ceb508b0b27fdf0.04 BNB
0x6b199a8008ca6ff7fa690bc3e8ef141d3a80ab99f2a029f9ddb625a2f512d636118191692021-10-16 9:45:2210 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x96790bb968309e89600643d733ceb508b0b27fdf0.02 BNB
0x5acf4e6bb0f3e6cb6e894f25a9dece908189d1e3098602fac4faa0747531b93d118191582021-10-16 9:44:4910 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x030624bd2dcf6b5c7bf1249cbd63485a757aa6600.01 BNB
0xaa1cb29bef9484f346181331e4afe4b4a9b428acaf5fda1212a4ef376a241f9b118191472021-10-16 9:44:1610 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x96790bb968309e89600643d733ceb508b0b27fdf0.04 BNB
0xa3325bf37d916dd9e0fff1c1903db6417c265f222871f878ee994458b14b96cf118191412021-10-16 9:43:5810 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x96790bb968309e89600643d733ceb508b0b27fdf0.02 BNB
0x63717b21cbc9c1249e66e4b82b0adfd08e01099d5e030bbc319e0a466770ed0e118191322021-10-16 9:43:3110 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x96790bb968309e89600643d733ceb508b0b27fdf0.01 BNB
0xad607a32c164ceea97e206fdf320d59f54c56ea222097045558fa7d6c9577004118191102021-10-16 9:42:2510 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf 0xbead7ea2a817bd80c447a8785562b19dff987d260.01 BNB
0xad607a32c164ceea97e206fdf320d59f54c56ea222097045558fa7d6c9577004118191102021-10-16 9:42:2510 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xf9182d2e985f29774e0205944a4ff3f0cbf1f7ad0.005 BNB
0xad607a32c164ceea97e206fdf320d59f54c56ea222097045558fa7d6c9577004118191102021-10-16 9:42:2510 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x96790bb968309e89600643d733ceb508b0b27fdf0.005 BNB
0xf265a123f8c449deb474d5b01dab9407fbb5a6c921ccd8636622a3fecac48fdf118183602021-10-16 9:04:5410 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x634267621fb196fedca0b3db000c1dbe12598b2f0.04 BNB
0xa110835330f27d8b50188a504db09d1de5a012ab5c582f64608fca3e287afef0118183432021-10-16 9:04:0310 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0x634267621fb196fedca0b3db000c1dbe12598b2f0.02 BNB
0x4a04b1800753216c80dbcf9466ef5be7c7578d42a462e1e1bccc932f35933890118183232021-10-16 9:03:0310 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xa3f06316b0326f4b889f350b290999cfc649a9e00.01 BNB
0x91fa0ff19d223187f79fea30d5b48ce2b15fef8d8e8e535286fd4774a5d06a32118183012021-10-16 9:01:5710 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xa3f06316b0326f4b889f350b290999cfc649a9e00.04 BNB
0x44891b24a2b4937947b4ef8157aefd62e335638d6bf3ee4cab92d02d768c7676118182892021-10-16 9:01:2110 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xa3f06316b0326f4b889f350b290999cfc649a9e00.02 BNB
0x4fc79a348e830c6c59a49304b26f0a874da675ed6dc3d26cd5c88fa6bf167556118182712021-10-16 9:00:2710 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xa3f06316b0326f4b889f350b290999cfc649a9e00.01 BNB
0xbf662feee8cb508894dd62f41c0b947b7df443fa398f32b4f389740c637dd5aa118182182021-10-16 8:57:4810 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf 0xbead7ea2a817bd80c447a8785562b19dff987d260.01 BNB
0xbf662feee8cb508894dd62f41c0b947b7df443fa398f32b4f389740c637dd5aa118182182021-10-16 8:57:4810 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xa3f06316b0326f4b889f350b290999cfc649a9e00.005 BNB
0xbf662feee8cb508894dd62f41c0b947b7df443fa398f32b4f389740c637dd5aa118182182021-10-16 8:57:4810 days 14 hrs ago 0x1ca7d590cac2034c4d72da617797f4670a1a34bf0xa3f06316b0326f4b889f350b290999cfc649a9e00.005 BNB
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FicomX34

Compiler Version
v0.8.4+commit.c7e474f2

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at BscScan.com on 2021-05-09
*/

/**
https://ficom.io
**/

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

contract Bridge {
    function swap() public payable {}
}

contract FicomX16 {
    function buy(address creator, uint refer, uint lv) public payable {}
}

contract FicomX34 {
    Bridge bridge;
    FicomX16 x16;
    
    struct User {
        uint id;
        address referrer;
        uint partnersCount;
        
        mapping(uint8 => bool) activeX3Levels;
        mapping(uint8 => bool) activeX6Levels;
        
        mapping(uint8 => X3) x3Matrix;
        mapping(uint8 => X6) x6Matrix;
    }
    
    struct X3 {
        address currentReferrer;
        address[] referrals;
        bool blocked;
        uint reinvestCount;
    }
    
    struct X6 {
        address currentReferrer;
        address[] firstLevelReferrals;
        address[] secondLevelReferrals;
        bool blocked;
        uint reinvestCount;

        address closedPart;
    }

    uint8 public constant LAST_LEVEL = 15;
    
    mapping(address => User) public users;
    mapping(uint => address) public idToAddress;
    mapping(uint => address) public userIds;
    mapping(address => uint) public balances; 

    uint public lastUserId = 2;
    address public owner;
    
    mapping(uint8 => uint) public levelPrice;
    
    mapping(address => bool) public isEarner;
    uint public totalEarner;
    mapping(address => uint) public totalCommissionX3;
    mapping(address => uint) public totalCommissionX6;
    
    event Registration(address indexed user, address indexed referrer, uint indexed userId, uint referrerId);
    event Reinvest(address indexed user, address indexed currentReferrer, address indexed caller, uint8 matrix, uint8 level);
    event Upgrade(address indexed user, address indexed referrer, uint8 matrix, uint8 level);
    event NewUserPlace(address indexed user, address indexed referrer, uint8 matrix, uint8 level, uint8 place);
    event MissedEthReceive(address indexed receiver, address indexed from, uint8 matrix, uint8 level);
    event SentExtraEthDividends(address indexed from, address indexed receiver, uint8 matrix, uint8 level);
    
    
    constructor(address ownerAddress, address x16addr) {
        bridge = Bridge(ownerAddress);
        x16 = FicomX16(x16addr);

        levelPrice[1] = 0.005 ether;
        for (uint8 i = 2; i <= LAST_LEVEL; i++) {
            levelPrice[i] = levelPrice[i-1] * 2;
        }
        
        owner = ownerAddress;
        
        users[ownerAddress].id = 1;
        idToAddress[1] = ownerAddress;
        
        for (uint8 i = 1; i <= LAST_LEVEL; i++) {
            users[ownerAddress].activeX3Levels[i] = true;
            users[ownerAddress].activeX6Levels[i] = true;
        }
        
        userIds[1] = ownerAddress;
    }

    fallback() external {}
    
    receive() external payable {
        bridge.swap{value: msg.value}();
    }

    function registrationExt(address referrerAddress) external payable {
        registration(msg.sender, referrerAddress);
    }
    
    function buyNewLevel(uint8 matrix, uint8 level) external payable {
        require(isUserExists(msg.sender), "user is not exists. Register first.");
        require(matrix == 1 || matrix == 2, "invalid matrix");
        require(msg.value == levelPrice[level], "invalid price");
        require(level > 1 && level <= LAST_LEVEL, "invalid level");

        if (matrix == 1) {
            require(!users[msg.sender].activeX3Levels[level], "level already activated");

            if (users[msg.sender].x3Matrix[level-1].blocked) {
                users[msg.sender].x3Matrix[level-1].blocked = false;
            }
    
            address freeX3Referrer = findFreeX3Referrer(msg.sender, level);
            users[msg.sender].x3Matrix[level].currentReferrer = freeX3Referrer;
            users[msg.sender].activeX3Levels[level] = true;
            updateX3Referrer(msg.sender, freeX3Referrer, level);
            
            emit Upgrade(msg.sender, freeX3Referrer, 1, level);

        } else {
            require(!users[msg.sender].activeX6Levels[level], "level already activated"); 

            if (users[msg.sender].x6Matrix[level-1].blocked) {
                users[msg.sender].x6Matrix[level-1].blocked = false;
            }

            address freeX6Referrer = findFreeX6Referrer(msg.sender, level);
            
            users[msg.sender].activeX6Levels[level] = true;
            updateX6Referrer(msg.sender, freeX6Referrer, level);
            
            emit Upgrade(msg.sender, freeX6Referrer, 2, level);
        }
    }    
    
    function registration(address userAddress, address referrerAddress) private {
        require(msg.value == 0.02 ether, "registration cost 0.02");

        require(!isUserExists(userAddress), "user exists");
        require(isUserExists(referrerAddress), "referrer not exists");
        
        uint32 size;
        assembly {
            size := extcodesize(userAddress)
        }
        require(size == 0, "cannot be a contract");
        
        users[userAddress].id = lastUserId;
        users[userAddress].referrer = referrerAddress;

        idToAddress[lastUserId] = userAddress;
        
        users[userAddress].activeX3Levels[1] = true; 
        users[userAddress].activeX6Levels[1] = true;
        
        
        userIds[lastUserId] = userAddress;
        lastUserId++;
        
        users[referrerAddress].partnersCount++;

        address freeX3Referrer = findFreeX3Referrer(userAddress, 1);
        users[userAddress].x3Matrix[1].currentReferrer = freeX3Referrer;
        updateX3Referrer(userAddress, freeX3Referrer, 1);

        updateX6Referrer(userAddress, findFreeX6Referrer(userAddress, 1), 1);
        
        emit Registration(userAddress, referrerAddress, users[userAddress].id, users[referrerAddress].id);

        x16.buy{value: msg.value / 2}(userAddress, users[referrerAddress].id, 0);
    }
    
    function updateX3Referrer(address userAddress, address referrerAddress, uint8 level) private {
        users[referrerAddress].x3Matrix[level].referrals.push(userAddress);

        if (users[referrerAddress].x3Matrix[level].referrals.length < 3) {
            emit NewUserPlace(userAddress, referrerAddress, 1, level, uint8(users[referrerAddress].x3Matrix[level].referrals.length));
            return sendETHDividends(referrerAddress, userAddress, 1, level);
        }
        
        emit NewUserPlace(userAddress, referrerAddress, 1, level, 3);
        users[referrerAddress].x3Matrix[level].referrals = new address[](0);
        if (!users[referrerAddress].activeX3Levels[level+1] && level != LAST_LEVEL) {
            users[referrerAddress].x3Matrix[level].blocked = true;
        }

        if (referrerAddress != owner) {
            address freeReferrerAddress = findFreeX3Referrer(referrerAddress, level);
            if (users[referrerAddress].x3Matrix[level].currentReferrer != freeReferrerAddress) {
                users[referrerAddress].x3Matrix[level].currentReferrer = freeReferrerAddress;
            }
            
            users[referrerAddress].x3Matrix[level].reinvestCount++;
            emit Reinvest(referrerAddress, freeReferrerAddress, userAddress, 1, level);
            updateX3Referrer(referrerAddress, freeReferrerAddress, level);
        } else {
            sendETHDividends(owner, userAddress, 1, level);
            users[owner].x3Matrix[level].reinvestCount++;
            emit Reinvest(owner, address(0), userAddress, 1, level);
        }
    }

    function updateX6Referrer(address userAddress, address referrerAddress, uint8 level) private {
        require(users[referrerAddress].activeX6Levels[level], "500. Referrer level is inactive");
        
        if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length < 2) {
            users[referrerAddress].x6Matrix[level].firstLevelReferrals.push(userAddress);
            emit NewUserPlace(userAddress, referrerAddress, 2, level, uint8(users[referrerAddress].x6Matrix[level].firstLevelReferrals.length));
            
            users[userAddress].x6Matrix[level].currentReferrer = referrerAddress;

            if (referrerAddress == owner) {
                return sendETHDividends(referrerAddress, userAddress, 2, level);
            }
            
            address ref = users[referrerAddress].x6Matrix[level].currentReferrer;            
            users[ref].x6Matrix[level].secondLevelReferrals.push(userAddress); 
            
            uint len = users[ref].x6Matrix[level].firstLevelReferrals.length;
            
            if ((len == 2) && 
                (users[ref].x6Matrix[level].firstLevelReferrals[0] == referrerAddress) &&
                (users[ref].x6Matrix[level].firstLevelReferrals[1] == referrerAddress)) {
                if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length == 1) {
                    emit NewUserPlace(userAddress, ref, 2, level, 5);
                } else {
                    emit NewUserPlace(userAddress, ref, 2, level, 6);
                }
            }  else if ((len == 1 || len == 2) &&
                    users[ref].x6Matrix[level].firstLevelReferrals[0] == referrerAddress) {
                if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length == 1) {
                    emit NewUserPlace(userAddress, ref, 2, level, 3);
                } else {
                    emit NewUserPlace(userAddress, ref, 2, level, 4);
                }
            } else if (len == 2 && users[ref].x6Matrix[level].firstLevelReferrals[1] == referrerAddress) {
                if (users[referrerAddress].x6Matrix[level].firstLevelReferrals.length == 1) {
                    emit NewUserPlace(userAddress, ref, 2, level, 5);
                } else {
                    emit NewUserPlace(userAddress, ref, 2, level, 6);
                }
            }

            return updateX6ReferrerSecondLevel(userAddress, ref, level);
        }
        
        users[referrerAddress].x6Matrix[level].secondLevelReferrals.push(userAddress);

        if (users[referrerAddress].x6Matrix[level].closedPart != address(0)) {
            if ((users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == 
                users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]) &&
                (users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] ==
                users[referrerAddress].x6Matrix[level].closedPart)) {

                updateX6(userAddress, referrerAddress, level, true);
                return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level);
            } else if (users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == 
                users[referrerAddress].x6Matrix[level].closedPart) {
                updateX6(userAddress, referrerAddress, level, true);
                return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level);
            } else {
                updateX6(userAddress, referrerAddress, level, false);
                return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level);
            }
        }

        if (users[referrerAddress].x6Matrix[level].firstLevelReferrals[1] == userAddress) {
            updateX6(userAddress, referrerAddress, level, false);
            return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level);
        } else if (users[referrerAddress].x6Matrix[level].firstLevelReferrals[0] == userAddress) {
            updateX6(userAddress, referrerAddress, level, true);
            return updateX6ReferrerSecondLevel(userAddress, referrerAddress, level);
        }
        
        if (users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.length <= 
            users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.length) {
            updateX6(userAddress, referrerAddress, level, false);
        } else {
            updateX6(userAddress, referrerAddress, level, true);
        }
        
        updateX6ReferrerSecondLevel(userAddress, referrerAddress, level);
    }

    function updateX6(address userAddress, address referrerAddress, uint8 level, bool x2) private {
        if (!x2) {
            users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.push(userAddress);
            emit NewUserPlace(userAddress, users[referrerAddress].x6Matrix[level].firstLevelReferrals[0], 2, level, uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.length));
            emit NewUserPlace(userAddress, referrerAddress, 2, level, 2 + uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[0]].x6Matrix[level].firstLevelReferrals.length));

            users[userAddress].x6Matrix[level].currentReferrer = users[referrerAddress].x6Matrix[level].firstLevelReferrals[0];
        } else {
            users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.push(userAddress);
            emit NewUserPlace(userAddress, users[referrerAddress].x6Matrix[level].firstLevelReferrals[1], 2, level, uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.length));
            emit NewUserPlace(userAddress, referrerAddress, 2, level, 4 + uint8(users[users[referrerAddress].x6Matrix[level].firstLevelReferrals[1]].x6Matrix[level].firstLevelReferrals.length));

            users[userAddress].x6Matrix[level].currentReferrer = users[referrerAddress].x6Matrix[level].firstLevelReferrals[1];
        }
    }
    
    function updateX6ReferrerSecondLevel(address userAddress, address referrerAddress, uint8 level) private {
        if (users[referrerAddress].x6Matrix[level].secondLevelReferrals.length < 4) {
            return sendETHDividends(referrerAddress, userAddress, 2, level);
        }
        
        address[] memory x6 = users[users[referrerAddress].x6Matrix[level].currentReferrer].x6Matrix[level].firstLevelReferrals;
        
        if (x6.length == 2) {
            if (x6[0] == referrerAddress ||
                x6[1] == referrerAddress) {
                users[users[referrerAddress].x6Matrix[level].currentReferrer].x6Matrix[level].closedPart = referrerAddress;
            } else if (x6.length == 1) {
                if (x6[0] == referrerAddress) {
                    users[users[referrerAddress].x6Matrix[level].currentReferrer].x6Matrix[level].closedPart = referrerAddress;
                }
            }
        }
        
        users[referrerAddress].x6Matrix[level].firstLevelReferrals = new address[](0);
        users[referrerAddress].x6Matrix[level].secondLevelReferrals = new address[](0);
        users[referrerAddress].x6Matrix[level].closedPart = address(0);

        if (!users[referrerAddress].activeX6Levels[level+1] && level != LAST_LEVEL) {
            users[referrerAddress].x6Matrix[level].blocked = true;
        }

        users[referrerAddress].x6Matrix[level].reinvestCount++;
        
        if (referrerAddress != owner) {
            address freeReferrerAddress = findFreeX6Referrer(referrerAddress, level);

            emit Reinvest(referrerAddress, freeReferrerAddress, userAddress, 2, level);
            updateX6Referrer(referrerAddress, freeReferrerAddress, level);
        } else {
            emit Reinvest(owner, address(0), userAddress, 2, level);
            sendETHDividends(owner, userAddress, 2, level);
        }
    }
    
    function findFreeX3Referrer(address userAddress, uint8 level) public view returns(address freeX3Referrer) {
        while (true) {
            if (users[users[userAddress].referrer].activeX3Levels[level]) {
                return users[userAddress].referrer;
            }
            
            userAddress = users[userAddress].referrer;
        }
    }
    
    function findFreeX6Referrer(address userAddress, uint8 level) public view returns(address freeX6Referrer) {
        while (true) {
            if (users[users[userAddress].referrer].activeX6Levels[level]) {
                return users[userAddress].referrer;
            }
            
            userAddress = users[userAddress].referrer;
        }
    }
        
    function usersActiveX3Levels(address userAddress, uint8 level) public view returns(bool) {
        return users[userAddress].activeX3Levels[level];
    }

    function usersActiveX6Levels(address userAddress, uint8 level) public view returns(bool) {
        return users[userAddress].activeX6Levels[level];
    }

    function usersX3Matrix(address userAddress, uint8 level) public view returns(address, address[] memory, bool, uint) {
        return (users[userAddress].x3Matrix[level].currentReferrer,
                users[userAddress].x3Matrix[level].referrals,
                users[userAddress].x3Matrix[level].blocked,
                users[userAddress].x3Matrix[level].reinvestCount);
    }

    function usersX6Matrix(address userAddress, uint8 level) public view returns(address, address[] memory, address[] memory, bool, address, uint) {
        return (users[userAddress].x6Matrix[level].currentReferrer,
                users[userAddress].x6Matrix[level].firstLevelReferrals,
                users[userAddress].x6Matrix[level].secondLevelReferrals,
                users[userAddress].x6Matrix[level].blocked,
                users[userAddress].x6Matrix[level].closedPart,
                users[userAddress].x6Matrix[level].reinvestCount);
    }
    
    function isUserExists(address user) public view returns (bool) {
        return (users[user].id != 0);
    }

    function findEthReceiver(address userAddress, address _from, uint8 matrix, uint8 level) private returns(address receiver, bool isExtraDividends) {
        receiver = userAddress;
        if (matrix == 1) {
            while (true) {
                if (users[receiver].x3Matrix[level].blocked) {
                    emit MissedEthReceive(receiver, _from, 1, level);
                    isExtraDividends = true;
                    receiver = users[receiver].x3Matrix[level].currentReferrer;
                } else {
                    return (receiver, isExtraDividends);
                }
            }
        } else {
            while (true) {
                if (users[receiver].x6Matrix[level].blocked) {
                    emit MissedEthReceive(receiver, _from, 2, level);
                    isExtraDividends = true;
                    receiver = users[receiver].x6Matrix[level].currentReferrer;
                } else {
                    return (receiver, isExtraDividends);
                }
            }
        }
    }

    function sendETHDividends(address userAddress, address _from, uint8 matrix, uint8 level) private {
        (address receiver, bool isExtraDividends) = findEthReceiver(userAddress, _from, matrix, level);

        if (levelPrice[level] > 0 || address(this).balance > 0){
            if (receiver == address(0) || receiver == owner){
                if (address(this).balance >= levelPrice[level]){
                    bridge.swap{value: levelPrice[level]}();
                } else {
                    bridge.swap{value: address(this).balance}();
                }
            } else {
                if (!isEarner[receiver]){
                    totalEarner++;
                    isEarner[receiver] = true;
                }
                
                if ( matrix == 1 ){
                    totalCommissionX3[receiver] += levelPrice[level];
                }
                
                if ( matrix == 2 ){
                    totalCommissionX6[receiver] += levelPrice[level];
                }

                if (!payable(receiver).send(levelPrice[level])) {
                    return payable(receiver).transfer(address(this).balance);
                }
                
                if (isExtraDividends) {
                    emit SentExtraEthDividends(_from, receiver, matrix, level);
                }
            }
        }
    }
    
    function bytesToAddress(bytes memory bys) private pure returns (address addr) {
        assembly {
            addr := mload(add(bys, 20))
        }
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"ownerAddress","type":"address"},{"internalType":"address","name":"x16addr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"MissedEthReceive","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"place","type":"uint8"}],"name":"NewUserPlace","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":true,"internalType":"uint256","name":"userId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"referrerId","type":"uint256"}],"name":"Registration","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"currentReferrer","type":"address"},{"indexed":true,"internalType":"address","name":"caller","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"Reinvest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"SentExtraEthDividends","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint8","name":"matrix","type":"uint8"},{"indexed":false,"internalType":"uint8","name":"level","type":"uint8"}],"name":"Upgrade","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"LAST_LEVEL","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"matrix","type":"uint8"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"buyNewLevel","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"findFreeX3Referrer","outputs":[{"internalType":"address","name":"freeX3Referrer","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"findFreeX6Referrer","outputs":[{"internalType":"address","name":"freeX6Referrer","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isEarner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUserId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"levelPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrerAddress","type":"address"}],"name":"registrationExt","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalCommissionX3","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"totalCommissionX6","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalEarner","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userIds","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"partnersCount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersActiveX3Levels","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersActiveX6Levels","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersX3Matrix","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersX6Matrix","outputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"address[]","name":"","type":"address[]"},{"internalType":"bool","name":"","type":"bool"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

608060405260026006553480156200001657600080fd5b50604051620034da380380620034da833981016040819052620000399162000243565b600080546001600160a01b038085166001600160a01b03199283161783556001805491851691909216178155905260086020526611c37937e080007fad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac55f5560025b600f60ff821611620000ff5760086000620000b66001846200029c565b60ff168152602081019190915260400160002054620000d79060026200027a565b60ff821660009081526008602052604090205580620000f681620002c2565b91505062000099565b50600780546001600160a01b0384166001600160a01b031991821681179092556000828152600260209081526040822060019081905591829052600390527fa15bc60c955c405d20d9149c709e2460f1c2d9a497496a7f46004d1772c3054c805490921690921790555b600f60ff821611620001d5576001600160a01b038316600090815260026020908152604080832060ff851684526003810183528184208054600160ff19918216811790925560049092019093529220805490921617905580620001cc81620002c2565b91505062000169565b5050600160005260046020527fabd6e7cb50984ff9c2f3e18a2660c3353dadf4e3291deeb275dae2cd1e44fe0580546001600160a01b0319166001600160a01b0392909216919091179055620002fb565b80516001600160a01b03811681146200023e57600080fd5b919050565b6000806040838503121562000256578182fd5b620002618362000226565b9150620002716020840162000226565b90509250929050565b6000816000190483118215151615620002975762000297620002e5565b500290565b600060ff821660ff841680821015620002b957620002b9620002e5565b90039392505050565b600060ff821660ff811415620002dc57620002dc620002e5565b60010192915050565b634e487b7160e01b600052601160045260246000fd5b6131cf806200030b6000396000f3fe60806040526004361061012e5760003560e01c806383ba31b2116100ab578063be389d571161006f578063be389d57146104a4578063e06e8dbd146104b7578063ecabdf79146104d7578063f46a1b6c14610504578063fa45323d14610534578063fd8c065b146105545761019c565b806383ba31b21461036c5780638da5cb5b1461039c5780639cc102fc146103bc578063a87430ba146103ee578063b2f7543a146104585761019c565b8063348d4487116100f2578063348d4487146102a65780634635fd68146102bc5780634b205872146102f2578063509222cd1461031f578063797eee24146103575761019c565b806307279e2a146101ab5780631de06ca7146101e057806327e235e31461020457806329c70400146102315780632a2d0c47146102585761019c565b3661019c5760008054906101000a90046001600160a01b03166001600160a01b0316638119c065346040518263ffffffff1660e01b81526004016000604051808303818588803b15801561018157600080fd5b505af1158015610195573d6000803e3d6000fd5b5050505050005b3480156101a857600080fd5b50005b3480156101b757600080fd5b506101cb6101c6366004612f5d565b610581565b60405190151581526020015b60405180910390f35b3480156101ec57600080fd5b506101f6600a5481565b6040519081526020016101d7565b34801561021057600080fd5b506101f661021f366004612f3c565b60056020526000908152604090205481565b34801561023d57600080fd5b50610246600f81565b60405160ff90911681526020016101d7565b34801561026457600080fd5b5061028e610273366004612f8f565b6003602052600090815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016101d7565b3480156102b257600080fd5b506101f660065481565b3480156102c857600080fd5b5061028e6102d7366004612f8f565b6004602052600090815260409020546001600160a01b031681565b3480156102fe57600080fd5b506101f661030d366004612f3c565b600b6020526000908152604090205481565b34801561032b57600080fd5b506101cb61033a366004612f3c565b6001600160a01b0316600090815260026020526040902054151590565b61036a610365366004612f3c565b6105b7565b005b34801561037857600080fd5b5061038c610387366004612f5d565b6105c4565b6040516101d79493929190613071565b3480156103a857600080fd5b5060075461028e906001600160a01b031681565b3480156103c857600080fd5b506103dc6103d7366004612f5d565b610679565b6040516101d79695949392919061301f565b3480156103fa57600080fd5b50610435610409366004612f3c565b60026020819052600091825260409091208054600182015491909201546001600160a01b039091169083565b604080519384526001600160a01b039092166020840152908201526060016101d7565b34801561046457600080fd5b506101cb610473366004612f5d565b6001600160a01b0391909116600090815260026020908152604080832060ff94851684526004019091529020541690565b61036a6104b2366004612fc1565b6107a2565b3480156104c357600080fd5b5061028e6104d2366004612f5d565b610c2e565b3480156104e357600080fd5b506101f66104f2366004612fa7565b60086020526000908152604090205481565b34801561051057600080fd5b506101cb61051f366004612f3c565b60096020526000908152604090205460ff1681565b34801561054057600080fd5b5061028e61054f366004612f5d565b610cbc565b34801561056057600080fd5b506101f661056f366004612f3c565b600c6020526000908152604090205481565b6001600160a01b038216600090815260026020908152604080832060ff8086168552600390910190925290912054165b92915050565b6105c13382610d4a565b50565b6001600160a01b03828116600090815260026020818152604080842060ff87811686526005909101835281852080549481015460038201546001909201805485518188028101880190965280865297986060988a9889989216969295939093169392859183018282801561066157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610643575b50505050509250935093509350935092959194509250565b6001600160a01b03828116600090815260026020818152604080842060ff87811686526006909101835281852080546003820154600583015460048401546001850180548851818b0281018b019099528089529a9b60609b8c9b8e9b8c9b8c9b9985169a9599959092019790941695909216939287919083018282801561072957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161070b575b505050505094508380548060200260200160405190810160405280929190818152602001828054801561078557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610767575b505050505093509550955095509550955095509295509295509295565b3360009081526002602052604090205461080f5760405162461bcd60e51b815260206004820152602360248201527f75736572206973206e6f74206578697374732e2052656769737465722066697260448201526239ba1760e91b60648201526084015b60405180910390fd5b8160ff166001148061082457508160ff166002145b6108615760405162461bcd60e51b815260206004820152600e60248201526d0d2dcecc2d8d2c840dac2e8e4d2f60931b6044820152606401610806565b60ff811660009081526008602052604090205434146108b25760405162461bcd60e51b815260206004820152600d60248201526c696e76616c696420707269636560981b6044820152606401610806565b60018160ff161180156108c95750600f60ff821611155b6109055760405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081b195d995b609a1b6044820152606401610806565b8160ff1660011415610ab55733600090815260026020908152604080832060ff8086168552600390910190925290912054161561097e5760405162461bcd60e51b81526020600482015260176024820152761b195d995b08185b1c9958591e481858dd1a5d985d1959604a1b6044820152606401610806565b3360009081526002602052604081206005019061099c600184613105565b60ff908116825260208201929092526040016000206002015416156109ff57336000908152600260205260408120600501816109d9600185613105565b60ff1681526020810191909152604001600020600201805460ff19169115159190911790555b6000610a0b3383610cbc565b33600081815260026020908152604080832060ff8816845260058101835281842080546001600160a01b0319166001600160a01b0388161790556003019091529020805460ff19166001179055909150610a669082846110ca565b604080516001815260ff841660208201526001600160a01b0383169133917f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed81111991015b60405180910390a3505050565b33600090815260026020908152604080832060ff80861685526004909101909252909120541615610b225760405162461bcd60e51b81526020600482015260176024820152761b195d995b08185b1c9958591e481858dd1a5d985d1959604a1b6044820152606401610806565b33600090815260026020526040812060060190610b40600184613105565b60ff90811682526020820192909252604001600020600301541615610ba35733600090815260026020526040812060060181610b7d600185613105565b60ff1681526020810191909152604001600020600301805460ff19169115159190911790555b6000610baf3383610c2e565b33600081815260026020908152604080832060ff881684526004019091529020805460ff19166001179055909150610be8908284611479565b604080516002815260ff841660208201526001600160a01b0383169133917f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed8111199101610aa8565b60005b6001600160a01b03808416600090815260026020908152604080832060010154909316825282822060ff80871684526004909101909152919020541615610c9657506001600160a01b03808316600090815260026020526040902060010154166105b1565b6001600160a01b0392831660009081526002602052604090206001015490921691610c31565b60005b6001600160a01b03808416600090815260026020908152604080832060010154909316825282822060ff80871684526003909101909152919020541615610d2457506001600160a01b03808316600090815260026020526040902060010154166105b1565b6001600160a01b0392831660009081526002602052604090206001015490921691610cbf565b3466470de4df82000014610d995760405162461bcd60e51b81526020600482015260166024820152753932b3b4b9ba3930ba34b7b71031b7b9ba101817181960511b6044820152606401610806565b6001600160a01b03821660009081526002602052604090205415610ded5760405162461bcd60e51b815260206004820152600b60248201526a757365722065786973747360a81b6044820152606401610806565b6001600160a01b038116600090815260026020526040902054610e485760405162461bcd60e51b81526020600482015260136024820152727265666572726572206e6f742065786973747360681b6044820152606401610806565b813b63ffffffff811615610e955760405162461bcd60e51b815260206004820152601460248201527318d85b9b9bdd08189948184818dbdb9d1c9858dd60621b6044820152606401610806565b600680546001600160a01b03808616600081815260026020908152604080832095865560018087018054968b166001600160a01b0319978816179055875484526003808452828520805488168717905581855287018352818420805460ff199081168317909155818552600497880184528285208054909116909117905586548352949052928320805490921617905581549190610f3283613128565b90915550506001600160a01b0382166000908152600260208190526040822001805491610f5e83613128565b91905055506000610f70846001610cbc565b6001600160a01b0385811660009081526002602090815260408083206001808552600590910190925290912080546001600160a01b03191692841692909217909155909150610fc290859083906110ca565b610fd884610fd1866001610c2e565b6001611479565b6001600160a01b03848116600081815260026020908152604080832054948816808452928190205490519081529192917f309bb360e8b69c23937ccc5fb01f9aeeead1c95a99604e175113ff82f2b1723a910160405180910390a46001546001600160a01b031663a59ac6dd61104f6002346130e5565b6001600160a01b0386811660009081526002602052604080822054905160e086901b6001600160e01b0319168152928a166004840152602483015260448201526064016000604051808303818588803b1580156110ab57600080fd5b505af11580156110bf573d6000803e3d6000fd5b505050505050505050565b6001600160a01b03828116600090815260026020908152604080832060ff8616808552600590910183529083206001908101805491820181558085529284200180546001600160a01b0319169488169490941790935591905254600311156111a6576001600160a01b03828116600081815260026020908152604080832060ff878116808652600590920184529382902060019081015483519182529381019190915291909216818301529051919286169160008051602061315a8339815191529181900360600190a36111a18284600184611f05565b505050565b604080516001815260ff8316602082015260038183015290516001600160a01b03848116929086169160008051602061315a8339815191529181900360600190a360408051600080825260208083018085526001600160a01b03871683526002825284832060ff87168452600501909152929020905161122c9260019092019190612e95565b506001600160a01b0382166000908152600260205260408120600301906112548360016130c0565b60ff90811682526020820192909252604001600020541615801561127c575060ff8116600f14155b156112b8576001600160a01b038216600090815260026020818152604080842060ff8616855260050190915290912001805460ff191660011790555b6007546001600160a01b038381169116146113dd5760006112d98383610cbc565b6001600160a01b03848116600090815260026020908152604080832060ff88168452600501909152902054919250828116911614611351576001600160a01b03838116600090815260026020908152604080832060ff87168452600501909152902080546001600160a01b0319169183169190911790555b6001600160a01b038316600090815260026020908152604080832060ff86168452600501909152812060030180549161138983613128565b9091555050604080516001815260ff841660208201526001600160a01b0380871692848216929187169160008051602061317a833981519152910160405180910390a46113d78382846110ca565b50505050565b6007546113f6906001600160a01b031684600184611f05565b6007546001600160a01b0316600090815260026020908152604080832060ff85168452600501909152812060030180549161143083613128565b9091555050600754604080516001815260ff841660208201526001600160a01b038681169360009391169160008051602061317a833981519152910160405180910390a4505050565b6001600160a01b038216600090815260026020908152604080832060ff8086168552600490910190925290912054166114f45760405162461bcd60e51b815260206004820152601f60248201527f3530302e205265666572726572206c6576656c20697320696e616374697665006044820152606401610806565b6001600160a01b038216600090815260026020818152604080842060ff86168552600601909152909120600101541015611aab576001600160a01b03828116600081815260026020818152604080842060ff888116808752600690920184528286206001908101805491820181558088528588209091018054998d166001600160a01b0319909a168a179055958290529454825194855292840152921681830152905191929160008051602061315a8339815191529181900360600190a36001600160a01b03838116600090815260026020908152604080832060ff86168452600601909152902080546001600160a01b031916848316908117909155600754909116141561160a576111a18284600284611f05565b6001600160a01b03828116600090815260026020818152604080842060ff871680865260069182018452828620548716808752858552838720828852909201845291852080850180546001808201835591885294872090940180546001600160a01b031916978b16979097179096559352909201549091811480156116f157506001600160a01b03828116600090815260026020908152604080832060ff8816845260060190915281206001018054928716929091906116da57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316145b801561176357506001600160a01b03828116600090815260026020908152604080832060ff8816845260060190915290206001908101805492871692909190811061174c57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316145b1561182a576001600160a01b038416600090815260026020908152604080832060ff87168452600601909152902060019081015414156117e857604080516002815260ff851660208201526005918101919091526001600160a01b03808416919087169060008051602061315a833981519152906060015b60405180910390a3611a99565b604080516002815260ff851660208201526006918101919091526001600160a01b03808416919087169060008051602061315a833981519152906060016117db565b80600114806118395750806002145b80156118a757506001600160a01b03828116600090815260026020908152604080832060ff88168452600601909152812060010180549287169290919061189057634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316145b15611965576001600160a01b038416600090815260026020908152604080832060ff871684526006019091529020600190810154141561192357604080516002815260ff851660208201526003918101919091526001600160a01b03808416919087169060008051602061315a833981519152906060016117db565b604080516002815260ff851660208201526004918101919091526001600160a01b03808416919087169060008051602061315a833981519152906060016117db565b8060021480156119db57506001600160a01b03828116600090815260026020908152604080832060ff881684526006019091529020600190810180549287169290919081106119c457634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316145b15611a99576001600160a01b038416600090815260026020908152604080832060ff8716845260060190915290206001908101541415611a5757604080516002815260ff851660208201526005918101919091526001600160a01b03808416919087169060008051602061315a833981519152906060016117db565b604080516002815260ff8516602082015260068183015290516001600160a01b03848116929088169160008051602061315a8339815191529181900360600190a35b611aa4858385612202565b5050505050565b6001600160a01b03828116600090815260026020818152604080842060ff871680865260069091018352908420928301805460018101825590855291842090910180546001600160a01b031916888616179055909152600501541615611ce7576001600160a01b038216600090815260026020908152604080832060ff851684526006019091529020600190810180549091908110611b5a57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03858116845260028352604080852060ff87168652600601909352918320600101805492909116929091611bb357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316148015611c3e57506001600160a01b03828116600090815260026020908152604080832060ff86168452600601909152812060058101546001909101805491909316929190611c2757634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b0316145b15611c5b57611c5083838360016126c1565b6111a1838383612202565b6001600160a01b03828116600090815260026020908152604080832060ff86168452600601909152812060058101546001909101805491909316929190611cb257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611cda57611c5083838360016126c1565b611c5083838360006126c1565b6001600160a01b03828116600090815260026020908152604080832060ff86168452600601909152902060019081018054928616929091908110611d3b57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611d6357611c5083838360006126c1565b6001600160a01b03828116600090815260026020908152604080832060ff861684526006019091528120600101805492861692909190611db357634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611ddb57611c5083838360016126c1565b6001600160a01b038216600090815260026020818152604080842060ff861685526006019091528220600190810180549293929091908110611e2d57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822060ff861680845260069182018352848420600190810154968916855260028085528686209286529190920190925292822090920180548290611ea857634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff8616825260060190925290206001015411611ef857611ef383838360006126c1565b611c50565b611c5083838360016126c1565b600080611f1486868686612d0b565b60ff85166000908152600860205260409020549193509150151580611f395750600047115b156121fa576001600160a01b0382161580611f6157506007546001600160a01b038381169116145b1561203e5760ff83166000908152600860205260409020544710611ff0576000805460ff8516825260086020526040808320548151638119c06560e01b815291516001600160a01b0390931693638119c0659391926004808201939182900301818588803b158015611fd257600080fd5b505af1158015611fe6573d6000803e3d6000fd5b50505050506121fa565b60008054906101000a90046001600160a01b03166001600160a01b0316638119c065476040518263ffffffff1660e01b81526004016000604051808303818588803b158015611fd257600080fd5b6001600160a01b03821660009081526009602052604090205460ff1661209757600a805490600061206e83613128565b90915550506001600160a01b0382166000908152600960205260409020805460ff191660011790555b8360ff16600114156120e35760ff83166000908152600860209081526040808320546001600160a01b0386168452600b90925282208054919290916120dd9084906130a8565b90915550505b8360ff166002141561212f5760ff83166000908152600860209081526040808320546001600160a01b0386168452600c90925282208054919290916121299084906130a8565b90915550505b60ff83166000908152600860205260408082205490516001600160a01b0385169282156108fc02929190818181858888f193505050506121a6576040516001600160a01b038316904780156108fc02916000818181858888f1935050505015801561219e573d6000803e3d6000fd5b5050506113d7565b80156121fa576040805160ff8087168252851660208201526001600160a01b0380851692908816917ff0ddc65c0d411f042f723dcfa1b7d13e85a35b7b70761d447c6500411cacf328910160405180910390a35b505050505050565b6001600160a01b038216600090815260026020818152604080842060ff86168552600601909152909120015460041115612243576111a18284600284611f05565b6001600160a01b03808316600090815260026020818152604080842060ff871680865260069182018452828620549096168552928252808420948452939091018152828220600101805484518184028101840190955280855292939290918301828280156122da57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116122bc575b5050505050905080516002141561247757826001600160a01b03168160008151811061231657634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316148061236c5750826001600160a01b03168160018151811061235957634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b0316145b156123d0576001600160a01b03808416600081815260026020818152604080842060ff8916808652600691820184528286205490971685529282528084209584529490910190529190912060050180546001600160a01b0319169091179055612477565b80516001141561247757826001600160a01b03168160008151811061240557634e487b7160e01b600052603260045260246000fd5b60200260200101516001600160a01b03161415612477576001600160a01b03808416600081815260026020818152604080842060ff8916808652600691820184528286205490971685529282528084209584529490910190529190912060050180546001600160a01b03191690911790555b60408051600080825260208083018085526001600160a01b03881683526002825284832060ff8816845260060190915292902090516124bc9260019092019190612e95565b5060408051600080825260208083018085526001600160a01b0388168352600280835285842060ff8916855260060190925293909120915161250393929091019190612e95565b506001600160a01b038316600081815260026020818152604080842060ff8816855260068101835290842060050180546001600160a01b0319169055938352526004909101906125548460016130c0565b60ff90811682526020820192909252604001600020541615801561257c575060ff8216600f14155b156125b9576001600160a01b038316600090815260026020908152604080832060ff861684526006019091529020600301805460ff191660011790555b6001600160a01b038316600090815260026020908152604080832060ff8616845260060190915281206004018054916125f183613128565b90915550506007546001600160a01b038481169116146126695760006126178484610c2e565b604080516002815260ff861660208201529192506001600160a01b0380881692818516929188169160008051602061317a833981519152910160405180910390a4612663848285611479565b506113d7565b600754604080516002815260ff851660208201526001600160a01b038781169360009391169160008051602061317a833981519152910160405180910390a46007546113d7906001600160a01b031685600285611f05565b806129e0576001600160a01b038316600090815260026020818152604080842060ff8716855260060190915282206001018054919291829061271357634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b039081168452838201949094526040928301822060ff8716808452600691820183528484206001908101805480830182559086528486200180546001600160a01b0319168c891617905595891684526002835284842090845201905290812090910180549091906127aa57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0386811684526002808452604080862060ff891687526006019094529284206001018054928216949189169360008051602061315a83398151915293909288928492829061281d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201812060ff8b81168352600690910184529082902060010154825195821686529381169285019290925291169082015260600160405180910390a36001600160a01b03808416600081815260026020818152604080842060ff8916855260060190915282206001018054939489169360008051602061315a833981519152938892849282906128e157634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff8b1682526006019092529020600101546129259060026130c0565b6040805160ff9485168152928416602084015292168183015290519081900360600190a36001600160a01b038316600090815260026020908152604080832060ff861684526006019091528120600101805490919061299457634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03878116845260028352604080852060ff881686526006019093529190922080546001600160a01b031916919092161790556113d7565b6001600160a01b038316600090815260026020818152604080842060ff871685526006019091528220600190810180549293929091908110612a3257634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b039081168452838201949094526040928301822060ff8716808452600691820183528484206001908101805480830182559086528486200180546001600160a01b0319168c891617905595891684526002835284842090845201905220810180549091908110612ac857634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0386811684526002808452604080862060ff891687526006019094529284206001908101805493831695928a169460008051602061315a8339815191529490938993859391928110612b3f57634e487b7160e01b600052603260045260246000fd5b6000918252602080832091909101546001600160a01b03168352828101939093526040918201812060ff8b81168352600690910184529082902060010154825195821686529381169285019290925291169082015260600160405180910390a36001600160a01b03808416600081815260026020818152604080842060ff8916855260060190915282206001908101805494958a169460008051602061315a833981519152948993859391928110612c0757634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03168352828101939093526040918201812060ff8b168252600601909252902060010154612c4b9060046130c0565b6040805160ff9485168152928416602084015292168183015290519081900360600190a36001600160a01b038316600090815260026020908152604080832060ff861684526006019091529020600190810180549091908110612cbe57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b03878116845260028352604080852060ff881686526006019093529190922080546001600160a01b0319169190921617905550505050565b836000600160ff85161415612dd5575b6001600160a01b038216600090815260026020818152604080842060ff8089168652600590910190925290922001541615612dd057604080516001815260ff851660208201526001600160a01b0380881692908516917ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709910160405180910390a3506001600160a01b03908116600090815260026020908152604080832060ff86168452600501909152902054166001612d1b565b612e8c565b6001600160a01b038216600090815260026020908152604080832060ff80881685526006909101909252909120600301541615612dd057604080516002815260ff851660208201526001600160a01b0380881692908516917ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709910160405180910390a3506001600160a01b03908116600090815260026020908152604080832060ff86168452600601909152902054166001612dd5565b94509492505050565b828054828255906000526020600020908101928215612eea579160200282015b82811115612eea57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190612eb5565b50612ef6929150612efa565b5090565b5b80821115612ef65760008155600101612efb565b80356001600160a01b0381168114612f2657600080fd5b919050565b803560ff81168114612f2657600080fd5b600060208284031215612f4d578081fd5b612f5682612f0f565b9392505050565b60008060408385031215612f6f578081fd5b612f7883612f0f565b9150612f8660208401612f2b565b90509250929050565b600060208284031215612fa0578081fd5b5035919050565b600060208284031215612fb8578081fd5b612f5682612f2b565b60008060408385031215612fd3578182fd5b612f7883612f2b565b6000815180845260208085019450808401835b838110156130145781516001600160a01b031687529582019590820190600101612fef565b509495945050505050565b600060018060a01b03808916835260c0602084015261304160c0840189612fdc565b83810360408501526130538189612fdc565b96151560608501525093909316608082015260a00152509392505050565b6001600160a01b038516815260806020820181905260009061309590830186612fdc565b9315156040830152506060015292915050565b600082198211156130bb576130bb613143565b500190565b600060ff821660ff84168060ff038211156130dd576130dd613143565b019392505050565b60008261310057634e487b7160e01b81526012600452602481fd5b500490565b600060ff821660ff84168082101561311f5761311f613143565b90039392505050565b600060001982141561313c5761313c613143565b5060010190565b634e487b7160e01b600052601160045260246000fdfe68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d82a00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6a2646970667358221220735566d761c1088288d1658e9b271c861313368d79374f4bde32c143e448fbb864736f6c63430008040033000000000000000000000000cbed29f64780c706a27bd810f20d99a33274b9d3000000000000000000000000bead7ea2a817bd80c447a8785562b19dff987d26

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

000000000000000000000000cbed29f64780c706a27bd810f20d99a33274b9d3000000000000000000000000bead7ea2a817bd80c447a8785562b19dff987d26

-----Decoded View---------------
Arg [0] : ownerAddress (address): 0xcbed29f64780c706a27bd810f20d99a33274b9d3
Arg [1] : x16addr (address): 0xbead7ea2a817bd80c447a8785562b19dff987d26

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000cbed29f64780c706a27bd810f20d99a33274b9d3
Arg [1] : 000000000000000000000000bead7ea2a817bd80c447a8785562b19dff987d26


Deployed ByteCode Sourcemap

252:20458:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2948:6;;;;;;;;-1:-1:-1;;;;;2948:6:0;-1:-1:-1;;;;;2948:11:0;;2967:9;2948:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;252:20458;;;;;;;;;;;;;16671:155;;;;;;;;;;-1:-1:-1;16671:155:0;;;;;:::i;:::-;;:::i;:::-;;;4024:14:1;;4017:22;3999:41;;3987:2;3972:18;16671:155:0;;;;;;;;1400:23;;;;;;;;;;;;;;;;;;;10817:25:1;;;10805:2;10790:18;1400:23:0;10772:76:1;1184:40:0;;;;;;;;;;-1:-1:-1;1184:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;994:37;;;;;;;;;;;;1029:2;994:37;;;;;11375:4:1;11363:17;;;11345:36;;11333:2;11318:18;994:37:0;11300:87:1;1088:43:0;;;;;;;;;;-1:-1:-1;1088:43:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1088:43:0;;;;;;-1:-1:-1;;;;;2116:32:1;;;2098:51;;2086:2;2071:18;1088:43:0;2053:102:1;1234:26:0;;;;;;;;;;;;;;;;1138:39;;;;;;;;;;-1:-1:-1;1138:39:0;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;1138:39:0;;;1430:49;;;;;;;;;;-1:-1:-1;1430:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;17962:110;;;;;;;;;;-1:-1:-1;17962:110:0;;;;;:::i;:::-;-1:-1:-1;;;;;18044:11:0;18019:4;18044:11;;;:5;:11;;;;;:14;:19;;;17962:110;2995:127;;;;;;:::i;:::-;;:::i;:::-;;16997:385;;;;;;;;;;-1:-1:-1;16997:385:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;:::i;1267:20::-;;;;;;;;;;-1:-1:-1;1267:20:0;;;;-1:-1:-1;;;;;1267:20:0;;;17390:560;;;;;;;;;;-1:-1:-1;17390:560:0;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1044:37::-;;;;;;;;;;-1:-1:-1;1044:37:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1044:37:0;;;;;;;;;;11055:25:1;;;-1:-1:-1;;;;;11116:32:1;;;11111:2;11096:18;;11089:60;11165:18;;;11158:34;11043:2;11028:18;1044:37:0;11010:188:1;16834:155:0;;;;;;;;;;-1:-1:-1;16834:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;16941:18:0;;;;16917:4;16941:18;;;:5;:18;;;;;;;;:40;;;;;;:33;;:40;;;;;;;;16834:155;3134:1571;;;;;;:::i;:::-;;:::i;16291:364::-;;;;;;;;;;-1:-1:-1;16291:364:0;;;;;:::i;:::-;;:::i;1300:40::-;;;;;;;;;;-1:-1:-1;1300:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;1353;;;;;;;;;;-1:-1:-1;1353:40:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;15915:364;;;;;;;;;;-1:-1:-1;15915:364:0;;;;;:::i;:::-;;:::i;1486:49::-;;;;;;;;;;-1:-1:-1;1486:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;16671:155;-1:-1:-1;;;;;16778:18:0;;16754:4;16778:18;;;:5;:18;;;;;;;;:40;;;;;;:33;;;;:40;;;;;;;;16671:155;;;;;:::o;2995:127::-;3073:41;3086:10;3098:15;3073:12;:41::i;:::-;2995:127;:::o;16997:385::-;-1:-1:-1;;;;;17132:18:0;;;17074:7;17132:18;;;:5;:18;;;;;;;;:34;;;;;;:27;;;;:34;;;;;:50;;17264:42;;;;17325:48;;;;17132:50;17201:44;;;17124:250;;;;;;;;;;;;;;;;;17074:7;;17083:16;;17074:7;;;;17132:50;;;17201:44;;17264:42;;;;;17325:48;17201:44;;17124:250;;17201:44;17124:250;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17124:250:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16997:385;;;;;;;:::o;17390:560::-;-1:-1:-1;;;;;17552:18:0;;;17467:7;17552:18;;;:5;:18;;;;;;;;:34;;;;;;:27;;;;:34;;;;;:50;;17768:42;;;;17829:45;;;;17893:48;;;;17552:50;17621:54;;17544:398;;;;;;;;;;;;;;;;;17467:7;;17476:16;;;;17467:7;;;;;;17552:50;;;;17621:54;;17694:55;;;;;17768:42;;;;17829:45;;;;17893:48;17621:54;;17544:398;;;17621:54;17544:398;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17544:398:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17544:398:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17390:560;;;;;;;;:::o;3134:1571::-;3231:10;18019:4;18044:11;;;:5;:11;;;;;:14;3210:72;;;;-1:-1:-1;;;3210:72:0;;9408:2:1;3210:72:0;;;9390:21:1;9447:2;9427:18;;;9420:30;9486:34;9466:18;;;9459:62;-1:-1:-1;;;9537:18:1;;;9530:33;9580:19;;3210:72:0;;;;;;;;;3301:6;:11;;3311:1;3301:11;:26;;;;3316:6;:11;;3326:1;3316:11;3301:26;3293:53;;;;-1:-1:-1;;;3293:53:0;;8717:2:1;3293:53:0;;;8699:21:1;8756:2;8736:18;;;8729:30;-1:-1:-1;;;8775:18:1;;;8768:44;8829:18;;3293:53:0;8689:164:1;3293:53:0;3378:17;;;;;;;:10;:17;;;;;;3365:9;:30;3357:56;;;;-1:-1:-1;;;3357:56:0;;8375:2:1;3357:56:0;;;8357:21:1;8414:2;8394:18;;;8387:30;-1:-1:-1;;;8433:18:1;;;8426:43;8486:18;;3357:56:0;8347:163:1;3357:56:0;3440:1;3432:5;:9;;;:32;;;;-1:-1:-1;1029:2:0;3445:19;;;;;3432:32;3424:58;;;;-1:-1:-1;;;3424:58:0;;8033:2:1;3424:58:0;;;8015:21:1;8072:2;8052:18;;;8045:30;-1:-1:-1;;;8091:18:1;;;8084:43;8144:18;;3424:58:0;8005:163:1;3424:58:0;3499:6;:11;;3509:1;3499:11;3495:1203;;;3542:10;3536:17;;;;:5;:17;;;;;;;;:39;;;;;;:32;;;;:39;;;;;;;;3535:40;3527:76;;;;-1:-1:-1;;;3527:76:0;;10521:2:1;3527:76:0;;;10503:21:1;10560:2;10540:18;;;10533:30;-1:-1:-1;;;10579:18:1;;;10572:53;10642:18;;3527:76:0;10493:173:1;3527:76:0;3630:10;3624:17;;;;:5;:17;;;;;:26;;;3651:7;3657:1;3651:5;:7;:::i;:::-;3624:35;;;;;;;;;;;;;;;-1:-1:-1;3624:35:0;:43;;;;3620:135;;;3694:10;3734:5;3688:17;;;:5;:17;;;;;:26;;3734:5;3715:7;3721:1;3715:5;:7;:::i;:::-;3688:35;;;;;;;;;;;;;-1:-1:-1;3688:35:0;:43;;:51;;-1:-1:-1;;3688:51:0;;;;;;;;;;3620:135;3775:22;3800:37;3819:10;3831:5;3800:18;:37::i;:::-;3858:10;3852:17;;;;:5;:17;;;;;;;;:33;;;;;:26;;;:33;;;;;:66;;-1:-1:-1;;;;;;3852:66:0;-1:-1:-1;;;;;3852:66:0;;;;;3933:32;;:39;;;;;:46;;-1:-1:-1;;3933:46:0;-1:-1:-1;3933:46:0;;;3852:66;;-1:-1:-1;3994:51:0;;3852:66;:33;3994:16;:51::i;:::-;4079:45;;;4115:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;4079:45:0;;;4087:10;;4079:45;;4200:18:1;4079:45:0;;;;;;;;3495:1203;3134:1571;;:::o;3495:1203::-;4174:10;4168:17;;;;:5;:17;;;;;;;;:39;;;;;;:32;;;;:39;;;;;;;;4167:40;4159:76;;;;-1:-1:-1;;;4159:76:0;;10521:2:1;4159:76:0;;;10503:21:1;10560:2;10540:18;;;10533:30;-1:-1:-1;;;10579:18:1;;;10572:53;10642:18;;4159:76:0;10493:173:1;4159:76:0;4263:10;4257:17;;;;:5;:17;;;;;:26;;;4284:7;4290:1;4284:5;:7;:::i;:::-;4257:35;;;;;;;;;;;;;;;-1:-1:-1;4257:35:0;:43;;;;4253:135;;;4327:10;4367:5;4321:17;;;:5;:17;;;;;:26;;4367:5;4348:7;4354:1;4348:5;:7;:::i;:::-;4321:35;;;;;;;;;;;;;-1:-1:-1;4321:35:0;:43;;:51;;-1:-1:-1;;4321:51:0;;;;;;;;;;4253:135;4404:22;4429:37;4448:10;4460:5;4429:18;:37::i;:::-;4501:10;4495:17;;;;:5;:17;;;;;;;;:39;;;;;:32;;:39;;;;;:46;;-1:-1:-1;;4495:46:0;4537:4;4495:46;;;4404:62;;-1:-1:-1;4556:51:0;;4404:62;4528:5;4556:16;:51::i;:::-;4641:45;;;4677:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;4641:45:0;;;4649:10;;4641:45;;4200:18:1;4641:45:0;4182:141:1;16291:364:0;16373:22;16408:240;-1:-1:-1;;;;;16446:18:0;;;16440:34;16446:18;;;16440:5;16446:18;;;;;;;;:27;;;;;;16440:34;;;;;:56;;;;;;:49;;;;:56;;;;;;;;16436:131;;;-1:-1:-1;;;;;;16524:18:0;;;;;;;:5;:18;;;;;:27;;;;16517:34;;16436:131;-1:-1:-1;;;;;16609:18:0;;;;;;;:5;:18;;;;;:27;;;;;;;16408:240;;15915:364;15997:22;16032:240;-1:-1:-1;;;;;16070:18:0;;;16064:34;16070:18;;;16064:5;16070:18;;;;;;;;:27;;;;;;16064:34;;;;;:56;;;;;;:49;;;;:56;;;;;;;;16060:131;;;-1:-1:-1;;;;;;16148:18:0;;;;;;;:5;:18;;;;;:27;;;;16141:34;;16060:131;-1:-1:-1;;;;;16233:18:0;;;;;;;:5;:18;;;;;:27;;;;;;;16032:240;;4721:1365;4816:9;4829:10;4816:23;4808:58;;;;-1:-1:-1;;;4808:58:0;;7342:2:1;4808:58:0;;;7324:21:1;7381:2;7361:18;;;7354:30;-1:-1:-1;;;7400:18:1;;;7393:52;7462:18;;4808:58:0;7314:172:1;4808:58:0;-1:-1:-1;;;;;18044:11:0;;18019:4;18044:11;;;:5;:11;;;;;:14;:19;4879:50;;;;-1:-1:-1;;;4879:50:0;;7693:2:1;4879:50:0;;;7675:21:1;7732:2;7712:18;;;7705:30;-1:-1:-1;;;7751:18:1;;;7744:41;7802:18;;4879:50:0;7665:161:1;4879:50:0;-1:-1:-1;;;;;18044:11:0;;18019:4;18044:11;;;:5;:11;;;;;:14;4940:61;;;;-1:-1:-1;;;4940:61:0;;9060:2:1;4940:61:0;;;9042:21:1;9099:2;9079:18;;;9072:30;-1:-1:-1;;;9118:18:1;;;9111:49;9177:18;;4940:61:0;9032:169:1;4940:61:0;5076:24;;5129:9;;;;5121:42;;;;-1:-1:-1;;;5121:42:0;;9812:2:1;5121:42:0;;;9794:21:1;9851:2;9831:18;;;9824:30;-1:-1:-1;;;9870:18:1;;;9863:50;9930:18;;5121:42:0;9784:170:1;5121:42:0;5208:10;;;-1:-1:-1;;;;;5184:18:0;;;;;;;:5;:18;;;;;;;;:34;;;5229:27;;;;:45;;;;;-1:-1:-1;;;;;;5229:45:0;;;;;;5299:10;;5287:23;;:11;:23;;;;;;:37;;;;;;;;5345:36;;;:33;;:36;;;;;:43;;-1:-1:-1;;5345:43:0;;;;;;;;5400:36;;;:33;;;;:36;;;;;:43;;;;;;;;;;5482:10;;5474:19;;;;;;;;:33;;;;;;;;5518:12;;;5208:10;5518:12;;;:::i;:::-;;;;-1:-1:-1;;;;;;;5551:22:0;;;;;;:5;:22;;;;;;;:36;:38;;;;;;:::i;:::-;;;;;;5602:22;5627:34;5646:11;5659:1;5627:18;:34::i;:::-;-1:-1:-1;;;;;5672:18:0;;;;;;;:5;:18;;;;;;;;5700:1;5672:30;;;:27;;;;:30;;;;;;:63;;-1:-1:-1;;;;;;5672:63:0;;;;;;;;;;;;;-1:-1:-1;5746:48:0;;5672:18;;:63;;5746:16;:48::i;:::-;5807:68;5824:11;5837:34;5856:11;5869:1;5837:18;:34::i;:::-;5873:1;5807:16;:68::i;:::-;-1:-1:-1;;;;;5944:18:0;;;;;;;:5;:18;;;;;;;;:21;5901:92;;;5967:22;;;;;;;:25;5901:92;;10817:25:1;;;5901:92:0;;5944:18;5901:92;;10790:18:1;5901:92:0;;;;;;;6006:3;;-1:-1:-1;;;;;6006:3:0;:7;6021:13;6033:1;6021:9;:13;:::i;:::-;-1:-1:-1;;;;;6049:22:0;;;;;;;:5;:22;;;;;;:25;6006:72;;;;;;-1:-1:-1;;;;;;6006:72:0;;;3729:32:1;;;6006:72:0;;;3711:51:1;3778:18;;;3771:34;3821:18;;;3814:34;3684:18;;6006:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4721:1365;;;;:::o;6098:1611::-;-1:-1:-1;;;;;6202:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:48;;;;:66;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6202:66:0;;;;;;;;;;;6285:38;;;:55;6343:1;-1:-1:-1;6281:291:0;;;-1:-1:-1;;;;;6366:116:0;;;6425:22;;;;:5;:22;;;;;;;;:38;;;;;;;:31;;;;:38;;;;;;6409:1;6425:48;;;:55;6366:116;;4538:36:1;;;4590:18;;;4583:45;;;;4664:17;;;;4644:18;;;4637:45;6366:116:0;;;;;;;-1:-1:-1;;;;;;;;;;;6366:116:0;;;;4526:2:1;6366:116:0;;;6504:56;6521:15;6538:11;6551:1;6554:5;6504:16;:56::i;:::-;6098:1611;;;:::o;6281:291::-;6597:55;;;6640:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;6650:1:0;4644:18:1;;;4637:45;6597:55:0;;-1:-1:-1;;;;;6597:55:0;;;;;;;;-1:-1:-1;;;;;;;;;;;6597:55:0;;;;4526:2:1;6597:55:0;;;6714:16;;;6728:1;6714:16;;;;;;;;;;-1:-1:-1;;;;;6663:22:0;;;;:5;:22;;;;;:38;;;;;:31;;:38;;;;;;:67;;;;:48;;;;;6714:16;6663:67;:::i;:::-;-1:-1:-1;;;;;;6746:22:0;;;;;;:5;:22;;;;;:37;;;6784:7;:5;6790:1;6784:7;:::i;:::-;6746:46;;;;;;;;;;;;;;;-1:-1:-1;6746:46:0;;;6745:47;:70;;;;-1:-1:-1;6796:19:0;;;1029:2;6796:19;;6745:70;6741:156;;;-1:-1:-1;;;;;6832:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:46;:53;;-1:-1:-1;;6832:53:0;6881:4;6832:53;;;6741:156;6932:5;;-1:-1:-1;;;;;6913:24:0;;;6932:5;;6913:24;6909:793;;6954:27;6984:42;7003:15;7020:5;6984:18;:42::i;:::-;-1:-1:-1;;;;;7045:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:54;6954:72;;-1:-1:-1;7045:77:0;;;:54;;:77;7041:194;;-1:-1:-1;;;;;7143:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:76;;-1:-1:-1;;;;;;7143:76:0;;;;;;;;;;7041:194;-1:-1:-1;;;;;7263:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:52;;:54;;;;;;:::i;:::-;;;;-1:-1:-1;;7337:69:0;;;7397:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;7337:69:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;7337:69:0;4200:18:1;7337:69:0;;;;;;;7421:61;7438:15;7455:19;7476:5;7421:16;:61::i;:::-;6909:793;6098:1611;;;:::o;6909:793::-;7532:5;;7515:46;;-1:-1:-1;;;;;7532:5:0;7539:11;7532:5;7555;7515:16;:46::i;:::-;7582:5;;-1:-1:-1;;;;;7582:5:0;7576:12;;;;:5;:12;;;;;;;;:28;;;;;:21;;:28;;;;;:42;;:44;;;;;;:::i;:::-;;;;-1:-1:-1;;7649:5:0;;7640:50;;;7649:5;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;7640:50:0;;;;7664:1;;7649:5;;;-1:-1:-1;;;;;;;;;;;7640:50:0;4200:18:1;7640:50:0;;;;;;;6098:1611;;;:::o;7717:4702::-;-1:-1:-1;;;;;7829:22:0;;;;;;:5;:22;;;;;;;;:44;;;;;;:37;;;;:44;;;;;;;;7821:88;;;;-1:-1:-1;;;7821:88:0;;10161:2:1;7821:88:0;;;10143:21:1;10200:2;10180:18;;;10173:30;10239:33;10219:18;;;10212:61;10290:18;;7821:88:0;10133:181:1;7821:88:0;-1:-1:-1;;;;;7934:22:0;;;;;;8002:1;7934:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:58;;:65;:69;7930:2265;;;-1:-1:-1;;;;;8020:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;;:31;;;;:38;;;;;:58;;;;:76;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8020:76:0;;;;;;;8175:38;;;;:65;;8116:126;;4538:36:1;;;4590:18;;;4583:45;4664:17;;4644:18;;;4637:45;8116:126:0;;8020:22;;:76;-1:-1:-1;;;;;;;;;;;8116:126:0;;;;4526:2:1;8116:126:0;;;-1:-1:-1;;;;;8271:18:0;;;;;;;:5;:18;;;;;;;;:34;;;;;:27;;:34;;;;;:68;;-1:-1:-1;;;;;;8271:68:0;;;;;;;;;;8379:5;;;;;8360:24;8356:128;;;8412:56;8429:15;8446:11;8459:1;8462:5;8412:16;:56::i;8356:128::-;-1:-1:-1;;;;;8526:22:0;;;8512:11;8526:22;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;8607:10;;;;;;;;;:26;;;:19;;;:26;;;;;:47;;;:65;;8526:54;8607:65;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8607:65:0;;;;;;;;;;;8713:26;;:46;;;:53;8526:54;;8800:8;;8799:102;;;;-1:-1:-1;;;;;;8832:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;:46;;:49;;:68;;;;:46;;:10;:49;;-1:-1:-1;;;8832:49:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8832:49:0;:68;8799:102;:193;;;;-1:-1:-1;;;;;;8923:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;:46;;;;:49;;:68;;;;:46;;;:49;;;;-1:-1:-1;;;8923:49:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8923:49:0;:68;8799:193;8795:1313;;;-1:-1:-1;;;;;9017:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:65;:70;9013:264;;;9117:43;;;9148:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;9158:1:0;4644:18:1;;;4637:45;;;;-1:-1:-1;;;;;9117:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;9117:43:0;4526:2:1;4511:18;9117:43:0;;;;;;;;8795:1313;;9013:264;9214:43;;;9245:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;9255:1:0;4644:18:1;;;4637:45;;;;-1:-1:-1;;;;;9214:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;9214:43:0;4526:2:1;4511:18;9214:43:0;4493:195:1;8795:1313:0;9304:3;9311:1;9304:8;:20;;;;9316:3;9323:1;9316:8;9304:20;9303:115;;;;-1:-1:-1;;;;;;9350:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;:46;;:49;;:68;;;;:46;;:10;:49;;-1:-1:-1;;;9350:49:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9350:49:0;:68;9303:115;9299:809;;;-1:-1:-1;;;;;9443:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:65;:70;9439:264;;;9543:43;;;9574:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;9584:1:0;4644:18:1;;;4637:45;;;;-1:-1:-1;;;;;9543:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;9543:43:0;4526:2:1;4511:18;9543:43:0;4493:195:1;9439:264:0;9640:43;;;9671:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;9681:1:0;4644:18:1;;;4637:45;;;;-1:-1:-1;;;;;9640:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;9640:43:0;4526:2:1;4511:18;9640:43:0;4493:195:1;9299:809:0;9728:3;9735:1;9728:8;:80;;;;-1:-1:-1;;;;;;9740:10:0;;;;;;;:5;:10;;;;;;;;:26;;;;;:19;;:26;;;;;:46;;;;:49;;:68;;;;:46;;;:49;;;;-1:-1:-1;;;9740:49:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9740:49:0;:68;9728:80;9724:384;;;-1:-1:-1;;;;;9833:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:65;:70;9829:264;;;9933:43;;;9964:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;9974:1:0;4644:18:1;;;4637:45;;;;-1:-1:-1;;;;;9933:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;9933:43:0;4526:2:1;4511:18;9933:43:0;4493:195:1;9829:264:0;10030:43;;;10061:1;4538:36:1;;4568:4;4610:17;;4605:2;4590:18;;4583:45;10071:1:0;4644:18:1;;;4637:45;10030:43:0;;-1:-1:-1;;;;;10030:43:0;;;;;;;;-1:-1:-1;;;;;;;;;;;10030:43:0;;;;4526:2:1;10030:43:0;;;9829:264;10131:52;10159:11;10172:3;10177:5;10131:27;:52::i;:::-;10124:59;;7717:4702;;;:::o;7930:2265::-;-1:-1:-1;;;;;10215:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:59;;;:77;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10215:77:0;;;;;;;10309:38;;;:49;;;;:63;10305:1082;;-1:-1:-1;;;;;10477:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:61;;:58;;;:61;;;;-1:-1:-1;;;10477:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10394:22:0;;;;;:5;:22;;;;;;:38;;;;;:31;;:38;;;;;;10477:61;10394:58;:61;;10477;;;;;10394:58;;:61;;-1:-1:-1;;;10394:61:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10394:61:0;:144;10393:300;;;;-1:-1:-1;;;;;;10643:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:49;;;;;10561:58;;;:61;;10643:49;;;;;10561:58;10643:22;10561:61;;-1:-1:-1;;;10561:61:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10561:61:0;:131;10393:300;10389:987;;;10716:51;10725:11;10738:15;10755:5;10762:4;10716:8;:51::i;:::-;10793:64;10821:11;10834:15;10851:5;10793:27;:64::i;10389:987::-;-1:-1:-1;;;;;10966:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:49;;;;;10883:58;;;:61;;10966:49;;;;;10883:58;10966:22;10883:61;;-1:-1:-1;;;10883:61:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10883:61:0;:132;10879:497;;;11036:51;11045:11;11058:15;11075:5;11082:4;11036:8;:51::i;10879:497::-;11218:52;11227:11;11240:15;11257:5;11264;11218:8;:52::i;10879:497::-;-1:-1:-1;;;;;11403:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:61;;:76;;;;:58;;;:61;;;;-1:-1:-1;;;11403:61:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11403:61:0;:76;11399:499;;;11496:52;11505:11;11518:15;11535:5;11542;11496:8;:52::i;11399:499::-;-1:-1:-1;;;;;11656:22:0;;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;:76;;;;:58;;:22;:61;;-1:-1:-1;;;11656:61:0;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11656:61:0;:76;11652:246;;;11749:51;11758:11;11771:15;11788:5;11795:4;11749:8;:51::i;11652:246::-;-1:-1:-1;;;;;12057:22:0;;12051:68;12057:22;;;12051:5;12057:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:61;;12051:5;;:68;12057:58;;;:61;;;;-1:-1:-1;;;12057:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12057:61:0;;;12051:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;12057:61;12051:104;;;:111;11928:22;;;;;11922:5;11928:22;;;;;;:38;;;:31;;;;:38;;;;;;:58;;;:61;;12057;;11928;;-1:-1:-1;;;11928:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11928:61:0;11922:68;;;;;;;;;;;;;;;:84;;;;;:77;;:84;;;;;11928:61;11922:104;:111;:240;11918:409;;12179:52;12188:11;12201:15;12218:5;12225;12179:8;:52::i;:::-;11918:409;;;12264:51;12273:11;12286:15;12303:5;12310:4;12264:8;:51::i;19147:1390::-;19256:16;19274:21;19299:50;19315:11;19328:5;19335:6;19343:5;19299:15;:50::i;:::-;19366:17;;;19386:1;19366:17;;;:10;:17;;;;;;19255:94;;-1:-1:-1;19255:94:0;-1:-1:-1;19366:21:0;;;:50;;;19415:1;19391:21;:25;19366:50;19362:1168;;;-1:-1:-1;;;;;19436:22:0;;;;:43;;-1:-1:-1;19474:5:0;;-1:-1:-1;;;;;19462:17:0;;;19474:5;;19462:17;19436:43;19432:1087;;;19528:17;;;;;;;:10;:17;;;;;;19503:21;:42;19499:221;;19569:6;;;19588:17;;;;;:10;:17;;;;;;;19569:39;;-1:-1:-1;;;19569:39:0;;;;-1:-1:-1;;;;;19569:6:0;;;;:11;;19588:17;;19569:39;;;;;;;;;;;19588:17;19569:6;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19432:1087;;19499:221;19657:6;;;;;;;;-1:-1:-1;;;;;19657:6:0;-1:-1:-1;;;;;19657:11:0;;19676:21;19657:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19432:1087;-1:-1:-1;;;;;19765:18:0;;;;;;:8;:18;;;;;;;;19760:128;;19807:11;:13;;;:11;:13;;;:::i;:::-;;;;-1:-1:-1;;;;;;;19843:18:0;;;;;;:8;:18;;;;;:25;;-1:-1:-1;;19843:25:0;19864:4;19843:25;;;19760:128;19929:6;:11;;19939:1;19929:11;19924:109;;;19996:17;;;;;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;19965:27:0;;;;:17;:27;;;;;:48;;19996:17;;19965:27;;:48;;19996:17;;19965:48;:::i;:::-;;;;-1:-1:-1;;19924:109:0;20074:6;:11;;20084:1;20074:11;20069:109;;;20141:17;;;;;;;:10;:17;;;;;;;;;-1:-1:-1;;;;;20110:27:0;;;;:17;:27;;;;;:48;;20141:17;;20110:27;;:48;;20141:17;;20110:48;:::i;:::-;;;;-1:-1:-1;;20069:109:0;20226:17;;;;;;;:10;:17;;;;;;;20203:41;;-1:-1:-1;;;;;20203:22:0;;;:41;;;;;20226:17;20203:41;;20226:17;20203:41;20226:17;20203:22;:41;;;;;;;20198:147;;20276:49;;-1:-1:-1;;;;;20276:26:0;;;20303:21;20276:49;;;;;;;;;20303:21;20276:26;:49;;;;;;;;;;;;;;;;;;;;;20269:56;;;;20198:147;20385:16;20381:123;;;20431:53;;;4257:4:1;4245:17;;;4227:36;;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;20431:53:0;;;;;;;;;;4200:18:1;20431:53:0;;;;;;;20381:123;19147:1390;;;;;;:::o;13994:1909::-;-1:-1:-1;;;;;14113:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;;:59;:66;14182:1;-1:-1:-1;14109:166:0;;;14207:56;14224:15;14241:11;14254:1;14257:5;14207:16;:56::i;14109:166::-;-1:-1:-1;;;;;14323:22:0;;;14295:19;14323:22;;;14317:5;14323:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;;14317:61;;;;;;;;:77;;;:70;;;;:77;;;;;14323:54;14317:97;14295:119;;;;;;;;;;;;;;;;;:19;;:119;14317:97;;14295:119;;14317:97;14295:119;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14295:119:0;;;;;;;;;;;;;;;;;;;;;;;14439:2;:9;14452:1;14439:14;14435:501;;;14483:15;-1:-1:-1;;;;;14474:24:0;:2;14477:1;14474:5;;;;;;-1:-1:-1;;;14474:5:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14474:24:0;;:69;;;;14528:15;-1:-1:-1;;;;;14519:24:0;:2;14522:1;14519:5;;;;;;-1:-1:-1;;;14519:5:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14519:24:0;;14474:69;14470:455;;;-1:-1:-1;;;;;14570:22:0;;;14564:61;14570:22;;;14564:5;14570:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;;14564:61;;;;;;;;:77;;;:70;;;;:77;;;;;;:88;;:106;;-1:-1:-1;;;;;;14564:106:0;;;;;;14470:455;;;14696:2;:9;14709:1;14696:14;14692:233;;;14744:15;-1:-1:-1;;;;;14735:24:0;:2;14738:1;14735:5;;;;;;-1:-1:-1;;;14735:5:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;14735:24:0;;14731:179;;;-1:-1:-1;;;;;14790:22:0;;;14784:61;14790:22;;;14784:5;14790:22;;;;;;;;:38;;;;;;:31;;;;:38;;;;;:54;;;;14784:61;;;;;;;;:77;;;:70;;;;:77;;;;;;:88;;:106;;-1:-1:-1;;;;;;14784:106:0;;;;;;14731:179;15017:16;;;15031:1;15017:16;;;;;;;;;;-1:-1:-1;;;;;14956:22:0;;;;:5;:22;;;;;:38;;;;;:31;;:38;;;;;;:77;;;;:58;;;;;15017:16;14956:77;:::i;:::-;-1:-1:-1;15106:16:0;;;15120:1;15106:16;;;;;;;;;;-1:-1:-1;;;;;15044:22:0;;;;:5;:22;;;;;;:38;;;;;:31;;:38;;;;;;;:78;;;;:59;;;;;15106:16;15044:78;:::i;:::-;-1:-1:-1;;;;;;15133:22:0;;15193:1;15133:22;;;:5;:22;;;;;;;;:38;;;;;:31;;;:38;;;;;:49;;:62;;-1:-1:-1;;;;;;15133:62:0;;;15213:22;;;;:37;;;;;15251:7;15165:5;15133:62;15251:7;:::i;:::-;15213:46;;;;;;;;;;;;;;;-1:-1:-1;15213:46:0;;;15212:47;:70;;;;-1:-1:-1;15263:19:0;;;1029:2;15263:19;;15212:70;15208:156;;;-1:-1:-1;;;;;15299:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:46;;:53;;-1:-1:-1;;15299:53:0;15348:4;15299:53;;;15208:156;-1:-1:-1;;;;;15376:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:52;;:54;;;;;;:::i;:::-;;;;-1:-1:-1;;15474:5:0;;-1:-1:-1;;;;;15455:24:0;;;15474:5;;15455:24;15451:445;;15496:27;15526:42;15545:15;15562:5;15526:18;:42::i;:::-;15590:69;;;15650:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;15496:72:0;;-1:-1:-1;;;;;;15590:69:0;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;15590:69:0;4200:18:1;15590:69:0;;;;;;;15674:61;15691:15;15708:19;15729:5;15674:16;:61::i;:::-;15451:445;;;;15782:5;;15773:50;;;15814:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;15773:50:0;;;;15797:1;;15782:5;;;-1:-1:-1;;;;;;;;;;;15773:50:0;4200:18:1;15773:50:0;;;;;;;15855:5;;15838:46;;-1:-1:-1;;;;;15855:5:0;15862:11;15875:1;15878:5;15838:16;:46::i;12427:1555::-;12537:2;12532:1443;;-1:-1:-1;;;;;12562:22:0;;12556:68;12562:22;;;12556:5;12562:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;12556:5;;:68;;;12562:61;;-1:-1:-1;;;12562:61:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12562:61:0;;;12556:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;12562:61;12556:104;;;:122;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12556:122:0;;;;;;;12724:22;;;;;:5;:22;;;;;:38;;;:31;:38;;;;;:58;;;:61;;:58;;12562:61;12724;;-1:-1:-1;;;12724:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12809:22:0;;;;;12787:1;12809:22;;;;;;;:38;;;;;:31;;:38;;;;;;12724:61;12809:58;:61;;12724;;;;12698:218;;;;-1:-1:-1;;;;;;;;;;;12698:218:0;12787:1;;12790:5;;12787:1;;12724:61;;12809;;-1:-1:-1;;;12809:61:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12809:61:0;12803:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;;12809:61;12803:104;:111;12698:218;;4556:17:1;;;4538:36;;4610:17;;;4590:18;;;4583:45;;;;4664:17;;4644:18;;;4637:45;4526:2;4511:18;12698:218:0;;;;;;;-1:-1:-1;;;;;12936:176:0;;;12999:68;13005:22;;;12979:1;13005:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;12936:176;;;;;-1:-1:-1;;;;;;;;;;;12936:176:0;12982:5;;12979:1;;12999:68;;13005:61;;-1:-1:-1;;;13005:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13005:61:0;12999:68;;;;;;;;;;;;;;;:84;;;;;:77;;:84;;;;;13005:61;12999:104;:111;12989:122;;:1;:122;:::i;:::-;12936:176;;;4568:4:1;4556:17;;;4538:36;;4610:17;;;4605:2;4590:18;;4583:45;4664:17;;4644:18;;;4637:45;12936:176:0;;;;;;4526:2:1;12936:176:0;;;-1:-1:-1;;;;;13182:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;:61;;:58;;:22;:61;;-1:-1:-1;;;13182:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13129:18:0;;;;;:5;:18;;;;;;:34;;;;;:27;;:34;;;;;;;:114;;-1:-1:-1;;;;;;13129:114:0;13182:61;;;;13129:114;;;12532:1443;;;-1:-1:-1;;;;;13282:22:0;;13276:68;13282:22;;;13276:5;13282:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:61;;13276:5;;:68;13282:58;;;:61;;;;-1:-1:-1;;;13282:61:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13282:61:0;;;13276:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;13282:61;13276:104;;;:122;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13276:122:0;;;;;;;13444:22;;;;;:5;:22;;;;;:38;;;:31;:38;;;:58;;:61;;:58;;13282:61;13444;;;;-1:-1:-1;;;13444:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13529:22:0;;;;;13507:1;13529:22;;;;;;;:38;;;;;:31;;:38;;;;;;13444:61;13529:58;;;:61;;13444;;;;13418:218;;;;-1:-1:-1;;;;;;;;;;;13418:218:0;13507:1;;13510:5;;13507:1;;13444:61;;13529;;;;-1:-1:-1;;;13529:61:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13529:61:0;13523:68;;;;;;;;;;;;;;;:84;;;;;;:77;;;;:84;;;;;;13529:61;13523:104;:111;13418:218;;4556:17:1;;;4538:36;;4610:17;;;4590:18;;;4583:45;;;;4664:17;;4644:18;;;4637:45;4526:2;4511:18;13418:218:0;;;;;;;-1:-1:-1;;;;;13656:176:0;;;13719:68;13725:22;;;13699:1;13725:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:61;;13656:176;;;;;-1:-1:-1;;;;;;;;;;;13656:176:0;13702:5;;13699:1;;13719:68;;13725:61;;;;-1:-1:-1;;;13725:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13725:61:0;13719:68;;;;;;;;;;;;;;;:84;;;;;:77;;:84;;;;;13725:61;13719:104;:111;13709:122;;:1;:122;:::i;:::-;13656:176;;;4568:4:1;4556:17;;;4538:36;;4610:17;;;4605:2;4590:18;;4583:45;4664:17;;4644:18;;;4637:45;13656:176:0;;;;;;4526:2:1;13656:176:0;;;-1:-1:-1;;;;;13902:22:0;;;;;;:5;:22;;;;;;;;:38;;;;;:31;;:38;;;;;:58;;;;:61;;:58;;;:61;;;;-1:-1:-1;;;13902:61:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13849:18:0;;;;;:5;:18;;;;;;:34;;;;;:27;;:34;;;;;;;:114;;-1:-1:-1;;;;;;13849:114:0;13902:61;;;;13849:114;;;12427:1555;;;;:::o;18080:1059::-;18247:11;18184:16;18283:1;18273:11;;;;18269:863;;;18301:394;-1:-1:-1;;;;;18337:15:0;;;;;;:5;:15;;;;;;;;:31;;;;;;:24;;;;:31;;;;;;:39;;;18333:347;;;18406:43;;;18440:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;18406:43:0;;;;;;;;;;4200:18:1;18406:43:0;;;;;;;-1:-1:-1;;;;;;18529:15:0;;;;;;;:5;:15;;;;;;;;:31;;;;;:24;;:31;;;;;:47;;18491:4;18301:394;;18333:347;18625:35;;18269:863;-1:-1:-1;;;;;18763:15:0;;;;;;:5;:15;;;;;;;;:31;;;;;;:24;;;;:31;;;;;;:39;;;;18759:347;;;18832:43;;;18866:1;4227:36:1;;4257:4;4299:17;;4294:2;4279:18;;4272:45;-1:-1:-1;;;;;18832:43:0;;;;;;;;;;4200:18:1;18832:43:0;;;;;;;-1:-1:-1;;;;;;18955:15:0;;;;;;;:5;:15;;;;;;;;:31;;;;;:24;;:31;;;;;:47;;18917:4;18727:394;;;18080:1059;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;14:173:1;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:2;;177:1;174;167:12;111:2;63:124;;;:::o;192:156::-;258:20;;318:4;307:16;;297:27;;287:2;;338:1;335;328:12;353:196;412:6;465:2;453:9;444:7;440:23;436:32;433:2;;;486:6;478;471:22;433:2;514:29;533:9;514:29;:::i;:::-;504:39;423:126;-1:-1:-1;;;423:126:1:o;554:266::-;620:6;628;681:2;669:9;660:7;656:23;652:32;649:2;;;702:6;694;687:22;649:2;730:29;749:9;730:29;:::i;:::-;720:39;;778:36;810:2;799:9;795:18;778:36;:::i;:::-;768:46;;639:181;;;;;:::o;825:190::-;884:6;937:2;925:9;916:7;912:23;908:32;905:2;;;958:6;950;943:22;905:2;-1:-1:-1;986:23:1;;895:120;-1:-1:-1;895:120:1:o;1020:192::-;1077:6;1130:2;1118:9;1109:7;1105:23;1101:32;1098:2;;;1151:6;1143;1136:22;1098:2;1179:27;1196:9;1179:27;:::i;1217:262::-;1281:6;1289;1342:2;1330:9;1321:7;1317:23;1313:32;1310:2;;;1363:6;1355;1348:22;1310:2;1391:27;1408:9;1391:27;:::i;1484:463::-;1537:3;1575:5;1569:12;1602:6;1597:3;1590:19;1628:4;1657:2;1652:3;1648:12;1641:19;;1694:2;1687:5;1683:14;1715:3;1727:195;1741:6;1738:1;1735:13;1727:195;;;1806:13;;-1:-1:-1;;;;;1802:39:1;1790:52;;1862:12;;;;1897:15;;;;1838:1;1756:9;1727:195;;;-1:-1:-1;1938:3:1;;1545:402;-1:-1:-1;;;;;1545:402:1:o;2160:819::-;2486:4;2532:1;2528;2523:3;2519:11;2515:19;2573:2;2565:6;2561:15;2550:9;2543:34;2613:3;2608:2;2597:9;2593:18;2586:31;2640:57;2692:3;2681:9;2677:19;2669:6;2640:57;:::i;:::-;2745:9;2737:6;2733:22;2728:2;2717:9;2713:18;2706:50;2773:44;2810:6;2802;2773:44;:::i;:::-;2860:14;;2853:22;2848:2;2833:18;;2826:50;-1:-1:-1;2913:15:1;;;;2907:3;2892:19;;2885:44;2960:3;2945:19;2938:35;-1:-1:-1;2765:52:1;2495:484;-1:-1:-1;;;2495:484:1:o;2984:512::-;-1:-1:-1;;;;;3241:32:1;;3223:51;;3310:3;3305:2;3290:18;;3283:31;;;-1:-1:-1;;3331:57:1;;3368:19;;3360:6;3331:57;:::i;:::-;3431:14;;3424:22;3419:2;3404:18;;3397:50;-1:-1:-1;3478:2:1;3463:18;3456:34;3323:65;3213:283;-1:-1:-1;;3213:283:1:o;11659:128::-;11699:3;11730:1;11726:6;11723:1;11720:13;11717:2;;;11736:18;;:::i;:::-;-1:-1:-1;11772:9:1;;11707:80::o;11792:204::-;11830:3;11866:4;11863:1;11859:12;11898:4;11895:1;11891:12;11933:3;11927:4;11923:14;11918:3;11915:23;11912:2;;;11941:18;;:::i;:::-;11977:13;;11838:158;-1:-1:-1;;;11838:158:1:o;12001:217::-;12041:1;12067;12057:2;;-1:-1:-1;;;12092:31:1;;12146:4;12143:1;12136:15;12174:4;12099:1;12164:15;12057:2;-1:-1:-1;12203:9:1;;12047:171::o;12223:195::-;12261:4;12298;12295:1;12291:12;12330:4;12327:1;12323:12;12355:3;12350;12347:12;12344:2;;;12362:18;;:::i;:::-;12399:13;;;12270:148;-1:-1:-1;;;12270:148:1:o;12423:135::-;12462:3;-1:-1:-1;;12483:17:1;;12480:2;;;12503:18;;:::i;:::-;-1:-1:-1;12550:1:1;12539:13;;12470:88::o;12563:127::-;12624:10;12619:3;12615:20;12612:1;12605:31;12655:4;12652:1;12645:15;12679:4;12676:1;12669:15

Swarm Source

ipfs://735566d761c1088288d1658e9b271c861313368d79374f4bde32c143e448fbb8
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.