ETH Price: $2,629.29 (-3.18%)

Contract

0x5cD247e2591E33a6C8F636F169089B43988d8a18

Overview

ETH Balance

0 ETH

ETH Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Whitelist Batch5480032025-01-31 4:45:0412 days ago1738298704IN
0x5cD247e2...3988d8a18
0 ETH0.000006250.04525
Initialize5438692025-01-31 3:33:4512 days ago1738294425IN
0x5cD247e2...3988d8a18
0 ETH0.000004720.04525

Latest 1 internal transaction

Parent Transaction Hash Block From To
5434292025-01-31 3:26:1012 days ago1738293970  Contract Creation0 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Voter

Compiler Version
v0.8.22+commit.4fc1097e

ZkSolc Version
v1.5.7

Optimization Enabled:
Yes with Mode 3

Other Settings:
paris EvmVersion, GNU GPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at abscan.org on 2025-02-01
*/

// Sources flattened with hardhat v2.19.5 https://hardhat.org

// SPDX-License-Identifier: MIT

// File @openzeppelin/contracts/token/ERC20/[email protected]

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @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);

    /**
     * @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 `to`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address to, 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 `from` to `to` 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 from, address to, uint256 amount) external returns (bool);
}


// File @openzeppelin/contracts/utils/math/[email protected]

// Original license: SPDX_License_Identifier: MIT
// OpenZeppelin Contracts (last updated v4.9.0) (utils/math/Math.sol)

pragma solidity ^0.8.0;

/**
 * @dev Standard math utilities missing in the Solidity language.
 */
library Math {
    enum Rounding {
        Down, // Toward negative infinity
        Up, // Toward infinity
        Zero // Toward zero
    }

    /**
     * @dev Returns the largest of two numbers.
     */
    function max(uint256 a, uint256 b) internal pure returns (uint256) {
        return a > b ? a : b;
    }

    /**
     * @dev Returns the smallest of two numbers.
     */
    function min(uint256 a, uint256 b) internal pure returns (uint256) {
        return a < b ? a : b;
    }

    /**
     * @dev Returns the average of two numbers. The result is rounded towards
     * zero.
     */
    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow.
        return (a & b) + (a ^ b) / 2;
    }

    /**
     * @dev Returns the ceiling of the division of two numbers.
     *
     * This differs from standard division with `/` in that it rounds up instead
     * of rounding down.
     */
    function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b - 1) / b can overflow on addition, so we distribute.
        return a == 0 ? 0 : (a - 1) / b + 1;
    }

    /**
     * @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0
     * @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)
     * with further edits by Uniswap Labs also under MIT license.
     */
    function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {
        unchecked {
            // 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use
            // use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256
            // variables such that product = prod1 * 2^256 + prod0.
            uint256 prod0; // Least significant 256 bits of the product
            uint256 prod1; // Most significant 256 bits of the product
            assembly {
                let mm := mulmod(x, y, not(0))
                prod0 := mul(x, y)
                prod1 := sub(sub(mm, prod0), lt(mm, prod0))
            }

            // Handle non-overflow cases, 256 by 256 division.
            if (prod1 == 0) {
                // Solidity will revert if denominator == 0, unlike the div opcode on its own.
                // The surrounding unchecked block does not change this fact.
                // See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.
                return prod0 / denominator;
            }

            // Make sure the result is less than 2^256. Also prevents denominator == 0.
            require(denominator > prod1, "Math: mulDiv overflow");

            ///////////////////////////////////////////////
            // 512 by 256 division.
            ///////////////////////////////////////////////

            // Make division exact by subtracting the remainder from [prod1 prod0].
            uint256 remainder;
            assembly {
                // Compute remainder using mulmod.
                remainder := mulmod(x, y, denominator)

                // Subtract 256 bit number from 512 bit number.
                prod1 := sub(prod1, gt(remainder, prod0))
                prod0 := sub(prod0, remainder)
            }

            // Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.
            // See https://cs.stackexchange.com/q/138556/92363.

            // Does not overflow because the denominator cannot be zero at this stage in the function.
            uint256 twos = denominator & (~denominator + 1);
            assembly {
                // Divide denominator by twos.
                denominator := div(denominator, twos)

                // Divide [prod1 prod0] by twos.
                prod0 := div(prod0, twos)

                // Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.
                twos := add(div(sub(0, twos), twos), 1)
            }

            // Shift in bits from prod1 into prod0.
            prod0 |= prod1 * twos;

            // Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such
            // that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for
            // four bits. That is, denominator * inv = 1 mod 2^4.
            uint256 inverse = (3 * denominator) ^ 2;

            // Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works
            // in modular arithmetic, doubling the correct bits in each step.
            inverse *= 2 - denominator * inverse; // inverse mod 2^8
            inverse *= 2 - denominator * inverse; // inverse mod 2^16
            inverse *= 2 - denominator * inverse; // inverse mod 2^32
            inverse *= 2 - denominator * inverse; // inverse mod 2^64
            inverse *= 2 - denominator * inverse; // inverse mod 2^128
            inverse *= 2 - denominator * inverse; // inverse mod 2^256

            // Because the division is now exact we can divide by multiplying with the modular inverse of denominator.
            // This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is
            // less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1
            // is no longer required.
            result = prod0 * inverse;
            return result;
        }
    }

    /**
     * @notice Calculates x * y / denominator with full precision, following the selected rounding direction.
     */
    function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {
        uint256 result = mulDiv(x, y, denominator);
        if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {
            result += 1;
        }
        return result;
    }

    /**
     * @dev Returns the square root of a number. If the number is not a perfect square, the value is rounded down.
     *
     * Inspired by Henry S. Warren, Jr.'s "Hacker's Delight" (Chapter 11).
     */
    function sqrt(uint256 a) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        // For our first guess, we get the biggest power of 2 which is smaller than the square root of the target.
        //
        // We know that the "msb" (most significant bit) of our target number `a` is a power of 2 such that we have
        // `msb(a) <= a < 2*msb(a)`. This value can be written `msb(a)=2**k` with `k=log2(a)`.
        //
        // This can be rewritten `2**log2(a) <= a < 2**(log2(a) + 1)`
        // → `sqrt(2**k) <= sqrt(a) < sqrt(2**(k+1))`
        // → `2**(k/2) <= sqrt(a) < 2**((k+1)/2) <= 2**(k/2 + 1)`
        //
        // Consequently, `2**(log2(a) / 2)` is a good first approximation of `sqrt(a)` with at least 1 correct bit.
        uint256 result = 1 << (log2(a) >> 1);

        // At this point `result` is an estimation with one bit of precision. We know the true value is a uint128,
        // since it is the square root of a uint256. Newton's method converges quadratically (precision doubles at
        // every iteration). We thus need at most 7 iteration to turn our partial result with one bit of precision
        // into the expected uint128 result.
        unchecked {
            result = (result + a / result) >> 1;
            result = (result + a / result) >> 1;
            result = (result + a / result) >> 1;
            result = (result + a / result) >> 1;
            result = (result + a / result) >> 1;
            result = (result + a / result) >> 1;
            result = (result + a / result) >> 1;
            return min(result, a / result);
        }
    }

    /**
     * @notice Calculates sqrt(a), following the selected rounding direction.
     */
    function sqrt(uint256 a, Rounding rounding) internal pure returns (uint256) {
        unchecked {
            uint256 result = sqrt(a);
            return result + (rounding == Rounding.Up && result * result < a ? 1 : 0);
        }
    }

    /**
     * @dev Return the log in base 2, rounded down, of a positive value.
     * Returns 0 if given 0.
     */
    function log2(uint256 value) internal pure returns (uint256) {
        uint256 result = 0;
        unchecked {
            if (value >> 128 > 0) {
                value >>= 128;
                result += 128;
            }
            if (value >> 64 > 0) {
                value >>= 64;
                result += 64;
            }
            if (value >> 32 > 0) {
                value >>= 32;
                result += 32;
            }
            if (value >> 16 > 0) {
                value >>= 16;
                result += 16;
            }
            if (value >> 8 > 0) {
                value >>= 8;
                result += 8;
            }
            if (value >> 4 > 0) {
                value >>= 4;
                result += 4;
            }
            if (value >> 2 > 0) {
                value >>= 2;
                result += 2;
            }
            if (value >> 1 > 0) {
                result += 1;
            }
        }
        return result;
    }

    /**
     * @dev Return the log in base 2, following the selected rounding direction, of a positive value.
     * Returns 0 if given 0.
     */
    function log2(uint256 value, Rounding rounding) internal pure returns (uint256) {
        unchecked {
            uint256 result = log2(value);
            return result + (rounding == Rounding.Up && 1 << result < value ? 1 : 0);
        }
    }

    /**
     * @dev Return the log in base 10, rounded down, of a positive value.
     * Returns 0 if given 0.
     */
    function log10(uint256 value) internal pure returns (uint256) {
        uint256 result = 0;
        unchecked {
            if (value >= 10 ** 64) {
                value /= 10 ** 64;
                result += 64;
            }
            if (value >= 10 ** 32) {
                value /= 10 ** 32;
                result += 32;
            }
            if (value >= 10 ** 16) {
                value /= 10 ** 16;
                result += 16;
            }
            if (value >= 10 ** 8) {
                value /= 10 ** 8;
                result += 8;
            }
            if (value >= 10 ** 4) {
                value /= 10 ** 4;
                result += 4;
            }
            if (value >= 10 ** 2) {
                value /= 10 ** 2;
                result += 2;
            }
            if (value >= 10 ** 1) {
                result += 1;
            }
        }
        return result;
    }

    /**
     * @dev Return the log in base 10, following the selected rounding direction, of a positive value.
     * Returns 0 if given 0.
     */
    function log10(uint256 value, Rounding rounding) internal pure returns (uint256) {
        unchecked {
            uint256 result = log10(value);
            return result + (rounding == Rounding.Up && 10 ** result < value ? 1 : 0);
        }
    }

    /**
     * @dev Return the log in base 256, rounded down, of a positive value.
     * Returns 0 if given 0.
     *
     * Adding one to the result gives the number of pairs of hex symbols needed to represent `value` as a hex string.
     */
    function log256(uint256 value) internal pure returns (uint256) {
        uint256 result = 0;
        unchecked {
            if (value >> 128 > 0) {
                value >>= 128;
                result += 16;
            }
            if (value >> 64 > 0) {
                value >>= 64;
                result += 8;
            }
            if (value >> 32 > 0) {
                value >>= 32;
                result += 4;
            }
            if (value >> 16 > 0) {
                value >>= 16;
                result += 2;
            }
            if (value >> 8 > 0) {
                result += 1;
            }
        }
        return result;
    }

    /**
     * @dev Return the log in base 256, following the selected rounding direction, of a positive value.
     * Returns 0 if given 0.
     */
    function log256(uint256 value, Rounding rounding) internal pure returns (uint256) {
        unchecked {
            uint256 result = log256(value);
            return result + (rounding == Rounding.Up && 1 << (result << 3) < value ? 1 : 0);
        }
    }
}


// File contracts/interfaces/IBribe.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IBribe {
    function _deposit(uint amount, uint tokenId) external;
    function _withdraw(uint amount, uint tokenId) external;
    function getRewardForOwner(uint tokenId, address[] memory tokens) external;
    function notifyRewardAmount(address token, uint amount) external;
    function left(address token) external view returns (uint);
}


// File contracts/interfaces/IBribeFactory.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IBribeFactory {
    function createBribe() external returns (address);
}


// File contracts/interfaces/IGauge.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IGauge {
    function notifyRewardAmount(address token, uint amount) external;
    function getReward(address account, address[] memory tokens) external;
    function claimFees() external returns (uint claimed0, uint claimed1);
    function left(address token) external view returns (uint);
}


// File contracts/interfaces/IGaugeFactory.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IGaugeFactory {
    function createGauge(address, address, address) external returns (address);
}


// File contracts/interfaces/IMinter.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IMinter {
    function update_period() external returns (uint);
}


// File contracts/interfaces/IPair.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IPair {
    function burn(address to) external returns (uint amount0, uint amount1);
    function claimFees() external returns (uint, uint);
    function getAmountOut(uint amountIn, address tokenIn) external view returns (uint);
    function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast);
    function mint(address to) external returns (uint liquidity);
    function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external;
    function stable() external view returns (bool);
    function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external;
    function tokens() external returns (address, address);
    function transferFrom(address src, address dst, uint amount) external returns (bool);
}


// File contracts/interfaces/IPairFactory.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IPairFactory {
    function admin() external view returns (address);
    function feeManagers(address feeManager) external view returns (bool);
    function allPairsLength() external view returns (uint);
    function isPair(address pair) external view returns (bool);
    function pairCodeHash() external pure returns (bytes32);
    function getPair(address tokenA, address token, bool stable) external view returns (address);
    function createPair(address tokenA, address tokenB, bool stable) external returns (address pair);
    function getInitializable() external view returns (address, address, bool);
    function setPause(bool _state) external;
    function isPaused() external view returns (bool);
    function getFee(bool _stable) external view returns(uint256);
    function getRealFee(address _pair) external view returns(uint256);
}


// File contracts/interfaces/IVotingEscrow.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;

interface IVotingEscrow {

    struct Point {
        int128 bias;
        int128 slope; // # -dweight / dt
        uint256 ts;
        uint256 blk; // block
    }

    function user_point_epoch(uint tokenId) external view returns (uint);
    function epoch() external view returns (uint);
    function user_point_history(uint tokenId, uint loc) external view returns (Point memory);
    function point_history(uint loc) external view returns (Point memory);
    function checkpoint() external;
    function deposit_for(uint tokenId, uint value) external;
    function token() external view returns (address);
    function user_point_history__ts(uint tokenId, uint idx) external view returns (uint);
    function locked__end(uint _tokenId) external view returns (uint);
    function locked__amount(uint _tokenId) external view returns (uint);
    function approve(address spender, uint tokenId) external;
    function balanceOfNFT(uint) external view returns (uint);
    function isApprovedOrOwner(address, uint) external view returns (bool);
    function ownerOf(uint) external view returns (address);
    function transferFrom(address, address, uint) external;
    function totalSupply() external view returns (uint);
    function supply() external view returns (uint);
    function create_lock_for(uint, uint, address) external returns (uint);
    function lockVote(uint tokenId) external;
    function isVoteExpired(uint tokenId) external view returns (bool);
    function voteExpiry(uint _tokenId) external view returns (uint);
    function attach(uint tokenId) external;
    function detach(uint tokenId) external;
    function voting(uint tokenId) external;
    function abstain(uint tokenId) external;
    function voted(uint tokenId) external view returns (bool);
    function withdraw(uint tokenId) external;
    function create_lock(uint value, uint duration) external returns (uint);
    function setVoter(address voter) external;
    function balanceOf(address owner) external view returns (uint);
    function safeTransferFrom(address from, address to, uint tokenId) external;
    function burn(uint _tokenId) external;
    function setAdmin(address _admin) external;
    function setArtProxy(address _proxy) external;
}


// File contracts/Voter.sol

// Original license: SPDX_License_Identifier: MIT
pragma solidity 0.8.22;










