Overview
ETH Balance
0 ETH
ETH Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 1,992 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Export Items Fro... | 1892611 | 6 days ago | IN | 0 ETH | 0.00001638 | ||||
Export Items Fro... | 1892565 | 6 days ago | IN | 0 ETH | 0.00001823 | ||||
Import Items Int... | 1892390 | 6 days ago | IN | 0 ETH | 0.00002323 | ||||
Export Items Fro... | 1892081 | 6 days ago | IN | 0 ETH | 0.00001629 | ||||
Import Items Int... | 1892018 | 6 days ago | IN | 0 ETH | 0.00001265 | ||||
Import Items Int... | 1891672 | 6 days ago | IN | 0 ETH | 0.00002451 | ||||
Export Items Fro... | 1891634 | 6 days ago | IN | 0 ETH | 0.00001349 | ||||
Export Items Fro... | 1891537 | 6 days ago | IN | 0 ETH | 0.00001638 | ||||
Export Items Fro... | 1891513 | 6 days ago | IN | 0 ETH | 0.00001798 | ||||
Export Items Fro... | 1891443 | 6 days ago | IN | 0 ETH | 0.00001823 | ||||
Export Items Fro... | 1891002 | 6 days ago | IN | 0 ETH | 0.00002113 | ||||
Export Items Fro... | 1890540 | 6 days ago | IN | 0 ETH | 0.00001554 | ||||
Export Items Fro... | 1890337 | 6 days ago | IN | 0 ETH | 0.00001578 | ||||
Export Items Fro... | 1889804 | 6 days ago | IN | 0 ETH | 0.00001277 | ||||
Export Items Fro... | 1889780 | 6 days ago | IN | 0 ETH | 0.00001365 | ||||
Import Items Int... | 1889599 | 6 days ago | IN | 0 ETH | 0.000013 | ||||
Import Items Int... | 1889331 | 6 days ago | IN | 0 ETH | 0.00002244 | ||||
Export Items Fro... | 1889083 | 6 days ago | IN | 0 ETH | 0.00004284 | ||||
Import Items Int... | 1888414 | 6 days ago | IN | 0 ETH | 0.00001085 | ||||
Import Items Int... | 1888390 | 6 days ago | IN | 0 ETH | 0.00001085 | ||||
Import Items Int... | 1888296 | 6 days ago | IN | 0 ETH | 0.00001532 | ||||
Export Items Fro... | 1888222 | 6 days ago | IN | 0 ETH | 0.00001561 | ||||
Export Items Fro... | 1888213 | 6 days ago | IN | 0 ETH | 0.00001363 | ||||
Import Items Int... | 1888188 | 6 days ago | IN | 0 ETH | 0.0000153 | ||||
Import Items Int... | 1887567 | 6 days ago | IN | 0 ETH | 0.0000159 |
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
1301706 | 13 days ago | Contract Creation | 0 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 Source Code Verified (Exact Match)
Contract Name:
ImportExportSystem
Compiler Version
v0.8.28+commit.7893614a
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
cancun EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import {ID as GAME_ITEMS_CONTRACT_ID, IGameItems} from "../tokens/IGameItems.sol"; import {DataTable} from "../db/DataTable.sol"; import {MANAGER_ROLE, SERVER_JUDGE_ROLE, DEPLOYER_ROLE} from "../constants/RoleConstants.sol"; import {PLAYER_CID, GAME_ITEM_ID_CID, IMPORT_AMOUNT_CID, EXPORT_AMOUNT_CID, ID_CID, EXPORT_LICENSE_CID, IS_SOULBOUND_CID} from "../constants/ColumnConstants.sol"; uint256 constant ID = uint256(keccak256("game.gigaverse.system.importexport")); contract ImportExportSystem is DataTable { constructor(address gameRegistryAddress) DataTable(gameRegistryAddress, ID) {} function initialize() external override onlyRole(DEPLOYER_ROLE) { initializeTable("ImportExportSystem", ID); } //////////////////// // Public Writes // ////////////////// function importItemsIntoGame(uint256[] memory itemIds, uint256[] memory itemAmounts) external whenNotPaused returns (uint256) { return _importItemsIntoGame(msg.sender, itemIds, itemAmounts); } //////////////////// // Public Reads /// ////////////////// function getGameItemExportLicense(uint256 itemId) public view returns (uint256) { return getDocUint256Value(_getGameItemDocId(itemId), EXPORT_LICENSE_CID); } function playerCanExportItem(address player, uint256 itemId) public view returns (bool) { if (!isExportable(itemId)) { return false; } uint256 exportLicenseId = getGameItemExportLicense(itemId); if (exportLicenseId == 0) { return true; } IGameItems gameItemContract = IGameItems(_gameRegistry.getSystem(GAME_ITEMS_CONTRACT_ID)); return gameItemContract.balanceOf(player, exportLicenseId) > 0; } function isExportable(uint256 itemId) public view returns (bool) { // SOULBOUND Column on this contract is used for marking as not exportable -- Not representing tradability // It is okay if a souldbound game item is exportable. return !getDocBoolValue(_getGameItemDocId(itemId), IS_SOULBOUND_CID); } ////////////// // Manager // //////////// function importItemsIntoGameForPlayer(address player, uint256[] memory itemIds, uint256[] memory itemAmounts) external onlyRole(SERVER_JUDGE_ROLE) whenNotPaused returns (uint256) { return _importItemsIntoGame(player, itemIds, itemAmounts); } function exportItemsFromGame(address player, uint256[] memory itemIds, uint256[] memory itemAmounts) external onlyRole(SERVER_JUDGE_ROLE) whenNotPaused returns (uint256) { return _exportItemsFromGame(player, itemIds, itemAmounts); } function setGameItemExportLicense(uint256 itemId, uint256 licenseId) external onlyRole(MANAGER_ROLE) whenNotPaused { _setDocUint256Value(_getGameItemDocId(itemId), EXPORT_LICENSE_CID, licenseId); _setDocUint256Value(_getGameItemDocId(itemId), GAME_ITEM_ID_CID, itemId); } function setItemIsExportable(uint256 itemId, bool exportable) external onlyRole(MANAGER_ROLE) whenNotPaused { _setDocBoolValue(_getGameItemDocId(itemId), IS_SOULBOUND_CID, !exportable); } //////////////////////// // Internal Helpers /// ////////////////////// function _importItemsIntoGame(address player, uint256[] memory itemIds, uint256[] memory itemAmounts) internal returns (uint256) { uint256 txId = _getAndIncrementAutoIncId(); IGameItems(_gameRegistry.getSystem(GAME_ITEMS_CONTRACT_ID)).burnBatch(player, itemIds, itemAmounts); _createTxDoc(txId, player, itemIds, itemAmounts, true); return txId; } function _exportItemsFromGame(address player, uint256[] memory itemIds, uint256[] memory itemAmounts) internal returns (uint256) { uint256 txId = _getAndIncrementAutoIncId(); IGameItems gameItems = IGameItems(_gameRegistry.getSystem(GAME_ITEMS_CONTRACT_ID)); for (uint256 i = 0; i < itemIds.length; i++) { require(playerCanExportItem(player, itemIds[i]), "Player does not have export license"); gameItems.mint(player, itemIds[i], itemAmounts[i]); } _createTxDoc(txId, player, itemIds, itemAmounts, false); return txId; } function _createTxDoc(uint256 txId, address player, uint256[] memory itemIds, uint256[] memory itemAmounts, bool isImport) internal { _setDocAddressValue(txId, PLAYER_CID, player); _setDocUint256ArrayValue(txId, GAME_ITEM_ID_CID, itemIds); if (isImport) { _setDocUint256ArrayValue(txId, IMPORT_AMOUNT_CID, itemAmounts); } else { _setDocUint256ArrayValue(txId, EXPORT_AMOUNT_CID, itemAmounts); } } function _getPlayerItemDocId(address player, uint256 itemId) internal pure returns (uint256) { return uint256(keccak256(abi.encodePacked(player, itemId))); } function _getGameItemDocId(uint256 itemId) internal pure returns (uint256) { return uint256(keccak256(abi.encodePacked("item", itemId))); } }
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.9; import {IERC1155} from "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; uint256 constant ID = uint256(keccak256("game.gigaverse.gameitems")); interface IGameItems is IERC1155 { /** * Mints a ERC1155 token * * @param to Recipient of the token * @param id Id of token to mint * @param amount Quantity of token to mint */ function mint(address to, uint256 id, uint256 amount) external; /** * Burn a token - any payment / game logic should be handled in the game contract. * * @param from Account to burn from * @param id Id of the token to burn * @param amount Quantity to burn */ function burn(address from, uint256 id, uint256 amount) external; /** * @param id Id of the type to get data for * * @return How many of the given token id have been minted */ function minted(uint256 id) external view returns (uint256); function burnBatch(address from, uint256[] memory ids, uint256[] memory amounts) external; }
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.9; import {DataStore, ID as DATA_STORE_ID} from "./DataStore.sol"; import {DEPLOYER_ROLE} from "../constants/RoleConstants.sol"; import {NAME_CID, ADDRESS_CID, ID_CID, NEXT_DOCID_CID, OWNER_CID} from "../constants/ColumnConstants.sol"; import {GameRegistryConsumer} from "../core/GameRegistryConsumer.sol"; contract DataTable is GameRegistryConsumer { error AlreadyInitialized(); bool private _initialized; constructor(address gameRegistryAddress, uint256 ID) GameRegistryConsumer(gameRegistryAddress, ID) {} function owner() public view virtual returns (address) { return getTableAddressValue(OWNER_CID); } function name() public view virtual returns (string memory) { return getTableStringValue(NAME_CID); } function initializeTable(string memory nameToSet, uint256 id) internal { if (_initialized) { revert AlreadyInitialized(); } _setTableAddressValue(ADDRESS_CID, address(this)); _setTableAddressValue(OWNER_CID, msg.sender); _setTableStringValue(NAME_CID, nameToSet); _setTableUint256Value(ID_CID, id); _initialized = true; } function getTableId() public virtual view returns (uint256) { return getId(); } function _getAndIncrementAutoIncId() internal returns (uint256) { uint256 currentId = getTableUint256Value(NEXT_DOCID_CID); _setTableUint256Value(NEXT_DOCID_CID, currentId + 1); return currentId + 1; } function _incrementAmount(uint256 docId, uint256 columnId, uint256 amount) internal { uint256 currentAmount = getDocUint256Value(docId, columnId); _setDocUint256Value(docId, columnId, currentAmount + amount); } function _decrementAmount(uint256 docId, uint256 columnId, uint256 amount) internal { uint256 currentAmount = getDocUint256Value(docId, columnId); _setDocUint256Value(docId, columnId, currentAmount - amount); } function _setTableStringValue(uint256 columnId, string memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setString(getTableId(), 0, columnId, value); } function _setTableUint256Value(uint256 columnId, uint256 value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setUint256(getTableId(), 0, columnId, value); } function _setTableAddressValue(uint256 columnId, address value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setAddress(getTableId(), 0, columnId, value); } function _setTableBoolValue(uint256 columnId, bool value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setBool(getTableId(), 0, columnId, value); } function _setTableAdddressValue(uint256 columnId, address value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setAddress(getTableId(), 0, columnId, value); } function _setTableUint256ArrayValue(uint256 columnId, uint256[] memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setUint256ArrayValue(getTableId(), 0, columnId, value); } function _setTableBoolArrayValue(uint256 columnId, bool[] memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setBoolArrayValue(getTableId(), 0, columnId, value); } function _setTableAddressArrayValue(uint256 columnId, address[] memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setAddressArrayValue(getTableId(), 0, columnId, value); } function _setDocAddressArrayValue(uint256 docId, uint256 columnId, address[] memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setAddressArrayValue(getTableId(), docId, columnId, value); } function _setDocBoolArrayValue(uint256 docId, uint256 columnId, bool[] memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setBoolArrayValue(getTableId(), docId, columnId, value); } function _setDocStringValue(uint256 docId, uint256 columnId, string memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setString(getTableId(), docId, columnId, value); } function _setDocUint256Value(uint256 docId, uint256 columnId, uint256 value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setUint256(getTableId(), docId, columnId, value); } function _setDocUint256ArrayValue(uint256 docId, uint256 columnId, uint256[] memory value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setUint256ArrayValue(getTableId(), docId, columnId, value); } function _setDocBoolValue(uint256 docId, uint256 columnId, bool value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setBool(getTableId(), docId, columnId, value); } function _setDocAddressValue(uint256 docId, uint256 columnId, address value) internal { DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).setAddress(getTableId(), docId, columnId, value); } function getTableBoolValue(uint256 columnId) public view returns (bool) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getBool(getTableId(), 0, columnId); } function getTableUint256Value(uint256 columnId) public view returns (uint256) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getUint256(getTableId(), 0, columnId); } function getTableStringValue(uint256 columnId) public view returns (string memory) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getString(getTableId(), 0, columnId); } function getTableAddressValue(uint256 columnId) public view returns (address) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getAddress(getTableId(), 0, columnId); } function getTableUint256ArrayValue(uint256 columnId) public view returns (uint256[] memory) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getUint256Array(getTableId(), 0, columnId); } function getDocUint256ArrayValue(uint256 docId, uint256 columnId) public view returns (uint256[] memory) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getUint256Array(getTableId(), docId, columnId); } function getDocStringValue(uint256 docId, uint256 columnId) public view returns (string memory) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getString(getTableId(), docId, columnId); } function getDocUint256Value(uint256 docId, uint256 columnId) public view returns (uint256) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getUint256(getTableId(), docId, columnId); } function getDocBoolValue(uint256 docId, uint256 columnId) public view returns (bool) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getBool(getTableId(), docId, columnId); } function getDocAddressValue(uint256 docId, uint256 columnId) public view returns (address) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).getAddress(getTableId(), docId, columnId); } function hasDocStringValue(uint256 docId, uint256 columnId) public view returns (bool) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).hasStringValue(getTableId(), docId, columnId); } function hasDocValue(uint256 docId, uint256 columnId) public view returns (bool) { return DataStore(_gameRegistry.getSystem(DATA_STORE_ID)).hasValue(getTableId(), docId, columnId); } function getPlayerDocId(address player) public pure returns (uint256) { return uint256(uint160(player)); } }
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.9; // Pauser Role - Can pause the game bytes32 constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); // Minter Role - Can mint items, NFTs, and ERC20 currency bytes32 constant MINTER_ROLE = keccak256("MINTER_ROLE"); // Manager Role - Can manage the shop, loot tables, and other game data bytes32 constant MANAGER_ROLE = keccak256("MANAGER_ROLE"); // Depoloyer Role - Can Deploy new Systems bytes32 constant DEPLOYER_ROLE = keccak256("DEPLOYER_ROLE"); // Game Logic Contract - Contract that executes game logic and accesses other systems bytes32 constant GAME_LOGIC_CONTRACT_ROLE = keccak256("GAME_LOGIC_CONTRACT_ROLE"); // For functions callable from game server bytes32 constant SERVER_JUDGE_ROLE = keccak256("SERVER_JUDGE_ROLE");
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.9; uint256 constant NAME_CID = uint256(keccak256("name")); uint256 constant DESCRIPTION_CID = uint256(keccak256("description")); uint256 constant LEVEL_CID = uint256(keccak256("level")); uint256 constant IS_NOOB_CID = uint256(keccak256("is_noob")); uint256 constant NOOB_TOKEN_CID = uint256(keccak256("noob_tokend_id")); uint256 constant GIGA_NAME_TOKENDID_CID = uint256(keccak256("giganame_tokend_id")); uint256 constant IS_GIGA_NAME_CID = uint256(keccak256("is_giga_name")); uint256 constant GAME_ITEM_ID_CID = uint256(keccak256("game_item_id")); uint256 constant UINT256_CID = uint256(keccak256("int256")); uint256 constant ETH_MINT_PRICE_CID = uint256(keccak256("eth_mint_price")); uint256 constant NEXT_DOCID_CID = uint256(keccak256("next_token_id")); uint256 constant ID_CID = uint256(keccak256("id")); uint256 constant BASE_NAME_CID = uint256(keccak256("base_name")); uint256 constant BASE_URI_CID = uint256(keccak256("base_uri")); uint256 constant LAST_TRANSFER_TIME_CID = uint256(keccak256("last_transfer_time")); uint256 constant OWNER_CID = uint256(keccak256("owner")); uint256 constant INITIALIZED_CID = uint256(keccak256("initialized")); uint256 constant MAX_SUPPLY_CID = uint256(keccak256("max_supply")); uint256 constant ADDRESS_CID = uint256(keccak256("address")); uint256 constant IS_SOULBOUND_CID = uint256(keccak256("soulbound")); uint256 constant TIME_BETWEEN_CID = uint256(keccak256("time_between")); uint256 constant TIMESTAMP_CID = uint256(keccak256("timestamp")); uint256 constant IMG_URL_CID = uint256(keccak256("img_url")); uint256 constant PLAYER_CID = uint256(keccak256("player")); uint256 constant MINT_COUNT_CID = uint256(keccak256("mint_count")); uint256 constant CONTRACT_URI_CID = uint256(keccak256("contract_uri")); uint256 constant IS_RECYCLABLE_CID = uint256(keccak256("is_recyclable")); uint256 constant BURN_COUNT_CID = uint256(keccak256("burn_count")); uint256 constant BALANCE_CID = uint256(keccak256("balance")); uint256 constant ICON_URL_CID = uint256(keccak256("icon_url")); uint256 constant DUNGEON_ID_CID = uint256(keccak256("dungeon_id")); uint256 constant ENERGY_CID = uint256(keccak256("energy")); uint256 constant IS_CANCELLED_CID = uint256(keccak256("is_cancelled")); uint256 constant SPRITE_SHEET_URL_CID = uint256(keccak256("sprite_sheet_url")); uint256 constant IMPORT_AMOUNT_CID = uint256(keccak256("import_amount")); uint256 constant EXPORT_AMOUNT_CID = uint256(keccak256("export_amount")); uint256 constant EXPORT_LICENSE_CID = uint256(keccak256("export_license")); uint256 constant UNLOCKED_CID = uint256(keccak256("unlocked"));
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (token/ERC1155/IERC1155.sol) pragma solidity ^0.8.0; import "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC1155 compliant contract, as defined in the * https://eips.ethereum.org/EIPS/eip-1155[EIP]. * * _Available since v3.1._ */ interface IERC1155 is IERC165 { /** * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. */ event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); /** * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all * transfers. */ event TransferBatch( address indexed operator, address indexed from, address indexed to, uint256[] ids, uint256[] values ); /** * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to * `approved`. */ event ApprovalForAll(address indexed account, address indexed operator, bool approved); /** * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. * * If an {URI} event was emitted for `id`, the standard * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value * returned by {IERC1155MetadataURI-uri}. */ event URI(string value, uint256 indexed id); /** * @dev Returns the amount of tokens of token type `id` owned by `account`. * * Requirements: * * - `account` cannot be the zero address. */ function balanceOf(address account, uint256 id) external view returns (uint256); /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. * * Requirements: * * - `accounts` and `ids` must have the same length. */ function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) external view returns (uint256[] memory); /** * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, * * Emits an {ApprovalForAll} event. * * Requirements: * * - `operator` cannot be the caller. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. * * See {setApprovalForAll}. */ function isApprovedForAll(address account, address operator) external view returns (bool); /** * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. * * Emits a {TransferSingle} event. * * Requirements: * * - `to` cannot be the zero address. * - If the caller is not `from`, it must have been approved to spend ``from``'s tokens via {setApprovalForAll}. * - `from` must have a balance of tokens of type `id` of at least `amount`. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the * acceptance magic value. */ function safeTransferFrom( address from, address to, uint256 id, uint256 amount, bytes calldata data ) external; /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. * * Emits a {TransferBatch} event. * * Requirements: * * - `ids` and `amounts` must have the same length. * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the * acceptance magic value. */ function safeBatchTransferFrom( address from, address to, uint256[] calldata ids, uint256[] calldata amounts, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./DataTypes.sol"; import {IDataStore, ID} from "./IDataStore.sol"; import {GameRegistryConsumer} from "../core/GameRegistryConsumer.sol"; import {GAME_LOGIC_CONTRACT_ROLE} from "../constants/RoleConstants.sol"; contract DataStore is IDataStore, GameRegistryConsumer { using DataTypes for *; mapping(uint256 => mapping(uint256 => bytes32)) public datastore; mapping(uint256 => mapping(uint256 => bytes32[])) public arrayStore; mapping(uint256 => mapping(uint256 => string)) private stringStore; mapping(uint256 => bytes32) public columnTypes; constructor(address gameRegistryAddress) GameRegistryConsumer(gameRegistryAddress, ID) {} function generateKey(uint256 docId, uint256 colId) public pure returns (uint256) { return uint256(keccak256(abi.encodePacked(docId, colId))); } function generateArrayKey (uint256 docId, uint256 colId) public pure returns (uint256) { return uint256(keccak256(abi.encodePacked(docId, colId, "__array"))); } function setValue(uint256 tableId, uint256 docId, uint256 colId, bytes32 value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE) { datastore[tableId][uint256(keccak256(abi.encodePacked(docId, colId)))] = value; emit ValueSet(tableId, docId, colId, value); } function setArrayValue(uint256 tableId, uint256 docId, uint256 colId, bytes32[] memory value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE) { arrayStore[tableId][generateArrayKey(docId, colId)] = value; emit ArrayValueSet(tableId, docId, colId, value); } function setUint256ArrayValue(uint256 tableId, uint256 docId, uint256 colId, uint256[] memory value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE) { require (getColumnType(colId) == IDataStore.ColumnType.UINT256, "Column is not UINT256ARRAY"); bytes32[] memory packedValues = new bytes32[](value.length); for (uint256 i = 0; i < value.length; i++) { packedValues[i] = value[i].packUint256(); } setArrayValue(tableId, docId, colId, packedValues); } function setBoolArrayValue(uint256 tableId, uint256 docId, uint256 colId, bool[] memory value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE) { require (getColumnType(colId) == IDataStore.ColumnType.BOOL, "Column is not BOOLARRAY"); bytes32[] memory packedValues = new bytes32[](value.length); for (uint256 i = 0; i < value.length; i++) { packedValues[i] = value[i].packBool(); } setArrayValue(tableId, docId, colId, packedValues); } function setAddressArrayValue(uint256 tableId, uint256 docId, uint256 colId, address[] memory value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE) { require (getColumnType(colId) == IDataStore.ColumnType.ADDRESS, "Column is not ADDRESSARRAY"); bytes32[] memory packedValues = new bytes32[](value.length); for (uint256 i = 0; i < value.length; i++) { packedValues[i] = value[i].packAddress(); } setArrayValue(tableId, docId, colId, packedValues); } function getUint256Array(uint256 tableId, uint256 docId, uint256 colId) public view returns (uint256[] memory) { require (getColumnType(colId) == IDataStore.ColumnType.UINT256, "Column is not UINT256"); bytes32[] memory byteArray = arrayStore[tableId][generateArrayKey(docId, colId)]; uint256[] memory uintArray = new uint256[](byteArray.length); for (uint256 i = 0; i < byteArray.length; i++) { uintArray[i] = byteArray[i].unpackUint256(); } return uintArray; } function getBoolArray(uint256 tableId, uint256 docId, uint256 colId) public view returns (bool[] memory) { require (getColumnType(colId) == IDataStore.ColumnType.BOOL, "Column is not BOOL"); bytes32[] memory byteArray = arrayStore[tableId][generateArrayKey(docId, colId)]; bool[] memory boolArray = new bool[](byteArray.length); for (uint256 i = 0; i < byteArray.length; i++) { boolArray[i] = byteArray[i].unpackBool(); } return boolArray; } function getAddressArray(uint256 tableId, uint256 docId, uint256 colId) public view returns (address[] memory) { require (getColumnType(colId) == IDataStore.ColumnType.ADDRESS, "Column is not ADDRESS"); bytes32[] memory byteArray = arrayStore[tableId][generateArrayKey(docId, colId)]; address[] memory addressArray = new address[](byteArray.length); for (uint256 i = 0; i < byteArray.length; i++) { addressArray[i] = byteArray[i].unpackAddress(); } return addressArray; } function getValue(uint256 tableId, uint256 docId, uint256 colId) public view returns (bytes32) { return datastore[tableId][uint256(keccak256(abi.encodePacked(docId, colId)))]; } function setColumnType(uint256 colId, IDataStore.ColumnType columnType) public onlyRole(GAME_LOGIC_CONTRACT_ROLE) { require(!isColumnTypeSet(colId), "Column type already set"); columnTypes[colId] = bytes32(uint256(columnType)); emit ColumnTypeSet(colId, columnType); } function isColumnTypeSet(uint256 colId) public view returns (bool) { return columnTypes[colId] != bytes32(0); } function getColumnType(uint256 colId) public view returns (IDataStore.ColumnType) { bytes32 typeValue = columnTypes[colId]; require(typeValue != bytes32(0), "Column type not set"); return IDataStore.ColumnType(uint8(uint256(typeValue))); } // Type-specific setters function setUint256(uint256 tableId, uint256 docId, uint256 colId, uint256 value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ require(getColumnType(colId) == IDataStore.ColumnType.UINT256, "Column is not UINT256"); setValue(tableId, docId, colId, value.packUint256()); } function setInt256(uint256 tableId, uint256 docId, uint256 colId, int256 value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ require(getColumnType(colId) == IDataStore.ColumnType.INT256, "Column is not INT256"); setValue(tableId, docId, colId, value.packInt256()); } function setBool(uint256 tableId, uint256 docId, uint256 colId, bool value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ require(getColumnType(colId) == IDataStore.ColumnType.BOOL, "Column is not BOOL"); setValue(tableId, docId, colId, value.packBool()); } function setAddress(uint256 tableId, uint256 docId, uint256 colId, address value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ require(getColumnType(colId) == IDataStore.ColumnType.ADDRESS, "Column is not ADDRESS"); setValue(tableId, docId, colId, value.packAddress()); } function setBytes32(uint256 tableId, uint256 docId, uint256 colId, bytes32 value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ require(getColumnType(colId) == IDataStore.ColumnType.BYTES32, "Column is not BYTES32"); setValue(tableId, docId, colId, value); } function setString(uint256 tableId, uint256 docId, uint256 colId, string memory value) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ require(getColumnType(colId) == IDataStore.ColumnType.STRING, "Column is not STRING"); uint256 key = generateKey(docId, colId); stringStore[tableId][key] = value; emit StringValueSet(tableId, docId, colId, value); } function deleteValue(uint256 tableId, uint256 docId, uint256 colId) public onlyRole(GAME_LOGIC_CONTRACT_ROLE){ uint256 key = generateKey(docId, colId); delete datastore[tableId][key]; } // Type-specific getters function getUint256(uint256 tableId, uint256 docId, uint256 colId) public view returns (uint256) { require(getColumnType(colId) == IDataStore.ColumnType.UINT256, "Column is not UINT256"); return getValue(tableId, docId, colId).unpackUint256(); } function getInt256(uint256 tableId, uint256 docId, uint256 colId) public view returns (int256) { require(getColumnType(colId) == IDataStore.ColumnType.INT256, "Column is not INT256"); return getValue(tableId, docId, colId).unpackInt256(); } function getBool(uint256 tableId, uint256 docId, uint256 colId) public view returns (bool) { require(getColumnType(colId) == IDataStore.ColumnType.BOOL, "Column is not BOOL"); return getValue(tableId, docId, colId).unpackBool(); } function getAddress(uint256 tableId, uint256 docId, uint256 colId) public view returns (address) { require(getColumnType(colId) == IDataStore.ColumnType.ADDRESS, "Column is not ADDRESS"); return getValue(tableId, docId, colId).unpackAddress(); } function getBytes32(uint256 tableId, uint256 docId, uint256 colId) public view returns (bytes32) { require(getColumnType(colId) == IDataStore.ColumnType.BYTES32, "Column is not BYTES32"); return getValue(tableId, docId, colId); } function getString(uint256 tableId, uint256 docId, uint256 colId) public view returns (string memory) { require(getColumnType(colId) == IDataStore.ColumnType.STRING, "Column is not STRING"); uint256 key = generateKey(docId, colId); return stringStore[tableId][key]; } function hasValue(uint256 tableId, uint256 docId, uint256 colId) public view returns (bool) { uint256 key = generateKey(docId, colId); return datastore[tableId][key] != bytes32(0); } function hasStringValue(uint256 tableId, uint256 docId, uint256 colId) public view returns (bool) { uint256 key = generateKey(docId, colId); return keccak256(bytes(stringStore[tableId][key])) != keccak256(bytes("")); } }
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.13; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {PAUSER_ROLE, MANAGER_ROLE} from "../constants/RoleConstants.sol"; import {ISystem} from "./ISystem.sol"; import {IGameRegistry, IERC165} from "./IGameRegistry.sol"; import {IDataStore, ID as DATA_STORE_ID} from "../db/IDataStore.sol"; import {DEPLOYER_ROLE} from "../constants/RoleConstants.sol"; /** @title Contract that lets a child contract access the GameRegistry contract */ abstract contract GameRegistryConsumer is ReentrancyGuard, ISystem { /// @notice Whether or not the contract is paused bool private _paused; /// @notice Reference to the game registry that this contract belongs to IGameRegistry internal _gameRegistry; /// @notice Id for the system/component uint256 private _id; /** EVENTS **/ /// @dev Emitted when the pause is triggered by `account`. event Paused(address account); /// @dev Emitted when the pause is lifted by `account`. event Unpaused(address account); /** ERRORS **/ /// @notice Not authorized to perform action error MissingRole(address account, bytes32 expectedRole); /** MODIFIERS **/ /// @notice Modifier to verify a user has the appropriate role to call a given function modifier onlyRole(bytes32 role) { _checkRole(role, msg.sender); _; } /** * @dev Modifier to make a function callable only when the contract is not paused. * * Requirements: * * - The contract must not be paused. */ modifier whenNotPaused() { _requireNotPaused(); _; } /** * @dev Modifier to make a function callable only when the contract is paused. * * Requirements: * * - The contract must be paused. */ modifier whenPaused() { _requirePaused(); _; } /** ERRORS **/ /// @notice Error if the game registry specified is invalid error InvalidGameRegistry(); /** SETUP **/ /** @return ID for this system */ function getId() public view override returns (uint256) { return _id; } /** * Pause/Unpause the contract * * @param shouldPause Whether or pause or unpause */ function setPaused(bool shouldPause) external onlyRole(PAUSER_ROLE) { if (shouldPause) { _pause(); } else { _unpause(); } } /** * @dev Returns true if the contract OR the GameRegistry is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused || _gameRegistry.paused(); } /** * Sets the GameRegistry contract address for this contract * * @param gameRegistryAddress Address for the GameRegistry contract */ function setGameRegistry( address gameRegistryAddress ) external onlyRole(MANAGER_ROLE) { _gameRegistry = IGameRegistry(gameRegistryAddress); if (gameRegistryAddress == address(0)) { revert InvalidGameRegistry(); } } /** @return GameRegistry contract for this contract */ function getGameRegistry() external view returns (IGameRegistry) { return _gameRegistry; } /** INTERNAL **/ /** * @dev Returns `true` if `account` has been granted `role`. */ function _hasAccessRole( bytes32 role, address account ) internal view returns (bool) { return _gameRegistry.hasAccessRole(role, account); } /** * @dev Revert with a standard message if `account` is missing `role`. * * The format of the revert reason is given by the following regular expression: * * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ */ function _checkRole(bytes32 role, address account) internal view virtual { if (!_gameRegistry.hasAccessRole(role, account)) { revert MissingRole(account, role); } } /** @return Returns the dataStore for this contract */ function _dataStore() internal view returns (IDataStore) { return IDataStore(_getSystem(DATA_STORE_ID)); } /** @return Address for a given system */ function _getSystem(uint256 systemId) internal view returns (address) { return _gameRegistry.getSystem(systemId); } /** PAUSABLE **/ /** * @dev Throws if the contract is paused. */ function _requireNotPaused() internal view virtual { require(!paused(), "Pausable: paused"); } /** * @dev Throws if the contract is not paused. */ function _requirePaused() internal view virtual { require(paused(), "Pausable: not paused"); } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual { require(_paused == false, "Pausable: not paused"); _paused = true; emit Paused(msg.sender); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual { require(_paused == true, "Pausable: not paused"); _paused = false; emit Unpaused(msg.sender); } function initialize() external virtual onlyRole(DEPLOYER_ROLE) { } /** * Constructor for this contract * * @param gameRegistryAddress Address of the GameRegistry contract * @param id Id of the system/component */ constructor( address gameRegistryAddress, uint256 id ) { _gameRegistry = IGameRegistry(gameRegistryAddress); if (gameRegistryAddress == address(0)) { revert InvalidGameRegistry(); } _paused = true; _id = id; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol) pragma solidity ^0.8.0; /** * @dev Interface of the ERC165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[EIP]. * * Implementers can declare support of contract interfaces, which can then be * queried by others ({ERC165Checker}). * * For an implementation, see {ERC165}. */ interface IERC165 { /** * @dev Returns true if this contract implements the interface defined by * `interfaceId`. See the corresponding * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] * to learn more about how these ids are created. * * This function call must use less than 30 000 gas. */ function supportsInterface(bytes4 interfaceId) external view returns (bool); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; library DataTypes { // Pack and unpack uint256 function packUint256(uint256 value) internal pure returns (bytes32) { return bytes32(value); } function unpackUint256(bytes32 packed) internal pure returns (uint256) { return uint256(packed); } // Pack and unpack int256 function packInt256(int256 value) internal pure returns (bytes32) { return bytes32(uint256(value)); } function unpackInt256(bytes32 packed) internal pure returns (int256) { return int256(uint256(packed)); } // Pack and unpack address function packAddress(address value) internal pure returns (bytes32) { return bytes32(uint256(uint160(value))); } function unpackAddress(bytes32 packed) internal pure returns (address) { return address(uint160(uint256(packed))); } // Pack and unpack bool function packBool(bool value) internal pure returns (bytes32) { return bytes32(uint256(value ? 1 : 0)); } function unpackBool(bytes32 packed) internal pure returns (bool) { return uint256(packed) == 1; } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; uint256 constant ID = uint256(keccak256("game.gigaverse.datastore")); interface IDataStore { enum ColumnType { NONE, UINT256, INT256, BOOL, ADDRESS, BYTES32, STRING, UINT256_ARRAY } event ValueSet(uint256 indexed tableId, uint256 indexed docId, uint256 indexed colId, bytes32 value); event StringValueSet(uint256 indexed tableId, uint256 indexed docId, uint256 indexed colId, string value); event ArrayValueSet(uint256 indexed tableId, uint256 indexed docId, uint256 indexed colId, bytes32[] value); event ColumnTypeSet(uint256 indexed colId, ColumnType columnType); function setValue(uint256 tableId, uint256 docId, uint256 colId, bytes32 value) external; function getValue(uint256 tableId, uint256 docId, uint256 colId) external view returns (bytes32); function setColumnType(uint256 colId, ColumnType columnType) external; function getColumnType(uint256 colId) external view returns (ColumnType); // Type-specific setters function setUint256(uint256 tableId, uint256 docId, uint256 colId, uint256 value) external; function setInt256(uint256 tableId, uint256 docId, uint256 colId, int256 value) external; function setBool(uint256 tableId, uint256 docId, uint256 colId, bool value) external; function setAddress(uint256 tableId, uint256 docId, uint256 colId, address value) external; function setBytes32(uint256 tableId, uint256 docId, uint256 colId, bytes32 value) external; function setString(uint256 tableId, uint256 docId, uint256 colId, string memory value) external; // Type-specific getters function getUint256(uint256 tableId, uint256 docId, uint256 colId) external view returns (uint256); function getInt256(uint256 tableId, uint256 docId, uint256 colId) external view returns (int256); function getBool(uint256 tableId, uint256 docId, uint256 colId) external view returns (bool); function getAddress(uint256 tableId, uint256 docId, uint256 colId) external view returns (address); function getBytes32(uint256 tableId, uint256 docId, uint256 colId) external view returns (bytes32); function getString(uint256 tableId, uint256 docId, uint256 colId) external view returns (string memory); function deleteValue(uint256 tableId, uint256 docId, uint256 colId) external; function hasValue(uint256 tableId, uint256 docId, uint256 colId) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol) pragma solidity ^0.8.0; /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { _nonReentrantBefore(); _; _nonReentrantAfter(); } function _nonReentrantBefore() private { // On the first call to nonReentrant, _status will be _NOT_ENTERED require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; } function _nonReentrantAfter() private { // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } }
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.9; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; /** * Defines a system the game engine */ interface ISystem { /** @return The ID for the system. Ex: a uint256 casted keccak256 hash */ function getId() external view returns (uint256); function initialize() external; }
// SPDX-License-Identifier: MIT LICENSE pragma solidity ^0.8.9; import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; // @title Interface the game's ACL / Management Layer interface IGameRegistry is IERC165 { /** * @dev Returns `true` if `account` has been granted `role`. * @param role The role to query * @param account The address to query */ function hasAccessRole( bytes32 role, address account ) external view returns (bool); /** * @return Whether or not the registry is paused */ function paused() external view returns (bool); /** * Registers a system by id * * @param systemId Id of the system * @param systemAddress Address of the system contract */ function registerSystem(uint256 systemId, address systemAddress, bool isGameLogicContract) external; /** * @param systemId Id of the system * @return System based on an id */ function getSystem(uint256 systemId) external view returns (address); }
{ "viaIR": false, "codegen": "yul", "remappings": [ "@limitbreak/creator-token-standards/=lib/creator-token-standards/", "@openzeppelin/=lib/openzeppelin-contracts/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "murky/=lib/murky/src/", "erc721a/=lib/ERC721A/", "@creator-token-standards/=lib/creator-token-standards/src/", "@limitbreak/permit-c/=lib/creator-token-standards/lib/PermitC/src/", "@opensea/tstorish/=lib/creator-token-standards/lib/tstorish/src/", "@rari-capital/solmate/=lib/creator-token-standards/lib/PermitC/lib/solmate/", "ERC721A/=lib/ERC721A/contracts/", "PermitC/=lib/creator-token-standards/lib/PermitC/", "creator-token-standards/=lib/creator-token-standards/", "erc4626-tests/=lib/murky/lib/openzeppelin-contracts/lib/erc4626-tests/", "forge-gas-metering/=lib/creator-token-standards/lib/PermitC/lib/forge-gas-metering/", "forge-zksync-std/=lib/forge-zksync-std/src/", "openzeppelin-contracts/=lib/openzeppelin-contracts/", "openzeppelin/=lib/creator-token-standards/lib/PermitC/lib/openzeppelin-contracts/contracts/", "solady/=lib/creator-token-standards/lib/PermitC/lib/forge-gas-metering/lib/solady/", "solmate/=lib/creator-token-standards/lib/PermitC/lib/solmate/src/", "tstorish/=lib/creator-token-standards/lib/tstorish/src/" ], "evmVersion": "cancun", "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "optimizer": { "enabled": true, "mode": "3", "fallback_to_optimizing_for_size": false, "disable_system_request_memoization": true }, "metadata": {}, "libraries": {}, "enableEraVMExtensions": false, "forceEVMLA": false }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"gameRegistryAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyInitialized","type":"error"},{"inputs":[],"name":"InvalidGameRegistry","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"expectedRole","type":"bytes32"}],"name":"MissingRole","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"itemAmounts","type":"uint256[]"}],"name":"exportItemsFromGame","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getDocAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getDocBoolValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getDocStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getDocUint256ArrayValue","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getDocUint256Value","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"name":"getGameItemExportLicense","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGameRegistry","outputs":[{"internalType":"contract IGameRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"}],"name":"getPlayerDocId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getTableAddressValue","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getTableBoolValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTableId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getTableStringValue","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getTableUint256ArrayValue","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"getTableUint256Value","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"hasDocStringValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"docId","type":"uint256"},{"internalType":"uint256","name":"columnId","type":"uint256"}],"name":"hasDocValue","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"itemAmounts","type":"uint256[]"}],"name":"importItemsIntoGame","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256[]","name":"itemIds","type":"uint256[]"},{"internalType":"uint256[]","name":"itemAmounts","type":"uint256[]"}],"name":"importItemsIntoGameForPlayer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"}],"name":"isExportable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"player","type":"address"},{"internalType":"uint256","name":"itemId","type":"uint256"}],"name":"playerCanExportItem","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"licenseId","type":"uint256"}],"name":"setGameItemExportLicense","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"gameRegistryAddress","type":"address"}],"name":"setGameRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"bool","name":"exportable","type":"bool"}],"name":"setItemIsExportable","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"shouldPause","type":"bool"}],"name":"setPaused","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b0000000000000000000000000000000000000000000000000000000000000000010009f77f2b0caf3b49a7371602502912836739c3c1e49d97e49da764f461860000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000002000000000000000000000000074eb92b33f2400eb14f6d6725b14f76078d5e731
Deployed Bytecode
0x0002000000000002000c000000000002000000000401034f000100000001035500000060011002700000097b0310019700000001002001900000002b0000c13d0000008005000039000000400050043f000000040030008c0000004e0000413d000000000134034f000000000204043b000000e002200270000009830020009c000000500000213d000009990020009c000000970000a13d0000099a0020009c000000c90000213d000009a00020009c0000018b0000213d000009a30020009c0000029c0000613d000009a40020009c0000004e0000c13d0000000001000416000000000001004b0000004e0000c13d000000000103001925e919300000040f000c00000001001d000b00000002001d000a00000003001d000000000100041125e91e400000040f25e91ec60000040f0000000c010000290000000b020000290000000a0300002925e91f500000040f000003690000013d0000000001000416000000000001004b0000004e0000c13d0000001f013000390000097c011001970000008001100039000000400010043f0000001f0230018f0000097d0530019800000080015000390000003c0000613d0000008006000039000000000704034f000000007807043c0000000006860436000000000016004b000000380000c13d000000000002004b000000490000613d000000000454034f0000000302200210000000000501043300000000052501cf000000000525022f000000000404043b0000010002200089000000000424022f00000000022401cf000000000252019f0000000000210435000000200030008c0000004e0000413d000000800100043d0000097e0010009c0000008f0000a13d0000000001000019000025eb00010430000009840020009c000000ac0000a13d000009850020009c000000e40000213d0000098b0020009c000001970000213d0000098e0020009c000002b70000613d0000098f0020009c0000004e0000c13d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b000009ae0010009c0000004e0000213d0000002302100039000000000032004b0000004e0000813d0000000402100039000000000224034f000000000502043b000009ae0050009c000011700000213d00000005025002100000003f06200039000009af06600197000009b00060009c000011700000213d0000008006600039000000400060043f000000800050043f00000024011000390000000002120019000000000032004b0000004e0000213d000000000005004b000000810000613d0000008005000039000000000614034f000000000606043b000000200550003900000000006504350000002001100039000000000021004b0000007a0000413d0000002401400370000000000101043b000009ae0010009c0000004e0000213d0000000401100039000000000203001925e918f70000040f000c00000001001d25e91ec60000040f000000000100041100000080020000390000000c0300002925e91f500000040f000003690000013d0000000102000039000000000020041b000000000001004b000001080000c13d000009d701000041000000000010043f000009b601000041000025eb00010430000009a50020009c000001170000a13d000009a60020009c0000014b0000213d000009a90020009c000002390000613d000009aa0020009c0000004e0000c13d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b0000097e0010009c0000004e0000213d0000002402400370000000000202043b25e91a870000040f000003060000013d000009900020009c000001320000a13d000009910020009c000001640000213d000009940020009c000002430000613d000009950020009c0000004e0000c13d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000004330000c13d0000000003000031000000200030008c00000020040000390000000004034019000004570000013d0000099b0020009c000001a50000213d0000099e0020009c000002d20000613d0000099f0020009c0000004e0000c13d0000000001000416000000000001004b0000004e0000c13d0000000101000039000000000201041a000009b201000041000000800010043f000009e301000041000000840010043f0000000001000411000000a40010043f000000000100041400000008022002700000097e02200197000000040020008c000006300000c13d0000000003000031000000200030008c00000020040000390000000004034019000006540000013d000009860020009c000001be0000213d000009890020009c000002e70000613d0000098a0020009c0000004e0000c13d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b000c00000001001d0000097e0010009c0000004e0000213d0000000101000039000000000201041a000009b201000041000000800010043f000009d401000041000000840010043f00000000010004110000097e03100197000000a40030043f000000000100041400000008022002700000097e02200197000000040020008c000b00000003001d00000b780000c13d0000000003000031000000200030008c0000002004000039000000000403401900000b9c0000013d000000000302041a0000097f0330019700000008011002100000098001100197000000000131019f00000001011001bf000000000012041b00000981010000410000000202000039000000000012041b0000002001000039000001000010044300000120000004430000098201000041000025ea0001042e000009ab0020009c000003700000613d000009ac0020009c0000034a0000613d000009ad0020009c0000004e0000c13d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000009420000c13d0000000003000031000000200030008c00000020040000390000000004034019000009660000013d000009960020009c0000018f0000613d000009970020009c0000035d0000613d000009980020009c0000004e0000c13d0000000001000416000000000001004b0000004e0000c13d0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000005c00000c13d0000000003000031000000200030008c00000020040000390000000004034019000005e40000013d000009a70020009c0000025e0000613d000009a80020009c0000004e0000c13d000000240030008c0000004e0000413d0000000002000416000000000002004b0000004e0000c13d0000000102000039000000000202041a000009ba03000041000000800030043f000009c003000041000000840030043f000000000300041400000008022002700000097e02200197000000040020008c000004760000c13d0000000003000031000000200030008c000000200400003900000000040340190000049a0000013d000009920020009c0000027d0000613d000009930020009c0000004e0000c13d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000101043b000000000001004b00000000020000390000000102006039000c00000002001d0000000002000039000000010200c039000000000021004b0000004e0000c13d0000000101000039000000000201041a000009b201000041000000800010043f000009d401000041000000840010043f00000000010004110000097e03100197000000a40030043f000000000100041400000008022002700000097e02200197000000040020008c000b00000003001d00000a690000c13d0000000003000031000000200030008c0000002004000039000000000403401900000a8d0000013d000009a10020009c000003020000613d000009a20020009c0000004e0000c13d0000000001000416000000000001004b0000004e0000c13d0000000201000039000000000101041a000000800010043f000009d301000041000025ea0001042e0000098c0020009c0000030a0000613d0000098d0020009c0000004e0000c13d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b25e9236f0000040f25e91d690000040f000003690000013d0000099c0020009c000003250000613d0000099d0020009c0000004e0000c13d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000009860000c13d0000000003000031000000200030008c00000020040000390000000004034019000009aa0000013d000009870020009c000003400000613d000009880020009c0000004e0000c13d000000640030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b000c00000001001d0000097e0010009c0000004e0000213d0000002401400370000000000101043b000009ae0010009c0000004e0000213d0000002302100039000000000032004b0000004e0000813d0000000402100039000000000224034f000000000602043b000009ae0060009c000011700000213d00000005026002100000003f07200039000009af07700197000009b00070009c000011700000213d0000008007700039000000400070043f000000800060043f00000024011000390000000002120019000000000032004b0000004e0000213d000000000006004b000001ed0000613d000000000614034f000000000606043b000000200550003900000000006504350000002001100039000000000021004b000001e60000413d0000004401400370000000000101043b000009ae0010009c0000004e0000213d0000002302100039000000000032004b0000000005000019000009b105008041000009b102200197000000000002004b0000000006000019000009b106004041000009b10020009c000000000605c019000000000006004b0000004e0000c13d0000000402100039000000000224034f000000000202043b000009ae0020009c000011700000213d00000005052002100000003f06500039000009af06600197000000400700043d0000000006670019000900000007001d000000000076004b00000000070000390000000107004039000009ae0060009c000011700000213d0000000100700190000011700000c13d000000400060043f00000009060000290000000006260436000700000006001d00000024011000390000000005150019000000000035004b0000004e0000213d000000000002004b000002210000613d0000000902000029000000000314034f000000000303043b000000200220003900000000003204350000002001100039000000000051004b0000021a0000413d0000000101000039000000000201041a000000400400043d000009b20100004100000000001404350000000401400039000009b303000041000000000031043500000000010004110000097e03100197000b00000004001d0000002401400039000800000003001d0000000000310435000000000100041400000008022002700000097e02200197000000040020008c000010150000c13d0000000003000031000000200030008c000000200400003900000000040340190000103e0000013d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b0000097e0010009c0000004e0000213d000003470000013d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000101043b000b00000001001d0000000401400370000000000101043b000c00000001001d0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c0000038b0000c13d0000000003000031000000200030008c00000020040000390000000004034019000003af0000013d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000201043b000000000002004b0000000001000039000000010100c039000c00000002001d000000000012004b0000004e0000c13d0000000101000039000000000201041a000009b201000041000000800010043f000009ea01000041000000840010043f0000000001000411000000a40010043f000000000100041400000008022002700000097e02200197000000040020008c00000a170000c13d0000000003000031000000200030008c0000002004000039000000000403401900000a3b0000013d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000101043b000a00000001001d0000000401400370000000000101043b000b00000001001d0000000101000039000000000201041a000009b201000041000000800010043f000009d401000041000000840010043f00000000010004110000097e01100197000c00000001001d000000a40010043f000000000100041400000008022002700000097e02200197000000040020008c000003fc0000c13d0000000003000031000000200030008c00000020040000390000000004034019000004200000013d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000501043b0000000401400370000000000301043b0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000c00000003001d000b00000005001d0000066b0000c13d0000000003000031000000200030008c000000200400003900000000040340190000068f0000013d000000440030008c0000004e0000413d0000000002000416000000000002004b0000004e0000c13d0000002402400370000000000502043b0000000402400370000000000402043b0000000102000039000000000202041a000009ba03000041000000800030043f000009c003000041000000840030043f000000000300041400000008022002700000097e02200197000000040020008c000c00000004001d000b00000005001d000006ad0000c13d0000000003000031000000200030008c00000020040000390000000004034019000006d10000013d000000240030008c0000004e0000413d0000000002000416000000000002004b0000004e0000c13d0000000102000039000000000202041a000009ba03000041000000800030043f000009c003000041000000840030043f000000000300041400000008022002700000097e02200197000000040020008c000007490000c13d0000000003000031000000200030008c000000200400003900000000040340190000076d0000013d000000440030008c0000004e0000413d0000000002000416000000000002004b0000004e0000c13d0000002402400370000000000502043b0000000402400370000000000402043b0000000102000039000000000202041a000009ba03000041000000800030043f000009c003000041000000840030043f000000000300041400000008022002700000097e02200197000000040020008c000c00000004001d000b00000005001d000007eb0000c13d0000000003000031000000200030008c000000200400003900000000040340190000080f0000013d0000000001000416000000000001004b0000004e0000c13d25e91cf20000040f000000000001004b0000000001000039000000010100c039000003690000013d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000501043b0000000401400370000000000301043b0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000c00000003001d000b00000005001d000008930000c13d0000000003000031000000200030008c00000020040000390000000004034019000008b70000013d000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000501043b0000000401400370000000000301043b0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000c00000003001d000b00000005001d000008ff0000c13d0000000003000031000000200030008c00000020040000390000000004034019000009230000013d0000000001000416000000000001004b0000004e0000c13d0000000101000039000000000101041a00000008011002700000097e01100197000000800010043f000009d301000041000025ea0001042e0000000002000416000000000002004b0000004e0000c13d0000000102000039000000000202041a000009ba03000041000000800030043f000009c003000041000000840030043f000000000300041400000008022002700000097e02200197000000040020008c0000051c0000c13d0000000003000031000000200030008c00000020040000390000000004034019000005400000013d000000240030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000000401400370000000000101043b25e9236f0000040f25e919ab0000040f000000000001004b00000000010000390000000101006039000000400200043d00000000001204350000097b0020009c0000097b020080410000004001200210000009d1011001c7000025ea0001042e000000440030008c0000004e0000413d0000000001000416000000000001004b0000004e0000c13d0000002401400370000000000101043b000b00000001001d0000000401400370000000000101043b000c00000001001d0000000101000039000000000201041a000009ba01000041000000800010043f000009c001000041000000840010043f000000000100041400000008022002700000097e02200197000000040020008c000009cc0000c13d0000000003000031000000200030008c00000020040000390000000004034019000009f00000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000039f0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000039b0000c13d000000000006004b000003ac0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000a510000613d0000001f01400039000000600110018f00000080021001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009e0040000410000000a05000029000000000045043500000084041001bf0000000000340435000000c4031000390000000b040000290000000000430435000000a4031000390000000c0400002900000000004304350000000003000414000000040020008c00000a0a0000613d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000a0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000003e00000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000003dc0000c13d000000000006004b000003ed0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000008f80000c13d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003f70000c13d00000ea30000013d0000097b0010009c0000097b01008041000000c001100210000009d5011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000004100000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000040c0000c13d000000000006004b0000041d0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000a5d0000613d0000001f01400039000000600110018f00000080011001bf000900000001001d000000400010043f000000200030008c0000004e0000413d000000800100043d000000000001004b0000000002000039000000010200c039000000000021004b0000004e0000c13d000000000001004b00000bee0000c13d000009d201000041000000000010043f0000000c0100002900000bad0000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000004470000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000004430000c13d000000000006004b000004540000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000ae80000613d0000001f01400039000000600110018f00000080021001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009c2040000410000000c05000029000000000045043500000084041001bf0000000000340435000000a403100039000000000003043500000004030000390000000103300367000000000303043b000000c40410003900000000003404350000000003000414000000040020008c00000c380000c13d0000000001150019000000400010043f0000000c0200002900000a0d0000013d0000097b0030009c0000097b03008041000000c001300210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000048a0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000004860000c13d000000000006004b000004970000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000af40000613d0000001f02400039000000600420018f00000080024001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000205000039000000000505041a000009d9060000410000000c0a00002900000000006a043500000084064001bf0000000000560435000000a405400039000000000005043500000004050000390000000105500367000000000505043b000000c40440003900000000005404350000000004000414000000040020008c000004c20000613d0000004001a002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b0030019d0000097b03300197000000010020019000000e050000613d0000000c0a000029000009ef053001980000001f0630018f00000000045a0019000004cc0000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000048004b000004c80000c13d000000000006004b000004d90000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000001f01300039000009ef041001970000000001a40019000000000041004b00000000040000390000000104004039000009ae0010009c000011700000213d0000000100400190000011700000c13d000000400010043f000009da0030009c0000004e0000213d000000200030008c0000004e0000413d0000000c040000290000000004040433000009ae0040009c0000004e0000213d0000000c063000290000000c034000290000001f04300039000000000064004b0000000005000019000009b105008041000009b104400197000009b107600197000000000874013f000000000074004b0000000004000019000009b104004041000009b10080009c000000000405c019000000000004004b0000004e0000c13d0000000043030434000009ae0030009c000011700000213d0000001f05300039000009ef055001970000003f05500039000009ef055001970000000005150019000009ae0050009c000011700000213d000000400050043f00000000053104360000000007430019000000000067004b0000004e0000213d000009ef063001970000001f0230018f000000000054004b000010e20000813d000000000006004b0000088f0000613d00000000082400190000000007250019000000200770008a000000200880008a0000000009670019000000000a680019000000000a0a04330000000000a90435000000200660008c000005150000c13d0000088f0000013d0000097b0030009c0000097b03008041000000c001300210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000005300000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000052c0000c13d000000000006004b0000053d0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b000000613d0000001f02400039000000600420018f00000080024001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000205000039000000000505041a000009d9060000410000000c0a00002900000000006a043500000084064001bf0000000000560435000000c405400039000009e7060000410000000000650435000000a40440003900000000000404350000000004000414000000040020008c000005660000613d0000004001a002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b0030019d0000097b03300197000000010020019000000e1d0000613d0000000c0a000029000009ef053001980000001f0630018f00000000045a0019000005700000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000048004b0000056c0000c13d000000000006004b0000057d0000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000001f01300039000009ef041001970000000001a40019000000000041004b00000000040000390000000104004039000009ae0010009c000011700000213d0000000100400190000011700000c13d000000400010043f000009da0030009c0000004e0000213d000000200030008c0000004e0000413d0000000c040000290000000004040433000009ae0040009c0000004e0000213d0000000c063000290000000c034000290000001f04300039000000000064004b0000000005000019000009b105008041000009b104400197000009b107600197000000000874013f000000000074004b0000000004000019000009b104004041000009b10080009c000000000405c019000000000004004b0000004e0000c13d0000000043030434000009ae0030009c000011700000213d0000001f05300039000009ef055001970000003f05500039000009ef055001970000000005150019000009ae0050009c000011700000213d000000400050043f00000000053104360000000007430019000000000067004b0000004e0000213d000009ef063001970000001f0230018f000000000054004b000010ec0000813d000000000006004b0000088f0000613d00000000082400190000000007250019000000200770008a000000200880008a0000000009670019000000000a680019000000000a0a04330000000000a90435000000200660008c000005b90000c13d0000088f0000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000005d40000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000005d00000c13d000000000006004b000005e10000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b0c0000613d0000001f01400039000000600110018f00000080021001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009e1040000410000000c05000029000000000045043500000084041001bf0000000000340435000000c403100039000009e2040000410000000000430435000000a40310003900000000000304350000000003000414000000040020008c000009c50000613d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000c0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000006140000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000006100000c13d000000000006004b000006210000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000db90000c13d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000062b0000c13d00000ea30000013d0000097b0010009c0000097b01008041000000c001100210000009d5011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000006440000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000006400000c13d000000000006004b000006510000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b180000613d0000001f01400039000000600110018f00000080021001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d000000000002004b0000000004000039000000010400c039000000000042004b0000004e0000c13d000000000002004b00000c660000c13d000009d201000041000000000010043f0000000001000411000000040010043f000009e301000041000000240010043f000009b401000041000025eb000104300000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000067f0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000067b0000c13d000000000006004b0000068c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b240000613d0000001f01400039000000600110018f00000080021001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009e1040000410000000a05000029000000000045043500000084041001bf0000000000340435000000c4031000390000000b040000290000000000430435000000a4031000390000000c0400002900000000004304350000000003000414000000040020008c00000d080000c13d0000000001150019000000400010043f0000000a02000029000009c80000013d0000097b0030009c0000097b03008041000000c001300210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000006c10000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000006bd0000c13d000000000006004b000006ce0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b300000613d0000001f02400039000000600420018f00000080024001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000205000039000000000505041a000009dc060000410000000a0a00002900000000006a043500000084064001bf0000000000560435000000c4054000390000000b060000290000000000650435000000a4044000390000000c0500002900000000005404350000000004000414000000040020008c000006f80000613d0000004001a002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b0030019d0000097b03300197000000010020019000000e2d0000613d0000000a0a000029000009ef053001980000001f0630018f00000000045a0019000007020000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000048004b000006fe0000c13d000000000006004b0000070f0000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000001f01300039000009ef021001970000000001a20019000000000021004b00000000020000390000000102004039000009ae0010009c000011700000213d0000000100200190000011700000c13d000000400010043f000009da0030009c0000004e0000213d000000200030008c0000004e0000413d0000000a020000290000000002020433000009ae0020009c0000004e0000213d0000000a033000290000000a022000290000001f04200039000000000034004b0000000005000019000009b105008041000009b104400197000009b106300197000000000764013f000000000064004b0000000004000019000009b104004041000009b10070009c000000000405c019000000000004004b0000004e0000c13d0000000025020434000009ae0050009c000011700000213d00000005045002100000003f06400039000009af066001970000000006160019000009ae0060009c000011700000213d000000400060043f00000000005104350000000004240019000000000034004b0000004e0000213d000000000005004b000007e50000613d0000000003010019000000200330003900000000250204340000000000530435000000000042004b000007430000413d000007e50000013d0000097b0030009c0000097b03008041000000c001300210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000075d0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000007590000c13d000000000006004b0000076a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b3c0000613d0000001f02400039000000600420018f00000080024001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000205000039000000000505041a000009dc060000410000000c0a00002900000000006a043500000084064001bf0000000000560435000000a405400039000000000005043500000004050000390000000105500367000000000505043b000000c40440003900000000005404350000000004000414000000040020008c000007950000613d0000004001a002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b0030019d0000097b03300197000000010020019000000e390000613d0000000c0a000029000009ef053001980000001f0630018f00000000045a00190000079f0000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000048004b0000079b0000c13d000000000006004b000007ac0000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000001f01300039000009ef021001970000000001a20019000000000021004b00000000020000390000000102004039000009ae0010009c000011700000213d0000000100200190000011700000c13d000000400010043f000009da0030009c0000004e0000213d000000200030008c0000004e0000413d0000000c020000290000000002020433000009ae0020009c0000004e0000213d0000000c033000290000000c022000290000001f04200039000000000034004b0000000005000019000009b105008041000009b104400197000009b106300197000000000764013f000000000064004b0000000004000019000009b104004041000009b10070009c000000000405c019000000000004004b0000004e0000c13d0000000025020434000009ae0050009c000011700000213d00000005045002100000003f06400039000009af066001970000000006160019000009ae0060009c000011700000213d000000400060043f00000000005104350000000004240019000000000034004b0000004e0000213d000000000005004b000007e50000613d0000000003010019000000200330003900000000250204340000000000530435000000000042004b000007e00000413d000000400300043d000c00000003001d0000002002000039000000000223043625e9199e0000040f000011130000013d0000097b0030009c0000097b03008041000000c001300210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000007ff0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000007fb0000c13d000000000006004b0000080c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b480000613d0000001f02400039000000600420018f00000080024001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000205000039000000000505041a000009d9060000410000000a0a00002900000000006a043500000084064001bf0000000000560435000000c4054000390000000b060000290000000000650435000000a4044000390000000c0500002900000000005404350000000004000414000000040020008c000008360000613d0000004001a002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b0030019d0000097b03300197000000010020019000000e450000613d0000000a0a000029000009ef053001980000001f0630018f00000000045a0019000008400000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000048004b0000083c0000c13d000000000006004b0000084d0000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000001f01300039000009ef041001970000000001a40019000000000041004b00000000040000390000000104004039000009ae0010009c000011700000213d0000000100400190000011700000c13d000000400010043f000009da0030009c0000004e0000213d000000200030008c0000004e0000413d0000000a040000290000000004040433000009ae0040009c0000004e0000213d0000000a063000290000000a034000290000001f04300039000000000064004b0000000005000019000009b105008041000009b104400197000009b107600197000000000874013f000000000074004b0000000004000019000009b104004041000009b10080009c000000000405c019000000000004004b0000004e0000c13d0000000043030434000009ae0030009c000011700000213d0000001f05300039000009ef055001970000003f05500039000009ef055001970000000005150019000009ae0050009c000011700000213d000000400050043f00000000053104360000000007430019000000000067004b0000004e0000213d000009ef063001970000001f0230018f000000000054004b000010f60000813d000000000006004b0000088f0000613d00000000082400190000000007250019000000200770008a000000200880008a0000000009670019000000000a680019000000000a0a04330000000000a90435000000200660008c000008890000c13d000000000002004b0000110c0000613d0000000007050019000011020000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000008a70000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000008a30000c13d000000000006004b000008b40000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b540000613d0000001f01400039000000600110018f00000080021001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009db040000410000000a05000029000000000045043500000084041001bf0000000000340435000000c4031000390000000b040000290000000000430435000000a4031000390000000c0400002900000000004304350000000003000414000000040020008c00000a0a0000613d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000a0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000008e80000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000008e40000c13d000000000006004b000008f50000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e510000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c00000a0c0000813d0000004e0000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000009130000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b0000090f0000c13d000000000006004b000009200000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b600000613d0000001f01400039000000600110018f00000080021001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009c4040000410000000a05000029000000000045043500000084041001bf0000000000340435000000c4031000390000000b040000290000000000430435000000a4031000390000000c0400002900000000004304350000000003000414000000040020008c00000d360000c13d0000000001150019000000400010043f0000000a02000029000000000202043300000a130000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000009560000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000009520000c13d000000000006004b000009630000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000b6c0000613d0000001f01400039000000600110018f00000080021001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009c4040000410000000c05000029000000000045043500000084041001bf0000000000340435000000a403100039000000000003043500000004030000390000000103300367000000000303043b000000c40410003900000000003404350000000003000414000000040020008c00000d640000c13d0000000001150019000000400010043f0000000c02000029000000000202043300000a130000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf0000099a0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000009960000c13d000000000006004b000009a70000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000bb20000613d0000001f01400039000000600110018f00000080021001bf000c00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009e1040000410000000c05000029000000000045043500000084041001bf0000000000340435000000a403100039000000000003043500000004030000390000000103300367000000000303043b000000c40410003900000000003404350000000003000414000000040020008c00000d920000c13d0000000001150019000000400010043f0000000c0200002900000000020204330000097e0020009c0000004e0000213d00000a130000013d0000097b0010009c0000097b01008041000000c001100210000009d8011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000009e00000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b000009dc0000c13d000000000006004b000009ed0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000bbe0000613d0000001f01400039000000600110018f00000080021001bf000a00000002001d000000400020043f000000200030008c0000004e0000413d000000800200043d0000097e0020009c0000004e0000213d0000000203000039000000000303041a000009c2040000410000000a05000029000000000045043500000084041001bf0000000000340435000000c4031000390000000b040000290000000000430435000000a4031000390000000c0400002900000000004304350000000003000414000000040020008c00000dc00000c13d0000000001150019000000400010043f0000000a020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b0000004e0000c13d00000000002104350000004001100210000009d1011001c7000025ea0001042e0000097b0010009c0000097b01008041000000c001100210000009d5011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf00000a2b0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b00000a270000c13d000000000006004b00000a380000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000bca0000613d0000001f01400039000000600210018f00000080012001bf000000400010043f000000200030008c0000004e0000413d000000800300043d000000000003004b0000000004000039000000010400c039000000000043004b0000004e0000c13d000000000003004b00000dee0000c13d000009d201000041000000000010043f0000000001000411000000040010043f000009ea01000041000000240010043f000009b401000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000a580000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000a640000c13d00000ea30000013d0000097b0010009c0000097b01008041000000c001100210000009d5011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf00000a7d0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b00000a790000c13d000000000006004b00000a8a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000bd60000613d0000001f01400039000000600110018f00000080011001bf000a00000001001d000000400010043f000000200030008c0000004e0000413d000000800100043d000000000001004b0000000002000039000000010200c039000000000021004b0000004e0000c13d000000000001004b00000baa0000613d0000000101000039000000000201041a000000ff0020019000000f060000c13d000009b5010000410000000a040000290000000000140435000000000100041400000008022002700000097e02200197000000040020008c00000f140000c13d000000200030008c00000020030080390000001f01300039000000600110018f0000000001410019000000400010043f0000000a020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b0000004e0000c13d000000000002004b00000f4d0000c13d00000004020000390000000102200367000000000202043b0000002003100039000009bd04000041000000000043043500000024041000390000000000240435000000240200003900000000002104350000006002100039000000400020043f000000400230021000000000010104330000097b0010009c0000097b010080410000006001100210000000000112019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000121019f000009bf011001c7000080100200003925e925e40000040f00000001002001900000004e0000613d000000000101043b000a00000001001d0000000101000039000000000201041a000000400300043d000009ba010000410000000000130435000b00000003001d0000000401300039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c0000105e0000c13d0000000003000031000000200030008c00000020040000390000000004034019000010870000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000aef0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000afb0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b070000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b130000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b1f0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b2b0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b370000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b430000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b4f0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b5b0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b670000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000b730000c13d00000ea30000013d0000097b0010009c0000097b01008041000000c001100210000009d5011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf00000b8c0000613d0000008008000039000000000901034f000000009a09043c0000000008a80436000000000058004b00000b880000c13d000000000006004b00000b990000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000be20000613d0000001f01400039000000600110018f00000080011001bf000000400010043f000000200030008c0000004e0000413d000000800100043d000000000001004b0000000002000039000000010200c039000000000021004b0000004e0000c13d000000000001004b00000e810000c13d000009d201000041000000000010043f0000000b01000029000000040010043f000009d401000041000000240010043f000009b401000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000bb90000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000bc50000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000bd10000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000bdd0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000be90000c13d00000ea30000013d0000000101000039000000000201041a000000ff0020019000000e030000c13d000009b50100004100000009040000290000000000140435000000000100041400000008022002700000097e02200197000000040020008c00000eb60000c13d000000200030008c00000020030080390000001f01300039000000600110018f0000000001410019000000400010043f00000009020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b0000004e0000c13d000000000002004b00000f4d0000c13d0000002002100039000009bd03000041000000000032043500000024031000390000000b040000290000000000430435000000240300003900000000003104350000006003100039000000400030043f000000400220021000000000010104330000097b0010009c0000097b010080410000006001100210000000000112019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000121019f000009bf011001c7000080100200003925e925e40000040f00000001002001900000004e0000613d000000000101043b000900000001001d0000000101000039000000000201041a000000400300043d000009ba010000410000000000130435000c00000003001d0000000401300039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c00000f680000c13d0000000003000031000000200030008c0000002004000039000000000403401900000f910000013d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000c0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000c4f0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000c4b0000c13d000000000006004b00000c5c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e110000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c000004740000813d0000004e0000013d000000c002100039000000400020043f00000012020000390000000c040000290000000000240435000000a004100039000009e40200004100000000002404350000000302000039000000000202041a000000ff0020019000000e290000c13d000b00000004001d0000000102000039000000000202041a000000400b00043d000009ba0400004100000000004b04350000000404b00039000009c0050000410000000000540435000000000400041400000008022002700000097e02200197000000040020008c00000cad0000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009bc011001c7000a0000000b001d25e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000a0b0000290000000a0570002900000c9b0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000c970000c13d000000000006004b00000ca80000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000f410000613d0000001f01400039000000600110018f0000000002b10019000000000012004b00000000010000390000000101004039000009ae0020009c000011700000213d0000000100100190000011700000c13d000000400020043f000000200030008c0000004e0000413d00000000010b0433000a00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000900000001001d000009ca0100004100000000001004430000000a01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d0000006401300039000000000200041000000000002104350000004401300039000009e6020000410000000000210435000009ce0100004100000000001304350000000401300039000700000001001d00000009020000290000000000210435000800000003001d0000002401300039000000000001043500000000010004140000000a02000029000000040020008c00000cf20000613d00000008020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000a0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000011350000613d0000000801000029000009ae0010009c000011700000213d0000000803000029000000400030043f0000000101000039000000000201041a000009ba010000410000000000130435000009c00100004100000007030000290000000000130435000000000100041400000008022002700000097e02200197000000040020008c000011420000c13d0000000003000031000000200030008c000000200400003900000000040340190000116b0000013d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000a0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000d1f0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000d1b0000c13d000000000006004b00000d2c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e5d0000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c0000004e0000413d000006ab0000013d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000a0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000d4d0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000d490000c13d000000000006004b00000d5a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e690000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c0000093f0000813d0000004e0000013d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000c0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000d7b0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000d770000c13d000000000006004b00000d880000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e750000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c0000004e0000413d000009830000013d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000c0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000da90000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000da50000c13d000000000006004b00000db60000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e8c0000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c000009c70000813d0000004e0000013d0000097b0030009c0000097b03008041000000c0013002100000004003500210000000000131019f000009b9011001c725e925e40000040f0000000a0b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900000dd70000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00000dd30000c13d000000000006004b00000de40000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000e980000613d0000001f01400039000000600110018f0000000001b10019000000400010043f000000200030008c0000004e0000413d00000a0c0000013d0000000103000039000000000503041a000000ff0450018f0000000c0000006b00000ee30000c13d000000000004004b00000ef80000613d000009f002500197000000000023041b00000000020004110000000000210435000000400110021000000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009eb011001c70000800d02000039000009ed0400004100000ef30000013d000000090300002900000f4e0000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e0c0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e180000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e240000c13d00000ea30000013d000009e501000041000000000010043f000009b601000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e340000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e400000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e4c0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e580000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e640000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e700000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e7c0000c13d00000ea30000013d0000000c03000029000000080130021000000980011001970000000104000039000000000204041a000009d602200197000000000112019f000000000014041b000000000003004b000000930000613d00000ef60000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e930000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e9f0000c13d000000000005004b00000eb00000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb000104300000097b0010009c0000097b01008041000000c0011002100000004003400210000000000131019f000009b6011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f0000002007400190000000090570002900000ecc0000613d000000000801034f0000000909000029000000008a08043c0000000009a90436000000000059004b00000ec80000c13d000000000006004b00000ed90000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000f080000613d0000001f01400039000000600110018f0000000901100029000000400010043f000000200030008c00000c000000813d0000004e0000013d000000000004004b00000ef80000c13d000009f00250019700000001022001bf000000000023041b00000000020004110000000000210435000000400110021000000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009eb011001c70000800d02000039000009ec0400004125e925df0000040f00000001002001900000004e0000613d0000000001000019000025ea0001042e000009b803000041000000000031043500000084032001bf00000020040000390000000000430435000000c403200039000009ee040000410000000000430435000000a402200039000000140300003900000000003204350000004001100210000009b9011001c7000025eb000104300000000a0300002900000f4e0000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000f0f0000c13d00000ea30000013d0000097b0010009c0000097b01008041000000c0011002100000004003400210000000000131019f000009b6011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000a0570002900000f2a0000613d000000000801034f0000000a09000029000000008a08043c0000000009a90436000000000059004b00000f260000c13d000000000006004b00000f370000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000000f5c0000613d0000001f01400039000000600110018f0000000a01100029000000400010043f000000200030008c00000aae0000813d0000004e0000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000f480000c13d00000ea30000013d00000000030100190000004401300039000009b7020000410000000000210435000000240130003900000010020000390000000000210435000009b80100004100000000001304350000000401300039000000200200003900000000002104350000004001300210000009b9011001c7000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000f630000c13d00000ea30000013d0000000c030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000c0570002900000f810000613d000000000801034f0000000c09000029000000008a08043c0000000009a90436000000000059004b00000f7d0000c13d000000000006004b00000f8e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000010d60000613d0000001f01400039000000600210018f0000000c01200029000000000021004b00000000020000390000000102004039000009ae0010009c000011700000213d0000000100200190000011700000c13d000000400010043f000000200030008c0000004e0000413d0000000c010000290000000001010433000c00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000800000001001d000009ca0100004100000000001004430000000c01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d00000064013000390000000a0200002900000000002104350000004401300039000009c3020000410000000000210435000009de010000410000000001130436000700000001001d000000040130003900000008020000290000000000210435000a00000003001d00000024023000390000000901000029000800000002001d000000000012043500000000010004140000000c02000029000000040020008c00000fdb0000613d0000000a020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000c0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000012440000613d0000000a01000029000009ae0010009c000011700000213d0000000a02000029000000400020043f000009bd01000041000000070300002900000000001304350000000b010000290000000803000029000000000013043500000024010000390000000000120435000009be0020009c000011700000213d0000000a020000290000006001200039000000400010043f00000007010000290000097b0010009c0000097b01008041000000400110021000000000020204330000097b0020009c0000097b020080410000006002200210000000000112019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009bf011001c7000080100200003925e925e40000040f00000001002001900000004e0000613d000000000101043b000a00000001001d0000000101000039000000000201041a000000400300043d000009ba010000410000000000130435000c00000003001d0000000401300039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c0000126a0000c13d0000000003000031000000200030008c00000020040000390000000004034019000012930000013d0000000b030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009b4011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b057000290000102e0000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b0000102a0000c13d000000000006004b0000103b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000001002001900000111d0000613d0000001f01400039000000600110018f0000000b02100029000000000012004b00000000010000390000000101004039000a00000002001d000009ae0020009c000011700000213d0000000100100190000011700000c13d0000000a01000029000000400010043f000000200030008c0000004e0000413d0000000b010000290000000001010433000000000001004b0000000002000039000000010200c039000000000021004b0000004e0000c13d000000000001004b000011d60000c13d000009d201000041000000000010043f0000000801000029000000040010043f000009b301000041000000240010043f000009b401000041000025eb000104300000000b030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b05700029000010770000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000010730000c13d000000000006004b000010840000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000011290000613d0000001f01400039000000600210018f0000000b01200029000000000021004b00000000020000390000000102004039000009ae0010009c000011700000213d0000000100200190000011700000c13d000000400010043f000000200030008c0000004e0000413d0000000b010000290000000001010433000b00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000900000001001d000009ca0100004100000000001004430000000b01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d00000064013000390000000c0200002900000000002104350000004401300039000009c102000041000000000021043500000024013000390000000a020000290000000000210435000009dd010000410000000000130435000c00000003001d00000004013000390000000902000029000000000021043500000000010004140000000b02000029000000040020008c000010cf0000613d0000000c020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000b0200002925e925df0000040f00000060031002700000097b0030019d00000001002001900000125d0000613d0000000c01000029000009ae0010009c000011700000213d0000000c01000029000000400010043f0000000001000019000025ea0001042e0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000010dd0000c13d00000ea30000013d0000000007650019000000000006004b000010ff0000613d00000000080400190000000009050019000000008a0804340000000009a90436000000000079004b000010e70000c13d000010ff0000013d0000000007650019000000000006004b000010ff0000613d00000000080400190000000009050019000000008a0804340000000009a90436000000000079004b000010f10000c13d000010ff0000013d0000000007650019000000000006004b000010ff0000613d00000000080400190000000009050019000000008a0804340000000009a90436000000000079004b000010fb0000c13d000000000002004b0000110c0000613d00000000046400190000000302200210000000000607043300000000062601cf000000000626022f00000000040404330000010002200089000000000424022f00000000022401cf000000000262019f0000000000270435000000000253001900000000000204350000002002000039000000400300043d000c00000003001d000000000223043625e918c50000040f0000000c0200002900000000012100490000097b0010009c0000097b0100804100000060011002100000097b0020009c0000097b020080410000004002200210000000000121019f000025ea0001042e0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000011240000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000011300000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000113d0000c13d00000ea30000013d00000008030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000008057000290000115b0000613d000000000801034f0000000809000029000000008a08043c0000000009a90436000000000059004b000011570000c13d000000000006004b000011680000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000011ca0000613d0000001f01400039000000600110018f0000000801100029000009ae0010009c000011760000a13d000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb00010430000000400010043f000000200030008c0000004e0000413d00000008010000290000000001010433000a00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000900000001001d000009ca0100004100000000001004430000000a01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d0000006401300039000000000200041100000000002104350000004401300039000009e2020000410000000000210435000009ce0100004100000000001304350000000401300039000700000001001d00000009020000290000000000210435000800000003001d0000002401300039000000000001043500000000010004140000000a02000029000000040020008c000011b40000613d00000008020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000a0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000012e20000613d0000000801000029000009ae0010009c000011700000213d0000000803000029000000400030043f0000000101000039000000000201041a000009ba010000410000000000130435000009c00100004100000007030000290000000000130435000000000100041400000008022002700000097e02200197000000040020008c000012fb0000c13d0000000003000031000000200030008c00000020040000390000000004034019000013240000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000011d10000c13d00000ea30000013d0000000101000039000000000201041a000000ff00200190000011e40000c13d000009b5010000410000000a040000290000000000140435000000000100041400000008022002700000097e02200197000000040020008c000011f50000c13d00000020040000390000121e0000013d0000000a010000290000004402100039000009b7030000410000000000320435000000240210003900000010030000390000000000320435000009b80200004100000000002104350000000402100039000000200300003900000000003204350000097b0010009c0000097b010080410000004001100210000009b9011001c7000025eb000104300000000a030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009b6011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000a057000290000120e0000613d000000000801034f0000000a09000029000000008a08043c0000000009a90436000000000059004b0000120a0000c13d000000000006004b0000121b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000012510000613d0000001f01400039000000600110018f0000000a01100029000009ae0010009c000011700000213d000000400010043f000000200030008c0000004e0000413d0000000a020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b0000004e0000c13d000000000002004b000011e50000c13d25e923970000040f0000000102000039000000000202041a000000400400043d000009ba030000410000000000340435000a00000004001d0000000403400039000009bb040000410000000000430435000100000001001d000000000100041400000008022002700000097e02200197000000040020008c0000136d0000c13d0000000003000031000000200030008c00000020040000390000000004034019000013960000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000124c0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000012580000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000012650000c13d00000ea30000013d0000000c030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000c05700029000012830000613d000000000801034f0000000c09000029000000008a08043c0000000009a90436000000000059004b0000127f0000c13d000000000006004b000012900000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000012ef0000613d0000001f01400039000000600210018f0000000c01200029000000000021004b00000000020000390000000102004039000009ae0010009c000011700000213d0000000100200190000011700000c13d000000400010043f000000200030008c0000004e0000413d0000000c010000290000000001010433000c00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000900000001001d000009ca0100004100000000001004430000000c01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d00000064013000390000000b0200002900000000002104350000004401300039000009df02000041000000000021043500000024013000390000000a020000290000000000210435000009de010000410000000000130435000b00000003001d00000004013000390000000902000029000000000021043500000000010004140000000c02000029000000040020008c000012db0000613d0000000b020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000c0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000016a60000613d0000000b01000029000009ae0010009c000011700000213d0000000b01000029000000400010043f0000000001000019000025ea0001042e0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000012ea0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000012f60000c13d00000ea30000013d00000008030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000805700029000013140000613d000000000801034f0000000809000029000000008a08043c0000000009a90436000000000059004b000013100000c13d000000000006004b000013210000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000013c30000613d0000001f01400039000000600110018f0000000801100029000009ae0010009c000011700000213d000000400010043f000000200030008c0000004e0000413d00000008010000290000000001010433000a00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000900000001001d000009ca0100004100000000001004430000000a01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d0000006401300039000000800200003900000000002104350000004401300039000009e7020000410000000000210435000009e80100004100000000001304350000000401300039000700000001001d00000009020000290000000000210435000000240130003900000000000104350000000c01000029000000000101043300000084023000390000000000120435000009ef051001970000001f0410018f000800000003001d000000a4033000390000000b0030006b000016b30000813d000000000005004b000013690000613d0000000b074000290000000006430019000000200660008a000000200770008a0000000008560019000000000957001900000000090904330000000000980435000000200550008c000013630000c13d000000000004004b000016ca0000613d0000000006030019000016bf0000013d0000000a030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000a05700029000013860000613d000000000801034f0000000a09000029000000008a08043c0000000009a90436000000000059004b000013820000c13d000000000006004b000013930000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000013cf0000613d0000001f01400039000000600110018f0000000a02100029000000000012004b00000000010000390000000101004039000b00000002001d000009ae0020009c000011700000213d0000000100100190000011700000c13d0000000b01000029000000400010043f000000200030008c0000004e0000413d0000000a010000290000000001010433000800000001001d0000097e0010009c0000004e0000213d0000000c010000290002097e0010019b000000800100043d000000000001004b000013db0000c13d0000000b01000029000c00040010003d0000000101000039000000000201041a000009ba010000410000000b030000290000000000130435000009c0010000410000000c030000290000000000130435000000000100041400000008022002700000097e02200197000000040020008c0000161e0000c13d0000000003000031000000200030008c00000020040000390000000004034019000016480000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000013ca0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000013d60000c13d00000ea30000013d000a00000000001d0000000a010000290000000501100210000400000001001d000000a001100039000300000001001d00000000030104330000000b040000290000002001400039000009bd020000410000000000210435000000240200003900000000002404350000002402400039000500000003001d0000000000320435000009be0040009c000011700000213d0000000b030000290000006002300039000000400020043f0000097b0010009c0000097b01008041000000400110021000000000020304330000097b0020009c0000097b020080410000006002200210000000000112019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009bf011001c7000080100200003925e925e40000040f00000001002001900000004e0000613d000000000101043b000600000001001d0000000101000039000000000201041a000000400300043d000009ba010000410000000000130435000b00000003001d0000000401300039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c000014170000c13d0000000003000031000000200030008c000000200400003900000000040340190000143f0000013d0000000b030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c0000002004000039000000000403401900000020064001900000000b056000290000142f0000613d000000000701034f0000000b08000029000000007907043c0000000008980436000000000058004b0000142b0000c13d0000001f074001900000143c0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000017b00000613d0000001f01400039000000600110018f0000000b04100029000000000014004b00000000020000390000000102004039000c00000004001d000009ae0040009c000011700000213d0000000100200190000011700000c13d0000000c02000029000000400020043f000000200030008c0000004e0000413d0000000b0200002900000000020204330000097e0020009c0000004e0000213d0000000204000039000000000404041a0000000c070000290000004405700039000009c1060000410000000000650435000000240570003900000006060000290000000000650435000009c2050000410000000000570435000000040570003900000000004504350000000004000414000000040020008c0000148c0000613d0000000c010000290000097b0010009c0000097b0100804100000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b03300197000000200030008c0000002004000039000000000403401900000020064001900000000c056000290000147a0000613d000000000701034f0000000c08000029000000007907043c0000000008980436000000000058004b000014760000c13d0000001f07400190000014870000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000017bc0000613d0000001f01400039000000600110018f0000000c01100029000009ae0010009c000011700000213d000000400010043f000000200030008c0000004e0000413d0000000c020000290000000002020433000000000002004b0000000003000039000000010300c039000000000032004b0000004e0000c13d000000000002004b0000179d0000c13d0000002002100039000009bd03000041000000000032043500000024031000390000000504000029000000000043043500000024030000390000000000310435000009be0010009c000011700000213d0000006003100039000000400030043f0000097b0020009c0000097b02008041000000400220021000000000010104330000097b0010009c0000097b010080410000006001100210000000000121019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009bf011001c7000080100200003925e925e40000040f00000001002001900000004e0000613d000000000101043b000600000001001d0000000101000039000000000201041a000000400300043d000009ba010000410000000000130435000b00000003001d0000000401300039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c000014ce0000c13d0000000003000031000000200030008c00000020040000390000000004034019000014f60000013d0000000b030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c0000002004000039000000000403401900000020064001900000000b05600029000014e60000613d000000000701034f0000000b08000029000000007907043c0000000008980436000000000058004b000014e20000c13d0000001f07400190000014f30000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000017c80000613d0000001f01400039000000600110018f0000000b04100029000000000014004b00000000020000390000000102004039000c00000004001d000009ae0040009c000011700000213d0000000100200190000011700000c13d0000000c02000029000000400020043f000000200030008c0000004e0000413d0000000b0200002900000000020204330000097e0020009c0000004e0000213d0000000204000039000000000404041a0000000c070000290000004405700039000009c3060000410000000000650435000000240570003900000006060000290000000000650435000009c4050000410000000000570435000000040570003900000000004504350000000004000414000000040020008c000015430000613d0000000c010000290000097b0010009c0000097b0100804100000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c725e925e40000040f00000060031002700000097b03300197000000200030008c0000002004000039000000000403401900000020064001900000000c05600029000015310000613d000000000701034f0000000c08000029000000007907043c0000000008980436000000000058004b0000152d0000c13d0000001f074001900000153e0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000017d40000613d0000001f01400039000000600110018f0000000c01100029000b00000001001d000009ae0010009c000011700000213d0000000b01000029000000400010043f000000200030008c0000004e0000413d0000000c010000290000000001010433000600000001001d000000000001004b000015d40000613d0000000101000039000000000201041a000009ba010000410000000b0400002900000000001404350000000401400039000009bb040000410000000000410435000000000100041400000008022002700000097e02200197000000040020008c0000002004000039000015860000613d0000000b030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c0000002004000039000000000403401900000020064001900000000b05600029000015760000613d000000000701034f0000000b08000029000000007907043c0000000008980436000000000058004b000015720000c13d0000001f07400190000015830000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000017ed0000613d0000001f01400039000000600110018f0000000b02100029000c00000002001d000009ae0020009c000011700000213d0000000c02000029000000400020043f000000200030008c0000004e0000413d0000000b0200002900000000020204330000097e0020009c0000004e0000213d0000000c05000029000000240450003900000006060000290000000000640435000009c50400004100000000004504350000000404500039000000020500002900000000005404350000000004000414000000040020008c000015ca0000613d0000000c010000290000097b0010009c0000097b0100804100000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b4011001c725e925e40000040f00000060031002700000097b03300197000000200030008c0000002004000039000000000403401900000020064001900000000c05600029000015b80000613d000000000701034f0000000c08000029000000007907043c0000000008980436000000000058004b000015b40000c13d0000001f07400190000015c50000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000017f90000613d0000001f01400039000000600110018f0000000c01100029000009ae0010009c000011700000213d000000400010043f000000200030008c0000004e0000413d0000000c020000290000000002020433000000000002004b0000179d0000613d000000800100043d0000000a0010006c000017970000a13d000000090100002900000000010104330000000a0010006c000017970000a13d00000003010000290000000001010433000c00000001001d000000040200002900000007012000290000000001010433000b00000001001d000009ca0100004100000000001004430000000801000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400200043d00000044012000390000000b03000029000000000031043500000024012000390000000c030000290000000000310435000009cc010000410000000000120435000b00000002001d00000004022000390000000201000029000c00000002001d000000000012043500000000010004140000000802000029000000040020008c000016130000613d0000000b020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009b9011001c7000000080200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000017e00000613d0000000b01000029000009ae0010009c000011700000213d0000000b01000029000000400010043f0000000a02000029000a00010020003d000000800100043d0000000a0010006b000013dc0000413d000013b10000013d0000000b03000029000b00000003001d0000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000b05700029000016380000613d000000000801034f0000000b09000029000000008a08043c0000000009a90436000000000059004b000016340000c13d000000000006004b000016450000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000016fb0000613d0000001f01400039000000600110018f0000000b01100029000009ae0010009c000011700000213d000000400010043f000000200030008c0000004e0000413d0000000b010000290000000001010433000c00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000b00000001001d000009ca0100004100000000001004430000000c01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d0000006401300039000000020200002900000000002104350000004401300039000009cd020000410000000000210435000000240130003900000001020000290000000000210435000009ce010000410000000000130435000a00000003001d00000004013000390000000b02000029000000000021043500000000010004140000000c02000029000000040020008c0000168b0000613d0000000a020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000c0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000018050000613d0000000a01000029000009ae0010009c000011700000213d0000000a01000029000000400010043f0000008002000039000000010100002925e9250d0000040f0000000101000039000000000201041a000000400300043d000009ba010000410000000000130435000c00000003001d0000000401300039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c000018120000c13d0000000003000031000000200030008c000000200400003900000000040340190000183b0000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000016ae0000c13d00000ea30000013d0000000006530019000000000005004b000016bc0000613d0000000b07000029000000000803001900000000790704340000000008980436000000000068004b000016b80000c13d000000000004004b000016ca0000613d000b000b0050002d0000000304400210000000000506043300000000054501cf000000000545022f0000000b0700002900000000070704330000010004400089000000000747022f00000000044701cf000000000454019f00000000004604350000000003310019000000000003043500000000030004140000000a04000029000000040040008c000016e50000613d0000001f01100039000009ef01100197000000a4011000390000097b0010009c0000097b01008041000000600110021000000008020000290000097b0020009c0000097b020080410000004002200210000000000121019f0000097b0030009c0000097b03008041000000c002300210000000000121019f0000000a0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000017070000613d0000000801000029000009ae0010009c000011700000213d0000000803000029000000400030043f0000000101000039000000000201041a000009ba010000410000000000130435000009c00100004100000007030000290000000000130435000000000100041400000008022002700000097e02200197000000040020008c000017140000c13d0000000003000031000000200030008c000000200400003900000000040340190000173d0000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017020000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000170f0000c13d00000ea30000013d00000008030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000008057000290000172d0000613d000000000801034f0000000809000029000000008a08043c0000000009a90436000000000059004b000017290000c13d000000000006004b0000173a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000001002001900000178b0000613d0000001f01400039000000600110018f0000000801100029000009ae0010009c000011700000213d000000400010043f000000200030008c0000004e0000413d00000008010000290000000001010433000c00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000b00000001001d000009ca0100004100000000001004430000000c01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d0000006401300039000009810200004100000000002104350000004401300039000009e9020000410000000000210435000009de01000041000000000013043500000004013000390000000b020000290000000000210435000b00000003001d0000002401300039000000000001043500000000010004140000000c02000029000000040020008c0000177f0000613d0000000b020000290000097b0020009c0000097b0200804100000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000c0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000018ab0000613d0000000b01000029000009ae0010009c000011700000213d0000000b01000029000000400010043f0000000303000039000000000103041a000009f00110019700000001011001bf000000000013041b0000000001000019000025ea0001042e0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017920000c13d00000ea30000013d000009c901000041000000000010043f0000003201000039000000040010043f000009bc01000041000025eb000104300000006402100039000009c60300004100000000003204350000004402100039000009c7030000410000000000320435000000240210003900000023030000390000000000320435000009b80200004100000000002104350000000402100039000000200300003900000000003204350000097b0010009c0000097b010080410000004001100210000009c8011001c7000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017b70000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017c30000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017cf0000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017db0000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017e80000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000017f40000c13d00000ea30000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018000000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000180d0000c13d00000ea30000013d0000000c030000290000097b0030009c0000097b0300804100000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f00000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f00000020074001900000000c057000290000182b0000613d000000000801034f0000000c09000029000000008a08043c0000000009a90436000000000059004b000018270000c13d000000000006004b000018380000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000001002001900000189f0000613d0000001f01400039000000600210018f0000000c01200029000000000021004b00000000020000390000000102004039000009ae0010009c000011700000213d0000000100200190000011700000c13d000000400010043f000000200030008c0000004e0000413d0000000c010000290000000001010433000c00000001001d0000097e0010009c0000004e0000213d0000000201000039000000000101041a000b00000001001d000009ca0100004100000000001004430000000c01000029000000040010044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f00000001002001900000189e0000613d000000000101043b000000000001004b0000004e0000613d000000400300043d0000006401300039000000800200003900000000002104350000004401300039000009cf020000410000000000210435000000240130003900000001020000290000000000210435000009d001000041000000000013043500000004013000390000000b0200002900000000002104350000000901000029000000000201043300000084013000390000000000210435000b00000003001d000000a401300039000000000002004b000018800000613d000000000300001900000009040000290000002004400039000900000004001d000000000404043300000000014104360000000103300039000000000023004b000018780000413d00000000020004140000000c03000029000000040030008c000018970000613d0000000b0300002900000000013100490000097b0010009c0000097b0100804100000060011002100000097b0030009c0000097b030080410000004003300210000000000131019f0000097b0020009c0000097b02008041000000c002200210000000000121019f0000000c0200002925e925df0000040f00000060031002700000097b0030019d0000000100200190000018b80000613d0000000b01000029000009ae0010009c000011700000213d0000000b02000029000000400020043f00000001010000290000036a0000013d000000000001042f0000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018a60000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018b30000c13d00000ea30000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d000000000462001900000ea30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000018c00000c13d00000ea30000013d00000000430104340000000001320436000009ef063001970000001f0530018f000000000014004b000018db0000813d000000000006004b000018d70000613d00000000085400190000000007510019000000200770008a000000200880008a0000000009670019000000000a680019000000000a0a04330000000000a90435000000200660008c000018d10000c13d000000000005004b000018f10000613d0000000007010019000018e70000013d0000000007610019000000000006004b000018e40000613d00000000080400190000000009010019000000008a0804340000000009a90436000000000079004b000018e00000c13d000000000005004b000018f10000613d00000000046400190000000305500210000000000607043300000000065601cf000000000656022f00000000040404330000010005500089000000000454022f00000000045401cf000000000464019f0000000000470435000000000431001900000000000404350000001f03300039000009ef023001970000000001210019000000000001042d00000000030100190000001f01100039000000000021004b0000000004000019000009b104004041000009b105200197000009b101100197000000000651013f000000000051004b0000000001000019000009b101002041000009b10060009c000000000104c019000000000001004b0000192e0000613d0000000104000367000000000134034f000000000501043b000009f10050009c000019280000813d00000005065002100000003f01600039000009af07100197000000400100043d0000000007710019000000000017004b00000000080000390000000108004039000009ae0070009c000019280000213d0000000100800190000019280000c13d000000400070043f000000000051043500000020033000390000000005630019000000000025004b0000192e0000213d000000000053004b000019270000813d0000000002010019000000000634034f000000000606043b000000200220003900000000006204350000002003300039000000000053004b000019200000413d000000000001042d000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000000001000019000025eb00010430000009da0010009c000019960000213d0000000004010019000000630010008c000019960000a13d00000001050003670000000401500370000000000101043b0000097e0010009c000019960000213d0000002402500370000000000302043b000009ae0030009c000019960000213d0000002302300039000000000042004b000019960000813d0000000402300039000000000225034f000000000602043b000009f10060009c000019980000813d00000005076002100000003f02700039000009af08200197000000400200043d0000000008820019000000000028004b00000000090000390000000109004039000009ae0080009c000019980000213d0000000100900190000019980000c13d000000400080043f000000000062043500000024033000390000000007370019000000000047004b000019960000213d000000000006004b000019620000613d0000000006020019000000000835034f000000000808043b000000200660003900000000008604350000002003300039000000000073004b0000195b0000413d0000004403500370000000000603043b000009ae0060009c000019960000213d0000002303600039000000000043004b0000000007000019000009b107008041000009b108400197000009b103300197000000000983013f000000000083004b0000000003000019000009b103004041000009b10090009c000000000307c019000000000003004b000019960000c13d0000000403600039000000000335034f000000000703043b000009ae0070009c000019980000213d00000005087002100000003f03800039000009af09300197000000400300043d0000000009930019000000000039004b000000000a000039000000010a004039000009ae0090009c000019980000213d0000000100a00190000019980000c13d000000400090043f000000000073043500000024066000390000000008680019000000000048004b000019960000213d000000000007004b000019950000613d0000000004030019000000000765034f000000000707043b000000200440003900000000007404350000002006600039000000000086004b0000198e0000413d000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb00010430000000000301001900000000040104330000000001420436000000000004004b000019aa0000613d00000000020000190000002003300039000000000503043300000000015104360000000102200039000000000042004b000019a40000413d000000000001042d00020000000000020000000102000039000000000202041a000000400c00043d000009ba0300004100000000003c04350000000404c00039000009c0030000410000000000340435000000000400041400000008022002700000097e02200197000000040020008c000019be0000c13d0000000003000031000000200030008c00000020040000390000000004034019000019eb0000013d000100000001001d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0040009c0000097b04008041000000c001400210000000000131019f000009bc011001c700020000000c001d25e925e40000040f000000020c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c0019000019da0000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b000019d60000c13d000000000006004b000019e70000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001a4b0000613d00000001010000290000001f02400039000000600720018f000000000bc7001900000000007b004b00000000020000390000000102004039000009ae00b0009c00001a450000213d000000010020019000001a450000c13d0000004000b0043f0000001f0030008c00001a430000a13d00000000020c04330000097e0020009c00001a430000213d0000000204000039000000000404041a0000004405b00039000009c10600004100000000006504350000002405b000390000000000150435000009c20500004100000000005b04350000000405b0003900000000004504350000000004000414000000040020008c00001a360000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c700020000000b001d25e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001a240000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001a200000c13d000000000006004b00001a310000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001a690000613d0000001f01400039000000600710018f0000000001b70019000009ae0010009c00001a450000213d000000400010043f000000200030008c00001a430000413d00000000010b0433000000000001004b0000000002000039000000010200c039000000000021004b00001a430000c13d000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001a560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a520000c13d000000000005004b00001a630000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001a740000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001a700000c13d000000000005004b00001a810000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000121019f000025eb000104300004000000000002000300000001001d000000400100043d0000002004100039000009bd0300004100000000003404350000002403100039000400000002001d000000000023043500000024020000390000000000210435000009f20010009c00001c800000813d0000006003100039000000400030043f0000097b0040009c0000097b04008041000000400240021000000000010104330000097b0010009c0000097b010080410000006001100210000000000121019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009bf011001c7000080100200003925e925e40000040f000000010020019000001c7e0000613d000000000701043b0000000101000039000000000201041a000000400c00043d000009ba0100004100000000001c04350000000401c00039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c00001abb0000c13d0000000003000031000000200030008c0000002004000039000000000403401900001ae80000013d000100000007001d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c700020000000c001d25e925e40000040f000000020c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c001900001ad70000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b00001ad30000c13d000000000006004b00001ae40000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001c860000613d00000001070000290000001f01400039000000600110018f000000000bc1001900000000001b004b00000000020000390000000102004039000009ae00b0009c00001c800000213d000000010020019000001c800000c13d0000004000b0043f000000200030008c00001c7e0000413d00000000020c04330000097e0020009c00001c7e0000213d0000000204000039000000000404041a0000004405b00039000009c10600004100000000006504350000002405b000390000000000750435000009c20500004100000000005b04350000000405b0003900000000004504350000000004000414000000040020008c00001b330000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c700020000000b001d25e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001b210000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001b1d0000c13d000000000006004b00001b2e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001c920000613d0000001f01400039000000600110018f0000000002b10019000009ae0020009c00001c800000213d000000400020043f000000200030008c00001c7e0000413d00000000010b0433000000000001004b0000000003000039000000010300c039000000000031004b00001c7e0000c13d000000000001004b000000000100001900001b430000613d000000000001042d0000002001200039000009bd03000041000000000031043500000024032000390000000404000029000000000043043500000024030000390000000000320435000009be0020009c00001c800000213d0000006003200039000000400030043f0000097b0010009c0000097b01008041000000400110021000000000020204330000097b0020009c0000097b020080410000006002200210000000000112019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009bf011001c7000080100200003925e925e40000040f000000010020019000001c7e0000613d000000000701043b0000000101000039000000000201041a000000400c00043d000009ba0100004100000000001c04350000000401c00039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c00001b740000c13d0000000003000031000000200030008c0000002004000039000000000403401900001ba10000013d000200000007001d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c700040000000c001d25e925e40000040f000000040c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c001900001b900000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b00001b8c0000c13d000000000006004b00001b9d0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001c9e0000613d00000002070000290000001f01400039000000600110018f000000000bc1001900000000001b004b00000000020000390000000102004039000009ae00b0009c00001c800000213d000000010020019000001c800000c13d0000004000b0043f000000200030008c00001c7e0000413d00000000020c04330000097e0020009c00001c7e0000213d0000000204000039000000000404041a0000004405b00039000009c30600004100000000006504350000002405b000390000000000750435000009c40500004100000000005b04350000000405b0003900000000004504350000000004000414000000040020008c00001bec0000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c700040000000b001d25e925e40000040f000000040b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001bda0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001bd60000c13d000000000006004b00001be70000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001caa0000613d0000001f01400039000000600110018f000000000cb10019000009ae00c0009c00001c800000213d0000004000c0043f000000200030008c00001c7e0000413d00000000050b0433000000000005004b000000010100003900001b420000613d000000000201041a000009ba0100004100000000001c04350000000401c00039000009bb040000410000000000410435000000000100041400000008022002700000097e02200197000000040020008c00001c030000c13d000000200400003900001c300000013d000200000005001d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c700040000000c001d25e925e40000040f000000040c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c001900001c1f0000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b00001c1b0000c13d000000000006004b00001c2c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001cc80000613d00000002050000290000001f01400039000000600110018f000000000bc10019000009ae00b0009c00001c800000213d0000004000b0043f000000200030008c00001c7e0000413d00000000020c04330000097e0020009c00001c7e0000213d0000002404b000390000000000540435000009c50400004100000000004b043500000003040000290000097e044001970000000405b0003900000000004504350000000004000414000000040020008c00001c730000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b4011001c700040000000b001d25e925e40000040f000000040b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001c610000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001c5d0000c13d000000000006004b00001c6e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001cd40000613d0000001f01400039000000600110018f0000000001b10019000009ae0010009c00001c800000213d000000400010043f000000200030008c00001c7e0000413d00000000010b0433000000000001004b0000000001000039000000010100c039000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001cb50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001c8d0000c13d00001cb50000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900001cb50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001c990000c13d00001cb50000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900001cb50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001ca50000c13d00001cb50000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900001cb50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001cb10000c13d000000000005004b00001cc20000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001cdf0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001ccf0000c13d00001cdf0000013d0000001f0530018f0000097d06300198000000400200043d000000000462001900001cdf0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001cdb0000c13d000000000005004b00001cec0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000121019f000025eb0001043000010000000000020000000101000039000000000201041a000000ff0120019000001d420000c13d000000400b00043d000009b50100004100000000001b0435000000000100041400000008022002700000097e02200197000000040020008c00001d040000c13d0000000003000031000000200030008c0000002004000039000000000403401900001d2f0000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009b6011001c700010000000b001d25e925e40000040f000000010b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001d1f0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001d1b0000c13d000000000006004b00001d2c0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001d4b0000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000009ae0010009c00001d450000213d000000010020019000001d450000c13d000000400010043f0000001f0030008c00001d430000a13d00000000010b0433000000000001004b0000000002000039000000010200c039000000000021004b00001d430000c13d000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001d560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001d520000c13d000000000005004b00001d630000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000121019f000025eb0001043000020000000000020000000102000039000000000202041a000000400c00043d000009ba0300004100000000003c04350000000404c00039000009c0030000410000000000340435000000000400041400000008022002700000097e02200197000000040020008c00001d7c0000c13d0000000003000031000000200030008c0000002004000039000000000403401900001da90000013d000100000001001d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0040009c0000097b04008041000000c001400210000000000131019f000009bc011001c700020000000c001d25e925e40000040f000000020c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c001900001d980000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b00001d940000c13d000000000006004b00001da50000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001e040000613d00000001010000290000001f02400039000000600720018f000000000bc7001900000000007b004b00000000020000390000000102004039000009ae00b0009c00001dfe0000213d000000010020019000001dfe0000c13d0000004000b0043f0000001f0030008c00001dfc0000a13d00000000020c04330000097e0020009c00001dfc0000213d0000000204000039000000000404041a0000004405b00039000009c30600004100000000006504350000002405b000390000000000150435000009c40500004100000000005b04350000000405b0003900000000004504350000000004000414000000040020008c00001df40000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c700020000000b001d25e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001de20000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001dde0000c13d000000000006004b00001def0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001e220000613d0000001f01400039000000600710018f0000000001b70019000009ae0010009c00001dfe0000213d000000400010043f000000200030008c00001dfc0000413d00000000010b0433000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001e0f0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001e0b0000c13d000000000005004b00001e1c0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001e2d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001e290000c13d000000000005004b00001e3a0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000121019f000025eb0001043000020000000000020000000102000039000000000202041a000000400b00043d000009b20300004100000000003b04350000000403b00039000009b30400004100000000004304350000097e051001970000002401b000390000000000510435000000000100041400000008022002700000097e02200197000000040020008c00001e560000c13d0000000003000031000000200030008c0000002004000039000000000403401900001e830000013d000100000005001d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009b4011001c700020000000b001d25e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001e720000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001e6e0000c13d000000000006004b00001e7f0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001ea80000613d00000001050000290000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000009ae0010009c00001e9b0000213d000000010020019000001e9b0000c13d000000400010043f0000001f0030008c00001e990000a13d00000000010b0433000000000001004b0000000002000039000000010200c039000000000021004b00001e990000c13d000000000001004b00001ea10000613d000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb00010430000009d201000041000000000010043f000000040050043f000009b301000041000000240010043f000009b401000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001eb30000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001eaf0000c13d000000000005004b00001ec00000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb000104300001000000000002000000400b00043d0000000101000039000000000201041a000000ff0020019000001f1b0000c13d000009b50100004100000000001b0435000000000100041400000008022002700000097e02200197000000040020008c00001ed80000c13d0000000003000031000000200030008c0000002004000039000000000403401900001f030000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009b6011001c700010000000b001d25e925e40000040f000000010b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001ef30000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001eef0000c13d000000000006004b00001f000000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f000000010020019000001f320000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000009ae0010009c00001f2c0000213d000000010020019000001f2c0000c13d000000400010043f0000001f0030008c00001f190000a13d00000000020b0433000000000002004b0000000003000039000000010300c039000000000032004b00001f190000c13d000000000002004b00001f1c0000c13d000000000001042d0000000001000019000025eb0001043000000000010b00190000004402100039000009b7030000410000000000320435000000240210003900000010030000390000000000320435000009b80200004100000000002104350000000402100039000000200300003900000000003204350000097b0010009c0000097b010080410000004001100210000009b9011001c7000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000001f0530018f0000097d06300198000000400200043d000000000462001900001f3d0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00001f390000c13d000000000005004b00001f4a0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb000104300007000000000002000500000003001d000600000002001d000400000001001d0000000101000039000000000201041a000000400c00043d000009ba0100004100000000001c04350000000401c00039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c00001f660000c13d0000000003000031000000200030008c0000002004000039000000000403401900001f910000013d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c700070000000c001d25e925e40000040f000000070c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c001900001f810000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b00001f7d0000c13d000000000006004b00001f8e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000022b00000613d0000001f01400039000000600110018f000000000bc1001900000000001b004b00000000020000390000000102004039000009ae00b0009c000022a90000213d0000000100200190000022a90000c13d0000004000b0043f0000001f0030008c000022a70000a13d00000000020c04330000097e0020009c000022a70000213d0000000204000039000000000404041a0000004405b00039000009f3060000410000000000650435000009c40500004100000000005b04350000000405b0003900000000004504350000002404b0003900000000000404350000000004000414000000040020008c00001fdc0000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c700070000000b001d25e925e40000040f000000070b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b001900001fca0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b00001fc60000c13d000000000006004b00001fd70000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000022bc0000613d0000001f01400039000000600110018f000000000cb10019000009ae00c0009c000022a90000213d0000004000c0043f000000200030008c000022a70000413d00000000020b0433000700000002001d000000010020003a000023690000413d0000000102000039000000000202041a000009ba0400004100000000004c04350000000404c00039000009c0050000410000000000540435000000000400041400000008022002700000097e02200197000000040020008c0000201f0000613d0000097b00c0009c0000097b0100004100000000010c401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009bc011001c700030000000c001d25e925e40000040f000000030c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c00190000200d0000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b000020090000c13d000000000006004b0000201a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000022c80000613d0000001f01400039000000600110018f0000000001c10019000009ae0010009c000022a90000213d000000400010043f000000200030008c000022a70000413d00000000020c04330000097e0020009c000022a70000213d0000000201000039000000000101041a000200000001001d000009ca010000410000000000100443000300000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000022af0000613d000000000101043b000000000001004b0000000302000029000022a70000613d00000007010000290000000103100039000000400b00043d0000006401b00039000700000003001d00000000003104350000004401b00039000009f3030000410000000000310435000009de0100004100000000001b04350000000404b00039000000020100002900000000001404350000002401b0003900000000000104350000000001000414000000040020008c00010000000b001d000020610000613d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009c8011001c7000300000004001d25e925df0000040f0000000304000029000000010b00002900000060031002700000097b0030019d0000000100200190000022d40000613d000009ae00b0009c000022a90000213d0000004000b0043f0000000101000039000000000201041a000009ba0100004100000000001b0435000009bb010000410000000000140435000000000100041400000008022002700000097e02200197000000040020008c000020740000c13d0000000003000031000000200030008c000000200400003900000000040340190000209e0000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f000000010b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000208e0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000208a0000c13d000000000006004b0000209b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000022e10000613d0000001f01400039000000600110018f0000000001b10019000009ae0010009c000022a90000213d000000400010043f000000200030008c000022a70000413d00000000020b04330000097e0020009c000022a70000213d000009ca010000410000000000100443000300000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000022af0000613d000000000101043b000000000001004b00000005060000290000000302000029000022a70000613d000000400b00043d0000002401b0003900000060030000390000000000310435000009f40100004100000000001b043500000004010000290000097e011001970000000408b00039000400000001001d0000000000180435000000060400002900000000070404330000006401b0003900000000007104350000008401b00039000000000007004b000020d40000613d00000000030000190000002004400039000000000504043300000000015104360000000103300039000000000073004b000020ce0000413d0000000003b10049000000040430008a0000004403b00039000000000043043500000000070604330000000001710436000000000007004b000020e40000613d000000000300001900000000040600190000002004400039000000000504043300000000015104360000000103300039000000000073004b000020de0000413d0000000004000414000000040020008c00020000000b001d000020fd0000613d0000000001b100490000097b0010009c0000097b0100804100000060011002100000097b00b0009c0000097b0300004100000000030b40190000004003300210000000000131019f0000097b0040009c0000097b04008041000000c003400210000000000131019f000300000008001d25e925df0000040f0000000308000029000000020b00002900000060031002700000097b0030019d0000000100200190000022ed0000613d000009ae00b0009c000022a90000213d0000004000b0043f0000000101000039000000000201041a000009ba0100004100000000001b0435000009c0010000410000000000180435000000000100041400000008022002700000097e02200197000000040020008c000021100000c13d0000000003000031000000200030008c000000200400003900000000040340190000213a0000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000212a0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000021260000c13d000000000006004b000021370000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000022fa0000613d0000001f01400039000000600110018f0000000001b10019000009ae0010009c000022a90000213d000000400010043f000000200030008c000022a70000413d00000000020b04330000097e0020009c000022a70000213d0000000201000039000000000101041a000200000001001d000009ca010000410000000000100443000300000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000022af0000613d000000000101043b000000000001004b0000000303000029000022a70000613d000000400b00043d0000006401b00039000000040200002900000000002104350000004401b00039000009cd0200004100000000002104350000002401b0003900000007020000290000000000210435000009ce0100004100000000001b04350000000404b00039000000020100002900000000001404350000000001000414000000040030008c00010000000b001d0000217e0000613d0000097b00b0009c0000097b0200004100000000020b401900000040022002100000097b0010009c0000097b01008041000000c001100210000000000121019f000009c8011001c70000000002030019000400000004001d25e925df0000040f0000000404000029000000010b00002900000060031002700000097b0030019d0000000100200190000023060000613d000009ae00b0009c000022a90000213d0000004000b0043f0000000101000039000000000201041a000009ba0100004100000000001b0435000009c0010000410000000000140435000000000100041400000008022002700000097e02200197000000040020008c000021910000c13d0000000003000031000000200030008c00000020040000390000000004034019000021bb0000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f000000010b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b0019000021ab0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000021a70000c13d000000000006004b000021b80000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000023130000613d0000001f01400039000000600110018f0000000001b10019000009ae0010009c000022a90000213d000000400010043f000000200030008c000022a70000413d00000000020b04330000097e0020009c000022a70000213d0000000201000039000000000101041a000300000001001d000009ca010000410000000000100443000400000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000022af0000613d000000000101043b000000000001004b0000000406000029000022a70000613d000000400b00043d0000006401b00039000000800200003900000000002104350000004401b00039000009df0200004100000000002104350000002401b0003900000007020000290000000000210435000009d00100004100000000001b04350000000407b0003900000003010000290000000000170435000000060500002900000000020504330000008401b000390000000000210435000000a401b00039000000000002004b000021f70000613d00000000030000190000002005500039000000000405043300000000014104360000000103300039000000000023004b000021f10000413d0000000002000414000000040060008c00020000000b001d000022110000613d0000000001b100490000097b0010009c0000097b0100804100000060011002100000097b00b0009c0000097b0300004100000000030b40190000004003300210000000000131019f0000097b0020009c0000097b02008041000000c002200210000000000121019f0000000002060019000600000007001d25e925df0000040f0000000607000029000000020b00002900000060031002700000097b0030019d00000001002001900000231f0000613d000009ae00b0009c000022a90000213d0000004000b0043f0000000101000039000000000201041a000009ba0100004100000000001b0435000009c0010000410000000000170435000000000100041400000008022002700000097e02200197000000040020008c000022240000c13d0000000003000031000000200030008c000000200400003900000000040340190000224e0000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c725e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000223e0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000223a0000c13d000000000006004b0000224b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f00000001002001900000232c0000613d0000001f01400039000000600110018f0000000001b10019000009ae0010009c000022a90000213d000000400010043f000000200030008c000022a70000413d00000000020b04330000097e0020009c000022a70000213d0000000201000039000000000101041a000400000001001d000009ca010000410000000000100443000600000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000022af0000613d000000000101043b000000000001004b00000005050000290000000606000029000022a70000613d000000400700043d0000006401700039000000800200003900000000002104350000004401700039000009f5020000410000000000210435000000240170003900000007020000290000000000210435000009d0010000410000000000170435000000040170003900000004020000290000000000210435000000000205043300000084017000390000000000210435000000a401700039000000000002004b0000228a0000613d00000000030000190000002005500039000000000405043300000000014104360000000103300039000000000023004b000022840000413d0000000002000414000000040060008c000022a20000613d00000000017100490000097b0010009c0000097b0100804100000060011002100000097b0070009c0000097b0300004100000000030740190000004003300210000000000131019f0000097b0020009c0000097b02008041000000c002200210000000000121019f0000000002060019000600000007001d25e925df0000040f000000060700002900000060031002700000097b0030019d00000001002001900000234a0000613d000009ae0070009c000022a90000213d000000400070043f0000000701000029000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb00010430000000000001042f0000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000022b70000c13d000023560000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000022c30000c13d000023560000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000022cf0000c13d000023560000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000022dc0000c13d000023560000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000023370000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000022e80000c13d000023370000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000023370000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000022f50000c13d000023370000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000023370000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023010000c13d000023370000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000230e0000c13d000023560000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000231a0000c13d000023560000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023270000c13d000023560000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000023370000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023330000c13d000000000005004b000023440000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000121019f000025eb000104300000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000023560000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000023520000c13d000000000005004b000023630000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb00010430000009c901000041000000000010043f0000001101000039000000040010043f000009bc01000041000025eb00010430000000400200043d0000002003200039000009bd0400004100000000004304350000002404200039000000000014043500000024010000390000000000120435000009f20020009c0000238f0000813d0000006001200039000000400010043f0000097b0030009c0000097b03008041000000400130021000000000020204330000097b0020009c0000097b020080410000006002200210000000000112019f00000000020004140000097b0020009c0000097b02008041000000c002200210000000000112019f000009bf011001c7000080100200003925e925e40000040f0000000100200190000023950000613d000000000101043b000000000001042d000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb000104300000000001000019000025eb0001043000030000000000020000000101000039000000000201041a000000400c00043d000009ba0100004100000000001c04350000000401c00039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c000023aa0000c13d0000000003000031000000200030008c00000020040000390000000004034019000023d50000013d0000097b00c0009c0000097b0300004100000000030c401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c700030000000c001d25e925e40000040f000000030c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c0019000023c50000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b000023c10000c13d000000000006004b000023d20000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000024b20000613d0000001f01400039000000600110018f000000000bc1001900000000001b004b00000000020000390000000102004039000009ae00b0009c000024ab0000213d0000000100200190000024ab0000c13d0000004000b0043f0000001f0030008c000024a90000a13d00000000020c04330000097e0020009c000024a90000213d0000000204000039000000000404041a0000004405b00039000009f3060000410000000000650435000009c40500004100000000005b04350000000405b0003900000000004504350000002404b0003900000000000404350000000004000414000000040020008c000024200000613d0000097b00b0009c0000097b0100004100000000010b401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009b9011001c700030000000b001d25e925e40000040f000000030b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000240e0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000240a0000c13d000000000006004b0000241b0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000024be0000613d0000001f01400039000000600110018f000000000cb10019000009ae00c0009c000024ab0000213d0000004000c0043f000000200030008c000024a90000413d00000000020b0433000300000002001d000000010020003a000025070000413d0000000102000039000000000202041a000009ba0400004100000000004c04350000000404c00039000009c0050000410000000000540435000000000400041400000008022002700000097e02200197000000040020008c000024630000613d0000097b00c0009c0000097b0100004100000000010c401900000040011002100000097b0040009c0000097b04008041000000c003400210000000000113019f000009bc011001c700020000000c001d25e925e40000040f000000020c00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057c0019000024510000613d000000000801034f00000000090c0019000000008a08043c0000000009a90436000000000059004b0000244d0000c13d000000000006004b0000245e0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000024ca0000613d0000001f01400039000000600110018f0000000001c10019000009ae0010009c000024ab0000213d000000400010043f000000200030008c000024a90000413d00000000020c04330000097e0020009c000024a90000213d0000000201000039000000000101041a000100000001001d000009ca010000410000000000100443000200000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000024b10000613d000000000101043b000000000001004b0000000202000029000024a90000613d00000003010000290000000104100039000000400500043d000000640150003900000000004104350000004401500039000009f3030000410000000000310435000009de010000410000000000150435000000040150003900000001030000290000000000310435000000240150003900000000000104350000000001000414000000040020008c000024a40000613d0000097b0050009c0000097b03000041000000000305401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009c8011001c7000300000004001d000200000005001d25e925df0000040f0000000205000029000000030400002900000060031002700000097b0030019d0000000100200190000024e80000613d000009ae0050009c000024ab0000213d000000400050043f0000000001040019000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb00010430000000000001042f0000001f0530018f0000097d06300198000000400200043d0000000004620019000024d50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024b90000c13d000024d50000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000024d50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024c50000c13d000024d50000013d0000001f0530018f0000097d06300198000000400200043d0000000004620019000024d50000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024d10000c13d000000000005004b000024e20000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000121019f000025eb000104300000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000024f40000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000024f00000c13d000000000005004b000025010000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb00010430000009c901000041000000000010043f0000001101000039000000040010043f000009bc01000041000025eb000104300004000000000002000400000002001d000300000001001d0000000101000039000000000201041a000000400b00043d000009ba0100004100000000001b04350000000401b00039000009c0030000410000000000310435000000000100041400000008022002700000097e02200197000000040020008c000025220000c13d0000000003000031000000200030008c000000200400003900000000040340190000254d0000013d0000097b00b0009c0000097b0300004100000000030b401900000040033002100000097b0010009c0000097b01008041000000c001100210000000000131019f000009bc011001c700020000000b001d25e925e40000040f000000020b00002900000060031002700000097b03300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000000057b00190000253d0000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b000025390000c13d000000000006004b0000254a0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000025b30000613d0000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000009ae0010009c000025ac0000213d0000000100200190000025ac0000c13d000000400010043f0000001f0030008c000025aa0000a13d00000000020b04330000097e0020009c000025aa0000213d0000000201000039000000000101041a000100000001001d000009ca010000410000000000100443000200000002001d000000040020044300000000010004140000097b0010009c0000097b01008041000000c001100210000009cb011001c7000080020200003925e925e40000040f0000000100200190000025b20000613d000000000101043b000000000001004b00000004050000290000000206000029000025aa0000613d000000400700043d0000006401700039000000800200003900000000002104350000004401700039000009df020000410000000000210435000000240170003900000003020000290000000000210435000009d0010000410000000000170435000000040170003900000001020000290000000000210435000000000205043300000084017000390000000000210435000000a401700039000000000002004b0000258e0000613d00000000030000190000002005500039000000000405043300000000014104360000000103300039000000000023004b000025880000413d0000000002000414000000040060008c000025a60000613d00000000017100490000097b0010009c0000097b0100804100000060011002100000097b0070009c0000097b0300004100000000030740190000004003300210000000000131019f0000097b0020009c0000097b02008041000000c002200210000000000121019f0000000002060019000400000007001d25e925df0000040f000000040700002900000060031002700000097b0030019d0000000100200190000025bf0000613d000009ae0070009c000025ac0000213d000000400070043f000000000001042d0000000001000019000025eb00010430000009c901000041000000000010043f0000004101000039000000040010043f000009bc01000041000025eb00010430000000000001042f0000001f0530018f0000097d06300198000000400200043d0000000004620019000025cb0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000025ba0000c13d000025cb0000013d0000097b033001970000001f0530018f0000097d06300198000000400200043d0000000004620019000025cb0000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000025c70000c13d000000000005004b000025d80000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000097b0020009c0000097b020080410000004002200210000000000112019f000025eb00010430000000000001042f000025e2002104210000000102000039000000000001042d0000000002000019000000000001042d000025e7002104230000000102000039000000000001042d0000000002000019000000000001042d000025e900000432000025ea0001042e000025eb0001043000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff00e03ea41631fd55276af9e94c9ecd0f11699bb2ea9c20ef910daf61979d392fcd00000002000000000000000000000000000000400000010000000000000000000000000000000000000000000000000000000000000000000000000088e4f1ca00000000000000000000000000000000000000000000000000000000b76ac0d600000000000000000000000000000000000000000000000000000000ce62bc8b00000000000000000000000000000000000000000000000000000000ed022ebc00000000000000000000000000000000000000000000000000000000ed022ebd00000000000000000000000000000000000000000000000000000000eff65f0100000000000000000000000000000000000000000000000000000000ce62bc8c00000000000000000000000000000000000000000000000000000000dd898b2f00000000000000000000000000000000000000000000000000000000c03ad0bd00000000000000000000000000000000000000000000000000000000c03ad0be00000000000000000000000000000000000000000000000000000000c7c01c4000000000000000000000000000000000000000000000000000000000b76ac0d700000000000000000000000000000000000000000000000000000000be35a45000000000000000000000000000000000000000000000000000000000a16ad7d900000000000000000000000000000000000000000000000000000000acaeb9ff00000000000000000000000000000000000000000000000000000000acaeba0000000000000000000000000000000000000000000000000000000000b6f53a7d00000000000000000000000000000000000000000000000000000000a16ad7da00000000000000000000000000000000000000000000000000000000a485b4cf0000000000000000000000000000000000000000000000000000000088e4f1cb000000000000000000000000000000000000000000000000000000008be4ee19000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000002fb0b8730000000000000000000000000000000000000000000000000000000077278ae7000000000000000000000000000000000000000000000000000000008245e471000000000000000000000000000000000000000000000000000000008245e4720000000000000000000000000000000000000000000000000000000082840eed0000000000000000000000000000000000000000000000000000000077278ae8000000000000000000000000000000000000000000000000000000008129fc1c000000000000000000000000000000000000000000000000000000005c975aba000000000000000000000000000000000000000000000000000000005c975abb000000000000000000000000000000000000000000000000000000005d1ca631000000000000000000000000000000000000000000000000000000002fb0b87400000000000000000000000000000000000000000000000000000000323805e90000000000000000000000000000000000000000000000000000000015be71fe0000000000000000000000000000000000000000000000000000000016c38b3b0000000000000000000000000000000000000000000000000000000016c38b3c00000000000000000000000000000000000000000000000000000000267659e20000000000000000000000000000000000000000000000000000000015be71ff0000000000000000000000000000000000000000000000000000000016783985000000000000000000000000000000000000000000000000000000000035a9ae0000000000000000000000000000000000000000000000000000000006fdde03000000000000000000000000000000000000000000000000000000001328357f000000000000000000000000000000000000000000000000ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff7f8000000000000000000000000000000000000000000000000000000000000000c36dd7ea000000000000000000000000000000000000000000000000000000000df22b4b9fa47094569d1813854946bca111f9d557698e38a6b8f7107ff9b67000000000000000000000000000000000000000440000000000000000000000005c975abb0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000005061757361626c653a207061757365640000000000000000000000000000000008c379a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006400000000000000000000000053e41c1e00000000000000000000000000000000000000000000000000000000a6ece734f20310c441daec80768668ffd0649e14bbd0ab181cf9ad511b7e60de00000000000000000000000000000000000000240000000000000000000000006974656d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffff9f02000000000000000000000000000000000000000000000000000000000000009750ad73d9615445751d3fd0a61d867ae6a6dd1dfb5f65ef07fe835b7d5ca6bd9e7ed7f8e6dcd193d98e2fd5ebd44790ad3072ac13a6c8399c17d661a1faa4bd651689700000000000000000000000000000000000000000000000000000000013dc96b366abf79e927e92b103239e06da01bab72fa98cd3d48eb7fbbf1cfa90a1b9224c0000000000000000000000000000000000000000000000000000000000fdd58e000000000000000000000000000000000000000000000000000000006e73650000000000000000000000000000000000000000000000000000000000506c6179657220646f6573206e6f742068617665206578706f7274206c69636500000000000000000000000000000000000000840000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b830200000200000000000000000000000000000024000000000000000000000000156e29f600000000000000000000000000000000000000000000000000000000326d994cdb81aaccb84aa1f62bae636dc0aaf98ab22f66b0c9224f1edccd7cc90a41b90f00000000000000000000000000000000000000000000000000000000fa75861a3823dd5286f0891f7ddce6cb62e6deee6aa355ff0e641afd829dbdcdad46d3590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000161a64a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000241ecf16d79d0f8dbfb92cbc07fe17840425976cf0667f022fe9877caa831b080000000000000000000000000000000000000044000000800000000000000000ffffffffffffffffffffff0000000000000000000000000000000000000000ffa4b914810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000008000000000000000008a4bcc90000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff07fef63300000000000000000000000000000000000000000000000000000000bfa2ccd200000000000000000000000000000000000000000000000000000000f2c071ca000000000000000000000000000000000000000000000000000000009b29de690000000000000000000000000000000000000000000000000000000050fc4a86286314eb3aa17200f6e9ba0d1cda18b0acbfb54e6d9dd307e46c2d2807b920aa00000000000000000000000000000000000000000000000000000000e81b22ea0000000000000000000000000000000000000000000000000000000002016836a56b71f0d02689e69e326f4f4c1b9057164ef592671cf0d37c8040c0fc425f2263d0df187444b70e47283d622c70181c5baebb1306a01edba1ce184c496d706f72744578706f727453797374656d00000000000000000000000000000dc149f000000000000000000000000000000000000000000000000000000000421683f821a0574472445355be6d2b769119e8515f8376a1d7878523dfdecf7b2361458367e696363fbcc70777d07ebbd2394e89fd0adcaf147faccd1d294d60e95c048700000000000000000000000000000000000000000000000000000000a709fd3aa96d9faf770e44a5aef2f4808a6fe3a5ddf546568f36ad3a3873f31d65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a020000000000000000000000000000000000002000000000000000000000000062e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2585db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa5061757361626c653a206e6f7420706175736564000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000ffffffffffffffa0a2a9f6940e96680af2fe721eb59341cde71d9b7ae61dc834d205d6c59360268e6b20c4540000000000000000000000000000000000000000000000000000000063e9075eadb2b714ec44137cb04a5fdb7680cc60891886d396f63cb0dbafbc9eeb740f3f512277b973abe2c8928f4e6dff818364bba8d913df5d6e71bac94b09
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000074eb92b33f2400eb14f6d6725b14f76078d5e731
-----Decoded View---------------
Arg [0] : gameRegistryAddress (address): 0x74eb92b33f2400EB14F6D6725B14F76078d5E731
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000074eb92b33f2400eb14f6d6725b14f76078d5e731
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.