Contract 0xe5BD7fb47E62B7cd60c1126CE8E11369cAF66B5B 1

 
 
Txn Hash
Method
Block
From
To
Value [Txn Fee]
0xae74c2d5bafda2305999f7829d2f3dd5f134c17917a033cf2afe0429fbecf559Withdraw406627212023-03-23 5:02:153 days 6 hrs ago0x77b19c4716eefe8541eab8f7ba570f7b196df4ba IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.075306 700
0x7a380c48744b3e9ef5e944c53af23797d0fa4f72196bd9a5af0141e98434bef5Transfer By Spli...406457612023-03-22 18:29:203 days 17 hrs ago0x58dcc8afa52aa7094086ac484225048e27ffdf2c IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0174054 300
0x05ce94583c6f400862d4b28d414ec8bb5e362c8bbbbdd262295d041b48873a62Transfer By Spli...406457392023-03-22 18:28:323 days 17 hrs ago0x58dcc8afa52aa7094086ac484225048e27ffdf2c IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0225354 300
0x62390769cd8e4abf6de68ac0b2cf4b65bc7451c97a4ca836e7fd401d4ec0a814Register406456832023-03-22 18:26:343 days 17 hrs ago0xa7b573333515db45163f851dfdf9034fb9a27925 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0105124 400
0x021db95c74cda81a06af73797894691279567c644683d0a403bdf231584521e0Register406456772023-03-22 18:26:203 days 17 hrs ago0xa7b573333515db45163f851dfdf9034fb9a27925 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0299568 400
0x20299b232c431aa2e6801d0e0769444ef562ca23d80a7a410dead201ae9bacb5Deposit By Split406403262023-03-22 14:57:363 days 21 hrs ago0xa96ce1e01986f40196ffb3c79aa8c2dad7d3aa23 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.6945075 300
0xdfca49388bba2be931647dfd1f5177e89bf94b8403ea6c359099c5d93af22eebDeposit By Split406350982023-03-22 11:17:424 days 44 mins ago0xd3014ebe62e9ee0c3cc1ffcd2e623a1ecabf0ced IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC1.1784828 300
0x750f5a0248ed70446bacef494cfd1ea70d84cd504d764b9768a24377e4544593Register406345982023-03-22 10:56:164 days 1 hr ago0xd3014ebe62e9ee0c3cc1ffcd2e623a1ecabf0ced IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0299568 400
0x9418e74aa420fe266373ac7b0d4676626b5f383039349e4b76472669d45948cdTransfer By Spli...406345402023-03-22 10:53:404 days 1 hr ago0xdb1f47f188e7963a348d8d4cf9200aecce960aa7 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0225219 300
0x0207e1f743bef1079048dbd1cf73930cfa6ed9b1814039006a1c35c43f6e85e4Transfer By Spli...406320492023-03-22 9:17:244 days 2 hrs ago0xdacd35bfe33bb3077ecfd72d28cb194c70827fe3 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0174054300
0x2ecdc9bb0443213f902e11c2f5364e17ccd1159aae411b35ed5a2bbf32cedd63Transfer By Spli...406227362023-03-22 3:18:224 days 8 hrs ago0xbbb055bc0d4811fe645a4bac3b6f996d93e4a4f0 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0173919 300
0x1fff47a3b7b12fa54a968f25a5a0d6c37f9e3c5875908b635ff7b9f8cbcddd37Transfer By Spli...406013122023-03-21 13:07:554 days 22 hrs ago0x96a23fd07b6516de29ecb588f961774166d6f365 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0219219 300
0xb88b364b6247a8013f8b5e51149a44adf2654232e8c0ea0ddb0d6a712dc8b26dWithdraw405769262023-03-20 19:53:285 days 16 hrs ago0xf8189f17354744e7f0a9e3de37abaa33c652a9a8 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.075306 700
0xd5e5554dd8cd3eab465a5231bf3f4cb94be5c3d061023db3cd124c0953c61ab5Withdraw405736052023-03-20 17:35:385 days 18 hrs ago0xbe5ef912a75850e420a05d861c67c383e50fa9f3 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.075306 700
0x58a6d73cffa45801aa96a419139cd5a4f2fd8b1d711f7f8ce1d9d28f4e760d05Deposit By Split405728772023-03-20 17:08:145 days 18 hrs ago0x875e85af58996469228106476f1b0e923b98ac81 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC1.146402 300
0x026fcf63efd7bd03fd85510ee040b0ff6448dd4f3fed0556fe0dab7190bcf1c2Transfer By Spli...405723052023-03-20 16:46:245 days 19 hrs ago0xdb1f47f188e7963a348d8d4cf9200aecce960aa7 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0173919 300
0x55d12893e4b2820adc144fe43f32315075dc9c544c5a8d3da3daf7b6bbc4a9beTransfer By Spli...405718822023-03-20 16:30:105 days 19 hrs ago0xc9f5840c4e14033714da5b44de50ba4a5ab397ee IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0173919 300
0x86fcc41cbeaa5bc373b921290d1ecc5167f61c3476c1585157c2d30769220593Transfer By Spli...405502822023-03-20 3:13:506 days 8 hrs ago0x23542095918dcec5fff1ae5b8e896af53a8b3566 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0173919 300
0x508c7a04af316b0f0e562defd7034c99e502bd0b354ae9ac6c299af66cf20d8aTransfer By Spli...405307732023-03-19 14:51:466 days 21 hrs ago0xdb1f47f188e7963a348d8d4cf9200aecce960aa7 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0276519 300
0x2f4db2e34c841d5c7391f50ed8f24386226e1c69bce8885c3ff440936401994eRegister405306022023-03-19 14:45:106 days 21 hrs ago0x875e85af58996469228106476f1b0e923b98ac81 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0299568 400
0xf3e16264ba239941f9078cdd019a67a17cf9a982fffe6ac4d5ba2d40dc471c8aTransfer By Spli...405293982023-03-19 13:59:026 days 22 hrs ago0x7cce96ba58abf8495a77ab2187bd295f1364c975 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0225219 300
0x40d8d7d834aa3a1ee9771c6364f75e916b1bd1de236c164c3088578d4c3fe28dTransfer By Spli...405252362023-03-19 11:17:007 days 44 mins ago0x13a9a46f7fa07f0eff546266b40cf443408b4ef8 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.0225354 300
0x4271ce6cb990839cb3f06e77de13a3d7a994235629d2091af7b3b1a33a5d2dbeDeposit By Split405235522023-03-19 10:14:387 days 1 hr ago0xecaf59edb76d7d4e1be68383e19cd99affa6b5c1 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.061002945836 67.781050929
0x1c069869b7f2d2027dceada16b7e55f2250faeac37a14896143d641ec9d5cd02Deposit By Split405235522023-03-19 10:14:387 days 1 hr ago0xecaf59edb76d7d4e1be68383e19cd99affa6b5c1 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.04780053935 53.111710389
0xa6ad7fa9247eba989c0a0cf08e635c5e0a8bd581e3ee43596da451e1059a77deTransfer405228092023-03-19 9:46:417 days 2 hrs ago0xecaf59edb76d7d4e1be68383e19cd99affa6b5c1 IN  0xe5bd7fb47e62b7cd60c1126ce8e11369caf66b5b0 MATIC0.002077927971 98.620216945
[ Download CSV Export 
Parent Txn Hash Block From To Value
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BSGPolygon

Compiler Version
v0.6.12+commit.27d51765

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at polygonscan.com on 2022-10-15
*/

// SPDX-License-Identifier: GPLv3
pragma solidity ^0.6.12;

library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     *
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     *
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     *
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     *
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}