contract Voter {

    address public immutable _ve; // the ve token that governs these contracts
    address public immutable factory; // the BaseV1Factory
    address internal immutable base;
    address public gaugeFactory;
    address public immutable bribeFactory;
    uint internal constant DURATION = 7 days; // rewards are released over 7 days
    address public minter;
    address public admin;
    address public pendingAdmin;
    uint256 public whitelistingFee;
    bool public permissionMode;

    uint public totalWeight; // total voting weight

    address[] public allGauges; // all gauges viable for incentives
    mapping(address => address) public gauges; // pair => maturity => gauge
    mapping(address => address) public poolForGauge; // gauge => pool
    mapping(address => address) public bribes; // gauge => bribe
    mapping(address => uint256) public weights; // gauge => weight
    mapping(uint => mapping(address => uint256)) public votes; // nft => gauge => votes
    mapping(uint => address[]) public gaugeVote; // nft => gauge
    mapping(uint => uint) public usedWeights;  // nft => total voting weight of user
    mapping(address => bool) public isGauge;
    mapping(address => bool) public isLive; // gauge => status (live or not)
    mapping(address => bool) public feeManagers;

    mapping(address => bool) public isWhitelisted;
    mapping(address => mapping(address => bool)) public isReward;
    mapping(address => mapping(address => bool)) public isBribe;


    mapping(address => uint) public claimable;
    uint internal index;
    mapping(address => uint) internal supplyIndex;

    event GaugeCreated(address indexed gauge, address creator, address indexed bribe, address indexed pair);
    event Voted(address indexed voter, uint tokenId, uint256 weight);
    event Abstained(uint tokenId, uint256 weight);
    event Deposit(address indexed lp, address indexed gauge, uint tokenId, uint amount);
    event Withdraw(address indexed lp, address indexed gauge, uint tokenId, uint amount);
    event NotifyReward(address indexed sender, address indexed reward, uint amount);
    event DistributeReward(address indexed sender, address indexed gauge, uint amount);
    event Attach(address indexed owner, address indexed gauge, uint tokenId);
    event Detach(address indexed owner, address indexed gauge, uint tokenId);
    event Whitelisted(address indexed whitelister, address indexed token);
    event Delisted(address indexed delister, address indexed token);
    event GaugeKilled(address indexed gauge);
    event GaugeRemoved(address indexed gauge, address indexed bribe, address indexed pair);
    event GaugeRevived(address indexed gauge);
    event GaugeNotProcessed(address indexed gauge);
    event GaugeProcessed(address indexed gauge);
    event ErrorClaimingGaugeRewards(address indexed gauge, address[] tokens);
    event ErrorClaimingBribeRewards(address indexed bribe, address[] tokens);
    event ErrorClaimingGaugeFees(address indexed gauge);
    event ErrorClaimingBribeFees(address indexed bribe, uint tokenId, address[] tokens);

    modifier onlyAdmin() {
        require(msg.sender == admin, "Voter: only admin");
        _;
    }
    
    /// @dev Only calls from the enabled fee managers are accepted.
    modifier onlyFeeManagers() 
    {
        require(feeManagers[msg.sender], 'Voter: only fee manager');
        _;
    }
    
    modifier checkPermissionMode() {
        if(permissionMode) {
            require(msg.sender == admin, "Permission Mode Is Active");
        }
        _;
    }

    constructor(address __ve, address _factory, address  _gauges, address _bribes) {
        require(
            __ve != address(0) &&
            _factory != address(0) &&
            _gauges != address(0) &&
            _bribes != address(0),
            "Voter: zero address provided in constructor"
        );
        _ve = __ve;
        factory = _factory;
        base = IVotingEscrow(__ve).token();
        gaugeFactory = _gauges;
        bribeFactory = _bribes;
        minter = msg.sender;
        admin = msg.sender;
        permissionMode = false;
        whitelistingFee = 160000e18;
        
        feeManagers[msg.sender] = true;
        feeManagers[0x0c5D52630c982aE81b78AB2954Ddc9EC2797bB9c] = true;
        feeManagers[0x726461FA6e788bd8a79986D36F1992368A3e56eA] = true;
    }

    // simple re-entrancy check
    uint internal _unlocked = 1;
    modifier lock() {
        require(_unlocked == 1);
        _unlocked = 2;
        _;
        _unlocked = 1;
    }

    function initialize(address[] memory _tokens, address _minter) external {
        require(msg.sender == minter);
        for (uint i = 0; i < _tokens.length; i++) {
            _whitelist(_tokens[i]);
        }
        
        minter = _minter;
    }

    function setAdmin(address _admin) external onlyAdmin {
        pendingAdmin = _admin;
    }

    function acceptAdmin() external {
        require(msg.sender == pendingAdmin);
        admin = pendingAdmin;
    }
    
    function enablePermissionMode() external onlyAdmin {
        require(!permissionMode, "Permission Mode Enabled");
        permissionMode = true;
    }

    function disablePermissionMode() external onlyAdmin {
        require(permissionMode, "Permission Mode Disabled");
        permissionMode = false;
    }
    
    function manageFeeManager(address feeManager, bool _value) external onlyAdmin
    {
        feeManagers[feeManager] = _value;
    }

    function setReward(address _gauge, address _token, bool _status) external onlyAdmin {
        isReward[_gauge][_token] = _status;
    }

    function setBribe(address _bribe, address _token, bool _status) external onlyAdmin {
        isBribe[_bribe][_token] = _status;
    }
    
    function setWhitelistingFee(uint256 _fee) external onlyFeeManagers {
        require(_fee > 0, 'Fee must be greater than zero');
        whitelistingFee = _fee;
    }

    function killGauge(address _gauge) external onlyAdmin {
        require(isLive[_gauge], "gauge is not live");
        distribute(_gauge);
        isLive[_gauge] = false;
        claimable[_gauge] = 0;
        emit GaugeKilled(_gauge);
    }

    function reviveGauge(address _gauge) external onlyAdmin {
        require(!isLive[_gauge], "gauge is live");
        isLive[_gauge] = true;
        emit GaugeRevived(_gauge);
    }
    
    function removeGauge(address _gauge) external onlyAdmin {
        require(!isLive[_gauge], "gauge is live");
        address pair = poolForGauge[_gauge];
        require(IPairFactory(factory).isPair(pair), "pair does not exist");
        (address tokenA, address tokenB) = IPair(pair).tokens();
        require(gauges[pair] != address(0x0), "gauge does not exist");
        address bribe = bribes[_gauge];
        gauges[pair] = address(0x0);
        poolForGauge[_gauge] = address(0x0);
        bribes[_gauge] = address(0x0);
        isReward[_gauge][tokenA] = false;
        isReward[_gauge][tokenB] = false;
        isReward[_gauge][base] = false;
        isBribe[bribe][tokenA] = false;
        isBribe[bribe][tokenB] = false;
        isGauge[_gauge] = false;
        emit GaugeRemoved(_gauge, bribe, pair);
    }

    function reset(uint _tokenId) external {
        require(IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, _tokenId));
        _reset(_tokenId);
        IVotingEscrow(_ve).abstain(_tokenId);
    }

    function _reset(uint _tokenId) internal {
        require(IVotingEscrow(_ve).isVoteExpired(_tokenId),"Vote Locked!");
        address[] storage _gaugeVote = gaugeVote[_tokenId];
        uint _gaugeVoteCnt = _gaugeVote.length;
        uint256 _totalWeight = 0;

        for (uint i = 0; i < _gaugeVoteCnt; i++) {
            address _gauge = _gaugeVote[i];
            uint256 _votes = votes[_tokenId][_gauge];
            if (_votes != 0) {
                _updateFor(_gauge);
                weights[_gauge] -= _votes;
                votes[_tokenId][_gauge] -= _votes;
                IBribe(bribes[_gauge])._withdraw(uint256(_votes), _tokenId);
                _totalWeight += _votes;
                emit Abstained(_tokenId, _votes);
            }
        }
        totalWeight -= uint256(_totalWeight);
        usedWeights[_tokenId] = 0;
        delete gaugeVote[_tokenId];
    }

    function poke(uint _tokenId) external {
        require(IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, _tokenId));
        address[] memory _gaugeVote = gaugeVote[_tokenId];
        uint _gaugeCnt = _gaugeVote.length;
        uint256[] memory _weights = new uint256[](_gaugeCnt);

        for (uint i = 0; i < _gaugeCnt; i++) {
            _weights[i] = votes[_tokenId][_gaugeVote[i]];
        }

        _vote(_tokenId, _gaugeVote, _weights);
    }

    function _vote(uint _tokenId, address[] memory _gaugeVote, uint256[] memory _weights) internal {
        _reset(_tokenId);
        // Lock vote for 1 WEEK
        IVotingEscrow(_ve).lockVote(_tokenId);
        uint _gaugeCnt = _gaugeVote.length;
        uint256 _weight = IVotingEscrow(_ve).balanceOfNFT(_tokenId);
        uint256 _totalVoteWeight = 0;
        uint256 _totalWeight = 0;
        uint256 _usedWeight = 0;

        for (uint i = 0; i < _gaugeCnt; i++) {
            _totalVoteWeight += _weights[i];
        }

        for (uint i = 0; i < _gaugeCnt; i++) {
            address _gauge = _gaugeVote[i];
            if (isGauge[_gauge]) {
                uint256 _gaugeWeight = _weights[i] * _weight / _totalVoteWeight;
                require(votes[_tokenId][_gauge] == 0);
                require(_gaugeWeight != 0);
                _updateFor(_gauge);

                gaugeVote[_tokenId].push(_gauge);

                weights[_gauge] += _gaugeWeight;
                votes[_tokenId][_gauge] += _gaugeWeight;
                IBribe(bribes[_gauge])._deposit(_gaugeWeight, _tokenId);
                _usedWeight += _gaugeWeight;
                _totalWeight += _gaugeWeight;
                emit Voted(msg.sender, _tokenId, _gaugeWeight);
            }
        }
        if (_usedWeight > 0) IVotingEscrow(_ve).voting(_tokenId);
        totalWeight += _totalWeight;
        usedWeights[_tokenId] = _usedWeight;
    }

    // @param _tokenId The id of the veNFT to vote with
    // @param _gaugeVote The list of gauges to vote for
    // @param _weights The list of weights to vote for each gauge
    // @notice the sum of weights is the total weight of the veNFT at max
    function vote(uint tokenId, address[] calldata _gaugeVote, uint256[] calldata _weights) external {
        require(IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, tokenId));
        require(_gaugeVote.length == _weights.length);
        uint _lockEnd = IVotingEscrow(_ve).locked__end(tokenId);
        require(_nextPeriod() <= _lockEnd, "lock expires soon");
        _vote(tokenId, _gaugeVote, _weights);
    }

    function whitelist(address _token) public checkPermissionMode {
        _safeTransferFrom(base, msg.sender, address(0), whitelistingFee);
        _whitelist(_token);
    }
    
    function whitelistBatch(address[] memory _tokens) external onlyAdmin {
        for (uint i = 0; i < _tokens.length; i++) {
            _whitelist(_tokens[i]);
        }
    }

    function _whitelist(address _token) internal {
        require(!isWhitelisted[_token]);
        isWhitelisted[_token] = true;
        emit Whitelisted(msg.sender, _token);
    }
    
    function delist(address _token) public onlyAdmin {
        require(isWhitelisted[_token], "!whitelisted");
        isWhitelisted[_token] = false;
        emit Delisted(msg.sender, _token);
    }

    function createGauge(address _pair) external returns (address) {
        require(gauges[_pair] == address(0x0), "exists");
        require(IPairFactory(factory).isPair(_pair), "!pair");
        (address _tokenA, address _tokenB) = IPair(_pair).tokens();
        require(isWhitelisted[_tokenA] && isWhitelisted[_tokenB], "!whitelisted");
        address _bribe = IBribeFactory(bribeFactory).createBribe();
        address _gauge = IGaugeFactory(gaugeFactory).createGauge(_pair, _bribe, _ve);
        IERC20(base).approve(_gauge, type(uint).max);
        bribes[_gauge] = _bribe;
        gauges[_pair] = _gauge;
        poolForGauge[_gauge] = _pair;
        isGauge[_gauge] = true;
        isLive[_gauge] = true;
        isReward[_gauge][_tokenA] = true;
        isReward[_gauge][_tokenB] = true;
        isReward[_gauge][base] = true;
        isBribe[_bribe][_tokenA] = true;
        isBribe[_bribe][_tokenB] = true;
        _updateFor(_gauge);
        allGauges.push(_gauge);
        emit GaugeCreated(_gauge, msg.sender, _bribe, _pair);
        return _gauge;
    }

    function attachTokenToGauge(uint tokenId, address account) external {
        require(isGauge[msg.sender]);
        if (tokenId > 0) IVotingEscrow(_ve).attach(tokenId);
        emit Attach(account, msg.sender, tokenId);
    }

    function emitDeposit(uint tokenId, address account, uint amount) external {
        require(isGauge[msg.sender]);
        emit Deposit(account, msg.sender, tokenId, amount);
    }

    function detachTokenFromGauge(uint tokenId, address account) external {
        require(isGauge[msg.sender]);
        if (tokenId > 0) IVotingEscrow(_ve).detach(tokenId);
        emit Detach(account, msg.sender, tokenId);
    }

    function emitWithdraw(uint tokenId, address account, uint amount) external {
        require(isGauge[msg.sender]);
        emit Withdraw(account, msg.sender, tokenId, amount);
    }

    function length() external view returns (uint) {
        return allGauges.length;
    }

    // @notice called by Minter contract to distribute weekly rewards
    // @param _amount the amount of tokens distributed
    function notifyRewardAmount(uint amount) external {
        _safeTransferFrom(base, msg.sender, address(this), amount); // transfer the distro in
        uint256 _ratio = amount * 1e18 / totalWeight; // 1e18 adjustment is removed during claim
        if (_ratio > 0) {
            index += _ratio;
        }
        emit NotifyReward(msg.sender, base, amount);
    }

    function updateFor(address[] memory _gauges) external {
        for (uint i = 0; i < _gauges.length; i++) {
            _updateFor(_gauges[i]);
        }
    }

    function updateForRange(uint start, uint end) public {
        for (uint i = start; i < end; i++) {
            _updateFor(allGauges[i]);
        }
    }

    function updateAll() external {
        updateForRange(0, allGauges.length);
    }

    // @notice update a gauge eligibility for rewards to the current index
    // @param _gauge the gauge to update
    function updateGauge(address _gauge) external {
        _updateFor(_gauge);
    }

    function _updateFor(address _gauge) internal {
        uint256 _supplied = weights[_gauge];
        if (_supplied > 0) {
            uint _supplyIndex = supplyIndex[_gauge];
            uint _index = index; // get global index0 for accumulated distro
            supplyIndex[_gauge] = _index; // update _gauge current position to global position
            uint _delta = _index - _supplyIndex; // see if there is any difference that need to be accrued
            if (_delta > 0) {
                uint _share = uint(_supplied) * _delta / 1e18; // add accrued difference for each supplied token
                if (isLive[_gauge]) {
                    claimable[_gauge] += _share;
                }
            }
        } else {
            supplyIndex[_gauge] = index; // new users are set to the default global state
        }
    }

    // @notice allow a gauge depositor to claim earned rewards if any
    // @param _gauges list of gauges contracts to claim rewards on
    // @param _tokens list of  tokens to claim
    function claimRewards(address[] memory _gauges, address[][] memory _tokens) external {
        for (uint i = 0; i < _gauges.length; i++) {
            try IGauge(_gauges[i]).getReward(msg.sender, _tokens[i]) {
                
            } catch {
                emit ErrorClaimingGaugeRewards(_gauges[i], _tokens[i]);
            }
        }
    }

    // @notice allow a voter to claim earned bribes if any
    // @param _bribes list of bribes contracts to claims bribes on
    // @param _tokens list of the tokens to claim
    // @param _tokenId the ID of veNFT to claim bribes for
    function claimBribes(address[] memory _bribes, address[][] memory _tokens, uint _tokenId) external {
        require(IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, _tokenId));
        for (uint i = 0; i < _bribes.length; i++) {
            try IBribe(_bribes[i]).getRewardForOwner(_tokenId, _tokens[i]) {
                
            } catch {
                emit ErrorClaimingBribeRewards(_bribes[i], _tokens[i]);
            }
        }
    }

    // @notice allow voter to claim earned fees
    // @param _fees list of bribes contracts to claim fees on
    // @param _tokens list of the tokens to claim
    // @param _tokenId the ID of veNFT to claim fees for
    function claimFees(address[] memory _fees, address[][] memory _tokens, uint _tokenId) external {
        require(IVotingEscrow(_ve).isApprovedOrOwner(msg.sender, _tokenId));
        for (uint i = 0; i < _fees.length; i++) {
            try IBribe(_fees[i]).getRewardForOwner(_tokenId, _tokens[i]) {
                
            } catch {
                emit ErrorClaimingBribeFees(_fees[i], _tokenId, _tokens[i]);
            }
        }
    }

    // @notice distribute earned fees to the bribe contract for a given gauge
    // @param _gauges the gauges to distribute fees for
    function distributeFees(address[] memory _gauges) external {
        for (uint i = 0; i < _gauges.length; i++) {
            try IGauge(_gauges[i]).claimFees() {
                
            } catch {
                emit ErrorClaimingGaugeFees(_gauges[i]);
            }
        }
    }

    // @notice distribute earned fees to the bribe contract for all gauges
    function distroFees() external {
        for (uint i = 0; i < allGauges.length; i++) {
            try IGauge(allGauges[i]).claimFees() {
                
            } catch {
                emit ErrorClaimingGaugeFees(allGauges[i]);
            }
        }
    }

    // @notice distribute fair share of rewards to a gauge
    // @param _gauge the gauge to distribute rewards to
    function distribute(address _gauge) public lock {
        IMinter(minter).update_period();
        _updateFor(_gauge);
        uint _claimable = claimable[_gauge];
        if (_claimable > IGauge(_gauge).left(base) && _claimable / DURATION > 0) {
            claimable[_gauge] = 0;
            IGauge(_gauge).notifyRewardAmount(base, _claimable);
            emit DistributeReward(msg.sender, _gauge, _claimable);
        }
    }

    function distro() external {
        distributeRange(0, allGauges.length);
    }

    function distributeRange(uint start, uint finish) public {
        for (uint x = start; x < finish; x++) {
            try this.distribute(allGauges[x]) {
                emit GaugeProcessed(allGauges[x]);
            } catch {
                emit GaugeNotProcessed(allGauges[x]);
            }
        }
    }

    function distributeGauges(address[] memory _gauges) external {
        for (uint x = 0; x < _gauges.length; x++) {
            try this.distribute(_gauges[x]) {
                emit GaugeProcessed(allGauges[x]);
            } catch {
                emit GaugeNotProcessed(allGauges[x]);
            }
        }
    }

    // @notice current active vote period
    // @return the UNIX timestamp of the beginning of the current vote period
    function _activePeriod() internal view returns (uint activePeriod) {
        activePeriod = block.timestamp / DURATION * DURATION;
    }

    // @notice next vote period
    // @return the UNIX timestamp of the beginning of the next vote period
    function _nextPeriod() internal view returns(uint nextPeriod) {
        nextPeriod = (block.timestamp + DURATION) / DURATION * DURATION;
    }

    function _safeTransferFrom(address token, address from, address to, uint256 value) internal {
        require(token.code.length > 0);
        (bool success, bytes memory data) =
        token.call(abi.encodeWithSelector(IERC20.transferFrom.selector, from, to, value));
        require(success && (data.length == 0 || abi.decode(data, (bool))));
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"__ve","type":"address"},{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_gauges","type":"address"},{"internalType":"address","name":"_bribes","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"}],"name":"Abstained","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Attach","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"delister","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"Delisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lp","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"Detach","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"DistributeReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bribe","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"ErrorClaimingBribeFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bribe","type":"address"},{"indexed":false,"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"ErrorClaimingBribeRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"}],"name":"ErrorClaimingGaugeFees","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"address[]","name":"tokens","type":"address[]"}],"name":"ErrorClaimingGaugeRewards","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"address","name":"creator","type":"address"},{"indexed":true,"internalType":"address","name":"bribe","type":"address"},{"indexed":true,"internalType":"address","name":"pair","type":"address"}],"name":"GaugeCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"}],"name":"GaugeKilled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"}],"name":"GaugeNotProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"}],"name":"GaugeProcessed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":true,"internalType":"address","name":"bribe","type":"address"},{"indexed":true,"internalType":"address","name":"pair","type":"address"}],"name":"GaugeRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"gauge","type":"address"}],"name":"GaugeRevived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"address","name":"reward","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"NotifyReward","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"voter","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"weight","type":"uint256"}],"name":"Voted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"whitelister","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"}],"name":"Whitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"lp","type":"address"},{"indexed":true,"internalType":"address","name":"gauge","type":"address"},{"indexed":false,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"Withdraw","type":"event"},{"inputs":[],"name":"_ve","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"acceptAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"admin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allGauges","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"attachTokenToGauge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"bribeFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"bribes","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_bribes","type":"address[]"},{"internalType":"address[][]","name":"_tokens","type":"address[][]"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimBribes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_fees","type":"address[]"},{"internalType":"address[][]","name":"_tokens","type":"address[][]"},{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"claimFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_gauges","type":"address[]"},{"internalType":"address[][]","name":"_tokens","type":"address[][]"}],"name":"claimRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"claimable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_pair","type":"address"}],"name":"createGauge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"delist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"name":"detachTokenFromGauge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disablePermissionMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gauge","type":"address"}],"name":"distribute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_gauges","type":"address[]"}],"name":"distributeFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_gauges","type":"address[]"}],"name":"distributeGauges","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"finish","type":"uint256"}],"name":"distributeRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distro","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"distroFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitDeposit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"emitWithdraw","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enablePermissionMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"feeManagers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"gaugeFactory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"gaugeVote","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"gauges","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_tokens","type":"address[]"},{"internalType":"address","name":"_minter","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isBribe","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isGauge","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isLive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isReward","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_gauge","type":"address"}],"name":"killGauge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"length","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"feeManager","type":"address"},{"internalType":"bool","name":"_value","type":"bool"}],"name":"manageFeeManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"minter","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"notifyRewardAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pendingAdmin","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"permissionMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"poke","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"poolForGauge","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_gauge","type":"address"}],"name":"removeGauge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_tokenId","type":"uint256"}],"name":"reset","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gauge","type":"address"}],"name":"reviveGauge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_admin","type":"address"}],"name":"setAdmin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_bribe","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setBribe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gauge","type":"address"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"setReward","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"setWhitelistingFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalWeight","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"updateAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_gauges","type":"address[]"}],"name":"updateFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"name":"updateForRange","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_gauge","type":"address"}],"name":"updateGauge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"usedWeights","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"address[]","name":"_gaugeVote","type":"address[]"},{"internalType":"uint256[]","name":"_weights","type":"uint256[]"}],"name":"vote","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"votes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"weights","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"whitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_tokens","type":"address[]"}],"name":"whitelistBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whitelistingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]

