This nametag was submitted by Kleros Curate.
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 5,199,265 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Swap Exact Token... | 44615789 | 1 min ago | IN | 0 ETH | 0.0000066 | ||||
Swap Exact Token... | 44615789 | 1 min ago | IN | 0 ETH | 0.00001174 | ||||
Swap Exact Token... | 44615360 | 8 mins ago | IN | 0 ETH | 0.00000598 | ||||
Swap Exact Token... | 44615300 | 9 mins ago | IN | 0 ETH | 0.00000665 | ||||
Swap Exact Token... | 44615296 | 9 mins ago | IN | 0 ETH | 0.00000939 | ||||
Swap Exact Token... | 44615215 | 11 mins ago | IN | 0 ETH | 0.00000795 | ||||
Swap Exact ETH F... | 44615047 | 14 mins ago | IN | 0.20278 ETH | 0.00001027 | ||||
Swap Exact ETH F... | 44614120 | 30 mins ago | IN | 0.11423707 ETH | 0.00000667 | ||||
Add Liquidity ET... | 44614019 | 31 mins ago | IN | 0.02863899 ETH | 0.00001308 | ||||
Swap Exact ETH F... | 44613933 | 33 mins ago | IN | 0.00075869 ETH | 0.00000685 | ||||
Swap Exact Token... | 44613887 | 34 mins ago | IN | 0 ETH | 0.00000641 | ||||
Swap Exact Token... | 44613794 | 35 mins ago | IN | 0 ETH | 0.0000105 | ||||
Swap Exact ETH F... | 44613692 | 37 mins ago | IN | 0.001 ETH | 0.00000996 | ||||
Swap Exact Token... | 44613331 | 43 mins ago | IN | 0 ETH | 0.00001183 | ||||
Swap Exact Token... | 44612471 | 58 mins ago | IN | 0 ETH | 0.00000874 | ||||
Swap Exact Token... | 44612333 | 1 hr ago | IN | 0 ETH | 0.00000568 | ||||
Swap ETH For Exa... | 44612315 | 1 hr ago | IN | 0.00285929 ETH | 0.00000597 | ||||
Remove Liquidity... | 44611835 | 1 hr ago | IN | 0 ETH | 0.00001266 | ||||
Swap Exact ETH F... | 44611369 | 1 hr ago | IN | 0.00040306 ETH | 0.00000742 | ||||
Swap Exact ETH F... | 44611099 | 1 hr ago | IN | 0.00738 ETH | 0.00000577 | ||||
Swap Exact Token... | 44610949 | 1 hr ago | IN | 0 ETH | 0.00000648 | ||||
Swap Exact ETH F... | 44610890 | 1 hr ago | IN | 0.00272 ETH | 0.00000577 | ||||
Swap Exact ETH F... | 44610853 | 1 hr ago | IN | 0.01013 ETH | 0.00001221 | ||||
Swap Exact Token... | 44610672 | 1 hr ago | IN | 0 ETH | 0.00001246 | ||||
Swap Exact Token... | 44610490 | 1 hr ago | IN | 0 ETH | 0.00001799 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
44615789 | 1 min ago | 0.00040718 ETH | ||||
44615789 | 1 min ago | 0.00040718 ETH | ||||
44615789 | 1 min ago | 0.0006789 ETH | ||||
44615789 | 1 min ago | 0.0006789 ETH | ||||
44615360 | 8 mins ago | 0.01471346 ETH | ||||
44615360 | 8 mins ago | 0.01471346 ETH | ||||
44615296 | 9 mins ago | 0.00280267 ETH | ||||
44615296 | 9 mins ago | 0.00280267 ETH | ||||
44615215 | 11 mins ago | 0.00325726 ETH | ||||
44615215 | 11 mins ago | 0.00325726 ETH | ||||
44615047 | 14 mins ago | 0.20278 ETH | ||||
44615047 | 14 mins ago | 0.20278 ETH | ||||
44615047 | 14 mins ago | 0.20278 ETH | ||||
44614120 | 30 mins ago | 0.11423707 ETH | ||||
44614120 | 30 mins ago | 0.11423707 ETH | ||||
44614120 | 30 mins ago | 0.11423707 ETH | ||||
44614019 | 31 mins ago | 0.02863899 ETH | ||||
44614019 | 31 mins ago | 0.02863899 ETH | ||||
44614019 | 31 mins ago | 0.02863899 ETH | ||||
44613933 | 33 mins ago | 0.00075869 ETH | ||||
44613933 | 33 mins ago | 0.00075869 ETH | ||||
44613933 | 33 mins ago | 0.00075869 ETH | ||||
44613887 | 34 mins ago | 0.10766687 ETH | ||||
44613887 | 34 mins ago | 0.10766687 ETH | ||||
44613692 | 37 mins ago | 0.001 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
ZFRouter
Compiler Version
v0.8.16+commit.07a7930e
ZkSolc Version
v1.3.8
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; import './ZFRouterInternal.sol'; import '../interfaces/IWETH.sol'; import '../interfaces/protocol/IZFRouter.sol'; import '../interfaces/protocol/core/IZFFactory.sol'; import '../libraries/protocol/ZFLibrary.sol'; import '../libraries/token/ERC20/utils/TransferHelper.sol'; contract ZFRouter is IZFRouter, ZFRouterInternal { address public immutable override factory; address public immutable override WETH; constructor(address _factory, address _WETH) { factory = _factory; WETH = _WETH; } receive() external payable { assert(msg.sender == WETH); // only accept ETH via fallback from the WETH contract } mapping(address => mapping(address => bool)) public override isPairIndexed; mapping(address => address[]) public override indexedPairs; function indexedPairsOf(address account) external view override returns (address[] memory) { return indexedPairs[account]; } function indexedPairsRange(address account, uint256 start, uint256 counts) external view override returns (address[] memory) { require(counts != 0, "Counts must greater than zero"); address[] memory pairs = indexedPairs[account]; require(start + counts <= pairs.length, "Out of bound"); address[] memory result = new address[](counts); for (uint256 i = 0; i < counts; i++) { result[i] = pairs[start + i]; } return result; } function indexedPairsLengthOf(address account) external view override returns (uint256) { return indexedPairs[account].length; } function _addLiquidity( address tokenA, address tokenB, uint amountAInExpected, uint amountBInExpected, uint amountAInMin, uint amountBInMin ) internal virtual returns (address pair, uint amountAInActual, uint amountBInActual) { address _factory = factory; pair = ZFLibrary.pairFor(_factory, tokenA, tokenB); if (pair == address(0)) { // create the pair if it doesn't exist yet pair = IZFFactory(_factory).createPair(tokenA, tokenB); // input amounts are desired amounts for the first time (amountAInActual, amountBInActual) = (amountAInExpected, amountBInExpected); } else { // ensure optimal input amounts (amountAInActual, amountBInActual) = _getOptimalAmountsInForAddLiquidity( pair, tokenA, tokenB, amountAInExpected, amountBInExpected, amountAInMin, amountBInMin ); } } function addLiquidity( address tokenA, address tokenB, uint amountAInExpected, uint amountBInExpected, uint amountAInMin, uint amountBInMin, address to, uint deadline ) external override ensureNotExpired(deadline) returns (uint amountAInActual, uint amountBInActual, uint liquidity) { address pair; (pair, amountAInActual, amountBInActual) = _addLiquidity(tokenA, tokenB, amountAInExpected, amountBInExpected, amountAInMin, amountBInMin); // transfer tokens of (optimal) input amounts to the pair TransferHelper.safeTransferFrom(tokenA, msg.sender, pair, amountAInActual); TransferHelper.safeTransferFrom(tokenB, msg.sender, pair, amountBInActual); // mint the liquidity tokens for sender liquidity = IZFPair(pair).mint(to); // index the pair for search if (!isPairIndexed[to][pair]) { isPairIndexed[to][pair] = true; indexedPairs[to].push(pair); } } function addLiquidityETH( address token, uint amountTokenInExpected, uint amountTokenInMin, uint amountETHInMin, address to, uint deadline ) external override payable ensureNotExpired(deadline) returns (uint amountTokenInActual, uint amountETHInActual, uint liquidity) { address pair; (pair, amountTokenInActual, amountETHInActual) = _addLiquidity(token, WETH, amountTokenInExpected, msg.value, amountTokenInMin, amountETHInMin); // transfer tokens of (optimal) input amounts to the pair TransferHelper.safeTransferFrom(token, msg.sender, pair, amountTokenInActual); IWETH(WETH).deposit{value: amountETHInActual}(); assert(IWETH(WETH).transfer(pair, amountETHInActual)); // mint the liquidity tokens for sender liquidity = IZFPair(pair).mint(to); // refund dust eth, if any if (msg.value > amountETHInActual) { TransferHelper.safeTransferETH(msg.sender, msg.value - amountETHInActual); } // index the pair for search if (!isPairIndexed[to][pair]) { isPairIndexed[to][pair] = true; indexedPairs[to].push(pair); } } function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAOutMin, uint amountBOutMin, address to, uint deadline ) public override ensureNotExpired(deadline) returns (uint amountAOut, uint amountBOut) { address pair = ZFLibrary.pairFor(factory, tokenA, tokenB); (amountAOut, amountBOut) = _burnLiquidity( pair, tokenA, tokenB, liquidity, amountAOutMin, amountBOutMin, to ); } function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) public override ensureNotExpired(deadline) returns (uint amountToken, uint amountETH) { (amountToken, amountETH) = removeLiquidity( token, WETH, liquidity, amountTokenMin, amountETHMin, address(this), deadline ); TransferHelper.safeTransfer(token, to, amountToken); IWETH(WETH).withdraw(amountETH); TransferHelper.safeTransferETH(to, amountETH); } function _permit( address tokenA, address tokenB, bool approveMax, uint liquidity, uint deadline, uint8 v, bytes32 r, bytes32 s ) internal returns (address) { address pair = ZFLibrary.pairFor(factory, tokenA, tokenB); uint256 value = approveMax ? type(uint).max : liquidity; IZFPair(pair).permit(msg.sender, address(this), value, deadline, v, r, s); return pair; } function _removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAOutMin, uint amountBOutMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) internal returns (uint amountAOut, uint amountBOut) { address pair = _permit(tokenA, tokenB, approveMax, liquidity, deadline, v, r, s); (amountAOut, amountBOut) = _burnLiquidity( pair, tokenA, tokenB, liquidity, amountAOutMin, amountBOutMin, to ); } function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAOutMin, uint amountBOutMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external override returns (uint amountAOut, uint amountBOut) { // wrapped to avoid stack too deep errors (amountAOut, amountBOut) = _removeLiquidityWithPermit(tokenA, tokenB, liquidity, amountAOutMin, amountBOutMin, to, deadline, approveMax, v, r, s); } function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external override returns (uint amountToken, uint amountETH) { _permit(token, WETH, approveMax, liquidity, deadline, v, r, s); (amountToken, amountETH) = removeLiquidityETH(token, liquidity, amountTokenMin, amountETHMin, to, deadline); } function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) public override ensureNotExpired(deadline) returns (uint amountETH) { (, amountETH) = removeLiquidity( token, WETH, liquidity, amountTokenMin, amountETHMin, address(this), deadline ); TransferHelper.safeTransfer(token, to, IERC20(token).balanceOf(address(this))); IWETH(WETH).withdraw(amountETH); TransferHelper.safeTransferETH(to, amountETH); } function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external override returns (uint amountETH) { _permit(token, WETH, approveMax, liquidity, deadline, v, r, s); amountETH = removeLiquidityETHSupportingFeeOnTransferTokens( token, liquidity, amountTokenMin, amountETHMin, to, deadline ); } function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external override ensureNotExpired(deadline) returns (uint[] memory amounts) { amounts = ZFLibrary.getAmountsOutUnchecked(factory, amountIn, path); // will fail below if path is invalid // make sure the final output amount not smaller than the minimum require(amounts[amounts.length - 1] >= amountOutMin, 'INSUFFICIENT_OUTPUT_AMOUNT'); address tokenIn = path[0]; address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); TransferHelper.safeTransferFrom(tokenIn, msg.sender, initialPair, amounts[0]); _swapCached(factory, initialPair, amounts, path, to); } function swapExactETHForTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external override payable ensureNotExpired(deadline) returns (uint[] memory amounts) { address tokenIn = path[0]; require(tokenIn == WETH, 'INVALID_PATH'); amounts = ZFLibrary.getAmountsOutUnchecked(factory, msg.value, path); require(amounts[amounts.length - 1] >= amountOutMin, 'INSUFFICIENT_OUTPUT_AMOUNT'); uint256 amountIn = amounts[0]; IWETH(WETH).deposit{value: amountIn}(); address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); assert(IWETH(WETH).transfer(initialPair, amountIn)); _swapCached(factory, initialPair, amounts, path, to); } function swapExactTokensForETH( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external virtual override ensureNotExpired(deadline) returns (uint[] memory amounts) { require(path[path.length - 1] == WETH, 'INVALID_PATH'); amounts = ZFLibrary.getAmountsOutUnchecked(factory, amountIn, path); require(amounts[amounts.length - 1] >= amountOutMin, 'INSUFFICIENT_OUTPUT_AMOUNT'); address tokenIn = path[0]; address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); TransferHelper.safeTransferFrom(tokenIn, msg.sender, initialPair, amounts[0]); _swapCached(factory, initialPair, amounts, path, address(this)); IWETH(WETH).withdraw(amounts[amounts.length - 1]); TransferHelper.safeTransferETH(to, amounts[amounts.length - 1]); } function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external override ensureNotExpired(deadline) returns (uint[] memory amounts) { amounts = ZFLibrary.getAmountsInUnchecked(factory, amountOut, path); // will fail below if path is invalid // make sure the final input amount not bigger than the maximum require(amounts[0] <= amountInMax, 'EXCESSIVE_INPUT_AMOUNT'); address tokenIn = path[0]; address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); TransferHelper.safeTransferFrom(tokenIn, msg.sender, initialPair, amounts[0]); _swapCached(factory, initialPair, amounts, path, to); } function swapETHForExactTokens( uint amountOut, address[] calldata path, address to, uint deadline ) external virtual override payable ensureNotExpired(deadline) returns (uint[] memory amounts) { address tokenIn = path[0]; require(tokenIn == WETH, 'INVALID_PATH'); amounts = ZFLibrary.getAmountsInUnchecked(factory, amountOut, path); uint256 amountIn = amounts[0]; require(amountIn <= msg.value, 'EXCESSIVE_INPUT_AMOUNT'); IWETH(WETH).deposit{value: amountIn}(); address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); assert(IWETH(WETH).transfer(initialPair, amountIn)); _swapCached(factory, initialPair, amounts, path, to); // refund dust eth, if any if (msg.value > amountIn) { TransferHelper.safeTransferETH(msg.sender, msg.value - amountIn); } } function swapTokensForExactETH( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external virtual override ensureNotExpired(deadline) returns (uint[] memory amounts) { require(path[path.length - 1] == WETH, 'INVALID_PATH'); amounts = ZFLibrary.getAmountsInUnchecked(factory, amountOut, path); uint256 amountIn = amounts[0]; require(amountIn <= amountInMax, 'EXCESSIVE_INPUT_AMOUNT'); address tokenIn = path[0]; address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); TransferHelper.safeTransferFrom(tokenIn, msg.sender, initialPair, amountIn); _swapCached(factory, initialPair, amounts, path, address(this)); uint256 _amountOut = amounts[amounts.length - 1]; IWETH(WETH).withdraw(_amountOut); TransferHelper.safeTransferETH(to, _amountOut); } // requires the initial amount to have already been sent to the first pair function _swapSupportingFeeOnTransferTokens(address initialPair, address[] calldata path, address _to) internal virtual { for (uint i; i < path.length - 1; ) { (address input, address output) = (path[i], path[i + 1]); IZFPair pair = IZFPair(i == 0 ? initialPair : ZFLibrary.pairFor(factory, input, output)); uint amountInput; uint amountOutput; { // scope to avoid stack too deep errors (uint reserve0, uint reserve1, uint16 swapFee) = pair.getReservesAndParameters(); (uint reserveIn, uint reserveOut) = input < output ? (reserve0, reserve1) : (reserve1, reserve0); amountInput = IERC20(input).balanceOf(address(pair)) - reserveIn; amountOutput = ZFLibrary.getAmountOut(amountInput, reserveIn, reserveOut, swapFee); } address to = i < path.length - 2 ? ZFLibrary.pairFor(factory, output, path[i + 2]) : _to; if (input < output) { // whether input token is `token0` pair.swapFor1(amountOutput, to); } else { pair.swapFor0(amountOutput, to); } unchecked { ++i; } } } function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external override ensureNotExpired(deadline) { address tokenIn = path[0]; address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); TransferHelper.safeTransferFrom( tokenIn, msg.sender, initialPair, amountIn ); address tokenOut = path[path.length - 1]; uint balanceBefore = IERC20(tokenOut).balanceOf(to); _swapSupportingFeeOnTransferTokens(initialPair, path, to); require( IERC20(tokenOut).balanceOf(to) - balanceBefore >= amountOutMin, 'INSUFFICIENT_OUTPUT_AMOUNT' ); } function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external override payable ensureNotExpired(deadline) { address tokenIn = path[0]; require(tokenIn == WETH, 'INVALID_PATH'); uint amountIn = msg.value; IWETH(WETH).deposit{value: amountIn}(); address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); assert(IWETH(WETH).transfer(initialPair, amountIn)); address tokenOut = path[path.length - 1]; uint balanceBefore = IERC20(tokenOut).balanceOf(to); _swapSupportingFeeOnTransferTokens(initialPair, path, to); require( IERC20(tokenOut).balanceOf(to) - balanceBefore >= amountOutMin, 'INSUFFICIENT_OUTPUT_AMOUNT' ); } function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external override ensureNotExpired(deadline) { require(path[path.length - 1] == WETH, 'INVALID_PATH'); address tokenIn = path[0]; address initialPair = ZFLibrary.pairFor(factory, tokenIn, path[1]); TransferHelper.safeTransferFrom( tokenIn, msg.sender, initialPair, amountIn ); _swapSupportingFeeOnTransferTokens(initialPair, path, address(this)); uint amountOut = IERC20(WETH).balanceOf(address(this)); require(amountOut >= amountOutMin, 'INSUFFICIENT_OUTPUT_AMOUNT'); IWETH(WETH).withdraw(amountOut); TransferHelper.safeTransferETH(to, amountOut); } function quote(uint amountA, uint reserveA, uint reserveB) external pure override returns (uint amountB) { return ZFLibrary.quote(amountA, reserveA, reserveB); } function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external view override returns (uint amountOut) { return ZFLibrary.getAmountOut(amountIn, reserveIn, reserveOut, IZFFactory(factory).swapFee()); } function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external view override returns (uint amountIn) { return ZFLibrary.getAmountIn(amountOut, reserveIn, reserveOut, IZFFactory(factory).swapFee()); } function getAmountsOut(uint amountIn, address[] calldata path) external view override returns (uint[] memory amounts) { return ZFLibrary.getAmountsOut(factory, amountIn, path); } function getAmountsIn(uint amountOut, address[] calldata path) external view override returns (uint[] memory amounts) { return ZFLibrary.getAmountsIn(factory, amountOut, path); } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; import '../interfaces/protocol/core/IZFPair.sol'; import '../libraries/protocol/ZFLibrary.sol'; import '../libraries/token/ERC20/utils/TransferHelper.sol'; abstract contract ZFRouterInternal { /*////////////////////////////////////////////////////////////// INTERNAL FUNCTIONS //////////////////////////////////////////////////////////////*/ modifier ensureNotExpired(uint deadline) { require(block.timestamp <= deadline, 'EXPIRED'); _; } // uncheck the reserves function _quote(uint amountA, uint reserveA, uint reserveB) internal pure returns (uint amountB) { require(amountA != 0, 'INSUFFICIENT_AMOUNT'); //require(reserveA != 0 && reserveB != 0, 'UniswapV2Library: INSUFFICIENT_LIQUIDITY'); // already checked in caller context amountB = amountA * reserveB / reserveA; } // uncheck identical addresses and zero address function _getReserves(address pair, address tokenA, address tokenB) internal view returns (uint reserveA, uint reserveB) { (uint reserve0, uint reserve1) = IZFPair(pair).getReservesSimple(); // no need to check identical addresses and zero address, as it was checked when pair creation (reserveA, reserveB) = tokenA < tokenB ? (reserve0, reserve1) : (reserve1, reserve0); } /*////////////////////////////////////////////////////////////// Add Liquidity //////////////////////////////////////////////////////////////*/ /** * @dev Return the optimal amounts of input tokens for adding liquidity. * * @param pair The pair address of `token A` and `token B`. * @param tokenA The address of `token A`. * @param tokenB The address of `token B`. * @param amountAInExpected The expected (desired) input amount of `token A`. * @param amountBInExpected The expected (desired) input amount of `token B`. * @param amountAInMin The minimum allowed input amount of `token A`. * @param amountBInMin The minimum allowed input amount of `token B`. * * Return uint256 values indicating the (possibly optimal) input amounts of tokens. * * The execution will revert if the optimal amounts are smaller than the minimum. * * NOTE: Optimal amounts are the same as expected if it's the first time * to add liquidity for the pair (reserves are 0). * * Requirements: * * - `tokenA` is not the same with `tokenB`. * - `tokenA` and `tokenB` are not zero addresses. * - `amountAInExpected` and `amountBInExpected` are not zero. */ function _getOptimalAmountsInForAddLiquidity( address pair, address tokenA, address tokenB, uint amountAInExpected, uint amountBInExpected, uint amountAInMin, uint amountBInMin ) internal view returns (uint amountAIn, uint amountBIn) { (uint reserveA, uint reserveB) = _getReserves(pair, tokenA, tokenB); if (reserveA == 0 && reserveB == 0) { // the first time of adding liquidity (amountAIn, amountBIn) = (amountAInExpected, amountBInExpected); } else { uint amountBInOptimal = _quote(amountAInExpected, reserveA, reserveB); // checks if trading price of B are the same or have increased if (amountBInOptimal <= amountBInExpected) { // may found a better (smaller) B amount, compare with the minimum require(amountBInOptimal >= amountBInMin, 'INSUFFICIENT_B_AMOUNT'); (amountAIn, amountBIn) = (amountAInExpected, amountBInOptimal); } else { uint amountAInOptimal = _quote(amountBInExpected, reserveB, reserveA); // always true as price of B are the same or can only // decreasing (price of A have increased) in above checking //assert(amountAInOptimal <= amountAInExpected); // may found a better (smaller) A amount, compare with the minimum // this could happend if trading price of A have increased require(amountAInOptimal >= amountAInMin, 'INSUFFICIENT_A_AMOUNT'); (amountAIn, amountBIn) = (amountAInOptimal, amountBInExpected); } } } /*////////////////////////////////////////////////////////////// Remove Liquidity //////////////////////////////////////////////////////////////*/ /** * @dev Return the output amounts of tokens by removeing liquidity. * * @param tokenA The address of `token A`. * @param tokenB The address of `token B`. * @param liquidity The amount of liquidity tokens to burn. * @param amountAOutMin The minimum allowed output amount of `token A`. * @param amountBOutMin The minimum allowed output amount of `token B`. * * Return uint256 values indicating the actual output amounts of tokens. * * The execution will revert if the output amounts are smaller than the minimum. * * NOTE: Liquidity tokens must have enough allowances before calling. * * Emits an {Burn} event for the pair after successfully removal. */ function _burnLiquidity( address pair, address tokenA, address tokenB, uint liquidity, uint amountAOutMin, uint amountBOutMin, address to ) internal returns (uint amountAOut, uint amountBOut) { // send liquidity tokens to the pair and burn it atomically IZFPair(pair).transferFrom(msg.sender, pair, liquidity); (uint amount0, uint amount1) = IZFPair(pair).burn(to); // no need to check identical addresses and zero address, as it was checked when pair creation (amountAOut, amountBOut) = tokenA < tokenB ? (amount0, amount1) : (amount1, amount0); require(amountAOut >= amountAOutMin, 'INSUFFICIENT_A_AMOUNT'); require(amountBOut >= amountBOutMin, 'INSUFFICIENT_B_AMOUNT'); } /*////////////////////////////////////////////////////////////// Swap //////////////////////////////////////////////////////////////*/ // requires the initial amount to have already been sent to the first pair /* function _swap(address initialPair, uint[] memory amounts, address[] memory path, address to) internal { // not in use for (uint i; i < path.length - 1; i++) { (address input, address output) = (path[i], path[i + 1]); uint amountOut = amounts[i + 1]; // output amount of current sub swap. // no need to check identical addresses and zero address, as it was checked when pair creation. (uint amount0Out, uint amount1Out) = input < output ? (uint(0), amountOut) : (amountOut, uint(0)); // calculate whether the to address is the next pair or the sender (destination): // path[i] = `input`, path[i + 1] = `output`, path[i + 2] = `next to output` // while the next pair is comprised of `output` nad `next to output`. address currentTo = i < path.length - 2 ? ZFLibrary.pairFor(_factory, output, path[i + 2]) : to; // perfrom the swap, ingredient tokens have already transferred by the // last sub swap with `to` or its caller function. address pair = i == 0 ? initialPair : ZFLibrary.pairFor(_factory, input, output); // use initial pair; ILiquidityPair(pair).swap(amount0Out, amount1Out, currentTo, new bytes(0)); } } */ // requires the initial amount to have already been sent to the first pair function _swapCached(address _factory, address initialPair, uint[] memory amounts, address[] calldata path, address to) internal { // cache next pair, this can save `path.length - 1` storage accessing pair addresses. address nextPair = initialPair; for (uint i; i < path.length - 1; ) { (address input, address output) = (path[i], path[i + 1]); uint amountOut = amounts[i + 1]; // output amount of current sub swap. // calculate whether the `to` address is the next pair or the sender (destination): // path[i] = `input`, path[i + 1] = `output`, path[i + 2] = `next to output` // while the next pair is comprised of `output` nad `next to output`. if (i < path.length - 2) { // `to` is a next pair address pair = nextPair; nextPair = ZFLibrary.pairFor(_factory, output, path[i + 2]); // cache `to` as `nextPair` for the next sub swap. // perfrom the swap, ingredient tokens have already transferred by the // last sub swap with `to` or its caller function. _swapSingle(pair, amountOut, input, output, nextPair); } else { // finally, `to` is the sender // perfrom the swap, ingredient tokens have already transferred by the // last sub swap with `to` or its caller function. _swapSingle(nextPair, amountOut, input, output, to); } unchecked { ++i; } } } function _swapSingle(address pair, uint amountOut, address tokenIn, address tokenOut, address to) internal { if (tokenIn < tokenOut) { // whether input token is `token0` IZFPair(pair).swapFor1(amountOut, to); } else { IZFPair(pair).swapFor0(amountOut, to); } } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `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); /** * @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); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; /** * @dev Interface for the optional metadata functions from the ERC20 standard. */ interface IERC20Metadata { /** * @dev Returns the name of the token. */ function name() external view returns (string memory); /** * @dev Returns the symbol of the token. */ function symbol() external view returns (string memory); /** * @dev Returns the decimals places of the token. */ function decimals() external view returns (uint8); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; /** * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. * * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't * need to send a transaction, and thus is not required to hold Ether at all. */ interface IERC20Permit { /** * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens, * given ``owner``'s signed approval. * * IMPORTANT: The same issues {IERC20-approve} has related to transaction * ordering also apply here. * * Emits an {Approval} event. * * Requirements: * * - `spender` cannot be the zero address. * - `deadline` must be a timestamp in the future. * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` * over the EIP712-formatted function arguments. * - the signature must use ``owner``'s current nonce (see {nonces}). * * For more information on the signature format, see the * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP * section]. */ function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; /** * @dev Returns the current nonce for `owner`. This value must be * included whenever a signature is generated for {permit}. * * Every successful call to {permit} increases ``owner``'s nonce by one. This * prevents a signature from being used multiple times. */ function nonces(address owner) external view returns (uint256); /** * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}. */ // solhint-disable-next-line func-name-mixedcase function DOMAIN_SEPARATOR() external view returns (bytes32); /** * @dev Returns the permit typehash */ // solhint-disable-next-line func-name-mixedcase function PERMIT_TYPEHASH() external pure returns (bytes32); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; interface IWETH { function deposit() external payable; function transfer(address to, uint value) external returns (bool); function withdraw(uint) external; function balanceOf(address guy) external returns (uint); function approve(address guy, uint wad) external returns (bool); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; import './uniswap/IUniswapV2Router02.sol'; interface IZFRouter is IUniswapV2Router02 { function isPairIndexed(address account, address pair) external view returns (bool); function indexedPairs(address account, uint256) external view returns (address); function indexedPairsOf(address account) external view returns (address[] memory); function indexedPairsRange(address account, uint256 start, uint256 counts) external view returns (address[] memory); function indexedPairsLengthOf(address account) external view returns (uint256); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; import "./uniswap/IUniswapV2Factory.sol"; /// @dev ZF factory interface with full Uniswap V2 compatibility interface IZFFactory is IUniswapV2Factory { function isPair(address pair) external view returns (bool); function acceptFeeToSetter() external; function swapFee() external view returns (uint16); function setSwapFee(uint16 newFee) external; function protocolFeeFactor() external view returns (uint8); function setProtocolFeeFactor(uint8 newFactor) external; function setSwapFeeOverride(address pair, uint16 swapFeeOverride) external; }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; import "./uniswap/IUniswapV2Pair.sol"; /// @dev ZF pair interface with full Uniswap V2 compatibility interface IZFPair is IUniswapV2Pair { function getPrincipal(address account) external view returns (uint112 principal0, uint112 principal1, uint32 timeLastUpdate); function swapFor0(uint amount0Out, address to) external; // support simple swap function swapFor1(uint amount1Out, address to) external; // support simple swap function getReservesAndParameters() external view returns (uint112 reserve0, uint112 reserve1, uint16 swapFee); function getReservesSimple() external view returns (uint112, uint112); function swapFeeOverride() external view returns (uint16); function setSwapFeeOverride(uint16 newSwapFeeOverride) external; function getSwapFee() external view returns (uint16); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.5.0; /// @dev Uniswap V2 factory interface interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.5.0; import '../../../ERC20/IERC20.sol'; import '../../../ERC20/IERC20Metadata.sol'; import '../../../ERC20/IERC20Permit.sol'; /// @dev Uniswap V2 pair interface interface IUniswapV2Pair is IERC20, IERC20Metadata, IERC20Permit { //event Approval(address indexed owner, address indexed spender, uint value); // IERC20 //event Transfer(address indexed from, address indexed to, uint value); // IERC20 //function name() external pure returns (string memory); // IERC20Metadata //function symbol() external pure returns (string memory); // IERC20Metadata //function decimals() external pure returns (uint8); // IERC20Metadata //function totalSupply() external view returns (uint); // IERC20 //function balanceOf(address owner) external view returns (uint); // IERC20 //function allowance(address owner, address spender) external view returns (uint); // IERC20 //function approve(address spender, uint value) external returns (bool); // IERC20 //function transfer(address to, uint value) external returns (bool); // IERC20 //function transferFrom(address from, address to, uint value) external returns (bool); // IERC20 //function DOMAIN_SEPARATOR() external view returns (bytes32); // IERC20Permit //function PERMIT_TYPEHASH() external pure returns (bytes32); // IERC20Permit //function nonces(address owner) external view returns (uint); // IERC20Permit //function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; // IERC20Permit event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); //function MINIMUM_LIQUIDITY() external pure returns (uint); // UNUSED function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; //function initialize(address, address) external; // UNUSED }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.6.2; interface IUniswapV2Router01 { function factory() external view returns (address); function WETH() external view returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external view returns (uint amountOut); // pure -> view function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external view returns (uint amountIn); // pure -> view function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity >=0.6.2; import './IUniswapV2Router01.sol'; interface IUniswapV2Router02 is IUniswapV2Router01 { function removeLiquidityETHSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountETH); function removeLiquidityETHWithPermitSupportingFeeOnTransferTokens( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountETH); function swapExactTokensForTokensSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; function swapExactETHForTokensSupportingFeeOnTransferTokens( uint amountOutMin, address[] calldata path, address to, uint deadline ) external payable; function swapExactTokensForETHSupportingFeeOnTransferTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external; }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; import '../utils/math/Math.sol'; import '../../interfaces/protocol/core/IZFPair.sol'; import '../../interfaces/protocol/core/IZFFactory.sol'; library ZFLibrary { /** * @dev Sort token addresses to ascending order. */ function sortTokens(address tokenA, address tokenB) internal pure returns (address token0, address token1) { require(tokenA != tokenB, 'IDENTICAL_ADDRESSES'); (token0, token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA); require(token0 != address(0), 'ZERO_ADDRESS'); } /** * @dev Fetches pair address with given tokens. * * It will fetches from the storage instead of calculation with CREATE2, * because the limitation of zkSync 2.0. * * Note it will returns `address(0)` for non-exist pairs. * Consider reuse the pair address to avoid multiple storage accesses. */ function pairFor(address factory, address tokenA, address tokenB) internal view returns (address pair) { return IZFFactory(factory).getPair(tokenA, tokenB); } /** * @dev Fetches pair with given tokens, returns its reserves in the given order. */ function getReserves(address factory, address tokenA, address tokenB) internal view returns (uint112 reserveA, uint112 reserveB, uint16 swapFee) { address pair = pairFor(factory, tokenA, tokenB); if (pair != address(0)) { (uint112 reserve0, uint112 reserve1, uint16 _swapFee) = IZFPair(pair).getReservesAndParameters(); (reserveA, reserveB) = tokenA < tokenB ? (reserve0, reserve1) : (reserve1, reserve0); swapFee = _swapFee; } } /** * @dev Fetches reserves with given pair in the given order. */ function getReservesWithPair(address pair, address tokenA, address tokenB) internal view returns (uint112 reserveA, uint112 reserveB, uint16 swapFee) { (uint112 reserve0, uint112 reserve1, uint16 _swapFee) = IZFPair(pair).getReservesAndParameters(); (reserveA, reserveB) = tokenA < tokenB ? (reserve0, reserve1) : (reserve1, reserve0); swapFee = _swapFee; } /** * @dev Fetches pair with given tokens, returns pair address and its reserves in the given order if exists. */ function getPairAndReserves(address factory, address tokenA, address tokenB) internal view returns (address pair, uint112 reserveA, uint112 reserveB, uint16 swapFee) { pair = pairFor(factory, tokenA, tokenB); if (pair != address(0)) { // return empty values if pair not exists (uint112 reserve0, uint112 reserve1, uint16 _swapFee) = IZFPair(pair).getReservesAndParameters(); (reserveA, reserveB) = tokenA < tokenB ? (reserve0, reserve1) : (reserve1, reserve0); swapFee = _swapFee; } } /** * @dev Returns an equivalent amount of the other asset. */ function quote(uint amountA, uint reserveA, uint reserveB) internal pure returns (uint amountB) { require(amountA > 0, 'INSUFFICIENT_AMOUNT'); require(reserveA > 0 && reserveB > 0, 'INSUFFICIENT_LIQUIDITY'); amountB = amountA * reserveB / reserveA; } /** * @dev Returns the maximum amount of the output asset. */ function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut, uint swapFee) internal pure returns (uint amountOut) { require(amountIn > 0, 'INSUFFICIENT_INPUT_AMOUNT'); require(reserveIn > 0 && reserveOut > 0, 'INSUFFICIENT_LIQUIDITY'); uint amountInAfterFee = amountIn * (10000 - swapFee); uint numerator = amountInAfterFee * reserveOut; uint denominator = (reserveIn * 10000) + amountInAfterFee; amountOut = numerator / denominator; } /** * @dev Returns a required amount of the input asset. */ function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut, uint swapFee) internal pure returns (uint amountIn) { require(amountOut > 0, 'INSUFFICIENT_OUTPUT_AMOUNT'); require(reserveIn > 0 && reserveOut > 0, 'INSUFFICIENT_LIQUIDITY'); uint numerator = reserveIn * amountOut * 10000; uint denominator = (reserveOut - amountOut) * (10000 - swapFee); amountIn = (numerator / denominator) + 1; } /** * @dev Performs chained `getAmountOut` calculations on any number of pairs */ function getAmountsOut(address factory, uint amountIn, address[] memory path) internal view returns (uint[] memory amounts) { require(path.length >= 2, 'INVALID_PATH'); amounts = getAmountsOutUnchecked(factory, amountIn, path); } /** * @dev {getAmountsOut} without path length checks */ function getAmountsOutUnchecked(address factory, uint amountIn, address[] memory path) internal view returns (uint[] memory amounts) { amounts = new uint[](path.length); amounts[0] = amountIn; for (uint i; i < path.length - 1; ) { (uint112 reserveIn, uint112 reserveOut, uint16 swapFee) = getReserves(factory, path[i], path[i + 1]); amounts[i + 1] = getAmountOut(amounts[i], reserveIn, reserveOut, swapFee); unchecked { ++i; } } } /** * @dev Performs chained getAmountIn calculations on any number of pairs */ function getAmountsIn(address factory, uint amountOut, address[] memory path) internal view returns (uint[] memory amounts) { require(path.length >= 2, 'INVALID_PATH'); amounts = getAmountsInUnchecked(factory, amountOut, path); } /** * @dev {getAmountsIn} without path length checks */ function getAmountsInUnchecked(address factory, uint amountOut, address[] memory path) internal view returns (uint[] memory amounts) { amounts = new uint[](path.length); amounts[amounts.length - 1] = amountOut; for (uint i = path.length - 1; i > 0; ) { (uint112 reserveIn, uint112 reserveOut, uint16 swapFee) = getReserves(factory, path[i - 1], path[i]); amounts[i - 1] = getAmountIn(amounts[i], reserveIn, reserveOut, swapFee); unchecked { --i; } } } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; /// @dev Helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false library TransferHelper { function safeTransfer( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transfer(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::safeTransfer: transfer failed' ); } function safeTransferFrom( address token, address from, address to, uint256 value ) internal { // bytes4(keccak256(bytes('transferFrom(address,address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::transferFrom: transferFrom failed' ); } function safeApprove( address token, address to, uint256 value ) internal { // bytes4(keccak256(bytes('approve(address,uint256)'))); (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value)); require( success && (data.length == 0 || abi.decode(data, (bool))), 'TransferHelper::safeApprove: approve failed' ); } function safeTransferETH(address to, uint value) internal { (bool success,) = to.call{value:value}(new bytes(0)); require(success, 'TransferHelper: ETH_TRANSFER_FAILED'); } }
// SPDX-License-Identifier: AGPL-3.0-or-later pragma solidity ^0.8.0; /** * @dev A library for performing various math operations. */ library Math { /** * @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; } /** * @notice Calculates the square root of x, rounding down. * @dev Uses the Babylonian method https://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Babylonian_method. * @param x The uint256 number for which to calculate the square root. * @return result The result as an uint256. * * See https://github.com/paulrberg/prb-math/blob/701b1badb9a0951f27e344602726ead71f138b1a/contracts/PRBMath.sol#L599 */ function sqrt(uint256 x) internal pure returns (uint256 result) { if (x == 0) { return 0; } // Set the initial guess to the least power of two that is greater than or equal to sqrt(x). uint256 xAux = uint256(x); result = 1; if (xAux >= 0x100000000000000000000000000000000) { xAux >>= 128; result <<= 64; } if (xAux >= 0x10000000000000000) { xAux >>= 64; result <<= 32; } if (xAux >= 0x100000000) { xAux >>= 32; result <<= 16; } if (xAux >= 0x10000) { xAux >>= 16; result <<= 8; } if (xAux >= 0x100) { xAux >>= 8; result <<= 4; } if (xAux >= 0x10) { xAux >>= 4; result <<= 2; } if (xAux >= 0x8) { result <<= 1; } // The operations can never overflow because the result is max 2^127 when it enters this block. unchecked { result = (result + x / result) >> 1; result = (result + x / result) >> 1; result = (result + x / result) >> 1; result = (result + x / result) >> 1; result = (result + x / result) >> 1; result = (result + x / result) >> 1; result = (result + x / result) >> 1; // Seven iterations should be enough uint256 roundedDownResult = x / result; return result >= roundedDownResult ? roundedDownResult : result; } } }
{ "compilerPath": "", "experimental": {}, "optimizer": { "enabled": true, "mode": "3" } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_WETH","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"amountAInExpected","type":"uint256"},{"internalType":"uint256","name":"amountBInExpected","type":"uint256"},{"internalType":"uint256","name":"amountAInMin","type":"uint256"},{"internalType":"uint256","name":"amountBInMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidity","outputs":[{"internalType":"uint256","name":"amountAInActual","type":"uint256"},{"internalType":"uint256","name":"amountBInActual","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"amountTokenInExpected","type":"uint256"},{"internalType":"uint256","name":"amountTokenInMin","type":"uint256"},{"internalType":"uint256","name":"amountETHInMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"addLiquidityETH","outputs":[{"internalType":"uint256","name":"amountTokenInActual","type":"uint256"},{"internalType":"uint256","name":"amountETHInActual","type":"uint256"},{"internalType":"uint256","name":"liquidity","type":"uint256"}],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountIn","outputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"reserveIn","type":"uint256"},{"internalType":"uint256","name":"reserveOut","type":"uint256"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsIn","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"indexedPairs","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"indexedPairsLengthOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"indexedPairsOf","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"counts","type":"uint256"}],"name":"indexedPairsRange","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isPairIndexed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountA","type":"uint256"},{"internalType":"uint256","name":"reserveA","type":"uint256"},{"internalType":"uint256","name":"reserveB","type":"uint256"}],"name":"quote","outputs":[{"internalType":"uint256","name":"amountB","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAOutMin","type":"uint256"},{"internalType":"uint256","name":"amountBOutMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidity","outputs":[{"internalType":"uint256","name":"amountAOut","type":"uint256"},{"internalType":"uint256","name":"amountBOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETH","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"removeLiquidityETHSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermit","outputs":[{"internalType":"uint256","name":"amountToken","type":"uint256"},{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountTokenMin","type":"uint256"},{"internalType":"uint256","name":"amountETHMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityETHWithPermitSupportingFeeOnTransferTokens","outputs":[{"internalType":"uint256","name":"amountETH","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenA","type":"address"},{"internalType":"address","name":"tokenB","type":"address"},{"internalType":"uint256","name":"liquidity","type":"uint256"},{"internalType":"uint256","name":"amountAOutMin","type":"uint256"},{"internalType":"uint256","name":"amountBOutMin","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"bool","name":"approveMax","type":"bool"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"removeLiquidityWithPermit","outputs":[{"internalType":"uint256","name":"amountAOut","type":"uint256"},{"internalType":"uint256","name":"amountBOut","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapETHForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactETHForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForETHSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountIn","type":"uint256"},{"internalType":"uint256","name":"amountOutMin","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapExactTokensForTokensSupportingFeeOnTransferTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactETH","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountOut","type":"uint256"},{"internalType":"uint256","name":"amountInMax","type":"uint256"},{"internalType":"address[]","name":"path","type":"address[]"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"deadline","type":"uint256"}],"name":"swapTokensForExactTokens","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000dc18c75158a6cb69d8bf2459b4e05c4ec98c742c5ae19b16f19c31fffc8000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000400000000000000000000000003a76e377ed58c8731f9df3a36155942438744ce30000000000000000000000005aea5775959fbc2557cc8789bc1bf90a239d9a91
Deployed Bytecode
0x00040000000000020000000003010019000000600330027000000d4d043001970003000000410355000200000001035500000d4d0030019d000100000000001f00000001012001900000000b0000c13d352f00800000040f0000000001000416000000000110004c000000490000c13d0000000001000031000000df02100039000000200300008a000000000232016f000000bf0320008c0000001a0000213d00000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400020043f0000001f0210018f00000002030003670000000504100272000000280000613d00000000050000190000000506500210000000000763034f000000000707043b000000c00660003900000000007604350000000105500039000000000645004b000000200000413d000000000520004c000000370000613d0000000504400210000000000343034f0000000302200210000000c004400039000000000504043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f000000000024043500000d4e02000041000000400310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c000000490000c13d000000c00100043d00000d4f0210009c000000490000213d000000e00200043d00000d4f0320009c0000004b0000a13d00000000010000190000353100010430000000800010043f000000a00020043f000000800100043d00000140000004430000016000100443000000a00100043d00000020020000390000018000200443000001a00010044300000100002004430000000201000039000001200010044300000d5001000041000035300001042e00000d4d0300004100000d4d0410009c0000000001038019000000400110021000000d4d0420009c00000000020380190000006002200210000000000112019f000000000200041400000d4d0420009c0000000002038019000000c002200210000000000112019f00000d53011001c70000801002000039352f352a0000040f00000001022001900000006d0000613d000000000101043b000000000001042d00000000010000190000353100010430000000000301001900000d4d01000041000000000400041400000d4d0540009c0000000001044019000000c0011002100000006002200210000000000112001900000d54011000410000000002030019352f352a0000040f00000001022001900000007e0000613d000000000101043b000000000001042d00000000010000190000353100010430000d0000000000020000008001000039000000400010043f0000000002000031000000040120008c000000d10000413d000d00000000001d0000000201000367000000000301043b000000e00330027000000d560430009c000000e20000a13d00000d570430009c000001710000a13d00000d580430009c000001870000213d00000d5e0130009c000004990000213d00000d610130009c00000af50000613d00000d620130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000400310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000000402100370000000000202043b00000d4f0320009c00000d920000213d0000002401100370000000000101043b000c00000001001d00000000002004350000000101000039000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000201041a0000000c03000029000000000223004b00000d920000813d0000000c02000029352f20700000040f0000000302200210000000000101041a000000000121022f00000d4f01100197000000ff0220008c0000000001002019000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e000000000120004c00000d920000c13d00000d55010000410000000000100439000000000100041200000004001004430000002001000039000000240010044300008005010000390000004402000039352f006f0000040f00000d4f011001970000000002000411000000000112004b0000118f0000c13d0000000001000019000035300001042e00000d6c0430009c0000013b0000213d00000d760130009c000001eb0000a13d00000d770130009c0000032f0000213d00000d7a0130009c000006020000613d00000d7b0130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000001600310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000000402100370000000000202043b000000000402001900000d4f0220009c00000d920000213d0000002402100370000000000202043b000000000902001900000d4f0220009c00000d920000213d0000004402100370000000000a02043b000000a402100370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d000000e402100370000000000302043b000000000230004c0000000002000019000000010200c039000000000223004b00000d920000c13d0000010402100370000000000602043b000000ff0260008c00000d920000213d0000014402100370000000000802043b0000012402100370000000000702043b000000c401100370000000000501043b0000000001040019000b00000001001d0000000002090019000a00000002001d00000000040a0019000900000004001d352f22c30000040f00000002020003670000006403200370000000000503043b0000008402200370000000000602043b0000000b020000290000000a0300002900000009040000290000000c07000029352f2b4d0000040f000000400300043d00000020043000390000000000240435000000000013043500000d4d0100004100000d4d0230009c0000000001034019000000400110021000000d99011001c7000035300001042e00000d6d0430009c000002cb0000a13d00000d6e0430009c0000040a0000213d00000d710130009c0000062d0000613d00000d720130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000600310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002020003670000000401200370000000000101043b00000d4f0310009c00000d920000213d0000002403200370000000000303043b0000004402200370000000000402043b000000000240004c00000c560000c13d000000400100043d000000440210003900000da003000041000000000032043500000024021000390000001d03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000d630430009c000003040000a13d00000d640430009c000004480000213d00000d670130009c0000082f0000613d00000d680130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d0000000001000031352f1fcf0000040f352f23d10000040f000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e00000d590430009c000005280000213d00000d5c0130009c00000b190000613d00000d5d0130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000001000310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000000402100370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d0000002402100370000000000202043b000b00000002001d00000d4f0220009c00000d920000213d000000c401100370000000000101043b00000d4f02100197000a00000002001d00000d4f0110009c00000d920000213d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000201043b0000000201000367000000e403100370000000000303043b000000000232004b00000bd10000213d000000a402100370000000000602043b0000008402100370000000000502043b0000006402100370000000000402043b0000004401100370000000000301043b0000000c010000290000000b02000029352f20cc0000040f0000000005010019000900000005001d0000000004020019000800000003001d0000000002000411000700000002001d0000000c010000290000000003050019000600000004001d352f34210000040f0000000b01000029000000070200002900000009030000290000000804000029352f34210000040f00000d8e01000041000000400900043d000000000019043500000004019000390000000a02000029000000000021043500000000010004140000000d06000029000000090200002900000d4f05200197000000040250008c000b00000005001d000c00000006001d00000db40000c13d000000010300003100000f1d0000013d00000d7c0130009c00000a300000613d00000d7d0130009c000008f10000613d00000d7e0130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d0000000001000031000000040210008a00000d4e03000041000000a00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d00000002020003670000002403200370000000000303043b000a00000003001d0000000403200370000000000303043b000b00000003001d0000004403200370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000513004b0000000005000019000000000504801900000d4e0610019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000800000003001d000000000332034f000000000303043b000900000003001d00000d7f0330009c00000d920000213d0000000c03000029000000240430003900000009030000290000000503300210000600000004001d000700000003001d0000000004430019000000000114004b00000d920000213d0000006401200370000000000101043b000500000001001d00000d4f0110009c00000d920000213d0000008401200370000000000101043b000400000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039000300000004001d352f352a0000040f000000010220019000000d920000613d000000000101043b0000000402000029000000000121004b00000bd10000213d0000000901000029000000000110004c00000ca30000613d0000000701000029000000080200002900000000011200190000000201100367000000000101043b000800000001001d00000d4f0110009c00000d920000213d00000d550100004100000000001004390000000001000412000400000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f011001970000000802000029000000000112004b00000dc40000c13d00000d5501000041000000000010043900000004010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d00000007020000290000003f02200039000000200300008a000000000232016f000000000101043b000700000001001d000000400300043d0000000001230019000000000231004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d0000000002000031000000400010043f000000090100002900000000001304350000000306000029000000000126004b00000d920000213d000000000103001900000006020000290000000204200367000000000404043b00000d4f0540009c00000d920000213d000000200110003900000000004104350000002002200039000000000462004b000002900000413d00000007010000290000000b02000029352f2fff0000040f000b00000001001d0000000021010434000400000002001d000000000210004c00000ca30000613d00000005011002100000000b02000029000000000121001900000000010104330000000a02000029000000000121004b0000076d0000413d00000002010003670000000602000029000000000221034f000000000202043b000a00000002001d00000d4f0220009c00000d920000213d0000000902000029000000010220008c000009840000a13d0000000c020000290000004402200039000000000121034f000000000201043b00000d4f0120009c00000d920000213d000000400400043d00000d89010000410000000000140435000000240340003900000000010004140000000000230435000c00000004001d00000004024000390000000a030000290000000000320435000000070200002900000d4f02200197000000040320008c0000185e0000c13d0000000103000031000000200130008c00000020040000390000000004034019000018900000013d00000d730130009c00000aa00000613d00000d740130009c0000092b0000613d00000d750130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000400310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002020003670000000401200370000000000101043b00000d4f0310009c00000d920000213d0000002402200370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d0000000000100435000000200000043f0000004002000039000b00000002001d0000000001000019352f00590000040f0000000c020000290000000000200435000000200010043f00000000010000190000000b02000029352f00590000040f000000000101041a000000ff011001900000000001000019000000010100c039000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e00000d690130009c00000ad00000613d00000d6a0130009c0000098a0000613d00000d6b0130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000000310004c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d000000400100043d000c00000001001d00000d55010000410000000000100439000000000100041200000004001004430000002001000039000000240010044300008005010000390000004402000039352f006f0000040f00000d4f011001970000000c03000029000000000013043500000d4d0100004100000d4d0230009c0000000001034019000000400110021000000d9a011001c7000035300001042e00000d780130009c000006d60000613d00000d790130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d0000000001000031000000040210008a00000d4e03000041000000a00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d00000002020003670000002403200370000000000303043b000a00000003001d0000000403200370000000000303043b000b00000003001d0000004403200370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000513004b0000000005000019000000000504801900000d4e0610019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000800000003001d000000000332034f000000000303043b000900000003001d00000d7f0330009c00000d920000213d0000000c03000029000000240430003900000009030000290000000503300210000600000004001d000700000003001d0000000004430019000000000114004b00000d920000213d0000006401200370000000000101043b000500000001001d00000d4f0110009c00000d920000213d0000008401200370000000000101043b000400000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039000300000004001d352f352a0000040f000000010220019000000d920000613d000000000101043b0000000402000029000000000121004b00000bd10000213d0000000901000029000000000110004c00000ca30000613d0000000701000029000000080200002900000000011200190000000201100367000000000101043b000800000001001d00000d4f0110009c00000d920000213d00000d550100004100000000001004390000000001000412000400000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f011001970000000802000029000000000112004b00000dc40000c13d00000d5501000041000000000010043900000004010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d00000007020000290000003f02200039000000200300008a000000000232016f000000000101043b000700000001001d000000400300043d0000000001230019000000000231004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d0000000002000031000000400010043f000000090100002900000000001304350000000306000029000000000126004b00000d920000213d000000000103001900000006020000290000000204200367000000000404043b00000d4f0540009c00000d920000213d000000200110003900000000004104350000002002200039000000000462004b000003d20000413d00000007010000290000000b02000029352f31c80000040f000b00000001001d0000000012010434000000000220004c000009840000613d00000000020104330000000a01000029000400000002001d000000000112004b00000a1e0000213d00000002010003670000000602000029000000000221034f000000000202043b000a00000002001d00000d4f0220009c00000d920000213d0000000902000029000000020220008c000009840000413d0000000c020000290000004402200039000000000121034f000000000201043b00000d4f0120009c00000d920000213d000000400400043d00000d89010000410000000000140435000000240340003900000000010004140000000000230435000c00000004001d00000004024000390000000a030000290000000000320435000000070200002900000d4f02200197000000040320008c0000190a0000c13d0000000103000031000000200130008c000000200400003900000000040340190000193c0000013d00000d6f0430009c0000077f0000613d00000d700130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000600310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000004402100370000000000202043b000a00000002001d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000800000001001d000000400200043d00000d9e01000041000c00000002001d00000000001204350000000001000414000b00000001001d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f02100197000000040120008c00000ca90000c13d0000000103000031000000200130008c000000200400003900000000040340190000000c0a00002900000cdc0000013d00000d650430009c000008590000613d00000d660130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000e00310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000000402100370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d0000002402100370000000000202043b000b00000002001d00000d4f0220009c00000d920000213d000000a401100370000000000101043b000a00000001001d00000d4f0110009c00000d920000213d00000d800100004100000000001004390000800b010000390000000402000039352f006f0000040f000000c4020000390000000202200367000000000202043b000000000121004b0000000001000019000000010100a039352f20b70000040f00000d5501000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039352f006f0000040f0000000c020000290000000b03000029352f2ec60000040f00000002020003670000004403200370000000000403043b0000006403200370000000000503043b0000008402200370000000000602043b0000000c020000290000000b030000290000000a07000029352f2b4d0000040f000000400300043d00000020043000390000000000240435000000000013043500000d4d0100004100000d4d0230009c0000000001034019000000400110021000000d99011001c7000035300001042e00000d5f0130009c00000b730000613d00000d600130009c00000d920000c13d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000001400310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000000402100370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d0000006402100370000000000202043b000900000002001d0000004402100370000000000202043b000800000002001d0000002402100370000000000202043b000b00000002001d0000008402100370000000000202043b000a00000002001d00000d4f0220009c00000d920000213d000000a402100370000000000202043b000700000002001d000000c402100370000000000302043b000000000230004c0000000002000019000000010200c039000600000003001d000000000223004b00000d920000c13d000000e402100370000000000202043b000500000002001d000000ff0220008c00000d920000213d0000012402100370000000000202043b000400000002001d0000010401100370000000000101043b000300000001001d00000d550100004100000000001004390000000001000412000200000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000201043b0000000c01000029000100000002001d00000006030000290000000b040000290000000705000029000000050600002900000003070000290000000408000029352f22c30000040f00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000702000029000000000121004b00000bd10000213d00000d5501000041000000000010043900000002010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000201043b000000400500043d00000d89010000410000000000150435000000040350003900000000010004140000000c040000290000000000430435000000010300002900000d4f04300197000700000005001d0000002403500039000600000004001d000000000043043500000d4f02200197000000040320008c000010910000c13d0000000103000031000000200130008c00000020040000390000000004034019000010c30000013d00000d5a0430009c00000b9e0000613d00000d5b0330009c00000d920000c13d000000040320008a00000d4e04000041000000800530008c0000000005000019000000000504401900000d4e03300197000000000630004c000000000400a01900000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000403100370000000000303043b000b00000003001d0000002403100370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000523004b0000000005000019000000000504801900000d4e0620019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000000000331034f000000000303043b000a00000003001d00000d7f0330009c00000d920000213d0000000c0300002900000024043000390000000a030000290000000503300210000900000004001d000800000003001d0000000004430019000000000224004b00000d920000213d0000004402100370000000000202043b000700000002001d00000d4f0220009c00000d920000213d0000006401100370000000000101043b000600000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039000500000004001d352f352a0000040f000000010220019000000d920000613d000000000101043b0000000602000029000000000121004b00000bd10000213d0000000a01000029000000000110004c000009840000613d00000009010000290000000201100367000000000101043b000600000001001d00000d4f0110009c00000d920000213d00000d550100004100000000001004390000000001000412000400000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f01100197000300000001001d0000000602000029000000000112004b00000dc40000c13d00000d5501000041000000000010043900000004010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d00000008020000290000003f02200039000000200300008a000600000003001d000000000232016f000000000101043b000800000001001d000000400300043d0000000001230019000000000231004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d0000000002000031000000400010043f0000000a0100002900000000001304350000000506000029000000000126004b00000d920000213d000000000103001900000009020000290000000204200367000000000404043b00000d4f0540009c00000d920000213d000000200110003900000000004104350000002002200039000000000462004b000005c20000413d00000008010000290000000b02000029352f31c80000040f000b00000001001d0000000012010434000000000220004c000009840000613d00000000020104330000000001000416000500000002001d000000000112004b00000a1e0000213d00000d830100004100000000001004390000000301000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000d920000613d000000400200043d00000d8501000041000400000002001d000000000012043500000000010004140000000d02000029000200000002001d0000000302000029000000040220008c0000171f0000613d00000d4d0200004100000d4d0310009c0000000001028019000000040400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f0000000502000029000000000220004c000016f20000c13d00000d87011001c70000000302000029352f35250000040f000016f80000013d0000000001000416000000000110004c00000d920000c13d0000000001000031000b00000001001d352f1fff0000040f000c00000001001d000000000102001900000000020300190000000b03000029352f277f0000040f000b00000001001d0000000002010433000000010120008c00000000010000190000000101002039352f27be0000040f00000d5501000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039352f006f0000040f0000000c020000290000000b03000029352f31c80000040f0000000002010019000000400100043d000c00000001001d352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e0000000001000416000000000110004c00000d920000c13d0000000001000031000000040210008a00000d4e03000041000000a00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d00000002020003670000002403200370000000000303043b000a00000003001d0000000403200370000000000303043b000b00000003001d0000004403200370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000513004b0000000005000019000000000504801900000d4e0610019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000800000003001d000000000332034f000000000303043b000900000003001d00000d7f0330009c00000d920000213d0000000c03000029000000240430003900000009030000290000000503300210000600000004001d000700000003001d0000000003430019000000000113004b00000d920000213d0000006401200370000000000101043b000500000001001d00000d4f0110009c00000d920000213d0000008401200370000000000101043b000400000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000402000029000000000121004b00000bd10000213d0000000901000029000000000110004c00000ca30000613d0000000801000029000000070200002900000000012100190000000201100367000000000101043b000800000001001d00000d4f0110009c00000d920000213d00000d550100004100000000001004390000000001000412000700000001001d00000004001004430000002001000039000400000001001d000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f011001970000000802000029000000000112004b00000dc40000c13d00000006010000290000000201100367000000000101043b000300000001001d00000d4f0110009c00000d920000213d0000000901000029000000020110008c000009840000413d00000d5501000041000000000010043900000007010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d0000000c0200002900000044022000390000000202200367000000000202043b00000d4f0320009c00000d920000213d000000000301043b000000400500043d00000d89010000410000000000150435000000240450003900000000010004140000000000240435000c00000005001d00000004025000390000000304000029000000000042043500000d4f02300197000000040320008c000014450000c13d0000000103000031000000200130008c00000020040000390000000004034019000014770000013d0000000001000416000000000110004c00000d920000c13d0000000001000031000000040210008a00000d4e03000041000000a00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d00000002020003670000002403200370000000000303043b000a00000003001d0000000403200370000000000303043b000b00000003001d0000004403200370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000513004b0000000005000019000000000504801900000d4e0610019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000000000332034f000000000303043b000900000003001d00000d7f0330009c00000d920000213d0000000c03000029000000240430003900000009030000290000000503300210000700000004001d000800000003001d0000000004430019000000000114004b00000d920000213d0000006401200370000000000101043b000600000001001d00000d4f0110009c00000d920000213d0000008401200370000000000101043b000500000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039000400000004001d352f352a0000040f000000010220019000000d920000613d000000000101043b0000000502000029000000000121004b00000bd10000213d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d00000008020000290000003f02200039000000200300008a000000000232016f000000000101043b000800000001001d000000400300043d0000000001230019000000000231004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d0000000002000031000000400010043f000000090100002900000000001304350000000406000029000000000126004b00000d920000213d0000000901000029000000000110004c0000075f0000613d000000000103001900000007020000290000000204200367000000000404043b00000d4f0540009c00000d920000213d000000200110003900000000004104350000002002200039000000000462004b000007560000413d00000008010000290000000b02000029352f2fff0000040f000b00000001001d0000000001010433000000000210004c00000ca30000613d00000005011002100000000b02000029000000000121001900000000010104330000000a02000029000000000121004b000011c10000813d000000400100043d000000440210003900000da103000041000000000032043500000024021000390000001a03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000040320008a00000d4e04000041000000800530008c0000000005000019000000000504401900000d4e03300197000000000630004c000000000400a01900000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000403100370000000000303043b000b00000003001d0000002403100370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000523004b0000000005000019000000000504801900000d4e0620019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000000000331034f000000000303043b000a00000003001d00000d7f0330009c00000d920000213d0000000c0300002900000024043000390000000a030000290000000503300210000900000004001d000800000003001d0000000004430019000000000224004b00000d920000213d0000004402100370000000000202043b000700000002001d00000d4f0220009c00000d920000213d0000006401100370000000000101043b000600000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039000500000004001d352f352a0000040f000000010220019000000d920000613d000000000101043b0000000602000029000000000121004b00000bd10000213d0000000a01000029000000000110004c000009840000613d00000009010000290000000201100367000000000101043b000600000001001d00000d4f0110009c00000d920000213d00000d550100004100000000001004390000000001000412000400000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f01100197000300000001001d0000000602000029000000000112004b00000dc40000c13d00000d5501000041000000000010043900000004010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d00000008020000290000003f02200039000000200300008a000000000432016f000000000101043b000800000001001d0000000002000416000000400300043d0000000001430019000000000431004b0000000004000019000000010400403900000d7f0510009c0000101b0000213d00000001044001900000101b0000c13d0000000004000031000000400010043f0000000a0100002900000000001304350000000507000029000000000147004b00000d920000213d000000000103001900000009040000290000000205400367000000000505043b00000d4f0650009c00000d920000213d000000200110003900000000005104350000002004400039000000000574004b000008150000413d0000000801000029352f2fff0000040f000600000001001d0000000012010434000000000320004c0000136c0000c13d0000000d0100002900000d510200004100000000002104350000001102000039000000040020043f00000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d52011001c700003531000104300000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000600310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000002402100370000000000302043b0000000402100370000000000402043b000000000240004c00000be30000c13d000000400100043d000000440210003900000d9c03000041000000000032043500000024021000390000001303000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000040320008a00000d4e04000041000000800530008c0000000005000019000000000504401900000d4e03300197000000000630004c000000000400a01900000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000403100370000000000303043b000b00000003001d0000002403100370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000523004b0000000005000019000000000504801900000d4e0620019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000000000331034f000000000303043b000a00000003001d00000d7f0330009c00000d920000213d0000000c0300002900000024043000390000000a030000290000000503300210000900000004001d0000000003430019000800000003001d000000000223004b00000d920000213d0000004402100370000000000202043b000700000002001d00000d4f0220009c00000d920000213d0000006401100370000000000101043b000600000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000602000029000000000121004b00000bd10000213d0000000a01000029000000000110004c000009840000613d00000009010000290000000201100367000000000101043b000600000001001d00000d4f0110009c00000d920000213d00000d550100004100000000001004390000000001000412000500000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f01100197000400000001001d0000000602000029000000000112004b00000dc40000c13d00000d830100004100000000001004390000000401000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000d920000613d000000400200043d00000d8501000041000600000002001d0000000000120435000000000100041400000000030004160000000d02000029000300000002001d0000000402000029000000040220008c000012aa0000613d00000d4d0200004100000d4d0410009c0000000001028019000000060500002900000d4d0450009c00000000020540190000004002200210000000c001100210000000000121019f000000000230004c0000127e0000c13d00000d87011001c70000000402000029352f35250000040f000012830000013d0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000600310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000004402100370000000000202043b000a00000002001d0000002402100370000000000202043b000900000002001d0000000401100370000000000101043b000800000001001d000000400200043d00000d9e01000041000c00000002001d00000000001204350000000001000414000b00000001001d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000d4f02100197000000040120008c00000c060000c13d0000000103000031000000200130008c000000200400003900000000040340190000000c0a00002900000c390000013d0000000001000416000000000110004c00000d920000c13d0000000001000031000000040210008a00000d4e03000041000000a00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d00000002020003670000002403200370000000000303043b000a00000003001d0000000403200370000000000303043b000b00000003001d0000004403200370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000513004b0000000005000019000000000504801900000d4e0610019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000800000003001d000000000332034f000000000303043b000900000003001d00000d7f0330009c00000d920000213d0000000c03000029000000240430003900000009030000290000000503300210000700000004001d000600000003001d0000000003430019000000000113004b00000d920000213d0000006401200370000000000101043b000500000001001d00000d4f0110009c00000d920000213d0000008401200370000000000101043b000400000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000402000029000000000121004b00000bd10000213d0000000901000029000000000110004c00000dd60000c13d00000d510100004100000000001004350000003201000039000000040010043f00000d520100004100003531000104300000000001000416000000000110004c00000d920000c13d0000000001000031000000040210008a00000d4e03000041000000a00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d00000002020003670000002403200370000000000303043b000a00000003001d0000000403200370000000000303043b000b00000003001d0000004403200370000000000303043b000c00000003001d00000d7f0330009c00000d920000213d0000000c03000029000000230330003900000d4e04000041000000000513004b0000000005000019000000000504801900000d4e0610019700000d4e03300197000000000763004b0000000004008019000000000363013f00000d4e0330009c00000000030500190000000003046019000000000330004c00000d920000c13d0000000c030000290000000403300039000000000332034f000000000303043b000900000003001d00000d7f0330009c00000d920000213d0000000c03000029000000240430003900000009030000290000000503300210000700000004001d000800000003001d0000000004430019000000000114004b00000d920000213d0000006401200370000000000101043b000600000001001d00000d4f0110009c00000d920000213d0000008401200370000000000101043b000500000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039000400000004001d352f352a0000040f000000010220019000000d920000613d000000000101043b0000000502000029000000000121004b00000bd10000213d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d00000008020000290000003f02200039000000200300008a000000000232016f000000000101043b000800000001001d000000400300043d0000000001230019000000000231004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d0000000002000031000000400010043f000000090100002900000000001304350000000406000029000000000126004b00000d920000213d0000000901000029000000000110004c00000a130000613d000000000103001900000007020000290000000204200367000000000404043b00000d4f0540009c00000d920000213d000000200110003900000000004104350000002002200039000000000462004b00000a0a0000413d00000008010000290000000b02000029352f31c80000040f000b00000001001d0000000012010434000000000220004c000009840000613d00000000010104330000000a02000029000000000121004b000011f60000a13d000000400100043d000000440210003900000da203000041000000000032043500000024021000390000001603000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c700003531000104300000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000c00310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000002010003670000000402100370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d0000008402100370000000000202043b000b00000002001d00000d4f0220009c00000d920000213d000000a402100370000000000202043b000a00000002001d0000002402100370000000000202043b000900000002001d0000004402100370000000000202043b000800000002001d0000006401100370000000000101043b000700000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000a02000029000000000121004b00000bd10000213d00000d550100004100000000001004390000000001000412000a00000001001d00000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000101043b000600000001001d00000d550100004100000000001004390000000a010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000201043b000000400500043d00000d89010000410000000000150435000000040350003900000000010004140000000c040000290000000000430435000000060300002900000d4f04300197000a00000005001d0000002403500039000500000004001d000000000043043500000d4f02200197000000040320008c00000e070000c13d0000000103000031000000200130008c0000002004000039000000000403401900000e390000013d0000000001000416000000000110004c00000d920000c13d0000000001000031352f20300000040f00000d550b0000410000000000b00439000000000b0004120000000400b00443000000200b0000390000002400b00443000c00000001001d000b00000002001d000900000003001d000800000004001d000700000005001d000a00000006001d000300000007001d000600000008001d000500000009001d00040000000a001d00008005010000390000004402000039352f006f0000040f00000000020100190000000c0100002900000003030000290000000b040000290000000a05000029000000060600002900000005070000290000000408000029352f22c30000040f0000000c010000290000000b020000290000000903000029000000080400002900000007050000290000000a06000029352f23d10000040f000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000200310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000004010000390000000201100367000000000101043b00000d4f0210009c00000d920000213d00000000001004350000000101000039000000200010043f00000040020000390000000001000019352f00590000040f000000000101041a000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000000310004c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d000000400100043d000c00000001001d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039352f006f0000040f00000d4f011001970000000c03000029000000000013043500000d4d0100004100000d4d0230009c0000000001034019000000400110021000000d9a011001c7000035300001042e0000000001000416000000000110004c00000d920000c13d000000040100008a000000000110003100000d4e02000041000000200310008c0000000003000019000000000302401900000d4e01100197000000000410004c000000000200a01900000d4e0110009c00000000010300190000000001026019000000000110004c00000d920000c13d00000004010000390000000201100367000000000101043b00000d4f0210009c00000d920000213d00000000001004350000000101000039000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000301041a000000400200043d000c00000002001d000a00000003001d0000000002320436000b00000002001d0000000d04000029000000000014043500000d4d01000041000000000200041400000d4d0320009c000000000201801900000d4d0340009c000900000004001d00000000010440190000004001100210000000c002200210000000000121019f00000d95011001c70000801002000039352f352a0000040f000000010220019000000d920000613d0000000a040000290000000905000029000000000245004b0000000b0300002900000b610000813d000000000101043b000000000201041a00000d4f02200197000000000323043600000001011000390000000105500039000000000245004b00000b5a0000413d0000000c010000290000000002130049352f208d0000040f000000400100043d000b00000001001d0000000c02000029352f20600000040f0000000b04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e0000000001000416000000000110004c00000d920000c13d0000000001000031000b00000001001d352f1fff0000040f000c00000001001d000000000102001900000000020300190000000b03000029352f277f0000040f000b00000001001d0000000002010433000000010120008c00000000010000190000000101002039352f27be0000040f00000d5501000041000000000010043900000000010004120000000400100443000000240000044300008005010000390000004402000039352f006f0000040f0000000c020000290000000b03000029352f2fff0000040f0000000002010019000000400100043d000c00000001001d352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e000000040220008a00000d4e03000041000000c00420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c00000d920000c13d0000000402100370000000000202043b000c00000002001d00000d4f0220009c00000d920000213d0000008402100370000000000202043b000b00000002001d00000d4f0220009c00000d920000213d000000a402100370000000000202043b000a00000002001d0000002402100370000000000202043b000800000002001d0000004402100370000000000202043b000900000002001d0000006401100370000000000101043b000700000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000a02000029000000000121004b00000d400000a13d000000400100043d000000440210003900000da403000041000000000032043500000024021000390000000703000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c700003531000104300000004401100370000000000201043b000b00000002001d000000000130004c0000000001000019000000010100c039000000000220004c0000000002000019000000010200c039000000000121016f000000010110018f000c00000003001d000a00000004001d352f2f490000040f0000000a010000290000000b02000029352f2b3f0000040f0000000c03000029000000000230004c00000bfd0000c13d00000d510100004100000000001004350000001201000039000000040010043f00000d5201000041000035310001043000000000213100d9000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e00000d4d010000410000000b0400002900000d4d0340009c000000000301001900000000030440190000000c0500002900000d4d0450009c00000000010540190000004001100210000000c003300210000000000113019f00000d87011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200000c260000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00000c1e0000413d000000000750004c00000c350000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000000cef0000613d0000001f01400039000000600210018f0000000001a20019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c0100002900000000040104330000ffff0140008c00000d920000213d000000080100002900000009020000290000000a03000029352f2f5e0000040f000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e000c00000004001d000b00000003001d00000000001004350000000101000039000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000301041a000000400200043d000a00000002001d000800000003001d0000000002320436000900000002001d0000000d04000029000000000014043500000d4d01000041000000000200041400000d4d0320009c000000000201801900000d4d0340009c000700000004001d00000000010440190000004001100210000000c002200210000000000121019f00000d95011001c70000801002000039352f352a0000040f000000010220019000000d920000613d00000008040000290000000705000029000000000245004b0000000903000029000000000203001900000c8c0000813d000000000101043b0000000002030019000000000301041a00000d4f03300197000000000232043600000001011000390000000105500039000000000345004b00000c850000413d0000000a0400002900000000014200490000001f02100039000000200100008a000000000312016f0000000002430019000000000332004b0000000003000019000000010300403900000d7f0420009c0000101b0000213d00000001033001900000101b0000c13d000000400020043f0000000b030000290000000c040000290000000003340019000000000443004b0000000004000019000000010400403900000001044001900000000a0400002900000da00000613d00000d510100004100000000001004350000001101000039000000040010043f00000d5201000041000035310001043000000d4d010000410000000c0400002900000d4d0340009c000000000301001900000000030440190000000b0500002900000d4d0450009c0000000001054019000000c0011002100000004003300210000000000113019f00000d87011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200000cc90000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00000cc10000413d000000000750004c00000cd80000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000000d150000613d0000001f01400039000000600210018f0000000001a20019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d8e0000813d00000d4d010000410000000d0200002900000d4d0320009c000000000102401900000d88211000d10000353100010430000000400200043d0000001f0430018f000000050330027200000cfc0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00000cf40000413d000000000540004c00000d0b0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f00003531000104300000000d020000290000000004230019000000000434004b00000d920000213d000000000221034f000000400100043d0000001f0430018f000000050330027200000d270000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b00000d1f0000413d000000000540004c00000d360000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d55010000410000000000100439000000000100041200000004001004430000002001000039000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d000000000201043b000a00000002001d00000000040004160000000c01000029000000080300002900000009050000290000000706000029352f20cc0000040f00000000050100190000000004020019000900000003001d00000000020004110000000c01000029000700000002001d000800000005001d0000000003050019000600000004001d352f34210000040f00000d830100004100000000001004390000000a0100002900000d4f01100197000c00000001001d000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000d920000613d000000400400043d00000d8501000041000000000014043500000000010004140000000d02000029000500000002001d0000000c02000029000000040220008c000a00000004001d000010190000613d00000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f0000000902000029000000000220004c00000feb0000c13d00000d87011001c70000000c02000029352f35250000040f00000ff10000013d0000000c0100002900000000040104330000ffff0140008c00000d940000a13d00000000010000190000353100010430000000080100002900000009020000290000000a03000029352f2fb10000040f000000400200043d000000000012043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9a011001c7000035300001042e0000000004040433000000000343004b00000e9b0000a13d000000440120003900000d9f03000041000000000031043500000024012000390000000c03000039000000000031043500000d9201000041000000000012043500000004012000390000002003000039000000000031043500000d4d0100004100000d4d0320009c0000000001024019000000400110021000000d9d011001c7000035310001043000000d4d0200004100000d4d0390009c000900000009001d0000000003020019000000000309401900000d4d0410009c0000000001028019000000c0011002100000004002300210000000000112019f000000000260004c00000ef10000c13d00000d52011001c70000000002050019352f35250000040f00000ef70000013d000000400100043d000000440210003900000da303000041000000000032043500000024021000390000000c03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000007010000290000000201100367000000000101043b000400000001001d00000d4f0110009c00000d920000213d0000000901000029000000020110008c000009840000413d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d0000000c0200002900000044022000390000000202200367000000000202043b00000d4f0320009c00000d920000213d000000000301043b000000400500043d00000d89010000410000000000150435000000240450003900000000010004140000000000240435000c00000005001d00000004025000390000000404000029000000000042043500000d4f02300197000000040320008c0000120e0000c13d0000000103000031000000200130008c00000020040000390000000004034019000012400000013d00000d4d0300004100000d4d0410009c00000000010380190000000a0500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f0000000a0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200000e250000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00000e1d0000413d000000000750004c00000e350000613d0000000506600210000000000761034f0000000a0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000010390000613d0000001f01400039000000600210018f0000000a010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000a01000029000000000101043300000d4f0210009c00000d920000213d00000000070004100000000c020000290000000603000029000000090400002900000008050000290000000706000029352f2b4d0000040f0000000003010019000a00000002001d0000000c010000290000000b02000029000c00000003001d352f33920000040f00000d830100004100000000001004390000000501000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000d920000613d000000400200043d00000d98010000410000000000120435000900000002001d00000004012000390000000a02000029000000000021043500000000010004140000000502000029000000040220008c00000e870000613d00000d4d0200004100000d4d0310009c0000000001028019000000090400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f00000d52011001c70000000502000029352f35250000040f0000000003010019000000600330027000010d4d0030019d00000d4d04300197000300000001035500000001022001900000132f0000613d000000090100002900000d7f0110009c0000101b0000213d0000000901000029000000400010043f0000000b010000290000000a02000029352f34b30000040f000000400100043d00000020021000390000000a0300002900000000003204350000000c02000029000000000021043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d99011001c7000035300001042e0000000c0300002900000d7f0330009c0000101b0000213d0000000c0300002900000005053002100000003f03500039000000000113016f000000000121001900000d7f0310009c0000101b0000213d000000400010043f0000000c0100002900000000031204360000001f0150018f00000000040000310000000204400367000000050550027200000eb60000613d000000000600001900000005076002100000000008730019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b00000eae0000413d000000000610004c00000ec50000613d0000000505500210000000000454034f00000000035300190000000301100210000000000503043300000000051501cf000000000515022f000000000404043b0000010001100089000000000414022f00000000011401cf000000000151019f00000000001304350000000d010000290000000c06000029000000000361004b0000000b050000290000000a07000029000000090800002900000ee30000813d0000000003020433000000000313004b000009840000a13d0000000003150019000000000453004b00000000040000190000000104004039000000010440019000000ca30000c13d0000000004070433000000000434004b000009840000a13d00000005041002100000000004240019000000200440003900000005033002100000000003380019000000000303043300000d4f0330019700000000003404350000000101100039000000000361004b00000ecc0000413d000000400100043d000c00000001001d352f20600000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e00000d8f011001c700008009020000390000000c0300002900000000040500190000000005000019352f35250000040f0000000003010019000000600330027000000d4d03300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000000090900002900000f0a0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000f020000413d000000000640004c00000f190000613d0000000505500210000000000651034f00000000055900190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000000fbf0000613d000000200130008c000000200100003900000000010340190000001f01100039000000600210018f00000000050900190000000001920019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000001050433000900000001001d0000000a010000290000000c0200002900000000001204350000000d04000029000000200040043f00000d4d01000041000000000200041400000d4d0320009c000000000201801900000d4d0340009c000c00000004001d00000000010440190000004001100210000000c002200210000000000121019f00000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000b020000290000000000200435000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000101041a000000ff0110019000000fb00000c13d0000000a010000290000000c0200002900000000001204350000000d04000029000000200040043f00000d4d01000041000000000200041400000d4d0320009c000000000201801900000d4d0340009c000c00000004001d00000000010440190000004001100210000000c002200210000000000121019f00000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000b020000290000000000200435000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b0000000a010000290000000c0200002900000000001204350000000101000039000000200010043f00000d4d010000410000000d02000029000000000300041400000d4d0430009c000000000301801900000d4d0420009c00000000010240190000004001100210000000c002300210000000000121019f00000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000201041a000c00000002001d00000d7f0220009c0000101b0000213d0000000c030000290000000102300039000000000021041b000000000201041a000000000232004b000009840000a13d000000000010043500000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d95011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000c020000290000000001210019000000000201041a00000d96022001970000000b03000029000000000232019f000000000021041b000000400100043d0000004002100039000000090300002900000000003204350000002002100039000000080300002900000000003204350000000602000029000000000021043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d97011001c7000035300001042e0000000c020000290000000002230019000000000232004b00000d920000213d0000000c02000029000000000221034f000000400100043d0000001f0430018f000000050330027200000fd20000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b00000fca0000413d000000000540004c00000fe10000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d86011001c7000080090200003900000009030000290000000c040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d033001970000000505000029000000000453004b00000000050340190000001f0450018f00000005055002720000000a09000029000010040000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00000ffc0000413d000000000640004c000010140000613d0000000505500210000000000651034f0000000a0700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f000300000001035500000001022001900000000a040000290000105f0000613d00000d7f0140009c000010210000a13d00000d510100004100000000001004350000004101000039000000040010043f00000d520100004100003531000104300000000a01000029000000400010043f0000000501000029000000000110004c0000108b0000c13d00000d8b010000410000000a040000290000000000140435000000240240003900000000010004140000000d03000029000500000003001d00000009030000290000000000320435000000080200002900000d4f032001970000000402400039000800000003001d00000000003204350000000c02000029000000040220008c000011140000c13d0000000103000031000011780000013d000000400200043d0000001f0430018f0000000503300272000010460000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b0000103e0000413d000000000540004c000010550000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000005020000290000000002230019000000000232004b00000d920000213d0000000502000029000000000221034f000000400100043d0000001f0430018f0000000503300272000010720000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b0000106a0000413d000000000540004c000010810000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d01000041000000050300002900000d4d0230009c000000000103401900000d88211000d1000035310001043000000d4d0300004100000d4d0410009c0000000001038019000000070500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f000000070a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000010af0000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000010a70000413d000000000750004c000010bf0000613d0000000506600210000000000761034f000000070800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000011250000613d0000001f01400039000000600210018f00000007010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000701000029000000000101043300000d4f0210009c00000d920000213d00000000070004100000000c0200002900000001030000290000000b0400002900000008050000290000000906000029352f2b4d0000040f0000000003010019000b00000002001d0000000c010000290000000a02000029000c00000003001d352f33920000040f00000d830100004100000000001004390000000601000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000ce90000613d000000400200043d00000d98010000410000000000120435000900000002001d00000004012000390000000b02000029000000000021043500000000010004140000000d02000029000800000002001d0000000602000029000000040220008c000014d20000613d00000d4d02000041000000090400002900000d4d0340009c0000000003020019000000000304401900000d4d0410009c0000000001028019000000c0011002100000004002300210000000000112019f0000000802000029000000000220004c000014a50000c13d00000d52011001c70000000602000029352f35250000040f0000000003010019000000600330027000000d4d03300197000014ce0000013d00000d4d020000410000000a0400002900000d4d0340009c0000000003020019000000000304401900000d4d0410009c0000000001028019000000c0011002100000004002300210000000000112019f0000000502000029000000000220004c0000114b0000c13d00000d8a011001c70000000c02000029352f35250000040f000011510000013d000000400200043d0000001f0430018f0000000503300272000011320000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b0000112a0000413d000000000540004c000011410000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d8c011001c7000080090200003900000005030000290000000c040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d03300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000000a09000029000011640000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000115c0000413d000000000640004c000011740000613d0000000505500210000000000651034f0000000a0700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000011950000613d000000200130008c000000200100003900000000010340190000001f01100039000000600110018f0000000a020000290000000001210019000c00000001001d00000d7f0110009c0000101b0000213d0000000c01000029000000400010043f000000200130008c00000d920000413d0000000a010000290000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d920000c13d000000000110004c000012700000c13d00000d510100004100000000001004350000000101000039000000040010043f00000d5201000041000035310001043000000005020000290000000002230019000000000232004b00000d920000213d0000000502000029000000000221034f000000400100043d0000001f0430018f0000000503300272000011a80000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b000011a00000413d000000000540004c000011b70000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f00003531000104300000000901000029000000000110004c000009840000613d00000002010003670000000702000029000000000221034f000000000202043b000000000402001900000d4f0220009c00000d920000213d0000000902000029000000020220008c000009840000413d0000000c020000290000004402200039000000000121034f000000000301043b00000d4f0130009c00000d920000213d00000008010000290000000002040019000a00000002001d352f2ec60000040f000c00000001001d0000000b01000029352f20a00000040f000000000401043300000000020004110000000a010000290000000c03000029352f34210000040f00000008010000290000000c020000290000000b03000029000000070400002900000009050000290000000606000029352f2c800000040f000000400100043d000c00000001001d0000000b02000029352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e0000000901000029000000000110004c000012030000613d00000002010003670000000702000029000000000221034f000000000202043b000000000402001900000d4f0220009c00000d920000213d0000000902000029000000020220008c000013a00000813d0000000d0100002900000d510200004100000000002104350000003202000039000000040020043f00000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d52011001c7000035310001043000000d4d0300004100000d4d0410009c00000000010380190000000c0500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f00000005064002720000122c0000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000012240000413d000000000750004c0000123c0000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000012dd0000613d0000001f01400039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000c00000001001d00000d4f0110009c00000d920000213d000000000200041100000004010000290000000c030000290000000b04000029352f34210000040f0000000801000029000000060200002900000000012100190000000201100367000000000101043b000b00000001001d00000d4f0110009c00000d920000213d000000400200043d00000d9b010000410000000000120435000800000002001d00000004012000390000000502000029000000000021043500000000010004140000000b02000029000000040220008c000015410000c13d0000000103000031000000200130008c00000020040000390000000004034019000015740000013d00000d8e010000410000000c02000029000000000012043500000004012000390000000b02000029000000000021043500000000010004140000000d02000029000a00000002001d0000000802000029000000040220008c0000135b0000c13d0000000103000031000013f50000013d00000d86011001c7000080090200003900000004040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d033001970000000305000029000000000453004b00000000050340190000001f0450018f00000005055002720000000609000029000012960000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000128e0000413d000000000640004c000012a60000613d0000000505500210000000000651034f000000060700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000013030000613d000000060100002900000d7f0110009c0000101b0000213d0000000601000029000000400010043f0000000301000029000000000110004c000013550000c13d0000000a01000029000000020110008c000009840000413d00000d5501000041000000000010043900000005010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f000000010220019000000d920000613d0000000c0200002900000044022000390000000202200367000000000202043b00000d4f0320009c00000d920000213d000000000301043b000000400500043d00000d89010000410000000000150435000000240450003900000000010004140000000000240435000c00000005001d00000004025000390000000404000029000000000042043500000d4f02300197000000040320008c0000159a0000c13d0000000103000031000000200130008c00000020040000390000000004034019000015cc0000013d000000400200043d0000001f0430018f0000000503300272000012ea0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000012e20000413d000000000540004c000012f90000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000003020000290000000002230019000000000232004b00000d920000213d0000000302000029000000000221034f000000400100043d0000001f0430018f0000000503300272000013160000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b0000130e0000413d000000000540004c000013250000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f00000005044002720000133c0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b000013340000413d000000000530004c0000134b0000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d4d01000041000000030300002900000d4d0230009c000000000103401900000d88211000d1000035310001043000000d4d020000410000000c0400002900000d4d0340009c0000000003020019000000000304401900000d4d0410009c0000000001028019000000c0011002100000004002300210000000000112019f0000000a02000029000000000220004c000013c80000c13d00000d52011001c70000000802000029352f35250000040f000013ce0000013d00000005022002100000000603000029000000000232001900000000020204330000000b03000029000000000232004b0000076d0000413d0000000001010433000b00000001001d00000d830100004100000000001004390000000301000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000ce90000613d000000400200043d00000d8501000041000500000002001d000000000012043500000000010004140000000d02000029000400000002001d0000000302000029000000040220008c0000176f0000613d00000d4d0200004100000d4d0310009c0000000001028019000000050400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f0000000b02000029000000000220004c000017420000c13d00000d87011001c70000000302000029352f35250000040f000017480000013d0000000c020000290000004402200039000000000121034f000000000301043b00000d4f0130009c00000d920000213d00000008010000290000000002040019000a00000002001d352f2ec60000040f000c00000001001d0000000b01000029352f20a00000040f000000000401043300000000020004110000000a010000290000000c03000029352f34210000040f00000008010000290000000c020000290000000b03000029000000070400002900000009050000290000000606000029352f2c800000040f000000400100043d000c00000001001d0000000b02000029352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e00000d8f011001c700008009020000390000000a0300002900000008040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d03300197000000200430008c000000200500003900000000050340190000001f0450018f00000005055002720000000c09000029000013e10000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000013d90000413d000000000640004c000013f10000613d0000000505500210000000000651034f0000000c0700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000014190000613d000000200130008c000000200100003900000000010340190000001f01100039000000600110018f0000000c02000029000000000121001900000d7f0210009c0000101b0000213d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000c00000001001d00000000010004160000000902000029000000000121004b000019e40000a13d00000000020004160000000901000029000000000112004b00000ca30000413d000000400300043d00000d8d0130009c0000101b0000213d0000002001300039000000400010043f000000000003043500000000030004140000000704000029000000040440008c000017ea0000c13d00000001020000390000000101000031000019b50000013d0000000a020000290000000002230019000000000232004b00000d920000213d0000000a02000029000000000221034f000000400100043d0000001f0430018f00000005033002720000142c0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b000014240000413d000000000540004c0000143b0000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d0300004100000d4d0410009c00000000010380190000000c0500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000014630000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b0000145b0000413d000000000750004c000014730000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f000300000001035500000001022001900000151b0000613d0000001f01400039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000000000301001900000d4f0110009c00000d920000213d00000000020004110000000301000029000c00000003001d0000000b04000029352f34210000040f0000000004000410000b00000004001d0000000c0100002900000006020000290000000903000029352f27d30000040f00000d9b01000041000000400200043d0000000000120435000c00000002001d00000004012000390000000b02000029000000000021043500000000010004140000000802000029000000040220008c0000161c0000c13d0000000103000031000000200130008c000000200400003900000000040340190000164f0000013d00000d8f011001c70000800902000039000000080300002900000006040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d033001970000000805000029000000000453004b00000000050340190000001f0450018f00000005055002720000000909000029000014be0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000014b60000413d000000000640004c000014ce0000613d0000000505500210000000000651034f000000090700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000014e90000613d000000090100002900000d7f0110009c0000101b0000213d0000000901000029000000400010043f0000000801000029000000000110004c000015150000c13d0000000a010000290000000b02000029352f34b30000040f000000400100043d00000020021000390000000b0300002900000000003204350000000c02000029000000000021043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d99011001c7000035300001042e00000008020000290000000002230019000000000232004b00000d920000213d0000000802000029000000000221034f000000400100043d0000001f0430018f0000000503300272000014fc0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b000014f40000413d000000000540004c0000150b0000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d01000041000000080300002900000d4d0230009c000000000103401900000d88211000d10000353100010430000000400200043d0000001f0430018f0000000503300272000015280000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000015200000413d000000000540004c000015370000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d4d0200004100000d4d0310009c0000000001028019000000080400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f00000d52011001c70000000b02000029352f352a0000040f000000080a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000015600000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000015580000413d000000000750004c000015700000613d0000000506600210000000000761034f000000080800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000015f10000613d0000001f01400039000000600210018f00000008010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d00000008010000290000000001010433000800000001001d0000000c01000029000000070200002900000009030000290000000504000029352f27d30000040f00000d9b01000041000000400200043d0000000000120435000c00000002001d00000004012000390000000502000029000000000021043500000000010004140000000b02000029000000040220008c0000169a0000c13d0000000103000031000000200130008c00000020040000390000000004034019000016cd0000013d00000d4d0300004100000d4d0410009c00000000010380190000000c0500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000015b80000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000015b00000413d000000000750004c000015c80000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000016740000613d0000001f01400039000000600110018f0000000c020000290000000002210019000000000112004b00000000010000190000000101004039000600000002001d00000d7f0220009c0000101b0000213d00000001011001900000101b0000c13d0000000601000029000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000500000001001d00000d4f0110009c00000d920000213d00000d8b0100004100000006050000290000000000150435000000240250003900000000010004140000000d03000029000000000400041600000000004204350000000402500039000000050400002900000000004204350000000402000029000000040220008c00001a730000c13d000000010300003100001b2b0000013d0000000d020000290000000004230019000000000434004b00000d920000213d000000000221034f000000400100043d0000001f0430018f0000000503300272000016030000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b000015fb0000413d000000000540004c000016120000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d0200004100000d4d0310009c00000000010280190000000c0400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f00000d52011001c70000000802000029352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f00000005064002720000163b0000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000016330000413d000000000750004c0000164b0000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000017fc0000613d0000001f01400039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200230008c00000d920000413d0000000c0200002900000000030204330000000a02000029000c00000003001d000000000223004b00001a820000813d000000440210003900000da103000041000000000032043500000024021000390000001a03000039000000000032043500000d9202000041000000000021043500000004021000390000000403000029000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000400200043d0000001f0430018f0000000503300272000016810000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000016790000413d000000000540004c000016900000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d4d0200004100000d4d0310009c00000000010280190000000c0400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f00000d52011001c70000000b02000029352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000016b90000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000016b10000413d000000000750004c000016c90000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000018330000613d0000001f01400039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c0100002900000000010104330000000802000029000000000221004b00000ca30000413d000000080200002900000000012100490000000a02000029000000000121004b00000000010000190000000101008039352f27a90000040f00000d4d010000410000000d0200002900000d4d0320009c0000000002018019000000400300043d00000d4d0430009c000000000103401900000040011002100000006002200210000000000112019f000035300001042e00000d86011001c70000800902000039000000050300002900000003040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d033001970000000205000029000000000453004b00000000050340190000001f0450018f000000050550027200000004090000290000170b0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000017030000413d000000000640004c0000171b0000613d0000000505500210000000000651034f000000040700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000017920000613d000000040100002900000d7f0110009c0000101b0000213d0000000401000029000000400010043f0000000201000029000000000110004c000018270000c13d0000000a01000029000000020110008c000009840000413d0000000c0100002900000044011000390000000201100367000000000201043b00000d4f0120009c00000d920000213d00000d890100004100000004040000290000000000140435000000240340003900000000010004140000000000230435000000040240003900000003030000290000000000320435000000080200002900000d4f02200197000000040320008c00001b830000c13d0000000103000031000000200130008c0000002004000039000000000403401900001bb50000013d00000d86011001c700008009020000390000000b0300002900000003040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d033001970000000405000029000000000453004b00000000050340190000001f0450018f000000050550027200000005090000290000175b0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000017530000413d000000000640004c0000176b0000613d0000000505500210000000000651034f000000050700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f00030000000103550000000102200190000017be0000613d000000050100002900000d7f0110009c0000101b0000213d0000000501000029000000400010043f0000000401000029000000000110004c0000182d0000c13d0000000a01000029000000020110008c000009840000413d0000000c0100002900000044011000390000000201100367000000000201043b00000d4f0120009c00000d920000213d00000d890100004100000005040000290000000000140435000000240340003900000000010004140000000000230435000000040240003900000003030000290000000000320435000000080200002900000d4f02200197000000040320008c00001bd60000c13d0000000103000031000000200130008c0000002004000039000000000403401900001c080000013d00000002020000290000000002230019000000000232004b00000d920000213d0000000202000029000000000221034f000000400100043d0000001f0430018f0000000503300272000017a50000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b0000179d0000413d000000000540004c000017b40000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000004020000290000000002230019000000000232004b00000d920000213d0000000402000029000000000221034f000000400100043d0000001f0430018f0000000503300272000017d10000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b000017c90000413d000000000540004c000017e00000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d0400004100000d4d0530009c000000000304801900000d4d0510009c00000000010480190000004001100210000000c003300210000000000113019f0000000903000029000000000332004b000019aa0000c13d0000000702000029352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d01100197000019b50000013d0000000d020000290000000004230019000000000434004b00000d920000213d000000000221034f000000400100043d0000001f0430018f00000005033002720000180e0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b000018060000413d000000000540004c0000181d0000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d01000041000000020300002900000d4d0230009c000000000103401900000d88211000d1000035310001043000000d4d01000041000000040300002900000d4d0230009c000000000103401900000d88211000d100003531000104300000000d020000290000000004230019000000000434004b00000d920000213d000000000221034f000000400100043d0000001f0430018f0000000503300272000018450000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b0000183d0000413d000000000540004c000018540000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d0300004100000d4d0410009c00000000010380190000000c0500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f00000005064002720000187c0000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000018740000413d000000000750004c0000188c0000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000001ab30000613d0000001f01400039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000000000301001900000d4f0110009c00000d920000213d0000000b010000290000000001010433000000000110004c000009840000613d0000000401000029000000000401043300000000020004110000000a01000029000c00000003001d352f34210000040f000000000600041000000007010000290000000c020000290000000b0300002900000006040000290000000905000029352f2c800000040f0000000b010000290000000001010433000000000210004c00000ca30000613d00000005011002100000000b0200002900000000012100190000000001010433000c00000001001d00000d830100004100000000001004390000000801000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000d920000613d000000400200043d00000d98010000410000000000120435000a00000002001d00000004012000390000000c02000029000000000021043500000000010004140000000802000029000000040220008c000018ec0000613d00000d4d0200004100000d4d0310009c00000000010280190000000a0400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f00000d52011001c70000000802000029352f35250000040f0000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000001eb50000613d0000000a0100002900000d7f0110009c0000101b0000213d0000000a01000029000000400010043f0000000b010000290000000001010433000000000210004c00000ca30000613d000000010210008a0000000b01000029352f20aa0000040f00000000020104330000000501000029352f34b30000040f000000400100043d000c00000001001d0000000b02000029352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e00000d4d0300004100000d4d0410009c00000000010380190000000c0500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f0000000c0a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000019280000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000019200000413d000000000750004c000019380000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000001ad90000613d0000001f01400039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000000000301001900000d4f0110009c00000d920000213d00000000020004110000000a01000029000c00000003001d0000000404000029352f34210000040f000000000600041000000007010000290000000c020000290000000b0300002900000006040000290000000905000029352f2c800000040f0000000b010000290000000001010433000000000210004c00000ca30000613d00000005011002100000000b0200002900000000012100190000000001010433000c00000001001d00000d830100004100000000001004390000000801000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000d920000613d000000400200043d00000d98010000410000000000120435000a00000002001d00000004012000390000000c02000029000000000021043500000000010004140000000802000029000000040220008c000019930000613d00000d4d0200004100000d4d0310009c00000000010280190000000a0400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f00000d52011001c70000000802000029352f35250000040f0000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000001e8f0000613d0000000a0100002900000d7f0110009c0000101b0000213d0000000a01000029000000400010043f00000005010000290000000c02000029352f34b30000040f000000400100043d000c00000001001d0000000b02000029352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e0000000903000029000000000332004900000d53011001c7000080090200003900000007040000290000000005000019352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d01100197000000000310004c000019e20000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000d7f0640009c0000101b0000213d00000001055001900000101b0000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000019d30000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000019cb0000413d000000000640004c000019e20000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000010120019000001f8e0000613d0000000b010000290000000a0200002900000000001204350000000d04000029000000200040043f00000d4d01000041000000000200041400000d4d0320009c000000000201801900000d4d0340009c000a00000004001d00000000010440190000004001100210000000c002200210000000000121019f00000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000008020000290000000000200435000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000101041a000000ff0110019000001a640000c13d0000000b010000290000000a0200002900000000001204350000000d04000029000000200040043f00000d4d01000041000000000200041400000d4d0320009c000000000201801900000d4d0340009c000a00000004001d00000000010440190000004001100210000000c002200210000000000121019f00000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b00000008020000290000000000200435000000200010043f00000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000201041a000001000300008a000000000232016f00000001022001bf000000000021041b0000000b010000290000000a0200002900000000001204350000000101000039000000200010043f00000d4d010000410000000d02000029000000000300041400000d4d0430009c000000000301801900000d4d0420009c00000000010240190000004001100210000000c002300210000000000121019f00000d94011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000201041a000b00000002001d00000d7f0220009c0000101b0000213d0000000b030000290000000102300039000000000021041b000000000201041a000000000232004b000009840000a13d000000000010043500000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d95011001c70000801002000039352f352a0000040f000000010220019000000d920000613d000000000101043b0000000b020000290000000001210019000000000201041a00000d96022001970000000803000029000000000232019f000000000021041b000000400100043d00000040021000390000000c0300002900000000003204350000002002100039000000090300002900000000003204350000000602000029000000000021043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d97011001c7000035300001042e00000d4d0200004100000d4d0410009c0000000001028019000000060500002900000d4d0450009c00000000020540190000004002200210000000c001100210000000000121019f000000000230004c00001aff0000c13d00000d8a011001c70000000402000029352f35250000040f00001b040000013d00000d830100004100000000001004390000000801000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f000000010220019000000d920000613d000000000101043b000000000110004c00000ce90000613d000000400200043d00000d98010000410000000000120435000b00000002001d00000004012000390000000c02000029000000000021043500000000010004140000000d02000029000a00000002001d0000000802000029000000040220008c00001ca10000613d00000d4d0200004100000d4d0310009c00000000010280190000000b0400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f0000000a02000029000000000220004c00001c740000c13d00000d52011001c70000000802000029352f35250000040f0000000003010019000000600330027000000d4d0330019700001c9d0000013d000000400200043d0000001f0430018f000000050330027200001ac00000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00001ab80000413d000000000540004c00001acf0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f000000050330027200001ae60000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00001ade0000413d000000000540004c00001af50000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d8c011001c7000080090200003900000004040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d03300197000000200430008c000000200500003900000000050340190000001f0450018f0000000505500272000000060900002900001b170000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001b0f0000413d000000000640004c00001b270000613d0000000505500210000000000651034f000000060700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001b580000613d000000200130008c000000200100003900000000010340190000001f01100039000000600110018f00000006020000290000000001210019000c00000001001d00000d7f0110009c0000101b0000213d0000000c01000029000000400010043f000000200130008c00000d920000413d00000006010000290000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d920000c13d000000000110004c0000118f0000613d0000000801000029000000200110008a0000000201100367000000000101043b000800000001001d00000d4f0110009c00000d920000213d00000d9b010000410000000c02000029000000000012043500000004012000390000000702000029000000000021043500000000010004140000000802000029000000040220008c00001d030000c13d0000000101000031000000200210008c0000002003000039000000000301401900001d370000013d0000000d020000290000000004230019000000000434004b00000d920000213d000000000221034f000000400100043d0000001f0430018f000000050330027200001b6a0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b00001b620000413d000000000540004c00001b790000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d0300004100000d4d0410009c0000000001038019000000040500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f000000040a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200001ba10000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00001b990000413d000000000750004c00001bb10000613d0000000506600210000000000761034f000000040800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000001c280000613d0000001f01400039000000600110018f00000004020000290000000001210019000c00000001001d00000d7f0110009c0000101b0000213d0000000c01000029000000400010043f000000200130008c00000d920000413d00000004010000290000000001010433000400000001001d00000d4f0110009c00000d920000213d00000d8b010000410000000c040000290000000000140435000000240240003900000000010004140000000d03000029000200000003001d000000050300002900000000003204350000000402400039000000040300002900000000003204350000000302000029000000040220008c00001ce40000c13d000000010300003100001d850000013d00000d4d0300004100000d4d0410009c0000000001038019000000050500002900000d4d0450009c00000000030540190000004003300210000000c001100210000000000131019f00000d8a011001c7352f352a0000040f000000050a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200001bf40000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00001bec0000413d000000000750004c00001c040000613d0000000506600210000000000761034f000000050800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000001c4e0000613d0000001f01400039000000600110018f00000005020000290000000001210019000c00000001001d00000d7f0110009c0000101b0000213d0000000c01000029000000400010043f000000200130008c00000d920000413d00000005010000290000000001010433000500000001001d00000d4f0110009c00000d920000213d00000d8b010000410000000c050000290000000000150435000000240250003900000000010004140000000d030000290000000b0400002900000000004204350000000402500039000000050400002900000000004204350000000302000029000000040220008c00001cf40000c13d000000010300003100001de20000013d000000400200043d0000001f0430018f000000050330027200001c350000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00001c2d0000413d000000000540004c00001c440000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f000000050330027200001c5b0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00001c530000413d000000000540004c00001c6a0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d8f011001c700008009020000390000000a0300002900000008040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d033001970000000a05000029000000000453004b00000000050340190000001f0450018f00000005055002720000000b0900002900001c8d0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001c850000413d000000000640004c00001c9d0000613d0000000505500210000000000651034f0000000b0700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001cb20000613d0000000b0100002900000d7f0110009c0000101b0000213d0000000b01000029000000400010043f0000000a01000029000000000110004c00001cde0000c13d00000005010000290000000c02000029352f34b30000040f00000d4d01000041000000400200043d00000d4d0320009c00000000010240190000004001100210000035300001042e0000000a020000290000000002230019000000000232004b00000d920000213d0000000a02000029000000000221034f000000400100043d0000001f0430018f000000050330027200001cc50000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b00001cbd0000413d000000000540004c00001cd40000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d010000410000000a0300002900000d4d0230009c000000000103401900000d88211000d1000035310001043000000d4d0200004100000d4d0310009c00000000010280190000000c0400002900000d4d0340009c00000000020440190000004002200210000000c001100210000000000121019f0000000202000029000000000220004c00001d580000c13d00000d8a011001c70000000302000029352f35250000040f00001d5e0000013d00000d4d0200004100000d4d0410009c00000000010280190000000c0500002900000d4d0450009c00000000020540190000004002200210000000c001100210000000000121019f000000000230004c00001db60000c13d00000d8a011001c70000000302000029352f35250000040f00001dbb0000013d00000d4d020000410000000c0400002900000d4d0340009c0000000003020019000000000304401900000d4d0410009c0000000001028019000000c0011002100000004002300210000000000112019f00000d52011001c70000000802000029352f352a0000040f0000000003010019000000600330027000000d4d04300197000000200340008c000000200300003900000000030440190000001f0530018f000000050630027200001d230000613d000000000700001900000005087002100000000c090000290000000009890019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00001d1a0000413d000000000750004c00001d330000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000004001f0003000000010355000000010220019000001e640000613d0000001f01300039000000600110018f0000000c02000029000000000121001900000d7f0210009c0000101b0000213d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000600000001001d000000050100002900000009020000290000000a030000290000000704000029352f27d30000040f00000d9b01000041000000400200043d0000000000120435000c00000002001d00000004012000390000000702000029000000000021043500000000010004140000000802000029000000040220008c00001edb0000c13d0000000101000031000000200210008c0000002003000039000000000301401900001f0f0000013d00000d8c011001c70000800902000039000000020300002900000003040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d03300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200001d710000613d000000000600001900000005076002100000000c080000290000000008780019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001d680000413d000000000640004c00001d810000613d0000000505500210000000000651034f0000000c0700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001e0d0000613d000000200130008c000000200100003900000000010340190000001f01100039000000600110018f0000000c02000029000000000121001900000d7f0210009c0000101b0000213d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d920000c13d000000000110004c0000118f0000613d000000080100002900000004020000290000000b0300002900000009040000290000000a050000290000000706000029352f2c800000040f00000000010004160000000502000029000000000121004b00001f7f0000a13d00000000020004160000000501000029000000000112004b00000ca30000413d000000400300043d00000d8d0130009c0000101b0000213d00000000040004110000002001300039000000400010043f00000000000304350000000003000414000000040540008c00001f5f0000c13d0000000102000039000000010100003100001f7b0000013d00000d8c011001c7000080090200003900000003040000290000000005000019352f35250000040f0000000003010019000000600330027000000d4d03300197000000200430008c000000200500003900000000050340190000001f0450018f000000050550027200001dce0000613d000000000600001900000005076002100000000c080000290000000008780019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00001dc50000413d000000000640004c00001dde0000613d0000000505500210000000000651034f0000000c0700002900000000055700190000000304400210000000000705043300000000074701cf000000000747022f000000000606043b0000010004400089000000000646022f00000000044601cf000000000474019f0000000000450435000100000003001f0003000000010355000000010220019000001e390000613d000000200130008c000000200100003900000000010340190000001f01100039000000600110018f0000000c02000029000000000121001900000d7f0210009c0000101b0000213d000000400010043f000000200130008c00000d920000413d0000000c010000290000000001010433000000000210004c0000000002000019000000010200c039000000000221004b00000d920000c13d000000000110004c0000118f0000613d00000008010000290000000502000029000000060300002900000009040000290000000a050000290000000706000029352f2c800000040f000000400100043d000c00000001001d0000000602000029352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e00000002020000290000000002230019000000000232004b00000d920000213d0000000202000029000000000221034f000000400100043d0000001f0430018f000000050330027200001e200000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b00001e180000413d000000000540004c00001e2f0000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f00003531000104300000000d020000290000000004230019000000000434004b00000d920000213d000000000221034f000000400100043d0000001f0430018f000000050330027200001e4b0000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000635004b00001e430000413d000000000540004c00001e5a0000613d0000000503300210000000000232034f00000000033100190000000304400210000000000503043300000000054501cf000000000545022f000000000202043b0000010004400089000000000242022f00000000024201cf000000000252019f000000000023043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f00003531000104300000000d020000290000000003240019000000000343004b00000d920000213d000000000221034f000000400100043d0000001f0340018f000000050440027200001e760000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00001e6e0000413d000000000530004c00001e850000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200001e9c0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00001e940000413d000000000530004c00001eab0000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200001ec20000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00001eba0000413d000000000530004c00001ed10000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d4d020000410000000c0400002900000d4d0340009c0000000003020019000000000304401900000d4d0410009c0000000001028019000000c0011002100000004002300210000000000112019f00000d52011001c70000000802000029352f352a0000040f0000000003010019000000600330027000000d4d04300197000000200340008c000000200300003900000000030440190000001f0530018f000000050630027200001efb0000613d000000000700001900000005087002100000000c090000290000000009890019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00001ef20000413d000000000750004c00001f0b0000613d0000000506600210000000000761034f0000000c0800002900000000066800190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000004001f0003000000010355000000010220019000001f340000613d0000001f01300039000000600210018f0000000c010000290000000001120019000000000221004b0000000002000019000000010200403900000d7f0410009c0000101b0000213d00000001022001900000101b0000c13d000000400010043f000000200130008c00000d920000413d0000000c0100002900000000010104330000000602000029000000000221004b00000ca30000413d000000060200002900000000012100490000000b02000029000000000121004b00000000010000190000000101008039352f27a90000040f00000d4d010000410000000d0200002900000d4d0320009c0000000002018019000000400300043d00000d4d0430009c000000000103401900000040011002100000006002200210000000000112019f000035300001042e0000000d020000290000000003240019000000000343004b00000d920000213d000000000221034f000000400100043d0000001f0340018f000000050440027200001f460000613d000000000500001900000005065002100000000007610019000000000662034f000000000606043b00000000006704350000000105500039000000000645004b00001f3e0000413d000000000530004c00001f550000613d0000000504400210000000000242034f00000000044100190000000303300210000000000504043300000000053501cf000000000535022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000252019f000000000024043500000d4d02000041000000010300003100000d4d0430009c000000000302801900000d4d0410009c000000000102801900000040011002100000006002300210000000000112019f000035310001043000000d4d0500004100000d4d0630009c000000000305801900000d4d0610009c00000000010580190000004001100210000000c003300210000000000113019f0000000503000029000000000332004b00001f710000c13d0000000002040019352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d0110019700001f7b0000013d0000000503000029000000000332004900000d53011001c700008009020000390000000005000019352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d01100197000000000310004c00001fa30000c13d000000010120019000001f8e0000613d000000400100043d000c00000001001d0000000b02000029352f1ff00000040f0000000c04000029000000000141004900000d4d0200004100000d4d0310009c000000000102801900000d4d0340009c000000000204401900000040022002100000006001100210000000000121019f000035300001042e000000400100043d000000640210003900000d90030000410000000000320435000000440210003900000d9103000041000000000032043500000024021000390000002303000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d93011001c700003531000104300000003f031000390000000604000029000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000d7f0640009c0000101b0000213d00000001055001900000101b0000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f000000050550027200001fbf0000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b00001fb70000413d000000000640004c00001f7d0000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f000000000031043500001f7d0000013d000000040110008a00000d4e02000041000000bf0310008c0000000003000019000000000302201900000d4e01100197000000000410004c000000000200801900000d4e0110009c00000000010300190000000001026019000000000110004c00001fee0000613d00000002060003670000000401600370000000000101043b00000d4f0210009c00001fee0000213d0000008402600370000000000502043b00000d4f0250009c00001fee0000213d0000002402600370000000000202043b0000004403600370000000000303043b0000006404600370000000000404043b000000a406600370000000000606043b000000000001042d0000000001000019000035310001043000000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c00001ffe0000613d00000000040000190000002002200039000000000502043300000000015104360000000104400039000000000534004b00001ff80000413d000000000001042d000000040210008a00000d4e030000410000003f0420008c0000000004000019000000000403201900000d4e02200197000000000520004c000000000300801900000d4e0220009c00000000020400190000000002036019000000000220004c0000202e0000613d00000002030003670000000402300370000000000402043b0000002402300370000000000202043b00000d7f0520009c0000202e0000213d000000230520003900000d4e06000041000000000715004b0000000007000019000000000706801900000d4e0810019700000d4e05500197000000000985004b0000000006008019000000000585013f00000d4e0550009c00000000050700190000000005066019000000000550004c0000202e0000c13d0000000405200039000000000353034f000000000303043b00000d7f0530009c0000202e0000213d000000240220003900000005053002100000000005250019000000000115004b0000202e0000213d0000000001040019000000000001042d00000000010000190000353100010430000000040110008a00000d4e020000410000013f0310008c0000000003000019000000000302201900000d4e01100197000000000410004c000000000200801900000d4e0110009c00000000010300190000000001026019000000000110004c0000205e0000613d00000002090003670000000401900370000000000101043b00000d4f0210009c0000205e0000213d0000006402900370000000000402043b0000004402900370000000000302043b0000002402900370000000000202043b0000008405900370000000000505043b00000d4f0650009c0000205e0000213d000000a406900370000000000606043b000000c407900370000000000707043b000000000870004c0000000008000019000000010800c039000000000887004b0000205e0000c13d000000e408900370000000000808043b000000ff0a80008c0000205e0000213d000001240a9003700000010409900370000000000909043b000000000a0a043b000000000001042d0000000001000019000035310001043000000020030000390000000004310436000000000302043300000000003404350000004001100039000000000430004c0000206f0000613d00000000040000190000002002200039000000000502043300000d4f0550019700000000015104360000000104400039000000000534004b000020680000413d000000000001042d0001000000000002000000000301041a000100000002001d000000000223004b000020850000a13d000000000010043500000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d95011001c70000801002000039352f352a0000040f00000001022001900000208b0000613d000000000101043b000000010200002900000000012100190000000002000019000000000001042d00000d510100004100000000001004350000003201000039000000040010043f00000d52010000410000353100010430000000000100001900003531000104300000001f02200039000000200300008a000000000232016f0000000001120019000000000221004b0000000002000019000000010200403900000d7f0310009c0000209a0000213d00000001022001900000209a0000c13d000000400010043f000000000001042d00000d510100004100000000001004350000004101000039000000040010043f00000d520100004100003531000104300000000012010434000000000220004c000020a40000613d000000000001042d00000d510100004100000000001004350000003201000039000000040010043f00000d520100004100003531000104300000000003010433000000000323004b000020b10000a13d000000050220021000000000012100190000002001100039000000000001042d00000d510100004100000000001004350000003201000039000000040010043f00000d52010000410000353100010430000000000110004c000020ba0000613d000000000001042d000000400100043d000000440210003900000da403000041000000000032043500000024021000390000000703000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c700003531000104300009000000000002000500000006001d000400000005001d000900000004001d000800000003001d000600000002001d000700000001001d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f00000009030000290000000102200190000022140000613d000000000201043b000000400c00043d00000d890100004100000000001c0435000000060100002900000d4f061001970000002404c0003900000000010004140000000000640435000000070400002900000d4f074001970000000404c00039000000000074043500000d4f05200197000000040250008c000020f80000c13d000000010a0000310000002001a0008c000000200400003900000000040a4019000021310000013d000600000007001d000700000006001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03c0009c00000000020c40190000004002200210000000c001100210000000000121019f00000d8a011001c7000300000005001d000000000205001900020000000c001d352f352a0000040f000000020c0000290000000003010019000000600330027000000d4d0a3001970000002004a0008c000000200400003900000000040a40190000001f0540018f00000005064002720000211a0000613d0000000007000019000000050870021000000000098c0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000021120000413d000000000750004c000021290000613d0000000506600210000000000761034f00000000066c00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f000000000056043500010000000a001f000300000001035500000001022001900000000903000029000000070600002900000006070000290000000305000029000022230000613d0000001f01400039000000600110018f000000000bc1001900000000011b004b0000000001000019000000010100403900000d7f02b0009c0000221d0000213d00000001011001900000221d0000c13d0000004000b0043f0000002001a0008c000022140000413d00000000090c043300000d4f0190009c000022140000213d000000000190004c0000214d0000613d00000da50100004100000000081b04360000000001000414000000040290008c0000215b0000c13d000000010a0000310000004001a0008c000000400400003900000000040a4019000021960000013d00000da90100004100000000001b04350000002402b00039000000000100041400000000006204350000000402b000390000000000720435000000040250008c000021d60000c13d000000010a0000310000002001a0008c000000200400003900000000040a4019000022090000013d000100000008001d000600000007001d000700000006001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03b0009c00000000020b40190000004002200210000000c001100210000000000121019f00000d87011001c7000200000009001d000000000209001900030000000b001d352f352a0000040f000000030b0000290000000003010019000000600330027000000d4d0a3001970000004004a0008c000000400400003900000000040a40190000001f0540018f00000005064002720000217e0000613d0000000007000019000000050870021000000000098b0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000021760000413d000000000750004c0000218d0000613d0000000506600210000000000761034f00000000066b00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f000000000056043500010000000a001f0003000000010355000000010220019000000009030000290000000706000029000000060700002900000002090000290000000108000029000022660000613d0000001f01400039000000e00110018f0000000001b1001900000d7f0210009c0000221d0000213d000000400010043f0000004002a0008c000022140000413d00000000050b043300000da60250009c000022140000213d000000000408043300000da60240009c000022140000213d000000000267004b000000000205001900000000020440190000000007040019000000000705401900000000042701a00000221a0000613d0000000808000029000000000480004c000022490000613d000000010400008a00000000658400d9000000000525004b0000225a0000413d000000000570004c000022600000613d00000000658200a900000000657500d9000000000635004b000022160000a13d000000000530004c000022490000613d00000000543400d9000000000474004b0000225a0000413d000000000420004c000022600000613d00000000453700a900000000242500d9000800000004001d0000000402000029000000000224004b0000221a0000813d000000440210003900000da803000041000000000032043500000024021000390000001503000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000d4d0200004100000d4d0310009c000000000102801900000d4d03b0009c00000000020b40190000004002200210000000c001100210000000000121019f00000d8a011001c7000000000205001900030000000b001d352f35250000040f000000030b0000290000000003010019000000600330027000000d4d0a3001970000002004a0008c000000200400003900000000040a40190000001f0540018f0000000506400272000021f50000613d0000000007000019000000050870021000000000098b0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000021ed0000413d000000000750004c000022040000613d0000000506600210000000000761034f00000000066b00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f000000000056043500010000000a001f0003000000010355000000010220019000000009030000290000228c0000613d0000001f01400039000000600110018f0000000001b1001900000d7f0210009c0000221d0000213d000000400010043f0000002001a0008c000022140000413d00000000090b043300000d4f0190009c0000221a0000a13d000000000100001900003531000104300000000502000029000000000225004b0000000003050019000022b20000413d00000000010900190000000802000029000000000001042d00000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f04a0018f0000000503a00272000022300000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000022280000413d000000000540004c0000223f0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000440210003900000d9c03000041000000000032043500000024021000390000001303000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000d510100004100000000001004350000001101000039000000040010043f00000d5201000041000035310001043000000d510100004100000000001004350000001201000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f04a0018f0000000503a00272000022730000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b0000226b0000413d000000000540004c000022820000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f04a0018f0000000503a00272000022990000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000022910000413d000000000540004c000022a80000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000440210003900000da703000041000000000032043500000024021000390000001503000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c700003531000104300008000000000002000100000008001d000200000007001d000300000006001d000400000005001d000600000004001d000500000003001d000700000002001d000800000001001d00000d5501000041000000000010043900000000010004120000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f00000001022001900000237d0000613d000000000201043b000000400a00043d00000d890100004100000000001a0435000000070100002900000d4f031001970000002404a0003900000000010004140000000000340435000000080300002900000d4f033001970000000404a00039000000000034043500000d4f02200197000000040320008c000022f00000c13d0000000103000031000000200130008c00000020040000390000000004034019000023210000013d00000d4d0300004100000d4d0410009c000000000103801900000d4d04a0009c00000000030a40190000004003300210000000c001100210000000000131019f00000d8a011001c700080000000a001d352f352a0000040f000000080a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f00000005064002720000230e0000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000023060000413d000000000750004c0000231d0000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000023850000613d0000001f01400039000000600210018f0000000001a20019000000000221004b0000000002000019000000010200403900000d7f0410009c0000237f0000213d00000001022001900000237f0000c13d000000400010043f000000200130008c0000237d0000413d00000000040a043300000d4f0140009c0000237d0000213d00000d83010000410000000000100439000000040040044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039000800000004001d352f352a0000040f0000000805000029000000010300008a0000000504000029000000000440004c0000000604000029000000000304601900000001022001900000237d0000613d000000000101043b000000000110004c0000237d0000613d000000400600043d000000c40160003900000001020000290000000000210435000000a401600039000000020200002900000000002104350000000301000029000000ff0110018f000000840260003900000000001204350000006401600039000000040200002900000000002104350000004401600039000000000031043500000024016000390000000002000410000000000021043500000daa0100004100000000001604350000000401600039000000000200041100000000002104350000000001000414000000040250008c000023780000613d00000d4d0200004100000d4d0310009c000000000102801900000d4d0360009c00000000020640190000004002200210000000c001100210000000000121019f00000dab011001c70000000002050019000700000006001d352f35250000040f000000070600002900000008050000290000000003010019000000600330027000010d4d0030019d00000d4d0430019700030000000103550000000102200190000023ab0000613d00000d7f0160009c0000237f0000213d000000400060043f0000000001050019000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f0430018f0000000503300272000023920000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b0000238a0000413d000000000540004c000023a10000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f0000000504400272000023b80000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b000023b00000413d000000000530004c000023c70000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000a000000000002000900000006001d000800000005001d000300000004001d000400000003001d000500000002001d000a00000001001d00000d8001000041000000000010043900000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d81011001c70000800b02000039352f352a0000040f0000000a0300002900000001022001900000265d0000613d000000000101043b0000000902000029000000000121004b0000267a0000213d00000d550100004100000000001004390000000001000412000900000001001d00000004001004430000002001000039000200000001001d000000240010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f00000001022001900000265d0000613d000000000101043b000700000001001d00000d5501000041000000000010043900000009010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f0000000a0600002900000001022001900000265d0000613d000000000201043b000000400b00043d00000d890100004100000000001b0435000000070100002900000d4f041001970000002403b000390000000001000414000900000004001d000000000043043500000d4f056001970000000403b00039000000000053043500000d4f02200197000000040320008c000600000005001d000024230000c13d0000000103000031000000200130008c00000020040000390000000004034019000024560000013d00000d4d0300004100000d4d0410009c000000000103801900000d4d04b0009c00000000030b40190000004003300210000000c001100210000000000131019f00000d8a011001c700070000000b001d352f352a0000040f000000070b0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000024410000613d0000000007000019000000050870021000000000098b0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000024390000413d000000000750004c000024500000613d0000000506600210000000000761034f00000000066b00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f000300000001035500000001022001900000000a060000290000000605000029000026c10000613d0000001f01400039000000600110018f000000000ab1001900000000011a004b0000000001000019000000010100403900000d7f02a0009c0000265f0000213d00000001011001900000265f0000c13d0000004000a0043f000000200130008c0000265d0000413d00000000070b043300000d4f0170009c0000265d0000213d0000004401a000390000000502000029000000000021043500000dac0100004100000000001a0435000000000100041100000d4f011001970000000402a0003900000000001204350000002401a0003900000000007104350000000001000414000000040270008c000024790000c13d0000000103000031000000200130008c00000020040000390000000004034019000024af0000013d00000d4d0200004100000d4d0310009c000000000102801900000d4d03a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000d9d011001c7000700000007001d000000000207001900050000000a001d352f35250000040f000000050a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000024990000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000024910000413d000000000750004c000024a80000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f000300000001035500000001022001900000000a0600002900000006050000290000000707000029000026e70000613d0000001f01400039000000600110018f000000000ba1001900000d7f01b0009c0000265f0000213d0000004000b0043f000000200130008c0000265d0000413d00000000010a0433000000000210004c0000000002000019000000010200c039000000000121004b0000265d0000c13d000000000800041000000dad0100004100000000091b043600000d4f018001970000000402b0003900000000001204350000000001000414000000040270008c000024cb0000c13d0000000103000031000000400130008c00000040040000390000000004034019000025030000013d000100000009001d000500000008001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03b0009c00000000020b40190000004002200210000000c001100210000000000121019f00000d52011001c7000000000207001900070000000b001d352f35250000040f000000070b0000290000000003010019000000600330027000000d4d03300197000000400430008c000000400400003900000000040340190000001f0540018f0000000506400272000024ec0000613d0000000007000019000000050870021000000000098b0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b000024e40000413d000000000750004c000024fb0000613d0000000506600210000000000761034f00000000066b00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f000300000001035500000001022001900000000a060000290000000605000029000000050800002900000001090000290000270d0000613d0000001f01400039000000e00110018f000000000ab1001900000d7f01a0009c0000265f0000213d0000004000a0043f000000400130008c0000265d0000413d00000000010b043300000000020904330000000903000029000000000335004b0000000003010019000000000302401900000000010280190000000402000029000000000121004b0000000401a000390000268c0000413d0000000302000029000000000223004b0000269c0000413d000700000003001d00000d9b0200004100000000002a043500000000008104350000000001000414000000040250008c000025250000c13d0000000103000031000000200130008c00000020040000390000000004034019000025580000013d00000d4d0200004100000d4d0310009c000000000102801900000d4d03a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000d52011001c7000000000205001900060000000a001d352f352a0000040f000000060a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f0000000506400272000025440000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b0000253c0000413d000000000750004c000025530000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f000300000001035500000001022001900000000a06000029000027330000613d0000001f01400039000000600110018f0000000001a1001900000d7f0210009c0000265f0000213d000000400010043f000000200230008c0000265d0000413d00000000020a043300000044031000390000000000230435000000200210003900000d8b030000410000000000320435000000080300002900000d4f03300197000000240410003900000000003404350000004403000039000000000031043500000dae0310009c0000265f0000213d0000008003100039000000400030043f0000000003000414000000040460008c000025760000c13d000000010200003900000001030000310000258b0000013d00000d4d0400004100000d4d0520009c00000000020480190000004002200210000000000101043300000d4d0510009c00000000010480190000006001100210000000000121019f00000d4d0230009c00000000020400190000000002034019000000c002200210000000000121019f0000000002060019352f35250000040f000000010220018f0003000000010355000000600110027000010d4d0010019d00000d4d031001970000006001000039000000000430004c000025b90000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000d7f0640009c0000265f0000213d00000001055001900000265f0000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000025aa0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000025a20000413d000000000750004c000025b90000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000000220004c000026650000613d0000000012010434000000000320004c000025d20000613d00000d4e03000041000000200420008c0000000004000019000000000403401900000d4e02200197000000000520004c000000000300a01900000d4e0220009c00000000020400190000000002036019000000000220004c0000265d0000c13d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b0000265d0000c13d000000000110004c000026650000613d00000d830100004100000000001004390000000901000029000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f00000001022001900000265d0000613d000000000101043b000000000110004c0000265d0000613d000000400600043d00000d9801000041000000000516043600000004016000390000000702000029000000000021043500000000010004140000000902000029000000040320008c000026030000613d00000d4d0400004100000d4d0310009c000000000104801900000d4d0360009c000000000304001900000000030640190000004003300210000000c001100210000000000131019f00000d52011001c7000a00000005001d000900000006001d352f35250000040f00000009060000290000000a050000290000000003010019000000600330027000010d4d0030019d00000d4d0430019700030000000103550000000102200190000027590000613d00000d7f0160009c0000265f0000213d000000400060043f00000d8d0160009c0000265f0000213d000000400050043f000000000006043500000000010004140000000802000029000000040220008c000026110000c13d000000010200003900000001010000310000262c0000013d00000d4d0200004100000d4d0310009c000000000102801900000d4d0350009c00000000020540190000004002200210000000c001100210000000000121019f0000000703000029000000000230004c000026260000613d00000d53011001c7000080090200003900000008040000290000000005000019352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d011001970000262c0000013d0000000802000029352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d01100197000000000310004c000026590000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000d7f0640009c0000265f0000213d00000001055001900000265f0000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f00000005055002720000264a0000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000026420000413d000000000640004c000026590000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003104350000000101200190000026ac0000613d0000000701000029000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400100043d000000640210003900000daf030000410000000000320435000000440210003900000db003000041000000000032043500000024021000390000002d03000039000000000032043500000d9202000041000000000021043500000004021000390000000203000029000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d93011001c70000353100010430000000400100043d000000440210003900000da403000041000000000032043500000024021000390000000703000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c700003531000104300000004402a0003900000da80300004100000000003204350000002402a000390000001503000039000000000032043500000d920200004100000000002a04350000000202000029000000000021043500000d4d0100004100000d4d02a0009c00000000010a4019000000400110021000000d9d011001c700003531000104300000004402a0003900000da70300004100000000003204350000002402a000390000001503000039000000000032043500000d920200004100000000002a04350000000202000029000000000021043500000d4d0100004100000d4d02a0009c00000000010a4019000000400110021000000d9d011001c70000353100010430000000400100043d000000640210003900000d90030000410000000000320435000000440210003900000d9103000041000000000032043500000024021000390000002303000039000000000032043500000d9202000041000000000021043500000004021000390000000203000029000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d93011001c70000353100010430000000400200043d0000001f0430018f0000000503300272000026ce0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000026c60000413d000000000540004c000026dd0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f0000000503300272000026f40000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000026ec0000413d000000000540004c000027030000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f00000005033002720000271a0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000027120000413d000000000540004c000027290000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f0000000503300272000027400000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000027380000413d000000000540004c0000274f0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f0000000504400272000027660000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b0000275e0000413d000000000530004c000027750000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000db10420009c000027a30000813d00000005052002100000003f04500039000000200600008a000000000664016f000000400400043d0000000006640019000000000746004b0000000007000019000000010700403900000d7f0860009c000027a30000213d0000000107700190000027a30000c13d000000400060043f00000000002404350000000002150019000000000332004b000027a10000213d000000000312004b0000279f0000a13d00000000030400190000000205100367000000000505043b00000d4f0650009c000027a10000213d000000200330003900000000005304350000002001100039000000000521004b000027960000413d0000000001040019000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000000110004c000027ac0000613d000000000001042d000000400100043d000000440210003900000da103000041000000000032043500000024021000390000001a03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000000110004c000027c10000613d000000000001042d000000400100043d000000440210003900000da303000041000000000032043500000024021000390000000c03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c700003531000104300010000000000002000600000004001d000b00000002001d000100000001001d000c00000003001d000000000130004c00002a470000613d0000000c01000029000000010110008c000500000001001d00002a440000613d0000000c01000029000000020110008a000400000001001d0000000007000019000027eb0000013d00000d7f0160009c00002a4d0000213d000000400060043f00000005010000290000000902000029000000000112004b000000000702001900002a440000813d0000000c01000029000000000117004b00002a530000813d00000005017002100000000b0200002900000000022100190000000201000367000000000221034f000000000502043b00000db20250009c00002a450000813d00000001037000390000000c02000029000000000223004b00002a530000813d000900000003001d00000005023002100000000b030000290000000002320019000000000121034f000000000101043b000f00000001001d00000d4f0110009c00002a450000213d000000000170004c0000000002000412001000000005001d000d00000007001d000800000002001d0000282b0000613d00000d550100004100000000001004390000000400200443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039352f352a0000040f0000000d070000290000001005000029000000010220019000002a450000613d000000000201043b000000400a00043d00000d890100004100000000001a04350000002403a0003900000000010004140000000f0400002900000000004304350000000403a00039000000000053043500000d4f02200197000000040320008c0000282e0000c13d0000000103000031000000200130008c00000020040000390000000004034019000028600000013d000000400900043d0000000101000029000028700000013d00000d4d0300004100000d4d0410009c000000000103801900000d4d04a0009c00000000030a40190000004003300210000000c001100210000000000131019f00000d8a011001c7000e0000000a001d352f352a0000040f0000000e0a0000290000000003010019000000600330027000000d4d03300197000000200430008c0000002004000039000000000403401900000005054002720000284b0000613d0000000006000019000000050760021000000000087a0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000028430000413d0000001f064001900000285a0000613d0000000505500210000000000751034f00000000055a00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010220019000000010050000290000000d0700002900002acd0000613d0000001f01400039000000600110018f0000000009a10019000000000119004b0000000001000019000000010100403900000d7f0290009c00002a4d0000213d000000010110019000002a4d0000c13d000000400090043f000000200130008c00002a450000413d00000000010a043300000d4f0210009c00002a450000213d00000db3020000410000000008290436000000000200041400000d4f06100197000000040160008c000e00000006001d0000287c0000c13d0000000103000031000000600130008c00000060040000390000000004034019000028b20000013d000700000008001d00000d4d0100004100000d4d0320009c000000000201801900000d4d0390009c00000000010940190000004001100210000000c002200210000000000112019f00000d87011001c70000000002060019000a00000009001d352f352a0000040f0000000a090000290000000003010019000000600330027000000d4d03300197000000600430008c0000006004000039000000000403401900000005054002720000289b0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000028930000413d0000001f06400190000028aa0000613d0000000505500210000000000751034f00000000055900190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010220019000000010050000290000000e060000290000000d07000029000000070800002900002aa70000613d0000001f01400039000000e00110018f000000000a91001900000000011a004b0000000001000019000000010100403900000d7f02a0009c00002a4d0000213d000000010110019000002a4d0000c13d0000004000a0043f000000600130008c00002a450000413d000000000109043300000da60210009c00002a450000213d000000000208043300000da60320009c00002a450000213d000000400390003900000000090304330000ffff0390008c00002a450000213d00000d9b0300004100000000003a04350000000403a0003900000000006304350000000f03000029000000000335004b00000000080100190000000008024019000000000b020019000000000b0140190000000001000414000000040250008c000a00000008001d000028dc0000c13d0000000103000031000000200130008c00000020040000390000000004034019000029150000013d000200000009001d00030000000b001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000d52011001c7000000000205001900070000000a001d352f352a0000040f000000070a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000000505400272000028fc0000613d0000000006000019000000050760021000000000087a0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000028f40000413d0000001f064001900000290b0000613d0000000505500210000000000751034f00000000055a00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010220019000000010050000290000000e060000290000000d070000290000000a08000029000000030b000029000000020900002900002a810000613d0000001f01400039000000600110018f0000000001a1001900000d7f0210009c00002a4d0000213d000000400010043f000000200230008c00002a450000413d00000000020a04330000000003b2004b00002a470000413d0000000003b2004b00002a590000613d0000000003b0004c00002a6a0000613d000000000380004c00002a6a0000613d000027100190008c00002a470000213d0000000002b20049000000010100008a00000000342100d90000271003900089000000000434004b00002a470000413d00000000292300aa000029330000613d00000000219100d9000000000181004b00002a470000413d0000271021b000c9000000000a19001900000000019a004b00000000010000190000000101004039000000010110019000002a470000c13d0000000001a0004c00002a7b0000613d0000000401000029000000000117004b0000000602000029000029b90000813d00000d5501000041000000000010043900000008010000290000000400100443000000240000044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d82011001c70000800502000039000800000009001d00070000000a001d352f352a0000040f000000070a00002900000008090000290000000a080000290000000d030000290000000e060000290000001005000029000000010220019000002a450000613d0000000202300039000000000101043b0000000c03000029000000000332004b00002a530000813d00000005022002100000000b0300002900000000023200190000000202200367000000000202043b00000d4f0320009c00002a450000213d000000400b00043d00000d890300004100000000003b04350000002404b00039000000000300041400000000002404350000000402b000390000000f04000029000000000042043500000d4f02100197000000040120008c000029740000c13d0000000103000031000000200130008c00000020040000390000000004034019000029a90000013d00000d4d0100004100000d4d0430009c000000000301801900000d4d04b0009c00000000010b40190000004001100210000000c003300210000000000113019f00000d8a011001c7000d0000000b001d352f352a0000040f0000000d0b0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000000505400272000029910000613d0000000006000019000000050760021000000000087b0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000029890000413d0000001f06400190000029a00000613d0000000505500210000000000751034f00000000055b00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f0003000000010355000000010220019000000010050000290000000e060000290000000a080000290000000809000029000000070a00002900002af30000613d0000001f01400039000000600210018f0000000001b20019000000000221004b0000000002000019000000010200403900000d7f0410009c00002a4d0000213d000000010220019000002a4d0000c13d000000400010043f000000200130008c00002a450000413d00000000020b043300000d4f0120009c00002a450000213d000d00000002001d00000000218900a90000000012a100d9000a00000002001d00000d83010000410000000000100439000000040060044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f0000000f030000290000001004000029000000000334004b000000010220018f000029f70000813d000000000220004c0000000e020000290000000d0300002900002a450000613d000000000101043b000000000110004c00002a450000613d000000400600043d00000db501000041000000000016043500000d4f0430019700000024036000390000000001000414000000000043043500000004036000390000000a040000290000000000430435000000040320008c000029f40000613d00000d4d0500004100000d4d0360009c0000000003050019000000000306401900000d4d0410009c0000000001058019000000c0011002100000004003300210000000000113019f00000d8a011001c7001000000006001d352f35250000040f00000010060000290000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000002b190000613d00000d7f0160009c000027e50000a13d00002a4d0000013d000000000220004c0000000e020000290000000d0300002900002a450000613d000000000101043b000000000110004c00002a450000613d000000400600043d00000db401000041000000000016043500000d4f0430019700000024036000390000000001000414000000000043043500000004036000390000000a040000290000000000430435000000040320008c000027e30000613d00000d4d0500004100000d4d0360009c0000000003050019000000000306401900000d4d0410009c0000000001058019000000c0011002100000004003300210000000000113019f00000d8a011001c7001000000006001d352f35250000040f00000010060000290000000003010019000000600330027000010d4d0030019d00000d4d0430019700030000000103550000000102200190000027e30000c13d000000400200043d0000001f0340018f000000050440027200002a2b0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00002a230000413d000000000530004c00002a3a0000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000001101000039000000040010043f00000d5201000041000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d5201000041000035310001043000000d510100004100000000001004350000003201000039000000040010043f00000d52010000410000353100010430000000440210003900000db703000041000000000032043500000024021000390000001903000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000440210003900000db603000041000000000032043500000024021000390000001603000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000d510100004100000000001004350000001201000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f0430018f000000050330027200002a8e0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002a860000413d000000000540004c00002a9d0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f000000050330027200002ab40000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002aac0000413d000000000540004c00002ac30000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f000000050330027200002ada0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002ad20000413d000000000540004c00002ae90000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f000000050330027200002b000000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002af80000413d000000000540004c00002b0f0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200002b260000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00002b1e0000413d000000000530004c00002b350000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000000310004c00002b450000613d000000010300008a00000000431300d9000000000323004b00002b470000413d00000000211200a9000000000001042d00000d510100004100000000001004350000001101000039000000040010043f00000d520100004100003531000104300007000000000002000400000006001d000700000005001d000500000003001d000600000002001d000000400b00043d0000004402b00039000000000042043500000dac0200004100000000002b0435000000000200041100000d4f022001970000000403b00039000000000023043500000d4f051001970000002401b0003900000000005104350000000001000414000000040250008c00002b660000c13d0000000103000031000000200130008c0000002004000039000000000403401900002b9c0000013d000200000007001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03b0009c00000000020b40190000004002200210000000c001100210000000000121019f00000d9d011001c7000300000005001d000000000205001900010000000b001d352f35250000040f000000010b0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200002b870000613d0000000007000019000000050870021000000000098b0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00002b7f0000413d000000000750004c00002b960000613d0000000506600210000000000761034f00000000066b00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f000300000001035500000001022001900000000305000029000000020700002900002c340000613d0000001f01400039000000600110018f000000000ab1001900000000011a004b0000000001000019000000010100403900000d7f02a0009c00002c0c0000213d000000010110019000002c0c0000c13d0000004000a0043f0000001f0130008c00002c0a0000a13d00000000010b0433000000000210004c0000000002000019000000010200c039000000000121004b00002c0a0000c13d00000dad0100004100000000061a043600000d4f017001970000000402a0003900000000001204350000000001000414000000040250008c00002bbc0000c13d0000000103000031000000400130008c0000004004000039000000000403401900002bf00000013d000200000006001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03a0009c00000000020a40190000004002200210000000c001100210000000000121019f00000d52011001c7000000000205001900030000000a001d352f35250000040f000000030a0000290000000003010019000000600330027000000d4d03300197000000400430008c000000400400003900000000040340190000001f0540018f000000050640027200002bdc0000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00002bd40000413d000000000750004c00002beb0000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f00030000000103550000000102200190000000020600002900002c5a0000613d0000001f01400039000000e00110018f0000000004a1001900000d7f0140009c00002c0c0000213d000000400040043f000000400130008c00002c0a0000413d000000050100002900000d4f01100197000000060200002900000d4f0220019700000000030a04330000000005060433000000000112004b00000000020300190000000002054019000000000105001900000000010340190000000703000029000000000331004b00002c120000413d0000000403000029000000000332004b00002c230000413d000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000440140003900000da802000041000000000021043500000024014000390000001502000039000000000021043500000d9201000041000000000014043500000004014000390000002002000039000000000021043500000d4d0100004100000d4d0240009c0000000001044019000000400110021000000d9d011001c70000353100010430000000440140003900000da702000041000000000021043500000024014000390000001502000039000000000021043500000d9201000041000000000014043500000004014000390000002002000039000000000021043500000d4d0100004100000d4d0240009c0000000001044019000000400110021000000d9d011001c70000353100010430000000400200043d0000001f0430018f000000050330027200002c410000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002c390000413d000000000540004c00002c500000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f000000050330027200002c670000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002c5f0000413d000000000540004c00002c760000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000e000000000002000e00000004001d000600000003001d000900000002001d000000000250004c00002ec00000613d00000d4f01100197000200000001001d00000d4f01600197000100000001001d000000010150008c000500000001001d00002df90000613d000000020150008a000400000001001d00000006010000290000002001100039000300000001001d0000000006000019000800000005001d00002c9b0000013d00000db10170009c00002df30000813d000000400070043f0000000501000029000000000116004b00002df90000813d0000000001060019000000000251004b00002dfc0000813d00000005021002100000000e0300002900000000033200190000000202000367000000000332034f000000000303043b000b00000003001d00000db20330009c00002dfa0000813d0000000106100039000000000356004b00002dfc0000813d00000005036002100000000e040000290000000004430019000000000442034f000000000704043b00000d4f0470009c00002dfa0000213d00000006040000290000000004040433000000000464004b00002dfc0000a13d000000030400002900000000033400190000000003030433000a00000003001d0000000403000029000000000331004b000d00000006001d000c00000007001d00002cd80000813d0000000201100039000000000351004b00002dfc0000813d00000005011002100000000e030000290000000001310019000000000112034f000000000101043b00000d4f0210009c00002dfa0000213d000000400900043d00000d89020000410000000000290435000000240390003900000000040004140000000000130435000000040190003900000000007104350000000202000029000000040120008c00002d420000c13d0000000103000031000000200130008c0000002004000039000000000403401900002d730000013d00000d83010000410000000000100439000000090100002900000d4f01100197000700000001001d000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f0000000b030000290000000c04000029000000000343004b00002d170000813d000000010220019000000008050000290000000d0600002900002dfa0000613d000000000101043b000000000110004c00002dfa0000613d000000400700043d00000db5010000410000000000170435000000240270003900000000010004140000000103000029000000000032043500000004027000390000000a0300002900000000003204350000000702000029000000040320008c00002d140000613d00000d4d0400004100000d4d0310009c000000000104801900000d4d0370009c000000000304001900000000030740190000004003300210000000c001100210000000000131019f00000d8a011001c7000c00000007001d352f35250000040f0000000c070000290000000d0600002900000008050000290000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000002e280000613d00000d7f0170009c00002c970000a13d00002df30000013d000000010220019000000008050000290000000d0600002900002dfa0000613d000000000101043b000000000110004c00002dfa0000613d000000400700043d00000db4010000410000000000170435000000240270003900000000010004140000000103000029000000000032043500000004027000390000000a0300002900000000003204350000000702000029000000040320008c00002c950000613d00000d4d0400004100000d4d0310009c000000000104801900000d4d0370009c000000000304001900000000030740190000004003300210000000c001100210000000000131019f00000d8a011001c7000c00000007001d352f35250000040f0000000c070000290000000d0600002900000008050000290000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000002c950000c13d00002e4e0000013d00000d4d0100004100000d4d0340009c000000000401801900000d4d0390009c00000000010940190000004001100210000000c003400210000000000113019f00000d8a011001c7000700000009001d352f352a0000040f00000007090000290000000003010019000000600330027000000d4d03300197000000200430008c00000020040000390000000004034019000000050540027200002d5f0000613d000000000600001900000005076002100000000008790019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b00002d570000413d0000001f0640019000002d6e0000613d0000000505500210000000000751034f00000000055900190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001022001900000000c0700002900002e020000613d0000001f01400039000000600210018f0000000001920019000000000221004b0000000002000019000000010200403900000d7f0410009c00002df30000213d000000010220019000002df30000c13d000000400010043f000000200130008c00002dfa0000413d0000000001090433000700000001001d00000d4f0110009c00002dfa0000213d00000d83010000410000000000100439000000090100002900000d4f01100197000900000001001d000000040010044300000d4d01000041000000000200041400000d4d0320009c0000000001024019000000c00110021000000d84011001c70000800202000039352f352a0000040f0000000b030000290000000c04000029000000000343004b00002dc50000813d000000010220019000000008050000290000000d0600002900002dfa0000613d000000000101043b000000000110004c00002dfa0000613d000000400700043d00000db5010000410000000000170435000000240270003900000000010004140000000703000029000000000032043500000004027000390000000a0300002900000000003204350000000902000029000000040320008c00002dc00000613d00000d4d0400004100000d4d0310009c000000000104801900000d4d0370009c000000000304001900000000030740190000004003300210000000c001100210000000000131019f00000d8a011001c7000c00000007001d352f35250000040f0000000c070000290000000d0600002900000008050000290000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000002e740000613d00000d7f0170009c0000000701000029000900000001001d00002c970000a13d00002df30000013d000000010220019000000008050000290000000d0600002900002dfa0000613d000000000101043b000000000110004c00002dfa0000613d000000400700043d00000db4010000410000000000170435000000240270003900000000010004140000000703000029000000000032043500000004027000390000000a0300002900000000003204350000000902000029000000040320008c00002def0000613d00000d4d0400004100000d4d0310009c000000000104801900000d4d0370009c000000000304001900000000030740190000004003300210000000c001100210000000000131019f00000d8a011001c7000c00000007001d352f35250000040f0000000c070000290000000d0600002900000008050000290000000003010019000000600330027000010d4d0030019d00000d4d043001970003000000010355000000010220019000002e9a0000613d00000d7f0170009c0000000701000029000900000001001d00002c970000a13d00000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000003201000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f0430018f000000050330027200002e0f0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002e070000413d000000000540004c00002e1e0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200002e350000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00002e2d0000413d000000000530004c00002e440000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200002e5b0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00002e530000413d000000000530004c00002e6a0000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200002e810000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00002e790000413d000000000530004c00002e900000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0340018f000000050440027200002ea70000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000645004b00002e9f0000413d000000000530004c00002eb60000613d0000000504400210000000000141034f00000000044200190000000303300210000000000504043300000000053501cf000000000535022f000000000101043b0000010003300089000000000131022f00000000013101cf000000000151019f000000000014043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f000035310001043000000d510100004100000000001004350000001101000039000000040010043f00000d520100004100003531000104300001000000000002000000400a00043d00000d890400004100000000004a043500000d4f043001970000002405a000390000000003000414000000000045043500000d4f022001970000000404a00039000000000024043500000d4f02100197000000040120008c00002ed90000c13d0000000103000031000000200130008c0000002004000039000000000403401900002f0a0000013d00000d4d0100004100000d4d0430009c000000000301801900000d4d04a0009c00000000010a40190000004001100210000000c003300210000000000113019f00000d8a011001c700010000000a001d352f352a0000040f000000010a0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000001f0540018f000000050640027200002ef70000613d0000000007000019000000050870021000000000098a0019000000000881034f000000000808043b00000000008904350000000107700039000000000867004b00002eef0000413d000000000750004c00002f060000613d0000000506600210000000000761034f00000000066a00190000000305500210000000000806043300000000085801cf000000000858022f000000000707043b0000010005500089000000000757022f00000000055701cf000000000585019f0000000000560435000100000003001f0003000000010355000000010220019000002f230000613d0000001f01400039000000600210018f0000000001a20019000000000221004b0000000002000019000000010200403900000d7f0410009c00002f1d0000213d000000010220019000002f1d0000c13d000000400010043f0000001f0130008c00002f1b0000a13d00000000010a043300000d4f0210009c00002f1b0000213d000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f0430018f000000050330027200002f300000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b00002f280000413d000000000540004c00002f3f0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000000110004c00002f4c0000613d000000000001042d000000400100043d000000440210003900000db603000041000000000032043500000024021000390000001603000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000000510004c00002f870000613d000000000520004c00002f990000613d000000000530004c00002f990000613d000027110540008c00002f810000813d000000010500008a00000000761500d90000271004400089000000000646004b00002f810000413d00000000411400aa00002f730000613d00000000541500d9000000000434004b00002f810000413d00000db80420009c00002f750000413d00002f810000013d00000db90420009c00002f810000213d00002710422000c90000000002210019000000000412004b00000000040000190000000104004039000000010440019000002f810000c13d000000000420004c00002fab0000613d00000000313100a900000000212100d9000000000001042d00000d510100004100000000001004350000001101000039000000040010043f00000d52010000410000353100010430000000400100043d000000440210003900000db703000041000000000032043500000024021000390000001903000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000400100043d000000440210003900000db603000041000000000032043500000024021000390000001603000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000d510100004100000000001004350000001201000039000000040010043f00000d52010000410000353100010430000000000510004c00002fd50000613d000000000520004c00002fe70000613d000000000530004c00002fe70000613d000000010500008a00000000762500d9000000000616004b00002fcf0000413d00000000621200a900000db90620009c00002fcf0000213d000000000613004b00002fcf0000413d000027100640008c00002fcf0000213d00000000061300490000271004400089000000000113004b00002fc90000613d00000000316500d9000000000141004b00002fcf0000413d00000000316400aa00002ff90000613d00002710322000c900000000211200d90000000101100039000000000001042d00000d510100004100000000001004350000001101000039000000040010043f00000d52010000410000353100010430000000400100043d000000440210003900000da103000041000000000032043500000024021000390000001a03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c70000353100010430000000400100043d000000440210003900000db603000041000000000032043500000024021000390000001603000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d9d011001c7000035310001043000000d510100004100000000001004350000001201000039000000040010043f00000d52010000410000353100010430000d000000000002000600000003001d000000009303043400000db10430009c0000314e0000813d00000005053002100000003f04500039000000200600008a000000000464016f000000400600043d0000000004460019000700000006001d000000000664004b0000000006000019000000010600403900000d7f0740009c0000314e0000213d00000001066001900000314e0000c13d000000400040043f0000000704000029000000000a3404360000001f0350018f000000000400003100000002044003670000000505500272000030230000613d0000000006000019000000050760021000000000087a0019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b0000301b0000413d000000000630004c000030320000613d0000000505500210000000000454034f00000000055a00190000000303300210000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f000000000035043500000007030000290000000003030433000000000330004c000031480000613d00000000002a043500000006020000290000000002020433000000000320004c0000313e0000613d00000d4f081001970000000006000019000400000009001d00030000000a001d000200000008001d000000010120008a000000000116004b000031440000813d000000000162004b000031480000a13d00000005076002100000000001970019000000000101043300000d4f04100197000000010b6000390000000001b2004b000031480000a13d000000050cb0021000000000019c00190000000002010433000000400e00043d00000d890100004100000000001e04350000000403e000390000000001000414000900000004001d000000000043043500000d4f032001970000002402e00039000800000003001d0000000000320435000000040280008c000030610000c13d0000000103000031000000200130008c000000200400003900000000040340190000309d0000013d000a00000007001d000b00000006001d000c0000000c001d000d0000000b001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03e0009c00000000020e40190000004002200210000000c001100210000000000121019f00000d8a011001c7000000000208001900050000000e001d352f352a0000040f000000050e0000290000000003010019000000600330027000000d4d03300197000000200430008c000000200400003900000000040340190000000505400272000030830000613d0000000006000019000000050760021000000000087e0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b0000307b0000413d0000001f06400190000030920000613d0000000505500210000000000751034f00000000055e00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001022001900000000409000029000000030a00002900000002080000290000000d0b0000290000000c0c0000290000000b060000290000000a070000290000317c0000613d0000001f01400039000000600110018f000000000de1001900000000011d004b0000000001000019000000010100403900000d7f02d0009c0000314e0000213d00000001011001900000314e0000c13d0000004000d0043f0000001f0130008c000031460000a13d00000000020e043300000d4f0120009c000031460000213d000000000120004c000000000300001900000000010000190000000004000019000031120000613d00000db30100004100000000051d04360000000001000414000000040320008c000030bc0000c13d0000000103000031000000600130008c00000060040000390000000004034019000030f90000013d000100000005001d000a00000007001d000b00000006001d000c0000000c001d000d0000000b001d00000d4d0300004100000d4d0410009c000000000103801900000d4d04d0009c00000000030d40190000004003300210000000c001100210000000000131019f00000d87011001c700050000000d001d352f352a0000040f000000050d0000290000000003010019000000600330027000000d4d03300197000000600430008c000000600400003900000000040340190000000505400272000030de0000613d0000000006000019000000050760021000000000087d0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000030d60000413d0000001f0640019000000004090000290000000c0c000029000030ef0000613d0000000505500210000000000751034f00000000055d00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000102200190000000030a00002900000002080000290000000d0b0000290000000b060000290000000a070000290000000105000029000031a20000613d0000001f01400039000000e00110018f0000000002d1001900000d7f0120009c0000314e0000213d000000400020043f000000600130008c000031460000413d00000000030d043300000da60130009c000031460000213d000000000505043300000da60150009c000031460000213d0000004001d0003900000000040104330000ffff0140008c000031460000213d0000000901000029000000080d0000290000000001d1004b000000000103001900000000010540190000000003058019000000000d02001900000007020000290000000002020433000000000562004b000031480000a13d0000000002b2004b000031480000a13d0000000002a700190000000002020433000000000520004c000031540000613d000000000530004c000031650000613d000000000510004c000031650000613d000027100540008c0000313e0000213d000000010500008a00000000762500d90000271004400089000000000646004b0000313e0000413d00000000424200aa0000312c0000613d00000000542500d9000000000414004b0000313e0000413d00002710433000c90000000003320019000000000423004b0000000004000019000000010400403900000001044001900000313e0000c13d000000000430004c000031760000613d0000000004ac001900000000211200a900000000213100d9000000000014043500000006010000290000000002010433000000000120004c00000000060b0019000030400000c13d00000d510100004100000000001004350000001101000039000000040010043f00000d520100004100003531000104300000000701000029000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000003201000039000000040010043f00000d5201000041000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d520100004100003531000104300000004401d0003900000db70200004100000000002104350000002401d000390000001902000039000000000021043500000d920100004100000000001d04350000000401d000390000002002000039000000000021043500000d4d0100004100000d4d02d0009c00000000010d4019000000400110021000000d9d011001c700003531000104300000004401d0003900000db60200004100000000002104350000002401d000390000001602000039000000000021043500000d920100004100000000001d04350000000401d000390000002002000039000000000021043500000d4d0100004100000d4d02d0009c00000000010d4019000000400110021000000d9d011001c7000035310001043000000d510100004100000000001004350000001201000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f0430018f0000000503300272000031890000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000031810000413d000000000540004c000031980000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f0000000503300272000031af0000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000031a70000413d000000000540004c000031be0000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000d000000000002000600000003001d000000009303043400000db10430009c000033180000813d00000005053002100000003f04500039000000200600008a000000000464016f000000400600043d0000000004460019000700000006001d000000000664004b0000000006000019000000010600403900000d7f0740009c000033180000213d0000000106600190000033180000c13d000000400040043f0000000704000029000000000a3404360000001f0350018f000000000400003100000002044003670000000505500272000031ec0000613d0000000006000019000000050760021000000000087a0019000000000774034f000000000707043b00000000007804350000000106600039000000000756004b000031e40000413d000000000630004c000031fb0000613d0000000505500210000000000454034f00000000055a00190000000303300210000000000605043300000000063601cf000000000636022f000000000404043b0000010003300089000000000434022f00000000033401cf000000000363019f000000000035043500000007030000290000000003030433000000000430004c000033120000613d000000050330021000000007040000290000000003430019000000000023043500000006020000290000000002020433000000000320004c000033120000613d000000010620008c000033080000613d00000d4f08100197000400000009001d00030000000a001d000200000008001d00000006010000290000000001010433000000010b60008a0000000002b1004b0000330c0000a13d000000050cb0021000000000029c0019000000000202043300000d4f04200197000000000161004b0000330c0000a13d000000050760021000000000019700190000000002010433000000400e00043d00000d890100004100000000001e04350000000403e000390000000001000414000900000004001d000000000043043500000d4f032001970000002402e00039000800000003001d0000000000320435000000040280008c0000322d0000c13d0000000103000031000000200130008c00000020040000390000000004034019000032690000013d000a00000007001d000b00000006001d000c0000000c001d000d0000000b001d00000d4d0200004100000d4d0310009c000000000102801900000d4d03e0009c00000000020e40190000004002200210000000c001100210000000000121019f00000d8a011001c7000000000208001900050000000e001d352f352a0000040f000000050e0000290000000003010019000000600330027000000d4d03300197000000200430008c0000002004000039000000000403401900000005054002720000324f0000613d0000000006000019000000050760021000000000087e0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000032470000413d0000001f064001900000325e0000613d0000000505500210000000000751034f00000000055e00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f000300000001035500000001022001900000000409000029000000030a00002900000002080000290000000d0b0000290000000c0c0000290000000b060000290000000a07000029000033460000613d0000001f01400039000000600110018f000000000de1001900000000011d004b0000000001000019000000010100403900000d7f02d0009c000033180000213d0000000101100190000033180000c13d0000004000d0043f0000001f0130008c0000330a0000a13d00000000020e043300000d4f0120009c0000330a0000213d000000000120004c000000000400001900000000030000190000000001000019000032de0000613d00000db30100004100000000051d04360000000001000414000000040320008c000032880000c13d0000000103000031000000600130008c00000060040000390000000004034019000032c50000013d000100000005001d000a00000007001d000b00000006001d000c0000000c001d000d0000000b001d00000d4d0300004100000d4d0410009c000000000103801900000d4d04d0009c00000000030d40190000004003300210000000c001100210000000000131019f00000d87011001c700050000000d001d352f352a0000040f000000050d0000290000000003010019000000600330027000000d4d03300197000000600430008c000000600400003900000000040340190000000505400272000032aa0000613d0000000006000019000000050760021000000000087d0019000000000771034f000000000707043b00000000007804350000000106600039000000000756004b000032a20000413d0000001f064001900000000409000029000032ba0000613d0000000505500210000000000751034f00000000055d00190000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000100000003001f00030000000103550000000102200190000000030a00002900000002080000290000000d0b0000290000000c0c0000290000000b060000290000000a0700002900000001050000290000336c0000613d0000001f01400039000000e00110018f0000000002d1001900000d7f0120009c000033180000213d000000400020043f000000600130008c0000330a0000413d00000000040d043300000da60140009c0000330a0000213d000000000505043300000da60150009c0000330a0000213d0000004001d0003900000000010104330000ffff0310008c0000330a0000213d0000000903000029000000080d0000290000000003d3004b000000000304001900000000030540190000000004058019000000000d02001900000007020000290000000002020433000000000562004b0000330c0000a13d0000000002b2004b0000330c0000a13d0000000002a700190000000002020433000000000520004c0000331e0000613d000000000540004c0000332f0000613d000000000530004c0000332f0000613d000000010500008a00000000764500d9000000000626004b000033120000413d00000000644200a900000db90640009c000033120000213d000000000623004b000033120000413d000027100610008c000033120000213d00000000062300490000271001100089000000000223004b000032fe0000613d00000000326500d9000000000212004b000033120000413d00000000211600aa000033400000613d0000000002ac001900002710434000c900000000311300d9000000010110003900000000001204350000000001b0004c00000000060b00190000320d0000c13d0000000701000029000000000001042d0000000001000019000035310001043000000d510100004100000000001004350000003201000039000000040010043f00000d5201000041000035310001043000000d510100004100000000001004350000001101000039000000040010043f00000d5201000041000035310001043000000d510100004100000000001004350000004101000039000000040010043f00000d520100004100003531000104300000004401d0003900000da10200004100000000002104350000002401d000390000001a02000039000000000021043500000d920100004100000000001d04350000000401d000390000002002000039000000000021043500000d4d0100004100000d4d02d0009c00000000010d4019000000400110021000000d9d011001c700003531000104300000004401d0003900000db60200004100000000002104350000002401d000390000001602000039000000000021043500000d920100004100000000001d04350000000401d000390000002002000039000000000021043500000d4d0100004100000d4d02d0009c00000000010d4019000000400110021000000d9d011001c7000035310001043000000d510100004100000000001004350000001201000039000000040010043f00000d52010000410000353100010430000000400200043d0000001f0430018f0000000503300272000033530000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b0000334b0000413d000000000540004c000033620000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f0000353100010430000000400200043d0000001f0430018f0000000503300272000033790000613d000000000500001900000005065002100000000007620019000000000661034f000000000606043b00000000006704350000000105500039000000000635004b000033710000413d000000000540004c000033880000613d0000000503300210000000000131034f00000000033200190000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f000000000013043500000d4d01000041000000010300003100000d4d0430009c000000000301801900000d4d0420009c000000000102401900000040011002100000006002300210000000000112019f00003531000104300000000004010019000000400100043d00000044051000390000000000350435000000200310003900000d8b05000041000000000053043500000d4f02200197000000240510003900000000002504350000004402000039000000000021043500000dba0210009c000034040000813d0000008002100039000000400020043f0000000002000414000000040540008c000033a80000c13d00000001020000390000000103000031000033bc0000013d00000d4d0500004100000d4d0630009c00000000030580190000004003300210000000000101043300000d4d0610009c00000000010580190000006001100210000000000131019f00000d4d0320009c0000000002058019000000c002200210000000000121019f0000000002040019352f35250000040f000000010220018f0003000000010355000000600110027000010d4d0010019d00000d4d031001970000006001000039000000000430004c000033ea0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000d7f0640009c000034040000213d0000000105500190000034040000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f0000000506600272000033db0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000033d30000413d000000000750004c000033ea0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000000220004c0000340a0000613d0000000012010434000000000320004c000034030000613d00000d4e030000410000001f0420008c0000000004000019000000000403201900000d4e02200197000000000520004c000000000300801900000d4e0220009c00000000020400190000000002036019000000000220004c0000341f0000613d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b0000341f0000c13d000000000110004c0000340a0000613d000000000001042d00000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400100043d000000640210003900000daf030000410000000000320435000000440210003900000db003000041000000000032043500000024021000390000002d03000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d93011001c70000353100010430000000000100001900003531000104300000000005010019000000400100043d0000006406100039000000000046043500000d4f0330019700000044041000390000000000340435000000200310003900000dac04000041000000000043043500000d4f02200197000000240410003900000000002404350000006402000039000000000021043500000dbb0210009c000034960000813d000000a002100039000000400020043f0000000002000414000000040450008c0000343a0000c13d000000010200003900000001030000310000344e0000013d00000d4d0400004100000d4d0630009c00000000030480190000004003300210000000000101043300000d4d0610009c00000000010480190000006001100210000000000131019f00000d4d0320009c0000000002048019000000c002200210000000000121019f0000000002050019352f35250000040f000000010220018f0003000000010355000000600110027000010d4d0010019d00000d4d031001970000006001000039000000000430004c0000347c0000613d0000003f01300039000000200400008a000000000441016f000000400100043d0000000004410019000000000514004b0000000005000019000000010500403900000d7f0640009c000034960000213d0000000105500190000034960000c13d000000400040043f0000000003310436000000030400036700000001060000310000001f0560018f00000005066002720000346d0000613d000000000700001900000005087002100000000009830019000000000884034f000000000808043b00000000008904350000000107700039000000000867004b000034650000413d000000000750004c0000347c0000613d0000000506600210000000000464034f00000000036300190000000305500210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000000220004c0000349c0000613d0000000012010434000000000320004c000034950000613d00000d4e030000410000001f0420008c0000000004000019000000000403201900000d4e02200197000000000520004c000000000300801900000d4e0220009c00000000020400190000000002036019000000000220004c000034b10000613d0000000001010433000000000210004c0000000002000019000000010200c039000000000221004b000034b10000c13d000000000110004c0000349c0000613d000000000001042d00000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400100043d000000640210003900000dbc030000410000000000320435000000440210003900000dbd03000041000000000032043500000024021000390000003103000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d93011001c700003531000104300000000001000019000035310001043000000000030200190000000004010019000000400200043d00000dbe0120009c0000350a0000813d0000002001200039000000400010043f00000000000204350000000002000414000000040540008c000034c10000c13d00000001020000390000000101000031000034da0000013d00000d4d0500004100000d4d0620009c000000000205801900000d4d0610009c00000000010580190000004001100210000000c002200210000000000112019f000000000230004c000034d40000613d00000d53011001c700008009020000390000000005000019352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d01100197000034da0000013d0000000002040019352f35250000040f0003000000010355000000600110027000010d4d0010019d00000d4d01100197000000000310004c000035070000613d0000003f03100039000000200400008a000000000443016f000000400300043d0000000004430019000000000534004b0000000005000019000000010500403900000d7f0640009c0000350a0000213d00000001055001900000350a0000c13d000000400040043f0000000001130436000000030300036700000001050000310000001f0450018f0000000505500272000034f80000613d000000000600001900000005076002100000000008710019000000000773034f000000000707043b00000000007804350000000106600039000000000756004b000034f00000413d000000000640004c000035070000613d0000000505500210000000000353034f00000000015100190000000304400210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f00000000003104350000000101200190000035100000613d000000000001042d00000d510100004100000000001004350000004101000039000000040010043f00000d52010000410000353100010430000000400100043d000000640210003900000d90030000410000000000320435000000440210003900000d9103000041000000000032043500000024021000390000002303000039000000000032043500000d9202000041000000000021043500000004021000390000002003000039000000000032043500000d4d0200004100000d4d0310009c0000000001028019000000400110021000000d93011001c7000035310001043000003528002104210000000102000039000000000001042d0000000002000019000000000001042d0000352d002104230000000102000039000000000001042d0000000002000019000000000001042d0000352f00000432000035300001042e00003531000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00000002000000000000000000000000000000c00000010000000000000000004e487b7100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000200000000000000000000000000000000000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e00000000000000000000000000000000000000000000000000000000867133d900000000000000000000000000000000000000000000000000000000c45a015400000000000000000000000000000000000000000000000000000000e55a7dee00000000000000000000000000000000000000000000000000000000f305d71800000000000000000000000000000000000000000000000000000000f305d71900000000000000000000000000000000000000000000000000000000fb3bdb4100000000000000000000000000000000000000000000000000000000e55a7def00000000000000000000000000000000000000000000000000000000e8e3370000000000000000000000000000000000000000000000000000000000d06ca61e00000000000000000000000000000000000000000000000000000000d06ca61f00000000000000000000000000000000000000000000000000000000ded9382a00000000000000000000000000000000000000000000000000000000c45a015500000000000000000000000000000000000000000000000000000000c96ca6bf00000000000000000000000000000000000000000000000000000000ad615deb00000000000000000000000000000000000000000000000000000000b6f9de9400000000000000000000000000000000000000000000000000000000b6f9de9500000000000000000000000000000000000000000000000000000000baa2abde00000000000000000000000000000000000000000000000000000000ad615dec00000000000000000000000000000000000000000000000000000000af2979eb00000000000000000000000000000000000000000000000000000000867133da000000000000000000000000000000000000000000000000000000008803dbee00000000000000000000000000000000000000000000000000000000ad5c4648000000000000000000000000000000000000000000000000000000005b0d598300000000000000000000000000000000000000000000000000000000791ac946000000000000000000000000000000000000000000000000000000007ff36ab4000000000000000000000000000000000000000000000000000000007ff36ab50000000000000000000000000000000000000000000000000000000085f8c25900000000000000000000000000000000000000000000000000000000791ac9470000000000000000000000000000000000000000000000000000000079ec1b7c000000000000000000000000000000000000000000000000000000005b0d5984000000000000000000000000000000000000000000000000000000005c11d7950000000000000000000000000000000000000000000000000000000068f63c99000000000000000000000000000000000000000000000000000000001f00ca730000000000000000000000000000000000000000000000000000000038ed17380000000000000000000000000000000000000000000000000000000038ed1739000000000000000000000000000000000000000000000000000000004a25d94a000000000000000000000000000000000000000000000000000000001f00ca74000000000000000000000000000000000000000000000000000000002195995c0000000000000000000000000000000000000000000000000000000002751cec00000000000000000000000000000000000000000000000000000000054d50d40000000000000000000000000000000000000000000000000000000018cbafe5000000000000000000000000000000000000000000000000ffffffffffffffff796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d95539132020000020000000000000000000000000000000400000000000000000000000002000002000000000000000000000000000000440000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000d0e30db000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001000000010000000000000000e6a43905000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044000000000000000000000000a9059cbb000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000044000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffdf6a6278420000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000240000000000000000000000004c454400000000000000000000000000000000000000000000000000000000005472616e7366657248656c7065723a204554485f5452414e534645525f46414908c379a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000002000000000000000000000000000000000000400000000000000000000000000200000000000000000000000000000000000020000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000002e1a7d4d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000002000000000000000000000000070a0823100000000000000000000000000000000000000000000000000000000494e53554646494349454e545f414d4f554e5400000000000000000000000000000000000000000000000000000000000000006400000000000000000000000054cf2aeb000000000000000000000000000000000000000000000000000000004f7574206f6620626f756e640000000000000000000000000000000000000000436f756e7473206d7573742067726561746572207468616e207a65726f000000494e53554646494349454e545f4f55545055545f414d4f554e540000000000004558434553534956455f494e5055545f414d4f554e5400000000000000000000494e56414c49445f504154480000000000000000000000000000000000000000455850495245440000000000000000000000000000000000000000000000000065d176f500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffff494e53554646494349454e545f425f414d4f554e540000000000000000000000494e53554646494349454e545f415f414d4f554e540000000000000000000000c9c6539600000000000000000000000000000000000000000000000000000000d505accf0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e400000000000000000000000023b872dd0000000000000000000000000000000000000000000000000000000089afcb4400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff7f616e73666572206661696c6564000000000000000000000000000000000000005472616e7366657248656c7065723a3a736166655472616e736665723a20747200000000000000000000000000000000000000000000000100000000000000000000000000000000000000010000000000000000000000000000000000000000e5ba6dad000000000000000000000000000000000000000000000000000000004a1c83090000000000000000000000000000000000000000000000000000000051415b5d00000000000000000000000000000000000000000000000000000000494e53554646494349454e545f4c495155494449545900000000000000000000494e53554646494349454e545f494e5055545f414d4f554e540000000000000000068db8bac710cb295e9e1b089a027525460aa64c2f837b4a2339c0ebedfa4400068db8bac710cb295e9e1b089a027525460aa64c2f837b4a2339c0ebedfa43000000000000000000000000000000000000000000000000ffffffffffffff80000000000000000000000000000000000000000000000000ffffffffffffff60616e7366657246726f6d206661696c65640000000000000000000000000000005472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472000000000000000000000000000000000000000000000000ffffffffffffffe000000000000000000000000000000000000000000000000000000000000000007f38abf077919c97fd220a337a61bcba6e53da19a346b88c0d91d20f93af83bd
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0x0000000000000000000000003a76e377ed58c8731f9df3a36155942438744ce30000000000000000000000005aea5775959fbc2557cc8789bc1bf90a239d9a91
-----Decoded View---------------
Arg [0] : _factory (address): 0x3a76e377ED58c8731F9DF3A36155942438744Ce3
Arg [1] : _WETH (address): 0x5AEa5775959fBC2557Cc8789bC1bf90A239D9a91
-----Encoded View---------------
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 27 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 69.35% | $2,465.09 | 1.0873 | $2,680.31 | |
BLAST | 25.73% | $2,465.07 | 0.4034 | $994.51 | |
ARB | 3.90% | $2,465.06 | 0.0612 | $150.87 | |
BASE | 0.93% | $2,465.07 | 0.0146 | $36.08 | |
OPBNB | 0.03% | $564.32 | 0.0019 | $1.07 | |
OP | 0.03% | $2,465.09 | 0.00042 | $1.04 | |
SCROLL | 0.02% | $2,465.09 | 0.00033474 | $0.825171 | |
POL | <0.01% | $0.396132 | 0.5298 | $0.209864 | |
CELO | <0.01% | $0.504134 | 0.0457 | $0.023042 |
[ 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.