ETH Price: $3,229.97 (-1.88%)

Contract

0xD266F6a2aF211E7372f74f3A77616bDDd8f58931
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Registration Ext110200492020-10-09 8:01:131563 days ago1602230473IN
Neun.io
0.09 ETH0.0217193764.2
Registration Ext110103082020-10-07 18:57:201564 days ago1602097040IN
Neun.io
0.09 ETH0.0196218658
Registration Ext110081682020-10-07 10:55:081564 days ago1602068108IN
Neun.io
0.09 ETH0.0238990860
Buy New Level109484482020-09-28 2:46:141574 days ago1601261174IN
Neun.io
0.36 ETH0.0107197159
Buy New Level109483972020-09-28 2:34:121574 days ago1601260452IN
Neun.io
0.18 ETH0.0098112654.00000145
Buy New Level109471492020-09-27 21:55:271574 days ago1601243727IN
Neun.io
0.36 ETH0.0073126847
Buy New Level109471462020-09-27 21:54:281574 days ago1601243668IN
Neun.io
0.18 ETH0.001713269
Buy New Level109471462020-09-27 21:54:281574 days ago1601243668IN
Neun.io
0.18 ETH0.0016635467
Buy New Level109471152020-09-27 21:47:251574 days ago1601243245IN
Neun.io
0.36 ETH0.0085394347
Buy New Level109465112020-09-27 19:32:381574 days ago1601235158IN
Neun.io
0.18 ETH0.0014152557
Buy New Level109465112020-09-27 19:32:381574 days ago1601235158IN
Neun.io
0.18 ETH0.0074682748
Buy New Level109448612020-09-27 13:18:311574 days ago1601212711IN
Neun.io
0.09 ETH0.008479654.5
Registration Ext109448472020-09-27 13:15:241574 days ago1601212524IN
Neun.io
0.09 ETH0.0186508254.5
Buy New Level109445332020-09-27 12:06:561574 days ago1601208416IN
Neun.io
0.36 ETH0.0078873652.00000156
Buy New Level109443072020-09-27 11:18:361574 days ago1601205516IN
Neun.io
0.18 ETH0.0077356851
Buy New Level109442992020-09-27 11:15:331574 days ago1601205333IN
Neun.io
0.09 ETH0.00749548.00000145
Buy New Level109442982020-09-27 11:15:181574 days ago1601205318IN
Neun.io
0.09 ETH0.0012166249
Buy New Level109442692020-09-27 11:08:371574 days ago1601204917IN
Neun.io
0.09 ETH0.00758450
Registration Ext109441822020-09-27 10:48:391574 days ago1601203719IN
Neun.io
0.09 ETH0.017355251.3
Buy New Level109436192020-09-27 8:45:281575 days ago1601196328IN
Neun.io
0.36 ETH0.0098112654
Buy New Level109434032020-09-27 8:00:091575 days ago1601193609IN
Neun.io
0.18 ETH0.0099929555
Buy New Level109433882020-09-27 7:56:191575 days ago1601193379IN
Neun.io
0.09 ETH0.0099929555
Registration Ext109432992020-09-27 7:35:571575 days ago1601192157IN
Neun.io
0.09 ETH0.0183973146.1875
Buy New Level109335452020-09-25 19:00:491576 days ago1601060449IN
Neun.io
0.18 ETH0.0163339389.9
Buy New Level109318992020-09-25 12:48:161576 days ago1601038096IN
Neun.io
0.09 ETH0.018169100
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
110200492020-10-09 8:01:131563 days ago1602230473
Neun.io
0.045 ETH
110200492020-10-09 8:01:131563 days ago1602230473
Neun.io
0.045 ETH
110103082020-10-07 18:57:201564 days ago1602097040
Neun.io
0.045 ETH
110103082020-10-07 18:57:201564 days ago1602097040
Neun.io
0.045 ETH
110081682020-10-07 10:55:081564 days ago1602068108
Neun.io
0.045 ETH
110081682020-10-07 10:55:081564 days ago1602068108
Neun.io
0.045 ETH
109484482020-09-28 2:46:141574 days ago1601261174
Neun.io
0.36 ETH
109483972020-09-28 2:34:121574 days ago1601260452
Neun.io
0.18 ETH
109471492020-09-27 21:55:271574 days ago1601243727
Neun.io
0.36 ETH
109471152020-09-27 21:47:251574 days ago1601243245
Neun.io
0.36 ETH
109465112020-09-27 19:32:381574 days ago1601235158
Neun.io
0.18 ETH
109448612020-09-27 13:18:311574 days ago1601212711
Neun.io
0.09 ETH
109448472020-09-27 13:15:241574 days ago1601212524
Neun.io
0.045 ETH
109448472020-09-27 13:15:241574 days ago1601212524
Neun.io
0.045 ETH
109445332020-09-27 12:06:561574 days ago1601208416
Neun.io
0.36 ETH
109443072020-09-27 11:18:361574 days ago1601205516
Neun.io
0.18 ETH
109442992020-09-27 11:15:331574 days ago1601205333
Neun.io
0.09 ETH
109442692020-09-27 11:08:371574 days ago1601204917
Neun.io
0.09 ETH
109441822020-09-27 10:48:391574 days ago1601203719
Neun.io
0.045 ETH
109441822020-09-27 10:48:391574 days ago1601203719
Neun.io
0.045 ETH
109436192020-09-27 8:45:281575 days ago1601196328
Neun.io
0.36 ETH
109434032020-09-27 8:00:091575 days ago1601193609
Neun.io
0.18 ETH
109433882020-09-27 7:56:191575 days ago1601193379
Neun.io
0.09 ETH
109432992020-09-27 7:35:571575 days ago1601192157
Neun.io
0.045 ETH
109432992020-09-27 7:35:571575 days ago1601192157
Neun.io
0.045 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Neun

Compiler Version
v0.5.17+commit.d19bba13

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2020-06-17
*/

pragma solidity >=0.4.23 <0.6.0;

