Overview
SOPH Balance
SOPH Value
-More Info
Private Name Tags
ContractCreator
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Latest 1 internal transaction
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
6168441 | 3 days ago | Contract Creation | 0 SOPH |
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:
PriceFeeds
Compiler Version
v0.8.26+commit.8a97fa7a
ZkSolc Version
v1.5.6
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: GPL-3.0-only pragma solidity 0.8.26; import "contracts/farm/interfaces/IStork.sol"; import "contracts/farm/interfaces/IPriceFeeds.sol"; import "contracts/proxies/Upgradeable2Step.sol"; contract PriceFeeds is IPriceFeeds, Upgradeable2Step { mapping(address => StorkData) public storkData; IStork public immutable stork; constructor(address stork_) { if (stork_ == address(0)) revert ZeroAddress(); stork = IStork(stork_); } function getPrice(address poolToken_) external view returns (uint256) { StorkData storage token0Data = storkData[poolToken_]; if (token0Data.feedType == FeedType.Stork) { // handle stork feed return getStorkPrice(token0Data.feedHash, token0Data.staleSeconds); } else { revert InvalidType(); } } function getPrices(address[] memory poolTokens) external view returns (uint256[] memory prices) { uint256 length = poolTokens.length; prices = new uint256[](length); StorkData storage token0Data; for(uint256 i; i < length; i++) { token0Data = storkData[poolTokens[i]]; if (token0Data.feedType == FeedType.Stork) { prices[i] = getStorkPrice(token0Data.feedHash, token0Data.staleSeconds); } } } function getStorkPrice(bytes32 feedHash_, uint256 staleSeconds_) public view returns (uint256) { if (feedHash_ == 0) { // price feed not set return 0; } IStork.TemporalNumericValue memory storkValue = stork.getTemporalNumericValueUnsafeV1(feedHash_); if (staleSeconds_ != 0 && block.timestamp > (storkValue.timestampNs / 1000000000) + staleSeconds_) { // stale price return 0; } if (storkValue.quantizedValue <= 0) { // invalid price return 0; } return uint256(uint192(storkValue.quantizedValue)); } function getStorkPrices(bytes32[] memory feedHashes, uint256[] memory staleSeconds) external view returns (uint256[] memory prices) { uint256 length = feedHashes.length; require(length == staleSeconds.length, "count mismatch"); prices = new uint256[](length); for(uint256 i; i < length; i++) { prices[i] = getStorkPrice(feedHashes[i], staleSeconds[i]); } } // zero feedHash allowed, which would block updates to the pool function setStorkFeedsData(address farmContract, address[] memory poolTokens_, StorkData[] memory poolTokenDatas_) external onlyOwner { if (farmContract == address(0)) { revert ZeroAddress(); } if (poolTokens_.length != poolTokenDatas_.length) { revert CountMismatch(); } (bool success, ) = farmContract.call(abi.encodeWithSignature("massUpdatePools()")); if (!success) { revert InvalidCall(); } for (uint256 i; i < poolTokens_.length; i++) { if (poolTokenDatas_[i].feedType != FeedType.Stork) { revert InvalidType(); } if (poolTokenDatas_[i].staleSeconds == 0) { revert InvalidStaleSeconds(); } StorkData storage tokenData = storkData[poolTokens_[i]]; FeedType currentType = tokenData.feedType; if (currentType == FeedType.Undefined) { tokenData.feedType = poolTokenDatas_[i].feedType; } else { if (poolTokenDatas_[i].feedType != currentType) { // we can't change the FeedType once it is set revert TypeMismatch(); } } tokenData.feedHash = poolTokenDatas_[i].feedHash; tokenData.staleSeconds = poolTokenDatas_[i].staleSeconds; emit SetPriceFeedData(poolTokens_[i], poolTokenDatas_[i].feedType, poolTokenDatas_[i].feedHash, poolTokenDatas_[i].staleSeconds); } } }
// SPDX-License-Identifier: GPL-3.0-only pragma solidity 0.8.26; interface IStork { struct TemporalNumericValue { // slot 1 // nanosecond level precision timestamp of latest publisher update in batch uint64 timestampNs; // 8 bytes // should be able to hold all necessary numbers (up to 6277101735386680763835789423207666416102355444464034512895) int192 quantizedValue; // 8 bytes } function getTemporalNumericValueV1(bytes32 id) external view returns (TemporalNumericValue memory value); function getTemporalNumericValueUnsafeV1(bytes32 id) external view returns (TemporalNumericValue memory value); }
// SPDX-License-Identifier: GPL-3.0-only pragma solidity 0.8.26; interface IPriceFeeds { event SetPriceFeedData(address indexed poolToken, FeedType feedType, bytes32 feedHash, uint256 staleSeconds); error ZeroAddress(); error CountMismatch(); error InvalidCall(); error InvalidType(); error TypeMismatch(); error InvalidStaleSeconds(); enum FeedType { Undefined, Stork } struct StorkData { bytes32 feedHash; uint256 staleSeconds; FeedType feedType; } function getPrice(address poolToken_) external view returns (uint256); function getStorkPrice(bytes32 feedHash_, uint256 staleSeconds_) external view returns (uint256); function setStorkFeedsData(address farmContract, address[] memory poolTokens_, StorkData[] memory poolTokenDatas_) external; }
// SPDX-License-Identifier: GPL-3.0-only pragma solidity 0.8.26; import "contracts/access/Ownable2Step.sol"; event ReplaceImplementationStarted(address indexed previousImplementation, address indexed newImplementation); event ReplaceImplementation(address indexed previousImplementation, address indexed newImplementation); error Unauthorized(); contract Upgradeable2Step is Ownable2Step { address public pendingImplementation; address public implementation; constructor() Ownable(msg.sender) {} // called on an inheriting proxy contract function replaceImplementation(address impl_) public onlyOwner { pendingImplementation = impl_; emit ReplaceImplementationStarted(implementation, impl_); } // called from an inheriting implementation contract function acceptImplementation() public { if (msg.sender != pendingImplementation) { revert OwnableUnauthorizedAccount(msg.sender); } emit ReplaceImplementation(implementation, msg.sender); delete pendingImplementation; implementation = msg.sender; } // called on an inheriting implementation contract function becomeImplementation(Upgradeable2Step proxy) public { if (msg.sender != proxy.owner()) { revert Unauthorized(); } proxy.acceptImplementation(); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable2Step.sol) pragma solidity ^0.8.20; import {Ownable} from "contracts/access/Ownable.sol"; /** * @dev Contract module which provides access control mechanism, where * there is an account (an owner) that can be granted exclusive access to * specific functions. * * The initial owner is specified at deployment time in the constructor for `Ownable`. This * can later be changed with {transferOwnership} and {acceptOwnership}. * * This module is used through inheritance. It will make available all functions * from parent (Ownable). */ abstract contract Ownable2Step is Ownable { address private _pendingOwner; event OwnershipTransferStarted(address indexed previousOwner, address indexed newOwner); /** * @dev Returns the address of the pending owner. */ function pendingOwner() public view virtual returns (address) { return _pendingOwner; } /** * @dev Starts the ownership transfer of the contract to a new account. Replaces the pending transfer if there is one. * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual override onlyOwner { _pendingOwner = newOwner; emit OwnershipTransferStarted(owner(), newOwner); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`) and deletes any pending owner. * Internal function without access restriction. */ function _transferOwnership(address newOwner) internal virtual override { delete _pendingOwner; super._transferOwnership(newOwner); } /** * @dev The new owner accepts the ownership transfer. */ function acceptOwnership() public virtual { address sender = _msgSender(); if (pendingOwner() != sender) { revert OwnableUnauthorizedAccount(sender); } _transferOwnership(sender); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol) pragma solidity ^0.8.20; import {Context} from "contracts/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.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": "shanghai", "optimizer": { "enabled": true, "runs": 200 }, "libraries": { "PriceFeeds.sol": {} }, "remappings": [ "@erc721a=./node_modules/erc721a/contracts", "@chainlink=./node_modules/@chainlink/contracts/src/v0.8", "@openzeppelin=./node_modules/@openzeppelin", "OpenZeppelin=C:/Users/tomcb/.brownie/packages/OpenZeppelin", "paulrberg=C:/Users/tomcb/.brownie/packages/paulrberg" ], "metadata": { "appendCBOR": false, "bytecodeHash": "none" }, "outputSelection": { "*": { "*": [ "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"stork_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"CountMismatch","type":"error"},{"inputs":[],"name":"InvalidCall","type":"error"},{"inputs":[],"name":"InvalidStaleSeconds","type":"error"},{"inputs":[],"name":"InvalidType","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":"TypeMismatch","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferStarted","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":true,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ReplaceImplementation","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousImplementation","type":"address"},{"indexed":true,"internalType":"address","name":"newImplementation","type":"address"}],"name":"ReplaceImplementationStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"poolToken","type":"address"},{"indexed":false,"internalType":"enum IPriceFeeds.FeedType","name":"feedType","type":"uint8"},{"indexed":false,"internalType":"bytes32","name":"feedHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"staleSeconds","type":"uint256"}],"name":"SetPriceFeedData","type":"event"},{"inputs":[],"name":"acceptImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"acceptOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract Upgradeable2Step","name":"proxy","type":"address"}],"name":"becomeImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"poolToken_","type":"address"}],"name":"getPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"poolTokens","type":"address[]"}],"name":"getPrices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"feedHash_","type":"bytes32"},{"internalType":"uint256","name":"staleSeconds_","type":"uint256"}],"name":"getStorkPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32[]","name":"feedHashes","type":"bytes32[]"},{"internalType":"uint256[]","name":"staleSeconds","type":"uint256[]"}],"name":"getStorkPrices","outputs":[{"internalType":"uint256[]","name":"prices","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"impl_","type":"address"}],"name":"replaceImplementation","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"farmContract","type":"address"},{"internalType":"address[]","name":"poolTokens_","type":"address[]"},{"components":[{"internalType":"bytes32","name":"feedHash","type":"bytes32"},{"internalType":"uint256","name":"staleSeconds","type":"uint256"},{"internalType":"enum IPriceFeeds.FeedType","name":"feedType","type":"uint8"}],"internalType":"struct IPriceFeeds.StorkData[]","name":"poolTokenDatas_","type":"tuple[]"}],"name":"setStorkFeedsData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stork","outputs":[{"internalType":"contract IStork","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"storkData","outputs":[{"internalType":"bytes32","name":"feedHash","type":"bytes32"},{"internalType":"uint256","name":"staleSeconds","type":"uint256"},{"internalType":"enum IPriceFeeds.FeedType","name":"feedType","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
9c4d535b0000000000000000000000000000000000000000000000000000000000000000010002570ef8ee9db90a696e7ff9f5e0a923dc50eefdb8e6c1f5adfe98d42e2e000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000200000000000000000000000006a2ab154d7c5ba9fdea6d8a0c79818a4463a63f9
Deployed Bytecode
0x0001000000000002000c000000000002000000000301034f000000600110027000000202041001970000000100200190000000360000c13d0000008001000039000000400010043f000000040040008c000000590000413d000000000143034f000000000203043b000000e0022002700000020c0020009c0000005b0000a13d0000020d0020009c000000c20000a13d0000020e0020009c000000f40000a13d0000020f0020009c000001dd0000613d000002100020009c000001ee0000613d000002110020009c000000590000c13d000000240040008c000000590000413d0000000001000416000000000001004b000000590000c13d0000000401300370000000000601043b000002050060009c000000590000213d000000000100041a00000205011001970000000005000411000000000051004b000002c80000c13d0000000101000039000000000201041a0000020602200197000000000262019f000000000021041b0000000001000414000002020010009c0000020201008041000000c00110021000000207011001c70000800d0200003900000003030000390000022504000041000002b50000013d0000000001000416000000000001004b000000590000c13d0000001f014000390000020301100197000000a001100039000000400010043f0000001f0240018f0000020405400198000000a001500039000000470000613d000000a006000039000000000703034f000000007807043c0000000006860436000000000016004b000000430000c13d000000000002004b000000540000613d000000000353034f0000000302200210000000000501043300000000052501cf000000000525022f000000000303043b0000010002200089000000000323022f00000000022301cf000000000252019f0000000000210435000000200040008c000000590000413d000000a00100043d000002050010009c000000ba0000a13d00000000010000190000080400010430000002190020009c000000cd0000213d0000021f0020009c000000fd0000213d000002220020009c000002030000613d000002230020009c000000590000c13d000000440040008c000000590000413d0000000002000416000000000002004b000000590000c13d0000000402300370000000000202043b000002300020009c000000590000213d0000002305200039000000000045004b000000590000813d0000000405200039000000000553034f000000000605043b0000024e0060009c000002980000813d00000005056002100000003f075000390000023107700197000002320070009c000002980000213d0000008007700039000000400070043f000000800060043f00000024022000390000000005250019000000000045004b000000590000213d000000000006004b000000890000613d000000a006000039000000000723034f000000000707043b00000000067604360000002002200039000000000052004b000000830000413d0000002402300370000000000202043b000002300020009c000000590000213d0000002305200039000000000045004b000000000600001900000233060080410000023305500197000000000005004b00000000070000190000023307004041000002330050009c000000000706c019000000000007004b000000590000c13d0000000405200039000000000553034f000000000505043b000002300050009c000002980000213d00000005065002100000003f076000390000023107700197000000400800043d0000000007780019000500000008001d000000000087004b00000000080000390000000108004039000002300070009c000002980000213d0000000100800190000002980000c13d000000400070043f00000005070000290000000007570436000100000007001d00000024022000390000000006260019000000000046004b000000590000213d000000000005004b000005120000c13d000000800200043d000000000002004b000400000000001d000005220000613d000005450000013d0000000006000411000000000006004b000000d80000c13d0000020a01000041000000000010043f000000040000043f0000020b010000410000080400010430000002140020009c000001290000213d000002170020009c000002270000613d000002180020009c000000590000c13d0000000001000416000000000001004b000000590000c13d000000000100041a0000027e0000013d0000021a0020009c000001c00000213d0000021d0020009c0000024d0000613d0000021e0020009c000000590000c13d0000000001000416000000000001004b000000590000c13d00000003010000390000027d0000013d0000000102000039000a00000001001d000000000102041a0000020601100197000000000012041b000000000100041a0000020602100197000000000262019f000000000020041b00000000020004140000020505100197000002020020009c0000020202008041000000c00120021000000207011001c70000800d0200003900000003030000390000020804000041080207f80000040f0000000a010000290000000100200190000000590000613d0000020501100198000002ba0000c13d0000023f01000041000000000010043f00000229010000410000080400010430000002120020009c0000025b0000613d000002130020009c000000590000c13d0000000001000416000000000001004b000000590000c13d00000001010000390000027d0000013d000002200020009c000002790000613d000002210020009c000000590000c13d000000240040008c000000590000413d0000000001000416000000000001004b000000590000c13d0000000401300370000000000101043b000002050010009c000000590000213d000000000010043f0000000401000039000000200010043f0000000001000414000002020010009c0000020201008041000000c00110021000000239011001c70000801002000039080207fd0000040f0000000100200190000000590000613d000000000101043b0000000202100039000000000202041a000000ff0220018f000000020020008c000002470000813d000000010020008c000006cf0000c13d000000000301041a000000000003004b00000000020000190000038a0000c13d000000400100043d0000000000210435000002020010009c000002020100804100000040011002100000022d011001c7000008030001042e000002150020009c000002820000613d000002160020009c000000590000c13d000000640040008c000000590000413d0000000002000416000000000002004b000000590000c13d0000000402300370000000000202043b000002050020009c000000590000213d0000002405300370000000000505043b000002300050009c000000590000213d0000002306500039000000000046004b000000590000813d0000000406500039000000000663034f000000000706043b000002300070009c000002980000213d00000005067002100000003f086000390000023108800197000002320080009c000002980000213d0000008008800039000000400080043f000000800070043f00000024055000390000000006560019000000000046004b000000590000213d000000000007004b0000015a0000613d0000008007000039000000000853034f000000000808043b000002050080009c000000590000213d000000200770003900000000008704350000002005500039000000000065004b000001510000413d0000004405300370000000000505043b000002300050009c000000590000213d0000002306500039000000000046004b000000000700001900000233070080410000023306600197000000000006004b00000000080000190000023308004041000002330060009c000000000807c019000000000008004b000000590000c13d0000000406500039000000000663034f000000000706043b000002300070009c000002980000213d00000005067002100000003f066000390000023106600197000000400800043d0000000006680019000900000008001d000000000086004b00000000080000390000000108004039000002300060009c000002980000213d0000000100800190000002980000c13d000000400060043f00000009060000290000000006760436000600000006001d000000240550003900000060067000c90000000006560019000000000046004b000000590000213d000000000007004b000001a40000613d00000006070000290000000008540049000002340080009c000000590000213d000000600080008c000000590000413d000000400800043d000002350080009c000002980000213d0000006009800039000000400090043f000000000953034f000000000909043b0000000009980436000000200a500039000000000aa3034f000000000a0a043b0000000000a904350000004009500039000000000993034f000000000909043b000000010090008c000000590000213d000000400a80003900000000009a043500000000078704360000006005500039000000000065004b000001880000413d000000000300041a00000205043001970000000003000411000000000034004b000005560000c13d0000020500200198000000f00000613d00000009030000290000000003030433000000800400043d000000000034004b0000061d0000c13d000000400400043d0000000403000039000000000334043600000237050000410000000000530435000002380040009c000002980000213d0000004005400039000000400050043f00000000050404330000000004000414000000040020008c000006230000c13d00000001020000390000000003000031000006330000013d0000021b0020009c0000029e0000613d0000021c0020009c000000590000c13d0000000001000416000000000001004b000000590000c13d0000000101000039000000000201041a00000205032001970000000006000411000000000063004b000002c30000c13d0000020602200197000000000021041b000000000100041a0000020602100197000000000262019f000000000020041b00000000020004140000020505100197000002020020009c0000020202008041000000c00120021000000207011001c70000800d0200003900000003030000390000020804000041000002b50000013d000000440040008c000000590000413d0000000001000416000000000001004b000000590000c13d0000000401300370000000000101043b0000002402300370000000000202043b080207140000040f000000400200043d0000000000120435000002020020009c000002020200804100000040012002100000022d011001c7000008030001042e000000240040008c000000590000413d0000000001000416000000000001004b000000590000c13d0000000401300370000000000101043b000002050010009c000000590000213d00000205021001970000022601000041000000800010043f0000000001000414000000040020008c000a00000002001d000002cd0000c13d0000000003000031000000200030008c00000020040000390000000004034019000002f10000013d0000000001000416000000000001004b000000590000c13d0000000201000039000000000201041a00000205012001970000000006000411000000000016004b000002c30000c13d000a00000002001d0000000303000039000000000203041a0000000001000414000002020010009c0000020201008041000000c00110021000000207011001c7000900000002001d00000205052001970000800d020000390000025204000041080207f80000040f0000000100200190000000590000613d0000000a0100002900000206011001970000000202000039000000000012041b000000090100002900000206011001970000000002000411000000000121019f0000000302000039000000000012041b0000000001000019000008030001042e000000240040008c000000590000413d0000000001000416000000000001004b000000590000c13d0000000401300370000000000101043b000002050010009c000000590000213d000000000010043f0000000401000039000000200010043f0000000001000414000002020010009c0000020201008041000000c00110021000000239011001c70000801002000039080207fd0000040f0000000100200190000000590000613d000000000101043b0000000202100039000000000202041a0000000103100039000000000303041a000000000101041a000000800010043f000000a00030043f000000ff0120018f000000010010008c0000032f0000a13d0000024d01000041000000000010043f0000002101000039000000040010043f0000020b0100004100000804000104300000000001000416000000000001004b000000590000c13d0000000001000412000c00000001001d000b00000000003d0000800501000039000000440300003900000000040004150000000c0440008a00000005044002100000024202000041080207da0000040f0000027e0000013d000000240040008c000000590000413d0000000001000416000000000001004b000000590000c13d0000000401300370000000000601043b000002050060009c000000590000213d000000000100041a00000205021001970000000001000411000000000012004b0000032a0000c13d0000000201000039000000000201041a0000020602200197000000000262019f000000000021041b0000000303000039000000000103041a00000000020004140000020505100197000002020020009c0000020202008041000000c00120021000000207011001c70000800d020000390000022f04000041000002b50000013d0000000001000416000000000001004b000000590000c13d0000000201000039000000000101041a0000020501100197000000800010043f0000022e01000041000008030001042e000000240040008c000000590000413d0000000002000416000000000002004b000000590000c13d0000000402300370000000000202043b000002300020009c000000590000213d0000002305200039000000000045004b000000590000813d0000000405200039000000000553034f000000000605043b000002300060009c000002980000213d00000005056002100000003f075000390000023107700197000002320070009c000003320000a13d0000024d01000041000000000010043f0000004101000039000000040010043f0000020b0100004100000804000104300000000001000416000000000001004b000000590000c13d000000000100041a00000205021001970000000005000411000000000052004b000002c80000c13d0000000102000039000000000302041a0000020603300197000000000032041b0000020601100197000000000010041b0000000001000414000002020010009c0000020201008041000000c00110021000000207011001c70000800d02000039000000030300003900000208040000410000000006000019080207f80000040f0000000100200190000000590000613d0000000001000019000008030001042e000000800010043f0000014000000443000001600010044300000020010000390000010000100443000000010100003900000120001004430000020901000041000008030001042e0000022401000041000000000010043f000000040060043f0000020b0100004100000804000104300000022401000041000000000010043f000000040050043f0000020b010000410000080400010430000002020010009c0000020201008041000000c00110021000000227011001c7080207fd0000040f000000800a00003900000060031002700000020203300197000000200030008c000000200400003900000000040340190000001f0640018f000000200740019000000080057001bf000002e10000613d000000000801034f000000008908043c000000000a9a043600000000005a004b000002dd0000c13d000000000006004b000002ee0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000003680000613d0000001f01400039000000600110018f00000080011001bf000000400010043f000000200030008c000000590000413d000000800100043d000002050010009c000000590000213d0000000002000411000000000012004b000003860000c13d0000022a0100004100000000001004430000000a0100002900000004001004430000000001000414000002020010009c0000020201008041000000c0011002100000022b011001c70000800202000039080207fd0000040f0000000100200190000006100000613d000000000101043b000000000001004b000000590000613d000000400400043d0000022c01000041000000000014043500000000010004140000000a02000029000000040020008c000003250000613d000002020040009c000002020200004100000000020440190000004002200210000002020010009c0000020201008041000000c001100210000000000121019f00000229011001c70000000a02000029000a00000004001d080207f80000040f0000000a040000290000006003100270000002020030019d0000000100200190000005050000613d00000000010400190000000002000019080206f30000040f0000000001000019000008030001042e0000022402000041000000000020043f000000040010043f0000020b010000410000080400010430000000c00010043f0000024b01000041000008030001042e0000008007700039000400000007001d000000400070043f000000800060043f00000024022000390000000005250019000000000045004b000000590000213d000000000006004b0000000004000019000003ac0000c13d000800000004001d00000005024002100000003f0320003900000240043001970000000403400029000000000043004b00000000040000390000000104004039000002300030009c000002980000213d0000000100400190000002980000c13d000000400030043f000000040300002900000008040000290000000003430436000300000003001d0000001f0320018f000000000002004b000003570000613d00000003040000290000000002240019000000001501043c0000000004540436000000000024004b000003530000c13d000000000003004b000000080000006b000003be0000c13d000000400100043d000a00000001001d0000000402000029080207050000040f0000000a020000290000000001210049000002020010009c00000202010080410000006001100210000002020020009c00000202020080410000004002200210000000000121019f000008030001042e0000001f0530018f0000020406300198000000400200043d0000000004620019000003730000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000036f0000c13d000000000005004b000003800000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000002020020009c00000202020080410000004002200210000000000112019f00000804000104300000022801000041000000000010043f000002290100004100000804000104300000000101100039000000000101041a000800000001001d000000400200043d00000241010000410000000001120436000900000001001d000a00000002001d00000004012000390000000000310435000002420100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000002020010009c0000020201008041000000c00110021000000243011001c70000800502000039080207fd0000040f0000000100200190000006100000613d000000000201043b00000000010004140000020502200197000000040020008c000004880000c13d0000000003000031000000400030008c00000040040000390000000004034019000004b10000013d0000008004000039000000000623034f000000000606043b000002050060009c000000590000213d000000200440003900000000006404350000002002200039000000000052004b000003ad0000413d000000800200043d000002300020009c000002980000213d0000000003020019000000400200043d000400000002001d00000000040300190000033d0000013d0000000004000019000003c30000013d0000000104400039000000000034004b0000035a0000813d000000800100043d000000000041004b000006d30000a13d000a00000004001d0000000501400210000900000001001d000000a00110003900000000010104330000020501100197000000000010043f0000000401000039000000200010043f0000000001000414000002020010009c0000020201008041000000c00110021000000239011001c70000801002000039080207fd0000040f0000000100200190000000590000613d000000000101043b0000000202100039000000000202041a000000ff0220018f000000010020008c0000000803000029000002470000213d0000000a04000029000003c00000c13d000000000201041a000000000002004b000004080000613d0000000101100039000000000101041a000700000001001d000000400300043d00000241010000410000000001130436000500000001001d000600000003001d00000004013000390000000000210435000002420100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000002020010009c0000020201008041000000c00110021000000243011001c70000800502000039080207fd0000040f0000000100200190000006100000613d000000000201043b00000000010004140000020502200197000000040020008c0000040a0000c13d0000000003000031000000400030008c000000400400003900000000040340190000000706000029000000060a000029000004340000013d0000000002000019000004800000013d0000000603000029000002020030009c00000202030080410000004003300210000002020010009c0000020201008041000000c001100210000000000131019f0000020b011001c7080207fd0000040f000000060a00002900000060031002700000020203300197000000400030008c00000040040000390000000004034019000000600640019000000000056a0019000004230000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b0000041f0000c13d0000001f07400190000004300000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000006110000613d00000007060000290000001f01400039000000e00210018f0000000001a20019000000000021004b00000000020000390000000102004039000002300010009c000002980000213d0000000100200190000002980000c13d000000400010043f000000400030008c000000590000413d000002380010009c000002980000213d0000004002100039000000400020043f00000000030a0433000002300030009c000000590000213d0000000007310436000000050100002900000000010104330000024402100197000002450410019800000246050000410000000005006019000000000525019f000000000051004b000000590000c13d0000000000170435000000000006004b000004710000613d000600000007001d00000230013001970005024700100132000000050060002a000006ed0000413d000002480100004100000000001004430000000001000414000002020010009c0000020201008041000000c00110021000000249011001c70000800b02000039080207fd0000040f0000000100200190000006100000613d00000005030000290000000702300029000000000101043b000000000021004b000000000200001900000008030000290000000a040000290000000601000029000004800000213d000000000101043300000244021001970000024504100197000000000004004b00000246030000410000000003006019000000000223019f000002340020009c0000047d0000213d000000000002004b000000000200001900000008030000290000000a040000290000024a0210c197000004800000013d000000000200001900000008030000290000000a0400002900000004010000290000000001010433000000000041004b000006d30000a13d000000090500002900000003015000290000000000210435000003c00000013d0000000a03000029000002020030009c00000202030080410000004003300210000002020010009c0000020201008041000000c001100210000000000131019f0000020b011001c7080207fd0000040f00000060031002700000020203300197000000400030008c000000400400003900000000040340190000001f0640018f00000060074001900000000a05700029000004a10000613d000000000801034f0000000a09000029000000008a08043c0000000009a90436000000000059004b0000049d0000c13d000000000006004b000004ae0000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000004f90000613d0000001f01400039000000e00210018f0000000a01200029000000000021004b00000000020000390000000102004039000002300010009c000002980000213d0000000100200190000002980000c13d000000400010043f000000400030008c000000590000413d000002380010009c000002980000213d0000004002100039000000400020043f0000000a020000290000000003020433000002300030009c000000590000213d0000000001310436000a00000001001d000000090100002900000000010104330000024402100197000002450410019800000246050000410000000005006019000000000525019f000000000051004b000000590000c13d0000000a050000290000000000150435000000080000006b000004ef0000613d0000023001300197000002470210012a000900000002001d000000080020002a000006ed0000413d000002480100004100000000001004430000000001000414000002020010009c0000020201008041000000c00110021000000249011001c70000800b02000039080207fd0000040f0000000100200190000006100000613d00000009030000290000000802300029000000000101043b000000000021004b0000000002000019000001220000213d0000000a01000029000000000101043300000244021001970000024504100197000000000004004b00000246030000410000000003006019000000000223019f000002340020009c000006210000213d000000000002004b00000000020000190000024a0210c197000001220000013d0000001f0530018f0000020406300198000000400200043d0000000004620019000003730000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000005000000c13d000003730000013d00000202033001970000001f0530018f0000020406300198000000400200043d0000000004620019000003730000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b0000050d0000c13d000003730000013d0000000104000029000000000523034f000000000505043b00000000045404360000002002200039000000000062004b000005130000413d00000005020000290000000003020433000000800200043d000400000003001d000000000032004b000005450000c13d0000000402000029000002300020009c000002980000213d000000040200002900000005022002100000003f032000390000024003300197000000400400043d0000000003340019000300000004001d000000000043004b00000000040000390000000104004039000002300030009c000002980000213d0000000100400190000002980000c13d000000400030043f000000040300002900000003040000290000000003340436000200000003001d0000001f0320018f000000000002004b0000053e0000613d00000002040000290000000002240019000000001501043c0000000004540436000000000024004b0000053a0000c13d000000000003004b000000040000006b0000055b0000c13d000000400100043d000a00000001001d00000003020000290000035d0000013d000000400100043d00000044021000390000024f03000041000000000032043500000024021000390000000e03000039000000000032043500000250020000410000000000210435000000040210003900000020030000390000000000320435000002020010009c0000020201008041000000400110021000000251011001c700000804000104300000022401000041000000000010043f000000040030043f0000020b0100004100000804000104300000000003000019000000800100043d000000000031004b000006d30000a13d00000005010000290000000001010433000000000031004b000006d30000a13d0000000504300210000000a0014000390000000001010433000000000001004b0000058e0000613d000800000003001d000700000004001d00000001024000290000000002020433000a00000002001d000000400300043d00000241020000410000000002230436000600000002001d000900000003001d00000004023000390000000000120435000002420100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000002020010009c0000020201008041000000c00110021000000243011001c70000800502000039080207fd0000040f0000000100200190000006100000613d000000000201043b00000000010004140000020502200197000000040020008c000005900000c13d0000000003000031000000400030008c000000400400003900000000040340190000000a06000029000000090a000029000005ba0000013d0000000002000019000006060000013d0000000903000029000002020030009c00000202030080410000004003300210000002020010009c0000020201008041000000c001100210000000000131019f0000020b011001c7080207fd0000040f000000090a00002900000060031002700000020203300197000000400030008c00000040040000390000000004034019000000600640019000000000056a0019000005a90000613d000000000701034f00000000080a0019000000007907043c0000000008980436000000000058004b000005a50000c13d0000001f07400190000005b60000613d000000000661034f0000000307700210000000000805043300000000087801cf000000000878022f000000000606043b0000010007700089000000000676022f00000000067601cf000000000686019f0000000000650435000000000003001f0000000100200190000006d90000613d0000000a060000290000001f01400039000000e00210018f0000000001a20019000000000021004b00000000020000390000000102004039000002300010009c000002980000213d0000000100200190000002980000c13d000000400010043f000000400030008c000000590000413d000002380010009c000002980000213d0000004002100039000000400020043f00000000030a0433000002300030009c000000590000213d0000000007310436000000060100002900000000010104330000024402100197000002450410019800000246050000410000000005006019000000000525019f000000000051004b000000590000c13d0000000000170435000000000006004b000005f70000613d000900000007001d00000230013001970006024700100132000000060060002a000006ed0000413d000002480100004100000000001004430000000001000414000002020010009c0000020201008041000000c00110021000000249011001c70000800b02000039080207fd0000040f0000000100200190000006100000613d00000006030000290000000a02300029000000000101043b000000000021004b0000000002000019000000080300002900000007040000290000000901000029000006060000213d000000000101043300000244021001970000024504100197000000000004004b00000246030000410000000003006019000000000223019f000002340020009c000006030000213d000000000002004b0000000002000019000000080300002900000007040000290000024a0210c197000006060000013d00000000020000190000000803000029000000070400002900000003010000290000000001010433000000000031004b000006d30000a13d000000020140002900000000002104350000000103300039000000040030006c0000055c0000413d000005410000013d000000000001042f0000001f0530018f0000020406300198000000400200043d0000000004620019000003730000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000006180000c13d000003730000013d0000023601000041000000000010043f000002290100004100000804000104300000000002000019000001220000013d000002020030009c00000202030080410000004001300210000002020050009c00000202050080410000006003500210000000000113019f000002020040009c0000020204008041000000c003400210000000000131019f080207f80000040f000000010220018f0000006003100270000002020030019d0000020203300197000000000003004b0000063b0000c13d000000000002004b000006610000c13d0000023e01000041000000000010043f000002290100004100000804000104300000001f0530003900000253055001970000003f055000390000025306500197000000400500043d0000000006650019000000000056004b00000000070000390000000107004039000002300060009c000002980000213d0000000100700190000002980000c13d000000400060043f000000000635043600000253043001980000001f0530018f0000000003460019000006530000613d000000000701034f000000007807043c0000000006860436000000000036004b0000064f0000c13d000000000005004b000006350000613d000000000141034f0000000304500210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f0000000000130435000006350000013d000000800100043d000000000001004b000002b80000613d000a00000000001d000000090100002900000000010104330000000a02000029000000000021004b000006d30000a13d00000005012002100000000602100029000800000002001d000000000202043300000040032000390000000003030433000000010030008c000002470000213d000006cf0000c13d00000020022000390000000002020433000000000002004b000006e50000613d000000a001100039000700000001001d00000000010104330000020501100197000000000010043f0000000401000039000000200010043f0000000001000414000002020010009c0000020201008041000000c00110021000000239011001c70000801002000039080207fd0000040f0000000100200190000000590000613d000000000101043b0000000204100039000000000504041a000000ff0250018f000000010020008c0000000a07000029000002470000213d00000009030000290000000003030433000000000002004b0000069e0000613d000000000073004b000006d30000a13d0000000803000029000000000303043300000040043000390000000004040433000000010040008c000002470000213d000000000024004b0000000102000039000006a90000613d000006e90000013d000000000073004b000006d30000a13d0000000802000029000000000302043300000040023000390000000002020433000000010020008c000002470000213d0000025405500197000000000552019f000000000054041b0000000043030434000000000031041b00000001051000390000000001040433000000000015041b000000800400043d000000000074004b000006d30000a13d00000007040000290000000004040433000000400500043d00000040065000390000000000160435000000200150003900000000003104350000000000250435000002020050009c000002020500804100000040015002100000000002000414000002020020009c0000020202008041000000c002200210000000000112019f0000023b011001c700000205054001970000800d0200003900000002030000390000023c04000041080207f80000040f0000000100200190000000590000613d0000000a02000029000a00010020003d000000800100043d0000000a0010006b000006650000413d000002b80000013d0000024c01000041000000000010043f000002290100004100000804000104300000024d01000041000000000010043f0000003201000039000000040010043f0000020b0100004100000804000104300000001f0530018f0000020406300198000000400200043d0000000004620019000003730000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000006e00000c13d000003730000013d0000023d01000041000000000010043f000002290100004100000804000104300000023a01000041000000000010043f000002290100004100000804000104300000024d01000041000000000010043f0000001101000039000000040010043f0000020b0100004100000804000104300000001f0220003900000253022001970000000001120019000000000021004b00000000020000390000000102004039000002300010009c000006ff0000213d0000000100200190000006ff0000c13d000000400010043f000000000001042d0000024d01000041000000000010043f0000004101000039000000040010043f0000020b01000041000008040001043000000020030000390000000004310436000000000302043300000000003404350000004001100039000000000003004b000007130000613d00000000040000190000002002200039000000000502043300000000015104360000000104400039000000000034004b0000070d0000413d000000000001042d0003000000000002000000000001004b000007aa0000613d000300000002001d000000400300043d00000241020000410000000002230436000100000002001d000200000003001d00000004023000390000000000120435000002420100004100000000001004430000000001000412000000040010044300000024000004430000000001000414000002020010009c0000020201008041000000c00110021000000243011001c70000800502000039080207fd0000040f0000000100200190000007b40000613d000000000201043b00000000010004140000020502200197000000040020008c000007390000c13d0000000003000031000000400030008c000000400400003900000000040340190000000306000029000000020b000029000007640000013d0000000203000029000002020030009c00000202030080410000004003300210000002020010009c0000020201008041000000c001100210000000000131019f0000020b011001c7080207fd0000040f000000020b00002900000060031002700000020203300197000000400030008c000000400400003900000000040340190000001f0640018f000000600740019000000000057b0019000007530000613d000000000801034f00000000090b0019000000008a08043c0000000009a90436000000000059004b0000074f0000c13d000000000006004b000007600000613d000000000771034f0000000306600210000000000805043300000000086801cf000000000868022f000000000707043b0000010006600089000000000767022f00000000066701cf000000000686019f0000000000650435000000000003001f0000000100200190000007b50000613d00000003060000290000001f01400039000000e00210018f0000000001b20019000000000021004b00000000020000390000000102004039000002300010009c000007ae0000213d0000000100200190000007ae0000c13d000000400010043f000000400030008c000007ac0000413d000002380010009c000007ae0000213d0000004002100039000000400020043f00000000030b0433000002300030009c000007ac0000213d0000000007310436000000010100002900000000020104330000024401200197000002450420019800000246050000410000000005006019000000000515019f000000000052004b000007ac0000c13d0000000000270435000000000006004b0000079f0000613d000200000007001d00000230013001970001024700100132000000010060002a000007d30000413d000002480100004100000000001004430000000001000414000002020010009c0000020201008041000000c00110021000000249011001c70000800b02000039080207fd0000040f0000000100200190000007b40000613d00000001030000290000000302300029000000000101043b000000000021004b00000000010000190000000202000029000007ab0000213d000000000202043300000244012001970000024504200197000000000004004b00000246030000410000000003006019000000000113019f000002340010009c000007aa0000213d000000000001004b0000000001000019000007ab0000613d0000024a01200197000000000001042d0000000001000019000000000001042d000000000100001900000804000104300000024d01000041000000000010043f0000004101000039000000040010043f0000020b010000410000080400010430000000000001042f0000001f0530018f0000020406300198000000400200043d0000000004620019000007c00000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000007bc0000c13d000000000005004b000007cd0000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000002020020009c00000202020080410000004002200210000000000121019f00000804000104300000024d01000041000000000010043f0000001101000039000000040010043f0000020b010000410000080400010430000000000001042f00000000050100190000000000200443000000050030008c000007e80000413d000000040100003900000000020000190000000506200210000000000664001900000005066002700000000006060031000000000161043a0000000102200039000000000031004b000007e00000413d000002020030009c000002020300804100000060013002100000000002000414000002020020009c0000020202008041000000c002200210000000000112019f00000255011001c70000000002050019080207fd0000040f0000000100200190000007f70000613d000000000101043b000000000001042d000000000001042f000007fb002104210000000102000039000000000001042d0000000002000019000000000001042d00000800002104230000000102000039000000000001042d0000000002000019000000000001042d0000080200000432000008030001042e000008040001043000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000000ffffffe0000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000008be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e000000002000000000000000000000000000000800000010000000000000000001e4fbdf70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000000000000000000000000000000000000000000000000000000000000084027d8a00000000000000000000000000000000000000000000000000000000d69efdc400000000000000000000000000000000000000000000000000000000e9bed18f00000000000000000000000000000000000000000000000000000000e9bed19000000000000000000000000000000000000000000000000000000000eaac8c3200000000000000000000000000000000000000000000000000000000f2fde38b00000000000000000000000000000000000000000000000000000000d69efdc500000000000000000000000000000000000000000000000000000000e30c3978000000000000000000000000000000000000000000000000000000008fb5a481000000000000000000000000000000000000000000000000000000008fb5a48200000000000000000000000000000000000000000000000000000000b3f7fba90000000000000000000000000000000000000000000000000000000084027d8b000000000000000000000000000000000000000000000000000000008da5cb5b000000000000000000000000000000000000000000000000000000005515f7f500000000000000000000000000000000000000000000000000000000715018a500000000000000000000000000000000000000000000000000000000715018a60000000000000000000000000000000000000000000000000000000079ba5097000000000000000000000000000000000000000000000000000000005515f7f6000000000000000000000000000000000000000000000000000000005c60da1b00000000000000000000000000000000000000000000000000000000396f7b2200000000000000000000000000000000000000000000000000000000396f7b230000000000000000000000000000000000000000000000000000000041976e090000000000000000000000000000000000000000000000000000000015ba56e50000000000000000000000000000000000000000000000000000000038949f4c118cdaa70000000000000000000000000000000000000000000000000000000038d16b8cac22d99fc7c124b9cd0de2d3fa1faef420bfe791d8c362d765e227008da5cb5b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000080000000000000000082b429000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b83020000020000000000000000000000000000002400000000000000000000000015ba56e5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000080000000000000000067f679e13fe9dca16f3079221965ec41838cb8881cbc0f440bc13507c6b214c2000000000000000000000000000000000000000000000000ffffffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0000000000000000000000000000000000000000000000000ffffffffffffff7f80000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffff9fea0f556200000000000000000000000000000000000000000000000000000000630b5ba100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffbf0200000000000000000000000000000000000040000000000000000000000000b4902a130000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000600000000000000000000000006eb5aa724e74a51b61578d068f347b590416b50990f35ae80bb738c21345d1a7824664d400000000000000000000000000000000000000000000000000000000ae962d4e00000000000000000000000000000000000000000000000000000000d92e233d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003fffffffffffffffe0f69058c100000000000000000000000000000000000000000000000000000000310ab089e4439a4c15d089f94afb7896ff553aecb10793d0ab882de59d99a32e020000020000000000000000000000000000004400000000000000000000000000000000000000007fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000800000000000000000000000000000000000000000000000ffffffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003b9aca00796b89b91644bc98cd93958e4c9038275d622183e25ac5af08cc6b5d9553913202000002000000000000000000000000000000040000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000000000000000000000000060000000800000000000000000b9688461000000000000000000000000000000000000000000000000000000004e487b71000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000636f756e74206d69736d6174636800000000000000000000000000000000000008c379a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000000000000000000000eb7a7d62743daf8cf4055aea544d0a89e2011279ed4105567d010759e6fa4de2ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0002000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006a2ab154d7c5ba9fdea6d8a0c79818a4463a63f9
-----Decoded View---------------
Arg [0] : stork_ (address): 0x6a2ab154d7c5Ba9fdea6d8A0C79818A4463a63f9
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000006a2ab154d7c5ba9fdea6d8a0c79818a4463a63f9
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.