Source Code
Overview
ETH Balance
0.175 ETH
Token Holdings
More Info
ContractCreator
Multichain Info
N/A
Latest 25 from a total of 916 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Click | 6849189 | 2 hrs ago | IN | 0 ETH | 0.00000399 | ||||
Click | 6838929 | 7 hrs ago | IN | 0 ETH | 0.00000689 | ||||
Click | 6838801 | 7 hrs ago | IN | 0 ETH | 0.0000026 | ||||
Click | 6838650 | 7 hrs ago | IN | 0 ETH | 0.00000886 | ||||
Click | 6832482 | 9 hrs ago | IN | 0 ETH | 0.00000324 | ||||
Registration | 6832476 | 9 hrs ago | IN | 0 ETH | 0.0001054 | ||||
Click | 6830790 | 10 hrs ago | IN | 0 ETH | 0.00000262 | ||||
Click | 6830739 | 10 hrs ago | IN | 0 ETH | 0.00000262 | ||||
Click | 6830654 | 10 hrs ago | IN | 0 ETH | 0.00000336 | ||||
Claim Referral R... | 6830613 | 10 hrs ago | IN | 0 ETH | 0.00001201 | ||||
Click | 6806719 | 21 hrs ago | IN | 0 ETH | 0.0000047 | ||||
Click | 6597939 | 4 days ago | IN | 0 ETH | 0.00000479 | ||||
Click | 6597828 | 4 days ago | IN | 0 ETH | 0.00000335 | ||||
Click | 6597804 | 4 days ago | IN | 0 ETH | 0.00000335 | ||||
Click | 6597526 | 4 days ago | IN | 0 ETH | 0.00000475 | ||||
Click | 6597420 | 4 days ago | IN | 0 ETH | 0.00000472 | ||||
Click | 6540635 | 5 days ago | IN | 0 ETH | 0.00000451 | ||||
Click | 6540513 | 5 days ago | IN | 0 ETH | 0.00000451 | ||||
Click | 6536643 | 5 days ago | IN | 0 ETH | 0.00000451 | ||||
Click | 6536401 | 5 days ago | IN | 0 ETH | 0.00000451 | ||||
Registration | 6469057 | 6 days ago | IN | 0 ETH | 0.00000385 | ||||
Click | 6459392 | 6 days ago | IN | 0 ETH | 0.00000509 | ||||
Click | 6459376 | 6 days ago | IN | 0 ETH | 0.00000452 | ||||
Click | 6415215 | 7 days ago | IN | 0 ETH | 0.00000458 | ||||
Click | 6407292 | 7 days ago | IN | 0 ETH | 0.00000326 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6849189 | 2 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838929 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838801 | 7 hrs ago | 0 ETH | ||||
6838650 | 7 hrs ago | 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:
AbstractPizza
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/utils/ReentrancyGuard.sol"; import "@openzeppelin/contracts/utils/Pausable.sol"; import "@openzeppelin/contracts/token/ERC1155/IERC1155.sol"; import "@openzeppelin/contracts/token/ERC721/IERC721.sol"; contract AbstractPizza is Ownable, ReentrancyGuard, Pausable { uint256 private constant BASE_POINTS_PER_CLICK = 100; uint256 private constant REFERRAL_LEVEL1_PERCENT = 20; uint256 private constant REFERRAL_LEVEL2_PERCENT = 5; uint256 private constant TOP_USERS_LIMIT = 50; uint256 private constant MAX_BATTLE_PASSES = 3; uint256 private constant BATTLE_PASS_BONUS_PERCENT = 20; uint256 public autoClickerDuration = 1 minutes; struct UserData { uint40 lastClickTime; uint64 points; uint64 totalReferralPoints; uint16 referralCount; uint8 battlePassCount; bool isRegistered; } struct ReferralRewards { uint64 pendingPoints; bool hasRewards; } struct UserScore { address userAddress; uint256 points; } struct AutoClicker { uint256 endTimestamp; bool claimed; } struct NFTBonus { uint256 id; string name; address contractAddress; uint256 tokenId; uint256 bonusPercent; bool isActive; bool isERC721; } struct NFTBonusWithBalance { uint256 id; string name; address contractAddress; uint256 tokenId; uint256 bonusPercent; bool hasNFT; } uint256 public battlePassPrice; uint256 public clickCooldown = 1 minutes; uint256 public autoClickerPrice; uint256 private nftBonusIdCounter; NFTBonus[] public nftBonuses; mapping(address => mapping(uint256 => uint256)) private nftBonusIndex; mapping(address => uint256) private erc721BonusIndex; mapping(address => UserData) private userData; mapping(address => address) private referralLevel1; mapping(address => address) private referralLevel2; mapping(address => ReferralRewards) private referralRewards; mapping(address => AutoClicker) private autoClicker; address[] private registeredUsersList; event UserRegistered(address indexed user, address indexed referrer1, address indexed referrer2); event BattlePassPurchased(address indexed user, uint8 battlePassCount); event BattlePassPriceChanged(uint256 newPrice); event FundsWithdrawn(address indexed owner, uint256 amount); event PointsEarned(address indexed user, uint256 amount); event ReferralPointsEarned(address indexed referral, address indexed user, uint256 amount, uint256 level); event ReferralRewardsClaimed(address indexed user, uint256 amount); event ClickCooldownChanged(uint256 newCooldown); event AutoClickerPurchased(address indexed user, uint256 endTimestamp); event NFTBonusAdded(address indexed contractAddress, uint256 indexed tokenId, uint256 bonusPercent); event NFTBonusRemoved(address indexed contractAddress, uint256 indexed tokenId); event NFTBonusUpdated(address indexed contractAddress, uint256 indexed tokenId, uint256 newBonusPercent); event AutoClickerDurationChanged(uint256 newDuration); constructor(uint256 initialPrice, uint256 initialAutoClickerPrice) Ownable(msg.sender) { battlePassPrice = initialPrice; autoClickerPrice = initialAutoClickerPrice; } function pause() external onlyOwner { _pause(); } function unpause() external onlyOwner { _unpause(); } function registration(address referrer1) external whenNotPaused { require(!userData[msg.sender].isRegistered, "User already registered"); if (referrer1 != address(0)) { require(referrer1 != msg.sender, "Cannot refer yourself"); require(userData[referrer1].isRegistered, "Referrer not registered"); referralLevel1[msg.sender] = referrer1; userData[referrer1].referralCount++; address potentialReferrer2 = referralLevel1[referrer1]; if (potentialReferrer2 != address(0) && potentialReferrer2 != msg.sender && potentialReferrer2 != referrer1) { referralLevel2[msg.sender] = potentialReferrer2; userData[potentialReferrer2].referralCount++; } } userData[msg.sender].isRegistered = true; registeredUsersList.push(msg.sender); emit UserRegistered(msg.sender, referrer1, referralLevel2[msg.sender]); } function setNFTBonus( address contractAddress, uint256 tokenId, uint256 bonusPercent, string memory name ) external onlyOwner { require(contractAddress != address(0), "Invalid contract address"); require(bonusPercent > 0, "Bonus percent must be greater than 0"); require(bytes(name).length > 0, "Name cannot be empty"); if (tokenId == 0) { uint256 index = erc721BonusIndex[contractAddress]; if (index > 0) { nftBonuses[index - 1].bonusPercent = bonusPercent; nftBonuses[index - 1].name = name; emit NFTBonusUpdated(contractAddress, 0, bonusPercent); } else { nftBonuses.push(NFTBonus( nftBonusIdCounter++, name, contractAddress, 0, bonusPercent, true, true )); erc721BonusIndex[contractAddress] = nftBonuses.length; emit NFTBonusAdded(contractAddress, 0, bonusPercent); } } else { uint256 index = nftBonusIndex[contractAddress][tokenId]; if (index > 0) { nftBonuses[index - 1].bonusPercent = bonusPercent; nftBonuses[index - 1].name = name; emit NFTBonusUpdated(contractAddress, tokenId, bonusPercent); } else { nftBonuses.push(NFTBonus( nftBonusIdCounter++, name, contractAddress, tokenId, bonusPercent, true, false )); nftBonusIndex[contractAddress][tokenId] = nftBonuses.length; emit NFTBonusAdded(contractAddress, tokenId, bonusPercent); } } } function removeNFTBonus(address contractAddress, uint256 tokenId) external onlyOwner { uint256 index; if (tokenId == 0) { index = erc721BonusIndex[contractAddress]; require(index > 0, "ERC721 bonus not found"); delete erc721BonusIndex[contractAddress]; } else { index = nftBonusIndex[contractAddress][tokenId]; require(index > 0, "ERC1155 bonus not found"); delete nftBonusIndex[contractAddress][tokenId]; } nftBonuses[index - 1].isActive = false; emit NFTBonusRemoved(contractAddress, tokenId); } function getPointsMultiplier(uint8 battlePassCount, address user) internal view returns (uint256) { uint256 multiplier = 100 + (battlePassCount * BATTLE_PASS_BONUS_PERCENT); for (uint256 i = 0; i < nftBonuses.length; i++) { if (nftBonuses[i].isActive) { bool hasNFT; if (nftBonuses[i].isERC721) { IERC721 erc721Contract = IERC721(nftBonuses[i].contractAddress); hasNFT = erc721Contract.balanceOf(user) > 0; } else { IERC1155 erc1155Contract = IERC1155(nftBonuses[i].contractAddress); hasNFT = erc1155Contract.balanceOf(user, nftBonuses[i].tokenId) > 0; } if (hasNFT) { multiplier += nftBonuses[i].bonusPercent; break; } } } return multiplier; } function click() external whenNotPaused nonReentrant { UserData storage user = userData[msg.sender]; require(user.isRegistered, "User not registered"); if (autoClicker[msg.sender].endTimestamp != 0 && !autoClicker[msg.sender].claimed) { if (block.timestamp < autoClicker[msg.sender].endTimestamp) { revert("Auto-clicker active, wait for expiration"); } else { uint256 numClicks = autoClickerDuration / clickCooldown; uint256 autoPoints = (numClicks * BASE_POINTS_PER_CLICK * getPointsMultiplier(user.battlePassCount, msg.sender)) / 100; user.points += uint64(autoPoints); user.lastClickTime = uint40(block.timestamp); autoClicker[msg.sender].claimed = true; autoClicker[msg.sender].endTimestamp = 0; emit PointsEarned(msg.sender, autoPoints); return; } } require(block.timestamp >= user.lastClickTime + clickCooldown, "Cooldown period not finished"); uint256 pointsToAdd = (BASE_POINTS_PER_CLICK * getPointsMultiplier(user.battlePassCount, msg.sender)) / 100; user.points += uint64(pointsToAdd); user.lastClickTime = uint40(block.timestamp); emit PointsEarned(msg.sender, pointsToAdd); address ref1 = referralLevel1[msg.sender]; if (ref1 != address(0)) { uint256 ref1Points = (pointsToAdd * REFERRAL_LEVEL1_PERCENT) / 100; referralRewards[ref1].pendingPoints += uint64(ref1Points); referralRewards[ref1].hasRewards = true; emit ReferralPointsEarned(ref1, msg.sender, ref1Points, 1); } address ref2 = referralLevel2[msg.sender]; if (ref2 != address(0)) { uint256 ref2Points = (pointsToAdd * REFERRAL_LEVEL2_PERCENT) / 100; referralRewards[ref2].pendingPoints += uint64(ref2Points); referralRewards[ref2].hasRewards = true; emit ReferralPointsEarned(ref2, msg.sender, ref2Points, 2); } } function claimReferralRewards() external whenNotPaused { ReferralRewards storage rewards = referralRewards[msg.sender]; require(rewards.hasRewards, "No rewards to claim"); require(rewards.pendingPoints > 0, "No points to claim"); uint256 pointsToClaim = rewards.pendingPoints; rewards.pendingPoints = 0; rewards.hasRewards = false; UserData storage user = userData[msg.sender]; user.points += uint64(pointsToClaim); user.totalReferralPoints += uint64(pointsToClaim); emit ReferralRewardsClaimed(msg.sender, pointsToClaim); } function canClick(address user) public view returns (uint256) { UserData memory userInfo = userData[user]; if (!userInfo.isRegistered) return 0; uint256 nextClickTime = uint256(userInfo.lastClickTime) + clickCooldown; return nextClickTime > block.timestamp ? nextClickTime : 0; } function getUserStats(address user) external view returns ( uint256 points, uint256 referrals, uint8 battlePassCount, bool isRegistered, uint256 pendingReferralRewards, uint256 totalReferralPoints, uint256[] memory activeNFTBonusIds ) { UserData memory userInfo = userData[user]; uint256 activeCount = 0; for (uint256 i = 0; i < nftBonuses.length; i++) { if (nftBonuses[i].isActive) { bool hasNFT; if (nftBonuses[i].isERC721) { IERC721 erc721Contract = IERC721(nftBonuses[i].contractAddress); hasNFT = erc721Contract.balanceOf(user) > 0; } else { IERC1155 erc1155Contract = IERC1155(nftBonuses[i].contractAddress); hasNFT = erc1155Contract.balanceOf(user, nftBonuses[i].tokenId) > 0; } if (hasNFT) { activeCount++; } } } activeNFTBonusIds = new uint256[](activeCount); uint256 j = 0; for (uint256 i = 0; i < nftBonuses.length; i++) { if (nftBonuses[i].isActive) { bool hasNFT; if (nftBonuses[i].isERC721) { IERC721 erc721Contract = IERC721(nftBonuses[i].contractAddress); hasNFT = erc721Contract.balanceOf(user) > 0; } else { IERC1155 erc1155Contract = IERC1155(nftBonuses[i].contractAddress); hasNFT = erc1155Contract.balanceOf(user, nftBonuses[i].tokenId) > 0; } if (hasNFT) { activeNFTBonusIds[j] = nftBonuses[i].id; j++; } } } return ( userInfo.points, userInfo.referralCount, userInfo.battlePassCount, userInfo.isRegistered, referralRewards[user].pendingPoints, userInfo.totalReferralPoints, activeNFTBonusIds ); } function getAllUsersStats() external view returns ( address[] memory users, uint256[] memory points, uint256[] memory referralsCount ) { uint256 totalUsers = registeredUsersList.length; UserScore[] memory topScores = new UserScore[](TOP_USERS_LIMIT); uint256 count = 0; for (uint256 i = 0; i < totalUsers; i++) { address userAddr = registeredUsersList[i]; uint256 userPoints = userData[userAddr].points; if (count < TOP_USERS_LIMIT) { topScores[count] = UserScore(userAddr, userPoints); count++; for (uint256 j = count - 1; j > 0; j--) { if (topScores[j].points > topScores[j - 1].points) { UserScore memory temp = topScores[j - 1]; topScores[j - 1] = topScores[j]; topScores[j] = temp; } else { break; } } } else { if (userPoints > topScores[count - 1].points) { topScores[count - 1] = UserScore(userAddr, userPoints); for (uint256 j = count - 1; j > 0; j--) { if (topScores[j].points > topScores[j - 1].points) { UserScore memory temp = topScores[j - 1]; topScores[j - 1] = topScores[j]; topScores[j] = temp; } else { break; } } } } } users = new address[](count); points = new uint256[](count); referralsCount = new uint256[](count); for (uint256 i = 0; i < count; i++) { users[i] = topScores[i].userAddress; points[i] = topScores[i].points; referralsCount[i] = userData[topScores[i].userAddress].referralCount; } return (users, points, referralsCount); } function getActiveNFTBonuses() external view returns ( uint256[] memory ids, string[] memory names, address[] memory contracts, uint256[] memory tokenIds, uint256[] memory bonusPercents ) { uint256 activeCount = 0; for (uint256 i = 0; i < nftBonuses.length; i++) { if (nftBonuses[i].isActive) { activeCount++; } } ids = new uint256[](activeCount); names = new string[](activeCount); contracts = new address[](activeCount); tokenIds = new uint256[](activeCount); bonusPercents = new uint256[](activeCount); uint256 j = 0; for (uint256 i = 0; i < nftBonuses.length; i++) { if (nftBonuses[i].isActive) { ids[j] = nftBonuses[i].id; names[j] = nftBonuses[i].name; contracts[j] = nftBonuses[i].contractAddress; tokenIds[j] = nftBonuses[i].isERC721 ? 0 : nftBonuses[i].tokenId; bonusPercents[j] = nftBonuses[i].bonusPercent; j++; } } } function getUserReferrals(address user) external view returns ( address referrer1, address referrer2 ) { return (referralLevel1[user], referralLevel2[user]); } function checkRegistration(address user) external view returns (bool) { return userData[user].isRegistered; } function buyBattlePass() external payable whenNotPaused nonReentrant { UserData storage user = userData[msg.sender]; require(user.isRegistered, "User not registered"); require(user.battlePassCount < MAX_BATTLE_PASSES, "Max battle passes reached"); require(msg.value >= battlePassPrice, "Incorrect payment amount"); user.battlePassCount++; emit BattlePassPurchased(msg.sender, user.battlePassCount); } function checkBattlePass(address user) external view returns (uint8) { return userData[user].battlePassCount; } function setBattlePassPrice(uint256 newPrice) external onlyOwner { battlePassPrice = newPrice; emit BattlePassPriceChanged(newPrice); } function setClickCooldown(uint256 newCooldown) external onlyOwner { require(newCooldown > 0, "Cooldown must be greater than 0"); clickCooldown = newCooldown; emit ClickCooldownChanged(newCooldown); } function withdrawFunds() external onlyOwner nonReentrant { uint256 balance = address(this).balance; require(balance > 0, "No funds to withdraw"); (bool success, ) = owner().call{value: balance}(""); require(success, "Transfer failed"); emit FundsWithdrawn(owner(), balance); } function buyAutoClicker() external payable whenNotPaused nonReentrant { require(msg.value >= autoClickerPrice, "Insufficient funds for auto-clicker"); require(autoClicker[msg.sender].endTimestamp == 0 || autoClicker[msg.sender].claimed, "Auto-clicker already active"); autoClicker[msg.sender].endTimestamp = block.timestamp + autoClickerDuration; autoClicker[msg.sender].claimed = false; emit AutoClickerPurchased(msg.sender, autoClicker[msg.sender].endTimestamp); } function getAutoClickerStatus(address user) external view returns (uint256, bool) { if(autoClicker[user].endTimestamp == 0) { return (0, true); } return (autoClicker[user].endTimestamp, autoClicker[user].claimed); } function setAutoClickerPrice(uint256 newPrice) external onlyOwner { autoClickerPrice = newPrice; } function setAutoClickerDuration(uint256 newDuration) external onlyOwner { require(newDuration > 0, "Duration must be greater than 0"); autoClickerDuration = newDuration; emit AutoClickerDurationChanged(newDuration); } function getAutoClickerDuration() external view returns (uint256) { return autoClickerDuration; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (utils/Pausable.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Contract module which allows children to implement an emergency stop * mechanism that can be triggered by an authorized account. * * This module is used through inheritance. It will make available the * modifiers `whenNotPaused` and `whenPaused`, which can be applied to * the functions of your contract. Note that they will not be pausable by * simply including this module, only once the modifiers are put in place. */ abstract contract Pausable is Context { bool private _paused; /** * @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); /** * @dev The operation failed because the contract is paused. */ error EnforcedPause(); /** * @dev The operation failed because the contract is not paused. */ error ExpectedPause(); /** * @dev Initializes the contract in unpaused state. */ constructor() { _paused = false; } /** * @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(); _; } /** * @dev Returns true if the contract is paused, and false otherwise. */ function paused() public view virtual returns (bool) { return _paused; } /** * @dev Throws if the contract is paused. */ function _requireNotPaused() internal view virtual { if (paused()) { revert EnforcedPause(); } } /** * @dev Throws if the contract is not paused. */ function _requirePaused() internal view virtual { if (!paused()) { revert ExpectedPause(); } } /** * @dev Triggers stopped state. * * Requirements: * * - The contract must not be paused. */ function _pause() internal virtual whenNotPaused { _paused = true; emit Paused(_msgSender()); } /** * @dev Returns to normal state. * * Requirements: * * - The contract must be paused. */ function _unpause() internal virtual whenPaused { _paused = false; emit Unpaused(_msgSender()); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC721/IERC721.sol) pragma solidity ^0.8.20; import {IERC165} from "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC-721 compliant contract. */ interface IERC721 is IERC165 { /** * @dev Emitted when `tokenId` token is transferred from `from` to `to`. */ event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. */ event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); /** * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. */ event ApprovalForAll(address indexed owner, address indexed operator, bool approved); /** * @dev Returns the number of tokens in ``owner``'s account. */ function balanceOf(address owner) external view returns (uint256 balance); /** * @dev Returns the owner of the `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function ownerOf(uint256 tokenId) external view returns (address owner); /** * @dev Safely transfers `tokenId` token from `from` to `to`. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon * a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId, bytes calldata data) external; /** * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients * are aware of the ERC-721 protocol to prevent tokens from being forever locked. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must exist and be owned by `from`. * - If the caller is not `from`, it must have been allowed to move this token by either {approve} or * {setApprovalForAll}. * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon * a safe transfer. * * Emits a {Transfer} event. */ function safeTransferFrom(address from, address to, uint256 tokenId) external; /** * @dev Transfers `tokenId` token from `from` to `to`. * * WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC-721 * or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must * understand this adds an external call which potentially creates a reentrancy vulnerability. * * Requirements: * * - `from` cannot be the zero address. * - `to` cannot be the zero address. * - `tokenId` token must be owned by `from`. * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. * * Emits a {Transfer} event. */ function transferFrom(address from, address to, uint256 tokenId) external; /** * @dev Gives permission to `to` to transfer `tokenId` token to another account. * The approval is cleared when the token is transferred. * * Only a single account can be approved at a time, so approving the zero address clears previous approvals. * * Requirements: * * - The caller must own the token or be an approved operator. * - `tokenId` must exist. * * Emits an {Approval} event. */ function approve(address to, uint256 tokenId) external; /** * @dev Approve or remove `operator` as an operator for the caller. * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. * * Requirements: * * - The `operator` cannot be the address zero. * * Emits an {ApprovalForAll} event. */ function setApprovalForAll(address operator, bool approved) external; /** * @dev Returns the account approved for `tokenId` token. * * Requirements: * * - `tokenId` must exist. */ function getApproved(uint256 tokenId) external view returns (address operator); /** * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. * * See {setApprovalForAll} */ function isApprovedForAll(address owner, address operator) external view returns (bool); }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "../utils/Context.sol"; /** * @dev Contract module which provides a basic access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is set to the address provided by the deployer. This can * later be changed with {transferOwnership}. * * This module is used through inheritance. It will make available the modifier * `onlyOwner`, which can be applied to your functions to restrict their use to * the owner. */ abstract contract Ownable is Context { address private _owner; /** * @dev The caller account is not authorized to perform an operation. */ error OwnableUnauthorizedAccount(address account); /** * @dev The owner is not a valid owner account. (eg. `address(0)`) */ error OwnableInvalidOwner(address owner); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the address provided by the deployer as the initial owner. */ constructor(address initialOwner) { if (initialOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(initialOwner); } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { if (owner() != _msgSender()) { revert OwnableUnauthorizedAccount(_msgSender()); } } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { if (newOwner == address(0)) { revert OwnableInvalidOwner(address(0)); } _transferOwnership(newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual { address oldOwner = _owner; _owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (utils/ReentrancyGuard.sol) pragma solidity ^0.8.20; /** * @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 EIP-1153 (transient storage) is available on the chain you're deploying at, * consider using {ReentrancyGuardTransient} instead. * * 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; /** * @dev Unauthorized reentrant call. */ error ReentrancyGuardReentrantCall(); 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 if (_status == ENTERED) { revert ReentrancyGuardReentrantCall(); } // 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; } /** * @dev Returns true if the reentrancy guard is currently set to "entered", which indicates there is a * `nonReentrant` function in the call stack. */ function _reentrancyGuardEntered() internal view returns (bool) { return _status == ENTERED; } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (token/ERC1155/IERC1155.sol) pragma solidity ^0.8.20; import {IERC165} from "../../utils/introspection/IERC165.sol"; /** * @dev Required interface of an ERC-1155 compliant contract, as defined in the * https://eips.ethereum.org/EIPS/eip-1155[ERC]. */ interface IERC1155 is IERC165 { /** * @dev Emitted when `value` amount of tokens of 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 value of tokens of token type `id` owned by `account`. */ 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 zero address. */ 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 a `value` amount of tokens of type `id` from `from` to `to`. * * WARNING: This function can potentially allow a reentrancy attack when transferring tokens * to an untrusted contract, when invoking {onERC1155Received} on the receiver. * Ensure to follow the checks-effects-interactions pattern and consider employing * reentrancy guards when interacting with untrusted contracts. * * 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 `value` 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 value, bytes calldata data) external; /** * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. * * WARNING: This function can potentially allow a reentrancy attack when transferring tokens * to an untrusted contract, when invoking {onERC1155BatchReceived} on the receiver. * Ensure to follow the checks-effects-interactions pattern and consider employing * reentrancy guards when interacting with untrusted contracts. * * Emits either a {TransferSingle} or a {TransferBatch} event, depending on the length of the array arguments. * * Requirements: * * - `ids` and `values` 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 values, bytes calldata data ) external; }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol) pragma solidity ^0.8.20; /** * @dev Interface of the ERC-165 standard, as defined in the * https://eips.ethereum.org/EIPS/eip-165[ERC]. * * 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[ERC 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 // OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol) pragma solidity ^0.8.20; /** * @dev Provides information about the current execution context, including the * sender of the transaction and its data. While these are generally available * via msg.sender and msg.data, they should not be accessed in such a direct * manner, since when dealing with meta-transactions the account sending and * paying for execution may not be the actual sender (as far as an application * is concerned). * * This contract is only required for intermediate, library-like contracts. */ abstract contract Context { function _msgSender() internal view virtual returns (address) { return msg.sender; } function _msgData() internal view virtual returns (bytes calldata) { return msg.data; } function _contextSuffixLength() internal view virtual returns (uint256) { return 0; } }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
[{"inputs":[{"internalType":"uint256","name":"initialPrice","type":"uint256"},{"internalType":"uint256","name":"initialAutoClickerPrice","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"AutoClickerDurationChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"endTimestamp","type":"uint256"}],"name":"AutoClickerPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"BattlePassPriceChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint8","name":"battlePassCount","type":"uint8"}],"name":"BattlePassPurchased","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newCooldown","type":"uint256"}],"name":"ClickCooldownChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contractAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"bonusPercent","type":"uint256"}],"name":"NFTBonusAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contractAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"NFTBonusRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"contractAddress","type":"address"},{"indexed":true,"internalType":"uint256","name":"tokenId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newBonusPercent","type":"uint256"}],"name":"NFTBonusUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"PointsEarned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"referral","type":"address"},{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"}],"name":"ReferralPointsEarned","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReferralRewardsClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"referrer1","type":"address"},{"indexed":true,"internalType":"address","name":"referrer2","type":"address"}],"name":"UserRegistered","type":"event"},{"inputs":[],"name":"autoClickerDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"autoClickerPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"battlePassPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyAutoClicker","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"buyBattlePass","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"canClick","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkBattlePass","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"checkRegistration","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimReferralRewards","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"click","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clickCooldown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getActiveNFTBonuses","outputs":[{"internalType":"uint256[]","name":"ids","type":"uint256[]"},{"internalType":"string[]","name":"names","type":"string[]"},{"internalType":"address[]","name":"contracts","type":"address[]"},{"internalType":"uint256[]","name":"tokenIds","type":"uint256[]"},{"internalType":"uint256[]","name":"bonusPercents","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllUsersStats","outputs":[{"internalType":"address[]","name":"users","type":"address[]"},{"internalType":"uint256[]","name":"points","type":"uint256[]"},{"internalType":"uint256[]","name":"referralsCount","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAutoClickerDuration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getAutoClickerStatus","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserReferrals","outputs":[{"internalType":"address","name":"referrer1","type":"address"},{"internalType":"address","name":"referrer2","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getUserStats","outputs":[{"internalType":"uint256","name":"points","type":"uint256"},{"internalType":"uint256","name":"referrals","type":"uint256"},{"internalType":"uint8","name":"battlePassCount","type":"uint8"},{"internalType":"bool","name":"isRegistered","type":"bool"},{"internalType":"uint256","name":"pendingReferralRewards","type":"uint256"},{"internalType":"uint256","name":"totalReferralPoints","type":"uint256"},{"internalType":"uint256[]","name":"activeNFTBonusIds","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"nftBonuses","outputs":[{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"bonusPercent","type":"uint256"},{"internalType":"bool","name":"isActive","type":"bool"},{"internalType":"bool","name":"isERC721","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrer1","type":"address"}],"name":"registration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"removeNFTBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newDuration","type":"uint256"}],"name":"setAutoClickerDuration","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setAutoClickerPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPrice","type":"uint256"}],"name":"setBattlePassPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newCooldown","type":"uint256"}],"name":"setClickCooldown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"tokenId","type":"uint256"},{"internalType":"uint256","name":"bonusPercent","type":"uint256"},{"internalType":"string","name":"name","type":"string"}],"name":"setNFTBonus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b000000000000000000000000000000000000000000000000000000000000000001000521d37bb49d5a50d4eef23c9dda9dd2635f0b06dbb707efbb0c7307510c000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000071afd498d0000
Deployed Bytecode
0x0004000000000002001100000000000200000060031002700000047f0030019d0000047f03300197000300000031035500020000000103550000000100200190000000750000c13d0000008002000039000000400020043f000000040030008c0000101f0000413d000000000201043b000000e002200270000004890020009c000000a20000213d000004a10020009c000000b10000213d000004ad0020009c0000014c0000213d000004b30020009c000001ee0000213d000004b60020009c0000036d0000613d000004b70020009c0000101f0000c13d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b001100000001001d000004830010009c0000101f0000213d0000000201000039000000000101041a000000ff00100190000004d70000c13d0000000001000411000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a000004ba001001980000078d0000c13d0000001101000029000000000001004b0000087d0000c13d0000000001000411000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a0000050f0220019700000510022001c7000000000021041b0000001002000039000000000102041a000004be0010009c000006240000213d0000000103100039000000000032041b000004bc0110009a000000000201041a00000482022001970000000003000411000000000232019f000000000021041b000000000030043f0000000d01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a00000000020004140000047f0020009c0000047f02008041000000c002200210000004830710019700000484012001c70000800d020000390000000403000039000005110400004100000000050004110000001106000029000007020000013d0000000002000416000000000002004b0000101f0000c13d0000001f0230003900000480022001970000008002200039000000400020043f0000001f0430018f00000481053001980000008002500039000000860000613d0000008006000039000000000701034f000000007807043c0000000006860436000000000026004b000000820000c13d000000000004004b000000930000613d000000000151034f0000000304400210000000000502043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000120435000000400030008c0000101f0000413d0000000006000411000000000006004b000001000000c13d000000400100043d00000487020000410000000000210435000000040210003900000000000204350000047f0010009c0000047f01008041000000400110021000000488011001c7000011f9000104300000048a0020009c0000012a0000213d000004960020009c000001a40000213d0000049c0020009c000001f30000213d0000049f0020009c000003890000613d000004a00020009c0000101f0000c13d0000000001000416000000000001004b0000101f0000c13d0000000601000039000003690000013d000004a20020009c000001c50000213d000004a80020009c000002450000213d000004ab0020009c000003900000613d000004ac0020009c0000101f0000c13d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b0000000802000039000000000202041a000000000021004b0000101f0000813d11f710960000040f0000000002010019000d00000001001d000000000101041a000e00000001001d000000010120003911f710a40000040f0000000d030000290000000202300039000000000202041a001100000002001d0000000302300039000000000202041a001000000002001d0000000402300039000000000202041a000f00000002001d0000000502300039000000000202041a000d00000002001d000000e002000039000000400400043d000c00000004001d000000200340003900000000002304350000000e020000290000000000240435000000e00240003911f710f10000040f0000000d050000290000ff00005001900000000002000039000000010200c0390000000c04000029000000c0034000390000000000230435000000ff005001900000000002000039000000010200c039000000a003400039000000000023043500000080024000390000000f030000290000000000320435000000600240003900000010030000290000000000320435000000110200002900000483022001970000004003400039000000000023043500000000014100490000047f0010009c0000047f010080410000047f0040009c0000047f0400804100000060011002100000004002400210000000000121019f000011f80001042e000000a00100043d001100000001001d000000800100043d001000000001001d000000000100041a0000048202100197000000000262019f000000000020041b000000000200041400000483051001970000047f0020009c0000047f02008041000000c00120021000000484011001c70000800d020000390000000303000039000004850400004111f711ed0000040f00000001002001900000101f0000613d0000000101000039000000000011041b0000000201000039000000000201041a0000051b02200197000000000021041b0000003c010000390000000302000039000000000012041b0000000502000039000000000012041b00000004010000390000001002000029000000000021041b00000006010000390000001102000029000000000021041b0000002001000039000001000010044300000120000004430000048601000041000011f80001042e0000048b0020009c000001d00000213d000004910020009c000002590000213d000004940020009c000003b60000613d000004950020009c0000101f0000c13d0000000201000039000000000201041a000000ff00200190000004d70000c13d0000000102000039000000000302041a000000020030008c000004d30000613d000000000012041b0000000601000039000000000101041a0000000002000416000000000012004b000006c30000813d000004c301000041000000800010043f0000002001000039000000840010043f0000002301000039000000a40010043f000004d201000041000000c40010043f000004d301000041000000e40010043f000004d401000041000011f900010430000004ae0020009c0000026a0000213d000004b10020009c000003be0000613d000004b20020009c0000101f0000c13d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000004830010009c0000101f0000213d000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000400200043d000004f20020009c000006240000213d000000000101043b000000c003200039000000400030043f000000000101041a000000a003200039000004ba001001980000000004000039000000010400c0390000000000430435000000b803100270000000ff0330018f00000080042000390000000000340435000000a8031002700000ffff0330018f000000600420003900000000003404350000006803100270000004be03300197000000400420003900000000003404350000002803100270000004be0330019700000020042000390000000000340435000004df03100197000000000032043500000000020000190000019d0000613d0000000501000039000000000101041a001100000003001d001000000001001d000000000031001a000005fe0000413d000004cf01000041000000000010044300000000010004140000047f0010009c0000047f01008041000000c001100210000004d0011001c70000800b0200003911f711f20000040f00000001002001900000092f0000613d00000010030000290000001102300029000000000101043b000000000012004b000000000200a019000000400100043d00000000002104350000047f0010009c0000047f01008041000000400110021000000506011001c7000011f80001042e000004970020009c0000029b0000213d0000049a0020009c000003d20000613d0000049b0020009c0000101f0000c13d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000004830010009c0000101f0000213d000000000010043f0000000f01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000201043b000000000102041a000000000001004b000007070000c13d00000001020000390000070c0000013d000004a30020009c000002a40000213d000004a60020009c000003eb0000613d000004a70020009c0000101f0000c13d0000000001000416000000000001004b0000101f0000c13d0000000401000039000003690000013d0000048c0020009c0000034c0000213d0000048f0020009c000004870000613d000004900020009c0000101f0000c13d0000000001000416000000000001004b0000101f0000c13d0000001001000039000000000101041a000e00000001001d0000003201000039000000800010043f000006e00200003900000000010000190000004003200039000000400030043f000000200320003900000000000304350000000000020435000000a0031000390000000000230435000006200010008c000005820000813d0000002001100039000000400200043d000004bf0020009c000001e00000a13d000006240000013d000004b40020009c0000049f0000613d000004b50020009c000003650000613d0000101f0000013d0000049d0020009c000004b70000613d0000049e0020009c0000101f0000c13d0000000001000416000000000001004b0000101f0000c13d0000000201000039000000000201041a000000ff00200190000004d70000c13d0000000103000039000000000203041a000000020020008c000004d30000613d000000000013041b0000000001000411000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a000004ba00200198000006160000613d000b00000002001d000c00000001001d0000000001000411000000000010043f0000000f01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a001100000002001d000000000002004b000009030000613d0000000101100039000000000101041a000000ff00100190000009030000c13d000004cf01000041000000000010044300000000010004140000047f0010009c0000047f01008041000000c001100210000004d0011001c70000800b0200003911f711f20000040f00000001002001900000092f0000613d000000000101043b000a00000001001d000000110010006c00000d0f0000813d000000400100043d0000006402100039000004e40300004100000000003204350000004402100039000004e50300004100000000003204350000002402100039000000280300003900000b3b0000013d000004a90020009c000003650000613d000004aa0020009c0000101f0000c13d0000000001000416000000000001004b0000101f0000c13d000000000100041a00000483021001970000000001000411000000000012004b000005730000c13d0000000202000039000000000302041a000000ff00300190000006df0000c13d000004f401000041000000800010043f000004f501000041000011f900010430000004920020009c000004cb0000613d000004930020009c0000101f0000c13d000000240030008c0000101f0000413d0000000001000416000000000001004b0000101f0000c13d11f711cb0000040f00000004010000390000000201100367000000000101043b0000000602000039000000000012041b0000000001000019000011f80001042e000004af0020009c000004db0000613d000004b00020009c0000101f0000c13d000000440030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000402100370000000000202043b001100000002001d000004830020009c0000101f0000213d0000002401100370000000000301043b000000000100041a00000483021001970000000001000411000000000012004b000005730000c13d0000001101000029000000000010043f001000000003001d000000000003004b000007160000c13d0000000a01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a000f00000001001d000000000001004b000008870000c13d000000400100043d0000004402100039000004fe03000041000000000032043500000024021000390000001603000039000009240000013d000004980020009c0000052a0000613d000004990020009c0000101f0000c13d0000000001000416000000000001004b0000101f0000c13d0000000501000039000003690000013d000004a40020009c000005420000613d000004a50020009c0000101f0000c13d0000000002000416000000000002004b0000101f0000c13d000000080b000039000000000c0b041a00000000000c004b000005f00000c13d000000200500003900000000040000190000000002000019000000000131034f0000008003500039000000400030043f000000800020043f0000001f0340018f000000000004004b000002c00000613d000000a006400039000000a007000039000000000801034f000000008908043c0000000007970436000000000067004b000002bc0000c13d000000000003004b000000400a00043d00000000065a00190000000000a6004b00000000070000390000000107004039000004be0060009c000006240000213d0000000100700190000006240000c13d000000400060043f000000000f2a0436000000000002004b000002d50000613d0000006006000039000000000700001900000000087f001900000000006804350000002007700039000000000047004b000002d00000413d000000400700043d0000000006570019000d00000007001d000000000076004b00000000070000390000000107004039000004be0060009c000006240000213d0000000100700190000006240000c13d000000400060043f0000000d060000290000000006260436000c00000006001d000000000004004b000002ec0000613d0000000c080000290000000006480019000000000701034f000000007907043c0000000008980436000000000068004b000002e80000c13d000000000003004b000000400e00043d00000000065e00190000000000e6004b00000000070000390000000107004039000004be0060009c000006240000213d0000000100700190000006240000c13d000000400060043f00000000062e0436000b00000006001d000000000004004b000003020000613d0000000b080000290000000006480019000000000701034f000000007907043c0000000008980436000000000068004b000002fe0000c13d000000000003004b000000400700043d0000000005570019000000000075004b00000000060000390000000106004039000004be0050009c000006240000213d0000000100600190000006240000c13d000000400050043f0000000006270436000000000004004b000003160000613d00000000024600190000000004060019000000001501043c0000000004540436000000000024004b000003120000c13d000000000003004b00000000000c004b00060000000a001d00050000000e001d000400000007001d000009470000c13d000000400400043d000000a0010000390000000002140436000000a001400039000000800300043d0000000000310435000000000d040019000000c001400039000000000003004b0000032e0000613d000000000400001900000080060000390000002006600039000000000506043300000000015104360000000104400039000000000034004b000003280000413d0000000003d100490000000000320435000000060200002900000000030204330000000000310435000000050230021000000000022100190000002002200039000000000003004b00000b110000c13d00110000000d001d0000000001d200490000004003d0003900000000001304350000000d0100002911f711100000040f00000000020100190000001103000029000000000131004900000060033000390000000000130435000000050100002911f711030000040f000000000201001900000011030000290000008001300039000000000332004900000000003104350000000401000029000005e50000013d0000048d0020009c0000055e0000613d0000048e0020009c0000101f0000c13d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000601043b000004830060009c0000101f0000213d000000000100041a00000483021001970000000005000411000000000052004b0000057d0000c13d000000000006004b000007370000c13d0000048701000041000000800010043f000000840000043f000004b901000041000011f9000104300000000001000416000000000001004b0000101f0000c13d0000000301000039000000000101041a000000800010043f000004bb01000041000011f80001042e0000000001000416000000000001004b0000101f0000c13d0000000201000039000000000101041a000000ff00100190000004d70000c13d0000000001000411000000000010043f0000000e01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a0000051300200198000007430000c13d000000400100043d00000044021000390000051a03000041000006190000013d0000000001000416000000000001004b0000101f0000c13d0000000201000039000000000101041a000000ff001001900000056e0000013d0000000001000416000000000001004b0000101f0000c13d000000000100041a00000483021001970000000001000411000000000012004b000005730000c13d0000000102000039000000000102041a000000020010008c000004d30000613d0000000201000039001100000002001d000000000012041b000004f60100004100000000001004430000000001000410000000040010044300000000010004140000047f0010009c0000047f01008041000000c001100210000004f7011001c70000800a0200003911f711f20000040f00000001002001900000092f0000613d000000000301043b000000000003004b000007940000c13d000000400100043d0000004402100039000004fa03000041000000000032043500000024021000390000001403000039000009240000013d0000000001000416000000000001004b0000101f0000c13d000000000100041a0000048301100197000000800010043f000004bb01000041000011f80001042e000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000004830010009c0000101f0000213d000000000010043f0000000b01000039000000200010043f000000400100003911f711dc0000040f000000000101041a000000b801100270000000ff0110018f000000800010043f000004bb01000041000011f80001042e0000000001000416000000000001004b0000101f0000c13d000000000100041a00000483021001970000000001000411000000000012004b000005730000c13d0000000202000039000000000302041a000000ff00300190000004d70000c13d0000051b0330019700000001033001bf000000000032041b000000800010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c1011001c70000800d020000390000000103000039000004d704000041000007020000013d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b001100000001001d000004830010009c0000101f0000213d0000001101000029000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000400200043d000004f20020009c000006240000213d000000000101043b000000c003200039000000400030043f000000000101041a000004df031001970000000004320436000004ba001001980000000003000039000000010300c039000000a005200039000700000005001d0000000000350435000000b803100270000000ff0330018f0000008005200039000600000005001d0000000000350435000000a8031002700000ffff0330018f0000006005200039000500000005001d00000000003504350000006803100270000004be033001970000004002200039000800000002001d00000000003204350000002801100270000004be01100197000900000004001d00000000001404350000000806000039000000000706041a000000000007004b0000000005000019000d00000007001d0000079c0000c13d00000005015002100000003f02100039000004c003200197000000400200043d000c00000002001d0000000002230019000000000032004b00000000030000390000000103004039000004be0020009c000006240000213d0000000100300190000006240000c13d000000400020043f0000000c020000290000000002520436000b00000002001d0000001f0210018f000000000001004b000004460000613d0000000b04000029000000000114001900000000030000310000000203300367000000003503043c0000000004540436000000000014004b000004420000c13d000000000002004b00000011010000290000048305100197000000000007004b000009e70000c13d00000009010000290000000001010433001100000001001d00000007010000290000000001010433001000000001001d00000006010000290000000001010433000f00000001001d00000005010000290000000001010433000e00000001001d000000000050043f0000000e01000039000000200010043f000000400100003911f711dc0000040f000000000101041a000000080200002900000000020204330000000e030000290000ffff0330018f000000400500043d000e00000005001d000000200450003900000000003404350000000f03000029000000ff0330018f00000040045000390000000000340435000000100000006b0000000003000039000000010300c03900000060045000390000000000340435000004be02200197000000a0035000390000000000230435000000e002000039000000c0035000390000000000230435000004be01100197000000800250003900000000001204350000001101000029000004be011001970000000000150435000000e0025000390000000c0100002911f711030000040f0000000e0200002900000000012100490000047f0020009c0000047f020080410000047f0010009c0000047f0100804100000040022002100000006001100210000000000121019f000011f80001042e000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000000000200041a00000483032001970000000002000411000000000023004b000005780000c13d000000000001004b000006eb0000c13d000004c301000041000000800010043f0000002001000039000000840010043f0000001f01000039000000a40010043f000004c401000041000000c40010043f000004c501000041000011f900010430000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000000000200041a00000483032001970000000002000411000000000023004b000005780000c13d000000000001004b000006f70000c13d000004c301000041000000800010043f0000002001000039000000840010043f0000001f01000039000000a40010043f0000050801000041000000c40010043f000004c501000041000011f9000104300000000001000416000000000001004b0000101f0000c13d000000000100041a00000483021001970000000005000411000000000052004b0000057d0000c13d0000048201100197000000000010041b00000000010004140000047f0010009c0000047f01008041000000c00110021000000484011001c70000800d02000039000000030300003900000485040000410000000006000019000007020000013d0000000201000039000000000201041a000000ff00200190000004d70000c13d0000000102000039000000000302041a000000020030008c000006040000c13d000004fb01000041000000800010043f000004f501000041000011f9000104300000051201000041000000800010043f000004f501000041000011f900010430000000840030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000402100370000000000202043b001100000002001d000004830020009c0000101f0000213d0000004402100370000000000202043b001000000002001d0000002402100370000000000202043b000f00000002001d0000006402100370000000000402043b000004be0040009c0000101f0000213d0000002302400039000000000032004b0000101f0000813d0000000405400039000000000251034f000000000202043b000004be0020009c000006240000213d0000001f062000390000051c066001970000003f066000390000051c06600197000004ee0060009c000006240000213d0000008006600039000000400060043f000000800020043f00000000042400190000002404400039000000000034004b0000101f0000213d0000002003500039000000000331034f0000051c042001980000001f0520018f000000a001400039000005100000613d000000a006000039000000000703034f000000007807043c0000000006860436000000000016004b0000050c0000c13d000000000005004b0000051d0000613d000000000343034f0000000304500210000000000501043300000000054501cf000000000545022f000000000303043b0000010004400089000000000343022f00000000034301cf000000000353019f0000000000310435000000a0012000390000000000010435000000000100041a00000483021001970000000001000411000000000012004b00000ae00000c13d000000110000006b00000b300000c13d000000400100043d00000044021000390000050503000041000008790000013d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d000000000200041a00000483032001970000000002000411000000000023004b000005780000c13d0000000401100370000000000101043b0000000402000039000000000012041b000000800010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c1011001c70000800d020000390000000103000039000004d504000041000007020000013d000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000004830010009c0000101f0000213d000000000010043f0000000c01000039000000200010043f000000400100003911f711dc0000040f000000000101041a001100000001001d0000000d01000039000000200010043f000000400100003911f711dc0000040f000000000101041a00000011020000290000048302200197000000800020043f0000048301100197000000a00010043f000004f101000041000011f80001042e000000240030008c0000101f0000413d0000000002000416000000000002004b0000101f0000c13d0000000401100370000000000101043b000004830010009c0000101f0000213d000000000010043f0000000b01000039000000200010043f000000400100003911f711dc0000040f000000000101041a000004ba001001980000000001000039000000010100c039000000800010043f000004bb01000041000011f80001042e000004b802000041000000800020043f000000840010043f000004b901000041000011f900010430000004b801000041000000800010043f000000840020043f000004b901000041000011f900010430000004b801000041000000800010043f000000840050043f000004b901000041000011f9000104300000000e0000006b00000000090000190000062a0000c13d00000005019002100000003f02100039000004c004200197000000400a00043d0000000002a40019000000000042004b00000000030000390000000103004039000004be0020009c000006240000213d0000000100300190000006240000c13d000000400020043f00000000059a04360000001f0210018f00000000030000310000000203300367000000000001004b0000059e0000613d0000000006150019000000000703034f000000007807043c0000000005850436000000000065004b0000059a0000c13d000000000002004b000000400b00043d00000000054b00190000000000b5004b00000000060000390000000106004039000004be0050009c000006240000213d0000000100600190000006240000c13d000000400050043f00000000059b0436000000000001004b000005b20000613d0000000006150019000000000703034f000000007807043c0000000005850436000000000065004b000005ae0000c13d000000000002004b000000400500043d0000000004450019000e00000005001d000000000054004b00000000050000390000000105004039000004be0040009c000006240000213d0000000100500190000006240000c13d000d0000000b001d000c0000000a001d000000400040043f001100000009001d0000000e040000290000000004940436000b00000004001d000000000001004b000005cc0000613d0000000b040000290000000001140019000000003503043c0000000004540436000000000014004b000005c80000c13d000000000002004b000000110000006b0000000c040000290000000d0500002900000a9c0000c13d000000400200043d001100000002001d00000060010000390000000001120436001000000001001d0000006002200039000000000104001911f711100000040f0000000002010019000000110120006a000000100300002900000000001304350000000d0100002911f711030000040f000000000201001900000011030000290000004001300039000000000332004900000000003104350000000e0100002911f711030000040f000000110200002900000000012100490000047f0020009c0000047f0200804100000040022002100000047f0010009c0000047f010080410000006001100210000000000121019f000011f80001042e0000000000b0043f00000000040000190000000002000019000005f70000013d00000001044000390000000000c4004b0000061d0000813d00000006054000c9000004d80550009a000000000505041a000000ff00500190000005f40000613d000000010220003a000005f40000c13d000004e301000041000000000010043f0000001101000039000000040010043f0000048801000041000011f900010430000000000012041b0000000001000411000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000201043b000000000302041a000004ba003001980000074c0000c13d000000400100043d0000004402100039000004ec03000041000000000032043500000024021000390000001303000039000009240000013d000004be0020009c000006240000213d00000005042002100000003f05400039000004ed05500197000004ee0050009c000002b20000a13d000004e301000041000000000010043f0000004101000039000000040010043f0000048801000041000011f9000104300000000009000019000000000a000019000006350000013d0000000009010019000000010aa000390000000e00a0006c00000be10000813d0000001001000039000000000101041a0000000000a1004b00000a960000a13d001100000009001d00100000000a001d000004bc01a0009a000000000101041a0000048301100197000f00000001001d000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a0000002801100270000004be021001970000001109000029000000320090008c000006830000813d000000400100043d000004bf0010009c000000100a000029000006240000213d0000004003100039000000400030043f000000200310003900000000002304350000000f020000290000000000210435000000800200043d000000000092004b00000a960000a13d0000000502900210000000a0022000390000000000120435000000800300043d000000000093004b00000a960000a13d000000000009004b000006be0000613d0000000101900039000000000093004b00000a960000a13d000000010290008a000000000023004b00000a960000a13d0000000503900210000000a0033000390000000005030433000000050420021000000020065000390000000007060433000000a006400039000000000406043300000020084000390000000008080433000000000087004b0000062d0000a13d0000000000560435000000800500043d000000000025004b00000a960000a13d000000000095004b00000a960000a13d0000000000430435000000800300043d000000000093004b00000a960000a13d000000000002004b0000000009020019000006640000c13d0000062d0000013d000000010190008a000000800300043d000000000013004b000000100a00002900000a960000a13d0000000503100210000000a003300039000000000403043300000020044000390000000004040433000000000042004b0000062e0000a13d000000400400043d000004bf0040009c000006240000213d0000004005400039000000400050043f000000200540003900000000002504350000000f020000290000000000240435000000800200043d000000000012004b00000a960000a13d0000000000430435000000800300043d000000000013004b00000a960000a13d000000000013004b00000a960000a13d000000010210008a000000000023004b00000a960000a13d0000000503100210000000a0033000390000000005030433000000050420021000000020065000390000000007060433000000a006400039000000000406043300000020084000390000000008080433000000000087004b0000062e0000a13d0000000000560435000000800500043d000000000025004b00000a960000a13d000000000015004b00000a960000a13d0000000000430435000000800300043d000000000013004b00000a960000a13d000000000002004b00000000010200190000069f0000c13d0000062e0000013d000000010aa000390000000e00a0006c0000000109000039000006310000413d000005850000013d0000000001000411000000000010043f0000000f01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a000000000002004b000007570000613d0000000101100039000000000101041a000000ff00100190000007570000c13d000000400100043d0000004402100039000004ce03000041000000000032043500000024021000390000001b03000039000009240000013d0000051b03300197000000000032041b000000800010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c1011001c70000800d020000390000000103000039000004f304000041000007020000013d0000000302000039000000000012041b000000800010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c1011001c70000800d020000390000000103000039000004c204000041000007020000013d0000000502000039000000000012041b000000800010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c1011001c70000800d020000390000000103000039000005070400004111f711ed0000040f00000001002001900000101f0000613d0000000001000019000011f80001042e0000000102200039000000000202041a000000ff002001900000000002000039000000010200c039000000010220018f000000400300043d0000002004300039000000000024043500000000001304350000047f0030009c0000047f030080410000004001300210000004d6011001c7000011f80001042e0000000901000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000001002000029000000000020043f000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a000f00000001001d000000000001004b00000aea0000c13d000000400100043d0000004402100039000004fc03000041000007900000013d0000048201100197000000000161019f000000000010041b00000000010004140000047f0010009c0000047f01008041000000c00110021000000484011001c70000800d0200003900000003030000390000048504000041000007020000013d000004be032001980000083b0000c13d000000400100043d00000044021000390000051903000041000000000032043500000024021000390000001203000039000009240000013d000000400100043d000000b804300270000000ff0440018f000000030040008c000008720000413d0000004402100039000004cd03000041000000000032043500000024021000390000001903000039000009240000013d0000000301000039000000000101041a001100000001001d000004cf01000041000000000010044300000000010004140000047f0010009c0000047f01008041000000c001100210000004d0011001c70000800b0200003911f711f20000040f00000001002001900000092f0000613d000000000101043b001000000001001d000000110010002a000005fe0000413d0000000001000411000000000010043f0000000f01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d00000010030000290000001102300029000000000101043b000000000021041b0000000101100039000000000301041a0000051b03300197000000000031041b000000400100043d00000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d020000390000000203000039000004d104000041000008d80000013d000000400100043d00000044021000390000050903000041000000000032043500000024021000390000001703000039000009240000013d000000000200041a00000000010004140000048304200197000000040040008c001000000003001d000008ad0000c13d0000000101000031000008b90000013d00000000080000190000000005000019000007a20000013d0000000108800039000000000078004b00000add0000813d000000000106041a000000000081004b00000a960000a13d000000000060043f00000006018000c9000004d80210009a000000000402041a000000ff004001900000079f0000613d000000400a00043d0000000403a00039000004d90210009a000000000202041a00000483022001970000ff0000400190000007e70000613d000004da0100004100000000001a0435000000110100002900000000001304350000000001000414000000040020008c000007f20000613d000e00000008001d000f00000005001d0000047f00a0009c0000047f0300004100000000030a401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f00000488011001c700100000000a001d11f711f20000040f000000100a00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a0019000007d50000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b000007d10000c13d0000001f07400190000007e20000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000008240000c13d00000c590000013d000004db0110009a000000000101041a000004dc0400004100000000004a0435000000110400002900000000004304350000002403a0003900000000001304350000000001000414000000040020008c000007f70000c13d0000000103000031000000200030008c00000020040000390000000004034019000008280000013d000e00000008001d000f00000005001d0000047f00a0009c0000047f0300004100000000030a401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f000004dd011001c700100000000a001d11f711f20000040f000000100a00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a0019000008130000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b0000080f0000c13d0000001f07400190000008200000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f0003000000010355000000010020019000000d6b0000613d00000008060000390000000d070000290000000f050000290000000e080000290000001f01400039000000600210018f0000000001a20019000000000021004b00000000020000390000000102004039000004be0010009c000006240000213d0000000100200190000006240000c13d000000400010043f000000200030008c0000101f0000413d00000000010a0433000000000001004b0000079f0000613d000000010550003a0000079f0000c13d000005fe0000013d001100000003001d0000051402200197000000000021041b0000000001000411000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a0000002803200270000004be0330019700000011050000290000000003530019000004e90030009c000005fe0000813d0000002803300210000004e0033001970000051504200197000000000343019f000000000031041b0000006802200270000004be022001970000000002520019000004be0020009c000005fe0000213d000005160330019700000068022002100000051702200197000000000223019f000000000021041b000000400100043d00000000005104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d02000039000000020300003900000518040000410000000005000411000007020000013d0000000405000039000000000505041a0000000006000416000000000056004b000008c40000813d0000004402100039000004cb03000041000000000032043500000024021000390000001803000039000009240000013d0000000002000411000000000021004b00000afd0000c13d000000400100043d00000044021000390000050e03000041000000000032043500000024021000390000001503000039000009240000013d0000001101000029000000000010043f0000000a01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000001041b0000000f01000029000000010110008a0000000802000039000000000302041a000000000013004b00000a960000a13d000000000020043f00000006011000c9000004d80110009a000000000201041a0000051b02200197000000000021041b00000000010004140000047f0010009c0000047f01008041000000c00110021000000484011001c70000800d020000390000000303000039000004fd0400004100000011050000290000001006000029000007020000013d0000047f0010009c0000047f01008041000000c00110021000000484011001c70000800902000039000000000500001911f711ed0000040f0011000100200193000300000001035500000060011002700001047f0010019d0000047f01100197000000000001004b000008da0000c13d000000400100043d000000110000006b000009300000c13d0000004402100039000004f903000041000000000032043500000024021000390000000f03000039000009240000013d000004c603300197000000b804400210000004c70440009a000004c805400197000000000335019f000000000032041b000000b80240027000000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d020000390000000203000039000004ca040000410000000005000411000009400000013d000004be0010009c000006240000213d0000001f031000390000051c033001970000003f033000390000051c04300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000004be0040009c000006240000213d0000000100500190000006240000c13d000000400040043f00000000051304360000051c021001980000001f0310018f00000000012500190000000304000367000008f50000613d000000000604034f000000006706043c0000000005750436000000000015004b000008f10000c13d000000000003004b000008bb0000613d000000000224034f0000000303300210000000000401043300000000043401cf000000000434022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000242019f0000000000210435000008bb0000013d0000000501000039000000000201041a0000000c01000029000000000101041a000b00000001001d000004df01100197001100000002001d001000000001001d000000000012001a000005fe0000413d000004cf01000041000000000010044300000000010004140000047f0010009c0000047f01008041000000c001100210000004d0011001c70000800b0200003911f711f20000040f00000001002001900000092f0000613d00000010030000290000001102300029000000000101043b000900000001001d000000000021004b00000b460000813d000000400100043d0000004402100039000004eb03000041000000000032043500000024021000390000001c030000390000000000320435000004c30200004100000000002104350000000402100039000000200300003900000000003204350000047f0010009c0000047f010080410000004001100210000004cc011001c7000011f900010430000000000001042f000000000200041a000000100300002900000000003104350000047f0010009c0000047f01008041000000400110021000000000030004140000047f0030009c0000047f03008041000000c003300210000000000113019f000004c9011001c700000483052001970000800d020000390000000203000039000004f80400004111f711ed0000040f00000001002001900000101f0000613d0000000101000039000000000011041b0000000001000019000011f80001042e00000000010c00190000000008000019000000000900001900030000000c001d00020000000f001d000100000006001d000009510000013d00000001088000390000000000c8004b0000031c0000813d000000000081004b00000a960000a13d0000000000b0043f00000006038000c9000004d80d30009a00000000020d041a000000ff002001900000094e0000613d000000800100043d000000000091004b00000a960000a13d00000000050a0019000000000a07001900000000070e0019000004ef0130009a000000000101041a0000000502900210001000000002001d000000a00220003900000000001204350000000000b0043f000e00000003001d000004f00130009a000000000201041a0000000103200190000000010e2002700000007f0ee0618f0000001f00e0008c00000000040000390000000104002039000000000442013f000000010040019000000f6c0000c13d000000400400043d000f00000004001d0000000004e40436000000000003004b0000099d0000613d000700000004001d00110000000e001d00080000000d001d000900000009001d000a00000008001d000000000010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000110000006b000000060a000029000000030c000029000000050e0000290000000407000029000009a60000613d000000000201043b0000000001000019000000080b000039000000020f00002900000001060000290000000a080000290000000909000029000000080d00002900000007050000290000000003150019000000000402041a000000000043043500000001022000390000002001100039000000110010006c000009950000413d000009ad0000013d0000051b01200197000000000014043500000000000e004b00000020010000390000000001006039000000000e07001900000000070a0019000000000a050019000009ad0000013d0000000001000019000000080b000039000000020f00002900000001060000290000000a080000290000000909000029000000080d0000290000003f011000390000051c021001970000000f030000290000000001320019000000000021004b00000000020000390000000102004039000004be0010009c000006240000213d0000000100200190000006240000c13d000000400010043f00000000010a0433000000000091004b0000000e0400002900000a960000a13d0000001001f00029000000000031043500000000010a0433000000000091004b00000a960000a13d00000000010b041a000000000081004b00000a960000a13d0000000000b0043f0000000d020000290000000002020433000000000092004b00000a960000a13d00000010030000290000000c02300029000004d90340009a000000000303041a000004830330019700000000003204350000000000b0043f00000000020d041a0000ff00002001900000000002000019000009d70000c13d000004db0240009a000000000202041a00000000030e0433000000000093004b00000a960000a13d000000100d0000290000000b03d0002900000000002304350000000000b0043f0000000002070433000000000092004b00000a960000a13d0000001002600029000004de0340009a000000000303041a000000000032043500000001099000390000094e0000013d00000000080000190000000009000019000a00000005001d000009f40000013d000004ef01a0009a00000005029002100000000b02200029000000000101041a000000000012043500000001099000390000000108800039000000000078004b0000044b0000813d000000000106041a000000000081004b00000a960000a13d000000000060043f000000060a8000c9000004d801a0009a000000000301041a000000ff00300190000009f10000613d000000400b00043d0000000401b00039000004d902a0009a000000000202041a00000483022001970000ff000030019000000a3b0000613d000004da0300004100000000003b043500000000005104350000000001000414000000040020008c00000a450000613d00100000000a001d001100000009001d000e00000008001d0000047f00b0009c0000047f0300004100000000030b401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f00000488011001c7000f0000000b001d11f711f20000040f0000000f0b00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056b001900000a270000613d000000000701034f00000000080b0019000000007907043c0000000008980436000000000058004b00000a230000c13d0000001f0740019000000a340000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000001109000029000000100a00002900000a7a0000c13d00000e310000013d000004db03a0009a000000000303041a000004dc0400004100000000004b043500000000005104350000002401b0003900000000003104350000000001000414000000040020008c00000a4a0000c13d0000000103000031000000200030008c0000002004000039000000000403401900000a7e0000013d00100000000a001d001100000009001d000e00000008001d0000047f00b0009c0000047f0300004100000000030b401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f000004dd011001c7000f0000000b001d11f711f20000040f0000000f0b00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056b001900000a670000613d000000000701034f00000000080b0019000000007907043c0000000008980436000000000058004b00000a630000c13d0000001f0740019000000a740000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f000300000001035500000001002001900000001109000029000000100a00002900000e3d0000613d00000008060000390000000d070000290000000a050000290000000e080000290000001f01400039000000600210018f0000000001b20019000000000021004b00000000020000390000000102004039000004be0010009c000006240000213d0000000100200190000006240000c13d000000400010043f000000200030008c0000101f0000413d00000000010b0433000000000001004b000009f10000613d000000000106041a000000000081004b00000a960000a13d000000000060043f0000000c010000290000000001010433000000000091004b000009eb0000213d000004e301000041000000000010043f0000003201000039000000040010043f0000048801000041000011f9000104300000000006000019000000800100043d000000000061004b00000a960000a13d0000000001040433000000000061004b00000a960000a13d000000050160021000000020021000390000000003420019001000000001001d000000a0011000390000000004010433000000000404043300000483044001970000000000430435000000800300043d000000000063004b00000a960000a13d0000000003050433000000000063004b00000a960000a13d00000000025200190000000003010433000000200330003900000000030304330000000000320435000000800200043d000000000062004b00000a960000a13d000f00000006001d000000000101043300000000010104330000048301100197000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d0000000e0200002900000000020204330000000f06000029000000000062004b00000011030000290000000c040000290000000d0500002900000a960000a13d00000010070000290000000b02700029000000000101043b000000000101041a000000a8011002700000ffff0110018f00000000001204350000000106600039000000000036004b00000a9d0000413d000005d10000013d000004be0050009c0000042a0000a13d000006240000013d000000400200043d000004b8030000410000000000320435000000040320003900000000001304350000047f0020009c0000047f02008041000000400120021000000488011001c7000011f9000104300000001101000029000000000010043f0000000901000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000001002000029000000000020043f000000200010043f00000000010004140000088c0000013d000000000010043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a000004ba0010019800000be40000c13d000000400100043d00000044021000390000050d03000041000007900000013d00000000050000190000000006010019000000060c00002900000b1d0000013d000000000872001900000000000804350000001f077000390000051c0770019700000000027200190000000105500039000000000035004b000003380000813d0000000007120049000000200770008a00000020066000390000000000760435000000200cc0003900000000070c043300000000870704340000000002720436000000000007004b00000b150000613d0000000009000019000000000a290019000000000b980019000000000b0b04330000000000ba04350000002009900039000000000079004b00000b280000413d00000b150000013d000000100000006b00000c520000c13d000000400100043d000000640210003900000503030000410000000000320435000000440210003900000504030000410000000000320435000000240210003900000024030000390000000000320435000004c30200004100000000002104350000000402100039000000200300003900000000003204350000047f0010009c0000047f010080410000004001100210000004e6011001c7000011f9000104300000000b01000029000000b801100270000000ff0110018f00000014011000c9000a00640010003d0000000801000039000000000101041a000e00000001001d000000000001004b00000c650000c13d0000000a0200002900000064012000c9001100000001001d000000640110011a000000000012004b000005fe0000c13d0000000a01000029000004be011001970000000b020000290000002802200270000004be022001970000000001210019000004be0010009c000005fe0000213d0000000902000029000004df022001970000002801100210000004e001100197000000000121019f0000000c03000029000000000203041a000004e102200197000000000121019f000000000013041b000000400100043d0000000a0200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d020000390000000203000039000004e204000041000000000500041111f711ed0000040f00000001002001900000101f0000613d0000000001000411000000000010043f0000000c01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a001004830010019c00000f720000c13d0000000001000411000000000010043f0000000d01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a001004830010019c000009430000613d0000001001000029000000000010043f0000000e01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d0000001102000029000007d00220011a001100000002001d000004be03200197000000000101043b000000000201041a000004be042001970000000003340019000004be0030009c000005fe0000213d000004e702200197000000000223019f000000000021041b0000001001000029000000000010043f0000000e01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a000004e802200197000004e9022001c7000000000021041b000000400100043d000000200210003900000002030000390000000000320435000000110200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004ea040000410000001005000029000000000600041111f711ed0000040f0000000100200190000009430000c13d0000101f0000013d000004be0090009c000005850000a13d000006240000013d0000000001000411000000000010043f0000000c01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a00000482022001970000001103000029000000000232019f000000000021041b000000000030043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a000000a8032002700000ffff0330018f0000ffff0030008c000005fe0000613d0000050a02200197000000a8033002100000050b0330009a0000050c03300197000000000223019f000000000021041b0000001101000029000000000010043f0000000c01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a0000048302100197001000000002001d000000110020006c0000003d0000613d000000100000006b0000003d0000613d0000000001000411000000100010006b0000003d0000613d000000000010043f0000000d01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a00000482022001970000001003000029000000000232019f000000000021041b000000000030043f0000000b01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a000000a8032002700000ffff0330018f0000ffff0030008c000005fe0000613d0000050a02200197000000a8033002100000050b0330009a0000050c03300197000000000223019f000000000021041b0000003d0000013d000000800100043d000000000001004b00000d190000c13d000000400100043d00000044021000390000050203000041000003b20000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000c600000c13d00000fc10000013d00000000010004110000048307100197000000000800001900000008050000390000000e06000029000d00000007001d00000c6f0000013d0000000108800039000000000068004b00000b500000813d000000000105041a000000000081004b00000a960000a13d000000000050043f00000006098000c9000004d80190009a000000000301041a000000ff0030019000000c6c0000613d000000400a00043d0000000401a00039000004d90290009a000000000202041a00000483022001970000ff000030019000000cb40000613d000004da0300004100000000003a043500000000007104350000000001000414000000040020008c00000cbe0000613d001100000009001d000f00000008001d0000047f00a0009c0000047f0300004100000000030a401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f00000488011001c700100000000a001d11f711f20000040f000000100a00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a001900000ca10000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b00000c9d0000c13d0000001f0740019000000cae0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000000110900002900000cf10000c13d00000f430000013d000004db0390009a000000000303041a000004dc0400004100000000004a043500000000007104350000002401a0003900000000003104350000000001000414000000040020008c00000cc30000c13d0000000103000031000000200030008c0000002004000039000000000403401900000cf50000013d001100000009001d000f00000008001d0000047f00a0009c0000047f0300004100000000030a401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f000004dd011001c700100000000a001d11f711f20000040f000000100a00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a001900000cdf0000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b00000cdb0000c13d0000001f0740019000000cec0000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000000110900002900000fb60000613d00000008050000390000000e060000290000000d070000290000000f080000290000001f01400039000000600210018f0000000001a20019000000000021004b00000000020000390000000102004039000004be0010009c000006240000213d0000000100200190000006240000c13d000000400010043f000000200030008c0000101f0000413d00000000010a0433000000000001004b00000c6c0000613d000000000105041a000000000081004b00000a960000a13d000000000050043f000004de0190009a000000000101041a0000000a0010002a000005fe0000413d000a000a0010002d00000b500000013d0000000501000039000000000101041a000000000001004b00000d770000c13d000004e301000041000000000010043f0000001201000039000000040010043f0000048801000041000011f9000104300000001101000029000000000010043f0000000f0000006b00000dc80000c13d0000000a01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a000000000001004b00000ef20000c13d0000000701000039000000000201041a000000010320003a000005fe0000613d000000000031041b000000400100043d000005000010009c000006240000213d000000e003100039000000400030043f000000c00310003900000001040000390000000000430435000000a003100039000000000043043500000080031000390000001004000029000000000043043500000020031000390000008004000039000000000043043500000040031000390000001104000029000000000043043500000000002104350000006002100039000000000002043511f7111e0000040f0000000801000039000000000101041a000f00000001001d0000001101000029000000000010043f0000000a01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000000f02000029000000000021041b000000400100043d000000100200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d0200003900000003030000390000050104000041000010650000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000d720000c13d00000fc10000013d0000000302000039000000000302041a00000000021300d900090064002000cd000000000031004b00000d800000213d00000009012000f9000000640010008c000005fe0000c13d0000000b01000029000000b801100270000000ff0110018f00000014011000c9000800640010003d0000000801000039000000000101041a000e00000001001d000000000001004b00000e490000c13d000000080100002900000009011000b9000000090000006b00000d910000613d00000009021000fa000000080020006b000005fe0000c13d0000000b020000290000002802200270000004be02200197000000640110011a001100000001001d000004be011001970000000001210019000004be0010009c000005fe0000213d0000000a02000029000004df022001970000002801100210000004e001100197000000000121019f0000000c03000029000000000203041a000004e102200197000000000121019f000000000013041b0000000001000411000000000010043f0000000f01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000000102100039000000000302041a0000051b0330019700000001033001bf000000000032041b000000000001041b000000400100043d000000110200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d020000390000000203000039000004e204000041000008d80000013d0000000901000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000000f02000029000000000020043f000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000101041a000000000001004b00000f4f0000c13d0000000701000039000000000201041a000000010320003a000005fe0000613d000000000031041b000000400100043d000005000010009c000006240000213d000000e003100039000000400030043f000000a0031000390000000104000039000000000043043500000080031000390000001004000029000000000043043500000060031000390000000f0400002900000000004304350000002003100039000000800400003900000000004304350000004003100039000000110400002900000000004304350000000000210435000000c002100039000000000002043511f7111e0000040f0000000801000039000000000101041a000e00000001001d0000001101000029000000000010043f0000000901000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000000f02000029000000000020043f000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b0000000e02000029000000000021041b000000400100043d000000100200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d0200003900000003030000390000050104000041000010930000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e380000c13d00000fc10000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000e440000c13d00000fc10000013d00000000010004110000048307100197000000000800001900000008050000390000000e06000029000d00000007001d00000e530000013d0000000108800039000000000068004b00000d8a0000813d000000000105041a000000000081004b00000a960000a13d000000000050043f00000006098000c9000004d80190009a000000000301041a000000ff0030019000000e500000613d000000400a00043d0000000401a00039000004d90290009a000000000202041a00000483022001970000ff000030019000000e980000613d000004da0300004100000000003a043500000000007104350000000001000414000000040020008c00000ea20000613d001100000009001d000f00000008001d0000047f00a0009c0000047f0300004100000000030a401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f00000488011001c700100000000a001d11f711f20000040f000000100a00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a001900000e850000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b00000e810000c13d0000001f0740019000000e920000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000000110900002900000ed50000c13d00000fd40000013d000004db0390009a000000000303041a000004dc0400004100000000004a043500000000007104350000002401a0003900000000003104350000000001000414000000040020008c00000ea70000c13d0000000103000031000000200030008c0000002004000039000000000403401900000ed90000013d001100000009001d000f00000008001d0000047f00a0009c0000047f0300004100000000030a401900000040033002100000047f0010009c0000047f01008041000000c001100210000000000131019f000004dd011001c700100000000a001d11f711f20000040f000000100a00002900000060031002700000047f03300197000000200030008c00000020040000390000000004034019000000200640019000000000056a001900000ec30000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b00000ebf0000c13d0000001f0740019000000ed00000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000100000003001f00030000000103550000000100200190000000110900002900000fe00000613d00000008050000390000000e060000290000000d070000290000000f080000290000001f01400039000000600210018f0000000001a20019000000000021004b00000000020000390000000102004039000004be0010009c000006240000213d0000000100200190000006240000c13d000000400010043f000000200030008c0000101f0000413d00000000010a0433000000000001004b00000e500000613d000000000105041a000000000081004b00000a960000a13d000004de0190009a000000000101041a000000080010002a000005fe0000413d000800080010002d00000d8a0000013d000000010310008a0000000802000039000000000102041a000000000031004b00000a960000a13d00000006013000c9000004de0410009a0000001005000029000000000054041b000000000402041a000000000034004b00000a960000a13d000000000020043f000000800200043d000f00000002001d000004be0020009c000006240000213d000004f00110009a000e00000001001d000000000101041a000000010010019000000001021002700000007f0220618f000d00000002001d0000001f0020008c00000000020000390000000102002039000000000121013f000000010010019000000f6c0000c13d0000000d01000029000000200010008c00000f2f0000413d0000000e01000029000000000010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d0000000f030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b0000000d010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b00000f2f0000813d000000000002041b0000000102200039000000000012004b00000f2b0000413d0000000f010000290000001f0010008c000010210000a13d0000000e01000029000000000010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000200200008a0000000f02200180000000000101043b000010390000c13d000000a003000039000010470000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000f4a0000c13d00000fc10000013d000000010310008a0000000802000039000000000102041a000000000031004b00000a960000a13d00000006013000c9000004de0410009a0000001005000029000000000054041b000000000402041a000000000034004b00000a960000a13d000000000020043f000000800200043d000e00000002001d000004be0020009c000006240000213d000004f00110009a000d00000001001d000000000101041a000000010210019000000001011002700000007f0110618f000c00000001001d0000001f0010008c00000000010000390000000101002039000000000012004b00000fec0000613d000004e301000041000000000010043f0000002201000039000000040010043f0000048801000041000011f9000104300000001001000029000000000010043f0000000e01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d0000001102000029000001f40220011a000f00000002001d000004be03200197000000000101043b000000000201041a000004be042001970000000003340019000004be0030009c000005fe0000213d000004e702200197000000000223019f000000000021041b0000001001000029000000000010043f0000000e01000039000000200010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004bd011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000000101043b000000000201041a000004e802200197000004e9022001c7000000000021041b000000400100043d0000002002100039000000010300003900000000003204350000000f0200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004bd011001c70000800d020000390000000303000039000004ea040000410000001005000029000000000600041111f711ed0000040f000000010020019000000b8c0000c13d0000101f0000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000fbd0000c13d000000000005004b00000fce0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f000000000014043500000060013002100000047f0020009c0000047f020080410000004002200210000000000112019f000011f9000104300000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000fdb0000c13d00000fc10000013d0000001f0530018f0000048106300198000000400200043d000000000462001900000fc10000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b00000fe70000c13d00000fc10000013d0000000c01000029000000200010008c0000100b0000413d0000000d01000029000000000010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d0000000e030000290000001f023000390000000502200270000000200030008c0000000002004019000000000301043b0000000c010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b0000100b0000813d000000000002041b0000000102200039000000000012004b000010070000413d0000000e010000290000001f0010008c0000102d0000a13d0000000d01000029000000000010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f00000001002001900000101f0000613d000000200200008a0000000e02200180000000000101043b000010670000c13d000000a003000039000010750000013d0000000001000019000011f9000104300000000f0000006b0000000001000019000010250000613d000000a00100043d0000000f0400002900000003024002100000051d0220027f0000051d02200167000000000121016f0000000102400210000000000121019f000010540000013d0000000e0000006b0000000001000019000010310000613d000000a00100043d0000000e0400002900000003024002100000051d0220027f0000051d02200167000000000121016f0000000102400210000000000121019f000010820000013d000000010320008a0000000503300270000000000331001900000020040000390000000103300039000000000504001900000080044000390000000004040433000000000041041b00000020045000390000000101100039000000000031004b0000103e0000c13d000000a0035000390000000f0020006c000010510000813d0000000f020000290000000302200210000000f80220018f0000051d0220027f0000051d022001670000000003030433000000000223016f000000000021041b0000000f01000029000000010110021000000001011001bf0000000e02000029000000000012041b000000400100043d000000100200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d020000390000000303000039000004ff040000410000001105000029000004c90000013d000000010320008a0000000503300270000000000331001900000020040000390000000103300039000000000504001900000080044000390000000004040433000000000041041b00000020045000390000000101100039000000000031004b0000106c0000c13d000000a0035000390000000e0020006c0000107f0000813d0000000e020000290000000302200210000000f80220018f0000051d0220027f0000051d022001670000000003030433000000000223016f000000000021041b0000000e01000029000000010110021000000001011001bf0000000d02000029000000000012041b000000400100043d000000100200002900000000002104350000047f0010009c0000047f01008041000000400110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f000004c9011001c70000800d020000390000000303000039000004ff0400004100000011050000290000000f06000029000007020000013d0000000802000039000000000302041a000000000013004b0000109e0000a13d000000000020043f00000006011000c9000004ef0110009a000000000001042d000004e301000041000000000010043f0000003201000039000000040010043f0000048801000041000011f9000104300003000000000002000000000201041a000000010320019000000001062002700000007f0660618f0000001f0060008c00000000040000390000000104002039000000000043004b000010e30000c13d000000400500043d0000000004650436000000000003004b000010ce0000613d000100000004001d000300000006001d000200000005001d000000000010043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f0000000100200190000010ef0000613d0000000306000029000000000006004b000010d40000613d000000000201043b0000000001000019000000020500002900000001070000290000000003170019000000000402041a000000000043043500000001022000390000002001100039000000000061004b000010c60000413d000010d60000013d0000051b012001970000000000140435000000000006004b00000020010000390000000001006039000010d60000013d000000000100001900000002050000290000003f011000390000051c021001970000000001520019000000000021004b00000000020000390000000102004039000004be0010009c000010e90000213d0000000100200190000010e90000c13d000000400010043f0000000001050019000000000001042d000004e301000041000000000010043f0000002201000039000000040010043f0000048801000041000011f900010430000004e301000041000000000010043f0000004101000039000000040010043f0000048801000041000011f9000104300000000001000019000011f90001043000000000430104340000000001320436000000000003004b000010fd0000613d000000000200001900000000052100190000000006240019000000000606043300000000006504350000002002200039000000000032004b000010f60000413d000000000231001900000000000204350000001f023000390000051c022001970000000001210019000000000001042d000000000301001900000000040104330000000001420436000000000004004b0000110f0000613d00000000020000190000002003300039000000000503043300000000015104360000000102200039000000000042004b000011090000413d000000000001042d000000000301001900000000040104330000000001420436000000000004004b0000111d0000613d000000000200001900000020033000390000000005030433000004830550019700000000015104360000000102200039000000000042004b000011160000413d000000000001042d000700000000000200000000040100190000000802000039000000000102041a000004e90010009c000011bd0000813d0000000103100039000000000032041b000000000020043f00000006061000c9000004ef0160009a0000000032040434000000000021041b00000000030304330000000085030434000004be0050009c000011bd0000213d000004f00760009a000000000107041a000000010210019000000001091002700000007f0990618f0000001f0090008c00000000010000390000000101002039000000000012004b000011c30000c13d000000200090008c000700000004001d000500000006001d000400000007001d000600000005001d000300000003001d000011610000413d000100000009001d000200000008001d000000000070043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f0000000100200190000011c90000613d00000006050000290000001f025000390000000502200270000000200050008c0000000002004019000000000301043b00000001010000290000001f01100039000000050110027000000000011300190000000002230019000000000012004b0000000704000029000000050600002900000004070000290000000208000029000011610000813d000000000002041b0000000102200039000000000012004b0000115d0000413d0000001f0050008c0000118e0000a13d000000000070043f00000000010004140000047f0010009c0000047f01008041000000c001100210000004c9011001c7000080100200003911f711f20000040f0000000100200190000011c90000613d00000006080000290000051c02800198000000000101043b0000000309000029000011b70000613d000000010320008a00000005033002700000000004310019000000200300003900000001044000390000000506000029000000040700002900000000059300190000000005050433000000000051041b00000020033000390000000101100039000000000041004b000011790000c13d000000000082004b0000118a0000813d0000000302800210000000f80220018f0000051d0220027f0000051d0220016700000000039300190000000003030433000000000223016f000000000021041b000000010180021000000001011001bf0000000704000029000011990000013d000000000005004b000011920000613d0000000001080433000011930000013d000000000100001900000003025002100000051d0220027f0000051d02200167000000000121016f0000000102500210000000000121019f000000000017041b000000400140003900000000010104330000048301100197000004d90260009a000000000302041a0000048203300197000000000113019f000000000012041b00000060014000390000000001010433000004db0260009a000000000012041b00000080014000390000000001010433000004de0260009a000000000012041b000004d80160009a000000a0024000390000000002020433000000000002004b000000000201041a0000051e02200197000000010220c1bf000000c0034000390000000003030433000000000003004b000001000220c1bf000000000021041b000000000001042d000000200300003900000005060000290000000407000029000000000082004b000011820000413d0000118a0000013d000004e301000041000000000010043f0000004101000039000000040010043f0000048801000041000011f900010430000004e301000041000000000010043f0000002201000039000000040010043f0000048801000041000011f9000104300000000001000019000011f900010430000000000100041a00000483021001970000000001000411000000000012004b000011d10000c13d000000000001042d000000400200043d000004b8030000410000000000320435000000040320003900000000001304350000047f0020009c0000047f02008041000000400120021000000488011001c7000011f900010430000000000001042f0000047f0010009c0000047f01008041000000600110021000000000020004140000047f0020009c0000047f02008041000000c002200210000000000112019f00000484011001c7000080100200003911f711f20000040f0000000100200190000011eb0000613d000000000101043b000000000001042d0000000001000019000011f900010430000011f0002104210000000102000039000000000001042d0000000002000019000000000001042d000011f5002104230000000102000039000000000001042d0000000002000019000000000001042d000011f700000432000011f80001042e000011f9000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffff02000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e000000002000000000000000000000000000000400000010000000000000000001e4fbdf7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000000000000000000000005c975aba000000000000000000000000000000000000000000000000000000008da5cb5a00000000000000000000000000000000000000000000000000000000c233140500000000000000000000000000000000000000000000000000000000e2a4128200000000000000000000000000000000000000000000000000000000e2a4128300000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000c233140600000000000000000000000000000000000000000000000000000000c5dce43c00000000000000000000000000000000000000000000000000000000a7757f5000000000000000000000000000000000000000000000000000000000a7757f5100000000000000000000000000000000000000000000000000000000ba684acd000000000000000000000000000000000000000000000000000000008da5cb5b00000000000000000000000000000000000000000000000000000000a3bcd931000000000000000000000000000000000000000000000000000000008456cb58000000000000000000000000000000000000000000000000000000008b1ec71c000000000000000000000000000000000000000000000000000000008b1ec71d000000000000000000000000000000000000000000000000000000008c46f308000000000000000000000000000000000000000000000000000000008456cb5900000000000000000000000000000000000000000000000000000000845ec1b300000000000000000000000000000000000000000000000000000000715018a500000000000000000000000000000000000000000000000000000000715018a6000000000000000000000000000000000000000000000000000000007d55923d000000000000000000000000000000000000000000000000000000005c975abb0000000000000000000000000000000000000000000000000000000062afbaf80000000000000000000000000000000000000000000000000000000024600fc2000000000000000000000000000000000000000000000000000000004e43603900000000000000000000000000000000000000000000000000000000575cea6a00000000000000000000000000000000000000000000000000000000575cea6b00000000000000000000000000000000000000000000000000000000578f0de9000000000000000000000000000000000000000000000000000000004e43603a000000000000000000000000000000000000000000000000000000005397da8700000000000000000000000000000000000000000000000000000000323361e000000000000000000000000000000000000000000000000000000000323361e1000000000000000000000000000000000000000000000000000000003f4ba83a0000000000000000000000000000000000000000000000000000000024600fc3000000000000000000000000000000000000000000000000000000002fa42a6e000000000000000000000000000000000000000000000000000000001bb123ed00000000000000000000000000000000000000000000000000000000213758540000000000000000000000000000000000000000000000000000000021375855000000000000000000000000000000000000000000000000000000002439902b000000000000000000000000000000000000000000000000000000001bb123ee0000000000000000000000000000000000000000000000000000000020ee29ce000000000000000000000000000000000000000000000000000000000b616a71000000000000000000000000000000000000000000000000000000000b616a720000000000000000000000000000000000000000000000000000000016fcde180000000000000000000000000000000000000000000000000000000005eaab4b000000000000000000000000000000000000000000000000000000000840605a118cdaa700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002400000080000000000000000000000000000000ff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000800000000000000000e497b8238be5e4f32f72d877ba0627e627848cb8a6504aa01d21a347d565198e0200000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffffbf00000000000000000000000000000000000000000000003fffffffffffffffe00200000000000000000000000000000000000020000000800000000000000000006c3d35da96634b94919dc32fa231336526f9c0c13c5bd6980b4d9f79a0727f08c379a0000000000000000000000000000000000000000000000000000000004475726174696f6e206d7573742062652067726561746572207468616e2030000000000000000000000000000000000000000064000000800000000000000000ffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000002000000000000000000000000000000000000200000000000000000000000002ca3a869468497ac8aaa58840422f15436165121abdeca2d8a2c0743197651fe496e636f7272656374207061796d656e7420616d6f756e74000000000000000000000000000000000000000000000000000000640000000000000000000000004d617820626174746c65207061737365732072656163686564000000000000004175746f2d636c69636b657220616c7265616479206163746976650000000000796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d955391320200000200000000000000000000000000000004000000000000000000000000b67af7b4276341386bb65723dece00412ab60efa077e7497c9c8becee1cf0b3c496e73756666696369656e742066756e647320666f72206175746f2d636c69636b657200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000084000000800000000000000000f5adce8f4e3279f541bb9ad785c8d0f9f5d6d8dea2b65778d848a8e6d4d72f52000000000000000000000000000000000000004000000000000000000000000062e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2580c085601c9b05546c4de925af5cdebeab0dd5f5d4bea4dc57b37e961749c91180c085601c9b05546c4de925af5cdebeab0dd5f5d4bea4dc57b37e961749c911b70a08231000000000000000000000000000000000000000000000000000000000c085601c9b05546c4de925af5cdebeab0dd5f5d4bea4dc57b37e961749c911a00fdd58e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000440000000000000000000000000c085601c9b05546c4de925af5cdebeab0dd5f5d4bea4dc57b37e961749c9119000000000000000000000000000000000000000000000000000000ffffffffff00000000000000000000000000000000000000ffffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffff000000000000000000000000002c4c0dc427a50c4a69d2fc184c47a311acf950d8d2f289fbaee64e83e9b289674e487b71000000000000000000000000000000000000000000000000000000007069726174696f6e0000000000000000000000000000000000000000000000004175746f2d636c69636b6572206163746976652c207761697420666f722065780000000000000000000000000000000000000084000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff00000000000000000000000000000000000000000000000100000000000000001324b6d93080a8996651b8def13df586817313170f80fd5d5168292456d9e2c8436f6f6c646f776e20706572696f64206e6f742066696e69736865640000000055736572206e6f742072656769737465726564000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff7f0c085601c9b05546c4de925af5cdebeab0dd5f5d4bea4dc57b37e961749c911d0c085601c9b05546c4de925af5cdebeab0dd5f5d4bea4dc57b37e961749c911c0000000000000000000000000000000000000040000000800000000000000000000000000000000000000000000000000000000000000000ffffffffffffff3f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa8dfc202b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000008000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f390200000200000000000000000000000000000024000000000000000000000000eaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d5472616e73666572206661696c656400000000000000000000000000000000004e6f2066756e647320746f2077697468647261770000000000000000000000003ee5aeb5000000000000000000000000000000000000000000000000000000004552433131353520626f6e7573206e6f7420666f756e64000000000000000000c4d0729f3e7cd5d7178a5a9b705d11893cd6305d6cfcebc1f76e84a53f79316c45524337323120626f6e7573206e6f7420666f756e64000000000000000000004402b2589f1542fb3eb063831901d9aa012f80807070ff050ccf344c75f16ed5000000000000000000000000000000000000000000000000ffffffffffffff1fd4bb98bbe666183d45cbda5f8bc1d769f2128d90999c9a42c4fb92def3b50c504e616d652063616e6e6f7420626520656d707479000000000000000000000000616e203000000000000000000000000000000000000000000000000000000000426f6e75732070657263656e74206d7573742062652067726561746572207468496e76616c696420636f6e74726163742061646472657373000000000000000000000000000000000000000000000000000000200000000000000000000000004dedb00172e87028d5d017e4d95848160971afa0f755bb45bce5a880aecdfd71436f6f6c646f776e206d7573742062652067726561746572207468616e2030005573657220616c72656164792072656769737465726564000000000000000000ffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000ffff0000000000000000000000000000000000000000005265666572726572206e6f74207265676973746572656400000000000000000043616e6e6f7420726566657220796f757273656c660000000000000000000000ffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff00000000000000010000000000000000000000000000000000000000000000000b74774e4141658915edba9d58702af343e4b36c30f6805f93721612f387587bd93c0665000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffff000000000000000000ffffffffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffffffffffff0000000000000000000000ffffffffffffffff0000000000000000000000000098741ecf35c5d20a8ed68dbd8540500684864a6c98c2a41a5844d0b3a2357d434e6f20706f696e747320746f20636c61696d00000000000000000000000000004e6f207265776172647320746f20636c61696d00000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000000000000000000000009c4450b779ab89c3f3dcc7619f6ce691be8799f7c06db64a1609bd215780c5fb
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000001c6bf5263400000000000000000000000000000000000000000000000000000071afd498d0000
-----Decoded View---------------
Arg [0] : initialPrice (uint256): 500000000000000
Arg [1] : initialAutoClickerPrice (uint256): 2000000000000000
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000001c6bf52634000
Arg [1] : 00000000000000000000000000000000000000000000000000071afd498d0000
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.