contract Neun {
    
    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 = 9;
    
    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;
    
    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) public {
        levelPrice[1] = 0.045 ether;
        for (uint8 i = 2; i <= LAST_LEVEL; i++) {
            levelPrice[i] = levelPrice[i-1] * 2;
        }
        
        owner = ownerAddress;
        
        User memory user = User({
            id: 1,
            referrer: address(0),
            partnersCount: uint(0)
        });
        
        users[ownerAddress] = user;
        idToAddress[1] = ownerAddress;
        
        for (uint8 i = 1; i <= LAST_LEVEL; i++) {
            users[ownerAddress].activeX3Levels[i] = true;
            users[ownerAddress].activeX6Levels[i] = true;
        }
        
        userIds[1] = ownerAddress;
    }
    
    function() external payable {
        if(msg.data.length == 0) {
            return registration(msg.sender, owner);
        }
        
        registration(msg.sender, bytesToAddress(msg.data));
    }

    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.09 ether, "registration cost 0.09");
        require(!isUserExists(userAddress), "user exists");
        require(isUserExists(referrerAddress), "referrer not exists");
        
        uint32 size;
        assembly {
            size := extcodesize(userAddress)
        }
        require(size == 0, "cannot be a contract");
        
        User memory user = User({
            id: lastUserId,
            referrer: referrerAddress,
            partnersCount: 0
        });
        
        users[userAddress] = user;
        idToAddress[lastUserId] = userAddress;
        
        users[userAddress].referrer = referrerAddress;
        
        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);
    }
    
    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);
        //close matrix
        users[referrerAddress].x3Matrix[level].referrals = new address[](0);
        if (!users[referrerAddress].activeX3Levels[level+1] && level != LAST_LEVEL) {
            users[referrerAddress].x3Matrix[level].blocked = true;
        }

        //create new one by recursion
        if (referrerAddress != owner) {
            //check referrer active level
            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));
            
            //set current level
            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));
            //set current level
            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));
            //set current level
            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) {
        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) {
        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) {
        return (users[userAddress].x3Matrix[level].currentReferrer,
                users[userAddress].x3Matrix[level].referrals,
                users[userAddress].x3Matrix[level].blocked);
    }

    function usersX6Matrix(address userAddress, uint8 level) public view returns(address, address[] memory, address[] memory, bool, address) {
        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);
    }
    
    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, bool) {
        address receiver = userAddress;
        bool isExtraDividends;
        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 (!address(uint160(receiver)).send(levelPrice[level])) {
            return address(uint160(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"}],"payable":false,"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"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"LAST_LEVEL","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balances","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint8","name":"matrix","type":"uint8"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"buyNewLevel","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"findFreeX3Referrer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"findFreeX6Referrer","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"idToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"isUserExists","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lastUserId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"levelPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"referrerAddress","type":"address"}],"name":"registrationExt","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"userIds","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"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"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersActiveX3Levels","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint8","name":"level","type":"uint8"}],"name":"usersActiveX6Levels","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"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"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"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"}],"payable":false,"stateMutability":"view","type":"function"}]

608060405260026004553480156200001657600080fd5b50604051620062f4380380620062f4833981810160405260208110156200003c57600080fd5b8101908080519060200190929190505050669fdf42f6e4800060066000600160ff168152602001908152602001600020819055506000600290505b600960ff168160ff1611620000d1576002600660006001840360ff1660ff1681526020019081526020016000205402600660008360ff1660ff16815260200190815260200160002081905550808060010191505062000077565b5080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200011d620003a5565b604051806060016040528060018152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152509050806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002015590505081600160006001815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600190505b600960ff168160ff1611620003495760016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008360ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506200024a565b5081600260006001815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050620003dc565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b615f0880620003ec6000396000f3fe6080604052600436106100fe5760003560e01c806383ba31b211610095578063b2f7543a11610064578063b2f7543a146107c2578063be389d5714610838578063e06e8dbd14610876578063ecabdf7914610914578063fa45323d14610966576100fe565b806383ba31b21461046f5780638da5cb5b146105605780639cc102fc146105b7578063a87430ba14610723576100fe565b8063348d4487116100d1578063348d44871461031c5780634635fd6814610347578063509222cd146103c2578063797eee241461042b576100fe565b806307279e2a1461019557806327e235e31461020b57806329c70400146102705780632a2d0c47146102a1575b600080369050141561013b5761013633600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a04565b610193565b6101923361018d6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506110f6565b610a04565b5b005b3480156101a157600080fd5b506101f1600480360360408110156101b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611104565b604051808215151515815260200191505060405180910390f35b34801561021757600080fd5b5061025a6004803603602081101561022e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611174565b6040518082815260200191505060405180910390f35b34801561027c57600080fd5b5061028561118c565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102ad57600080fd5b506102da600480360360208110156102c457600080fd5b8101908080359060200190929190505050611191565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b506103316111c4565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103806004803603602081101561036a57600080fd5b81019080803590602001909291905050506111ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ce57600080fd5b50610411600480360360208110156103e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111fd565b604051808215151515815260200191505060405180910390f35b61046d6004803603602081101561044157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061124b565b005b34801561047b57600080fd5b506104cb6004803603604081101561049257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611258565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561054a57808201518184015260208101905061052f565b5050505090500194505050505060405180910390f35b34801561056c57600080fd5b50610575611433565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c357600080fd5b50610613600480360360408110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611459565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019060200280838360005b838110156106c85780820151818401526020810190506106ad565b50505050905001838103825286818151815260200191508051906020019060200280838360005b8381101561070a5780820151818401526020810190506106ef565b5050505090500197505050505050505060405180910390f35b34801561072f57600080fd5b506107726004803603602081101561074657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061179c565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3480156107ce57600080fd5b5061081e600480360360408110156107e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506117e6565b604051808215151515815260200191505060405180910390f35b6108746004803603604081101561084e57600080fd5b81019080803560ff169060200190929190803560ff169060200190929190505050611856565b005b34801561088257600080fd5b506108d26004803603604081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919050505061208d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092057600080fd5b506109506004803603602081101561093757600080fd5b81019080803560ff16906020019092919050505061223c565b6040518082815260200191505060405180910390f35b34801561097257600080fd5b506109c26004803603604081101561098957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050612254565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b67013fbe85edc900003414610a81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f726567697374726174696f6e20636f737420302e30390000000000000000000081525060200191505060405180910390fd5b610a8a826111fd565b15610afd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f757365722065786973747300000000000000000000000000000000000000000081525060200191505060405180910390fd5b610b06816111fd565b610b78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7265666572726572206e6f74206578697374730000000000000000000000000081525060200191505060405180910390fd5b6000823b905060008163ffffffff1614610bfa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616e6e6f74206265206120636f6e747261637400000000000000000000000081525060200191505060405180910390fd5b610c02615dac565b604051806060016040528060045481526020018473ffffffffffffffffffffffffffffffffffffffff16815260200160008152509050806000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050508360016000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000600160ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600160ff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508360026000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600081548092919060010191905055506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600081548092919060010191905055506000610f4b856001612254565b9050806000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005016000600160ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ff185826001612403565b6110078561100087600161208d565b6001612c62565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001548473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f309bb360e8b69c23937ccc5fb01f9aeeead1c95a99604e175113ff82f2b1723a6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a45050505050565b600060148201519050919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60036020528060005260406000206000915090505481565b600981565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414159050919050565b6112553382610a04565b50565b6000606060008060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff1681526020019081526020016000206001016000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008760ff1660ff16815260200190815260200160002060020160009054906101000a900460ff168180548060200260200160405190810160405280929190818152602001828054801561141f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116113d5575b505050505091509250925092509250925092565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006060806000806000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008760ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff1681526020019081526020016000206001016000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008960ff1660ff1681526020019081526020016000206002016000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060030160009054906101000a900460ff166000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008b60ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054806020026020016040519081016040528092919081815260200182805480156116f957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116116af575b505050505093508280548060200260200160405190810160405280929190818152602001828054801561178157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611737575b50505050509250945094509450945094509295509295909350565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61185f336111fd565b6118b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615eb16023913960400191505060405180910390fd5b60018260ff1614806118c9575060028260ff16145b61193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c6964206d617472697800000000000000000000000000000000000081525060200191505060405180910390fd5b600660008260ff1660ff1681526020019081526020016000205434146119c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f696e76616c69642070726963650000000000000000000000000000000000000081525060200191505060405180910390fd5b60018160ff161180156119e35750600960ff168160ff1611155b611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f696e76616c6964206c6576656c0000000000000000000000000000000000000081525060200191505060405180910390fd5b60018260ff161415611dc4576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008260ff1660ff16815260200190815260200160002060009054906101000a900460ff1615611b3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6c6576656c20616c72656164792061637469766174656400000000000000000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006001830360ff1660ff16815260200190815260200160002060020160009054906101000a900460ff1615611c235760008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006001840360ff1660ff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055505b6000611c2f3383612254565b9050806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008460ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d47338284612403565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119600185604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a350612089565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008260ff1660ff16815260200190815260200160002060009054906101000a900460ff1615611e9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6c6576656c20616c72656164792061637469766174656400000000000000000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006001830360ff1660ff16815260200190815260200160002060030160009054906101000a900460ff1615611f865760008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006001840360ff1660ff16815260200190815260200160002060030160006101000a81548160ff0219169083151502179055505b6000611f92338361208d565b905060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008460ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612010338284612c62565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119600285604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a3505b5050565b60005b600115612235576000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff16156121cc576000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612236565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612090565b5b92915050565b60066020528060005260406000206000915090505481565b60005b6001156123fc576000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1615612393576000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506123fd565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612257565b5b92915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008260ff1660ff1681526020019081526020016000206001018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060036000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff16815260200190815260200160002060010180549050101561261e578173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826001846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008760ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a3612619828460018461431d565b612c5d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826001846003604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a360006040519080825280602002602001820160405280156126d15781602001602082028038833980820191505090505b506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff1681526020019081526020016000206001019080519060200190612740929190615de3565b506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006001830160ff1660ff16815260200190815260200160002060009054906101000a900460ff161580156127be5750600960ff168160ff1614155b156128385760016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aee5760006128998383612254565b90508073ffffffffffffffffffffffffffffffffffffffff166000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129e457806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff168152602001908152602001600020600301600081548092919060010191905055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600186604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a4612ae8838284612403565b50612c5c565b612b1d600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460018461431d565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008260ff1660ff168152602001908152602001600020600301600081548092919060010191905055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600185604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a45b5b505050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008260ff1660ff16815260200190815260200160002060009054906101000a900460ff16612d3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f3530302e205265666572726572206c6576656c20697320696e6163746976650081525060200191505060405180910390fd5b60026000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001018054905010156139a5576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff1681526020019081526020016000206001018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008760ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561304557613040828460028461431d565b614318565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206002018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff1681526020019081526020016000206001018054905090506002811480156132b357508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160008154811061327057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b801561337b57508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160018154811061333857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156134f85760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010180549050141561346f578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866005604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a36134f3565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866006604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a35b613993565b60018114806135075750600281145b80156135cf57508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160008154811061358c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561374c5760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff1681526020019081526020016000206001018054905014156136c3578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866003604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a3613747565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866004604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a35b613992565b60028114801561381857508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff1681526020019081526020016000206001016001815481106137d557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156139915760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010180549050141561390c578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866005604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a3613990565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866006604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a35b5b5b5b61399e858385614459565b5050614318565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff1681526020019081526020016000206002018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600073ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613f43576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff168152602001908152602001600020600101600181548110613b7a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600081548110613c2257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015613da757506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600081548110613d6457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15613dc957613db98383836001614e79565b613dc4838383614459565b614318565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600081548110613ec257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613f2657613f168383836001614e79565b613f21838383614459565b614318565b613f338383836000614e79565b613f3e838383614459565b614318565b8273ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600181548110613fc157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614025576140158383836000614e79565b614020838383614459565b614318565b8273ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001016000815481106140a357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614107576140f78383836001614e79565b614102838383614459565b614318565b6000808060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060010160018154811061417157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff168152602001908152602001600020600101805490506000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160008154811061426157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010180549050116142fe576142f98383836000614e79565b61430c565b61430b8383836001614e79565b5b614317838383614459565b5b505050565b60008061432c86868686615a78565b915091508173ffffffffffffffffffffffffffffffffffffffff166108fc600660008660ff1660ff168152602001908152602001600020549081150290604051600060405180830381858888f193505050506143d0578173ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156143c8573d6000803e3d6000fd5b505050614453565b8015614450578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167ff0ddc65c0d411f042f723dcfa1b7d13e85a35b7b70761d447c6500411cacf3288686604051808360ff1660ff1681526020018260ff1660ff1681526020019250505060405180910390a35b50505b50505050565b60046000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206002018054905010156144d2576144cd828460028461431d565b614e74565b60606000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010180548060200260200160405190810160405280929190818152602001828054801561462a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116145e0575b50505050509050600281511415614952578273ffffffffffffffffffffffffffffffffffffffff168160008151811061465f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614806146c857508273ffffffffffffffffffffffffffffffffffffffff16816001815181106146a857fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156147e757826000808060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614951565b600181511415614950578273ffffffffffffffffffffffffffffffffffffffff168160008151811061481557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561494f57826000808060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b60006040519080825280602002602001820160405280156149825781602001602082028038833980820191505090505b506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060010190805190602001906149f1929190615de3565b506000604051908082528060200260200182016040528015614a225781602001602082028038833980820191505090505b506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff1681526020019081526020016000206002019080519060200190614a91929190615de3565b5060008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006001840160ff1660ff16815260200190815260200160002060009054906101000a900460ff16158015614baa5750600960ff168260ff1614155b15614c245760016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060030160006101000a81548160ff0219169083151502179055505b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060040160008154809291906001019190505550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614d91576000614cf0848461208d565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600287604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a4614d8b848285612c62565b50614e72565b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600286604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a4614e71600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560028561431d565b5b505b505050565b8061547a576000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff168152602001908152602001600020600101600081548110614ee857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010160008154811061503557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160008154811061511b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160008154811061528f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050600201604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a36000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001016000815481106153b157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615a72565b6000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff1681526020019081526020016000206001016001815481106154e457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010160018154811061563157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160018154811061571757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160018154811061588b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050600401604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a36000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001016001815481106159ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50505050565b6000806000869050600060018660ff161415615c19575b600115615c14576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff16815260200190815260200160002060020160009054906101000a900460ff1615615c02578673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709600188604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a3600190506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150615c0f565b8181935093505050615da3565b615a8f565b615da0565b5b600115615d9f576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060030160009054906101000a900460ff1615615d8d578673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709600288604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a3600190506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150615d9a565b8181935093505050615da3565b615c1a565b5b50505b94509492505050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b828054828255906000526020600020908101928215615e5c579160200282015b82811115615e5b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190615e03565b5b509050615e699190615e6d565b5090565b615ead91905b80821115615ea957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101615e73565b5090565b9056fe75736572206973206e6f74206578697374732e2052656769737465722066697273742ea265627a7a72315820144a6f6abe38411607952562610a0cfd8222aa8ef067de8de63c862fb2d9f26364736f6c63430005110032000000000000000000000000e2a45f53d05a283ff1eb244f9ceb4912363dd71a

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c806383ba31b211610095578063b2f7543a11610064578063b2f7543a146107c2578063be389d5714610838578063e06e8dbd14610876578063ecabdf7914610914578063fa45323d14610966576100fe565b806383ba31b21461046f5780638da5cb5b146105605780639cc102fc146105b7578063a87430ba14610723576100fe565b8063348d4487116100d1578063348d44871461031c5780634635fd6814610347578063509222cd146103c2578063797eee241461042b576100fe565b806307279e2a1461019557806327e235e31461020b57806329c70400146102705780632a2d0c47146102a1575b600080369050141561013b5761013633600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16610a04565b610193565b6101923361018d6000368080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506110f6565b610a04565b5b005b3480156101a157600080fd5b506101f1600480360360408110156101b857600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611104565b604051808215151515815260200191505060405180910390f35b34801561021757600080fd5b5061025a6004803603602081101561022e57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050611174565b6040518082815260200191505060405180910390f35b34801561027c57600080fd5b5061028561118c565b604051808260ff1660ff16815260200191505060405180910390f35b3480156102ad57600080fd5b506102da600480360360208110156102c457600080fd5b8101908080359060200190929190505050611191565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561032857600080fd5b506103316111c4565b6040518082815260200191505060405180910390f35b34801561035357600080fd5b506103806004803603602081101561036a57600080fd5b81019080803590602001909291905050506111ca565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103ce57600080fd5b50610411600480360360208110156103e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506111fd565b604051808215151515815260200191505060405180910390f35b61046d6004803603602081101561044157600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061124b565b005b34801561047b57600080fd5b506104cb6004803603604081101561049257600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611258565b604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561054a57808201518184015260208101905061052f565b5050505090500194505050505060405180910390f35b34801561056c57600080fd5b50610575611433565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156105c357600080fd5b50610613600480360360408110156105da57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050611459565b604051808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838103835287818151815260200191508051906020019060200280838360005b838110156106c85780820151818401526020810190506106ad565b50505050905001838103825286818151815260200191508051906020019060200280838360005b8381101561070a5780820151818401526020810190506106ef565b5050505090500197505050505050505060405180910390f35b34801561072f57600080fd5b506107726004803603602081101561074657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061179c565b604051808481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390f35b3480156107ce57600080fd5b5061081e600480360360408110156107e557600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff1690602001909291905050506117e6565b604051808215151515815260200191505060405180910390f35b6108746004803603604081101561084e57600080fd5b81019080803560ff169060200190929190803560ff169060200190929190505050611856565b005b34801561088257600080fd5b506108d26004803603604081101561089957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff16906020019092919050505061208d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561092057600080fd5b506109506004803603602081101561093757600080fd5b81019080803560ff16906020019092919050505061223c565b6040518082815260200191505060405180910390f35b34801561097257600080fd5b506109c26004803603604081101561098957600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803560ff169060200190929190505050612254565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b67013fbe85edc900003414610a81576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260168152602001807f726567697374726174696f6e20636f737420302e30390000000000000000000081525060200191505060405180910390fd5b610a8a826111fd565b15610afd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600b8152602001807f757365722065786973747300000000000000000000000000000000000000000081525060200191505060405180910390fd5b610b06816111fd565b610b78576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260138152602001807f7265666572726572206e6f74206578697374730000000000000000000000000081525060200191505060405180910390fd5b6000823b905060008163ffffffff1614610bfa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f63616e6e6f74206265206120636f6e747261637400000000000000000000000081525060200191505060405180910390fd5b610c02615dac565b604051806060016040528060045481526020018473ffffffffffffffffffffffffffffffffffffffff16815260200160008152509050806000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604082015181600201559050508360016000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206003016000600160ff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206004016000600160ff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508360026000600454815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506004600081548092919060010191905055506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600081548092919060010191905055506000610f4b856001612254565b9050806000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206005016000600160ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ff185826001612403565b6110078561100087600161208d565b6001612c62565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001548473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f309bb360e8b69c23937ccc5fb01f9aeeead1c95a99604e175113ff82f2b1723a6000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001546040518082815260200191505060405180910390a45050505050565b600060148201519050919050565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60036020528060005260406000206000915090505481565b600981565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b60026020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414159050919050565b6112553382610a04565b50565b6000606060008060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008560ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff1681526020019081526020016000206001016000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008760ff1660ff16815260200190815260200160002060020160009054906101000a900460ff168180548060200260200160405190810160405280929190818152602001828054801561141f57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116113d5575b505050505091509250925092509250925092565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006060806000806000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008760ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff1681526020019081526020016000206001016000808a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008960ff1660ff1681526020019081526020016000206002016000808b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060030160009054906101000a900460ff166000808c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008b60ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054806020026020016040519081016040528092919081815260200182805480156116f957602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116116af575b505050505093508280548060200260200160405190810160405280929190818152602001828054801561178157602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019060010190808311611737575b50505050509250945094509450945094509295509295909350565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905083565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61185f336111fd565b6118b4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526023815260200180615eb16023913960400191505060405180910390fd5b60018260ff1614806118c9575060028260ff16145b61193b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f696e76616c6964206d617472697800000000000000000000000000000000000081525060200191505060405180910390fd5b600660008260ff1660ff1681526020019081526020016000205434146119c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f696e76616c69642070726963650000000000000000000000000000000000000081525060200191505060405180910390fd5b60018160ff161180156119e35750600960ff168160ff1611155b611a55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600d8152602001807f696e76616c6964206c6576656c0000000000000000000000000000000000000081525060200191505060405180910390fd5b60018260ff161415611dc4576000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008260ff1660ff16815260200190815260200160002060009054906101000a900460ff1615611b3a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6c6576656c20616c72656164792061637469766174656400000000000000000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006001830360ff1660ff16815260200190815260200160002060020160009054906101000a900460ff1615611c235760008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160006001840360ff1660ff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055505b6000611c2f3383612254565b9050806000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008460ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d47338284612403565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119600185604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a350612089565b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008260ff1660ff16815260200190815260200160002060009054906101000a900460ff1615611e9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260178152602001807f6c6576656c20616c72656164792061637469766174656400000000000000000081525060200191505060405180910390fd5b6000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006001830360ff1660ff16815260200190815260200160002060030160009054906101000a900460ff1615611f865760008060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160006001840360ff1660ff16815260200190815260200160002060030160006101000a81548160ff0219169083151502179055505b6000611f92338361208d565b905060016000803373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008460ff1660ff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612010338284612c62565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f18a92df19fd94d6cfff209966673a5ca05a1c8e2bb68e097fce2bdc2ed811119600285604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a3505b5050565b60005b600115612235576000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff16156121cc576000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050612236565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612090565b5b92915050565b60066020528060005260406000206000915090505481565b60005b6001156123fc576000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160008360ff1660ff16815260200190815260200160002060009054906101000a900460ff1615612393576000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506123fd565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250612257565b5b92915050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008260ff1660ff1681526020019081526020016000206001018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060036000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff16815260200190815260200160002060010180549050101561261e578173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826001846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008760ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a3612619828460018461431d565b612c5d565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826001846003604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a360006040519080825280602002602001820160405280156126d15781602001602082028038833980820191505090505b506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff1681526020019081526020016000206001019080519060200190612740929190615de3565b506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060030160006001830160ff1660ff16815260200190815260200160002060009054906101000a900460ff161580156127be5750600960ff168160ff1614155b156128385760016000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff16815260200190815260200160002060020160006101000a81548160ff0219169083151502179055505b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612aee5760006128998383612254565b90508073ffffffffffffffffffffffffffffffffffffffff166000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146129e457806000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008360ff1660ff168152602001908152602001600020600301600081548092919060010191905055508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600186604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a4612ae8838284612403565b50612c5c565b612b1d600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168460018461431d565b600080600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008260ff1660ff168152602001908152602001600020600301600081548092919060010191905055508273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600185604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a45b5b505050565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160008260ff1660ff16815260200190815260200160002060009054906101000a900460ff16612d3a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601f8152602001807f3530302e205265666572726572206c6576656c20697320696e6163746976650081525060200191505060405180910390fd5b60026000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001018054905010156139a5576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff1681526020019081526020016000206001018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008760ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a3816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561304557613040828460028461431d565b614318565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206002018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505060008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff1681526020019081526020016000206001018054905090506002811480156132b357508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160008154811061327057fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b801561337b57508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160018154811061333857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156134f85760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010180549050141561346f578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866005604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a36134f3565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866006604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a35b613993565b60018114806135075750600281145b80156135cf57508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160008154811061358c57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b1561374c5760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff1681526020019081526020016000206001018054905014156136c3578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866003604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a3613747565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866004604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a35b613992565b60028114801561381857508373ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff1681526020019081526020016000206001016001815481106137d557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b156139915760016000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010180549050141561390c578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866005604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a3613990565b8173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002866006604051808460ff1681526020018360ff1660ff1681526020018260ff168152602001935050505060405180910390a35b5b5b5b61399e858385614459565b5050614318565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff1681526020019081526020016000206002018390806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050600073ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614613f43576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff168152602001908152602001600020600101600181548110613b7a57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600081548110613c2257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148015613da757506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600081548110613d6457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b15613dc957613db98383836001614e79565b613dc4838383614459565b614318565b6000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff16815260200190815260200160002060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600081548110613ec257fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415613f2657613f168383836001614e79565b613f21838383614459565b614318565b613f338383836000614e79565b613f3e838383614459565b614318565b8273ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff168152602001908152602001600020600101600181548110613fc157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614025576140158383836000614e79565b614020838383614459565b614318565b8273ffffffffffffffffffffffffffffffffffffffff166000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001016000815481106140a357fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415614107576140f78383836001614e79565b614102838383614459565b614318565b6000808060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060010160018154811061417157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008260ff1660ff168152602001908152602001600020600101805490506000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060010160008154811061426157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010180549050116142fe576142f98383836000614e79565b61430c565b61430b8383836001614e79565b5b614317838383614459565b5b505050565b60008061432c86868686615a78565b915091508173ffffffffffffffffffffffffffffffffffffffff166108fc600660008660ff1660ff168152602001908152602001600020549081150290604051600060405180830381858888f193505050506143d0578173ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f193505050501580156143c8573d6000803e3d6000fd5b505050614453565b8015614450578173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167ff0ddc65c0d411f042f723dcfa1b7d13e85a35b7b70761d447c6500411cacf3288686604051808360ff1660ff1681526020018260ff1660ff1681526020019250505060405180910390a35b50505b50505050565b60046000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206002018054905010156144d2576144cd828460028461431d565b614e74565b60606000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010180548060200260200160405190810160405280929190818152602001828054801561462a57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116145e0575b50505050509050600281511415614952578273ffffffffffffffffffffffffffffffffffffffff168160008151811061465f57fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1614806146c857508273ffffffffffffffffffffffffffffffffffffffff16816001815181106146a857fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16145b156147e757826000808060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550614951565b600181511415614950578273ffffffffffffffffffffffffffffffffffffffff168160008151811061481557fe5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16141561494f57826000808060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b5b5b60006040519080825280602002602001820160405280156149825781602001602082028038833980820191505090505b506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060010190805190602001906149f1929190615de3565b506000604051908082528060200260200182016040528015614a225781602001602082028038833980820191505090505b506000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff1681526020019081526020016000206002019080519060200190614a91929190615de3565b5060008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060040160006001840160ff1660ff16815260200190815260200160002060009054906101000a900460ff16158015614baa5750600960ff168260ff1614155b15614c245760016000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060030160006101000a81548160ff0219169083151502179055505b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060040160008154809291906001019190505550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614614d91576000614cf0848461208d565b90508473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600287604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a4614d8b848285612c62565b50614e72565b8373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fa00c953eff38ec1b71e7fe060b2ab8df0bbe5354319fbdde4fbdafd6324386a6600286604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a4614e71600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff168560028561431d565b5b505b505050565b8061547a576000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff168152602001908152602001600020600101600081548110614ee857fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010160008154811061503557fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160008154811061511b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160008154811061528f57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050600201604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a36000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001016000815481106153b157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550615a72565b6000808060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008560ff1660ff1681526020019081526020016000206001016001815481106154e457fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001018490806001815401808255809150509060018203906000526020600020016000909192909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff16815260200190815260200160002060010160018154811061563157fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160018154811061571757fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a38273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f68062c5925c4317adf3a7095478d28b33fd8b41458bc7620b61bc46bf1b24d826002856000808060008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008a60ff1660ff16815260200190815260200160002060010160018154811061588b57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008860ff1660ff16815260200190815260200160002060010180549050600401604051808460ff1681526020018360ff1660ff1681526020018260ff1660ff168152602001935050505060405180910390a36000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008360ff1660ff1681526020019081526020016000206001016001815481106159ad57fe5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008460ff1660ff16815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b50505050565b6000806000869050600060018660ff161415615c19575b600115615c14576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff16815260200190815260200160002060020160009054906101000a900460ff1615615c02578673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709600188604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a3600190506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060050160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150615c0f565b8181935093505050615da3565b615a8f565b615da0565b5b600115615d9f576000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060030160009054906101000a900460ff1615615d8d578673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167ffc0cb63f8dbd6b20ceb84a3c5358a41576a1479e6ecd040b4b985525dc09a709600288604051808360ff1681526020018260ff1660ff1681526020019250505060405180910390a3600190506000808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060060160008660ff1660ff16815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150615d9a565b8181935093505050615da3565b615c1a565b5b50505b94509492505050565b604051806060016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081525090565b828054828255906000526020600020908101928215615e5c579160200282015b82811115615e5b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555091602001919060010190615e03565b5b509050615e699190615e6d565b5090565b615ead91905b80821115615ea957600081816101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550600101615e73565b5090565b9056fe75736572206973206e6f74206578697374732e2052656769737465722066697273742ea265627a7a72315820144a6f6abe38411607952562610a0cfd8222aa8ef067de8de63c862fb2d9f26364736f6c63430005110032

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

000000000000000000000000e2a45f53d05a283ff1eb244f9ceb4912363dd71a

-----Decoded View---------------
Arg [0] : ownerAddress (address): 0xE2a45F53D05A283FF1eb244F9Ceb4912363dd71a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e2a45f53d05a283ff1eb244f9ceb4912363dd71a


Deployed Bytecode Sourcemap

36:19598:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2549:1;2530:8;;:15;;:20;2527:90;;;2574:31;2587:10;2599:5;;;;;;;;;;;2574:12;:31::i;:::-;2567:38;;2527:90;2637:50;2650:10;2662:24;2677:8;;2662:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;93:3;85:6;81:16;74:27;137:4;133:9;126:4;121:3;117:14;113:30;106:37;;169:3;161:6;157:16;147:26;;2662:24:0;;;;;;:14;:24::i;:::-;2637:12;:50::i;:::-;2488:207;36:19598;16619:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16619:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16619:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;924:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;924:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;924:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;735:36;;8:9:-1;5:2;;;30:1;27;20:12;5:2;735:36:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;828:43;;8:9:-1;5:2;;;30:1;27;20:12;5:2;828:43:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;828:43:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;974:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;974:26:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;878:39;;8:9:-1;5:2;;;30:1;27;20:12;5:2;878:39:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;878:39:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17764:110;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17764:110:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17764:110:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2703:127;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2703:127:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;16945:312;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16945:312:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16945:312:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;16945:312:0;;;;;;;;;;;;;;;;;;;1007:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1007:20:0;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;17265:487;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17265:487:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;17265:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17265:487:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;17265:487:0;;;;;;;;;;;;;;;;;;;;;;784:37;;8:9:-1;5:2;;;30:1;27;20:12;5:2;784:37:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;784:37:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16782:155;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16782:155:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16782:155:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2842:1571;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;2842:1571:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;16254:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16254:349:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;16254:349:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;1040:40;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1040:40:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;1040:40:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;15893:349;;8:9:-1;5:2;;;30:1;27;20:12;5:2;15893:349:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;15893:349:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4429:1434;4537:10;4524:9;:23;4516:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4594:25;4607:11;4594:12;:25::i;:::-;4593:26;4585:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4654:29;4667:15;4654:12;:29::i;:::-;4646:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4728:11;4794;4782:24;4774:32;;4843:1;4835:4;:9;;;4827:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4890:16;;:::i;:::-;4909:117;;;;;;;;4933:10;;4909:117;;;;4968:15;4909:117;;;;;;5013:1;4909:117;;;4890:136;;5068:4;5047:5;:18;5053:11;5047:18;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5109:11;5083;:23;5095:10;;5083:23;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;5171:15;5141:5;:18;5147:11;5141:18;;;;;;;;;;;;;;;:27;;;:45;;;;;;;;;;;;;;;;;;5246:4;5207:5;:18;5213:11;5207:18;;;;;;;;;;;;;;;:33;;:36;5241:1;5207:36;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;5301:4;5262:5;:18;5268:11;5262:18;;;;;;;;;;;;;;;:33;;:36;5296:1;5262:36;;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;5358:11;5336:7;:19;5344:10;;5336:19;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;5380:10;;:12;;;;;;;;;;;;;5413:5;:22;5419:15;5413:22;;;;;;;;;;;;;;;:36;;;:38;;;;;;;;;;;;;5464:22;5489:34;5508:11;5521:1;5489:18;:34::i;:::-;5464:59;;5583:14;5534:5;:18;5540:11;5534:18;;;;;;;;;;;;;;;:27;;:30;5562:1;5534:30;;;;;;;;;;;;;:46;;;:63;;;;;;;;;;;;;;;;;;5608:48;5625:11;5638:14;5654:1;5608:16;:48::i;:::-;5669:68;5686:11;5699:34;5718:11;5731:1;5699:18;:34::i;:::-;5735:1;5669:16;:68::i;:::-;5806:5;:18;5812:11;5806:18;;;;;;;;;;;;;;;:21;;;5789:15;5763:92;;5776:11;5763:92;;;5829:5;:22;5835:15;5829:22;;;;;;;;;;;;;;;:25;;;5763:92;;;;;;;;;;;;;;;;;;4429:1434;;;;;:::o;19473:158::-;19537:12;19609:2;19604:3;19600:12;19594:19;19586:27;;19571:53;;;:::o;16619:155::-;16702:4;16726:5;:18;16732:11;16726:18;;;;;;;;;;;;;;;:33;;:40;16760:5;16726:40;;;;;;;;;;;;;;;;;;;;;;;;;16719:47;;16619:155;;;;:::o;924:40::-;;;;;;;;;;;;;;;;;:::o;735:36::-;770:1;735:36;:::o;828:43::-;;;;;;;;;;;;;;;;;;;;;;:::o;974:26::-;;;;:::o;878:39::-;;;;;;;;;;;;;;;;;;;;;;:::o;17764:110::-;17821:4;17864:1;17846:5;:11;17852:4;17846:11;;;;;;;;;;;;;;;:14;;;:19;;17838:28;;17764:110;;;:::o;2703:127::-;2781:41;2794:10;2806:15;2781:12;:41::i;:::-;2703:127;:::o;16945:312::-;17022:7;17031:16;17049:4;17074:5;:18;17080:11;17074:18;;;;;;;;;;;;;;;:27;;:34;17102:5;17074:34;;;;;;;;;;;;;;;:50;;;;;;;;;;;;17143:5;:18;17149:11;17143:18;;;;;;;;;;;;;;;:27;;:34;17171:5;17143:34;;;;;;;;;;;;;;;:44;;17206:5;:18;17212:11;17206:18;;;;;;;;;;;;;;;:27;;:34;17234:5;17206:34;;;;;;;;;;;;;;;:42;;;;;;;;;;;;17066:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16945:312;;;;;:::o;1007:20::-;;;;;;;;;;;;;:::o;17265:487::-;17342:7;17351:16;17369;17387:4;17393:7;17421:5;:18;17427:11;17421:18;;;;;;;;;;;;;;;:27;;:34;17449:5;17421:34;;;;;;;;;;;;;;;:50;;;;;;;;;;;;17490:5;:18;17496:11;17490:18;;;;;;;;;;;;;;;:27;;:34;17518:5;17490:34;;;;;;;;;;;;;;;:54;;17563:5;:18;17569:11;17563:18;;;;;;;;;;;;;;;:27;;:34;17591:5;17563:34;;;;;;;;;;;;;;;:55;;17637:5;:18;17643:11;17637:18;;;;;;;;;;;;;;;:27;;:34;17665:5;17637:34;;;;;;;;;;;;;;;:42;;;;;;;;;;;;17698:5;:18;17704:11;17698:18;;;;;;;;;;;;;;;:27;;:34;17726:5;17698:34;;;;;;;;;;;;;;;:45;;;;;;;;;;;;17413:331;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17265:487;;;;;;;;:::o;784:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;16782:155::-;16865:4;16889:5;:18;16895:11;16889:18;;;;;;;;;;;;;;;:33;;:40;16923:5;16889:40;;;;;;;;;;;;;;;;;;;;;;;;;16882:47;;16782:155;;;;:::o;2842:1571::-;2926:24;2939:10;2926:12;:24::i;:::-;2918:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3019:1;3009:6;:11;;;:26;;;;3034:1;3024:6;:11;;;3009:26;3001:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3086:10;:17;3097:5;3086:17;;;;;;;;;;;;;;;;3073:9;:30;3065:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3148:1;3140:5;:9;;;:32;;;;;770:1;3153:19;;:5;:19;;;;3140:32;3132:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3217:1;3207:6;:11;;;3203:1203;;;3244:5;:17;3250:10;3244:17;;;;;;;;;;;;;;;:32;;:39;3277:5;3244:39;;;;;;;;;;;;;;;;;;;;;;;;;3243:40;3235:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3332:5;:17;3338:10;3332:17;;;;;;;;;;;;;;;:26;;:35;3365:1;3359:5;:7;3332:35;;;;;;;;;;;;;;;:43;;;;;;;;;;;;3328:135;;;3442:5;3396;:17;3402:10;3396:17;;;;;;;;;;;;;;;:26;;:35;3429:1;3423:5;:7;3396:35;;;;;;;;;;;;;;;:43;;;:51;;;;;;;;;;;;;;;;;;3328:135;3483:22;3508:37;3527:10;3539:5;3508:18;:37::i;:::-;3483:62;;3612:14;3560:5;:17;3566:10;3560:17;;;;;;;;;;;;;;;:26;;:33;3587:5;3560:33;;;;;;;;;;;;;;;:49;;;:66;;;;;;;;;;;;;;;;;;3683:4;3641:5;:17;3647:10;3641:17;;;;;;;;;;;;;;;:32;;:39;3674:5;3641:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;3702:51;3719:10;3731:14;3747:5;3702:16;:51::i;:::-;3807:14;3787:45;;3795:10;3787:45;;;3823:1;3826:5;3787:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3203:1203;;;;3876:5;:17;3882:10;3876:17;;;;;;;;;;;;;;;:32;;:39;3909:5;3876:39;;;;;;;;;;;;;;;;;;;;;;;;;3875:40;3867:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3965:5;:17;3971:10;3965:17;;;;;;;;;;;;;;;:26;;:35;3998:1;3992:5;:7;3965:35;;;;;;;;;;;;;;;:43;;;;;;;;;;;;3961:135;;;4075:5;4029;:17;4035:10;4029:17;;;;;;;;;;;;;;;:26;;:35;4062:1;4056:5;:7;4029:35;;;;;;;;;;;;;;;:43;;;:51;;;;;;;;;;;;;;;;;;3961:135;4112:22;4137:37;4156:10;4168:5;4137:18;:37::i;:::-;4112:62;;4245:4;4203:5;:17;4209:10;4203:17;;;;;;;;;;;;;;;:32;;:39;4236:5;4203:39;;;;;;;;;;;;;;;;:46;;;;;;;;;;;;;;;;;;4264:51;4281:10;4293:14;4309:5;4264:16;:51::i;:::-;4369:14;4349:45;;4357:10;4349:45;;;4385:1;4388:5;4349:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3203:1203;;2842:1571;;:::o;16254:349::-;16336:7;16356:240;16363:4;16356:240;;;16388:5;:34;16394:5;:18;16400:11;16394:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;16388:34;;;;;;;;;;;;;;;:49;;:56;16438:5;16388:56;;;;;;;;;;;;;;;;;;;;;;;;;16384:131;;;16472:5;:18;16478:11;16472:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;16465:34;;;;16384:131;16557:5;:18;16563:11;16557:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;16543:41;;16356:240;;;16254:349;;;;;:::o;1040:40::-;;;;;;;;;;;;;;;;;:::o;15893:349::-;15975:7;15995:240;16002:4;15995:240;;;16027:5;:34;16033:5;:18;16039:11;16033:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;16027:34;;;;;;;;;;;;;;;:49;;:56;16077:5;16027:56;;;;;;;;;;;;;;;;;;;;;;;;;16023:131;;;16111:5;:18;16117:11;16111:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;16104:34;;;;16023:131;16196:5;:18;16202:11;16196:18;;;;;;;;;;;;;;;:27;;;;;;;;;;;;16182:41;;15995:240;;;15893:349;;;;;:::o;5875:1717::-;5979:5;:22;5985:15;5979:22;;;;;;;;;;;;;;;:31;;:38;6011:5;5979:38;;;;;;;;;;;;;;;:48;;6033:11;5979:66;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;5979:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6120:1;6062:5;:22;6068:15;6062:22;;;;;;;;;;;;;;;:31;;:38;6094:5;6062:38;;;;;;;;;;;;;;;:48;;:55;;;;:59;6058:291;;;6169:15;6143:116;;6156:11;6143:116;;;6186:1;6189:5;6202;:22;6208:15;6202:22;;;;;;;;;;;;;;;:31;;:38;6234:5;6202:38;;;;;;;;;;;;;;;:48;;:55;;;;6143:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6281:56;6298:15;6315:11;6328:1;6331:5;6281:16;:56::i;:::-;6274:63;;6058:291;6400:15;6374:55;;6387:11;6374:55;;;6417:1;6420:5;6427:1;6374:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6529:1;6515:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;6515:16:0;;;;6464:5;:22;6470:15;6464:22;;;;;;;;;;;;;;;:31;;:38;6496:5;6464:38;;;;;;;;;;;;;;;:48;;:67;;;;;;;;;;;;:::i;:::-;;6547:5;:22;6553:15;6547:22;;;;;;;;;;;;;;;:37;;:46;6591:1;6585:5;:7;6547:46;;;;;;;;;;;;;;;;;;;;;;;;;6546:47;:70;;;;;770:1;6597:19;;:5;:19;;;;6546:70;6542:156;;;6682:4;6633:5;:22;6639:15;6633:22;;;;;;;;;;;;;;;:31;;:38;6665:5;6633:38;;;;;;;;;;;;;;;:46;;;:53;;;;;;;;;;;;;;;;;;6542:156;6772:5;;;;;;;;;;;6753:24;;:15;:24;;;6749:836;;6837:27;6867:42;6886:15;6903:5;6867:18;:42::i;:::-;6837:72;;6986:19;6928:77;;:5;:22;6934:15;6928:22;;;;;;;;;;;;;;;:31;;:38;6960:5;6928:38;;;;;;;;;;;;;;;:54;;;;;;;;;;;;:77;;;6924:194;;7083:19;7026:5;:22;7032:15;7026:22;;;;;;;;;;;;;;;:31;;:38;7058:5;7026:38;;;;;;;;;;;;;;;:54;;;:76;;;;;;;;;;;;;;;;;;6924:194;7146:5;:22;7152:15;7146:22;;;;;;;;;;;;;;;:31;;:38;7178:5;7146:38;;;;;;;;;;;;;;;:52;;;:54;;;;;;;;;;;;;7267:11;7220:69;;7246:19;7220:69;;7229:15;7220:69;;;7280:1;7283:5;7220:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7304:61;7321:15;7338:19;7359:5;7304:16;:61::i;:::-;6749:836;;;;7398:46;7415:5;;;;;;;;;;;7422:11;7435:1;7438:5;7398:16;:46::i;:::-;7459:5;:12;7465:5;;;;;;;;;;;7459:12;;;;;;;;;;;;;;;:21;;:28;7481:5;7459:28;;;;;;;;;;;;;;;:42;;;:44;;;;;;;;;;;;;7551:11;7523:50;;7547:1;7523:50;;7532:5;;;;;;;;;;;7523:50;;;7564:1;7567:5;7523:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6749:836;5875:1717;;;;:::o;7600:4735::-;7712:5;:22;7718:15;7712:22;;;;;;;;;;;;;;;:37;;:44;7750:5;7712:44;;;;;;;;;;;;;;;;;;;;;;;;;7704:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7885:1;7817:5;:22;7823:15;7817:22;;;;;;;;;;;;;;;:31;;:38;7849:5;7817:38;;;;;;;;;;;;;;;:58;;:65;;;;:69;7813:2298;;;7903:5;:22;7909:15;7903:22;;;;;;;;;;;;;;;:31;;:38;7935:5;7903:38;;;;;;;;;;;;;;;:58;;7967:11;7903:76;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;7903:76:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8025:15;7999:126;;8012:11;7999:126;;;8042:1;8045:5;8058;:22;8064:15;8058:22;;;;;;;;;;;;;;;:31;;:38;8090:5;8058:38;;;;;;;;;;;;;;;:58;;:65;;;;7999:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8240:15;8187:5;:18;8193:11;8187:18;;;;;;;;;;;;;;;:27;;:34;8215:5;8187:34;;;;;;;;;;;;;;;:50;;;:68;;;;;;;;;;;;;;;;;;8295:5;;;;;;;;;;;8276:24;;:15;:24;;;8272:128;;;8328:56;8345:15;8362:11;8375:1;8378:5;8328:16;:56::i;:::-;8321:63;;8272:128;8428:11;8442:5;:22;8448:15;8442:22;;;;;;;;;;;;;;;:31;;:38;8474:5;8442:38;;;;;;;;;;;;;;;:54;;;;;;;;;;;;8428:68;;8523:5;:10;8529:3;8523:10;;;;;;;;;;;;;;;:19;;:26;8543:5;8523:26;;;;;;;;;;;;;;;:47;;8576:11;8523:65;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;8523:65:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8618:8;8629:5;:10;8635:3;8629:10;;;;;;;;;;;;;;;:19;;:26;8649:5;8629:26;;;;;;;;;;;;;;;:46;;:53;;;;8618:64;;8723:1;8716:3;:8;8715:102;;;;;8801:15;8748:68;;:5;:10;8754:3;8748:10;;;;;;;;;;;;;;;:19;;:26;8768:5;8748:26;;;;;;;;;;;;;;;:46;;8795:1;8748:49;;;;;;;;;;;;;;;;;;;;;;;;;:68;;;8715:102;:193;;;;;8892:15;8839:68;;:5;:10;8845:3;8839:10;;;;;;;;;;;;;;;:19;;:26;8859:5;8839:26;;;;;;;;;;;;;;;:46;;8886:1;8839:49;;;;;;;;;;;;;;;;;;;;;;;;;:68;;;8715:193;8711:1313;;;9002:1;8933:5;:22;8939:15;8933:22;;;;;;;;;;;;;;;:31;;:38;8965:5;8933:38;;;;;;;;;;;;;;;:58;;:65;;;;:70;8929:264;;;9059:3;9033:43;;9046:11;9033:43;;;9064:1;9067:5;9074:1;9033:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8929:264;;;9156:3;9130:43;;9143:11;9130:43;;;9161:1;9164:5;9171:1;9130:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8929:264;8711:1313;;;9227:1;9220:3;:8;:20;;;;9239:1;9232:3;:8;9220:20;9219:115;;;;;9319:15;9266:68;;:5;:10;9272:3;9266:10;;;;;;;;;;;;;;;:19;;:26;9286:5;9266:26;;;;;;;;;;;;;;;:46;;9313:1;9266:49;;;;;;;;;;;;;;;;;;;;;;;;;:68;;;9219:115;9215:809;;;9428:1;9359:5;:22;9365:15;9359:22;;;;;;;;;;;;;;;:31;;:38;9391:5;9359:38;;;;;;;;;;;;;;;:58;;:65;;;;:70;9355:264;;;9485:3;9459:43;;9472:11;9459:43;;;9490:1;9493:5;9500:1;9459:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9355:264;;;9582:3;9556:43;;9569:11;9556:43;;;9587:1;9590:5;9597:1;9556:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9355:264;9215:809;;;9651:1;9644:3;:8;:80;;;;;9709:15;9656:68;;:5;:10;9662:3;9656:10;;;;;;;;;;;;;;;:19;;:26;9676:5;9656:26;;;;;;;;;;;;;;;:46;;9703:1;9656:49;;;;;;;;;;;;;;;;;;;;;;;;;:68;;;9644:80;9640:384;;;9818:1;9749:5;:22;9755:15;9749:22;;;;;;;;;;;;;;;:31;;:38;9781:5;9749:38;;;;;;;;;;;;;;;:58;;:65;;;;:70;9745:264;;;9875:3;9849:43;;9862:11;9849:43;;;9880:1;9883:5;9890:1;9849:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9745:264;;;9972:3;9946:43;;9959:11;9946:43;;;9977:1;9980:5;9987:1;9946:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9745:264;9640:384;9215:809;8711:1313;10047:52;10075:11;10088:3;10093:5;10047:27;:52::i;:::-;10040:59;;;;7813:2298;10131:5;:22;10137:15;10131:22;;;;;;;;;;;;;;;:31;;:38;10163:5;10131:38;;;;;;;;;;;;;;;:59;;10196:11;10131:77;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;10131:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10286:1;10225:63;;:5;:22;10231:15;10225:22;;;;;;;;;;;;;;;:31;;:38;10257:5;10225:38;;;;;;;;;;;;;;;:49;;;;;;;;;;;;:63;;;10221:1082;;10393:5;:22;10399:15;10393:22;;;;;;;;;;;;;;;:31;;:38;10425:5;10393:38;;;;;;;;;;;;;;;:58;;10452:1;10393:61;;;;;;;;;;;;;;;;;;;;;;;;;10310:144;;:5;:22;10316:15;10310:22;;;;;;;;;;;;;;;:31;;:38;10342:5;10310:38;;;;;;;;;;;;;;;:58;;10369:1;10310:61;;;;;;;;;;;;;;;;;;;;;;;;;:144;;;10309:300;;;;;10559:5;:22;10565:15;10559:22;;;;;;;;;;;;;;;:31;;:38;10591:5;10559:38;;;;;;;;;;;;;;;:49;;;;;;;;;;;;10477:131;;:5;:22;10483:15;10477:22;;;;;;;;;;;;;;;:31;;:38;10509:5;10477:38;;;;;;;;;;;;;;;:58;;10536:1;10477:61;;;;;;;;;;;;;;;;;;;;;;;;;:131;;;10309:300;10305:987;;;10632:51;10641:11;10654:15;10671:5;10678:4;10632:8;:51::i;:::-;10709:64;10737:11;10750:15;10767:5;10709:27;:64::i;:::-;10702:71;;10305:987;10882:5;:22;10888:15;10882:22;;;;;;;;;;;;;;;:31;;:38;10914:5;10882:38;;;;;;;;;;;;;;;:49;;;;;;;;;;;;10799:132;;:5;:22;10805:15;10799:22;;;;;;;;;;;;;;;:31;;:38;10831:5;10799:38;;;;;;;;;;;;;;;:58;;10858:1;10799:61;;;;;;;;;;;;;;;;;;;;;;;;;:132;;;10795:497;;;10952:51;10961:11;10974:15;10991:5;10998:4;10952:8;:51::i;:::-;11029:64;11057:11;11070:15;11087:5;11029:27;:64::i;:::-;11022:71;;10795:497;11134:52;11143:11;11156:15;11173:5;11180;11134:8;:52::i;:::-;11212:64;11240:11;11253:15;11270:5;11212:27;:64::i;:::-;11205:71;;10221:1082;11384:11;11319:76;;:5;:22;11325:15;11319:22;;;;;;;;;;;;;;;:31;;:38;11351:5;11319:38;;;;;;;;;;;;;;;:58;;11378:1;11319:61;;;;;;;;;;;;;;;;;;;;;;;;;:76;;;11315:499;;;11412:52;11421:11;11434:15;11451:5;11458;11412:8;:52::i;:::-;11486:64;11514:11;11527:15;11544:5;11486:27;:64::i;:::-;11479:71;;11315:499;11637:11;11572:76;;:5;:22;11578:15;11572:22;;;;;;;;;;;;;;;:31;;:38;11604:5;11572:38;;;;;;;;;;;;;;;:58;;11631:1;11572:61;;;;;;;;;;;;;;;;;;;;;;;;;:76;;;11568:246;;;11665:51;11674:11;11687:15;11704:5;11711:4;11665:8;:51::i;:::-;11738:64;11766:11;11779:15;11796:5;11738:27;:64::i;:::-;11731:71;;11568:246;11967:5;:68;11973:5;:22;11979:15;11973:22;;;;;;;;;;;;;;;:31;;:38;12005:5;11973:38;;;;;;;;;;;;;;;:58;;12032:1;11973:61;;;;;;;;;;;;;;;;;;;;;;;;;11967:68;;;;;;;;;;;;;;;:77;;:84;12045:5;11967:84;;;;;;;;;;;;;;;:104;;:111;;;;11838:5;:68;11844:5;:22;11850:15;11844:22;;;;;;;;;;;;;;;:31;;:38;11876:5;11844:38;;;;;;;;;;;;;;;:58;;11903:1;11844:61;;;;;;;;;;;;;;;;;;;;;;;;;11838:68;;;;;;;;;;;;;;;:77;;:84;11916:5;11838:84;;;;;;;;;;;;;;;:104;;:111;;;;:240;11834:409;;12095:52;12104:11;12117:15;12134:5;12141;12095:8;:52::i;:::-;11834:409;;;12180:51;12189:11;12202:15;12219:5;12226:4;12180:8;:51::i;:::-;11834:409;12263:64;12291:11;12304:15;12321:5;12263:27;:64::i;:::-;7600:4735;;;;:::o;18963:498::-;19072:16;19090:21;19115:50;19131:11;19144:5;19151:6;19159:5;19115:15;:50::i;:::-;19071:94;;;;19199:8;19183:31;;:50;19215:10;:17;19226:5;19215:17;;;;;;;;;;;;;;;;19183:50;;;;;;;;;;;;;;;;;;;;;;;19178:149;;19273:8;19257:35;;:58;19293:21;19257:58;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19257:58:0;19250:65;;;;19178:149;19351:16;19347:107;;;19418:8;19389:53;;19411:5;19389:53;;;19428:6;19436:5;19389:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19347:107;18963:498;;;;;;;:::o;13972:1909::-;14160:1;14091:5;:22;14097:15;14091:22;;;;;;;;;;;;;;;:31;;:38;14123:5;14091:38;;;;;;;;;;;;;;;:59;;:66;;;;:70;14087:166;;;14185:56;14202:15;14219:11;14232:1;14235:5;14185:16;:56::i;:::-;14178:63;;14087:166;14273:19;14295:5;:61;14301:5;:22;14307:15;14301:22;;;;;;;;;;;;;;;:31;;:38;14333:5;14301:38;;;;;;;;;;;;;;;:54;;;;;;;;;;;;14295:61;;;;;;;;;;;;;;;:70;;:77;14366:5;14295:77;;;;;;;;;;;;;;;:97;;14273:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14430:1;14417:2;:9;:14;14413:501;;;14461:15;14452:24;;:2;14455:1;14452:5;;;;;;;;;;;;;;:24;;;:69;;;;14506:15;14497:24;;:2;14500:1;14497:5;;;;;;;;;;;;;;:24;;;14452:69;14448:455;;;14633:15;14542:5;:61;14548:5;:22;14554:15;14548:22;;;;;;;;;;;;;;;:31;;:38;14580:5;14548:38;;;;;;;;;;;;;;;:54;;;;;;;;;;;;14542:61;;;;;;;;;;;;;;;:70;;:77;14613:5;14542:77;;;;;;;;;;;;;;;:88;;;:106;;;;;;;;;;;;;;;;;;14448:455;;;14687:1;14674:2;:9;:14;14670:233;;;14722:15;14713:24;;:2;14716:1;14713:5;;;;;;;;;;;;;;:24;;;14709:179;;;14853:15;14762:5;:61;14768:5;:22;14774:15;14768:22;;;;;;;;;;;;;;;:31;;:38;14800:5;14768:38;;;;;;;;;;;;;;;:54;;;;;;;;;;;;14762:61;;;;;;;;;;;;;;;:70;;:77;14833:5;14762:77;;;;;;;;;;;;;;;:88;;;:106;;;;;;;;;;;;;;;;;;14709:179;14670:233;14448:455;14413:501;15009:1;14995:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;14995:16:0;;;;14934:5;:22;14940:15;14934:22;;;;;;;;;;;;;;;:31;;:38;14966:5;14934:38;;;;;;;;;;;;;;;:58;;:77;;;;;;;;;;;;:::i;:::-;;15098:1;15084:16;;;;;;;;;;;;;;;;;;;;;;29:2:-1;21:6;17:15;117:4;105:10;97:6;88:34;148:4;140:6;136:17;126:27;;0:157;15084:16:0;;;;15022:5;:22;15028:15;15022:22;;;;;;;;;;;;;;;:31;;:38;15054:5;15022:38;;;;;;;;;;;;;;;:59;;:78;;;;;;;;;;;;:::i;:::-;;15171:1;15111:5;:22;15117:15;15111:22;;;;;;;;;;;;;;;:31;;:38;15143:5;15111:38;;;;;;;;;;;;;;;:49;;;:62;;;;;;;;;;;;;;;;;;15191:5;:22;15197:15;15191:22;;;;;;;;;;;;;;;:37;;:46;15235:1;15229:5;:7;15191:46;;;;;;;;;;;;;;;;;;;;;;;;;15190:47;:70;;;;;770:1;15241:19;;:5;:19;;;;15190:70;15186:156;;;15326:4;15277:5;:22;15283:15;15277:22;;;;;;;;;;;;;;;:31;;:38;15309:5;15277:38;;;;;;;;;;;;;;;:46;;;:53;;;;;;;;;;;;;;;;;;15186:156;15354:5;:22;15360:15;15354:22;;;;;;;;;;;;;;;:31;;:38;15386:5;15354:38;;;;;;;;;;;;;;;:52;;;:54;;;;;;;;;;;;;15452:5;;;;;;;;;;;15433:24;;:15;:24;;;15429:445;;15474:27;15504:42;15523:15;15540:5;15504:18;:42::i;:::-;15474:72;;15615:11;15568:69;;15594:19;15568:69;;15577:15;15568:69;;;15628:1;15631:5;15568:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15652:61;15669:15;15686:19;15707:5;15652:16;:61::i;:::-;15429:445;;;;15779:11;15751:50;;15775:1;15751:50;;15760:5;;;;;;;;;;;15751:50;;;15792:1;15795:5;15751:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15816:46;15833:5;;;;;;;;;;;15840:11;15853:1;15856:5;15816:16;:46::i;:::-;15429:445;13972:1909;;;;;:::o;12343:1617::-;12453:2;12448:1505;;12472:5;:68;12478:5;:22;12484:15;12478:22;;;;;;;;;;;;;;;:31;;:38;12510:5;12478:38;;;;;;;;;;;;;;;:58;;12537:1;12478:61;;;;;;;;;;;;;;;;;;;;;;;;;12472:68;;;;;;;;;;;;;;;:77;;:84;12550:5;12472:84;;;;;;;;;;;;;;;:104;;12582:11;12472:122;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;12472:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12640:5;:22;12646:15;12640:22;;;;;;;;;;;;;;;:31;;:38;12672:5;12640:38;;;;;;;;;;;;;;;:58;;12699:1;12640:61;;;;;;;;;;;;;;;;;;;;;;;;;12614:218;;12627:11;12614:218;;;12703:1;12706:5;12719;:68;12725:5;:22;12731:15;12725:22;;;;;;;;;;;;;;;:31;;:38;12757:5;12725:38;;;;;;;;;;;;;;;:58;;12784:1;12725:61;;;;;;;;;;;;;;;;;;;;;;;;;12719:68;;;;;;;;;;;;;;;:77;;:84;12797:5;12719:84;;;;;;;;;;;;;;;:104;;:111;;;;12614:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12878:15;12852:176;;12865:11;12852:176;;;12895:1;12898:5;12915;:68;12921:5;:22;12927:15;12921:22;;;;;;;;;;;;;;;:31;;:38;12953:5;12921:38;;;;;;;;;;;;;;;:58;;12980:1;12921:61;;;;;;;;;;;;;;;;;;;;;;;;;12915:68;;;;;;;;;;;;;;;:77;;:84;12993:5;12915:84;;;;;;;;;;;;;;;:104;;:111;;;;12905:1;:122;12852:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13129:5;:22;13135:15;13129:22;;;;;;;;;;;;;;;:31;;:38;13161:5;13129:38;;;;;;;;;;;;;;;:58;;13188:1;13129:61;;;;;;;;;;;;;;;;;;;;;;;;;13076:5;:18;13082:11;13076:18;;;;;;;;;;;;;;;:27;;:34;13104:5;13076:34;;;;;;;;;;;;;;;:50;;;:114;;;;;;;;;;;;;;;;;;12448:1505;;;13223:5;:68;13229:5;:22;13235:15;13229:22;;;;;;;;;;;;;;;:31;;:38;13261:5;13229:38;;;;;;;;;;;;;;;:58;;13288:1;13229:61;;;;;;;;;;;;;;;;;;;;;;;;;13223:68;;;;;;;;;;;;;;;:77;;:84;13301:5;13223:84;;;;;;;;;;;;;;;:104;;13333:11;13223:122;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;13223:122:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13391:5;:22;13397:15;13391:22;;;;;;;;;;;;;;;:31;;:38;13423:5;13391:38;;;;;;;;;;;;;;;:58;;13450:1;13391:61;;;;;;;;;;;;;;;;;;;;;;;;;13365:218;;13378:11;13365:218;;;13454:1;13457:5;13470;:68;13476:5;:22;13482:15;13476:22;;;;;;;;;;;;;;;:31;;:38;13508:5;13476:38;;;;;;;;;;;;;;;:58;;13535:1;13476:61;;;;;;;;;;;;;;;;;;;;;;;;;13470:68;;;;;;;;;;;;;;;:77;;:84;13548:5;13470:84;;;;;;;;;;;;;;;:104;;:111;;;;13365:218;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13629:15;13603:176;;13616:11;13603:176;;;13646:1;13649:5;13666;:68;13672:5;:22;13678:15;13672:22;;;;;;;;;;;;;;;:31;;:38;13704:5;13672:38;;;;;;;;;;;;;;;:58;;13731:1;13672:61;;;;;;;;;;;;;;;;;;;;;;;;;13666:68;;;;;;;;;;;;;;;:77;;:84;13744:5;13666:84;;;;;;;;;;;;;;;:104;;:111;;;;13656:1;:122;13603:176;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13880:5;:22;13886:15;13880:22;;;;;;;;;;;;;;;:31;;:38;13912:5;13880:38;;;;;;;;;;;;;;;:58;;13939:1;13880:61;;;;;;;;;;;;;;;;;;;;;;;;;13827:5;:18;13833:11;13827:18;;;;;;;;;;;;;;;:27;;:34;13855:5;13827:34;;;;;;;;;;;;;;;:50;;;:114;;;;;;;;;;;;;;;;;;12448:1505;12343:1617;;;;:::o;17882:1073::-;17986:7;17995:4;18012:16;18031:11;18012:30;;18053:21;18099:1;18089:6;:11;;;18085:863;;;18117:394;18124:4;18117:394;;;18153:5;:15;18159:8;18153:15;;;;;;;;;;;;;;;:24;;:31;18178:5;18153:31;;;;;;;;;;;;;;;:39;;;;;;;;;;;;18149:347;;;18249:5;18222:43;;18239:8;18222:43;;;18256:1;18259:5;18222:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18307:4;18288:23;;18345:5;:15;18351:8;18345:15;;;;;;;;;;;;;;;:24;;:31;18370:5;18345:31;;;;;;;;;;;;;;;:47;;;;;;;;;;;;18334:58;;18149:347;;;18449:8;18459:16;18441:35;;;;;;;;18149:347;18117:394;;;18085:863;;;18543:394;18550:4;18543:394;;;18579:5;:15;18585:8;18579:15;;;;;;;;;;;;;;;:24;;:31;18604:5;18579:31;;;;;;;;;;;;;;;:39;;;;;;;;;;;;18575:347;;;18675:5;18648:43;;18665:8;18648:43;;;18682:1;18685:5;18648:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18733:4;18714:23;;18771:5;:15;18777:8;18771:15;;;;;;;;;;;;;;;:24;;:31;18796:5;18771:31;;;;;;;;;;;;;;;:47;;;;;;;;;;;;18760:58;;18575:347;;;18875:8;18885:16;18867:35;;;;;;;;18575:347;18543:394;;;18085:863;17882:1073;;;;;;;;;;:::o;36:19598::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

bzzr://144a6f6abe38411607952562610a0cfd8222aa8ef067de8de63c862fb2d9f263

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

OVERVIEW

Affiliate smart contract for Ethereum.

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.