9c4d535b00000000000000000000000000000000000000000000000000000000000000000100094b7e5d4179818ea2326b0eaf3c594ce8e5cd08dfc773ff4345547a5ab200000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000080000000000000000000000000483bdbdbf60d9650845c8097e002c2241d92ab4500000000000000000000000030a0dd3d0d9e99bd0e67b323fb706788766dcff200000000000000000000000015e21a438853afa27ebb53710bfe0f3cfcb6abd60000000000000000000000008583c59b3aca38a72d84fb75fd05d520b57163f4

Deployed Bytecode

0x000400000000000200120000000000020000006004100270000008820340019700030000003103550002000000010355000008820040019d0000000100200190000000280000c13d0000008004000039000000400040043f000000040030008c000000570000413d000000000201043b000000e002200270000008920020009c000000590000a13d000008930020009c000000950000213d000008ab0020009c000000b90000213d000008b70020009c000001760000213d000008bd0020009c000003ec0000213d000008c00020009c000007100000613d000008c10020009c000000570000c13d0000000001000416000000000001004b000000570000c13d0000000001000412001200000001001d001100000000003d000080050100003900000044030000390000000004000415000000120440008a0000010e0000013d0000010004000039000000400040043f0000000002000416000000000002004b000000570000c13d0000001f0230003900000883022001970000010002200039000000400020043f0000001f0530018f000008840630019800000100026000390000003a0000613d000000000701034f000000007807043c0000000004840436000000000024004b000000360000c13d000000000005004b000000470000613d000000000161034f0000000304500210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000800030008c000000570000413d000001000200043d000008850020009c000000570000213d000001200100043d000008850010009c000000570000213d000001400300043d000c00000003001d000008850030009c000000570000213d000001600300043d000b00000003001d000008850030009c000005f50000a13d00000000010000190000220400010430000008c20020009c000000aa0000a13d000008c30020009c000001120000213d000008cf0020009c0000026e0000213d000008d50020009c000004f80000213d000008d80020009c00000af10000613d000008d90020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000c00000002001d0000002401100370000000000101043b000b00000001001d000008850010009c000000570000213d0000000001000411000000000010043f0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000000570000613d0000000c0000006b000010a40000c13d000000400200043d0000000c010000290000000000120435000008820020009c000008820200804100000040012002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000911011001c70000800d0200003900000003030000390000093004000041000001490000013d000008940020009c000000fc0000213d000008a00020009c000001cd0000213d000008a60020009c000003f50000213d000008a90020009c0000072e0000613d000008aa0020009c000000570000c13d0000000001000416000000000001004b000000570000c13d0000000001000412001000000001001d000f00200000003d000080050100003900000044030000390000000004000415000000100440008a0000010e0000013d000008da0020009c0000014b0000a13d000008db0020009c000001640000213d000008e10020009c000002bb0000213d000008e40020009c000006250000613d000008e50020009c000000570000c13d0000000001000416000000000001004b000000570000c13d000000030100003900000c0a0000013d000008ac0020009c000002440000213d000008b20020009c000004110000213d000008b50020009c0000073a0000613d000008b60020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000c01000029000000000010043f0000000801000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000400300043d0000000402300039000000000101043b000000000101041a0000088500100198000010290000c13d0000090a01000041000b00000003001d00000000001304350000000c010000290000000000120435000008fd01000041000000000010044300000000010004120000000400100443000000200100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b00000000010004140000088502200197000000040020008c000011640000c13d0000000103000031000000200030008c000000200400003900000000040340190000118e0000013d000008950020009c000002560000213d0000089b0020009c000004350000213d0000089e0020009c000007a90000613d0000089f0020009c000000570000c13d0000000001000416000000000001004b000000570000c13d0000000001000412000e00000001001d000d00600000003d0000800501000039000000440300003900000000040004150000000e0440008a0000000504400210000008fd02000041220221da0000040f00000c0b0000013d000008c40020009c000002800000213d000008ca0020009c0000056a0000213d000008cd0020009c00000afd0000613d000008ce0020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000c00000002001d0000002401100370000000000101043b000b00000001001d000008850010009c000000570000213d0000000001000411000000000010043f0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000000570000613d0000000c0000006b000010e50000c13d000000400200043d0000000c010000290000000000120435000008820020009c000008820200804100000040012002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000911011001c70000800d0200003900000003030000390000092c040000410000000b050000290000099f0000013d000008e60020009c000002b00000a13d000008e70020009c000003030000213d000008ea0020009c000006fb0000613d000008eb0020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008850020009c000000570000213d0000002401100370000000000101043b000c00000001001d000008850010009c000000570000213d000000000020043f0000001301000039000002f90000013d000008dc0020009c000002e50000213d000008df0020009c0000063c0000613d000008e00020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f000000120100003900000ae10000013d000008b80020009c000004450000213d000008bb0020009c000008080000613d000008bc0020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000501000039000000000101041a000000ff00100190000001900000613d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b000010380000c13d000008fd01000041000000000010044300000000010004120000000400100443000000400100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d0000000402000039000000000202041a000b00000002001d000000000201043b000008f5010000410000000000100443000a00000002001d00000004002004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b000000570000613d000000400200043d00000064012000390000000b0300002900000000003104350000002001200039000009160300004100000000003104350000002403200039000000000400041100000000004304350000006403000039000000000032043500000044032000390000000000030435000009170020009c0000154c0000213d000000a003200039000000400030043f000000000302043300000000020004140000000a04000029000000040040008c0000128b0000c13d000000010200003900000001040000310000129d0000013d000008a10020009c000004860000213d000008a40020009c0000082d0000613d000008a50020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000002402100370000000000202043b0000000401100370000000000301043b000900000002001d000000000023004b00000bde0000813d0000000702000039000000000102041a000000000031004b000015160000a13d000000000020043f000c00000003001d000008f90130009a000a00000001001d000000000101041a000b00000001001d000008f5010000410000000000100443000000000100041000000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b0000000c03000029000000570000613d000000400400043d000008f70100004100000000001404350000000b0100002900000885011001970000000402400039000000000012043500000000010004140000000002000410000000040020008c000002180000613d000008820040009c000008820200004100000000020440190000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000002000410000b00000004001d220221f80000040f0000000b040000290000006003100270000108820030019d0000000c03000029000300000001035500000001002001900000022c0000613d000008880040009c0000154c0000213d000000400040043f0000000702000039000000000102041a000000000031004b000015160000a13d000000000020043f0000000a01000029000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d020000390000000203000039000008fc040000410000023c0000013d0000000702000039000000000102041a000000000031004b000015160000a13d000000000020043f0000000a01000029000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d020000390000000203000039000008fb04000041220221f80000040f0000000c030000290000000100200190000000570000613d0000000103300039000000090030006c000001df0000413d00000bde0000013d000008ad0020009c000004be0000213d000008b00020009c000008c30000613d000008b10020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f0000000a0100003900000c060000013d000008960020009c000004e70000213d000008990020009c000008cf0000613d0000089a0020009c000000570000c13d0000000001000416000000000001004b000000570000c13d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b00000bf10000c13d0000000501000039000000000201041a000000ff0020019000000d240000c13d0000093d0220019700000001022001bf000000000021041b0000000001000019000022030001042e000008d00020009c0000057a0000213d000008d30020009c00000b270000613d000008d40020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f000000100100003900000ae10000013d000008c50020009c0000059c0000213d000008c80020009c00000b550000613d000008c90020009c000000570000c13d0000000001000416000000000001004b000000570000c13d000000000103001922021b1c0000040f0000092004000041000000400600043d00000000004604350000000004000411000008850440019700000004056000390000000000450435000900000001001d000800000002001d000c00000006001d0000002401600039000500000003001d0000000000310435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b00000000010004140000088502200197000000040020008c00000d2e0000c13d0000000103000031000000200030008c0000002004000039000000000403401900000d580000013d000008ec0020009c00000bfb0000613d000008ed0020009c000006200000613d000008ee0020009c000000570000c13d0000000001000416000000000001004b000000570000c13d000000000100041a00000c0b0000013d000008e20020009c0000068d0000613d000008e30020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000201043b0000092001000041000000800010043f00000000010004110000088501100197000000840010043f000a00000002001d000000a40020043f000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b00000000010004140000088502200197000000040020008c00000ee30000c13d0000000103000031000000200030008c0000002004000039000000000403401900000f080000013d000008dd0020009c000006b80000613d000008de0020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008850020009c000000570000213d0000002401100370000000000101043b000c00000001001d000008850010009c000000570000213d000000000020043f0000001401000039000000200010043f00000040020000390000000001000019220221c50000040f0000000c02000029000000000020043f000000200010043f0000000001000019000000400200003900000ae40000013d000008e80020009c0000070b0000613d000008e90020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000441034f000000000504043b000008880050009c0000154c0000213d00000005045002100000003f06400039000008f306600197000008f40060009c0000154c0000213d00000024022000390000008006600039000000400060043f000000800050043f0000000004240019000000000034004b000000570000213d000000000005004b000003300000613d0000008005000039000000000621034f000000000606043b000008850060009c000000570000213d000000200550003900000000006504350000002002200039000000000042004b000003270000413d0000002402100370000000000402043b000008880040009c000000570000213d0000002302400039000000000032004b00000000050000190000093a050080410000093a02200197000000000002004b00000000060000190000093a060040410000093a0020009c000000000605c019000000000006004b000000570000c13d0000000402400039000000000521034f000000000605043b000008880060009c0000154c0000213d00000005056002100000003f07500039000008f307700197000000400800043d0000000007780019000900000008001d000000000087004b00000000080000390000000108004039000008880070009c0000154c0000213d00000001008001900000154c0000c13d000000400070043f00000009070000290000000007670436000600000007001d00000024044000390000000005450019000000000035004b000000570000213d000000000006004b000016720000c13d000000800100043d000000000001004b00000bde0000613d00000000050000190000037a0000013d0000000002120049000008820020009c00000882020080410000006002200210000008820010009c00000882010080410000004001100210000000000112019f0000000002000414000008820020009c0000088202008041000000c002200210000000000121019f000008fa011001c70000800d0200003900000002030000390000093c04000041220221f80000040f00000001002001900000000c05000029000000570000613d0000000105500039000000800100043d000000000015004b00000bde0000813d00000009010000290000000001010433000000000051004b000015160000a13d000c00000005001d0000000501500210000000a002100039000800000002001d000000000202043300000885032001970000000601100029000700000001001d0000000001010433000a00000001001d000008f5010000410000000000100443000b00000003001d00000004003004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b0000000c05000029000000570000613d000000400600043d0000002401600039000000400200003900000000002104350000093b0100004100000000001604350000000401600039000000000200041100000000002104350000000a070000290000000002070433000000440160003900000000002104350000006401600039000000000002004b000003b10000613d000000000300001900000020077000390000000004070433000008850440019700000000014104360000000103300039000000000023004b000003aa0000413d00000000040004140000000b02000029000000040020008c000003cb0000613d0000000001610049000008820010009c00000882010080410000006001100210000008820060009c000008820300004100000000030640190000004003300210000000000131019f000008820040009c0000088204008041000000c003400210000000000131019f000b00000006001d220221f80000040f0000000b060000290000000c050000290000006003100270000108820030019d00030000000103550000000100200190000003cf0000613d000008880060009c0000154c0000213d000000400060043f000003760000013d000000800100043d000000000051004b000015160000a13d00000009010000290000000001010433000000000051004b000015160000a13d00000008010000290000000001010433000008850510019700000007010000290000000003010433000000400100043d00000020020000390000000002210436000000000403043300000000004204350000004002100039000000000004004b000003610000613d000000000600001900000020033000390000000007030433000008850770019700000000027204360000000106600039000000000046004b000003e40000413d000003610000013d000008be0020009c000008d40000613d000008bf0020009c000000570000c13d0000000001000416000000000001004b000000570000c13d000000040100003900000bed0000013d000008a70020009c000008d90000613d000008a80020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000002402100370000000000202043b000c00000002001d000008850020009c000000570000213d0000000401100370000000000101043b000000000010043f0000000c01000039000000200010043f00000040020000390000000001000019220221c50000040f0000000c02000029000000000020043f000000200010043f0000000001000019000000400200003900000bec0000013d000008b30020009c0000096b0000613d000008b40020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d0000000001000411000000000010043f0000001101000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff0010019000000fe80000c13d000000400100043d000000440210003900000907030000410000000000320435000000240210003900000017030000390000120b0000013d0000089c0020009c000009a40000613d0000089d0020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f000000110100003900000ae10000013d000008b90020009c00000a350000613d000008ba0020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b00000bf10000c13d0000000c01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000010160000c13d0000000c01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d02000039000000020300003900000914040000410000000c05000029000009a00000013d000008a20020009c00000aad0000613d000008a30020009c000000570000c13d000000640030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000002402100370000000000202043b000c00000002001d000008850020009c000000570000213d0000004402100370000000000202043b000b00000002001d0000000401100370000000000101043b000a00000001001d0000000001000411000000000010043f0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000000570000613d000000400100043d00000020021000390000000b0300002900000000003204350000000a020000290000000000210435000008820010009c000008820100804100000040011002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000900011001c70000800d02000039000000030300003900000902040000410000099e0000013d000008ae0020009c00000ad60000613d000008af0020009c000000570000c13d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000c00000002001d000008850020009c000000570000213d0000002401100370000000000201043b000000000002004b0000000001000039000000010100c039000b00000002001d000000000012004b000000570000c13d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b0000000001000039000000010100603922021be80000040f0000000c01000029000000000010043f0000001101000039000000200010043f00000040020000390000000001000019220221c50000040f000000000301041a0000093d023001970000000b0300002900000b6b0000013d000008970020009c00000aec0000613d000008980020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b0000000702000039000000000202041a000000000021004b000000570000813d22021bbf0000040f00000ac90000013d000008d60020009c00000b6f0000613d000008d70020009c000000570000c13d0000000001000416000000000001004b000000570000c13d0000000701000039000000000101041a000900000001001d000000000001004b00000bde0000613d00000000030000190000000702000039000000000102041a000000000031004b000015160000a13d000000000020043f000c00000003001d000008f90130009a000a00000001001d000000000101041a000b00000001001d000008f5010000410000000000100443000000000100041000000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b0000000c03000029000000570000613d000000400400043d000008f70100004100000000001404350000000b0100002900000885011001970000000402400039000000000012043500000000010004140000000002000410000000040020008c0000053e0000613d000008820040009c000008820200004100000000020440190000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000002000410000b00000004001d220221f80000040f0000000b040000290000006003100270000108820030019d0000000c0300002900030000000103550000000100200190000005520000613d000008880040009c0000154c0000213d000000400040043f0000000702000039000000000102041a000000000031004b000015160000a13d000000000020043f0000000a01000029000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d020000390000000203000039000008fc04000041000005620000013d0000000702000039000000000102041a000000000031004b000015160000a13d000000000020043f0000000a01000029000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d020000390000000203000039000008fb04000041220221f80000040f0000000c030000290000000100200190000000570000613d0000000103300039000000090030006c000005050000413d00000bde0000013d000008cb0020009c00000bae0000613d000008cc0020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d2202215c0000040f0000000001000019000022030001042e000008d10020009c00000bd60000613d000008d20020009c000000570000c13d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000001801000039000000000101041a000000010010008c000000570000c13d00000002010000390000001802000039000000000012041b0000000101000039000000000201041a0000091901000041000000800010043f00000000010004140000088502200197000000040020008c000010460000c13d0000000103000031000000200030008c000000200400003900000000040340190000106b0000013d000008c60020009c00000be00000613d000008c70020009c000000570000c13d000000640030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000b00000002001d0000002402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000441034f000000000404043b000a00000004001d000008880040009c000000570000213d00000024042000390000000a020000290000000502200210000800000004001d000900000002001d000c00000042001d0000000c0030006b000000570000213d0000004402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000141034f000000000101043b000700000001001d000008880010009c000000570000213d000000240120003900000007020000290000000502200210000400000001001d000600000002001d000500000012001d000000050030006b000000570000213d000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b000000400400043d00000024014000390000000b0300002900000000003104350000092001000041000000000014043500000000010004110000088501100197000300000004001d0000000403400039000000000013043500000000010004140000088502200197000200000002001d000000040020008c0000142d0000c13d0000000104000031000000200040008c0000002004008039000014580000013d00000001040000390000001803000039000000000043041b000000400b00043d000000000002004b0000060d0000613d000000000001004b0000060d0000613d0000000c0000006b0000060d0000613d0000000b0000006b0000060d0000613d000000800020043f000000a00010043f000008860100004100000000001b04350000000001000414000000040020008c00000c0f0000c13d0000000103000031000000200030008c0000002004000039000000000403401900000c3b0000013d0000006401b000390000088e0200004100000000002104350000004401b000390000088f0200004100000000002104350000002401b000390000002b020000390000000000210435000008900100004100000000001b04350000000401b00039000000200200003900000000002104350000088200b0009c000008820b0080410000004001b0021000000891011001c700002204000104300000000001000416000000000001004b000000570000c13d000000010100003900000c0a0000013d0000000001000416000000000001004b000000570000c13d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b00000bf10000c13d0000000501000039000000000201041a000000ff0020019000000d200000c13d0000089001000041000000800010043f0000002001000039000000840010043f0000001801000039000000a40010043f0000093901000041000000c40010043f000008f2010000410000220400010430000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b00000bf10000c13d0000000c01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000010160000c13d0000000c01000029000000000010043f0000000901000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000400300043d0000090a0200004100000000002304350000088502100197000b00000003001d0000000401300039000a00000002001d0000000000210435000008fd01000041000000000010044300000000010004120000000400100443000000200100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b00000000010004140000088502200197000000040020008c000013750000c13d0000000103000031000000200030008c000000200400003900000000040340190000139f0000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b000000400b00043d0000002401b000390000000c040000290000000000410435000009200100004100000000001b0435000000000100041100000885011001970000000403b00039000000000013043500000000010004140000088502200197000000040020008c000b00000002001d00000f740000c13d0000000103000031000000200030008c0000002004000039000000000403401900000fa00000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008fd01000041000000000010044300000000010004120000000400100443000000400100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b000008f5010000410000000000100443000b00000002001d00000004002004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b000000570000613d000000400200043d00000064012000390000000c03000029000000000031043500000044012000390000000003000410000000000031043500000020012000390000091603000041000000000031043500000064030000390000000000320435000000240320003900000000040004110000000000430435000009170020009c0000154c0000213d000000a003200039000000400030043f000000000302043300000000020004140000000b04000029000000040040008c000011b20000c13d00000001020000390000000104000031000011c30000013d0000000001000416000000000001004b000000570000c13d0000000301000039000000000101041a00000885021001970000000001000411000000000021004b000000570000c13d0000000202000039000000000302041a0000088903300197000000000113019f000000000012041b0000000001000019000022030001042e0000000001000416000000000001004b000000570000c13d000000070100003900000bed0000013d000000640030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000c00000002001d000008850020009c000000570000213d0000002401100370000000000101043b000b00000001001d000008850010009c000000570000213d22021b110000040f0000000202000039000000000202041a00000885022001970000000003000411000000000023004b00000000020000390000000102006039000a00000001001d000000000102001922021be80000040f0000000c01000029000000000010043f000000140100003900000b440000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f000000080100003900000c060000013d0000000001000416000000000001004b000000570000c13d0000000705000039000000000105041a000000000001004b00000bde0000613d000000800a0000390000000006000019000007490000013d000000400a00043d0000000106600039000000000105041a000000000016004b00000bde0000813d000000000050043f000008f90360009a000000000203041a000009040100004100000000001a043500000000010004140000088502200197000000040020008c000007570000c13d0000000103000031000000400030008c00000040040000390000000004034019000007860000013d000a00000003001d000c00000006001d0000088200a0009c000008820300004100000000030a40190000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000887011001c7000b0000000a001d220221f80000040f0000000b0a00002900000060031002700000088203300197000000400030008c00000040040000390000000004034019000000600640019000000000056a0019000007730000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b0000076f0000c13d0000001f07400190000007800000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000007050000390000000c06000029000007940000613d0000001f01400039000000e00110018f000000000aa1001900000000001a004b000000000100003900000001010040390000088800a0009c0000154c0000213d00000001001001900000154c0000c13d0000004000a0043f000000400030008c000007450000813d000000570000013d000000000105041a000000000061004b000015160000a13d000000000050043f0000000a01000029000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d0200003900000002030000390000090504000041220221f80000040f000000070500003900000001002001900000000c06000029000007440000c13d000000570000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000441034f000000000504043b000008880050009c0000154c0000213d00000005045002100000003f06400039000008f306600197000008f40060009c0000154c0000213d00000024022000390000008006600039000000400060043f000000800050043f0000000004240019000000000034004b000000570000213d000000000005004b000007d20000613d0000008003000039000000000521034f000000000505043b000008850050009c000000570000213d000000200330003900000000005304350000002002200039000000000042004b000007c90000413d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b000012050000c13d000000800100043d000000000001004b00000bde0000613d000c00000000001d0000000c010000290000000501100210000000a00110003900000000010104330000088501100197000b00000001001d000000000010043f0000001201000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a000000ff00200190000000570000c13d0000093d0220019700000001022001bf000000000021041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d020000390000000303000039000009010400004100000000050004110000000b06000029220221f80000040f0000000100200190000000570000613d0000000c02000029000c00010020003d000000800100043d0000000c0010006b000007dc0000413d00000bde0000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b00000bf10000c13d0000000c01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000011320000c13d000000400100043d00000044021000390000091f03000041000012080000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000441034f000000000504043b000008880050009c0000154c0000213d00000005045002100000003f06400039000008f306600197000008f40060009c0000154c0000213d00000024022000390000008006600039000000400060043f000000800050043f0000000004240019000000000034004b000000570000213d000000000005004b00000bde0000613d0000008003000039000000000521034f000000000505043b000008850050009c000000570000213d000000200330003900000000005304350000002002200039000000000042004b0000084d0000413d000000800100043d000000000001004b00000bde0000613d000c00000000001d000008610000013d000000000021041b0000000c02000029000c00010020003d000000800100043d0000000c0010006b00000bde0000813d0000000c010000290000000501100210000000a00110003900000000010104330000088501100197000b00000001001d000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000001701000039000000200010043f000000000002004b000008b40000613d000a00000002001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000001602000039000000000202041a000000000101043b000000000301041a000000000021041b000000000132004b000014910000413d0000000a030000290000085c0000613d00090000003100ad00000009023000f9000000000012004b000014910000c13d0000000b01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff001001900000085c0000613d0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000000902000029000009030220012a000000000101043b000000000301041a000000000023001a000014910000413d00000000022300190000085b0000013d0000001601000039000000000101041a000b00000001001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b020000290000085b0000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f0000000b0100003900000be90000013d0000000001000416000000000001004b000000570000c13d000000050100003900000ae50000013d0000000001000416000000000001004b000000570000c13d000000060100003900000bed0000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000441034f000000000504043b000008880050009c0000154c0000213d00000005045002100000003f06400039000008f306600197000008f40060009c0000154c0000213d00000024022000390000008006600039000000400060043f000000800050043f0000000004240019000000000034004b000000570000213d000000000005004b00000bde0000613d0000008003000039000000000521034f000000000505043b000008850050009c000000570000213d000000200330003900000000005304350000002002200039000000000042004b000008f90000413d000000800100043d000000000001004b00000bde0000613d00000000050000190000090b0000013d0000000105500039000000800100043d000000000015004b00000bde0000813d000000000051004b000015160000a13d0000000501500210000000a0031000390000000002030433000000400a00043d000009040100004100000000001a043500000000010004140000088502200197000000040020008c0000091c0000c13d0000000103000031000000400030008c000000400400003900000000040340190000094a0000013d000a00000003001d000c00000005001d0000088200a0009c000008820300004100000000030a40190000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000887011001c7000b0000000a001d220221f80000040f0000000b0a00002900000060031002700000088203300197000000400030008c00000040040000390000000004034019000000600640019000000000056a0019000009380000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b000009340000c13d0000001f07400190000009450000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000000c05000029000009580000613d0000001f01400039000000e00210018f0000000001a20019000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000400030008c000009070000813d000000570000013d000000800100043d000000000051004b000015160000a13d0000000a01000029000000000101043300000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d0200003900000002030000390000090504000041220221f80000040f0000000c050000290000000100200190000009070000c13d000000570000013d000000640030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000002402100370000000000202043b000c00000002001d000008850020009c000000570000213d0000004402100370000000000202043b000b00000002001d0000000401100370000000000101043b000a00000001001d0000000001000411000000000010043f0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000000570000613d000000400100043d00000020021000390000000b0300002900000000003204350000000a020000290000000000210435000008820010009c000008820100804100000040011002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000900011001c70000800d02000039000000030300003900000908040000410000000c050000290000000006000411220221f80000040f0000000100200190000000570000613d00000bde0000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008880020009c000000570000213d0000002305200039000000000035004b000000570000813d0000000405200039000000000551034f000000000605043b000008880060009c0000154c0000213d00000005056002100000003f07500039000008f307700197000008f40070009c0000154c0000213d00000024022000390000008007700039000000400070043f000000800060043f0000000005250019000000000035004b000000570000213d000000000006004b00000bde0000613d000000000321034f000000000303043b000008850030009c000000570000213d000000200440003900000000003404350000002002200039000000000052004b000009c30000413d000000800100043d000000000001004b00000bde0000613d0000000003000019000000000031004b000015160000a13d000c00000003001d0000000501300210000000a0011000390000000001010433000b00000001001d000008f5010000410000000000100443000000000100041000000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b0000000c03000029000000570000613d0000000b010000290000088501100197000000400400043d000008f70200004100000000002404350000000402400039000000000012043500000000010004140000000002000410000000040020008c00000a060000613d000008820040009c000008820200004100000000020440190000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000002000410000b00000004001d220221f80000040f0000000b040000290000006003100270000108820030019d0000000c030000290003000000010355000000010020019000000a1b0000613d000008880040009c0000154c0000213d000000400040043f0000000701000039000000000101041a000000000031004b000015160000a13d0000000701000039000000000010043f000008f90130009a000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d020000390000000203000039000008fc0400004100000a2c0000013d0000000701000039000000000101041a000000000031004b000015160000a13d0000000701000039000000000010043f000008f90130009a000000000101041a00000000020004140000088505100197000008820020009c0000088202008041000000c001200210000008fa011001c70000800d020000390000000203000039000008fb04000041220221f80000040f0000000c030000290000000100200190000000570000613d0000000103300039000000800100043d000000000013004b000009d00000413d00000bde0000013d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000002402100370000000000202043b0000000401100370000000000101043b000900000002001d000c00000001001d000000000021004b00000a570000413d00000bde0000013d0000001601000039000000000101041a000b00000001001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b02000029000000000021041b0000000c020000290000000102200039000c00000002001d000000090020006c00000bde0000813d0000000701000039000000000101041a0000000c02000029000000000021004b000015160000a13d000008f90120009a000000000101041a0000088501100197000b00000001001d000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000001701000039000000200010043f000000000002004b00000a430000613d000a00000002001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000001602000039000000000202041a000000000101043b000000000301041a000000000021041b000000000132004b000014910000413d0000000a0300002900000a520000613d00080000003100ad00000008023000f9000000000012004b000014910000c13d0000000b01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff0010019000000a520000613d0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000000802000029000009030220012a000000000101043b000000000301041a000000000023001a000014910000413d000000000223001900000a510000013d000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000002402100370000000000202043b000c00000002001d0000000401100370000000000101043b000000000010043f0000000d01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000000c0020006b000000570000813d0000000c0200002922021bcd0000040f0000000302200210000000000101041a000000000121022f0000088501100197000000ff0020008c0000000001002019000000400200043d0000000000120435000008820020009c00000882020080410000004001200210000008ef011001c7000022030001042e000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f0000000f01000039000000200010043f00000040020000390000000001000019220221c50000040f000000000101041a000000ff001001900000000001000039000000010100c039000000800010043f000008f001000041000022030001042e0000000001000416000000000001004b000000570000c13d000000020100003900000c0a0000013d000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f000000150100003900000be90000013d0000000001000416000000000001004b000000570000c13d000000000103001922021b1c0000040f0000092004000041000000400600043d00000000004604350000000004000411000008850440019700000004056000390000000000450435000900000001001d000800000002001d000c00000006001d0000002401600039000700000003001d0000000000310435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b00000000010004140000088502200197000000040020008c00000e090000c13d0000000103000031000000200030008c0000002004000039000000000403401900000e330000013d000000640030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000c00000002001d000008850020009c000000570000213d0000002401100370000000000101043b000b00000001001d000008850010009c000000570000213d22021b110000040f0000000202000039000000000202041a00000885022001970000000003000411000000000023004b00000000020000390000000102006039000a00000001001d000000000102001922021be80000040f0000000c01000029000000000010043f0000001301000039000000200010043f00000040020000390000000001000019220221c50000040f0000000b02000029000000000020043f000000200010043f00000000010000190000004002000039220221c50000040f000000000301041a0000093d023001970000000a0000006b000000010220c1bf000000000021041b0000000001000019000022030001042e000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b0000000001000039000000010100603922021be80000040f0000000301000039000000000201041a00000889022001970000000c03000029000000000232019f000000000021041b0000000001000019000022030001042e000000440030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000402100370000000000202043b000008880020009c000000570000213d0000002304200039000000000034004b000000570000813d0000000404200039000000000441034f000000000504043b000008880050009c0000154c0000213d00000005045002100000003f06400039000008f306600197000008f40060009c0000154c0000213d00000024022000390000008006600039000000400060043f000000800050043f0000000004240019000000000034004b000000570000213d000000000005004b00000b980000613d0000008003000039000000000521034f000000000505043b000008850050009c000000570000213d000000200330003900000000005304350000002002200039000000000042004b00000b8f0000413d0000002401100370000000000101043b000a00000001001d000008850010009c000000570000213d0000000101000039000000000101041a00000885021001970000000003000411000000000023004b000000570000c13d000000800200043d000000000002004b000013d60000c13d0000000a0200002900000885022001970000088901100197000000000121019f0000000102000039000000000012041b0000000001000019000022030001042e000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000c00000001001d000008850010009c000000570000213d0000000201000039000000000101041a00000885011001970000000002000411000000000012004b00000bf10000c13d0000000c01000029000000000010043f0000001201000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff00100190000011480000c13d000000400100043d00000044021000390000092a03000041000000000032043500000024021000390000000c030000390000120b0000013d0000000001000416000000000001004b000000570000c13d0000000701000039000000000101041a000900000001001d000000000001004b00000c950000c13d0000000001000019000022030001042e000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000000000010043f0000000e01000039000000200010043f00000040020000390000000001000019220221c50000040f000000000101041a000000800010043f000008f001000041000022030001042e0000089001000041000000800010043f0000002001000039000000840010043f0000001101000039000000a40010043f000008fe01000041000000c40010043f000008f2010000410000220400010430000000240030008c000000570000413d0000000002000416000000000002004b000000570000c13d0000000401100370000000000101043b000008850010009c000000570000213d000000000010043f0000000901000039000000200010043f00000040020000390000000001000019220221c50000040f000000000101041a0000088501100197000000800010043f000008f001000041000022030001042e0000088200b0009c000008820300004100000000030b40190000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000887011001c7000a0000000b001d220221fd0000040f0000000a0b00002900000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000c2a0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000c260000c13d000000000006004b00000c370000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000d020000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d00000000020b0433000008850020009c000000570000213d000a00000002001d000000c00020043f000000000100041a00000889011001970000000c011001af000000000010041b0000000b01000029000000e00010043f0000000103000039000000000103041a00000889011001970000000002000411000000000121019f000000000013041b0000000201000039000000000301041a0000088903300197000000000323019f000000000031041b0000000501000039000000000301041a0000093d03300197000000000031041b0000088a010000410000000403000039000000000013041b000000000020043f0000001101000039000000200010043f00000040020000390000000001000019220221c50000040f000000000201041a0000093d0220019700000001022001bf000000000021041b0000088b01000041000000000010043f00000000010000190000004002000039220221c50000040f000000000201041a0000093d0220019700000001022001bf000000000021041b0000088c01000041000000000010043f00000000010000190000004002000039220221c50000040f000000000201041a0000093d0220019700000001022001bf000000000021041b000000800100043d000001400000044300000160001004430000002001000039000000a00200043d0000018000100443000001a0002004430000004002000039000001c0002004430000000a02000029000001e000200443000000600200003900000200002004430000000b0200002900000220002004430000010000100443000000040100003900000120001004430000088d01000041000022030001042e000c00000000001d00000c9d0000013d000000000021041b0000000c020000290000000102200039000c00000002001d000000090020006c00000bde0000813d0000000701000039000000000101041a0000000c02000029000000000021004b000015160000a13d000008f90120009a000000000101041a0000088501100197000b00000001001d000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000001701000039000000200010043f000000000002004b00000cf30000613d000a00000002001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000001602000039000000000202041a000000000101043b000000000301041a000000000021041b000000000132004b000014910000413d0000000a0300002900000c980000613d00080000003100ad00000008023000f9000000000012004b000014910000c13d0000000b01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff0010019000000c980000613d0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000000802000029000009030220012a000000000101043b000000000301041a000000000023001a000014910000413d000000000223001900000c970000013d0000001601000039000000000101041a000b00000001001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b0200002900000c970000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000d090000c13d000000000005004b00000d1a0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000008820020009c00000882020080410000004002200210000000000112019f00002204000104300000093d02200197000000000021041b0000000001000019000022030001042e0000089001000041000000800010043f0000002001000039000000840010043f0000001701000039000000a40010043f000008f101000041000000c40010043f000008f20100004100002204000104300000000c03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000910011001c7220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000c0570002900000d470000613d000000000801034f0000000c09000029000000008a08043c0000000009a90436000000000059004b00000d430000c13d000000000006004b00000d540000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000ff20000613d0000001f01400039000000600210018f0000000c01200029000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d0000000c010000290000000001010433000000000001004b0000000002000039000000010200c039000000570000613d000000000021004b000000570000c13d00000009010000290000000001010433000000000001004b00000bde0000613d0000000901000029000400200010003d0000000801000029000300200010003d000000000500001900000d910000013d0000000002120049000008820020009c00000882020080410000006002200210000008820010009c00000882010080410000004001100210000000000112019f0000000002000414000008820020009c0000088202008041000000c002200210000000000121019f000008fa011001c70000800d0200003900000002030000390000092804000041220221f80000040f00000001002001900000000c05000029000000570000613d000000010550003900000009010000290000000001010433000000000015004b00000bde0000813d00000008010000290000000001010433000000000051004b000015160000a13d000c00000005001d00000005015002100000000402100029000700000002001d000000000202043300000885032001970000000301100029000600000001001d0000000001010433000b00000001001d000008f5010000410000000000100443000a00000003001d00000004003004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b0000000c05000029000000570000613d000000400700043d000000240170003900000040020000390000000000210435000009270100004100000000001704350000000401700039000000050200002900000000002104350000000b080000290000000006080433000000440170003900000000006104350000006401700039000000000006004b00000dcd0000613d00000000030000190000000a0200002900000020088000390000000004080433000008850440019700000000014104360000000103300039000000000063004b00000dc20000413d0000000004000414000000040020008c00000dd10000c13d00000de70000013d0000000a020000290000000004000414000000040020008c00000de70000613d0000000001710049000008820010009c00000882010080410000006001100210000008820070009c000008820300004100000000030740190000004003300210000000000131019f000008820040009c0000088204008041000000c003400210000000000131019f000b00000007001d220221f80000040f0000000b070000290000000c050000290000006003100270000108820030019d0003000000010355000000010020019000000deb0000613d000008880070009c0000154c0000213d000000400070043f00000d8c0000013d00000009010000290000000001010433000000000051004b000015160000a13d00000008010000290000000001010433000000000051004b000015160000a13d00000007010000290000000001010433000008850510019700000006010000290000000003010433000000400100043d00000020020000390000000002210436000000000403043300000000004204350000004002100039000000000004004b00000d770000613d000000000600001900000020033000390000000007030433000008850770019700000000027204360000000106600039000000000046004b00000e010000413d00000d770000013d0000000c03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000910011001c7220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000c0570002900000e220000613d000000000801034f0000000c09000029000000008a08043c0000000009a90436000000000059004b00000e1e0000c13d000000000006004b00000e2f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000ffe0000613d0000001f01400039000000600210018f0000000c01200029000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d0000000c010000290000000001010433000000000001004b0000000002000039000000010200c039000000570000613d000000000021004b000000570000c13d00000009010000290000000001010433000000000001004b00000bde0000613d0000000901000029000400200010003d0000000801000029000300200010003d000000000500001900000e6c0000013d0000000002130049000008820020009c00000882020080410000006002200210000008820010009c00000882010080410000004001100210000000000112019f0000000002000414000008820020009c0000088202008041000000c002200210000000000121019f000008fa011001c70000800d0200003900000002030000390000092d04000041220221f80000040f00000001002001900000000c05000029000000570000613d000000010550003900000009010000290000000001010433000000000015004b00000bde0000813d00000008010000290000000001010433000000000051004b000015160000a13d000c00000005001d00000005015002100000000402100029000600000002001d000000000202043300000885032001970000000301100029000500000001001d0000000001010433000a00000001001d000008f5010000410000000000100443000b00000003001d00000004003004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b0000000c05000029000000570000613d000000400600043d000000240160003900000040020000390000000000210435000009270100004100000000001604350000000401600039000000070200002900000000002104350000000a070000290000000002070433000000440160003900000000002104350000006401600039000000000002004b00000ea30000613d000000000300001900000020077000390000000004070433000008850440019700000000014104360000000103300039000000000023004b00000e9c0000413d00000000040004140000000b02000029000000040020008c00000ebd0000613d0000000001610049000008820010009c00000882010080410000006001100210000008820060009c000008820300004100000000030640190000004003300210000000000131019f000008820040009c0000088204008041000000c003400210000000000131019f000b00000006001d220221f80000040f0000000b060000290000000c050000290000006003100270000108820030019d0003000000010355000000010020019000000ec10000613d000008880060009c0000154c0000213d000000400060043f00000e670000013d00000009010000290000000001010433000000000051004b000015160000a13d00000008010000290000000001010433000000000051004b000015160000a13d00000006010000290000000001010433000008850510019700000005010000290000000002010433000000400100043d000000200310003900000040040000390000000000430435000000070300002900000000003104350000004003100039000000000402043300000000004304350000006003100039000000000004004b00000e520000613d000000000600001900000020022000390000000007020433000008850770019700000000037304360000000106600039000000000046004b00000edb0000413d00000e520000013d000008820010009c0000088201008041000000c00110021000000937011001c7220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf00000ef70000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b00000ef30000c13d000000000006004b00000f040000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000100a0000613d0000001f01400039000000600110018f00000080011001bf000000400010043f000000200030008c000000570000413d000000800100043d000000000001004b0000000002000039000000010200c039000000570000613d000000000021004b000000570000c13d0000000a01000029000000000010043f0000000d01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000301041a000000400200043d000900000002001d000c00000003001d0000000002320436000800000002001d000000000010043f0000000001000414000008820010009c0000088201008041000000c00110021000000911011001c70000801002000039220221fd0000040f0000000100200190000000570000613d0000000c05000029000000000005004b000000080200002900000f410000613d000000000101043b00000000030000190000000802000029000000000401041a0000088504400197000000000242043600000001011000390000000103300039000000000053004b00000f3a0000413d000000090120006a0000001f011000390000093e011001970000000902100029000000000012004b00000000010000390000000101004039000700000002001d000008880020009c0000154c0000213d00000001001001900000154c0000c13d0000000701000029000000400010043f00000009010000290000000001010433000600000001001d000008880010009c0000154c0000213d000000060100002900000005021002100000003f01200039000008f3011001970000000701100029000008880010009c0000154c0000213d000000400010043f000000070100002900000006030000290000000001310436000500000001001d0000001f0120018f000000000002004b00000f6b0000613d0000000504000029000000000224001900000000030000310000000203300367000000003503043c0000000004540436000000000024004b00000f670000c13d000000000001004b000000060000006b000014e20000c13d0000000a010000290000000902000029000000070300002922021e340000040f0000000001000019000022030001042e0000088200b0009c000008820300004100000000030b40190000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000910011001c7000a0000000b001d220221fd0000040f0000000a0b00002900000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000f8f0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000f8b0000c13d000000000006004b00000f9c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000101d0000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d00000000010b0433000000000001004b0000000002000039000000010200c039000000570000613d000000000021004b000000570000c13d0000000c0100002922021bfc0000040f000008f50100004100000000001004430000000b0100002900000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d0000000c02000029000000000101043b000000000001004b000000570000613d000000400300043d00000938010000410000000000130435000a00000003001d0000000401300039000000000021043500000000010004140000000b02000029000000040020008c00000fe10000613d0000000a02000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000b02000029220221f80000040f0000006003100270000108820030019d00030000000103550000000100200190000014a30000613d0000000a01000029000008880010009c0000154c0000213d0000000a01000029000000400010043f0000000001000019000022030001042e0000000c02000029000000000002004b000010420000c13d000000400100043d00000044021000390000090603000041000000000032043500000024021000390000001d030000390000120b0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000ff90000c13d00000d0d0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000010050000c13d00000d0d0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000010110000c13d00000d0d0000013d000000400100043d00000044021000390000093303000041000000000032043500000024021000390000000d030000390000120b0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000010240000c13d00000d0d0000013d0000089001000041000000000013043500000020010000390000000000120435000000440130003900000909020000410000000000210435000000240130003900000006020000390000000000210435000008820030009c00000882030080410000004001300210000008ff011001c700002204000104300000089001000041000000800010043f0000002001000039000000840010043f0000001901000039000000a40010043f0000091501000041000000c40010043f000008f20100004100002204000104300000000401000039000000000021041b0000000001000019000022030001042e000008820010009c0000088201008041000000c0011002100000092e011001c7220221f80000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000105a0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000010560000c13d000000000006004b000010670000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000011260000613d0000001f01400039000000600110018f00000080011001bf000000400010043f000000200030008c000000570000413d0000000c010000292202215c0000040f0000000c01000029000000000010043f0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000a00000001001d000008fd01000041000000000010044300000000010004120000000400100443000000400100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000400300043d0000091a0200004100000000002304350000088502100197000b00000003001d0000000401300039000900000002001d000000000021043500000000010004140000000c02000029000000040020008c000012aa0000c13d0000000103000031000000200030008c00000020040000390000000004034019000012d50000013d000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000008f50200004100000000002004430000088501100197000a00000001001d00000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b000000570000613d000000400200043d0000092f010000410000000000120435000900000002001d00000004012000390000000c02000029000000000021043500000000010004140000000a02000029000000040020008c000010df0000613d0000000902000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000a02000029220221f80000040f0000006003100270000108820030019d00030000000103550000000100200190000014bc0000613d0000000901000029000008880010009c0000154c0000213d0000000902000029000000400020043f000000860000013d000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000008f50200004100000000002004430000088501100197000a00000001001d00000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b000000570000613d000000400200043d0000092b010000410000000000120435000900000002001d00000004012000390000000c02000029000000000021043500000000010004140000000a02000029000000040020008c000011200000613d0000000902000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000a02000029220221f80000040f0000006003100270000108820030019d00030000000103550000000100200190000014c90000613d0000000901000029000008880010009c0000154c0000213d0000000902000029000000400020043f0000013b0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000112d0000c13d00000d0d0000013d0000001801000039000000000101041a000000010010008c000000570000c13d00000018010000390000000202000039000000000021041b0000000101000039000000000201041a000000400300043d0000091901000041000b00000003001d000000000013043500000000010004140000088502200197000000040020008c000012220000c13d0000000103000031000000200030008c000000200400003900000000040340190000124c0000013d0000000c01000029000000000010043f0000001201000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d020000390000000303000039000009290400004100000000050004110000000c06000029000009a00000013d0000000b03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008f8011001c7220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b057000290000117d0000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000011790000c13d000000000006004b0000118a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000012160000613d0000001f01400039000000600110018f0000000b02100029000000000012004b00000000010000390000000101004039000a00000002001d000008880020009c0000154c0000213d00000001001001900000154c0000c13d0000000a01000029000000400010043f000000200040008c000000570000413d0000000b010000290000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000000570000c13d000000000001004b000014b00000c13d0000000a030000290000004401300039000009130200004100000000002104350000002401300039000000050200003900000000002104350000089001000041000000000013043500000004013000390000002002000039000010320000013d000008820010009c00000882010080410000004001100210000008820030009c00000882030080410000006003300210000000000113019f000008820020009c0000088202008041000000c002200210000000000121019f0000000b02000029220221f80000040f00030000000103550000006001100270000108820010019d0000088204100197000000000004004b000011dd0000c13d000000600100003900000080030000390000000100200190000000570000613d0000000001010433000000000001004b000013430000c13d0000000c0200002900000903012000d1000000000002004b000011d30000613d0000000c021000fa000009030020009c000014910000c13d0000000602000039000000000202041a000000000002004b000014050000c13d0000093101000041000000000010043f0000001201000039000000040010043f000008f80100004100002204000104300000001f014000390000093e011001970000003f011000390000093e03100197000000400100043d0000000003310019000000000013004b00000000060000390000000106004039000008880030009c0000154c0000213d00000001006001900000154c0000c13d000000400030043f00000000034104360000093e054001980000001f0640018f00000000045300190000000307000367000011f70000613d000000000807034f0000000009030019000000008a08043c0000000009a90436000000000049004b000011f30000c13d000000000006004b000011c70000613d000000000557034f0000000306600210000000000704043300000000076701cf000000000767022f000000000505043b0000010006600089000000000565022f00000000056501cf000000000575019f0000000000540435000011c70000013d000000400100043d0000004402100039000008fe03000041000000000032043500000024021000390000001103000039000000000032043500000890020000410000000000210435000000040210003900000020030000390000000000320435000008820010009c00000882010080410000004001100210000008ff011001c700002204000104300000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000121d0000c13d00000d0d0000013d0000000b03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000887011001c7220221f80000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b057000290000123b0000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000012370000c13d000000000006004b000012480000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000013be0000613d0000001f01400039000000600210018f0000000b01200029000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d0000000c010000292202215c0000040f0000000c01000029000000000010043f0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000a00000001001d000008fd01000041000000000010044300000000010004120000000400100443000000400100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000400300043d0000091a0200004100000000002304350000088502100197000b00000003001d0000000401300039000900000002001d000000000021043500000000010004140000000c02000029000000040020008c0000159c0000c13d0000000104000031000000200040008c0000002004008039000015c70000013d000008820010009c00000882010080410000004001100210000008820030009c00000882030080410000006003300210000000000113019f000008820020009c0000088202008041000000c002200210000000000112019f0000000a02000029220221f80000040f000000010220018f00030000000103550000006001100270000108820010019d0000088204100197000000000004004b0000134f0000c13d00000060010000390000008003000039000000000002004b000000570000613d0000000001010433000000000001004b000014210000c13d0000000c01000029220221360000040f0000000001000019000022030001042e0000000b02000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000c02000029220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b05700029000012c40000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000012c00000c13d000000000006004b000012d10000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000013ca0000613d0000001f01400039000000600210018f0000000b01200029000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d0000000a010000290000091b0010009c0000133e0000413d0000000b0100002900000000010104330000000a0010006b0000133e0000a13d0000000c01000029000000000010043f0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000001041b000008f50100004100000000001004430000000c0100002900000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b000000570000613d000000400300043d00000024013000390000000a0200002900000000002104350000091c010000410000000000130435000b00000003001d00000004013000390000000902000029000000000021043500000000010004140000000c02000029000000040020008c000013260000613d0000000b02000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f00000910011001c70000000c02000029220221f80000040f0000006003100270000108820030019d000300000001035500000001002001900000175b0000613d0000000b01000029000008880010009c0000154c0000213d0000000b02000029000000400020043f0000000a010000290000000000120435000008820020009c000008820200804100000040012002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000911011001c70000800d02000039000000030300003900000000050004110000091d040000410000000c06000029220221f80000040f0000000100200190000000570000613d00000018010000390000000102000039000000000021041b0000000001000019000022030001042e000009180010009c000000570000213d000000200010008c000000570000413d0000000001030433000000000001004b0000000002000039000000010200c039000000570000613d000000000021004b000011cc0000613d000000570000013d0000003f014000390000093e03100197000000400100043d0000000003310019000000000013004b00000000060000390000000106004039000008880030009c0000154c0000213d00000001006001900000154c0000c13d000000400030043f00000000034104360000093e054001980000001f0640018f00000000045300190000000307000367000013670000613d000000000807034f0000000009030019000000008a08043c0000000009a90436000000000049004b000013630000c13d000000000006004b000012a10000613d000000000557034f0000000306600210000000000704043300000000076701cf000000000767022f000000000505043b0000010006600089000000000565022f00000000056501cf000000000575019f0000000000540435000012a10000013d0000000b03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008f8011001c7220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b057000290000138e0000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b0000138a0000c13d000000000006004b0000139b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000014970000613d0000001f01400039000000600110018f0000000b02100029000000000012004b00000000010000390000000101004039000900000002001d000008880020009c0000154c0000213d00000001001001900000154c0000c13d0000000901000029000000400010043f000000200030008c000000570000413d0000000b010000290000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000000570000c13d000000000001004b0000165a0000c13d000000090300002900000044013000390000093602000041000000000021043500000024013000390000001302000039000011ac0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000013c50000c13d00000d0d0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000013d10000c13d00000d0d0000013d0000000002000019000b00000002001d0000000501200210000000a00110003900000000010104330000088501100197000c00000001001d000000000010043f0000001201000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a000000ff00200190000000570000c13d0000093d0220019700000001022001bf000000000021041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d020000390000000303000039000009010400004100000000050004110000000c06000029220221f80000040f0000000100200190000000570000613d0000000b020000290000000102200039000000800100043d000000000012004b000013d70000413d0000000101000039000000000101041a00000ba60000013d000000000012004b0000140e0000213d00000000012100d90000001602000039000000000302041a000000000013001a000014910000413d0000000001130019000000000012041b000000400100043d0000000c020000290000000000210435000008820010009c000008820100804100000040011002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000911011001c70000000b0200002900000885062001970000800d02000039000000030300003900000932040000410000000005000411000009a00000013d000009180010009c000000570000213d000000200010008c000000570000413d0000000001030433000000000001004b0000000002000039000000010200c039000000570000613d000000000021004b000012a60000613d000000570000013d0000000302000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f00000910011001c70000000202000029220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000305700029000014470000613d000000000801034f0000000309000029000000008a08043c0000000009a90436000000000059004b000014430000c13d000000000006004b000014540000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000014d60000613d0000001f01400039000000600110018f0000000303100029000000000013004b00000000020000390000000102004039000100000003001d000008880030009c0000154c0000213d00000001002001900000154c0000c13d0000000102000029000000400020043f000000200040008c000000570000413d00000003020000290000000002020433000000000002004b0000000003000039000000010300c039000000570000613d000000000032004b000000570000c13d00000007030000290000000a0030006b000000570000c13d00000921020000410000000103000029000000000023043500000004023000390000000b03000029000000000032043500000000020004140000000203000029000000040030008c0000170f0000c13d0000000101100029000008880010009c0000154c0000213d000000400010043f00000001010000290000000001010433000700000001001d000009220100004100000000001004430000000001000414000008820010009c0000088201008041000000c00110021000000923011001c70000800b02000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000009250110009c000017680000413d0000093101000041000000000010043f0000001101000039000000040010043f000008f80100004100002204000104300000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000149e0000c13d00000d0d0000013d00000882033001970000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000014ab0000c13d00000d0d0000013d0000090c010000410000000a020000290000000001120436000b00000001001d00000000010004140000000c02000029000000040020008c0000151c0000c13d000000400030008c00000040040000390000000004034019000015470000013d00000882033001970000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000014c40000c13d00000d0d0000013d00000882033001970000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000014d10000c13d00000d0d0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000014dd0000c13d00000d0d0000013d000c00000000001d0000000a01000029000000000010043f0000000c01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f00000001002001900000000c03000029000000570000613d00000009020000290000000002020433000000000032004b000015160000a13d0000000504300210000b00000004001d000000080240002900000000020204330000088502200197000000000101043b000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039000c00000003001d220221fd0000040f0000000100200190000000570000613d000000070200002900000000020204330000000c03000029000000000032004b000015160000a13d0000000b040000290000000502400029000000000101043b000000000101041a00000000001204350000000103300039000c00000003001d000000060030006c000014e30000413d00000f6e0000013d0000093101000041000000000010043f0000003201000039000000040010043f000008f80100004100002204000104300000000a02000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f00000887011001c70000000c02000029220221f80000040f00000060031002700000088203300197000000400030008c000000400400003900000000040340190000001f0640018f00000060074001900000000a05700029000015360000613d000000000801034f0000000a09000029000000008a08043c0000000009a90436000000000059004b000015320000c13d000000000006004b000015430000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000016660000613d0000001f01400039000000e00110018f0000000a01100029000008880010009c000015520000a13d0000093101000041000000000010043f0000004101000039000000040010043f000008f8010000410000220400010430000000400010043f000000400030008c000000570000413d0000000a010000290000000001010433000a00000001001d000008850010009c000000570000213d0000000b010000290000000001010433000b00000001001d000008850010009c000000570000213d0000000a01000029000000000010043f0000001201000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff0010019000000bcf0000613d0000000b01000029000000000010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000000ff0010019000000bcf0000613d000000400200043d0000090d01000041000900000002001d0000000000120435000008fd01000041000000000010044300000000010004120000000400100443000000600100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b00000000010004140000088502200197000000040020008c000018d20000c13d0000000103000031000000200030008c00000020040000390000000004034019000018fc0000013d0000000b02000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f000008f8011001c70000000c02000029220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b05700029000015b60000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000015b20000c13d000000000006004b000015c30000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000016ae0000613d0000001f01400039000000600210018f0000000b01200029000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200040008c000000570000413d0000000a010000290000091b0010009c000016300000413d0000000b0100002900000000010104330000000a0010006b000016300000a13d0000000c01000029000000000010043f0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000001041b000008f50100004100000000001004430000000c0100002900000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f00000001002001900000199f0000613d000000000101043b000000000001004b000000570000613d000000400300043d00000024013000390000000a0200002900000000002104350000091c010000410000000000130435000b00000003001d00000004013000390000000902000029000000000021043500000000010004140000000c02000029000000040020008c000016180000613d0000000b02000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f00000910011001c70000000c02000029220221f80000040f0000006003100270000108820030019d00030000000103550000000100200190000018c50000613d0000000b01000029000008880010009c0000154c0000213d0000000b02000029000000400020043f0000000a010000290000000000120435000008820020009c000008820200804100000040012002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000911011001c70000800d0200003900000003030000390000091d0400004100000000050004110000000c06000029220221f80000040f0000000100200190000000570000613d00000018010000390000000102000039000000000021041b0000000c01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000001041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d0200003900000002030000390000091e04000041000004840000013d0000090c0100004100000009020000290000000001120436000b00000001001d00000000010004140000000a02000029000000040020008c000016ba0000c13d000000400030008c00000040040000390000000004034019000016e50000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000166d0000c13d00000d0d0000013d0000000906000029000016790000013d000000200660003900000000007604350000002004400039000000000054004b0000035c0000813d000000000741034f000000000707043b000008880070009c000000570000213d00000000082700190000003f07800039000000000037004b00000000090000190000093a090080410000093a07700197000000000007004b000000000a0000190000093a0a0040410000093a0070009c000000000a09c01900000000000a004b000000570000c13d0000002007800039000000000771034f000000000907043b000008880090009c0000154c0000213d000000050a9002100000003f07a00039000008f30b700197000000400700043d000000000bb7001900000000007b004b000000000c000039000000010c0040390000088800b0009c0000154c0000213d0000000100c001900000154c0000c13d00000040088000390000004000b0043f000000000097043500000000098a0019000000000039004b000000570000213d000000000089004b000016740000a13d000000000a070019000000000b81034f000000000b0b043b0000088500b0009c000000570000213d000000200aa000390000000000ba04350000002008800039000000000098004b000016a40000413d000016740000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000016b50000c13d00000d0d0000013d0000000902000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f00000887011001c70000000a02000029220221f80000040f00000060031002700000088203300197000000400030008c000000400400003900000000040340190000001f0640018f00000060074001900000000905700029000016d40000613d000000000801034f0000000909000029000000008a08043c0000000009a90436000000000059004b000016d00000c13d000000000006004b000016e10000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000017430000613d0000001f01400039000000e00110018f0000000901100029000008880010009c0000154c0000213d000000400010043f000000400030008c000000570000413d00000009010000290000000001010433000900000001001d000008850010009c000000570000213d0000000b010000290000000001010433000b00000001001d000008850010009c000000570000213d0000000a01000029000000000010043f0000000801000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a0000088500100198000017bf0000c13d000000400100043d000000440210003900000935030000410000000000320435000000240210003900000014030000390000120b0000013d0000000101000029000008820010009c00000882010080410000004001100210000008820020009c0000088202008041000000c002200210000000000112019f000008f8011001c70000000202000029220221fd0000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000105700029000017290000613d000000000801034f0000000109000029000000008a08043c0000000009a90436000000000059004b000017250000c13d000000000006004b000017360000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000174f0000613d0000001f01400039000000600110018f0000000101100029000008880010009c0000154c0000213d000000400010043f000000200030008c000014800000813d000000570000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000174a0000c13d00000d0d0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017560000c13d00000d0d0000013d00000882033001970000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017630000c13d00000d0d0000013d0000091b2010012a0000000001210049000000400200043d000000070010006c0000177d0000a13d00000044012000390000092603000041000000000031043500000024012000390000001103000039000000000031043500000890010000410000000000120435000000040120003900000020030000390000000000310435000008820020009c00000882020080410000004001200210000008ff011001c7000022040001043000000009010000290000003f01100039000008f3011001970000000003120019000000000023004b00000000010000390000000101004039000008880030009c0000154c0000213d00000001001001900000154c0000c13d0000000001000031000000400030043f0000000a0300002900000000003204350000000c0010006b000000570000213d0000000a0000006b00000008050000290000179d0000613d000000020300036700000000040200190000000006050019000000000553034f000000000505043b000008850050009c000000570000213d0000002004400039000000000054043500000020056000390000000c0050006c000017930000413d00000006030000290000003f03300039000008f304300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000008880040009c0000154c0000213d00000001005001900000154c0000c13d000000400040043f0000000a040000290000000000430435000000050010006b000000570000213d0000000a0000006b00000004060000290000000507000029000017bb0000613d00000002010003670000000004030019000000000561034f000000000505043b000000200440003900000000005404350000002006600039000000000076004b000017b40000413d0000000b0100002922021e340000040f0000000001000019000022030001042e0000000c01000029000000000010043f0000000a01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000101041a000800000001001d0000000a01000029000000000010043f0000000801000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000088902200197000000000021041b0000000c01000029000000000010043f0000000901000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000088902200197000000000021041b0000000a01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000088902200197000000000021041b0000001301000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000902000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000000c01000029000000000010043f0000001301000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000000c01000029000000000010043f0000001301000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000700000001001d000008fd01000041000000000010044300000000010004120000000400100443000000400100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000101043b0000088501100197000000000010043f0000000701000029000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d00000008020000290000088504200197000000000101043b000000000201041a0000093d02200197000000000021041b000800000004001d000000000040043f0000001401000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000902000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000000801000029000000000010043f0000001401000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000000c01000029000000000010043f0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d02200197000000000021041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d02000039000000040300003900000934040000410000000c0500002900000008060000290000000a07000029000009a00000013d00000882033001970000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018cd0000c13d00000d0d0000013d0000000903000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000887011001c7220221f80000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000905700029000018eb0000613d000000000801034f0000000909000029000000008a08043c0000000009a90436000000000059004b000018e70000c13d000000000006004b000018f80000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000019380000613d0000001f01400039000000600110018f0000000902100029000000000012004b00000000010000390000000101004039000800000002001d000008880020009c0000154c0000213d00000001001001900000154c0000c13d0000000801000029000000400010043f000000200030008c000000570000413d00000009010000290000000001010433000900000001001d000008850010009c000000570000213d00000008030000290000002401300039000000000200041a000700000002001d000000090200002900000000002104350000090e01000041000000000013043500000004013000390000000c020000290000000000210435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d0000000702000029000008850220019700000008030000290000004403300039000000000101043b000008850110019700000000001304350000000001000414000000040020008c000019440000c13d0000000103000031000000200030008c000000200400003900000000040340190000196e0000013d0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000193f0000c13d00000d0d0000013d0000000803000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008ff011001c7220221f80000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000008057000290000195d0000613d000000000801034f0000000809000029000000008a08043c0000000009a90436000000000059004b000019590000c13d000000000006004b0000196a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000019a00000613d0000001f01400039000000600110018f0000000801100029000008880010009c0000154c0000213d000000400010043f000000200030008c000000570000413d00000008010000290000000001010433000800000001001d000008850010009c000000570000213d000008fd01000041000000000010044300000000010004120000000400100443000000400100003900000024001004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f00000001002001900000199f0000613d000000000201043b000000400400043d0000002401400039000000010300008a00000000003104350000090f010000410000000000140435000700000004001d00000004014000390000000803000029000000000031043500000000010004140000088502200197000600000002001d000000040020008c000019ac0000c13d0000000103000031000000200030008c00000020040000390000000004034019000019d70000013d000000000001042f0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000019a70000c13d00000d0d0000013d0000000702000029000008820020009c00000882020080410000004002200210000008820010009c0000088201008041000000c001100210000000000121019f00000910011001c70000000602000029220221f80000040f00000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000705700029000019c60000613d000000000801034f0000000709000029000000008a08043c0000000009a90436000000000059004b000019c20000c13d000000000006004b000019d30000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000001b050000613d0000001f01400039000000600210018f0000000701200029000000000021004b00000000020000390000000102004039000008880010009c0000154c0000213d00000001002001900000154c0000c13d000000400010043f000000200030008c000000570000413d00000007010000290000000001010433000000000001004b0000000002000039000000010200c039000000000021004b000000570000c13d0000000801000029000000000010043f0000000a01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a000008890220019700000009022001af000000000021041b0000000c01000029000000000010043f0000000801000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a00000889022001970000000803000029000000000232019f000000000021041b000000000030043f0000000901000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a00000889022001970000000c022001af000000000021041b0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000001301000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000a02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000000801000029000000000010043f0000001301000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000000801000029000000000010043f0000001301000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000602000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000000901000029000000000010043f0000001401000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000a02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b0000000901000029000000000010043f0000001401000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b0000000b02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000000570000613d000000000101043b000000000201041a0000093d0220019700000001022001bf000000000021041b00000008010000292202215c0000040f0000000702000039000000000102041a000008880010009c0000154c0000213d0000000103100039000000000032041b000000000020043f000008f90110009a000000000201041a00000889022001970000000805000029000000000252019f000000000021041b0000000001000411000000400200043d0000000000120435000008820020009c000008820200804100000040012002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000911011001c70000800d020000390000000403000039000009120400004100000009060000290000000c07000029220221f80000040f0000000100200190000000570000613d000000400100043d00000008020000290000000000210435000008820010009c00000882010080410000004001100210000008ef011001c7000022030001042e0000001f0530018f0000088406300198000000400200043d000000000462001900000d0d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001b0c0000c13d00000d0d0000013d00000044010000390000000201100367000000000101043b000000000001004b0000000002000039000000010200c039000000000021004b00001b1a0000c13d000000000001042d00000000010000190000220400010430000009180010009c00001bb70000213d000000630010008c00001bb70000a13d00000002030003670000000402300370000000000202043b000008880020009c00001bb70000213d0000002304200039000000000014004b00001bb70000813d0000000404200039000000000443034f000000000504043b0000093f0050009c00001bb90000813d00000005065002100000003f04600039000008f307400197000000400400043d0000000007740019000000000047004b00000000080000390000000108004039000008880070009c00001bb90000213d000000010080019000001bb90000c13d0000002402200039000000400070043f00000000005404350000000006260019000000000016004b00001bb70000213d000000000005004b00001b4b0000613d0000000005040019000000000723034f000000000707043b000008850070009c00001bb70000213d000000200550003900000000007504350000002002200039000000000062004b00001b420000413d0000002402300370000000000702043b000008880070009c00001bb70000213d0000002302700039000000000012004b00000000060000190000093a060080410000093a051001970000093a02200197000000000852013f000000000052004b00000000020000190000093a020040410000093a0080009c000000000206c019000000000002004b00001bb70000c13d0000000406700039000000000263034f000000000902043b000008880090009c00001bb90000213d00000005089002100000003f02800039000008f30a200197000000400200043d000000000aa2001900000000002a004b000000000b000039000000010b0040390000088800a0009c00001bb90000213d0000000100b0019000001bb90000c13d0000004000a0043f000000000092043500000024077000390000000008780019000000000018004b00001bb70000213d000000000009004b00001bb30000613d000000000902001900001b7d0000013d00000020099000390000000000a904350000002007700039000000000087004b00001bb30000813d000000000a73034f000000000a0a043b0000088800a0009c00001bb70000213d000000000b6a00190000003f0ab0003900000000001a004b000000000c0000190000093a0c0080410000093a0aa00197000000000d5a013f00000000005a004b000000000a0000190000093a0a0040410000093a00d0009c000000000a0cc01900000000000a004b00001bb70000c13d000000200ab00039000000000aa3034f000000000c0a043b0000088800c0009c00001bb90000213d000000050dc002100000003f0ad00039000008f30ea00197000000400a00043d000000000eea00190000000000ae004b000000000f000039000000010f0040390000088800e0009c00001bb90000213d0000000100f0019000001bb90000c13d000000400bb000390000004000e0043f0000000000ca0435000000000cbd001900000000001c004b00001bb70000213d0000000000bc004b00001b780000a13d000000000d0a0019000000000eb3034f000000000e0e043b0000088500e0009c00001bb70000213d000000200dd000390000000000ed0435000000200bb000390000000000cb004b00001ba90000413d00001b780000013d0000004401300370000000000301043b0000000001040019000000000001042d000000000100001900002204000104300000093101000041000000000010043f0000004101000039000000040010043f000008f80100004100002204000104300000000702000039000000000302041a000000000013004b00001bc70000a13d000000000020043f000008f90110009a0000000002000019000000000001042d0000093101000041000000000010043f0000003201000039000000040010043f000008f80100004100002204000104300001000000000002000000000301041a000100000002001d000000000023004b00001be00000a13d000000000010043f0000000001000414000008820010009c0000088201008041000000c00110021000000911011001c70000801002000039220221fd0000040f000000010020019000001be60000613d000000000101043b00000001011000290000000002000019000000000001042d0000093101000041000000000010043f0000003201000039000000040010043f000008f801000041000022040001043000000000010000190000220400010430000000000001004b00001beb0000613d000000000001042d000000400100043d0000004402100039000008fe03000041000000000032043500000024021000390000001103000039000000000032043500000890020000410000000000210435000000040210003900000020030000390000000000320435000008820010009c00000882010080410000004001100210000008ff011001c700002204000104300009000000000002000000400300043d00000940020000410000000000230435000900000003001d0000000402300039000700000001001d0000000000120435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f000000010020019000001de00000613d000000000201043b00000000010004140000088502200197000000040020008c00001c1d0000c13d0000000103000031000000200030008c00000020040000390000000004034019000000090b00002900001c480000013d0000000903000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008f8011001c7220221fd0000040f000000090b00002900000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001c370000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001c330000c13d000000000006004b00001c440000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000001e160000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000008880010009c00001de10000213d000000010020019000001de10000c13d000000400010043f0000001f0030008c00001dd80000a13d00000000020b0433000000000002004b0000000003000039000000010300c039000000000032004b00001dd80000c13d000000000002004b00001e060000613d0000000701000029000000000010043f0000000d01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000201043b000000000102041a000400000001001d000000000001004b000000060100003900001da00000613d0000000003000019000500000000001d000300000002001d00001c790000013d00000006030000290000000103300039000000040030006c000000030200002900001d960000813d000000000102041a000600000003001d000000000031004b00001dda0000a13d000000000020043f0000000001000414000008820010009c0000088201008041000000c00110021000000911011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b0000000601100029000000000101041a000900000001001d0000000701000029000000000010043f0000000c01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d00000009020000290000088502200197000000000101043b000800000002001d000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000101041a000900000001001d000000000001004b00001c740000613d0000000801000029000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000201041a0000001701000039000000200010043f000000000002004b00001cfa0000613d000200000002001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d0000001602000039000000000202041a000000000101043b000000000301041a000000000021041b000000000132004b00001d9a0000413d000000020300002900001d090000613d00010000003100ad00000001023000f9000000000012004b00001d9a0000c13d0000000801000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000101041a000000ff0010019000001d090000613d0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d0000000102000029000009030220012a000000000101043b000000000301041a000000000023001a00001d9a0000413d000000000223001900001d080000013d0000001601000039000000000101041a000200000001001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b0000000202000029000000000021041b0000000801000029000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000201041a000000090220006c00001d9a0000413d000000000021041b0000000701000029000000000010043f0000000c01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b0000000802000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000201041a000000090220006c00001d9a0000413d000000000021041b0000000801000029000000000010043f0000000a01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000101041a000008f50200004100000000002004430000088501100197000800000001001d00000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f000000010020019000001de00000613d000000000101043b000000000001004b00001dd80000613d000000400400043d0000002401400039000000070200002900000000002104350000094101000041000000000514043600000004014000390000000902000029000000000021043500000000010004140000000802000029000000040020008c00001d7a0000613d000008820040009c000008820300004100000000030440190000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000910011001c7000800000004001d000200000005001d220221f80000040f000000020500002900000008040000290000006003100270000108820030019d0003000000010355000000010020019000001de70000613d000008880040009c00001de10000213d000000400040043f0000000902000029000000050020002a00001d9a0000413d0000000901000029000000000015043500000007010000290000000000140435000008820040009c000008820400804100000040014002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000900011001c70000800d0200003900000001030000390000094204000041220221f80000040f000000010020019000001dd80000613d0000000902000029000500050020002d00001c740000013d0000000601000039000000000101041a000000050010006b00001da20000a13d0000093101000041000000000010043f0000001101000039000000040010043f000008f8010000410000220400010430000000000101041a000500000000001d000000050110006a0000000602000039000000000012041b0000000701000029000000000010043f0000000e01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000001041b0000000d01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b000000000201041a000000000001041b000000000002004b00001dd70000613d000900000002001d000000000010043f0000000001000414000008820010009c0000088201008041000000c00110021000000911011001c70000801002000039220221fd0000040f000000010020019000001dd80000613d000000000101043b0000000902100029000000000021004b00001dd70000813d000000000001041b0000000101100039000000000021004b00001dd30000413d000000000001042d000000000100001900002204000104300000093101000041000000000010043f0000003201000039000000040010043f000008f8010000410000220400010430000000000001042f0000093101000041000000000010043f0000004101000039000000040010043f000008f801000041000022040001043000000882033001970000001f0530018f0000088406300198000000400200043d000000000462001900001df30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001def0000c13d000000000005004b00001e000000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000008820020009c00000882020080410000004002200210000000000121019f000022040001043000000044021000390000094303000041000000000032043500000024021000390000000c03000039000000000032043500000890020000410000000000210435000000040210003900000020030000390000000000320435000008820010009c00000882010080410000004001100210000008ff011001c700002204000104300000001f0530018f0000088406300198000000400200043d000000000462001900001e210000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001e1d0000c13d000000000005004b00001e2e0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000008820020009c00000882020080410000004002200210000000000112019f0000220400010430000e000000000002000200000003001d000500000002001d000c00000001001d22021bfc0000040f000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f0000000100200190000020d80000613d000000000101043b000008f5020000410000000000200443000008850110019700000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f0000000100200190000020d80000613d000000000101043b000000000001004b000020c40000613d000000400200043d00000944010000410000000000120435000e00000002001d00000004022000390000000c01000029000d00000002001d0000000000120435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f0000000100200190000020d80000613d000000000201043b00000000010004140000088502200197000000040020008c00001e820000613d0000000e03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008f8011001c7220221f80000040f0000006003100270000108820030019d00030000000103550000000100200190000020fe0000613d0000000e030000290000093f0030009c000020cc0000813d000000400030043f00000005010000290000000021010434000400000002001d000800000001001d000009450100004100000000001304350000000c010000290000000d020000290000000000120435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f0000000100200190000020d80000613d000000000201043b00000000010004140000088502200197000000040020008c00001ea80000c13d0000000103000031000000200030008c000000200400003900000000040340190000000e0b00002900001ed30000013d0000000e03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008f8011001c7220221fd0000040f0000000e0b00002900000060031002700000088203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001ec20000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001ebe0000c13d000000000006004b00001ecf0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000210b0000613d0000001f01400039000000600110018f0000000001b10019000008880010009c000020cc0000213d000000400010043f000000200030008c000020c40000413d000000080000006b000020a90000613d00000000010b0433000300000001001d0000000201000029000700200010003d00000000010104330000000002000019000e00000000001d000000000021004b000020c60000a13d0000000503200210000000070330002900000000030304330000000e0030002a000020d20000413d000e000e0030002d0000000102200039000000080020006c00001ee40000413d0000000002000019000000000300001900001ef70000013d0000000a0300002900000009020000290000000102200039000000080020006c000020570000813d000a00000003001d00000005010000290000000001010433000000000021004b000020c60000a13d000900000002001d0000000502200210000b00000002001d000000040120002900000000010104330000088501100197000d00000001001d000000000010043f0000000f01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000101041a000000ff0010019000001ef20000613d00000002010000290000000001010433000000090010006c000020c60000a13d0000000b0200002900000007012000290000000001010433000b0003001000bd000000000001004b00001f200000613d0000000b011000f9000000030010006c000020d20000c13d0000000e0000006b000020d90000613d0000000c01000029000000000010043f0000000c01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b0000000d02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000101041a000000000001004b000020c40000c13d0000000b020000290000000e0020006b000020c40000213d0000000d01000029000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000201041a0000001701000039000000200010043f000000000002004b00001f910000613d000600000002001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d0000001602000039000000000202041a000000000101043b000000000301041a000000000021041b000000000132004b000020d20000413d000000060300002900001fa00000613d00010000003100ad00000001023000f9000000000012004b000020d20000c13d0000000d01000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000101041a000000ff0010019000001fa00000613d0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d0000000102000029000009030220012a000000000101043b000000000301041a000000000023001a000020d20000413d000000000223001900001f9f0000013d0000001601000039000000000101041a000600000001001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b0000000602000029000000000021041b0000000c01000029000000000010043f0000000d01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000201041a000008880020009c000020cc0000213d000600000002001d0000000102200039000000000021041b000000000010043f0000000001000414000008820010009c0000088201008041000000c00110021000000911011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b0000000601100029000000000201041a00000889022001970000000d03000029000000000232019f000000000021041b000000000030043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d0000000b030000290000000e033000fa000000000101043b000000000201041a000000000032001a000020d20000413d000b00000003001d0000000002320019000000000021041b0000000c01000029000000000010043f0000000c01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b0000000d02000029000000000020043f000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000201041a0000000b03000029000000000032001a000020d20000413d0000000002320019000000000021041b0000000d01000029000000000010043f0000000a01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b000000000101041a000008f50200004100000000002004430000088501100197000d00000001001d00000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f0000000100200190000020d80000613d000000000101043b000000000001004b000020c40000613d000000400500043d00000024015000390000000c0200002900000000002104350000094601000041000000000615043600000004015000390000000b04000029000000000041043500000000010004140000000d02000029000000040020008c0000203c0000613d000008820050009c000008820300004100000000030540190000004003300210000008820010009c0000088201008041000000c001100210000000000131019f00000910011001c7000d00000005001d000600000006001d220221f80000040f00000006060000290000000d050000290000000b040000290000006003100270000108820030019d00030000000103550000000100200190000020df0000613d000008880050009c000020cc0000213d000000400050043f0000000a0040002a000020d20000413d00000000004604350000000c010000290000000000150435000008820050009c000008820500804100000040015002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000900011001c70000800d02000039000000020300003900000947040000410000000005000411220221f80000040f0000000100200190000020c40000613d0000000b010000290000000a0310002900001ef30000013d000000000003004b000020ac0000613d000a00000003001d000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f0000000100200190000020d80000613d000000000101043b000008f5020000410000000000200443000008850110019700000004001004430000000001000414000008820010009c0000088201008041000000c001100210000008f6011001c70000800202000039220221fd0000040f0000000100200190000020d80000613d000000000101043b000000000001004b000020c40000613d000000400200043d00000948010000410000000000120435000e00000002001d00000004012000390000000c020000290000000000210435000008fd0100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000008820010009c0000088201008041000000c0011002100000090b011001c70000800502000039220221fd0000040f0000000100200190000020d80000613d000000000201043b00000000010004140000088502200197000000040020008c000020a20000613d0000000e03000029000008820030009c00000882030080410000004003300210000008820010009c0000088201008041000000c001100210000000000131019f000008f8011001c7220221f80000040f0000006003100270000108820030019d00030000000103550000000100200190000021290000613d0000000e01000029000008880010009c000020cc0000213d000000400010043f0000000a03000029000e00000003001d000020ad0000013d000e00000000001d0000000003000019000020ad0000013d000e00000000001d0000000601000039000000000201041a000000000032001a000020d20000413d0000000002320019000000000021041b0000000c01000029000000000010043f0000000e01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000020c40000613d000000000101043b0000000e02000029000000000021041b000000000001042d000000000100001900002204000104300000093101000041000000000010043f0000003201000039000000040010043f000008f80100004100002204000104300000093101000041000000000010043f0000004101000039000000040010043f000008f80100004100002204000104300000093101000041000000000010043f0000001101000039000000040010043f000008f8010000410000220400010430000000000001042f0000093101000041000000000010043f0000001201000039000000040010043f000008f801000041000022040001043000000882033001970000001f0530018f0000088406300198000000400200043d0000000004620019000020eb0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000020e70000c13d000000000005004b000020f80000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000008820020009c00000882020080410000004002200210000000000112019f000022040001043000000882033001970000001f0530018f0000088406300198000000400200043d0000000004620019000021160000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000021060000c13d000021160000013d0000001f0530018f0000088406300198000000400200043d0000000004620019000021160000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000021120000c13d000000000005004b000021230000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000008820020009c00000882020080410000004002200210000000000121019f000022040001043000000882033001970000001f0530018f0000088406300198000000400200043d0000000004620019000020eb0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000021310000c13d000020eb0000013d00010000000000020000088501100197000100000001001d000000000010043f0000001201000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f00000001002001900000215a0000613d000000000101043b000000000201041a000000ff002001900000215a0000c13d0000093d0220019700000001022001bf000000000021041b0000000001000414000008820010009c0000088201008041000000c001100210000008fa011001c70000800d020000390000000303000039000000000500041100000901040000410000000106000029220221f80000040f00000001002001900000215a0000613d000000000001042d0000000001000019000022040001043000030000000000020000088501100197000300000001001d000000000010043f0000000b01000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000021bc0000613d000000000101043b000000000201041a0000001701000039000000200010043f000000000002004b000021ac0000613d000200000002001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000021bc0000613d0000001602000039000000000202041a000000000101043b000000000301041a000000000021041b000000000132004b000021be0000413d0000000203000029000021bb0000613d00010000003100ad00000001023000f9000000000012004b000021be0000c13d0000000301000029000000000010043f0000001001000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000021bc0000613d000000000101043b000000000101041a000000ff00100190000021bb0000613d0000001501000039000000200010043f0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000021bc0000613d0000000102000029000009030220012a000000000101043b000000000301041a000000000023001a000021be0000413d0000000002230019000021ba0000013d0000001601000039000000000101041a000300000001001d0000000001000414000008820010009c0000088201008041000000c00110021000000900011001c70000801002000039220221fd0000040f0000000100200190000021bc0000613d000000000101043b0000000302000029000000000021041b000000000001042d000000000100001900002204000104300000093101000041000000000010043f0000001101000039000000040010043f000008f8010000410000220400010430000000000001042f000008820010009c00000882010080410000004001100210000008820020009c00000882020080410000006002200210000000000112019f0000000002000414000008820020009c0000088202008041000000c002200210000000000112019f000008fa011001c70000801002000039220221fd0000040f0000000100200190000021d80000613d000000000101043b000000000001042d0000000001000019000022040001043000000000050100190000000000200443000000050030008c000021e80000413d000000040100003900000000020000190000000506200210000000000664001900000005066002700000000006060031000000000161043a0000000102200039000000000031004b000021e00000413d000008820030009c000008820300804100000060013002100000000002000414000008820020009c0000088202008041000000c002200210000000000112019f00000949011001c70000000002050019220221fd0000040f0000000100200190000021f70000613d000000000101043b000000000001042d000000000001042f000021fb002104210000000102000039000000000001042d0000000002000019000000000001042d00002200002104230000000102000039000000000001042d0000000002000019000000000001042d0000220200000432000022030001042e000022040001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000fffffffffffffffffffffffffffffffffffffffffc0c546a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000021e19e0c9bab240000000000000000000000000000000c5d52630c982ae81b78ab2954ddc9ec2797bb9c000000000000000000000000726461fa6e788bd8a79986d36f1992368a3e56ea0000000200000000000000000000000000000140000001000000000000000000636f6e7374727563746f72000000000000000000000000000000000000000000566f7465723a207a65726f20616464726573732070726f766964656420696e2008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000000000000000000000000000000000000000000000000000000000000000000000000000008a126be000000000000000000000000000000000000000000000000000000000b9a09fd400000000000000000000000000000000000000000000000000000000eaa5352200000000000000000000000000000000000000000000000000000000f0cf6c9500000000000000000000000000000000000000000000000000000000f851a43f00000000000000000000000000000000000000000000000000000000f851a44000000000000000000000000000000000000000000000000000000000fbdfe6b700000000000000000000000000000000000000000000000000000000f0cf6c9600000000000000000000000000000000000000000000000000000000f80d612400000000000000000000000000000000000000000000000000000000eded3e0100000000000000000000000000000000000000000000000000000000eded3e0200000000000000000000000000000000000000000000000000000000ef897f0700000000000000000000000000000000000000000000000000000000eaa5352300000000000000000000000000000000000000000000000000000000eb4a78e000000000000000000000000000000000000000000000000000000000d560b0d600000000000000000000000000000000000000000000000000000000dae6c83000000000000000000000000000000000000000000000000000000000dae6c83100000000000000000000000000000000000000000000000000000000ea94ee4400000000000000000000000000000000000000000000000000000000d560b0d700000000000000000000000000000000000000000000000000000000d80a4d4d00000000000000000000000000000000000000000000000000000000c527ee1e00000000000000000000000000000000000000000000000000000000c527ee1f00000000000000000000000000000000000000000000000000000000d23254b400000000000000000000000000000000000000000000000000000000b9a09fd500000000000000000000000000000000000000000000000000000000c45a015500000000000000000000000000000000000000000000000000000000a0947d6e00000000000000000000000000000000000000000000000000000000a7cac84500000000000000000000000000000000000000000000000000000000aa79979a00000000000000000000000000000000000000000000000000000000aa79979b00000000000000000000000000000000000000000000000000000000b6fe96bc00000000000000000000000000000000000000000000000000000000a7cac84600000000000000000000000000000000000000000000000000000000a8c5d95a00000000000000000000000000000000000000000000000000000000a61c713900000000000000000000000000000000000000000000000000000000a61c713a00000000000000000000000000000000000000000000000000000000a6dd936400000000000000000000000000000000000000000000000000000000a0947d6f00000000000000000000000000000000000000000000000000000000a5f4301e00000000000000000000000000000000000000000000000000000000992a7932000000000000000000000000000000000000000000000000000000009b6a9d71000000000000000000000000000000000000000000000000000000009b6a9d72000000000000000000000000000000000000000000000000000000009f06247b00000000000000000000000000000000000000000000000000000000992a7933000000000000000000000000000000000000000000000000000000009b19251a0000000000000000000000000000000000000000000000000000000096c82e560000000000000000000000000000000000000000000000000000000096c82e57000000000000000000000000000000000000000000000000000000009769a38a000000000000000000000000000000000000000000000000000000008a126be1000000000000000000000000000000000000000000000000000000008dd598fb00000000000000000000000000000000000000000000000000000000402914f400000000000000000000000000000000000000000000000000000000666256a900000000000000000000000000000000000000000000000000000000704b6c010000000000000000000000000000000000000000000000000000000079e938230000000000000000000000000000000000000000000000000000000079e93824000000000000000000000000000000000000000000000000000000007ac09bf700000000000000000000000000000000000000000000000000000000704b6c02000000000000000000000000000000000000000000000000000000007715ee75000000000000000000000000000000000000000000000000000000006b2cc75b000000000000000000000000000000000000000000000000000000006b2cc75c000000000000000000000000000000000000000000000000000000006ecbe38a00000000000000000000000000000000000000000000000000000000666256aa00000000000000000000000000000000000000000000000000000000698473e300000000000000000000000000000000000000000000000000000000485fdb490000000000000000000000000000000000000000000000000000000053d786920000000000000000000000000000000000000000000000000000000053d786930000000000000000000000000000000000000000000000000000000063453ae100000000000000000000000000000000000000000000000000000000485fdb4a0000000000000000000000000000000000000000000000000000000050c116b800000000000000000000000000000000000000000000000000000000462d0b2d00000000000000000000000000000000000000000000000000000000462d0b2e0000000000000000000000000000000000000000000000000000000047b3c6ba00000000000000000000000000000000000000000000000000000000402914f500000000000000000000000000000000000000000000000000000000411b1f7700000000000000000000000000000000000000000000000000000000264deaf7000000000000000000000000000000000000000000000000000000003a045144000000000000000000000000000000000000000000000000000000003c6b16aa000000000000000000000000000000000000000000000000000000003c6b16ab000000000000000000000000000000000000000000000000000000003e504f7d000000000000000000000000000000000000000000000000000000003a045145000000000000000000000000000000000000000000000000000000003af32abf00000000000000000000000000000000000000000000000000000000310bd74a00000000000000000000000000000000000000000000000000000000310bd74b0000000000000000000000000000000000000000000000000000000032145f9000000000000000000000000000000000000000000000000000000000264deaf80000000000000000000000000000000000000000000000000000000026782247000000000000000000000000000000000000000000000000000000000e18b680000000000000000000000000000000000000000000000000000000001f7b6d31000000000000000000000000000000000000000000000000000000001f7b6d320000000000000000000000000000000000000000000000000000000020b1cb6f000000000000000000000000000000000000000000000000000000000e18b681000000000000000000000000000000000000000000000000000000001937e58f0000000000000000000000000000000000000000000000000000000006d6a1b20000000000000000000000000000000000000000000000000000000007546172000000000000000000000000000000000000000000000000000000000d52333c000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000008000000000000000005065726d697373696f6e204d6f646520456e61626c656400000000000000000000000000000000000000000000000000000000640000008000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff7f1806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000063453ae1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000599336d74a1247d50642b66dd6abeaa5484f6bd96b415b31bb99e26578c9397802000000000000000000000000000000000000000000000000000000000000001581e4ca38f93a84a1117c3c9b3a843fd958b49bbe3372bf049bfd3276120fbe3a932c9554506f017c627364ab138bdc066bde4c4f94dfe88d71577ba83f8546310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e566f7465723a206f6e6c792061646d696e000000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000002000000000000000000000000000000000000400000000000000000000000006661a7108aecd07864384529117d96c319c1163e3010c01390f6b704726e07def341246adaac6f497bc2a656f546ab9e182111d630394f0c57c710a59a2cb5670000000000000000000000000000000000000000000000000de0b6b3a7640000d294f09300000000000000000000000000000000000000000000000000000000653c837c1172ccbcf6fa68fcc2386f71a9e51930d8f53b738835a5a0c858e7fb466565206d7573742062652067726561746572207468616e207a65726f000000566f7465723a206f6e6c7920666565206d616e61676572000000000000000000dcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d76578697374730000000000000000000000000000000000000000000000000000e5e31b130000000000000000000000000000000000000000000000000000000002000002000000000000000000000000000000440000000000000000000000009d63848a00000000000000000000000000000000000000000000000000000000d27b9a78000000000000000000000000000000000000000000000000000000001c48e0fa00000000000000000000000000000000000000000000000000000000095ea7b3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000020000000000000000000000000000000000002000000000000000000000000048d3c521fd0d5541640f58c6d6381eed7cb2e8c9df421ae165a4f4c2d221ee0d2170616972000000000000000000000000000000000000000000000000000000ed18e9faa3dccfd8aa45f69c4de40546b2ca9cccc4538a2323531656516db1aa5065726d697373696f6e204d6f6465204973204163746976650000000000000023b872dd00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff5f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed29fc110000000000000000000000000000000000000000000000000000000099bcc052000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000093a80b66503cf000000000000000000000000000000000000000000000000000000004fa9693cae526341d334e2862ca2413b2e503f1266255f9e0869fb36e6d89b1704a5d3f5d80d22d9345acc80618f4a4e7e663cf9e1aed23b57d975acec002ba76761756765206973206e6f74206c697665000000000000000000000000000000430c208100000000000000000000000000000000000000000000000000000000f8a0576300000000000000000000000000000000000000000000000000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d955391320200000200000000000000000000000000000004000000000000000000000000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c57ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6c5806c6f636b206578706972657320736f6f6e000000000000000000000000000000a7852afa00000000000000000000000000000000000000000000000000000000707c40b300e86ea06afe070057bebf0a23f03e55ca3aa0dffb91d96d2fc89fac60a9f9ee3d1d62847472dc6b066eb0548a70c14f0ba4715be1c5bcdbd9b446252177686974656c69737465640000000000000000000000000000000000000000fbd3a29d0000000000000000000000000000000000000000000000000000000060940192810a6fb3bce3fd3e2e3a13fd6ccc7605e963fb87ee971aba829989bd3d29a870fa2d124f14984f98a1df8bcd683e624184195c2a63697d6200266f3e0000000000000000000000000000000000000004000000800000000000000000986b7d8a00000000000000000000000000000000000000000000000000000000ae268d9aab12f3605f58efd74fd3801fa812b03fdb44317eb70f46dff0e19e224e487b7100000000000000000000000000000000000000000000000000000000f70d5c697de7ea828df48e5c4573cb2194c659f1901f70110c52b066dcf508266761756765206973206c6976650000000000000000000000000000000000000013379c5ce739840b099b7f3973cd7c9ecaa3aff6f381da0cfb8008ce4f18ace5676175676520646f6573206e6f742065786973740000000000000000000000007061697220646f6573206e6f74206578697374000000000000000000000000000000000000000000000000000000000000000044000000800000000000000000c1f0fb9f000000000000000000000000000000000000000000000000000000005065726d697373696f6e204d6f64652044697361626c65640000000000000000800000000000000000000000000000000000000000000000000000000000000031279d3d0000000000000000000000000000000000000000000000000000000064b5ca626ed4122d05be46c898b7520ff5a9a24880a4ebe983ae30b0e0aa82bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00000000000000000000000000000000000000000000000010000000000000000c26defcd000000000000000000000000000000000000000000000000000000009e2bf22c00000000000000000000000000000000000000000000000000000000a9f3ca5f8a9e1580edb2741e0ba560084ec72e0067ba3423f9e9327a176882db566f7465204c6f636b65642100000000000000000000000000000000000000006727905400000000000000000000000000000000000000000000000000000000e7e242d400000000000000000000000000000000000000000000000000000000f320772300000000000000000000000000000000000000000000000000000000ea66f58e474bc09f580000e81f31b334d171db387d0c6098ba47bd897741679bfd4a77f1000000000000000000000000000000000000000000000000000000000200000200000000000000000000000000000000000000000000000000000000788381e9c55ce77013cf1f1ddee114933c8e0d3f77308b55517f9f4e47d03c02

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

000000000000000000000000483bdbdbf60d9650845c8097e002c2241d92ab4500000000000000000000000030a0dd3d0d9e99bd0e67b323fb706788766dcff200000000000000000000000015e21a438853afa27ebb53710bfe0f3cfcb6abd60000000000000000000000008583c59b3aca38a72d84fb75fd05d520b57163f4

-----Decoded View---------------
Arg [0] : __ve (address): 0x483BdBdbf60d9650845c8097E002c2241D92ab45
Arg [1] : _factory (address): 0x30A0DD3D0D9E99BD0E67b323FB706788766dCff2
Arg [2] : _gauges (address): 0x15E21A438853AFa27EBB53710bfe0f3Cfcb6Abd6
Arg [3] : _bribes (address): 0x8583c59b3acA38A72D84FB75fd05D520B57163f4

-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000483bdbdbf60d9650845c8097e002c2241d92ab45
Arg [1] : 00000000000000000000000030a0dd3d0d9e99bd0e67b323fb706788766dcff2
Arg [2] : 00000000000000000000000015e21a438853afa27ebb53710bfe0f3cfcb6abd6
Arg [3] : 0000000000000000000000008583c59b3aca38a72d84fb75fd05d520b57163f4


Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

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

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