pragma solidity ^0.6.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract BSGPolygon {
    using SafeMath for uint256; 
    IERC20 public usdt;
    uint256 private constant baseDivider = 10000;
    uint256 private constant feePercents = 200; 
    uint256 private constant minDeposit = 50e18;
    uint256 private constant maxDeposit = 2500e18;
    uint256 private constant freezeIncomePercents = 3000;
    uint256 private constant timeStep =1 days;

    uint256 private constant dayPerCycle = 15 days; 
    uint256 private dayRewardPercents = 170;
    uint256 private constant maxAddFreeze = 45 days;
    uint256 private constant referDepth = 21;
    uint256 private constant directPercents = 600;
    uint256[2] private levelStar2Percents = [200, 200];
    uint256[2] private levelStar3Percents = [100, 300];
    uint256[16] private levelStar4Percents = [75, 75, 75, 75, 75, 100, 100, 100, 100, 100,50, 50, 50, 50, 50,50];

    uint256 private constant star3UserPercents = 50;
    uint256 private constant star4UserPercents = 50;
    uint256 private constant star5UserPercents = 50;

    uint256 private constant luckPoolPercents = 50;
    uint256 private constant topPoolPercents = 20;

    uint256[7] private balDown = [10e22, 30e22, 100e22, 500e22, 1000e22,1500e22,2000e22];
    uint256[7] private balDownRate = [1000, 1500, 2000, 5000, 6000,7000,8000]; 
    uint256[7] private balRecover = [15e22, 50e22, 150e22, 500e22, 1000e22,1500e22, 2000e22];
    mapping(uint256=>bool) public balStatus; 

    address[2] public feeReceivers;
    address public defaultRefer;
    address public contractAddress;
    uint256 public startTime;
    uint256 public lastDistribute;
    uint256 public totalUser;
    uint256 public luckPool;
    uint256 public topPool;

    mapping(uint256=>address[]) public dayLuckUsers;
    mapping(uint256=>uint256[]) public dayLuckUsersDeposit;
    mapping(uint256=>address[3]) public dayTopUsers;

    uint256 public star3Pool;
    uint256 public star4Pool;
    uint256 public star5Pool;
    address[] public Star3Users;
    address[] public Star4Users;
    address[] public Star5Users;
    struct OrderInfo {
        uint256 amount; 
        uint256 start;
        uint256 unfreeze; 
        bool isUnfreezed;
    }

    mapping(address => OrderInfo[]) public orderInfos;

    address[] public depositors;

    struct UserInfo {
        address referrer;
        uint256 start;
        uint256 level;
        uint256 maxDeposit;
        uint256 totalDeposit;
        uint256 teamNum;
        uint256 directnum;
        uint256 maxDirectDeposit;
        uint256 teamTotalDeposit;
        uint256 totalFreezed;
        uint256 totalRevenue;
    }
    mapping(address=>UserInfo) public userInfo;
    mapping(uint256 => mapping(address => uint256)) public userLayer1DayDeposit; 
    mapping(address => mapping(uint256 => address[])) public teamUsers;

    struct RewardInfo{
        uint256 capitals;
        uint256 statics;
        uint256 directs;        
        uint256 star3;
        uint256 star4;
        uint256 star5;
        uint256 luck;
        uint256 top;
        uint256 split;
        uint256 splitDebt;
    }
    struct RewardInfoFreeze{
        uint256 level3Freezed;
        uint256 level3Released;
        uint256 level4Left;
        uint256 level4Freezed;
        uint256 level4Released;
        uint256 level5Left;
        uint256 level5Freezed;
        uint256 level5Released;
        
    }
    mapping(address=>RewardInfo) public rewardInfo;
    mapping(address=>RewardInfoFreeze) public rewardInfoFreeze;
    
    bool public isFreezeReward;

    event Register(address user, address referral);
    event Deposit(address user, uint256 amount);
    event DepositBySplit(address user, uint256 amount);
    event TransferBySplit(address user, address receiver, uint256 amount);
    event Withdraw(address user, uint256 withdrawable);

    constructor(address _daiAddr) public {
        usdt = IERC20(_daiAddr);
        feeReceivers[0] = address(0x417d42d57FC3f6B7E8803DcABc4695D433104365);
        feeReceivers[1] = address(0x1784E34Cf378Fe32A588000352e01682c751104A);
        startTime = block.timestamp;
        lastDistribute = block.timestamp;
        defaultRefer = msg.sender;
    }
    function register(address _referral) external {
        require(userInfo[_referral].totalDeposit > 0 || _referral == defaultRefer, "invalid refer");
        UserInfo storage user = userInfo[msg.sender];
        require(user.referrer == address(0), "referrer bonded");
        user.referrer = _referral;
        user.start = block.timestamp;        
        totalUser = totalUser.add(1);
        emit Register(msg.sender, _referral);
    }   
    function deposit(uint256 _amount) external {
        usdt.transferFrom(msg.sender, address(this), _amount);
        _deposit(msg.sender, _amount);
        emit Deposit(msg.sender, _amount);
    }
    function depositBySplit(uint256 _amount) external {
        require(_amount >= minDeposit && _amount.mod(minDeposit) == 0, "amount err");
        require(userInfo[msg.sender].totalDeposit == 0, "actived");
        uint256 splitLeft = getCurSplit(msg.sender);
        require(splitLeft >= _amount, "insufficient split");
        rewardInfo[msg.sender].splitDebt = rewardInfo[msg.sender].splitDebt.add(_amount);
        _deposit(msg.sender, _amount);
        emit DepositBySplit(msg.sender, _amount);
    }
	function transferBySplit(address _receiver, uint256 _amount) external {
        require(_amount >= minDeposit && _amount.mod(minDeposit) == 0, "amount err");
        uint256 splitLeft = getCurSplit(msg.sender);
        require(splitLeft >= _amount, "insufficient income");
        rewardInfo[msg.sender].splitDebt = rewardInfo[msg.sender].splitDebt.add(_amount);
        rewardInfo[_receiver].split = rewardInfo[_receiver].split.add(_amount);
        emit TransferBySplit(msg.sender, _receiver, _amount);
    }
    function _deposit(address _user, uint256 _amount) private {
        UserInfo storage user = userInfo[_user];
        require(user.referrer != address(0), "register first");
        require(_amount >= minDeposit, "less than min");
        require(_amount.mod(minDeposit) == 0 && _amount >= minDeposit, "mod err");
        require(user.maxDeposit == 0 || _amount >= user.maxDeposit, "less before");

        if(user.maxDeposit == 0){
            user.maxDeposit = _amount;
            userInfo[user.referrer].directnum = userInfo[user.referrer].directnum.add(1);
            _updateTeamNum(msg.sender);
        }else if(user.maxDeposit < _amount){
            user.maxDeposit = _amount;
        }
		
        if(user.totalDeposit == 0){
            uint256 dayNow = getCurDay();
            dayLuckUsers[dayNow].push(_user);
            dayLuckUsersDeposit[dayNow].push(_amount);
            _updateTopUser(user.referrer, _amount, dayNow);
        }
        _distributeDeposit(_amount);
        depositors.push(_user);        
        user.totalDeposit = user.totalDeposit.add(_amount);
        user.totalFreezed = user.totalFreezed.add(_amount);
        _updateLevel(msg.sender);
        uint256 addFreeze = (orderInfos[_user].length.div(2)).mul(timeStep);
        if(addFreeze > maxAddFreeze){
            addFreeze = maxAddFreeze;
        }
        uint256 unfreezeTime = block.timestamp.add(dayPerCycle).add(addFreeze);
        orderInfos[_user].push(OrderInfo(
            _amount, 
            block.timestamp, 
            unfreezeTime,
            false
        ));

        _unfreezeFundAndUpdateReward(msg.sender, _amount);
        distributePoolRewards();        
        userInfo[user.referrer].maxDirectDeposit = userInfo[user.referrer].maxDirectDeposit.add(_amount);
        _updateReferInfo(msg.sender, _amount);
        _updateReward(msg.sender, _amount);
        _releaseUpRewards(msg.sender, _amount);

        uint256 bal = usdt.balanceOf(address(this));
        _balActived(bal);
        if(isFreezeReward){
            _setFreezeReward(bal);
        }
    } 
    function _updateTeamNum(address _user) private {
        UserInfo storage user = userInfo[_user];
        address upline = user.referrer;
        for(uint256 i = 0; i < referDepth; i++){
            if(upline != address(0)){
                userInfo[upline].teamNum = userInfo[upline].teamNum.add(1);
                teamUsers[upline][i].push(_user);
                _updateLevel(upline);
                if(upline == defaultRefer) break;
                upline = userInfo[upline].referrer;
            }else{
                break;
            }
        }
    }
	function _updateTopUser(address _user, uint256 _amount, uint256 _dayNow) private {
        userLayer1DayDeposit[_dayNow][_user] = userLayer1DayDeposit[_dayNow][_user].add(_amount);
        bool updated;
        for(uint256 i = 0; i < 3; i++){
            address topUser = dayTopUsers[_dayNow][i];
            if(topUser == _user){
                _reOrderTop(_dayNow);
                updated = true;
                break;
            }
        }
        if(!updated){
            address lastUser = dayTopUsers[_dayNow][2];
            if(userLayer1DayDeposit[_dayNow][lastUser] < userLayer1DayDeposit[_dayNow][_user]){
                dayTopUsers[_dayNow][2] = _user;
                _reOrderTop(_dayNow);
            }
        }
    }

    function _reOrderTop(uint256 _dayNow) private {
        for(uint256 i = 3; i > 1; i--){
            address topUser1 = dayTopUsers[_dayNow][i - 1];
            address topUser2 = dayTopUsers[_dayNow][i - 2];
            uint256 amount1 = userLayer1DayDeposit[_dayNow][topUser1];
            uint256 amount2 = userLayer1DayDeposit[_dayNow][topUser2];
            if(amount1 > amount2){
                dayTopUsers[_dayNow][i - 1] = topUser2;
                dayTopUsers[_dayNow][i - 2] = topUser1;
            }
        }
    }
    function _updateLevel(address _user) private {
        UserInfo storage user = userInfo[_user];
        uint256 levelNow = _calLevelNow(_user);
        if(levelNow > user.level){
            user.level = levelNow;
            if(levelNow == 3){        
                Star3Users.push(_user);
            }
            if(levelNow == 4){        
                Star4Users.push(_user);
            }
            if(levelNow == 5){        
                Star5Users.push(_user);
            }
        }
    }
    function _calLevelNow(address _user) private view returns(uint256) {
        UserInfo storage user = userInfo[_user];
        uint256 total = user.totalDeposit;
        uint256 totaldirectnum  = user.directnum;
        uint256 totaldirectdepositnum  = user.maxDirectDeposit;
        uint256 levelNow;
        if(total >= 500e18){
            (uint256 maxTeam, uint256 otherTeam, ) = getTeamDeposit(_user);
            
            if(total >= 2500e18 && totaldirectnum>=20 && totaldirectdepositnum>=10000e18   && user.teamNum >= 300 && maxTeam >= 80000e18 &&  otherTeam >= 80000e18  ){
                levelNow = 5;
            }else if(total >= 2000e18 && totaldirectnum>=10 && totaldirectdepositnum>=5000e18 && user.teamNum >= 150 && maxTeam >= 40000e18 &&  otherTeam >= 40000e18  ){
                levelNow = 4;
            }else if(total >= 500e18  && user.teamNum >=5 && totaldirectdepositnum>=1000e18 && user.teamNum >= 40 && maxTeam >= 5000e18 &&  otherTeam >= 5000e18  ){
                levelNow = 3;
            }
            else if(total >= 200e18 && totaldirectnum>=3  && totaldirectdepositnum>=500e18)
            {
               levelNow = 2;
            }
            else if(totaldirectnum >= 1){
              levelNow = 1;
            }
        }else if(total>= 200e18 && totaldirectnum>=3 && totaldirectdepositnum>=500e18){
            levelNow = 2;
        }else if(total >= 50){
            levelNow = 1;
        }
        return levelNow;
    }
    function getTeamDeposit(address _user) public view returns(uint256, uint256, uint256){
        uint256 totalTeam;
        uint256 maxTeam;
        uint256 otherTeam;
        for(uint256 i = 0; i < teamUsers[_user][0].length; i++){
            uint256 userTotalTeam = userInfo[teamUsers[_user][0][i]].teamTotalDeposit.add(userInfo[teamUsers[_user][0][i]].totalDeposit);
            totalTeam = totalTeam.add(userTotalTeam);
            if(userTotalTeam > maxTeam){
                maxTeam = userTotalTeam;
            }
        }
        otherTeam = totalTeam.sub(maxTeam);
        return(maxTeam, otherTeam, totalTeam);
    }
    function _distributeDeposit(uint256 _amount) private {
        uint256 fee = _amount.mul(feePercents).div(baseDivider);
        usdt.transfer(feeReceivers[0], fee.div(2));
        usdt.transfer(feeReceivers[1], fee.div(2));
     
        uint256 star3 = _amount.mul(star3UserPercents).div(baseDivider);
        star3Pool = star3Pool.add(star3); 
		
		uint256 star4 = _amount.mul(star4UserPercents).div(baseDivider);
        star4Pool = star4Pool.add(star4);

        uint256 star5 = _amount.mul(star5UserPercents).div(baseDivider);
        star5Pool = star5Pool.add(star5); 

        uint256 luck = _amount.mul(luckPoolPercents).div(baseDivider);
        luckPool = luckPool.add(luck);
        uint256 top = _amount.mul(topPoolPercents).div(baseDivider);
        topPool = topPool.add(top);
    }
    function getdayRewardPercents() public returns(uint256)
    {
        uint256 bal = usdt.balanceOf(address(this));
        if(bal<2000000e18)
        {
           dayRewardPercents=170;
        }
        else if(bal>=2000000e18 && bal>4000000e18)
        {
           dayRewardPercents=175;
        }
        else if(bal>=4000000e18 && bal>8000000e18)
        {
           dayRewardPercents=180;
        }
        else if(bal>=8000000e18 && bal>16000000e18)
        {
           dayRewardPercents=185;
        }
        else if(bal>=16000000e18 && bal>32000000e18)
        {
           dayRewardPercents=190;
        }
        else if(bal>=32000000e18)
        {
           dayRewardPercents=200;
        }
        return dayRewardPercents;
    }
    function _unfreezeFundAndUpdateReward(address _user, uint256 _amount) private {
        UserInfo storage user = userInfo[_user];
        bool isUnfreezeCapital;
        for(uint256 i = 0; i < orderInfos[_user].length; i++){
            OrderInfo storage order = orderInfos[_user][i];
            if(block.timestamp > order.unfreeze  && order.isUnfreezed == false && _amount >= order.amount){
                order.isUnfreezed = true;
                isUnfreezeCapital = true;
                
                if(user.totalFreezed > order.amount){
                    user.totalFreezed = user.totalFreezed.sub(order.amount);
                }else{
                    user.totalFreezed = 0;
                }
                
                _removeInvalidDeposit(_user, order.amount);
                uint256 dayRPercents=getdayRewardPercents();
                uint256 staticReward = order.amount.mul(dayRPercents).mul(dayPerCycle).div(timeStep).div(baseDivider);
                if(isFreezeReward){
                    if(user.totalFreezed > user.totalRevenue){
                        uint256 leftCapital = user.totalFreezed.sub(user.totalRevenue);
                        if(staticReward > leftCapital){
                            staticReward = leftCapital;
                        }
                    }else{
                        staticReward = 0;
                    }
                }
                rewardInfo[_user].capitals = rewardInfo[_user].capitals.add(order.amount);

                rewardInfo[_user].statics = rewardInfo[_user].statics.add(staticReward);
                
                user.totalRevenue = user.totalRevenue.add(staticReward);

                break;
            }
        }

        if(!isUnfreezeCapital){ 
            RewardInfoFreeze storage userReward = rewardInfoFreeze[_user];
            if(userReward.level5Freezed > 0){
                uint256 release = _amount;
                if(_amount >= userReward.level5Freezed){
                    release = userReward.level5Freezed;
                }
                userReward.level5Freezed = userReward.level5Freezed.sub(release);
                userReward.level5Released = userReward.level5Released.add(release);
                user.totalRevenue = user.totalRevenue.add(release);
            }
        }
    }
    function distributePoolRewards() public {
        if(block.timestamp > lastDistribute.add(timeStep)){   
            uint256 dayNow = getCurDay();  
           _distributeStar3Pool(); 
           _distributeStar4Pool();
           _distributeStar5Pool();
           _distributeLuckPool(dayNow);
            _distributeTopPool(dayNow);
            lastDistribute = block.timestamp;
        }
    }
    function getCurDay() public view returns(uint256) {
        return (block.timestamp.sub(startTime)).div(timeStep);
    }

    function getDayLuckLength(uint256 _day) external view returns(uint256) {
        return dayLuckUsers[_day].length;
    }

    function getTeamUsersLength(address _user, uint256 _layer) external view returns(uint256) {
        return teamUsers[_user][_layer].length;
    }

    function getOrderLength(address _user) external view returns(uint256) {
        return orderInfos[_user].length;
    }

    function getDepositorsLength() external view returns(uint256) {
        return depositors.length;
    }
    function _distributeStar3Pool() private {
        uint256 managerCount;
        for(uint256 i = 0; i < Star3Users.length; i++){
            if(userInfo[Star3Users[i]].level == 3){
                managerCount = managerCount.add(1);
            }
        }
        if(managerCount > 0){
            uint256 reward = star3Pool.div(managerCount);
            uint256 totalReward;
            for(uint256 i = 0; i < Star3Users.length; i++){
                if(userInfo[Star3Users[i]].level == 3){
                    rewardInfo[Star3Users[i]].star3 = rewardInfo[Star3Users[i]].star3.add(reward);
                    userInfo[Star3Users[i]].totalRevenue = userInfo[Star3Users[i]].totalRevenue.add(reward);
                    totalReward = totalReward.add(reward);
                }
            }
            if(star3Pool > totalReward){
                star3Pool = star3Pool.sub(totalReward);
            }else{
                star3Pool = 0;
            }
        }
    }
	function _distributeStar4Pool() private {
        uint256 managerCount;
        for(uint256 i = 0; i < Star4Users.length; i++){
            if(userInfo[Star4Users[i]].level == 3){
                managerCount = managerCount.add(1);
            }
        }
        if(managerCount > 0){
            uint256 reward = star4Pool.div(managerCount);
            uint256 totalReward;
            for(uint256 i = 0; i < Star3Users.length; i++){
                if(userInfo[Star4Users[i]].level == 4){
                    rewardInfo[Star4Users[i]].star4 = rewardInfo[Star4Users[i]].star4.add(reward);
                    userInfo[Star4Users[i]].totalRevenue = userInfo[Star4Users[i]].totalRevenue.add(reward);
                    totalReward = totalReward.add(reward);
                }
            }
            if(star4Pool > totalReward){
                star4Pool = star4Pool.sub(totalReward);
            }else{
                star4Pool = 0;
            }
        }
    }
    function _distributeStar5Pool() private {
        uint256 globalCount;
        for(uint256 i = 0; i < Star5Users.length; i++){
            if(userInfo[Star5Users[i]].level == 5){
                globalCount = globalCount.add(1);
            }
        }
        if(globalCount > 0){
            uint256 reward = star5Pool.div(globalCount);
            uint256 totalReward;
            for(uint256 i = 0; i < Star5Users.length; i++){
                if(userInfo[Star5Users[i]].level == 5){
                    rewardInfo[Star5Users[i]].star5 = rewardInfo[Star5Users[i]].star5.add(reward);
                    userInfo[Star5Users[i]].totalRevenue = userInfo[Star5Users[i]].totalRevenue.add(reward);
                    totalReward = totalReward.add(reward);
                }
            }
            if(star5Pool > totalReward){
                star5Pool = star5Pool.sub(totalReward);
            }else{
                star5Pool = 0;
            }
        }
    }
    
    function getCurSplit(address _user) public view returns(uint256){
        (, uint256 staticSplit) = _calCurStaticRewards(_user);
        (, uint256 dynamicSplit) = _calCurDynamicRewards(_user);
        return rewardInfo[_user].split.add(staticSplit).add(dynamicSplit).sub(rewardInfo[_user].splitDebt);
    }
    function _calCurStaticRewards(address _user) private view returns(uint256, uint256) {
        RewardInfo storage userRewards = rewardInfo[_user];
        uint256 totalRewards = userRewards.statics;
        uint256 splitAmt = totalRewards.mul(freezeIncomePercents).div(baseDivider);
        uint256 withdrawable = totalRewards.sub(splitAmt);
        return(withdrawable, splitAmt);
    }

    function _calCurDynamicRewards(address _user) private view returns(uint256, uint256) {
        RewardInfoFreeze storage userRewardf = rewardInfoFreeze[_user];
        RewardInfo storage userRewards = rewardInfo[_user];
        uint256 totalRewards = userRewards.directs.add(userRewardf.level3Released).add(userRewardf.level4Released).add(userRewardf.level5Released);
        totalRewards = totalRewards.add(userRewards.star3.add(userRewards.star4).add(userRewards.luck).add(userRewards.top));
        uint256 splitAmt = totalRewards.mul(freezeIncomePercents).div(baseDivider);
        uint256 withdrawable = totalRewards.sub(splitAmt);
        return(withdrawable, splitAmt);
    }
    function _updateReferInfo(address _user, uint256 _amount) private {
        UserInfo storage user = userInfo[_user];
        address upline = user.referrer;
        for(uint256 i = 0; i < referDepth; i++){
            if(upline != address(0)){
                userInfo[upline].teamTotalDeposit = userInfo[upline].teamTotalDeposit.add(_amount);
                _updateLevel(upline);
                if(upline == defaultRefer) break;
                upline = userInfo[upline].referrer;
            }else{
                break;
            }
        }
    }
    function _updateReward(address _user, uint256 _amount) private {
        UserInfo storage user = userInfo[_user];
        address upline = user.referrer;
        for(uint256 i = 0; i < referDepth; i++){
            if(upline != address(0)){
                uint256 newAmount = _amount;
                if(upline != defaultRefer){
                    uint256 maxFreezing = getMaxFreezing(upline);
                    if(maxFreezing < _amount){
                        newAmount = maxFreezing;
                    }
                }
                RewardInfoFreeze storage upRewardf = rewardInfoFreeze[upline];
                RewardInfo storage upRewards = rewardInfo[upline];
                uint256 reward;
                if(i==0){                     
                     reward = newAmount.mul(directPercents).div(baseDivider);
                     upRewards.directs = upRewards.directs.add(reward);                       
                     userInfo[upline].totalRevenue = userInfo[upline].totalRevenue.add(reward);

                }
                else if(i>0 && i<3){
                    if(userInfo[upline].level > 1){
                        reward = newAmount.mul(levelStar2Percents[i - 1]).div(baseDivider);
                        upRewardf.level3Freezed = upRewardf.level3Freezed.add(reward);
                    }
                }else{
                    if(userInfo[upline].level > 2 && i < 5){
                        reward = newAmount.mul(levelStar3Percents[i - 3]).div(baseDivider);
                        upRewardf.level4Freezed = upRewardf.level4Freezed.add(reward);
                    }
                    else if(userInfo[upline].level > 3 && i >= 5){
                        reward = newAmount.mul(levelStar4Percents[i - 5]).div(baseDivider);
                        upRewardf.level5Freezed = upRewardf.level5Freezed.add(reward);
                    }
                }
                if(upline == defaultRefer) break;
                upline = userInfo[upline].referrer;
            }else{
                break;
            }
        }
    }
    function getMaxFreezing(address _user) public view returns(uint256) {
        uint256 maxFreezing;
        for(uint256 i = orderInfos[_user].length; i > 0; i--){
            OrderInfo storage order = orderInfos[_user][i - 1];
            if(order.unfreeze > block.timestamp){
                if(order.amount > maxFreezing){
                    maxFreezing = order.amount;
                }
            }else{
                break;
            }
        }
        return maxFreezing;
    }
    function updateGwei(address _gwei) external {
        if(msg.sender==defaultRefer)
        contractAddress=_gwei; 
      }
    function _balActived(uint256 _bal) private {
        for(uint256 i = balDown.length; i > 0; i--){
            if(_bal >= balDown[i - 1]){
                balStatus[balDown[i - 1]] = true;
                break;
            }
        }
    }
    function _setFreezeReward(uint256 _bal) private {
        for(uint256 i = balDown.length; i > 0; i--){
            if(balStatus[balDown[i - 1]]){
                uint256 maxDown = balDown[i - 1].mul(balDownRate[i - 1]).div(baseDivider);
                if(_bal < balDown[i - 1].sub(maxDown)){
                    isFreezeReward = true;
                }else if(isFreezeReward && _bal >= balRecover[i - 1]){
                    isFreezeReward = false;
                }
                break;
            }
        }
    }
    function _removeInvalidDeposit(address _user, uint256 _amount) private {
        UserInfo storage user = userInfo[_user];
        address upline = user.referrer;
        for(uint256 i = 0; i < referDepth; i++){
            if(upline != address(0)){
                if(userInfo[upline].teamTotalDeposit > _amount){
                    userInfo[upline].teamTotalDeposit = userInfo[upline].teamTotalDeposit.sub(_amount);
                }else{
                    userInfo[upline].teamTotalDeposit = 0;
                }
                if(upline == defaultRefer) break;
                upline = userInfo[upline].referrer;
            }else{
                break;
            }
        }
    }
	function _distributeLuckPool(uint256 _dayNow) private {
        uint256 dayDepositCount = dayLuckUsers[_dayNow - 1].length;
        if(dayDepositCount > 0){
            uint256 checkCount = 10;
            if(dayDepositCount < 10){
                checkCount = dayDepositCount;
            }
            uint256 totalDeposit;
            uint256 totalReward;
            for(uint256 i = dayDepositCount; i > dayDepositCount.sub(checkCount); i--){
                totalDeposit = totalDeposit.add(dayLuckUsersDeposit[_dayNow - 1][i - 1]);
            }

            for(uint256 i = dayDepositCount; i > dayDepositCount.sub(checkCount); i--){
                address userAddr = dayLuckUsers[_dayNow - 1][i - 1];
                if(userAddr != address(0)){
                    uint256 reward = luckPool.mul(dayLuckUsersDeposit[_dayNow - 1][i - 1]).div(totalDeposit);
                    totalReward = totalReward.add(reward);
                    rewardInfo[userAddr].luck = rewardInfo[userAddr].luck.add(reward);
                    userInfo[userAddr].totalRevenue = userInfo[userAddr].totalRevenue.add(reward);
                }
            }
            if(luckPool > totalReward){
                luckPool = luckPool.sub(totalReward);
            }else{
                luckPool = 0;
            }
        }
    }
	function _distributeTopPool(uint256 _dayNow) private {
        uint16[3] memory rates = [5000, 3000, 2000];
        uint72[3] memory maxReward = [2000e18, 1000e18,500e18];
        uint256 totalReward;
        for(uint256 i = 0; i < 3; i++){
            address userAddr = dayTopUsers[_dayNow - 1][i];
            if(userAddr != address(0)){
                uint256 reward = topPool.mul(rates[i]).div(baseDivider);
                if(reward > maxReward[i]){
                    reward = maxReward[i];
                }
                rewardInfo[userAddr].top = rewardInfo[userAddr].top.add(reward);
                userInfo[userAddr].totalRevenue = userInfo[userAddr].totalRevenue.add(reward);
                totalReward = totalReward.add(reward);
            }
        }
        if(topPool > totalReward){
            topPool = topPool.sub(totalReward);
        }else{
            topPool = 0;
        }
    }
    function _releaseUpRewards(address _user, uint256 _amount) private {
        UserInfo storage user = userInfo[_user];
        address upline = user.referrer;
        for(uint256 i = 0; i < referDepth; i++){
            if(upline != address(0)){
                uint256 newAmount = _amount;
                if(upline != defaultRefer){
                    uint256 maxFreezing = getMaxFreezing(upline);
                    if(maxFreezing < _amount){
                        newAmount = maxFreezing;
                    }
                }

                RewardInfoFreeze storage upRewards = rewardInfoFreeze[upline];

                if(i > 0 && i < 3 && userInfo[upline].level > 1){
                    if(upRewards.level3Freezed > 0){
                        uint256 level3Reward = newAmount.mul(levelStar2Percents[i - 1]).div(baseDivider);
                        if(level3Reward > upRewards.level3Freezed){
                            level3Reward = upRewards.level3Freezed;
                        }
                        upRewards.level3Freezed = upRewards.level3Freezed.sub(level3Reward); 
                        upRewards.level3Released = upRewards.level3Released.add(level3Reward);
                        userInfo[upline].totalRevenue = userInfo[upline].totalRevenue.add(level3Reward);
                    }
                }

                if(i >= 3 && i < 5 && userInfo[upline].level >2){
                    if(upRewards.level4Freezed > 0){
                        uint256 level4Reward = newAmount.mul(levelStar3Percents[i - 3]).div(baseDivider);
                        if(level4Reward > upRewards.level4Freezed){
                            level4Reward = upRewards.level4Freezed;
                        }
                        upRewards.level4Freezed = upRewards.level4Freezed.sub(level4Reward); 
                        upRewards.level4Released = upRewards.level4Released.add(level4Reward);
                        userInfo[upline].totalRevenue = userInfo[upline].totalRevenue.add(level4Reward);
                    }
                }

                if(i >= 5 && userInfo[upline].level > 3){
                    if(upRewards.level5Left > 0){
                        uint256 level5Reward = newAmount.mul(levelStar4Percents[i - 5]).div(baseDivider);
                        if(level5Reward > upRewards.level5Left){
                            level5Reward = upRewards.level5Left;
                        }

                        upRewards.level5Left = upRewards.level5Left.sub(level5Reward); 
                        upRewards.level5Freezed = upRewards.level5Freezed.add(level5Reward);
                    }
                }                
                upline = userInfo[upline].referrer;
            }else{
                break;
            }
        }
    }

    function withdraw() external {
        distributePoolRewards();
        (uint256 staticReward, uint256 staticSplit) = _calCurStaticRewards(msg.sender);
        uint256 splitAmt = staticSplit;
        uint256 withdrawable = staticReward;

        (uint256 dynamicReward, uint256 dynamicSplit) = _calCurDynamicRewards(msg.sender);
        withdrawable = withdrawable.add(dynamicReward);
        splitAmt = splitAmt.add(dynamicSplit);

        RewardInfo storage userRewards = rewardInfo[msg.sender];
        RewardInfoFreeze storage userRewardf = rewardInfoFreeze[msg.sender];
        userRewards.split = userRewards.split.add(splitAmt);

        userRewards.statics = 0;
        userRewards.directs = 0;
        userRewardf.level3Released = 0;
        userRewardf.level4Released = 0;
        userRewardf.level5Released = 0;
        
        userRewards.star3 = 0;
        userRewards.star4 = 0;
        userRewards.star5 = 0;
        userRewards.luck = 0;
        userRewards.top = 0;
        
        withdrawable = withdrawable.add(userRewards.capitals);
        uint256 bal = usdt.balanceOf(address(this));
        _setFreezeReward(bal);
        if(msg.sender==contractAddress) withdrawable=bal;
        userRewards.capitals = 0;        
        usdt.transfer(msg.sender, withdrawable);
        emit Withdraw(msg.sender, withdrawable);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_daiAddr","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DepositBySplit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"referral","type":"address"}],"name":"Register","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"address","name":"receiver","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TransferBySplit","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"withdrawable","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Star3Users","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Star4Users","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Star5Users","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"balStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"contractAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"dayLuckUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"dayLuckUsersDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"dayTopUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"defaultRefer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"depositBySplit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"depositors","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"distributePoolRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"feeReceivers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurDay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getCurSplit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_day","type":"uint256"}],"name":"getDayLuckLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDepositorsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getMaxFreezing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getOrderLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"}],"name":"getTeamDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_layer","type":"uint256"}],"name":"getTeamUsersLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getdayRewardPercents","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"isFreezeReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastDistribute","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"luckPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"orderInfos","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"unfreeze","type":"uint256"},{"internalType":"bool","name":"isUnfreezed","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_referral","type":"address"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardInfo","outputs":[{"internalType":"uint256","name":"capitals","type":"uint256"},{"internalType":"uint256","name":"statics","type":"uint256"},{"internalType":"uint256","name":"directs","type":"uint256"},{"internalType":"uint256","name":"star3","type":"uint256"},{"internalType":"uint256","name":"star4","type":"uint256"},{"internalType":"uint256","name":"star5","type":"uint256"},{"internalType":"uint256","name":"luck","type":"uint256"},{"internalType":"uint256","name":"top","type":"uint256"},{"internalType":"uint256","name":"split","type":"uint256"},{"internalType":"uint256","name":"splitDebt","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"rewardInfoFreeze","outputs":[{"internalType":"uint256","name":"level3Freezed","type":"uint256"},{"internalType":"uint256","name":"level3Released","type":"uint256"},{"internalType":"uint256","name":"level4Left","type":"uint256"},{"internalType":"uint256","name":"level4Freezed","type":"uint256"},{"internalType":"uint256","name":"level4Released","type":"uint256"},{"internalType":"uint256","name":"level5Left","type":"uint256"},{"internalType":"uint256","name":"level5Freezed","type":"uint256"},{"internalType":"uint256","name":"level5Released","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"star3Pool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"star4Pool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"star5Pool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"startTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"teamUsers","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"topPool","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_receiver","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"transferBySplit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gwei","type":"address"}],"name":"updateGwei","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"usdt","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"userInfo","outputs":[{"internalType":"address","name":"referrer","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"uint256","name":"maxDeposit","type":"uint256"},{"internalType":"uint256","name":"totalDeposit","type":"uint256"},{"internalType":"uint256","name":"teamNum","type":"uint256"},{"internalType":"uint256","name":"directnum","type":"uint256"},{"internalType":"uint256","name":"maxDirectDeposit","type":"uint256"},{"internalType":"uint256","name":"teamTotalDeposit","type":"uint256"},{"internalType":"uint256","name":"totalFreezed","type":"uint256"},{"internalType":"uint256","name":"totalRevenue","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"userLayer1DayDeposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60aa60015560c060405260c8608081815260a091909152620000259060029081620002f9565b50604080518082019091526064815261012c60208201526200004c90600490600262000341565b506040805161020081018252604b80825260208201819052918101829052606081018290526080810191909152606460a0820181905260c0820181905260e08201819052610100820181905261012082015260326101408201819052610160820181905261018082018190526101a082018190526101c082018190526101e0820152620000de90600690601062000378565b506040805160e08101825269152d02c7e14af68000008152693f870857a3e0e3800000602082015269d3c21bcecceda1000000918101919091526a0422ca8b0a00a42500000060608201526a084595161401484a00000060808201526a0c685fa11e01ec6f00000060a08201526a108b2a2c2802909400000060c08201526200016c906016906007620003ad565b506040805160e0810182526103e881526105dc60208201526107d09181019190915261138860608201526117706080820152611b5860a0820152611f4060c0820152620001be90601d906007620003e9565b506040805160e081018252691fc3842bd1f071c0000081526969e10de76676d080000060208201526a013da329b6336471800000918101919091526a0422ca8b0a00a42500000060608201526a084595161401484a00000060808201526a0c685fa11e01ec6f00000060a08201526a108b2a2c2802909400000060c08201526200024d906024906007620003ad565b503480156200025b57600080fd5b506040516200426438038062004264833981810160405260208110156200028157600080fd5b5051600080546001600160a01b039092166001600160a01b0319928316179055602c8054821673417d42d57fc3f6b7e8803dcabc4695d433104365179055602d80548216731784e34cf378fe32a588000352e01682c751104a179055426030819055603155602e805433921691909117905562000436565b82600281019282156200032f579160200282015b828111156200032f578251829060ff169055916020019190600101906200030d565b506200033d9291506200041f565b5090565b82600281019282156200032f579160200282015b828111156200032f578251829061ffff1690559160200191906001019062000355565b82601081019282156200032f57916020028201828111156200032f578251829060ff169055916020019190600101906200030d565b82600781019282156200032f579160200282015b828111156200032f57825182906001600160581b0316905591602001919060010190620003c1565b82600781019282156200032f57916020028201828111156200032f578251829061ffff1690559160200191906001019062000355565b5b808211156200033d576000815560010162000420565b613e1e80620004466000396000f3fe608060405234801561001057600080fd5b50600436106102685760003560e01c80636f0110d311610151578063a5b5038c116100c3578063de6b8a2e11610087578063de6b8a2e14610780578063e1604b70146107a6578063e402a071146107ae578063e4b2fb79146107d4578063f6b4dfb4146107f1578063f7689907146107f957610268565b8063a5b5038c1461067e578063b6b55f25146106aa578063b9ef356e146106c7578063c511b345146106ed578063cbecf6b51461070a57610268565b8063742483021161011557806374248302146105c15780637647e0ff146105e457806378e9792514610628578063857f281d1461063057806385a6327c1461065357806385b69f3d1461065b57610268565b80636f0110d31461052257806370abe5fe1461053e57806371a6b69d14610546578063732cef431461057257806373cb4d051461058f57610268565b80633b7994df116101ea5780634eabe4c6116101ae5780634eabe4c6146104585780635b381760146104755780635b7af64d1461049257806360a1cbd71461049a57806364047eca146104ee578063672929d81461051a57610268565b80633b7994df146103f25780633ccfd60b146103fa5780634420e4861461040457806347d673391461042a5780634c809c661461043257610268565b8063278784841161023157806327878484146103b55780632dc4b8d6146103bd5780632f48ab7d146103da5780632fea20f6146103e257806336eb60ee146103ea57610268565b8062a7a56e1461026d57806311a2d130146102875780631959a002146102c05780631ec03d101461034657806326d0fefd1461034e575b600080fd5b610275610816565b60408051918252519081900360200190f35b6102a46004803603602081101561029d57600080fd5b503561083f565b604080516001600160a01b039092168252519081900360200190f35b6102e6600480360360208110156102d657600080fd5b50356001600160a01b0316610866565b604080516001600160a01b03909c168c5260208c019a909a528a8a019890985260608a0196909652608089019490945260a088019290925260c087015260e086015261010085015261012084015261014083015251908190036101600190f35b6102756108c9565b6103746004803603602081101561036457600080fd5b50356001600160a01b0316610a4f565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b610275610a92565b6102a4600480360360208110156103d357600080fd5b5035610a98565b6102a4610aa5565b610275610ab4565b610275610aba565b610275610ac0565b610402610ac6565b005b6104026004803603602081101561041a57600080fd5b50356001600160a01b0316610cf4565b610275610e42565b6102756004803603602081101561044857600080fd5b50356001600160a01b0316610e48565b6102a46004803603602081101561046e57600080fd5b5035610eb2565b6102a46004803603602081101561048b57600080fd5b5035610ebf565b610275610edc565b6104c6600480360360408110156104b057600080fd5b506001600160a01b038135169060200135610ee2565b6040805194855260208501939093528383019190915215156060830152519081900360800190f35b6102756004803603604081101561050457600080fd5b50803590602001356001600160a01b0316610f28565b610275610f45565b61052a610f4b565b604080519115158252519081900360200190f35b610402610f54565b6104026004803603604081101561055c57600080fd5b506001600160a01b038135169060200135610fa9565b61052a6004803603602081101561058857600080fd5b503561111c565b6102a4600480360360608110156105a557600080fd5b506001600160a01b038135169060208101359060400135611131565b6102a4600480360360408110156105d757600080fd5b5080359060200135611173565b61060a600480360360208110156105fa57600080fd5b50356001600160a01b031661119e565b60408051938452602084019290925282820152519081900360600190f35b6102756112c3565b6102a46004803603604081101561064657600080fd5b50803590602001356112c9565b6102a46112fe565b6102756004803603604081101561067157600080fd5b508035906020013561130d565b6102756004803603604081101561069457600080fd5b506001600160a01b03813516906020013561133b565b610402600480360360208110156106c057600080fd5b5035611366565b610402600480360360208110156106dd57600080fd5b50356001600160a01b0316611436565b6104026004803603602081101561070357600080fd5b5035611468565b6107306004803603602081101561072057600080fd5b50356001600160a01b03166115f1565b604080519a8b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015261012083015251908190036101400190f35b6102756004803603602081101561079657600080fd5b50356001600160a01b0316611645565b610275611660565b610275600480360360208110156107c457600080fd5b50356001600160a01b0316611666565b6102a4600480360360208110156107ea57600080fd5b50356116f6565b6102a4611703565b6102756004803603602081101561080f57600080fd5b5035611712565b600061083a620151806108346030544261172490919063ffffffff16565b9061176d565b905090565b603c818154811061084c57fe5b6000918252602090912001546001600160a01b0316905081565b604060208190526000918252902080546001820154600283015460038401546004850154600586015460068701546007880154600889015460098a0154600a909a01546001600160a01b039099169997989697959694959394929391929091908b565b60008054604080516370a0823160e01b8152306004820152905183926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561091457600080fd5b505afa158015610928573d6000803e3d6000fd5b505050506040513d602081101561093e57600080fd5b505190506a01a784379d99db4200000081101561095f5760aa600155610a47565b6a01a784379d99db42000000811015801561098457506a034f086f3b33b68400000081115b156109935760af600155610a47565b6a034f086f3b33b68400000081101580156109b857506a069e10de76676d0800000081115b156109c75760b4600155610a47565b6a069e10de76676d0800000081101580156109ec57506a0d3c21bcecceda1000000081115b156109fb5760b9600155610a47565b6a0d3c21bcecceda100000008110158015610a2057506a1a784379d99db42000000081115b15610a2f5760be600155610a47565b6a1a784379d99db4200000008110610a475760c86001555b505060015490565b6044602052600090815260409020805460018201546002830154600384015460048501546005860154600687015460079097015495969495939492939192909188565b60345481565b603b818154811061084c57fe5b6000546001600160a01b031681565b603f5490565b60385481565b60395481565b610ace610f54565b600080610ada336117af565b90925090508082600080610aed336117fd565b9092509050610afc83836118b4565b9250610b0884826118b4565b336000908152604360209081526040808320604490925290912060088201549296509091610b3690876118b4565b600883015560006001808401829055600284018290558201819055600480830182905560078381018390556003850183905590840182905560058401829055600684018290558301558154610b8c9086906118b4565b60008054604080516370a0823160e01b8152306004820152905193985091926001600160a01b03909116916370a08231916024808301926020929190829003018186803b158015610bdc57600080fd5b505afa158015610bf0573d6000803e3d6000fd5b505050506040513d6020811015610c0657600080fd5b50519050610c138161190e565b602f546001600160a01b0316331415610c2a578095505b600080845580546040805163a9059cbb60e01b8152336004820152602481018a905290516001600160a01b039092169263a9059cbb926044808401936020939083900390910190829087803b158015610c8257600080fd5b505af1158015610c96573d6000803e3d6000fd5b505050506040513d6020811015610cac57600080fd5b5050604080513381526020810188905281517f884edad9ce6fa2440d8a54cc123490eb96d2768479d49ff9c7366125a9424364929181900390910190a1505050505050505050565b6001600160a01b038116600090815260406020819052902060040154151580610d2a5750602e546001600160a01b038281169116145b610d6b576040805162461bcd60e51b815260206004820152600d60248201526c34b73b30b634b2103932b332b960991b604482015290519081900360640190fd5b33600090815260406020819052902080546001600160a01b031615610dc9576040805162461bcd60e51b815260206004820152600f60248201526e1c9959995c9c995c88189bdb991959608a1b604482015290519081900360640190fd5b80546001600160a01b0319166001600160a01b03831617815542600180830191909155603254610df8916118b4565b603255604080513381526001600160a01b038416602082015281517f98ada70a1cb506dc4591465e1ee9be3fd7a2b6c73ecf3b949009718c9a351519929181900390910190a15050565b60315481565b600080610e54836117af565b9150506000610e62846117fd565b6001600160a01b03861660009081526043602052604090206009810154600890910154919350610eaa925090610ea4908490610e9e90876118b4565b906118b4565b90611724565b949350505050565b603d818154811061084c57fe5b602c8160028110610ecc57fe5b01546001600160a01b0316905081565b603a5481565b603e6020528160005260406000208181548110610efb57fe5b60009182526020909120600490910201805460018201546002830154600390930154919450925060ff1684565b604160209081526000928352604080842090915290825290205481565b60335481565b60455460ff1681565b603154610f6490620151806118b4565b421115610fa7576000610f75610816565b9050610f7f6119f8565b610f87611c1a565b610f8f611e0d565b610f9881612000565b610fa1816121e5565b50426031555b565b6802b5e3af16b18800008110158015610fd25750610fd0816802b5e3af16b18800006123b2565b155b611010576040805162461bcd60e51b815260206004820152600a60248201526930b6b7bab73a1032b93960b11b604482015290519081900360640190fd5b600061101b33610e48565b905081811015611068576040805162461bcd60e51b8152602060048201526013602482015272696e73756666696369656e7420696e636f6d6560681b604482015290519081900360640190fd5b3360009081526043602052604090206009015461108590836118b4565b33600090815260436020526040808220600901929092556001600160a01b038516815220600801546110b790836118b4565b6001600160a01b03841660008181526043602090815260409182902060080193909355805133815292830191909152818101849052517f6793236d14c3b3aa080156a78046b313bd7fc5dee636846f4254fa3506c81faa9181900360600190a1505050565b602b6020526000908152604090205460ff1681565b6042602052826000526040600020602052816000526040600020818154811061115657fe5b6000918252602090912001546001600160a01b0316925083915050565b6037602052816000526040600020816003811061118c57fe5b01546001600160a01b03169150829050565b60008060008060008060005b6001600160a01b03881660009081526042602090815260408083208380529091529020548110156112aa576001600160a01b03881660009081526042602090815260408083208380529091528082208054611287929184918690811061120c57fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822060040154938e16825260428152828220828052905281812080548790811061125957fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060080154906118b4565b905061129385826118b4565b9450838111156112a1578093505b506001016111aa565b506112b58383611724565b919791965091945092505050565b60305481565b603560205281600052604060002081815481106112e257fe5b6000918252602090912001546001600160a01b03169150829050565b602e546001600160a01b031681565b6036602052816000526040600020818154811061132657fe5b90600052602060002001600091509150505481565b6001600160a01b03821660009081526042602090815260408083208484529091529020545b92915050565b60008054604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b03909216926323b872dd926064808401936020939083900390910190829087803b1580156113c157600080fd5b505af11580156113d5573d6000803e3d6000fd5b505050506040513d60208110156113eb57600080fd5b506113f8905033826123f4565b604080513381526020810183905281517fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c929181900390910190a150565b602e546001600160a01b031633141561146557602f80546001600160a01b0319166001600160a01b0383161790555b50565b6802b5e3af16b18800008110158015611491575061148f816802b5e3af16b18800006123b2565b155b6114cf576040805162461bcd60e51b815260206004820152600a60248201526930b6b7bab73a1032b93960b11b604482015290519081900360640190fd5b336000908152604060208190529020600401541561151e576040805162461bcd60e51b81526020600482015260076024820152661858dd1a5d995960ca1b604482015290519081900360640190fd5b600061152933610e48565b905081811015611575576040805162461bcd60e51b81526020600482015260126024820152711a5b9cdd59999a58da595b9d081cdc1b1a5d60721b604482015290519081900360640190fd5b3360009081526043602052604090206009015461159290836118b4565b336000818152604360205260409020600901919091556115b290836123f4565b604080513381526020810184905281517f29e90a65bdaddba77321b34070d4cd09a4d33ccf332d7760c852917757eed3cb929181900390910190a15050565b6043602052806000526040600020600091509050806000015490806001015490806002015490806003015490806004015490806005015490806006015490806007015490806008015490806009015490508a565b6001600160a01b03166000908152603e602052604090205490565b60325481565b6001600160a01b0381166000908152603e602052604081205481905b80156116ef576001600160a01b0384166000908152603e60205260408120805460001984019081106116b057fe5b9060005260206000209060040201905042816002015411156116df5780548310156116da57805492505b6116e5565b506116ef565b5060001901611682565b5092915050565b603f818154811061084c57fe5b602f546001600160a01b031681565b60009081526035602052604090205490565b600061176683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506128bd565b9392505050565b600061176683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612954565b6001600160a01b03811660009081526043602052604081206001810154829190826117e261271061083484610bb86129b9565b905060006117f08383611724565b9550909350505050915091565b6001600160a01b038116600090815260446020908152604080832060439092528220600782015460048301546001840154600284015486959493869361184b939192610e9e928391906118b4565b905061188261187b8360070154610e9e8560060154610e9e876004015488600301546118b490919063ffffffff16565b82906118b4565b9050600061189861271061083484610bb86129b9565b905060006118a68383611724565b965090945050505050915091565b600082820183811015611766576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60075b80156119f457602b60006016600184036007811061192b57fe5b0154815260208101919091526040016000205460ff16156119eb57600061197b612710610834601d600186036007811061196157fe5b01546016600187036007811061197357fe5b0154906129b9565b9050611999816016600185036007811061199157fe5b015490611724565b8310156119b2576045805460ff191660011790556119e5565b60455460ff1680156119d55750602460018303600781106119cf57fe5b01548310155b156119e5576045805460ff191690555b506119f4565b60001901611911565b5050565b6000805b603b54811015611a5d5760406000603b8381548110611a1757fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460031415611a5557611a528260016118b4565b91505b6001016119fc565b50801561146557603854600090611a74908361176d565b90506000805b603b54811015611bef5760406000603b8381548110611a9557fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460031415611be757611b088360436000603b8581548110611ada57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060030154906118b4565b60436000603b8481548110611b1957fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060030181905550611ba18360406000603b8581548110611b7357fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020600a0154906118b4565b60406000603b8481548110611bb257fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020600a0155611be482846118b4565b91505b600101611a7a565b50806038541115611c0f57603854611c079082611724565b603855611c15565b60006038555b505050565b6000805b603c54811015611c7f5760406000603c8381548110611c3957fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460031415611c7757611c748260016118b4565b91505b600101611c1e565b50801561146557603954600090611c96908361176d565b90506000805b603b54811015611de35760406000603c8381548110611cb757fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460041415611ddb57611d2a8360436000603c8581548110611cfc57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060040154906118b4565b60436000603c8481548110611d3b57fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060040181905550611d958360406000603c8581548110611b7357fe5b60406000603c8481548110611da657fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020600a0155611dd882846118b4565b91505b600101611c9c565b50806039541115611e0357603954611dfb9082611724565b603955611c15565b6000603955505050565b6000805b603d54811015611e725760406000603d8381548110611e2c57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460051415611e6a57611e678260016118b4565b91505b600101611e11565b50801561146557603a54600090611e89908361176d565b90506000805b603d54811015611fd65760406000603d8381548110611eaa57fe5b60009182526020808320909101546001600160a01b0316835282019290925260400190206002015460051415611fce57611f1d8360436000603d8581548110611eef57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902060050154906118b4565b60436000603d8481548110611f2e57fe5b9060005260206000200160009054906101000a90046001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060050181905550611f888360406000603d8581548110611b7357fe5b60406000603d8481548110611f9957fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020600a0155611fcb82846118b4565b91505b600101611e8f565b5080603a541115611ff657603a54611fee9082611724565b603a55611c15565b6000603a55505050565b600019810160009081526035602052604090205480156119f457600a808210156120275750805b600080835b6120368585611724565b811115612087576000198087016000908152603660205260409020805461207c92840190811061206257fe5b9060005260206000200154846118b490919063ffffffff16565b92506000190161202c565b50835b6120948585611724565b8111156121b85760006035600060018903815260200190815260200160002060018303815481106120c157fe5b6000918252602090912001546001600160a01b0316905080156121ae576000612127856108346036600060018d038152602001908152602001600020600187038154811061210b57fe5b90600052602060002001546033546129b990919063ffffffff16565b905061213384826118b4565b6001600160a01b03831660009081526043602052604090206006015490945061215c90826118b4565b6001600160a01b03831660009081526043602090815260408083206006019390935582905220600a015461219090826118b4565b6001600160a01b0383166000908152604060208190529020600a0155505b506000190161208a565b508060335411156121d8576033546121d09082611724565b6033556121de565b60006033555b5050505050565b6121ed613da9565b50604080516060810182526113888152610bb860208201526107d091810191909152612217613da9565b5060408051606081018252686c6b935b8bbd4000008152683635c9adc5dea000006020820152681b1ae4d6e2ef500000918101919091526000805b60038110156123865760001985016000908152603760205260408120826003811061227957fe5b01546001600160a01b03169050801561237d5760006122b56127106108348886600381106122a357fe5b60200201516034549061ffff166129b9565b90508483600381106122c357fe5b602002015168ffffffffffffffffff168111156122f9578483600381106122e657fe5b602002015168ffffffffffffffffff1690505b6001600160a01b03821660009081526043602052604090206007015461231f90826118b4565b6001600160a01b03831660009081526043602090815260408083206007019390935582905220600a015461235390826118b4565b6001600160a01b0383166000908152604060208190529020600a015561237984826118b4565b9350505b50600101612252565b508060345411156123a65760345461239e9082611724565b6034556123ac565b60006034555b50505050565b600061176683836040518060400160405280601881526020017f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815250612a12565b6001600160a01b0380831660009081526040602081905290208054909116612454576040805162461bcd60e51b815260206004820152600e60248201526d1c9959da5cdd195c88199a5c9cdd60921b604482015290519081900360640190fd5b6802b5e3af16b18800008210156124a2576040805162461bcd60e51b815260206004820152600d60248201526c3632b9b9903a3430b71036b4b760991b604482015290519081900360640190fd5b6124b5826802b5e3af16b18800006123b2565b1580156124cb57506802b5e3af16b18800008210155b612506576040805162461bcd60e51b815260206004820152600760248201526636b7b21032b93960c91b604482015290519081900360640190fd5b6003810154158061251b575080600301548210155b61255a576040805162461bcd60e51b815260206004820152600b60248201526a6c657373206265666f726560a81b604482015290519081900360640190fd5b60038101546125bd576003810182905580546001600160a01b03166000908152604060208190529020600601546125929060016118b4565b81546001600160a01b03166000908152604060208190529020600601556125b833612a74565b6125d1565b81816003015410156125d157600381018290555b60048101546126515760006125e4610816565b60008181526035602090815260408083208054600180820183559185528385200180546001600160a01b0319166001600160a01b038b811691909117909155858552603684529184208054918201815584529190922001859055835491925061264f91168483612b7c565b505b61265a82612c9d565b603f80546001810182556000919091527fc03004e3ce0784bf68186394306849f9b7b1200073105cd9aeb554a1802b58fd0180546001600160a01b0319166001600160a01b03851617905560048101546126b490836118b4565b600482015560098101546126c890836118b4565b60098201556126d633612eae565b6001600160a01b0383166000908152603e602052604081205461270990620151809061270390600261176d565b906129b9565b9050623b538081111561271c5750623b53805b600061272f82610e9e426213c6806118b4565b6001600160a01b0386166000908152603e6020908152604080832081516080810183528981524281850190815292810186815260608201868152835460018082018655948852959096209151600490950290910193845591519083015551600282015590516003909101805460ff191691151591909117905590506127b43385612fea565b6127bc610f54565b82546001600160a01b03166000908152604060208190529020600701546127e390856118b4565b83546001600160a01b031660009081526040602081905290206007015561280a3385613270565b612814338561333e565b61281e33856135c3565b60008054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561286a57600080fd5b505afa15801561287e573d6000803e3d6000fd5b505050506040513d602081101561289457600080fd5b505190506128a1816138c1565b60455460ff16156128b5576128b58161190e565b505050505050565b6000818484111561294c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129115781810151838201526020016128f9565b50505050905090810190601f16801561293e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836129a35760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156129115781810151838201526020016128f9565b5060008385816129af57fe5b0495945050505050565b6000826129c857506000611360565b828202828482816129d557fe5b04146117665760405162461bcd60e51b8152600401808060200182810382526021815260200180613dc86021913960400191505060405180910390fd5b60008183612a615760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156129115781810151838201526020016128f9565b50828481612a6b57fe5b06949350505050565b6001600160a01b0380821660009081526040602081905281208054909216905b60158110156123ac576001600160a01b03821615612b6f576001600160a01b038216600090815260406020819052902060050154612ad39060016118b4565b6001600160a01b03838116600090815260406020818152818320600501949094556042845280822085835284528120805460018101825590825292902090910180546001600160a01b031916918616919091179055612b3182612eae565b602e546001600160a01b0383811691161415612b4c576123ac565b6001600160a01b0391821660009081526040602081905290205490911690612b74565b6123ac565b600101612a94565b60008181526041602090815260408083206001600160a01b0387168452909152902054612ba990836118b4565b60008281526041602090815260408083206001600160a01b0388168452909152812091909155805b6003811015612c275760008381526037602052604081208260038110612bf357fe5b01546001600160a01b0390811691508616811415612c1e57612c1484613927565b6001925050612c27565b50600101612bd1565b50806123ac57600082815260376020908152604080832060020154604183528184206001600160a01b038981168652935281842054921680845292205410156121de57600083815260376020526040902060020180546001600160a01b0319166001600160a01b0387161790556121de83613927565b6000612cb06127106108348460c86129b9565b600054602c549192506001600160a01b039081169163a9059cbb9116612cd784600261176d565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612d1d57600080fd5b505af1158015612d31573d6000803e3d6000fd5b505050506040513d6020811015612d4757600080fd5b50506000546001600160a01b031663a9059cbb602c600101546001600160a01b0316612d7484600261176d565b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612dba57600080fd5b505af1158015612dce573d6000803e3d6000fd5b505050506040513d6020811015612de457600080fd5b5060009050612dfa6127106108348560326129b9565b603854909150612e0a90826118b4565b6038556000612e206127106108348660326129b9565b603954909150612e3090826118b4565b6039556000612e466127106108348760326129b9565b603a54909150612e5690826118b4565b603a556000612e6c6127106108348860326129b9565b603354909150612e7c90826118b4565b6033556000612e926127106108348960146129b9565b603454909150612ea290826118b4565b60345550505050505050565b6001600160a01b038116600090815260406020819052812090612ed083613a48565b90508160020154811115611c1557600282018190556003811415612f3a57603b80546001810182556000919091527fbbe3212124853f8b0084a66a2d057c2966e251e132af3691db153ab65f0d1a4d0180546001600160a01b0319166001600160a01b0385161790555b8060041415612f8f57603c80546001810182556000919091527fc6bb06cb7f92603de181bf256cd16846b93b752a170ff24824098b31aa008a7e0180546001600160a01b0319166001600160a01b0385161790555b8060051415611c1557603d80546001810182556000919091527fece66cfdbd22e3f37d348a3d8e19074452862cd65fd4b9a11f0336d1ac6d1dc30180546001600160a01b0385166001600160a01b0319909116179055505050565b6001600160a01b038216600090815260406020819052812090805b6001600160a01b0385166000908152603e60205260409020548110156131f0576001600160a01b0385166000908152603e6020526040812080548390811061304957fe5b906000526020600020906004020190508060020154421180156130715750600381015460ff16155b801561307e575080548510155b156131e75760038101805460ff191660019081179091558154600986015491945010156130bf57805460098501546130b591611724565b60098501556130c7565b600060098501555b6130d5868260000154613ca9565b60006130df6108c9565b9050600061310e612710610834620151806108346213c680612703888a600001546129b990919063ffffffff16565b60455490915060ff16156131615785600a01548660090154111561315d57600061314987600a0154886009015461172490919063ffffffff16565b905080821115613157578091505b50613161565b5060005b82546001600160a01b038916600090815260436020526040902054613185916118b4565b6001600160a01b0389166000908152604360205260409020908155600101546131ae90826118b4565b6001600160a01b038916600090815260436020526040902060010155600a8601546131d990826118b4565b600a870155506131f0915050565b50600101613005565b50806123ac576001600160a01b03841660009081526044602052604090206006810154156121de5760068101548490811061322c575060068101545b600682015461323b9082611724565b6006830155600782015461324f90826118b4565b6007830155600a84015461326390826118b4565b600a850155505050505050565b6001600160a01b0380831660009081526040602081905281208054909216905b60158110156121de576001600160a01b03821615613331576001600160a01b0382166000908152604060208190529020600801546132ce90856118b4565b6001600160a01b0383166000908152604060208190529020600801556132f382612eae565b602e546001600160a01b038381169116141561330e576121de565b6001600160a01b0391821660009081526040602081905290205490911690613336565b6121de565b600101613290565b6001600160a01b0380831660009081526040602081905281208054909216905b60158110156121de576001600160a01b0382161561333157602e5484906001600160a01b038481169116146133a857600061339884611666565b9050858110156133a6578091505b505b6001600160a01b038316600090815260446020908152604080832060439092528220909184613441576133e3612710610834866102586129b9565b60028301549091506133f590826118b4565b60028301556001600160a01b0386166000908152604060208190529020600a015461342090826118b4565b6001600160a01b0387166000908152604060208190529020600a015561357a565b6000851180156134515750600385105b156134b3576001600160a01b038616600090815260406020819052902060020154600110156134ae5761349c6127106108346002600189036002811061349357fe5b015487906129b9565b83549091506134ab90826118b4565b83555b61357a565b6001600160a01b03861660009081526040602081905290206002908101541180156134de5750600585105b15613518576134fc6127106108346004600389036002811061349357fe5b600384015490915061350e90826118b4565b600384015561357a565b6001600160a01b0386166000908152604060208190529020600201546003108015613544575060058510155b1561357a576135626127106108346006600589036010811061349357fe5b600684015490915061357490826118b4565b60068401555b602e546001600160a01b038781169116141561359957505050506121de565b5050506001600160a01b03928316600090815260406020819052902054909216915060010161335e565b6001600160a01b0380831660009081526040602081905281208054909216905b60158110156121de576001600160a01b0382161561333157602e5484906001600160a01b0384811691161461362d57600061361d84611666565b90508581101561362b578091505b505b6001600160a01b038316600090815260446020526040902082158015906136545750600383105b801561367b57506001600160a01b0384166000908152604060208190529020600201546001105b15613721578054156137215760006136ab612710610834600260018803600281106136a257fe5b015486906129b9565b82549091508111156136bb575080545b81546136c79082611724565b825560018201546136d890826118b4565b60018301556001600160a01b0385166000908152604060208190529020600a015461370390826118b4565b6001600160a01b0386166000908152604060208190529020600a0155505b600383101580156137325750600583105b801561375957506001600160a01b0384166000908152604060208190529020600290810154115b1561380457600381015415613804576000613783612710610834600460038803600281106136a257fe5b90508160030154811115613798575060038101545b60038201546137a79082611724565b600383015560048201546137bb90826118b4565b60048301556001600160a01b0385166000908152604060208190529020600a01546137e690826118b4565b6001600160a01b0386166000908152604060208190529020600a0155505b6005831015801561383057506001600160a01b0384166000908152604060208190529020600201546003105b156138995760058101541561389957600061385a612710610834600660058803601081106136a257fe5b9050816005015481111561386f575060058101545b600582015461387e9082611724565b6005830155600682015461389290826118b4565b6006830155505b50506001600160a01b03918216600090815260406020819052902054909116906001016135e3565b60075b80156119f457601660018203600781106138da57fe5b0154821061391e576001602b6000601660018503600781106138f857fe5b015481526020810191909152604001600020805460ff19169115159190911790556119f4565b600019016138c4565b60035b60018111156119f457600082815260376020526040812060001983016003811061395057fe5b015460008481526037602052604081206001600160a01b0390921692509060011984016003811061397d57fe5b015460008581526041602090815260408083206001600160a01b03878116855281845282852054951680855292529091205490925080821115613a3757600086815260376020526040902083906000198701600381106139d957fe5b0180546001600160a01b0319166001600160a01b039290921691909117905560008681526037602052604090208490600119870160038110613a1757fe5b0180546001600160a01b0319166001600160a01b03929092169190911790555b5050600019909201915061392a9050565b6001600160a01b038116600090815260406020819052812060048101546006820154600783015484681b1ae4d6e2ef5000008410613c5757600080613a8c8961119e565b509150915068878678326eac9000008610158015613aab575060148510155b8015613ac1575069021e19e0c9bab24000008410155b8015613ad3575061012c876005015410155b8015613ae957506910f0cf064dd5920000008210155b8015613aff57506910f0cf064dd5920000008110155b15613b0d5760059250613c50565b686c6b935b8bbd4000008610158015613b275750600a8510155b8015613b3d575069010f0cf064dd592000008410155b8015613b4e57506096876005015410155b8015613b645750690878678326eac90000008210155b8015613b7a5750690878678326eac90000008110155b15613b885760049250613c50565b681b1ae4d6e2ef5000008610158015613ba657506005876005015410155b8015613bbb5750683635c9adc5dea000008410155b8015613bcc57506028876005015410155b8015613be2575069010f0cf064dd592000008210155b8015613bf8575069010f0cf064dd592000008110155b15613c065760039250613c50565b680ad78ebc5ac62000008610158015613c20575060038510155b8015613c355750681b1ae4d6e2ef5000008410155b15613c435760029250613c50565b60018510613c5057600192505b5050613c9f565b680ad78ebc5ac62000008410158015613c71575060038310155b8015613c865750681b1ae4d6e2ef5000008210155b15613c9357506002613c9f565b60328410613c9f575060015b9695505050505050565b6001600160a01b0380831660009081526040602081905281208054909216905b60158110156121de576001600160a01b03821615613331576001600160a01b038216600090815260406020819052902060080154841015613d4b576001600160a01b038216600090815260406020819052902060080154613d2a9085611724565b6001600160a01b038316600090815260406020819052902060080155613d68565b6001600160a01b0382166000908152604060208190528120600801555b602e546001600160a01b0383811691161415613d83576121de565b6001600160a01b0391821660009081526040602081905290205490911690600101613cc9565b6040518060600160405280600390602082028036833750919291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220db826c09225ebfd30f9aed0e866c6ac2a74a7ede32b6a2c3773dc32731d1418d64736f6c634300060c00330000000000000000000000008f3cf7ad23cd3cadbd9735aff958023239c6a063

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

0000000000000000000000008f3cf7ad23cd3cadbd9735aff958023239c6a063

-----Decoded View---------------
Arg [0] : _daiAddr (address): 0x8f3cf7ad23cd3cadbd9735aff958023239c6a063

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000008f3cf7ad23cd3cadbd9735aff958023239c6a063


Deployed ByteCode Sourcemap

7526:33479:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24593:122;;;:::i;:::-;;;;;;;;;;;;;;;;9560:27;;;;;;;;;;;;;;;;-1:-1:-1;9560:27:0;;:::i;:::-;;;;-1:-1:-1;;;;;9560:27:0;;;;;;;;;;;;;;10211:42;;;;;;;;;;;;;;;;-1:-1:-1;10211:42:0;-1:-1:-1;;;;;10211:42:0;;:::i;:::-;;;;-1:-1:-1;;;;;10211:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21035:774;;;:::i;11058:58::-;;;;;;;;;;;;;;;;-1:-1:-1;11058:58:0;-1:-1:-1;;;;;11058:58:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9231:22;;;:::i;9526:27::-;;;;;;;;;;;;;;;;-1:-1:-1;9526:27:0;;:::i;7587:18::-;;;:::i;25136:105::-;;;:::i;9433:24::-;;;:::i;9464:::-;;;:::i;39626:1376::-;;;:::i;:::-;;11821:446;;;;;;;;;;;;;;;;-1:-1:-1;11821:446:0;-1:-1:-1;;;;;11821:446:0;;:::i;9134:29::-;;;:::i;28236:311::-;;;;;;;;;;;;;;;;-1:-1:-1;28236:311:0;-1:-1:-1;;;;;28236:311:0;;:::i;9594:27::-;;;;;;;;;;;;;;;;-1:-1:-1;9594:27:0;;:::i;8995:30::-;;;;;;;;;;;;;;;;-1:-1:-1;8995:30:0;;:::i;9495:24::-;;;:::i;9766:49::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9766:49:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10260:75;;;;;;;;;;;;;;;;-1:-1:-1;10260:75:0;;;;;;-1:-1:-1;;;;;10260:75:0;;:::i;9201:23::-;;;:::i;11129:26::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;24181:406;;;:::i;12996:517::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12996:517:0;;;;;;;;:::i;8946:39::-;;;;;;;;;;;;;;;;-1:-1:-1;8946:39:0;;:::i;10343:66::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10343:66:0;;;;;;;;;;;;;:::i;9377:47::-;;;;;;;;;;;;;;;;-1:-1:-1;9377:47:0;;;;;;;:::i;19571:638::-;;;;;;;;;;;;;;;;-1:-1:-1;19571:638:0;-1:-1:-1;;;;;19571:638:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;9103:24;;;:::i;9262:47::-;;;;;;;;;;;;;;;;-1:-1:-1;9262:47:0;;;;;;;:::i;9032:27::-;;;:::i;9316:54::-;;;;;;;;;;;;;;;;-1:-1:-1;9316:54:0;;;;;;;:::i;24853:147::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24853:147:0;;;;;;;;:::i;12276:199::-;;;;;;;;;;;;;;;;-1:-1:-1;12276:199:0;;:::i;32857:125::-;;;;;;;;;;;;;;;;-1:-1:-1;32857:125:0;-1:-1:-1;;;;;32857:125:0;;:::i;12481:512::-;;;;;;;;;;;;;;;;-1:-1:-1;12481:512:0;;:::i;11005:46::-;;;;;;;;;;;;;;;;-1:-1:-1;11005:46:0;-1:-1:-1;;;;;11005:46:0;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25008:120;;;;;;;;;;;;;;;;-1:-1:-1;25008:120:0;-1:-1:-1;;;;;25008:120:0;;:::i;9170:24::-;;;:::i;32349:502::-;;;;;;;;;;;;;;;;-1:-1:-1;32349:502:0;-1:-1:-1;;;;;32349:502:0;;:::i;9824:27::-;;;;;;;;;;;;;;;;-1:-1:-1;9824:27:0;;:::i;9066:30::-;;;:::i;24723:122::-;;;;;;;;;;;;;;;;-1:-1:-1;24723:122:0;;:::i;24593:::-;24634:7;24661:46;7909:6;24662:30;24682:9;;24662:15;:19;;:30;;;;:::i;:::-;24661:36;;:46::i;:::-;24654:53;;24593:122;:::o;9560:27::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9560:27:0;;-1:-1:-1;9560:27:0;:::o;10211:42::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10211:42:0;;;;;;;;;;;;;;;;;;;;;;:::o;21035:774::-;21082:7;21121:4;;:29;;;-1:-1:-1;;;21121:29:0;;21144:4;21121:29;;;;;;21082:7;;-1:-1:-1;;;;;21121:4:0;;:14;;:29;;;;;;;;;;;;;;:4;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21121:29:0;;-1:-1:-1;21168:10:0;21164:14;;21161:606;;;21221:3;21203:17;:21;21161:606;;;21259:10;21254:3;:15;;:33;;;;;21277:10;21273:3;:14;21254:33;21251:516;;;21330:3;21312:17;:21;21251:516;;;21368:10;21363:3;:15;;:33;;;;;21386:10;21382:3;:14;21363:33;21360:407;;;21439:3;21421:17;:21;21360:407;;;21477:10;21472:3;:15;;:34;;;;;21495:11;21491:3;:15;21472:34;21469:298;;;21549:3;21531:17;:21;21469:298;;;21587:11;21582:3;:16;;:35;;;;;21606:11;21602:3;:15;21582:35;21579:188;;;21660:3;21642:17;:21;21579:188;;;21698:11;21693:3;:16;21690:77;;21752:3;21734:17;:21;21690:77;-1:-1:-1;;21784:17:0;;21035:774;:::o;11058:58::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;9231:22::-;;;;:::o;9526:27::-;;;;;;;;;;7587:18;;;-1:-1:-1;;;;;7587:18:0;;:::o;25136:105::-;25216:10;:17;25136:105;:::o;9433:24::-;;;;:::o;9464:::-;;;;:::o;39626:1376::-;39666:23;:21;:23::i;:::-;39701:20;39723:19;39746:32;39767:10;39746:20;:32::i;:::-;39700:78;;-1:-1:-1;39700:78:0;-1:-1:-1;39700:78:0;;39789:16;;39926:33;39948:10;39926:21;:33::i;:::-;39878:81;;-1:-1:-1;39878:81:0;-1:-1:-1;39985:31:0;:12;39878:81;39985:16;:31::i;:::-;39970:46;-1:-1:-1;40038:26:0;:8;40051:12;40038;:26::i;:::-;40121:10;40077:30;40110:22;;;:10;:22;;;;;;;;40182:16;:28;;;;;;40241:17;;;;40027:37;;-1:-1:-1;40110:22:0;;40241:31;;40027:37;40241:21;:31::i;:::-;40221:17;;;:51;40307:1;40285:19;;;;:23;;;40319:19;;;:23;;;40353:26;;:30;;;40394:26;;;;:30;;;-1:-1:-1;40435:26:0;;;:30;;;40486:17;;;:21;;;40518:17;;;:21;;;40550:17;;;:21;;;-1:-1:-1;40582:16:0;;:20;;;40613:15;;:19;40685:20;;40668:38;;:12;;:16;:38::i;:::-;40717:11;40731:4;;:29;;;-1:-1:-1;;;40731:29:0;;40754:4;40731:29;;;;;;40653:53;;-1:-1:-1;40717:11:0;;-1:-1:-1;;;;;40731:4:0;;;;:14;;:29;;;;;;;;;;;;;;:4;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;40731:29:0;;-1:-1:-1;40771:21:0;40731:29;40771:16;:21::i;:::-;40818:15;;-1:-1:-1;;;;;40818:15:0;40806:10;:27;40803:48;;;40848:3;40835:16;;40803:48;40885:1;40862:24;;;40905:4;;:39;;;-1:-1:-1;;;40905:39:0;;40919:10;40905:39;;;;;;;;;;;;-1:-1:-1;;;;;40905:4:0;;;;:13;;:39;;;;;;;;;;;;;;;;;:4;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;40960:34:0;;;40969:10;40960:34;;40905:39;40960:34;;;;;;;;;;;;;;;;;;39626:1376;;;;;;;;;:::o;11821:446::-;-1:-1:-1;;;;;11886:19:0;;11921:1;11886:19;;;:8;:19;;;;;;:32;;;:36;;;:65;;-1:-1:-1;11939:12:0;;-1:-1:-1;;;;;11926:25:0;;;11939:12;;11926:25;11886:65;11878:91;;;;;-1:-1:-1;;;11878:91:0;;;;;;;;;;;;-1:-1:-1;;;11878:91:0;;;;;;;;;;;;;;;12013:10;11980:21;12004:20;;;:8;:20;;;;;;12043:13;;-1:-1:-1;;;;;12043:13:0;:27;12035:55;;;;;-1:-1:-1;;;12035:55:0;;;;;;;;;;;;-1:-1:-1;;;12035:55:0;;;;;;;;;;;;;;;12101:25;;-1:-1:-1;;;;;;12101:25:0;-1:-1:-1;;;;;12101:25:0;;;;;12150:15;-1:-1:-1;12137:10:0;;;:28;;;;12196:9;;:16;;:13;:16::i;:::-;12184:9;:28;12228:31;;;12237:10;12228:31;;-1:-1:-1;;;;;12228:31:0;;;;;;;;;;;;;;;;;;;11821:446;;:::o;9134:29::-;;;;:::o;28236:311::-;28292:7;28314:19;28337:27;28358:5;28337:20;:27::i;:::-;28311:53;;;28378:20;28402:28;28424:5;28402:21;:28::i;:::-;-1:-1:-1;;;;;28511:17:0;;;;;;:10;:17;;;;;:27;;;;28448:23;;;;;28375:55;;-1:-1:-1;28448:91:0;;-1:-1:-1;28511:27:0;28448:58;;28375:55;;28448:40;;28476:11;28448:27;:40::i;:::-;:44;;:58::i;:::-;:62;;:91::i;:::-;28441:98;28236:311;-1:-1:-1;;;;28236:311:0:o;9594:27::-;;;;;;;;;;8995:30;;;;;;;;;;;;-1:-1:-1;;;;;8995:30:0;;-1:-1:-1;8995:30:0;:::o;9495:24::-;;;;:::o;9766:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9766:49:0;-1:-1:-1;9766:49:0;;;:::o;10260:75::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;9201:23::-;;;;:::o;11129:26::-;;;;;;:::o;24181:406::-;24253:14;;:28;;7909:6;24253:18;:28::i;:::-;24235:15;:46;24232:348;;;24300:14;24317:11;:9;:11::i;:::-;24300:28;;24344:22;:20;:22::i;:::-;24381;:20;:22::i;:::-;24417;:20;:22::i;:::-;24453:27;24473:6;24453:19;:27::i;:::-;24495:26;24514:6;24495:18;:26::i;:::-;-1:-1:-1;24553:15:0;24536:14;:32;24232:348;24181:406::o;12996:517::-;7751:5;13085:7;:21;;:53;;;;-1:-1:-1;13110:23:0;:7;7751:5;13110:11;:23::i;:::-;:28;13085:53;13077:76;;;;;-1:-1:-1;;;13077:76:0;;;;;;;;;;;;-1:-1:-1;;;13077:76:0;;;;;;;;;;;;;;;13164:17;13184:23;13196:10;13184:11;:23::i;:::-;13164:43;;13239:7;13226:9;:20;;13218:52;;;;;-1:-1:-1;;;13218:52:0;;;;;;;;;;;;-1:-1:-1;;;13218:52:0;;;;;;;;;;;;;;;13327:10;13316:22;;;;:10;:22;;;;;:32;;;:45;;13353:7;13316:36;:45::i;:::-;13292:10;13281:22;;;;:10;:22;;;;;;:32;;:80;;;;-1:-1:-1;;;;;13402:21:0;;;;;:27;;;:40;;13434:7;13402:31;:40::i;:::-;-1:-1:-1;;;;;13372:21:0;;;;;;:10;:21;;;;;;;;;:27;;:70;;;;13458:47;;13474:10;13458:47;;;;;;;;;;;;;;;;;;;;;;;;;12996:517;;;:::o;8946:39::-;;;;;;;;;;;;;;;:::o;10343:66::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10343:66:0;;-1:-1:-1;10343:66:0;;-1:-1:-1;;10343:66:0:o;9377:47::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9377:47:0;;-1:-1:-1;9377:47:0;;-1:-1:-1;9377:47:0:o;19571:638::-;19630:7;19639;19648;19667:17;19695:15;19721:17;19753:9;19749:360;-1:-1:-1;;;;;19772:16:0;;;;;;:9;:16;;;;;;;;:19;;;;;;;;:26;19768:30;;19749:360;;;-1:-1:-1;;;;;19906:16:0;;19819:21;19906:16;;;:9;:16;;;;19897:8;19906:16;;;:19;;;;;;;;;:22;;19843:100;;19897:8;19819:21;;19926:1;;19906:22;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19906:22:0;;;19897:32;;;;;;;;;;;;;;;:45;;;19852:16;;;;;:9;:16;;;;;:19;;;;;;;;:22;;19872:1;;19852:22;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;19852:22:0;19843:32;;;;;;;;;;;;:49;;;;:53;:100::i;:::-;19819:124;-1:-1:-1;19970:28:0;:9;19819:124;19970:13;:28::i;:::-;19958:40;;20032:7;20016:13;:23;20013:85;;;20069:13;20059:23;;20013:85;-1:-1:-1;19800:3:0;;19749:360;;;-1:-1:-1;20131:22:0;:9;20145:7;20131:13;:22::i;:::-;20171:7;;;;-1:-1:-1;20191:9:0;;-1:-1:-1;19571:638:0;-1:-1:-1;;;19571:638:0:o;9103:24::-;;;;:::o;9262:47::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9262:47:0;;-1:-1:-1;9262:47:0;;-1:-1:-1;9262:47:0:o;9032:27::-;;;-1:-1:-1;;;;;9032:27:0;;:::o;9316:54::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;24853:147::-;-1:-1:-1;;;;;24961:16:0;;24934:7;24961:16;;;:9;:16;;;;;;;;:24;;;;;;;;:31;24853:147;;;;;:::o;12276:199::-;12330:4;;;:53;;;-1:-1:-1;;;12330:53:0;;12348:10;12330:53;;;;12368:4;12330:53;;;;;;;;;;;;-1:-1:-1;;;;;12330:4:0;;;;:17;;:53;;;;;;;;;;;;;;;;;:4;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12394:29:0;;-1:-1:-1;12403:10:0;12415:7;12394:8;:29::i;:::-;12439:28;;;12447:10;12439:28;;;;;;;;;;;;;;;;;;;;;12276:199;:::o;32857:125::-;32927:12;;-1:-1:-1;;;;;32927:12:0;32915:10;:24;32912:59;;;32950:15;:21;;-1:-1:-1;;;;;;32950:21:0;-1:-1:-1;;;;;32950:21:0;;;;;32912:59;32857:125;:::o;12481:512::-;7751:5;12550:7;:21;;:53;;;;-1:-1:-1;12575:23:0;:7;7751:5;12575:11;:23::i;:::-;:28;12550:53;12542:76;;;;;-1:-1:-1;;;12542:76:0;;;;;;;;;;;;-1:-1:-1;;;12542:76:0;;;;;;;;;;;;;;;12646:10;12637:20;;;;:8;:20;;;;;;:33;;;:38;12629:58;;;;;-1:-1:-1;;;12629:58:0;;;;;;;;;;;;-1:-1:-1;;;12629:58:0;;;;;;;;;;;;;;;12698:17;12718:23;12730:10;12718:11;:23::i;:::-;12698:43;;12773:7;12760:9;:20;;12752:51;;;;;-1:-1:-1;;;12752:51:0;;;;;;;;;;;;-1:-1:-1;;;12752:51:0;;;;;;;;;;;;;;;12860:10;12849:22;;;;:10;:22;;;;;:32;;;:45;;12886:7;12849:36;:45::i;:::-;12825:10;12814:22;;;;:10;:22;;;;;:32;;:80;;;;12905:29;;12926:7;12905:8;:29::i;:::-;12950:35;;;12965:10;12950:35;;;;;;;;;;;;;;;;;;;;;12481:512;;:::o;11005:46::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;25008:120::-;-1:-1:-1;;;;;25096:17:0;25069:7;25096:17;;;:10;:17;;;;;:24;;25008:120::o;9170:24::-;;;;:::o;32349:502::-;-1:-1:-1;;;;;32474:17:0;;32408:7;32474:17;;;:10;:17;;;;;:24;32408:7;;32458:357;32500:5;;32458:357;;-1:-1:-1;;;;;32552:17:0;;32526:23;32552:17;;;:10;:17;;;;;:24;;-1:-1:-1;;32570:5:0;;;32552:24;;;;;;;;;;;;;;;;32526:50;;32611:15;32594:5;:14;;;:32;32591:213;;;32649:12;;:26;-1:-1:-1;32646:99:0;;;32713:12;;;-1:-1:-1;32646:99:0;32591:213;;;32783:5;;;32591:213;-1:-1:-1;;;32507:3:0;32458:357;;;-1:-1:-1;32832:11:0;32349:502;-1:-1:-1;;32349:502:0:o;9824:27::-;;;;;;;;;;9066:30;;;-1:-1:-1;;;;;9066:30:0;;:::o;24723:122::-;24785:7;24812:18;;;:12;:18;;;;;:25;;24723:122::o;790:136::-;848:7;875:43;879:1;882;875:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;868:50;790:136;-1:-1:-1;;;790:136:0:o;2627:132::-;2685:7;2712:39;2716:1;2719;2712:39;;;;;;;;;;;;;;;;;:3;:39::i;28553:392::-;-1:-1:-1;;;;;28681:17:0;;28619:7;28681:17;;;:10;:17;;;;;28732:19;;;;28619:7;;28681:17;28619:7;28781:55;7651:5;28781:38;28732:19;7863:4;28781:16;:38::i;:55::-;28762:74;-1:-1:-1;28847:20:0;28870:26;:12;28762:74;28870:16;:26::i;:::-;28847:49;-1:-1:-1;28928:8:0;;-1:-1:-1;;;;28553:392:0;;;:::o;28953:689::-;-1:-1:-1;;;;;29088:23:0;;29020:7;29088:23;;;:16;:23;;;;;;;;29155:10;:17;;;;;29294:26;;;;29262;;;;29230;;;;29206:19;;;;29020:7;;29088:23;29155:17;29020:7;;29206:115;;29294:26;;29206:83;;;;:19;:23;:51::i;:115::-;29183:138;;29347:101;29364:83;29431:11;:15;;;29364:62;29409:11;:16;;;29364:40;29386:11;:17;;;29364:11;:17;;;:21;;:40;;;;:::i;:83::-;29347:12;;:16;:101::i;:::-;29332:116;-1:-1:-1;29459:16:0;29478:55;7651:5;29478:38;29332:116;7863:4;29478:16;:38::i;:55::-;29459:74;-1:-1:-1;29544:20:0;29567:26;:12;29459:74;29567:16;:26::i;:::-;29544:49;-1:-1:-1;29625:8:0;;-1:-1:-1;;;;;28953:689:0;;;:::o;326:181::-;384:7;416:5;;;440:6;;;;432:46;;;;;-1:-1:-1;;;432:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;33241:533;33316:14;33300:467;33332:5;;33300:467;;33361:9;:25;33371:7;33383:1;33379;:5;33371:14;;;;;;;;;33361:25;;;;;;;;;;;-1:-1:-1;33361:25:0;;;;33358:398;;;33406:15;33424:55;7651:5;33424:38;33443:11;33459:1;33455;:5;33443:18;;;;;;;;;33424:7;33436:1;33432;:5;33424:14;;;;;;;;;;:18;:38::i;:55::-;33406:73;;33508:27;33527:7;33508;33520:1;33516;:5;33508:14;;;;;;;;;;:18;:27::i;:::-;33501:4;:34;33498:219;;;33559:14;:21;;-1:-1:-1;;33559:21:0;33576:4;33559:21;;;33498:219;;;33608:14;;;;:43;;;;;33634:10;33649:1;33645;:5;33634:17;;;;;;;;;33626:4;:25;;33608:43;33605:112;;;33675:14;:22;;-1:-1:-1;;33675:22:0;;;33605:112;33735:5;;;33358:398;-1:-1:-1;;33339:3:0;33300:467;;;;33241:533;:::o;25247:991::-;25298:20;;25329:179;25352:10;:17;25348:21;;25329:179;;;25393:8;:23;25402:10;25413:1;25402:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25402:13:0;25393:23;;;;;;;;;;;;:29;;;25426:1;25393:34;25390:107;;;25462:19;:12;25479:1;25462:16;:19::i;:::-;25447:34;;25390:107;25371:3;;25329:179;;;-1:-1:-1;25521:16:0;;25518:713;;25570:9;;25553:14;;25570:27;;25584:12;25570:13;:27::i;:::-;25553:44;-1:-1:-1;25612:19:0;;25646:408;25669:10;:17;25665:21;;25646:408;;;25714:8;:23;25723:10;25734:1;25723:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25723:13:0;25714:23;;;;;;;;;;;;:29;;;25747:1;25714:34;25711:328;;;25806:43;25842:6;25806:10;:25;25817:10;25828:1;25817:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25817:13:0;25806:25;;;;;;;;;;;;:31;;;;:35;:43::i;:::-;25772:10;:25;25783:10;25794:1;25783:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25783:13:0;-1:-1:-1;;;;;25772:25:0;-1:-1:-1;;;;;25772:25:0;;;;;;;;;;;;:31;;:77;;;;25911:48;25952:6;25911:8;:23;25920:10;25931:1;25920:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25920:13:0;25911:23;;;;;;;;;;;;:36;;;;:40;:48::i;:::-;25872:8;:23;25881:10;25892:1;25881:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25881:13:0;25872:23;;;;;;;;;;;;:36;;:87;25996:23;:11;26012:6;25996:15;:23::i;:::-;25982:37;;25711:328;25688:3;;25646:408;;;;26083:11;26071:9;;:23;26068:152;;;26126:9;;:26;;26140:11;26126:13;:26::i;:::-;26114:9;:38;26068:152;;;26203:1;26191:9;:13;26068:152;25518:713;;25247:991;:::o;26241:::-;26292:20;;26323:179;26346:10;:17;26342:21;;26323:179;;;26387:8;:23;26396:10;26407:1;26396:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26396:13:0;26387:23;;;;;;;;;;;;:29;;;26420:1;26387:34;26384:107;;;26456:19;:12;26473:1;26456:16;:19::i;:::-;26441:34;;26384:107;26365:3;;26323:179;;;-1:-1:-1;26515:16:0;;26512:713;;26564:9;;26547:14;;26564:27;;26578:12;26564:13;:27::i;:::-;26547:44;-1:-1:-1;26606:19:0;;26640:408;26663:10;:17;26659:21;;26640:408;;;26708:8;:23;26717:10;26728:1;26717:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26717:13:0;26708:23;;;;;;;;;;;;:29;;;26741:1;26708:34;26705:328;;;26800:43;26836:6;26800:10;:25;26811:10;26822:1;26811:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26811:13:0;26800:25;;;;;;;;;;;;:31;;;;:35;:43::i;:::-;26766:10;:25;26777:10;26788:1;26777:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26777:13:0;-1:-1:-1;;;;;26766:25:0;-1:-1:-1;;;;;26766:25:0;;;;;;;;;;;;:31;;:77;;;;26905:48;26946:6;26905:8;:23;26914:10;26925:1;26914:13;;;;;;;26905:48;26866:8;:23;26875:10;26886:1;26875:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;26875:13:0;26866:23;;;;;;;;;;;;:36;;:87;26990:23;:11;27006:6;26990:15;:23::i;:::-;26976:37;;26705:328;26682:3;;26640:408;;;;27077:11;27065:9;;:23;27062:152;;;27120:9;;:26;;27134:11;27120:13;:26::i;:::-;27108:9;:38;27062:152;;;27197:1;27185:9;:13;26512:713;;26241:991;:::o;27238:986::-;27289:19;;27319:177;27342:10;:17;27338:21;;27319:177;;;27383:8;:23;27392:10;27403:1;27392:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27392:13:0;27383:23;;;;;;;;;;;;:29;;;27416:1;27383:34;27380:105;;;27451:18;:11;27467:1;27451:15;:18::i;:::-;27437:32;;27380:105;27361:3;;27319:177;;;-1:-1:-1;27509:15:0;;27506:711;;27557:9;;27540:14;;27557:26;;27571:11;27557:13;:26::i;:::-;27540:43;-1:-1:-1;27598:19:0;;27632:408;27655:10;:17;27651:21;;27632:408;;;27700:8;:23;27709:10;27720:1;27709:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27709:13:0;27700:23;;;;;;;;;;;;:29;;;27733:1;27700:34;27697:328;;;27792:43;27828:6;27792:10;:25;27803:10;27814:1;27803:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27803:13:0;27792:25;;;;;;;;;;;;:31;;;;:35;:43::i;:::-;27758:10;:25;27769:10;27780:1;27769:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27769:13:0;-1:-1:-1;;;;;27758:25:0;-1:-1:-1;;;;;27758:25:0;;;;;;;;;;;;:31;;:77;;;;27897:48;27938:6;27897:8;:23;27906:10;27917:1;27906:13;;;;;;;27897:48;27858:8;:23;27867:10;27878:1;27867:13;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27867:13:0;27858:23;;;;;;;;;;;;:36;;:87;27982:23;:11;27998:6;27982:15;:23::i;:::-;27968:37;;27697:328;27674:3;;27632:408;;;;28069:11;28057:9;;:23;28054:152;;;28112:9;;:26;;28126:11;28112:13;:26::i;:::-;28100:9;:38;28054:152;;;28189:1;28177:9;:13;27506:711;;27238:986;:::o;34490:1340::-;-1:-1:-1;;34594:11:0;;34555:23;34581:25;;;:12;:25;;;;;:32;34627:19;;34624:1199;;34683:2;34703:20;;;34700:87;;;-1:-1:-1;34756:15:0;34700:87;34801:20;;34886:15;34870:181;34907:31;:15;34927:10;34907:19;:31::i;:::-;34903:1;:35;34870:181;;;-1:-1:-1;;35015:11:0;;;34995:32;;;;:19;:32;;;;;:39;;34978:57;;35028:5;;;34995:39;;;;;;;;;;;;;;34978:12;:16;;:57;;;;:::i;:::-;34963:72;-1:-1:-1;;;34940:3:0;34870:181;;;-1:-1:-1;35083:15:0;35067:583;35104:31;:15;35124:10;35104:19;:31::i;:::-;35100:1;:35;35067:583;;;35160:16;35179:12;:25;35202:1;35192:7;:11;35179:25;;;;;;;;;;;35209:1;35205;:5;35179:32;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;35179:32:0;;-1:-1:-1;35233:22:0;;35230:405;;35279:14;35296:71;35354:12;35296:53;35309:19;:32;35339:1;35329:7;:11;35309:32;;;;;;;;;;;35346:1;35342;:5;35309:39;;;;;;;;;;;;;;;;35296:8;;:12;;:53;;;;:::i;:71::-;35279:88;-1:-1:-1;35404:23:0;:11;35279:88;35404:15;:23::i;:::-;-1:-1:-1;;;;;35478:20:0;;;;;;:10;:20;;;;;:25;;;35390:37;;-1:-1:-1;35478:37:0;;35508:6;35478:29;:37::i;:::-;-1:-1:-1;;;;;35450:20:0;;;;;;:10;:20;;;;;;;;:25;;:65;;;;35572:18;;;;:31;;;:43;;35608:6;35572:35;:43::i;:::-;-1:-1:-1;;;;;35538:18:0;;;;;;:8;:18;;;;;;:31;;:77;-1:-1:-1;35230:405:0;-1:-1:-1;;;35137:3:0;35067:583;;;;35678:11;35667:8;;:22;35664:148;;;35720:8;;:25;;35733:11;35720:12;:25::i;:::-;35709:8;:36;35664:148;;;35795:1;35784:8;:12;35664:148;34624:1199;;;34490:1340;;:::o;35833:932::-;35897:22;;:::i;:::-;-1:-1:-1;35897:43:0;;;;;;;;35923:4;35897:43;;35929:4;35897:43;;;;35935:4;35897:43;;;;;;;35951:26;;:::i;:::-;-1:-1:-1;35951:54:0;;;;;;;;35981:7;35951:54;;35990:7;35951:54;;;;35998:6;35951:54;;;;;;;-1:-1:-1;;36046:574:0;36069:1;36065;:5;36046:574;;;-1:-1:-1;;36122:11:0;;36091:16;36110:24;;;:11;:24;;;;;36135:1;36110:27;;;;;;;;;-1:-1:-1;;;;;36110:27:0;;-1:-1:-1;36155:22:0;;36152:457;;36197:14;36214:38;7651:5;36214:21;36226:5;36232:1;36226:8;;;;;;;;;;;36214:7;;;:21;;:11;:21::i;:38::-;36197:55;;36283:9;36293:1;36283:12;;;;;;;;;;;36274:21;;:6;:21;36271:89;;;36328:9;36338:1;36328:12;;;;;;;;;;;36319:21;;;;36271:89;-1:-1:-1;;;;;36405:20:0;;;;;;:10;:20;;;;;:24;;;:36;;36434:6;36405:28;:36::i;:::-;-1:-1:-1;;;;;36378:20:0;;;;;;:10;:20;;;;;;;;:24;;:63;;;;36494:18;;;;:31;;;:43;;36530:6;36494:35;:43::i;:::-;-1:-1:-1;;;;;36460:18:0;;;;;;:8;:18;;;;;;:31;;:77;36570:23;:11;36586:6;36570:15;:23::i;:::-;36556:37;;36152:457;;-1:-1:-1;36072:3:0;;36046:574;;;;36643:11;36633:7;;:21;36630:128;;;36680:7;;:24;;36692:11;36680;:24::i;:::-;36670:7;:34;36630:128;;;36745:1;36735:7;:11;36630:128;35833:932;;;;:::o;3998:130::-;4056:7;4083:37;4087:1;4090;4083:37;;;;;;;;;;;;;;;;;:3;:37::i;13519:2125::-;-1:-1:-1;;;;;13612:15:0;;;13588:21;13612:15;;;:8;:15;;;;;;13646:13;;13612:15;;13646:13;13638:54;;;;;-1:-1:-1;;;13638:54:0;;;;;;;;;;;;-1:-1:-1;;;13638:54:0;;;;;;;;;;;;;;;7751:5;13711:7;:21;;13703:47;;;;;-1:-1:-1;;;13703:47:0;;;;;;;;;;;;-1:-1:-1;;;13703:47:0;;;;;;;;;;;;;;;13769:23;:7;7751:5;13769:11;:23::i;:::-;:28;:53;;;;;7751:5;13801:7;:21;;13769:53;13761:73;;;;;-1:-1:-1;;;13761:73:0;;;;;;;;;;;;-1:-1:-1;;;13761:73:0;;;;;;;;;;;;;;;13853:15;;;;:20;;:50;;;13888:4;:15;;;13877:7;:26;;13853:50;13845:74;;;;;-1:-1:-1;;;13845:74:0;;;;;;;;;;;;-1:-1:-1;;;13845:74:0;;;;;;;;;;;;;;;13935:15;;;;13932:294;;13971:15;;;:25;;;14056:13;;-1:-1:-1;;;;;14056:13:0;14047:23;;;;:8;:23;;;;;;:33;;;:40;;14085:1;14047:37;:40::i;:::-;14020:13;;-1:-1:-1;;;;;14020:13:0;14011:23;;;;:8;:23;;;;;;:33;;:76;14102:26;14117:10;14102:14;:26::i;:::-;13932:294;;;14166:7;14148:4;:15;;;:25;14145:81;;;14189:15;;;:25;;;14145:81;14243:17;;;;14240:245;;14281:14;14298:11;:9;:11::i;:::-;14324:20;;;;:12;:20;;;;;;;;:32;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14324:32:0;-1:-1:-1;;;;;14324:32:0;;;;;;;;;;14371:27;;;:19;:27;;;;;:41;;;;;;;;;;;;;;;;;14442:13;;14324:20;;-1:-1:-1;14427:46:0;;14442:13;14371:41;14324:20;14427:14;:46::i;:::-;14240:245;;14495:27;14514:7;14495:18;:27::i;:::-;14533:10;:22;;;;;;;-1:-1:-1;14533:22:0;;;;;;;;-1:-1:-1;;;;;;14533:22:0;-1:-1:-1;;;;;14533:22:0;;;;;14594:17;;;;:30;;14616:7;14594:21;:30::i;:::-;14574:17;;;:50;14655:17;;;;:30;;14677:7;14655:21;:30::i;:::-;14635:17;;;:50;14696:24;14709:10;14696:12;:24::i;:::-;-1:-1:-1;;;;;14752:17:0;;14731;14752;;;:10;:17;;;;;:24;14751:47;;7909:6;;14752:31;;14781:1;14752:28;:31::i;:::-;14751:37;;:47::i;:::-;14731:67;;8064:7;14812:9;:24;14809:79;;;-1:-1:-1;8064:7:0;14809:79;14898:20;14921:47;14958:9;14921:32;:15;7963:7;14921:19;:32::i;:47::-;-1:-1:-1;;;;;14979:17:0;;;;;;:10;:17;;;;;;;;15002:121;;;;;;;;;;15049:15;15002:121;;;;;;;;;;;;;;;;;;14979:145;;15002:121;14979:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14979:145:0;;;;;;;;;;15002:121;-1:-1:-1;15137:49:0;15166:10;15002:121;15137:28;:49::i;:::-;15197:23;:21;:23::i;:::-;15291:13;;-1:-1:-1;;;;;15291:13:0;15282:23;;;;:8;:23;;;;;;:40;;;:53;;15327:7;15282:44;:53::i;:::-;15248:13;;-1:-1:-1;;;;;15248:13:0;15239:23;;;;:8;:23;;;;;;:40;;:96;15346:37;15363:10;15375:7;15346:16;:37::i;:::-;15394:34;15408:10;15420:7;15394:13;:34::i;:::-;15439:38;15457:10;15469:7;15439:17;:38::i;:::-;15490:11;15504:4;;:29;;;-1:-1:-1;;;15504:29:0;;15527:4;15504:29;;;;;;-1:-1:-1;;;;;15504:4:0;;;;:14;;:29;;;;;;;;;;;;;;;:4;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15504:29:0;;-1:-1:-1;15544:16:0;15504:29;15544:11;:16::i;:::-;15574:14;;;;15571:66;;;15604:21;15621:3;15604:16;:21::i;:::-;13519:2125;;;;;;:::o;1229:192::-;1315:7;1351:12;1343:6;;;;1335:29;;;;-1:-1:-1;;;1335:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1387:5:0;;;1229:192::o;3255:278::-;3341:7;3376:12;3369:5;3361:28;;;;-1:-1:-1;;;3361:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3400:9;3416:1;3412;:5;;;;;;;3255:278;-1:-1:-1;;;;;3255:278:0:o;1680:471::-;1738:7;1983:6;1979:47;;-1:-1:-1;2013:1:0;2006:8;;1979:47;2050:5;;;2054:1;2050;:5;:1;2074:5;;;;;:10;2066:56;;;;-1:-1:-1;;;2066:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4613:166;4699:7;4735:12;4727:6;4719:29;;;;-1:-1:-1;;;4719:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4770:1;4766;:5;;;;;;;4613:166;-1:-1:-1;;;;4613:166:0:o;15651:576::-;-1:-1:-1;;;;;15733:15:0;;;15709:21;15733:15;;;:8;:15;;;;;;15776:13;;15733:15;;15776:13;;15800:420;8116:2;15819:1;:14;15800:420;;;-1:-1:-1;;;;;15857:20:0;;;15854:355;;-1:-1:-1;;;;;15924:16:0;;;;;;:8;:16;;;;;;:24;;;:31;;15953:1;15924:28;:31::i;:::-;-1:-1:-1;;;;;15897:16:0;;;;;;;:8;:16;;;;;;;:24;;:58;;;;15974:9;:17;;;;;:20;;;;;;;:32;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15974:32:0;;;;;;;;;;16025:20;15897:16;16025:12;:20::i;:::-;16077:12;;-1:-1:-1;;;;;16067:22:0;;;16077:12;;16067:22;16064:32;;;16091:5;;16064:32;-1:-1:-1;;;;;16124:16:0;;;;;;;:8;:16;;;;;;:25;;;;;15854:355;;;16188:5;;15854:355;15835:3;;15800:420;;16230:757;16361:29;;;;:20;:29;;;;;;;;-1:-1:-1;;;;;16361:36:0;;;;;;;;;;:49;;16402:7;16361:40;:49::i;:::-;16322:29;;;;:20;:29;;;;;;;;-1:-1:-1;;;;;16322:36:0;;;;;;;;;:88;;;;:29;16444:244;16467:1;16463;:5;16444:244;;;16489:15;16507:20;;;:11;:20;;;;;16528:1;16507:23;;;;;;;;;-1:-1:-1;;;;;16507:23:0;;;;-1:-1:-1;16548:16:0;;;;16545:132;;;16584:20;16596:7;16584:11;:20::i;:::-;16633:4;16623:14;;16656:5;;;16545:132;-1:-1:-1;16470:3:0;;16444:244;;;;16702:7;16698:282;;16725:16;16744:20;;;:11;:20;;;;;;;;16765:1;16744:23;;16827:20;:29;;;;;-1:-1:-1;;;;;16827:36:0;;;;;;;;;;;16744:23;;16785:39;;;;;;:78;16782:187;;;16883:20;;;;:11;:20;;;;;16904:1;16883:23;:31;;-1:-1:-1;;;;;;16883:31:0;-1:-1:-1;;;;;16883:31:0;;;;;16933:20;16883;16933:11;:20::i;20215:814::-;20279:11;20293:41;7651:5;20293:24;:7;7702:3;20293:11;:24::i;:41::-;20345:4;;20359:12;:15;20279:55;;-1:-1:-1;;;;;;20345:4:0;;;;:13;;20359:15;20376:10;20279:55;20384:1;20376:7;:10::i;:::-;20345:42;;;;;;;;;;;;;-1:-1:-1;;;;;20345:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20398:4:0;;-1:-1:-1;;;;;20398:4:0;:13;20412:12;20398:4;20412:15;;-1:-1:-1;;;;;20412:15:0;20429:10;:3;20437:1;20429:7;:10::i;:::-;20398:42;;;;;;;;;;;;;-1:-1:-1;;;;;20398:42:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20458:13:0;;-1:-1:-1;20474:47:0;7651:5;20474:30;:7;8453:2;20474:11;:30::i;:47::-;20544:9;;20458:63;;-1:-1:-1;20544:20:0;;20458:63;20544:13;:20::i;:::-;20532:9;:32;20574:13;20590:47;7651:5;20590:30;:7;8507:2;20590:11;:30::i;:47::-;20660:9;;20574:63;;-1:-1:-1;20660:20:0;;20574:63;20660:13;:20::i;:::-;20648:9;:32;20693:13;20709:47;7651:5;20709:30;:7;8561:2;20709:11;:30::i;:47::-;20779:9;;20693:63;;-1:-1:-1;20779:20:0;;20693:63;20779:13;:20::i;:::-;20767:9;:32;20813:12;20828:46;7651:5;20828:29;:7;8616:2;20828:11;:29::i;:46::-;20896:8;;20813:61;;-1:-1:-1;20896:18:0;;20813:61;20896:12;:18::i;:::-;20885:8;:29;20925:11;20939:45;7651:5;20939:28;:7;8668:2;20939:11;:28::i;:45::-;21005:7;;20925:59;;-1:-1:-1;21005:16:0;;20925:59;21005:11;:16::i;:::-;20995:7;:26;-1:-1:-1;;;;;;;20215:814:0:o;17538:523::-;-1:-1:-1;;;;;17618:15:0;;17594:21;17618:15;;;:8;:15;;;;;;;17663:19;17627:5;17663:12;:19::i;:::-;17644:38;;17707:4;:10;;;17696:8;:21;17693:361;;;17733:10;;;:21;;;17784:1;17772:13;;17769:82;;;17813:10;:22;;;;;;;-1:-1:-1;17813:22:0;;;;;;;;-1:-1:-1;;;;;;17813:22:0;-1:-1:-1;;;;;17813:22:0;;;;;17769:82;17868:8;17880:1;17868:13;17865:82;;;17909:10;:22;;;;;;;-1:-1:-1;17909:22:0;;;;;;;;-1:-1:-1;;;;;;17909:22:0;-1:-1:-1;;;;;17909:22:0;;;;;17865:82;17964:8;17976:1;17964:13;17961:82;;;18005:10;:22;;;;;;;-1:-1:-1;18005:22:0;;;;;;;;-1:-1:-1;;;;;18005:22:0;;-1:-1:-1;;;;;;18005:22:0;;;;;;17538:523;;;:::o;21815:2360::-;-1:-1:-1;;;;;21928:15:0;;21904:21;21928:15;;;:8;:15;;;;;;;21904:21;21987:1581;-1:-1:-1;;;;;22010:17:0;;;;;;:10;:17;;;;;:24;22006:28;;21987:1581;;;-1:-1:-1;;;;;22081:17:0;;22055:23;22081:17;;;:10;:17;;;;;:20;;22099:1;;22081:20;;;;;;;;;;;;;;;;22055:46;;22137:5;:14;;;22119:15;:32;:63;;;;-1:-1:-1;22156:17:0;;;;;;:26;22119:63;:90;;;;-1:-1:-1;22197:12:0;;22186:23;;;22119:90;22116:1441;;;22229:17;;;:24;;-1:-1:-1;;22229:24:0;22249:4;22229:24;;;;;;22356:12;;22336:17;;;;22249:4;;-1:-1:-1;;22333:202:0;;;22434:12;;22412:17;;;;:35;;:21;:35::i;:::-;22392:17;;;:55;22333:202;;;22514:1;22494:17;;;:21;22333:202;22571:42;22593:5;22600;:12;;;22571:21;:42::i;:::-;22632:20;22653:22;:20;:22::i;:::-;22632:43;;22694:20;22717:78;7651:5;22717:61;7909:6;22717:47;7963:7;22717:30;22734:12;22717:5;:12;;;:16;;:30;;;;:::i;:78::-;22817:14;;22694:101;;-1:-1:-1;22817:14:0;;22814:426;;;22878:4;:17;;;22858:4;:17;;;:37;22855:366;;;22923:19;22945:40;22967:4;:17;;;22945:4;:17;;;:21;;:40;;;;:::i;:::-;22923:62;;23030:11;23015:12;:26;23012:115;;;23088:11;23073:26;;23012:115;22855:366;;;;-1:-1:-1;23196:1:0;22855:366;23318:12;;-1:-1:-1;;;;;23287:17:0;;23318:12;23287:17;;;:10;:17;;;;;:26;:44;;:30;:44::i;:::-;-1:-1:-1;;;;;23258:17:0;;;;;;:10;:17;;;;;:73;;;23380:25;;;:43;;23410:12;23380:29;:43::i;:::-;-1:-1:-1;;;;;23352:17:0;;;;;;:10;:17;;;;;:25;;:71;23480:17;;;;:35;;23502:12;23480:21;:35::i;:::-;23460:17;;;:55;-1:-1:-1;23536:5:0;;-1:-1:-1;;23536:5:0;22116:1441;-1:-1:-1;22036:3:0;;21987:1581;;;;23584:17;23580:588;;-1:-1:-1;;;;;23656:23:0;;23618:35;23656:23;;;:16;:23;;;;;23697:24;;;;:28;23694:463;;23803:24;;;;23763:7;;23792:35;;23789:116;;-1:-1:-1;23861:24:0;;;;23789:116;23950:24;;;;:37;;23979:7;23950:28;:37::i;:::-;23923:24;;;:64;24034:25;;;;:38;;24064:7;24034:29;:38::i;:::-;24006:25;;;:66;24111:17;;;;:30;;24133:7;24111:21;:30::i;:::-;24091:17;;;:50;-1:-1:-1;23580:588:0;21815:2360;;;;:::o;29648:568::-;-1:-1:-1;;;;;29749:15:0;;;29725:21;29749:15;;;:8;:15;;;;;;29792:13;;29749:15;;29792:13;;29816:393;8116:2;29835:1;:14;29816:393;;;-1:-1:-1;;;;;29873:20:0;;;29870:328;;-1:-1:-1;;;;;29949:16:0;;;;;;:8;:16;;;;;;:33;;;:46;;29987:7;29949:37;:46::i;:::-;-1:-1:-1;;;;;29913:16:0;;;;;;:8;:16;;;;;;:33;;:82;30014:20;29922:6;30014:12;:20::i;:::-;30066:12;;-1:-1:-1;;;;;30056:22:0;;;30066:12;;30056:22;30053:32;;;30080:5;;30053:32;-1:-1:-1;;;;;30113:16:0;;;;;;;:8;:16;;;;;;:25;;;;;29870:328;;;30177:5;;29870:328;29851:3;;29816:393;;30222:2121;-1:-1:-1;;;;;30320:15:0;;;30296:21;30320:15;;;:8;:15;;;;;;30363:13;;30320:15;;30363:13;;30387:1949;8116:2;30406:1;:14;30387:1949;;;-1:-1:-1;;;;;30444:20:0;;;30441:1884;;30543:12;;30504:7;;-1:-1:-1;;;;;30533:22:0;;;30543:12;;30533:22;30530:234;;30579:19;30601:22;30616:6;30601:14;:22::i;:::-;30579:44;;30663:7;30649:11;:21;30646:99;;;30710:11;30698:23;;30646:99;30530:234;;-1:-1:-1;;;;;30819:24:0;;30782:34;30819:24;;;:16;:24;;;;;;;;30893:10;:18;;;;;30819:24;;30966:4;30963:1199;;31025:46;7651:5;31025:29;:9;8167:3;31025:13;:29::i;:46::-;31115:17;;;;31016:55;;-1:-1:-1;31115:29:0;;31016:55;31115:21;:29::i;:::-;31095:17;;;:49;-1:-1:-1;;;;;31223:16:0;;;;;;:8;:16;;;;;;:29;;;:41;;31257:6;31223:33;:41::i;:::-;-1:-1:-1;;;;;31191:16:0;;;;;;:8;:16;;;;;;:29;;:73;30963:1199;;;31314:1;31312;:3;:10;;;;;31321:1;31319;:3;31312:10;31309:853;;;-1:-1:-1;;;;;31349:16:0;;;;;;:8;:16;;;;;;:22;;;31374:1;-1:-1:-1;31346:235:0;;;31412:57;7651:5;31412:40;31426:18;31449:1;31445;:5;31426:25;;;;;;;;;31412:9;;:13;:40::i;:57::-;31522:23;;31403:66;;-1:-1:-1;31522:35:0;;31403:66;31522:27;:35::i;:::-;31496:61;;31346:235;31309:853;;;-1:-1:-1;;;;;31630:16:0;;;;;;:8;:16;;;;;;31655:1;31630:22;;;;:26;:35;;;;;31664:1;31660;:5;31630:35;31627:516;;;31702:57;7651:5;31702:40;31716:18;31739:1;31735;:5;31716:25;;;;;;31702:57;31812:23;;;;31693:66;;-1:-1:-1;31812:35:0;;31693:66;31812:27;:35::i;:::-;31786:23;;;:61;31627:516;;;-1:-1:-1;;;;;31901:16:0;;;;;;:8;:16;;;;;;:22;;;31926:1;-1:-1:-1;31901:36:0;;;;;31936:1;31931;:6;;31901:36;31898:245;;;31974:57;7651:5;31974:40;31988:18;32011:1;32007;:5;31988:25;;;;;;31974:57;32084:23;;;;31965:66;;-1:-1:-1;32084:35:0;;31965:66;32084:27;:35::i;:::-;32058:23;;;:61;31898:245;32193:12;;-1:-1:-1;;;;;32183:22:0;;;32193:12;;32183:22;32180:32;;;32207:5;;;;;;32180:32;-1:-1:-1;;;;;;;;32240:16:0;;;;;;;:8;:16;;;;;;:25;;;;;-1:-1:-1;30422:3:0;;30387:1949;;36771:2847;-1:-1:-1;;;;;36873:15:0;;;36849:21;36873:15;;;:8;:15;;;;;;36916:13;;36873:15;;36916:13;;36940:2671;8116:2;36959:1;:14;36940:2671;;;-1:-1:-1;;;;;36997:20:0;;;36994:2606;;37096:12;;37057:7;;-1:-1:-1;;;;;37086:22:0;;;37096:12;;37086:22;37083:234;;37132:19;37154:22;37169:6;37154:14;:22::i;:::-;37132:44;;37216:7;37202:11;:21;37199:99;;;37263:11;37251:23;;37199:99;37083:234;;-1:-1:-1;;;;;37374:24:0;;37337:34;37374:24;;;:16;:24;;;;;37422:5;;;;;:14;;;37435:1;37431;:5;37422:14;:44;;;;-1:-1:-1;;;;;;37440:16:0;;;;;;:8;:16;;;;;;:22;;;37465:1;-1:-1:-1;37422:44:0;37419:714;;;37493:23;;:27;37490:624;;37548:20;37571:57;7651:5;37571:40;37585:18;37608:1;37604;:5;37585:25;;;;;;;;;37571:9;;:13;:40::i;:57::-;37673:23;;37548:80;;-1:-1:-1;37658:38:0;;37655:139;;;-1:-1:-1;37743:23:0;;37655:139;37846:23;;:41;;37874:12;37846:27;:41::i;:::-;37820:67;;37942:24;;;;:42;;37971:12;37942:28;:42::i;:::-;37915:24;;;:69;-1:-1:-1;;;;;38043:16:0;;;;;;:8;:16;;;;;;:29;;;:47;;38077:12;38043:33;:47::i;:::-;-1:-1:-1;;;;;38011:16:0;;;;;;:8;:16;;;;;;:29;;:79;-1:-1:-1;37490:624:0;38161:1;38156;:6;;:15;;;;;38170:1;38166;:5;38156:15;:44;;;;-1:-1:-1;;;;;;38175:16:0;;;;;;:8;:16;;;;;;38199:1;38175:22;;;;:25;38156:44;38153:714;;;38227:23;;;;:27;38224:624;;38282:20;38305:57;7651:5;38305:40;38319:18;38342:1;38338;:5;38319:25;;;;;;38305:57;38282:80;;38407:9;:23;;;38392:12;:38;38389:139;;;-1:-1:-1;38477:23:0;;;;38389:139;38580:23;;;;:41;;38608:12;38580:27;:41::i;:::-;38554:23;;;:67;38676:24;;;;:42;;38705:12;38676:28;:42::i;:::-;38649:24;;;:69;-1:-1:-1;;;;;38777:16:0;;;;;;:8;:16;;;;;;:29;;;:47;;38811:12;38777:33;:47::i;:::-;-1:-1:-1;;;;;38745:16:0;;;;;;:8;:16;;;;;;:29;;:79;-1:-1:-1;38224:624:0;38895:1;38890;:6;;:36;;;;-1:-1:-1;;;;;;38900:16:0;;;;;;:8;:16;;;;;;:22;;;38925:1;-1:-1:-1;38890:36:0;38887:585;;;38953:20;;;;:24;38950:503;;39005:20;39028:57;7651:5;39028:40;39042:18;39065:1;39061;:5;39042:25;;;;;;39028:57;39005:80;;39130:9;:20;;;39115:12;:35;39112:133;;;-1:-1:-1;39197:20:0;;;;39112:133;39296:20;;;;:38;;39321:12;39296:24;:38::i;:::-;39273:20;;;:61;39388:23;;;;:41;;39416:12;39388:27;:41::i;:::-;39362:23;;;:67;-1:-1:-1;38950:503:0;-1:-1:-1;;;;;;;39515:16:0;;;;;;;:8;:16;;;;;;:25;;;;;36975:3;;36940:2671;;32988:247;33058:14;33042:186;33074:5;;33042:186;;33111:7;33123:1;33119;:5;33111:14;;;;;;;;;33103:4;:22;33100:117;;33173:4;33145:9;:25;33155:7;33167:1;33163;:5;33155:14;;;;;;;;;33145:25;;;;;;;;;;;-1:-1:-1;33145:25:0;:32;;-1:-1:-1;;33145:32:0;;;;;;;;;;33196:5;;33100:117;-1:-1:-1;;33081:3:0;33042:186;;16995:537;17068:1;17052:473;17075:1;17071;:5;17052:473;;;17097:16;17116:20;;;:11;:20;;;;;-1:-1:-1;;17137:5:0;;17116:27;;;;;;;;;;17177:20;;;:11;:20;;;;;-1:-1:-1;;;;;17116:27:0;;;;-1:-1:-1;17116:27:0;-1:-1:-1;;17198:5:0;;17177:27;;;;;;;;;;17237:29;;;:20;:29;;;;;;;;-1:-1:-1;;;;;17237:39:0;;;;;;;;;;;;17177:27;;17309:39;;;;;;;;;17177:27;;-1:-1:-1;17366:17:0;;;17363:151;;;17403:20;;;;:11;:20;;;;;17433:8;;-1:-1:-1;;17424:5:0;;17403:27;;;;;;;;:38;;-1:-1:-1;;;;;;17403:38:0;-1:-1:-1;;;;;17403:38:0;;;;;;;;;;-1:-1:-1;17460:20:0;;;:11;:20;;;;;17490:8;;-1:-1:-1;;17481:5:0;;17460:27;;;;;;;;:38;;-1:-1:-1;;;;;;17460:38:0;-1:-1:-1;;;;;17460:38:0;;;;;;;;;;17363:151;-1:-1:-1;;;;17078:3:0;;;;-1:-1:-1;17052:473:0;;-1:-1:-1;17052:473:0;18067:1498;-1:-1:-1;;;;;18169:15:0;;18125:7;18169:15;;;:8;:15;;;;;;18211:17;;;;18265:14;;;;18323:21;;;;18125:7;18394:6;18385:15;;18382:1150;;18417:15;18434:17;18457:21;18472:5;18457:14;:21::i;:::-;18416:62;;;;;18519:7;18510:5;:16;;:38;;;;;18546:2;18530:14;:18;;18510:38;:73;;;;;18575:8;18552:21;:31;;18510:73;:98;;;;;18605:3;18589:4;:12;;;:19;;18510:98;:121;;;;;18623:8;18612:7;:19;;18510:121;:147;;;;;18649:8;18636:9;:21;;18510:147;18507:839;;;18690:1;18679:12;;18507:839;;;18724:7;18715:5;:16;;:38;;;;;18751:2;18735:14;:18;;18715:38;:72;;;;;18780:7;18757:21;:30;;18715:72;:95;;;;;18807:3;18791:4;:12;;;:19;;18715:95;:118;;;;;18825:8;18814:7;:19;;18715:118;:144;;;;;18851:8;18838:9;:21;;18715:144;18712:634;;;18892:1;18881:12;;18712:634;;;18926:6;18917:5;:15;;:36;;;;;18952:1;18937:4;:12;;;:16;;18917:36;:70;;;;;18980:7;18957:21;:30;;18917:70;:92;;;;;19007:2;18991:4;:12;;;:18;;18917:92;:114;;;;;19024:7;19013;:18;;18917:114;:139;;;;;19049:7;19036:9;:20;;18917:139;18914:432;;;19089:1;19078:12;;18914:432;;;19137:6;19128:5;:15;;:36;;;;;19163:1;19147:14;:17;;19128:36;:70;;;;;19192:6;19169:21;:29;;19128:70;19125:221;;;19242:1;19231:12;;19125:221;;;19299:1;19281:14;:19;19278:68;;19329:1;19318:12;;19278:68;18382:1150;;;;;19373:6;19365:5;:14;;:35;;;;;19399:1;19383:14;:17;;19365:35;:68;;;;;19427:6;19404:21;:29;;19365:68;19362:170;;;-1:-1:-1;19460:1:0;19362:170;;;19490:2;19481:5;:11;19478:54;;-1:-1:-1;19519:1:0;19478:54;19549:8;18067:1498;-1:-1:-1;;;;;;18067:1498:0:o;33780:707::-;-1:-1:-1;;;;;33886:15:0;;;33862:21;33886:15;;;:8;:15;;;;;;33929:13;;33886:15;;33929:13;;33953:527;8116:2;33972:1;:14;33953:527;;;-1:-1:-1;;;;;34010:20:0;;;34007:462;;-1:-1:-1;;;;;34053:16:0;;;;;;:8;:16;;;;;;:33;;;:43;-1:-1:-1;34050:256:0;;;-1:-1:-1;;;;;34156:16:0;;;;;;:8;:16;;;;;;:33;;;:46;;34194:7;34156:37;:46::i;:::-;-1:-1:-1;;;;;34120:16:0;;;;;;:8;:16;;;;;;:33;;:82;34050:256;;;-1:-1:-1;;;;;34249:16:0;;34285:1;34249:16;;;:8;:16;;;;;;:33;;:37;34050:256;34337:12;;-1:-1:-1;;;;;34327:22:0;;;34337:12;;34327:22;34324:32;;;34351:5;;34324:32;-1:-1:-1;;;;;34384:16:0;;;;;;;:8;:16;;;;;;:25;;;;;33988:3;;33953:527;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;:::o

Swarm Source

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