gn-contracts 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -0
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/access/Ownable.sol/Ownable.json +63 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/ERC20.sol/ERC20.json +297 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/IERC20.sol/IERC20.json +194 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol/ERC20Burnable.json +312 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol/IERC20Metadata.json +233 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol/AccessControlUpgradeable.json +228 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.sol/IAccessControlUpgradeable.json +183 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol/OwnableUpgradeable.json +76 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.sol/IERC1967Upgradeable.json +56 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.sol/IERC4906Upgradeable.json +328 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.sol/ERC1967UpgradeUpgradeable.json +69 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.sol/IBeaconUpgradeable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol/Initializable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol/UUPSUpgradeable.json +113 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.sol/ReentrancyGuardUpgradeable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol/ERC721Upgradeable.json +354 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.sol/IERC721ReceiverUpgradeable.json +45 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.sol/IERC721Upgradeable.json +296 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol/ERC721EnumerableUpgradeable.json +410 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.sol/ERC721URIStorageUpgradeable.json +386 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.sol/IERC721EnumerableUpgradeable.json +352 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.sol/IERC721MetadataUpgradeable.json +341 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/AddressUpgradeable.sol/AddressUpgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol/ContextUpgradeable.json +24 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/CountersUpgradeable.sol/CountersUpgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/StorageSlotUpgradeable.sol/StorageSlotUpgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/StringsUpgradeable.sol/StringsUpgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol/ERC165Upgradeable.json +43 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.sol/IERC165Upgradeable.json +30 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/MathUpgradeable.sol/MathUpgradeable.json +10 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts-upgradeable/utils/math/SignedMathUpgradeable.sol/SignedMathUpgradeable.json +10 -0
- package/artifacts/build-info/3b73b26b5bedaeb08a2c2823a85a9eb7.json +1 -0
- package/artifacts/build-info/5c571e0d4e969428dca2c8e1dbdb7c69.json +1 -0
- package/artifacts/build-info/b6798c83bba51d6a98d799cc7723db38.json +1 -0
- package/artifacts/contracts/CROWD.sol/CROWD.dbg.json +4 -0
- package/artifacts/contracts/CROWD.sol/CROWD.json +413 -0
- package/artifacts/contracts/CUSDT.sol/CUSDT.dbg.json +4 -0
- package/artifacts/contracts/CUSDT.sol/CUSDT.json +413 -0
- package/artifacts/contracts/NFT.sol/NFT.dbg.json +4 -0
- package/artifacts/contracts/NFT.sol/NFT.json +1158 -0
- package/artifacts/contracts/NFTFounder.sol/NFTFounder.dbg.json +4 -0
- package/artifacts/contracts/NFTFounder.sol/NFTFounder.json +889 -0
- package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.dbg.json +4 -0
- package/artifacts/contracts/NFTGenesis.sol/NFTGenesis.json +1111 -0
- package/artifacts/contracts/Network.sol/Network.dbg.json +4 -0
- package/artifacts/contracts/Network.sol/Network.json +1218 -0
- package/artifacts/contracts/Swap.sol/Swap.dbg.json +4 -0
- package/artifacts/contracts/Swap.sol/Swap.json +370 -0
- package/artifacts/contracts/USDT.sol/USDT.dbg.json +4 -0
- package/artifacts/contracts/USDT.sol/USDT.json +413 -0
- package/artifacts/contracts/lib/AccessControl.sol/AccessControl.dbg.json +4 -0
- package/artifacts/contracts/lib/AccessControl.sol/AccessControl.json +254 -0
- package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.dbg.json +4 -0
- package/artifacts/contracts/lib/NFTGetter.sol/NFTGetter.json +186 -0
- package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.dbg.json +4 -0
- package/artifacts/contracts/lib/NFTHelpers.sol/NFTHelpers.json +10 -0
- package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.dbg.json +4 -0
- package/artifacts/contracts/lib/ValhallaBlackList.sol/ValhallaBlackList.json +30 -0
- package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.dbg.json +4 -0
- package/artifacts/contracts/lib/ValhallaPool.sol/ValhallaPool.json +162 -0
- package/contracts/CROWD.sol +32 -0
- package/contracts/CUSDT.sol +32 -0
- package/contracts/NFT.sol +499 -0
- package/contracts/NFTFounder.sol +254 -0
- package/contracts/NFTGenesis.sol +337 -0
- package/contracts/Network.sol +503 -0
- package/contracts/Swap.sol +86 -0
- package/contracts/USDT.sol +32 -0
- package/contracts/lib/AccessControl.sol +35 -0
- package/contracts/lib/NFTGetter.sol +60 -0
- package/contracts/lib/NFTHelpers.sol +111 -0
- package/contracts/lib/ValhallaBlackList.sol +18 -0
- package/contracts/lib/ValhallaPool.sol +44 -0
- package/package.json +64 -0
- package/typechain-types/@openzeppelin/contracts/access/Ownable.ts +176 -0
- package/typechain-types/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts/index.ts +7 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/ERC20.ts +464 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/IERC20.ts +342 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.ts +533 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.ts +384 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts/token/ERC20/index.ts +7 -0
- package/typechain-types/@openzeppelin/contracts/token/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.ts +410 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable.ts +341 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.ts +188 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/index.ts +15 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable.ts +115 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable.ts +597 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable.ts +87 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/interfaces/index.ts +7 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable.ts +127 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable.ts +87 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/index.ts +9 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.ts +69 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.ts +238 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable.ts +69 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.ts +631 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable.ts +126 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable.ts +559 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.ts +726 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable.ts +669 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable.ts +654 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable.ts +619 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +8 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/token/index.ts +5 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.ts +69 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/index.ts +6 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.ts +121 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable.ts +103 -0
- package/typechain-types/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
- package/typechain-types/@openzeppelin/index.ts +7 -0
- package/typechain-types/common.ts +46 -0
- package/typechain-types/contracts/CROWD.ts +728 -0
- package/typechain-types/contracts/CUSDT.ts +728 -0
- package/typechain-types/contracts/NFT.ts +1979 -0
- package/typechain-types/contracts/NFTFounder.ts +1562 -0
- package/typechain-types/contracts/NFTGenesis.ts +1847 -0
- package/typechain-types/contracts/Network.ts +2094 -0
- package/typechain-types/contracts/Swap.ts +688 -0
- package/typechain-types/contracts/USDT.ts +728 -0
- package/typechain-types/contracts/index.ts +13 -0
- package/typechain-types/contracts/lib/AccessControl.ts +447 -0
- package/typechain-types/contracts/lib/NFTGetter.ts +404 -0
- package/typechain-types/contracts/lib/ValhallaBlackList.ts +105 -0
- package/typechain-types/contracts/lib/ValhallaPool.ts +257 -0
- package/typechain-types/contracts/lib/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/Ownable__factory.ts +78 -0
- package/typechain-types/factories/@openzeppelin/contracts/access/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/ERC20__factory.ts +350 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/IERC20__factory.ts +206 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable__factory.ts +327 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata__factory.ts +248 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/extensions/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/ERC20/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts/token/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable__factory.ts +247 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/IAccessControlUpgradeable__factory.ts +202 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable__factory.ts +91 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/access/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/index.ts +9 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC1967Upgradeable__factory.ts +71 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/IERC4906Upgradeable__factory.ts +343 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/IERC1822ProxiableUpgradeable__factory.ts +43 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/draft-IERC1822Upgradeable.sol/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/interfaces/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/ERC1967UpgradeUpgradeable__factory.ts +88 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/ERC1967/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/IBeaconUpgradeable__factory.ts +39 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/beacon/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/index.ts +6 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable__factory.ts +39 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable__factory.ts +128 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/proxy/utils/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/ReentrancyGuardUpgradeable__factory.ts +43 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/security/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable__factory.ts +406 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721ReceiverUpgradeable__factory.ts +64 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/IERC721Upgradeable__factory.ts +311 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable__factory.ts +429 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721URIStorageUpgradeable__factory.ts +405 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721EnumerableUpgradeable__factory.ts +371 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/IERC721MetadataUpgradeable__factory.ts +360 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/extensions/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/ERC721/index.ts +7 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/token/index.ts +4 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable__factory.ts +39 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable__factory.ts +58 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/IERC165Upgradeable__factory.ts +45 -0
- package/typechain-types/factories/@openzeppelin/contracts-upgradeable/utils/introspection/index.ts +5 -0
- package/typechain-types/factories/@openzeppelin/index.ts +5 -0
- package/typechain-types/factories/contracts/CROWD__factory.ts +459 -0
- package/typechain-types/factories/contracts/CUSDT__factory.ts +459 -0
- package/typechain-types/factories/contracts/NFTFounder__factory.ts +941 -0
- package/typechain-types/factories/contracts/NFTGenesis__factory.ts +1163 -0
- package/typechain-types/factories/contracts/NFT__factory.ts +1204 -0
- package/typechain-types/factories/contracts/Network__factory.ts +1267 -0
- package/typechain-types/factories/contracts/Swap__factory.ts +416 -0
- package/typechain-types/factories/contracts/USDT__factory.ts +459 -0
- package/typechain-types/factories/contracts/index.ts +12 -0
- package/typechain-types/factories/contracts/lib/AccessControl__factory.ts +269 -0
- package/typechain-types/factories/contracts/lib/NFTGetter__factory.ts +238 -0
- package/typechain-types/factories/contracts/lib/ValhallaBlackList__factory.ts +45 -0
- package/typechain-types/factories/contracts/lib/ValhallaPool__factory.ts +177 -0
- package/typechain-types/factories/contracts/lib/index.ts +7 -0
- package/typechain-types/factories/index.ts +5 -0
- package/typechain-types/hardhat.d.ts +375 -0
- package/typechain-types/index.ts +84 -0
|
@@ -0,0 +1,1158 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "NFT",
|
|
4
|
+
"sourceName": "contracts/NFT.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"stateMutability": "nonpayable",
|
|
9
|
+
"type": "constructor"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"anonymous": false,
|
|
13
|
+
"inputs": [
|
|
14
|
+
{
|
|
15
|
+
"indexed": false,
|
|
16
|
+
"internalType": "address",
|
|
17
|
+
"name": "previousAdmin",
|
|
18
|
+
"type": "address"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"indexed": false,
|
|
22
|
+
"internalType": "address",
|
|
23
|
+
"name": "newAdmin",
|
|
24
|
+
"type": "address"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"name": "AdminChanged",
|
|
28
|
+
"type": "event"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"anonymous": false,
|
|
32
|
+
"inputs": [
|
|
33
|
+
{
|
|
34
|
+
"indexed": true,
|
|
35
|
+
"internalType": "address",
|
|
36
|
+
"name": "owner",
|
|
37
|
+
"type": "address"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"indexed": true,
|
|
41
|
+
"internalType": "address",
|
|
42
|
+
"name": "approved",
|
|
43
|
+
"type": "address"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"indexed": true,
|
|
47
|
+
"internalType": "uint256",
|
|
48
|
+
"name": "tokenId",
|
|
49
|
+
"type": "uint256"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"name": "Approval",
|
|
53
|
+
"type": "event"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"anonymous": false,
|
|
57
|
+
"inputs": [
|
|
58
|
+
{
|
|
59
|
+
"indexed": true,
|
|
60
|
+
"internalType": "address",
|
|
61
|
+
"name": "owner",
|
|
62
|
+
"type": "address"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"indexed": true,
|
|
66
|
+
"internalType": "address",
|
|
67
|
+
"name": "operator",
|
|
68
|
+
"type": "address"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"indexed": false,
|
|
72
|
+
"internalType": "bool",
|
|
73
|
+
"name": "approved",
|
|
74
|
+
"type": "bool"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"name": "ApprovalForAll",
|
|
78
|
+
"type": "event"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"anonymous": false,
|
|
82
|
+
"inputs": [
|
|
83
|
+
{
|
|
84
|
+
"indexed": true,
|
|
85
|
+
"internalType": "address",
|
|
86
|
+
"name": "beacon",
|
|
87
|
+
"type": "address"
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"name": "BeaconUpgraded",
|
|
91
|
+
"type": "event"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"anonymous": false,
|
|
95
|
+
"inputs": [
|
|
96
|
+
{
|
|
97
|
+
"indexed": true,
|
|
98
|
+
"internalType": "address",
|
|
99
|
+
"name": "_from",
|
|
100
|
+
"type": "address"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"indexed": true,
|
|
104
|
+
"internalType": "uint256",
|
|
105
|
+
"name": "_tokenId",
|
|
106
|
+
"type": "uint256"
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"name": "Buy",
|
|
110
|
+
"type": "event"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"anonymous": false,
|
|
114
|
+
"inputs": [
|
|
115
|
+
{
|
|
116
|
+
"indexed": true,
|
|
117
|
+
"internalType": "address",
|
|
118
|
+
"name": "_from",
|
|
119
|
+
"type": "address"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"indexed": false,
|
|
123
|
+
"internalType": "uint256",
|
|
124
|
+
"name": "value",
|
|
125
|
+
"type": "uint256"
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"name": "ClaimRankReward",
|
|
129
|
+
"type": "event"
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"anonymous": false,
|
|
133
|
+
"inputs": [
|
|
134
|
+
{
|
|
135
|
+
"indexed": true,
|
|
136
|
+
"internalType": "address",
|
|
137
|
+
"name": "_from",
|
|
138
|
+
"type": "address"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"indexed": false,
|
|
142
|
+
"internalType": "uint256",
|
|
143
|
+
"name": "value",
|
|
144
|
+
"type": "uint256"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"name": "ClaimReward",
|
|
148
|
+
"type": "event"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"anonymous": false,
|
|
152
|
+
"inputs": [
|
|
153
|
+
{
|
|
154
|
+
"indexed": true,
|
|
155
|
+
"internalType": "address",
|
|
156
|
+
"name": "referrer",
|
|
157
|
+
"type": "address"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"indexed": true,
|
|
161
|
+
"internalType": "address",
|
|
162
|
+
"name": "buyer",
|
|
163
|
+
"type": "address"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"indexed": false,
|
|
167
|
+
"internalType": "uint256",
|
|
168
|
+
"name": "value",
|
|
169
|
+
"type": "uint256"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"name": "DirectReferralReward",
|
|
173
|
+
"type": "event"
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"anonymous": false,
|
|
177
|
+
"inputs": [
|
|
178
|
+
{
|
|
179
|
+
"indexed": true,
|
|
180
|
+
"internalType": "uint256",
|
|
181
|
+
"name": "_tokenId",
|
|
182
|
+
"type": "uint256"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"indexed": false,
|
|
186
|
+
"internalType": "uint256",
|
|
187
|
+
"name": "_value",
|
|
188
|
+
"type": "uint256"
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"name": "Farm",
|
|
192
|
+
"type": "event"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"anonymous": false,
|
|
196
|
+
"inputs": [
|
|
197
|
+
{
|
|
198
|
+
"indexed": false,
|
|
199
|
+
"internalType": "uint8",
|
|
200
|
+
"name": "version",
|
|
201
|
+
"type": "uint8"
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"name": "Initialized",
|
|
205
|
+
"type": "event"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"anonymous": false,
|
|
209
|
+
"inputs": [
|
|
210
|
+
{
|
|
211
|
+
"indexed": true,
|
|
212
|
+
"internalType": "address",
|
|
213
|
+
"name": "previousOwner",
|
|
214
|
+
"type": "address"
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"indexed": true,
|
|
218
|
+
"internalType": "address",
|
|
219
|
+
"name": "newOwner",
|
|
220
|
+
"type": "address"
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"name": "OwnershipTransferred",
|
|
224
|
+
"type": "event"
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"anonymous": false,
|
|
228
|
+
"inputs": [
|
|
229
|
+
{
|
|
230
|
+
"indexed": true,
|
|
231
|
+
"internalType": "address",
|
|
232
|
+
"name": "from",
|
|
233
|
+
"type": "address"
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"indexed": true,
|
|
237
|
+
"internalType": "address",
|
|
238
|
+
"name": "to",
|
|
239
|
+
"type": "address"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"indexed": true,
|
|
243
|
+
"internalType": "uint256",
|
|
244
|
+
"name": "tokenId",
|
|
245
|
+
"type": "uint256"
|
|
246
|
+
}
|
|
247
|
+
],
|
|
248
|
+
"name": "Transfer",
|
|
249
|
+
"type": "event"
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"anonymous": false,
|
|
253
|
+
"inputs": [
|
|
254
|
+
{
|
|
255
|
+
"indexed": true,
|
|
256
|
+
"internalType": "address",
|
|
257
|
+
"name": "implementation",
|
|
258
|
+
"type": "address"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
"name": "Upgraded",
|
|
262
|
+
"type": "event"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"inputs": [],
|
|
266
|
+
"name": "GENESIS_POOL_KEY",
|
|
267
|
+
"outputs": [
|
|
268
|
+
{
|
|
269
|
+
"internalType": "bytes32",
|
|
270
|
+
"name": "",
|
|
271
|
+
"type": "bytes32"
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"stateMutability": "view",
|
|
275
|
+
"type": "function"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"inputs": [],
|
|
279
|
+
"name": "GLOBAL_POOL_KEY",
|
|
280
|
+
"outputs": [
|
|
281
|
+
{
|
|
282
|
+
"internalType": "bytes32",
|
|
283
|
+
"name": "",
|
|
284
|
+
"type": "bytes32"
|
|
285
|
+
}
|
|
286
|
+
],
|
|
287
|
+
"stateMutability": "view",
|
|
288
|
+
"type": "function"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"inputs": [],
|
|
292
|
+
"name": "IPO_POOL_KEY",
|
|
293
|
+
"outputs": [
|
|
294
|
+
{
|
|
295
|
+
"internalType": "bytes32",
|
|
296
|
+
"name": "",
|
|
297
|
+
"type": "bytes32"
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"stateMutability": "view",
|
|
301
|
+
"type": "function"
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"inputs": [],
|
|
305
|
+
"name": "RESERVED_POOL_KEY",
|
|
306
|
+
"outputs": [
|
|
307
|
+
{
|
|
308
|
+
"internalType": "bytes32",
|
|
309
|
+
"name": "",
|
|
310
|
+
"type": "bytes32"
|
|
311
|
+
}
|
|
312
|
+
],
|
|
313
|
+
"stateMutability": "view",
|
|
314
|
+
"type": "function"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"inputs": [
|
|
318
|
+
{
|
|
319
|
+
"internalType": "address",
|
|
320
|
+
"name": "to",
|
|
321
|
+
"type": "address"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"internalType": "uint256",
|
|
325
|
+
"name": "tokenId",
|
|
326
|
+
"type": "uint256"
|
|
327
|
+
}
|
|
328
|
+
],
|
|
329
|
+
"name": "approve",
|
|
330
|
+
"outputs": [],
|
|
331
|
+
"stateMutability": "nonpayable",
|
|
332
|
+
"type": "function"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"inputs": [
|
|
336
|
+
{
|
|
337
|
+
"internalType": "address",
|
|
338
|
+
"name": "owner",
|
|
339
|
+
"type": "address"
|
|
340
|
+
}
|
|
341
|
+
],
|
|
342
|
+
"name": "balanceOf",
|
|
343
|
+
"outputs": [
|
|
344
|
+
{
|
|
345
|
+
"internalType": "uint256",
|
|
346
|
+
"name": "",
|
|
347
|
+
"type": "uint256"
|
|
348
|
+
}
|
|
349
|
+
],
|
|
350
|
+
"stateMutability": "view",
|
|
351
|
+
"type": "function"
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"inputs": [
|
|
355
|
+
{
|
|
356
|
+
"internalType": "uint256",
|
|
357
|
+
"name": "tokenId",
|
|
358
|
+
"type": "uint256"
|
|
359
|
+
}
|
|
360
|
+
],
|
|
361
|
+
"name": "blacklistToken",
|
|
362
|
+
"outputs": [],
|
|
363
|
+
"stateMutability": "nonpayable",
|
|
364
|
+
"type": "function"
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
"inputs": [
|
|
368
|
+
{
|
|
369
|
+
"internalType": "uint256",
|
|
370
|
+
"name": "cardId",
|
|
371
|
+
"type": "uint256"
|
|
372
|
+
}
|
|
373
|
+
],
|
|
374
|
+
"name": "buy",
|
|
375
|
+
"outputs": [],
|
|
376
|
+
"stateMutability": "nonpayable",
|
|
377
|
+
"type": "function"
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"inputs": [
|
|
381
|
+
{
|
|
382
|
+
"internalType": "uint256",
|
|
383
|
+
"name": "",
|
|
384
|
+
"type": "uint256"
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"name": "cardMap",
|
|
388
|
+
"outputs": [
|
|
389
|
+
{
|
|
390
|
+
"internalType": "bool",
|
|
391
|
+
"name": "isMintable",
|
|
392
|
+
"type": "bool"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"internalType": "uint256",
|
|
396
|
+
"name": "price",
|
|
397
|
+
"type": "uint256"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"internalType": "uint256",
|
|
401
|
+
"name": "halfingPercentage",
|
|
402
|
+
"type": "uint256"
|
|
403
|
+
}
|
|
404
|
+
],
|
|
405
|
+
"stateMutability": "view",
|
|
406
|
+
"type": "function"
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"inputs": [],
|
|
410
|
+
"name": "claimRankReward",
|
|
411
|
+
"outputs": [],
|
|
412
|
+
"stateMutability": "nonpayable",
|
|
413
|
+
"type": "function"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"inputs": [],
|
|
417
|
+
"name": "claimReward",
|
|
418
|
+
"outputs": [],
|
|
419
|
+
"stateMutability": "nonpayable",
|
|
420
|
+
"type": "function"
|
|
421
|
+
},
|
|
422
|
+
{
|
|
423
|
+
"inputs": [
|
|
424
|
+
{
|
|
425
|
+
"internalType": "uint256",
|
|
426
|
+
"name": "tokenId",
|
|
427
|
+
"type": "uint256"
|
|
428
|
+
}
|
|
429
|
+
],
|
|
430
|
+
"name": "farm",
|
|
431
|
+
"outputs": [],
|
|
432
|
+
"stateMutability": "nonpayable",
|
|
433
|
+
"type": "function"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"inputs": [
|
|
437
|
+
{
|
|
438
|
+
"internalType": "address",
|
|
439
|
+
"name": "",
|
|
440
|
+
"type": "address"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"name": "farmMatchingRewardMap",
|
|
444
|
+
"outputs": [
|
|
445
|
+
{
|
|
446
|
+
"internalType": "uint256",
|
|
447
|
+
"name": "",
|
|
448
|
+
"type": "uint256"
|
|
449
|
+
}
|
|
450
|
+
],
|
|
451
|
+
"stateMutability": "view",
|
|
452
|
+
"type": "function"
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
"inputs": [
|
|
456
|
+
{
|
|
457
|
+
"internalType": "uint256",
|
|
458
|
+
"name": "tokenId",
|
|
459
|
+
"type": "uint256"
|
|
460
|
+
}
|
|
461
|
+
],
|
|
462
|
+
"name": "getApproved",
|
|
463
|
+
"outputs": [
|
|
464
|
+
{
|
|
465
|
+
"internalType": "address",
|
|
466
|
+
"name": "",
|
|
467
|
+
"type": "address"
|
|
468
|
+
}
|
|
469
|
+
],
|
|
470
|
+
"stateMutability": "view",
|
|
471
|
+
"type": "function"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"inputs": [
|
|
475
|
+
{
|
|
476
|
+
"internalType": "uint256",
|
|
477
|
+
"name": "tokenId",
|
|
478
|
+
"type": "uint256"
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
"name": "getFarmValue",
|
|
482
|
+
"outputs": [
|
|
483
|
+
{
|
|
484
|
+
"internalType": "uint256",
|
|
485
|
+
"name": "",
|
|
486
|
+
"type": "uint256"
|
|
487
|
+
}
|
|
488
|
+
],
|
|
489
|
+
"stateMutability": "view",
|
|
490
|
+
"type": "function"
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"inputs": [],
|
|
494
|
+
"name": "getGenesisPool",
|
|
495
|
+
"outputs": [
|
|
496
|
+
{
|
|
497
|
+
"components": [
|
|
498
|
+
{
|
|
499
|
+
"internalType": "uint256",
|
|
500
|
+
"name": "claimable",
|
|
501
|
+
"type": "uint256"
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"internalType": "uint256",
|
|
505
|
+
"name": "valueLeft",
|
|
506
|
+
"type": "uint256"
|
|
507
|
+
}
|
|
508
|
+
],
|
|
509
|
+
"internalType": "struct PoolType",
|
|
510
|
+
"name": "",
|
|
511
|
+
"type": "tuple"
|
|
512
|
+
}
|
|
513
|
+
],
|
|
514
|
+
"stateMutability": "view",
|
|
515
|
+
"type": "function"
|
|
516
|
+
},
|
|
517
|
+
{
|
|
518
|
+
"inputs": [],
|
|
519
|
+
"name": "getGlobalPool",
|
|
520
|
+
"outputs": [
|
|
521
|
+
{
|
|
522
|
+
"components": [
|
|
523
|
+
{
|
|
524
|
+
"internalType": "uint256",
|
|
525
|
+
"name": "claimable",
|
|
526
|
+
"type": "uint256"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"internalType": "uint256",
|
|
530
|
+
"name": "valueLeft",
|
|
531
|
+
"type": "uint256"
|
|
532
|
+
}
|
|
533
|
+
],
|
|
534
|
+
"internalType": "struct PoolType",
|
|
535
|
+
"name": "",
|
|
536
|
+
"type": "tuple"
|
|
537
|
+
}
|
|
538
|
+
],
|
|
539
|
+
"stateMutability": "view",
|
|
540
|
+
"type": "function"
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"inputs": [],
|
|
544
|
+
"name": "getIpoPool",
|
|
545
|
+
"outputs": [
|
|
546
|
+
{
|
|
547
|
+
"components": [
|
|
548
|
+
{
|
|
549
|
+
"internalType": "uint256",
|
|
550
|
+
"name": "claimable",
|
|
551
|
+
"type": "uint256"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"internalType": "uint256",
|
|
555
|
+
"name": "valueLeft",
|
|
556
|
+
"type": "uint256"
|
|
557
|
+
}
|
|
558
|
+
],
|
|
559
|
+
"internalType": "struct PoolType",
|
|
560
|
+
"name": "",
|
|
561
|
+
"type": "tuple"
|
|
562
|
+
}
|
|
563
|
+
],
|
|
564
|
+
"stateMutability": "view",
|
|
565
|
+
"type": "function"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
"inputs": [
|
|
569
|
+
{
|
|
570
|
+
"internalType": "address",
|
|
571
|
+
"name": "_accountAddress",
|
|
572
|
+
"type": "address"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"name": "getMyRankReward",
|
|
576
|
+
"outputs": [
|
|
577
|
+
{
|
|
578
|
+
"internalType": "uint256",
|
|
579
|
+
"name": "",
|
|
580
|
+
"type": "uint256"
|
|
581
|
+
}
|
|
582
|
+
],
|
|
583
|
+
"stateMutability": "view",
|
|
584
|
+
"type": "function"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"inputs": [],
|
|
588
|
+
"name": "gnetERC20",
|
|
589
|
+
"outputs": [
|
|
590
|
+
{
|
|
591
|
+
"internalType": "contract CROWD",
|
|
592
|
+
"name": "",
|
|
593
|
+
"type": "address"
|
|
594
|
+
}
|
|
595
|
+
],
|
|
596
|
+
"stateMutability": "view",
|
|
597
|
+
"type": "function"
|
|
598
|
+
},
|
|
599
|
+
{
|
|
600
|
+
"inputs": [
|
|
601
|
+
{
|
|
602
|
+
"internalType": "contract CROWD",
|
|
603
|
+
"name": "_gnetERC20",
|
|
604
|
+
"type": "address"
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"internalType": "contract Network",
|
|
608
|
+
"name": "_valhalla",
|
|
609
|
+
"type": "address"
|
|
610
|
+
}
|
|
611
|
+
],
|
|
612
|
+
"name": "initialize",
|
|
613
|
+
"outputs": [],
|
|
614
|
+
"stateMutability": "nonpayable",
|
|
615
|
+
"type": "function"
|
|
616
|
+
},
|
|
617
|
+
{
|
|
618
|
+
"inputs": [
|
|
619
|
+
{
|
|
620
|
+
"internalType": "address",
|
|
621
|
+
"name": "owner",
|
|
622
|
+
"type": "address"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"internalType": "address",
|
|
626
|
+
"name": "operator",
|
|
627
|
+
"type": "address"
|
|
628
|
+
}
|
|
629
|
+
],
|
|
630
|
+
"name": "isApprovedForAll",
|
|
631
|
+
"outputs": [
|
|
632
|
+
{
|
|
633
|
+
"internalType": "bool",
|
|
634
|
+
"name": "",
|
|
635
|
+
"type": "bool"
|
|
636
|
+
}
|
|
637
|
+
],
|
|
638
|
+
"stateMutability": "view",
|
|
639
|
+
"type": "function"
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"inputs": [],
|
|
643
|
+
"name": "name",
|
|
644
|
+
"outputs": [
|
|
645
|
+
{
|
|
646
|
+
"internalType": "string",
|
|
647
|
+
"name": "",
|
|
648
|
+
"type": "string"
|
|
649
|
+
}
|
|
650
|
+
],
|
|
651
|
+
"stateMutability": "view",
|
|
652
|
+
"type": "function"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"inputs": [],
|
|
656
|
+
"name": "nftGenesis",
|
|
657
|
+
"outputs": [
|
|
658
|
+
{
|
|
659
|
+
"internalType": "contract NFTGenesis",
|
|
660
|
+
"name": "",
|
|
661
|
+
"type": "address"
|
|
662
|
+
}
|
|
663
|
+
],
|
|
664
|
+
"stateMutability": "view",
|
|
665
|
+
"type": "function"
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
"inputs": [
|
|
669
|
+
{
|
|
670
|
+
"internalType": "uint256",
|
|
671
|
+
"name": "",
|
|
672
|
+
"type": "uint256"
|
|
673
|
+
}
|
|
674
|
+
],
|
|
675
|
+
"name": "ownedTokenMap",
|
|
676
|
+
"outputs": [
|
|
677
|
+
{
|
|
678
|
+
"internalType": "bool",
|
|
679
|
+
"name": "isBlackListed",
|
|
680
|
+
"type": "bool"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"internalType": "uint256",
|
|
684
|
+
"name": "cardId",
|
|
685
|
+
"type": "uint256"
|
|
686
|
+
},
|
|
687
|
+
{
|
|
688
|
+
"internalType": "uint256",
|
|
689
|
+
"name": "percentage",
|
|
690
|
+
"type": "uint256"
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"internalType": "uint256",
|
|
694
|
+
"name": "lastFarmedAt",
|
|
695
|
+
"type": "uint256"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"internalType": "uint256",
|
|
699
|
+
"name": "mintedAt",
|
|
700
|
+
"type": "uint256"
|
|
701
|
+
},
|
|
702
|
+
{
|
|
703
|
+
"internalType": "uint256",
|
|
704
|
+
"name": "mintingPrice",
|
|
705
|
+
"type": "uint256"
|
|
706
|
+
}
|
|
707
|
+
],
|
|
708
|
+
"stateMutability": "view",
|
|
709
|
+
"type": "function"
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"inputs": [],
|
|
713
|
+
"name": "owner",
|
|
714
|
+
"outputs": [
|
|
715
|
+
{
|
|
716
|
+
"internalType": "address",
|
|
717
|
+
"name": "",
|
|
718
|
+
"type": "address"
|
|
719
|
+
}
|
|
720
|
+
],
|
|
721
|
+
"stateMutability": "view",
|
|
722
|
+
"type": "function"
|
|
723
|
+
},
|
|
724
|
+
{
|
|
725
|
+
"inputs": [
|
|
726
|
+
{
|
|
727
|
+
"internalType": "uint256",
|
|
728
|
+
"name": "tokenId",
|
|
729
|
+
"type": "uint256"
|
|
730
|
+
}
|
|
731
|
+
],
|
|
732
|
+
"name": "ownerOf",
|
|
733
|
+
"outputs": [
|
|
734
|
+
{
|
|
735
|
+
"internalType": "address",
|
|
736
|
+
"name": "",
|
|
737
|
+
"type": "address"
|
|
738
|
+
}
|
|
739
|
+
],
|
|
740
|
+
"stateMutability": "view",
|
|
741
|
+
"type": "function"
|
|
742
|
+
},
|
|
743
|
+
{
|
|
744
|
+
"inputs": [
|
|
745
|
+
{
|
|
746
|
+
"internalType": "bytes32",
|
|
747
|
+
"name": "",
|
|
748
|
+
"type": "bytes32"
|
|
749
|
+
}
|
|
750
|
+
],
|
|
751
|
+
"name": "poolMap",
|
|
752
|
+
"outputs": [
|
|
753
|
+
{
|
|
754
|
+
"internalType": "uint256",
|
|
755
|
+
"name": "claimable",
|
|
756
|
+
"type": "uint256"
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
"internalType": "uint256",
|
|
760
|
+
"name": "valueLeft",
|
|
761
|
+
"type": "uint256"
|
|
762
|
+
}
|
|
763
|
+
],
|
|
764
|
+
"stateMutability": "view",
|
|
765
|
+
"type": "function"
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"inputs": [],
|
|
769
|
+
"name": "proxiableUUID",
|
|
770
|
+
"outputs": [
|
|
771
|
+
{
|
|
772
|
+
"internalType": "bytes32",
|
|
773
|
+
"name": "",
|
|
774
|
+
"type": "bytes32"
|
|
775
|
+
}
|
|
776
|
+
],
|
|
777
|
+
"stateMutability": "view",
|
|
778
|
+
"type": "function"
|
|
779
|
+
},
|
|
780
|
+
{
|
|
781
|
+
"inputs": [
|
|
782
|
+
{
|
|
783
|
+
"internalType": "address",
|
|
784
|
+
"name": "",
|
|
785
|
+
"type": "address"
|
|
786
|
+
}
|
|
787
|
+
],
|
|
788
|
+
"name": "rankRewardClaimedAtMap",
|
|
789
|
+
"outputs": [
|
|
790
|
+
{
|
|
791
|
+
"internalType": "uint256",
|
|
792
|
+
"name": "",
|
|
793
|
+
"type": "uint256"
|
|
794
|
+
}
|
|
795
|
+
],
|
|
796
|
+
"stateMutability": "view",
|
|
797
|
+
"type": "function"
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"inputs": [
|
|
801
|
+
{
|
|
802
|
+
"internalType": "address",
|
|
803
|
+
"name": "",
|
|
804
|
+
"type": "address"
|
|
805
|
+
}
|
|
806
|
+
],
|
|
807
|
+
"name": "referralRewardMap",
|
|
808
|
+
"outputs": [
|
|
809
|
+
{
|
|
810
|
+
"internalType": "uint256",
|
|
811
|
+
"name": "",
|
|
812
|
+
"type": "uint256"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"stateMutability": "view",
|
|
816
|
+
"type": "function"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"inputs": [],
|
|
820
|
+
"name": "renounceOwnership",
|
|
821
|
+
"outputs": [],
|
|
822
|
+
"stateMutability": "nonpayable",
|
|
823
|
+
"type": "function"
|
|
824
|
+
},
|
|
825
|
+
{
|
|
826
|
+
"inputs": [
|
|
827
|
+
{
|
|
828
|
+
"internalType": "address",
|
|
829
|
+
"name": "",
|
|
830
|
+
"type": "address"
|
|
831
|
+
}
|
|
832
|
+
],
|
|
833
|
+
"name": "rewardMap",
|
|
834
|
+
"outputs": [
|
|
835
|
+
{
|
|
836
|
+
"internalType": "uint256",
|
|
837
|
+
"name": "",
|
|
838
|
+
"type": "uint256"
|
|
839
|
+
}
|
|
840
|
+
],
|
|
841
|
+
"stateMutability": "view",
|
|
842
|
+
"type": "function"
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"inputs": [
|
|
846
|
+
{
|
|
847
|
+
"internalType": "address",
|
|
848
|
+
"name": "from",
|
|
849
|
+
"type": "address"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"internalType": "address",
|
|
853
|
+
"name": "to",
|
|
854
|
+
"type": "address"
|
|
855
|
+
},
|
|
856
|
+
{
|
|
857
|
+
"internalType": "uint256",
|
|
858
|
+
"name": "tokenId",
|
|
859
|
+
"type": "uint256"
|
|
860
|
+
}
|
|
861
|
+
],
|
|
862
|
+
"name": "safeTransferFrom",
|
|
863
|
+
"outputs": [],
|
|
864
|
+
"stateMutability": "nonpayable",
|
|
865
|
+
"type": "function"
|
|
866
|
+
},
|
|
867
|
+
{
|
|
868
|
+
"inputs": [
|
|
869
|
+
{
|
|
870
|
+
"internalType": "address",
|
|
871
|
+
"name": "from",
|
|
872
|
+
"type": "address"
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
"internalType": "address",
|
|
876
|
+
"name": "to",
|
|
877
|
+
"type": "address"
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"internalType": "uint256",
|
|
881
|
+
"name": "tokenId",
|
|
882
|
+
"type": "uint256"
|
|
883
|
+
},
|
|
884
|
+
{
|
|
885
|
+
"internalType": "bytes",
|
|
886
|
+
"name": "data",
|
|
887
|
+
"type": "bytes"
|
|
888
|
+
}
|
|
889
|
+
],
|
|
890
|
+
"name": "safeTransferFrom",
|
|
891
|
+
"outputs": [],
|
|
892
|
+
"stateMutability": "nonpayable",
|
|
893
|
+
"type": "function"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"inputs": [
|
|
897
|
+
{
|
|
898
|
+
"internalType": "address",
|
|
899
|
+
"name": "operator",
|
|
900
|
+
"type": "address"
|
|
901
|
+
},
|
|
902
|
+
{
|
|
903
|
+
"internalType": "bool",
|
|
904
|
+
"name": "approved",
|
|
905
|
+
"type": "bool"
|
|
906
|
+
}
|
|
907
|
+
],
|
|
908
|
+
"name": "setApprovalForAll",
|
|
909
|
+
"outputs": [],
|
|
910
|
+
"stateMutability": "nonpayable",
|
|
911
|
+
"type": "function"
|
|
912
|
+
},
|
|
913
|
+
{
|
|
914
|
+
"inputs": [
|
|
915
|
+
{
|
|
916
|
+
"internalType": "contract NFTGenesis",
|
|
917
|
+
"name": "_nftGenesis",
|
|
918
|
+
"type": "address"
|
|
919
|
+
}
|
|
920
|
+
],
|
|
921
|
+
"name": "setNFTGenesis",
|
|
922
|
+
"outputs": [],
|
|
923
|
+
"stateMutability": "nonpayable",
|
|
924
|
+
"type": "function"
|
|
925
|
+
},
|
|
926
|
+
{
|
|
927
|
+
"inputs": [],
|
|
928
|
+
"name": "startClaimingRankReward",
|
|
929
|
+
"outputs": [],
|
|
930
|
+
"stateMutability": "nonpayable",
|
|
931
|
+
"type": "function"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"inputs": [],
|
|
935
|
+
"name": "stopClaimingRankReward",
|
|
936
|
+
"outputs": [],
|
|
937
|
+
"stateMutability": "nonpayable",
|
|
938
|
+
"type": "function"
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
"inputs": [
|
|
942
|
+
{
|
|
943
|
+
"internalType": "bytes4",
|
|
944
|
+
"name": "interfaceId",
|
|
945
|
+
"type": "bytes4"
|
|
946
|
+
}
|
|
947
|
+
],
|
|
948
|
+
"name": "supportsInterface",
|
|
949
|
+
"outputs": [
|
|
950
|
+
{
|
|
951
|
+
"internalType": "bool",
|
|
952
|
+
"name": "",
|
|
953
|
+
"type": "bool"
|
|
954
|
+
}
|
|
955
|
+
],
|
|
956
|
+
"stateMutability": "view",
|
|
957
|
+
"type": "function"
|
|
958
|
+
},
|
|
959
|
+
{
|
|
960
|
+
"inputs": [],
|
|
961
|
+
"name": "symbol",
|
|
962
|
+
"outputs": [
|
|
963
|
+
{
|
|
964
|
+
"internalType": "string",
|
|
965
|
+
"name": "",
|
|
966
|
+
"type": "string"
|
|
967
|
+
}
|
|
968
|
+
],
|
|
969
|
+
"stateMutability": "view",
|
|
970
|
+
"type": "function"
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
"inputs": [
|
|
974
|
+
{
|
|
975
|
+
"internalType": "uint256",
|
|
976
|
+
"name": "index",
|
|
977
|
+
"type": "uint256"
|
|
978
|
+
}
|
|
979
|
+
],
|
|
980
|
+
"name": "tokenByIndex",
|
|
981
|
+
"outputs": [
|
|
982
|
+
{
|
|
983
|
+
"internalType": "uint256",
|
|
984
|
+
"name": "",
|
|
985
|
+
"type": "uint256"
|
|
986
|
+
}
|
|
987
|
+
],
|
|
988
|
+
"stateMutability": "view",
|
|
989
|
+
"type": "function"
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
"inputs": [
|
|
993
|
+
{
|
|
994
|
+
"internalType": "address",
|
|
995
|
+
"name": "owner",
|
|
996
|
+
"type": "address"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"internalType": "uint256",
|
|
1000
|
+
"name": "index",
|
|
1001
|
+
"type": "uint256"
|
|
1002
|
+
}
|
|
1003
|
+
],
|
|
1004
|
+
"name": "tokenOfOwnerByIndex",
|
|
1005
|
+
"outputs": [
|
|
1006
|
+
{
|
|
1007
|
+
"internalType": "uint256",
|
|
1008
|
+
"name": "",
|
|
1009
|
+
"type": "uint256"
|
|
1010
|
+
}
|
|
1011
|
+
],
|
|
1012
|
+
"stateMutability": "view",
|
|
1013
|
+
"type": "function"
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"inputs": [
|
|
1017
|
+
{
|
|
1018
|
+
"internalType": "uint256",
|
|
1019
|
+
"name": "tokenId",
|
|
1020
|
+
"type": "uint256"
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
"name": "tokenURI",
|
|
1024
|
+
"outputs": [
|
|
1025
|
+
{
|
|
1026
|
+
"internalType": "string",
|
|
1027
|
+
"name": "",
|
|
1028
|
+
"type": "string"
|
|
1029
|
+
}
|
|
1030
|
+
],
|
|
1031
|
+
"stateMutability": "view",
|
|
1032
|
+
"type": "function"
|
|
1033
|
+
},
|
|
1034
|
+
{
|
|
1035
|
+
"inputs": [],
|
|
1036
|
+
"name": "totalSupply",
|
|
1037
|
+
"outputs": [
|
|
1038
|
+
{
|
|
1039
|
+
"internalType": "uint256",
|
|
1040
|
+
"name": "",
|
|
1041
|
+
"type": "uint256"
|
|
1042
|
+
}
|
|
1043
|
+
],
|
|
1044
|
+
"stateMutability": "view",
|
|
1045
|
+
"type": "function"
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
"inputs": [
|
|
1049
|
+
{
|
|
1050
|
+
"internalType": "address",
|
|
1051
|
+
"name": "",
|
|
1052
|
+
"type": "address"
|
|
1053
|
+
}
|
|
1054
|
+
],
|
|
1055
|
+
"name": "totalValueMap",
|
|
1056
|
+
"outputs": [
|
|
1057
|
+
{
|
|
1058
|
+
"internalType": "uint256",
|
|
1059
|
+
"name": "",
|
|
1060
|
+
"type": "uint256"
|
|
1061
|
+
}
|
|
1062
|
+
],
|
|
1063
|
+
"stateMutability": "view",
|
|
1064
|
+
"type": "function"
|
|
1065
|
+
},
|
|
1066
|
+
{
|
|
1067
|
+
"inputs": [
|
|
1068
|
+
{
|
|
1069
|
+
"internalType": "address",
|
|
1070
|
+
"name": "from",
|
|
1071
|
+
"type": "address"
|
|
1072
|
+
},
|
|
1073
|
+
{
|
|
1074
|
+
"internalType": "address",
|
|
1075
|
+
"name": "to",
|
|
1076
|
+
"type": "address"
|
|
1077
|
+
},
|
|
1078
|
+
{
|
|
1079
|
+
"internalType": "uint256",
|
|
1080
|
+
"name": "tokenId",
|
|
1081
|
+
"type": "uint256"
|
|
1082
|
+
}
|
|
1083
|
+
],
|
|
1084
|
+
"name": "transferFrom",
|
|
1085
|
+
"outputs": [],
|
|
1086
|
+
"stateMutability": "nonpayable",
|
|
1087
|
+
"type": "function"
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"inputs": [
|
|
1091
|
+
{
|
|
1092
|
+
"internalType": "address",
|
|
1093
|
+
"name": "newOwner",
|
|
1094
|
+
"type": "address"
|
|
1095
|
+
}
|
|
1096
|
+
],
|
|
1097
|
+
"name": "transferOwnership",
|
|
1098
|
+
"outputs": [],
|
|
1099
|
+
"stateMutability": "nonpayable",
|
|
1100
|
+
"type": "function"
|
|
1101
|
+
},
|
|
1102
|
+
{
|
|
1103
|
+
"inputs": [
|
|
1104
|
+
{
|
|
1105
|
+
"internalType": "address",
|
|
1106
|
+
"name": "newImplementation",
|
|
1107
|
+
"type": "address"
|
|
1108
|
+
}
|
|
1109
|
+
],
|
|
1110
|
+
"name": "upgradeTo",
|
|
1111
|
+
"outputs": [],
|
|
1112
|
+
"stateMutability": "nonpayable",
|
|
1113
|
+
"type": "function"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"inputs": [
|
|
1117
|
+
{
|
|
1118
|
+
"internalType": "address",
|
|
1119
|
+
"name": "newImplementation",
|
|
1120
|
+
"type": "address"
|
|
1121
|
+
},
|
|
1122
|
+
{
|
|
1123
|
+
"internalType": "bytes",
|
|
1124
|
+
"name": "data",
|
|
1125
|
+
"type": "bytes"
|
|
1126
|
+
}
|
|
1127
|
+
],
|
|
1128
|
+
"name": "upgradeToAndCall",
|
|
1129
|
+
"outputs": [],
|
|
1130
|
+
"stateMutability": "payable",
|
|
1131
|
+
"type": "function"
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"inputs": [],
|
|
1135
|
+
"name": "valhalla",
|
|
1136
|
+
"outputs": [
|
|
1137
|
+
{
|
|
1138
|
+
"internalType": "contract Network",
|
|
1139
|
+
"name": "",
|
|
1140
|
+
"type": "address"
|
|
1141
|
+
}
|
|
1142
|
+
],
|
|
1143
|
+
"stateMutability": "view",
|
|
1144
|
+
"type": "function"
|
|
1145
|
+
},
|
|
1146
|
+
{
|
|
1147
|
+
"inputs": [],
|
|
1148
|
+
"name": "withdrawAllGenesisPool",
|
|
1149
|
+
"outputs": [],
|
|
1150
|
+
"stateMutability": "nonpayable",
|
|
1151
|
+
"type": "function"
|
|
1152
|
+
}
|
|
1153
|
+
],
|
|
1154
|
+
"bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e7565b600154610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60015460ff90811614620000e5576001805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051615ee16200011f6000396000818161105d0152818161109d015281816114d501528181611515015261163b0152615ee16000f3fe6080604052600436106102ff5760003560e01c80636dfab78e11610190578063ba2d5095116100dc578063d96a094a11610095578063e51534471161006f578063e515344714610b2a578063e961e1ff14610bae578063e985e9c514610bcf578063f2fde38b14610c1857600080fd5b8063d96a094a14610a7e578063dde15ea014610a9e578063e4305a2914610acc57600080fd5b8063ba2d5095146109b0578063c415bf3d146109e4578063c87b56dd146109f9578063d327bc7114610a19578063d3f46b8b14610a47578063d80f94e514610a6957600080fd5b8063951053a6116101495780639db0f9e4116101235780639db0f9e41461093b578063a22cb4651461095b578063b88a802f1461097b578063b88d4fde1461099057600080fd5b8063951053a61461087257806395d89b411461091157806398d41efb1461092657600080fd5b80636dfab78e1461078f57806370a08231146107c3578063715018a6146107e357806383aea645146107f857806383d44339146108265780638da5cb5b1461085457600080fd5b806332db23781161024f5780634f1ef28611610208578063538a85a1116101e2578063538a85a11461069057806360267482146106b05780636352211e1461074f578063663ba86e1461076f57600080fd5b80634f1ef286146106485780634f6ccce71461065b57806352d1902d1461067b57600080fd5b806332db2378146105215780633659cfe6146105415780634237ea8d1461056157806342842e0e1461057657806344712a6c14610596578063485cc9551461062857600080fd5b806318160ddd116102bc57806323b872dd1161029657806323b872dd1461047f57806327760dd71461049f5780632f745c59146104cd57806330cf4dc5146104ed57600080fd5b806318160ddd1461041f5780631dede1071461043e57806321d91ef41461045e57600080fd5b806301ffc9a71461030457806306fdde0314610339578063081812fc1461035b578063095ea7b3146103935780630a2a6e37146103b55780630defebeb146103d6575b600080fd5b34801561031057600080fd5b5061032461031f3660046153b3565b610c38565b60405190151581526020015b60405180910390f35b34801561034557600080fd5b5061034e610c49565b6040516103309190615420565b34801561036757600080fd5b5061037b610376366004615433565b610cdb565b6040516001600160a01b039091168152602001610330565b34801561039f57600080fd5b506103b36103ae366004615461565b610d02565b005b3480156103c157600080fd5b506101695461037b906001600160a01b031681565b3480156103e257600080fd5b5061040a6103f1366004615433565b6000602081905290815260409020805460019091015482565b60408051928352602083019190915201610330565b34801561042b57600080fd5b5060cc545b604051908152602001610330565b34801561044a57600080fd5b506103b3610459366004615433565b610e1c565b34801561046a57600080fd5b5061016c5461037b906001600160a01b031681565b34801561048b57600080fd5b506103b361049a36600461548d565b610f61565b3480156104ab57600080fd5b506104306104ba3660046154ce565b6101676020526000908152604090205481565b3480156104d957600080fd5b506104306104e8366004615461565b610f92565b3480156104f957600080fd5b506104307f07b941733a7a0fb95acb53f7ec363f2e58bcfffba15469eb7d5ade1ddbb3447481565b34801561052d57600080fd5b506103b361053c3660046154ce565b611028565b34801561054d57600080fd5b506103b361055c3660046154ce565b611053565b34801561056d57600080fd5b506103b3611132565b34801561058257600080fd5b506103b361059136600461548d565b6111d1565b3480156105a257600080fd5b5060408051808201825260008082526020918201819052600080516020615e69833981519152815281528151808301909252600080516020615e028339815191525482527f335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c154908201525b60408051825181526020928301519281019290925201610330565b34801561063457600080fd5b506103b36106433660046154eb565b6111ec565b6103b36106563660046155c7565b6114cb565b34801561066757600080fd5b50610430610676366004615433565b61159b565b34801561068757600080fd5b5061043061162e565b34801561069c57600080fd5b506103b36106ab366004615433565b6116e1565b3480156106bc57600080fd5b50604080518082018252600080825260209182018190527f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c8152815281518083019092527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cda95482527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cdaa549082015261060d565b34801561075b57600080fd5b5061037b61076a366004615433565b611d3b565b34801561077b57600080fd5b5061043061078a366004615433565b611d9b565b34801561079b57600080fd5b506104307fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d81565b3480156107cf57600080fd5b506104306107de3660046154ce565b611e11565b3480156107ef57600080fd5b506103b3611e97565b34801561080457600080fd5b506104306108133660046154ce565b6101636020526000908152604090205481565b34801561083257600080fd5b506104306108413660046154ce565b6101646020526000908152604090205481565b34801561086057600080fd5b506034546001600160a01b031661037b565b34801561087e57600080fd5b50604080518082018252600080825260209182018190527fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d8152815281518083019092527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e90755482527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e9076549082015261060d565b34801561091d57600080fd5b5061034e611eab565b34801561093257600080fd5b506103b3611eba565b34801561094757600080fd5b506104306109563660046154ce565b611f5d565b34801561096757600080fd5b506103b3610976366004615625565b612366565b34801561098757600080fd5b506103b3612371565b34801561099c57600080fd5b506103b36109ab366004615653565b612762565b3480156109bc57600080fd5b506104307f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c81565b3480156109f057600080fd5b506103b361279a565b348015610a0557600080fd5b5061034e610a14366004615433565b612dba565b348015610a2557600080fd5b50610430610a343660046154ce565b6101656020526000908152604090205481565b348015610a5357600080fd5b50610430600080516020615e6983398151915281565b348015610a7557600080fd5b506103b3612e7b565b348015610a8a57600080fd5b506103b3610a99366004615433565b612f54565b348015610aaa57600080fd5b50610430610ab93660046154ce565b6101666020526000908152604090205481565b348015610ad857600080fd5b50610b0d610ae7366004615433565b6101626020526000908152604090208054600182015460029092015460ff909116919083565b604080519315158452602084019290925290820152606001610330565b348015610b3657600080fd5b50610b7f610b45366004615433565b6101616020526000908152604090208054600182015460028301546003840154600485015460059095015460ff9094169492939192909186565b6040805196151587526020870195909552938501929092526060840152608083015260a082015260c001610330565b348015610bba57600080fd5b506101685461037b906001600160a01b031681565b348015610bdb57600080fd5b50610324610bea3660046154eb565b6001600160a01b039182166000908152609d6020908152604080832093909416825291909152205460ff1690565b348015610c2457600080fd5b506103b3610c333660046154ce565b61388e565b6000610c4382613904565b92915050565b606060988054610c58906156bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610c84906156bf565b8015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b5050505050905090565b6000610ce682613929565b506000908152609c60205260409020546001600160a01b031690565b6000610d0d82611d3b565b9050806001600160a01b0316836001600160a01b031603610d7f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610d9b5750610d9b8133610bea565b610e0d5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610d76565b610e178383613988565b505050565b610169546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf916004808201926020929091908290030181865afa158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9391906156f9565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401602060405180830381865afa158015610ed5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef99190615712565b610f455760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e0000006044820152606401610d76565b600090815261016160205260409020805460ff19166001179055565b610f6b33826139f6565b610f875760405162461bcd60e51b8152600401610d769061572f565b610e17838383613a74565b6000610f9d83611e11565b8210610fff5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610d76565b506001600160a01b0391909116600090815260ca60209081526040808320938352929052205490565b611030613bed565b61016c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361109b5760405162461bcd60e51b8152600401610d769061577c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110e4600080516020615e22833981519152546001600160a01b031690565b6001600160a01b03161461110a5760405162461bcd60e51b8152600401610d76906157c8565b61111381613c47565b6040805160008082526020820190925261112f91839190613c4f565b50565b610169546001600160a01b031633146111865760405162461bcd60e51b815260206004820152601660248201527513db9b1e481d985b1a185b1b184818d85b8818d85b1b60521b6044820152606401610d76565b600080516020615e698339815191526000908152602052600080516020615e02833981519152547f335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c155565b610e1783838360405180602001604052806000815250612762565b600154610100900460ff161580801561120957506001805460ff16105b806112225750303b15801561122257506001805460ff16145b6112855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d76565b6001805460ff19168117905580156112a7576001805461ff0019166101001790555b6112af613dba565b6112ff6040518060400160405280600e81526020016d10dc9bddd914dd1c9a5ad953919560921b8152506040518060400160405280600881526020016710d493d5d113919560c21b815250613de9565b611307613e1a565b61130f613e1a565b61016880546001600160a01b038086166001600160a01b0319928316179092556101698054928516929091169190911790556040805160c08101825261138881526161a86020820152620186a0918101919091526207a1206060820152622625a060808201526298968060a082015260005b600681101561148057600061139661016b5490565b6000818152610162602090815260409182902061016854835163313ce56760e01b8152935194955090936001600160a01b039091169263313ce5679260048083019391928290030181865afa1580156113f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114179190615814565b61142290600a615931565b84836006811061143457611434615940565b60200201516114439190615956565b60018083019190915560646002830155815460ff191617815561146b61016b80546001019055565b505080806114789061596d565b915050611381565b50508015610e17576001805461ff00191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036115135760405162461bcd60e51b8152600401610d769061577c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661155c600080516020615e22833981519152546001600160a01b031690565b6001600160a01b0316146115825760405162461bcd60e51b8152600401610d76906157c8565b61158b82613c47565b61159782826001613c4f565b5050565b60006115a660cc5490565b82106116095760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610d76565b60cc828154811061161c5761161c615940565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116ce5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610d76565b50600080516020615e2283398151915290565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa15801561172a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174e9190615712565b151560010361176f5760405162461bcd60e51b8152600401610d7690615986565b3361177982611d3b565b6001600160a01b0316146117c55760405162461bcd60e51b815260206004820152601360248201527231b0b63632b91034b9903737ba1037bbb732b960691b6044820152606401610d76565b6000818152610161602052604090205460ff16156118195760405162461bcd60e51b81526020600482015260116024820152701d1bdad95b88189b1858dadb1a5cdd1959607a1b6044820152606401610d76565b600061182482611d9b565b90506000811161186a5760405162461bcd60e51b81526020600482015260116024820152704e6f2072657761726420746f206661726d60781b6044820152606401610d76565b6000606461187983600a615956565b61188391906159c9565b905060006118926002836159c9565b61016854610169546040805163f481e86360e01b815290519394506001600160a01b0392831693634cc0f367938693169163f481e8639160048083019260209291908290030181865afa1580156118ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191191906159dd565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b15801561195857600080fd5b505af115801561196c573d6000803e3d6000fd5b5050610168546101695460408051631f2957b160e21b815290516001600160a01b039384169550634cc0f3679450869390921691637ca55ec4916004808201926020929091908290030181865afa1580156119cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ef91906159dd565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b158015611a3657600080fd5b505af1158015611a4a573d6000803e3d6000fd5b5050610168546001600160a01b03169150634cc0f3679050611a6c84866159fa565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611aab57600080fd5b505af1158015611abf573d6000803e3d6000fd5b505061016954604051630fa2d9ff60e41b8152336004820152600093508392506001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b369190615a0d565b5093975091955060019450505050505b60648111611ce0576001600160a01b03821615611ce0576000611b698284613e41565b90508015611c4d5760006064611b7f838a615956565b611b8991906159c9565b61016854604051634cc0f36760e01b8152600481018390523060248201529192506001600160a01b031690634cc0f36790604401600060405180830381600087803b158015611bd757600080fd5b505af1158015611beb573d6000803e3d6000fd5b505050506001600160a01b0384166000908152610164602052604081208054839290611c18908490615a97565b90915550506001600160a01b0384166000908152610166602052604081208054839290611c46908490615a97565b9091555050505b61016954604051630fa2d9ff60e41b81526001600160a01b0385811660048301529091169063fa2d9ff09060240161010060405180830381865afa158015611c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbd9190615a0d565b50939950919750869550611cd8945085935061596d92505050565b915050611b46565b506000868152610161602052604090819020426003909101555186907f18b858dd8351526e5e7ab4ec353f5309024990391b3eb1e14a753249345ac5da90611d2b9088815260200190565b60405180910390a2505050505050565b6000818152609a60205260408120546001600160a01b031680610c435760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610d76565b600081815261016160209081526040808320600180820154855261016284528285208351606081018552815460ff161515815291810154948201949094526002938401549281018390526004820154600383015494830154600584015493959294611e099492939290613f61565b949350505050565b60006001600160a01b038216611e7b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610d76565b506001600160a01b03166000908152609b602052604090205490565b611e9f613bed565b611ea96000613ff4565b565b606060998054610c58906156bf565b610169546001600160a01b03163314611f0e5760405162461bcd60e51b815260206004820152601660248201527513db9b1e481d985b1a185b1b184818d85b8818d85b1b60521b6044820152606401610d76565b600080516020615e69833981519152600090815260208190527f335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c18054600080516020615e028339815191525555565b61016954604051630fa2d9ff60e41b81526001600160a01b038381166004830152600092839291169063fa2d9ff09060240161010060405180830381865afa158015611fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd19190615a0d565b5050600080516020615e69833981519152600090815260208181526101695460408051636ae994a760e01b81529051979a50600080516020615e0283398151915299509297506001600160a01b031695636ae994a7955060048084019550919350918290030181865afa15801561204c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120709190615712565b9050816001015460000361208957506000949350505050565b610169546040805163238d642760e11b815290516000926001600160a01b03169163471ac84e9160048083019260209291908290030181865afa1580156120d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f891906156f9565b90508115156000036121105750600095945050505050565b6001600160a01b03861660009081526101676020526040902054811161213c5750600095945050505050565b600084600681111561215057612150615aaa565b036121615750600095945050505050565b60008060008060008061016960009054906101000a90046001600160a01b03166001600160a01b031663d35cb1ad6040518163ffffffff1660e01b815260040160c060405180830381865afa1580156121be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e29190615ac0565b949a5092985090965094509250905060008060018c600681111561220857612208615aaa565b0361222d578a54889250606490612220906003615956565b61222a91906159c9565b90505b60028c600681111561224157612241615aaa565b03612266578a54879250606490612259906007615956565b61226391906159c9565b90505b60038c600681111561227a5761227a615aaa565b0361229f578a5486925060649061229290600c615956565b61229c91906159c9565b90505b60048c60068111156122b3576122b3615aaa565b036122d8578a548592506064906122cb906012615956565b6122d591906159c9565b90505b60058c60068111156122ec576122ec615aaa565b03612311578a5484925060649061230490601a615956565b61230e91906159c9565b90505b60068c600681111561232557612325615aaa565b0361234a578a5483925060649061233d906022615956565b61234791906159c9565b90505b61235482826159c9565b9e9d5050505050505050505050505050565b611597338383614046565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa1580156123ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123de9190615712565b15156001036123ff5760405162461bcd60e51b8152600401610d7690615986565b336000908152610164602090815260408083205461016954825163f481e86360e01b815292519194936001600160a01b039091169263f481e86392600480830193928290030181865afa15801561245a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247e91906159dd565b9050600061016960009054906101000a90046001600160a01b03166001600160a01b0316637ca55ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fa91906159dd565b90506000831161254c5760405162461bcd60e51b815260206004820152601760248201527f4e6f2072657761726420746f20626520636c61696d65640000000000000000006044820152606401610d76565b6000606461255b85600a615956565b61256591906159c9565b905060006125746002836159c9565b6101685460405163a9059cbb60e01b81526001600160a01b0387811660048301526024820184905292935091169063a9059cbb906044016020604051808303816000875af11580156125ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ee9190615712565b506101685460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015612643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126679190615712565b50610168546001600160a01b031663a9059cbb3361268585896159fa565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156126d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f49190615712565b503360008181526101646020908152604080832083905561016582528083208390556101669091528120557fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e61274a84886159fa565b60405190815260200160405180910390a25050505050565b61276c33836139f6565b6127885760405162461bcd60e51b8152600401610d769061572f565b61279484848484614114565b50505050565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa1580156127e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128079190615712565b15156001036128285760405162461bcd60e51b8152600401610d7690615986565b61016954604051630fa2d9ff60e41b81523360048201526000916001600160a01b03169063fa2d9ff09060240161010060405180830381865afa158015612873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128979190615a0d565b5050600080516020615e6983398151915260009081526020819052939650600080516020615e0283398151915295509293506128d89250339150611f5d9050565b3360009081526101636020908152604080832054815160e08101835293845261c3509284019290925262030d4090830152620f42406060830152624c4b40608083015263017d784060a08301526305f5e10060c08301529192508261297f5760405162461bcd60e51b815260206004820152601860248201527f4e6f205265776172642063616e20626520636c61696d656400000000000000006044820152606401610d76565b60005b6007811015612abc578086600681111561299e5761299e615aaa565b1480156129bd575060008660068111156129ba576129ba615aaa565b14155b15612aaa5761016860009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a9190615814565b612a4590600a615931565b828260078110612a5757612a57615940565b602002015163ffffffff16612a6c9190615956565b831015612aaa5760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420456c696769626c6560a01b6044820152606401610d76565b80612ab48161596d565b915050612982565b5060006064612acc85600a615956565b612ad691906159c9565b90506000612ae56002836159c9565b61016854610169546040805163f481e86360e01b815290519394506001600160a01b039283169363a9059cbb939092169163f481e863916004808201926020929091908290030181865afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6591906159dd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015612bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd69190615712565b50610168546101695460408051631f2957b160e21b815290516001600160a01b039384169363a9059cbb931691637ca55ec49160048083019260209291908290030181865afa158015612c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5191906159dd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc29190615712565b50610168546001600160a01b031663a9059cbb33612ce085896159fa565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d4f9190615712565b5033600090815261016760205260408120429055600187018054879290612d779084906159fa565b909155505060405185815233907feff26bb1aaac7ce27452afaf8402dbd160686540ece1c14d857cf0c272b5cba49060200160405180910390a250505050505050565b6060612dc582613929565b6000612dcf614147565b60008481526101616020908152604091829020825160c081018452815460ff1615158152600182015492810183905260028201549381019390935260038101546060840152600481015460808401526005015460a083015282519293509091612e475760405180602001604052806000815250612e72565b82612e5182614167565b604051602001612e62929190615b0a565b6040516020818303038152906040525b95945050505050565b612e83613bed565b7f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c6000908152602052610168547f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cda9805460405163a9059cbb60e01b8152336004820152602481019190915290916001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f469190615712565b506000808255600190910155565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa158015612f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc19190615712565b1515600103612fe25760405162461bcd60e51b8152600401610d7690615986565b61016954604051630fa2d9ff60e41b8152336004820152600091829182916001600160a01b03169063fa2d9ff09060240161010060405180830381865afa158015613031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130559190615a0d565b5050610169546040805163f481e86360e01b81529051979a509498509296506000956001600160a01b03909316945063f481e86393600480820194602094509250908290030181865afa1580156130b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130d491906159dd565b9050600061016960009054906101000a90046001600160a01b03166001600160a01b0316637ca55ec46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315091906159dd565b9050600061016960009054906101000a90046001600160a01b03166001600160a01b0316636ae994a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131cc9190615712565b600088815261016260205260409020909150811561321c5760405162461bcd60e51b815260206004820152600d60248201526c13585c9ad95d0818db1bdcd959609a1b6044820152606401610d76565b866132615760405162461bcd60e51b8152602060048201526015602482015274149959da5cdd1c985d1a5bdb881c995c5d5a5c9959605a1b6044820152606401610d76565b60008160010154116132a45760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a590818d85c9960a21b6044820152606401610d76565b805460ff166132ec5760405162461bcd60e51b815260206004820152601460248201527343617264206973206e6f74206d696e7461626c6560601b6044820152606401610d76565b6040805160e081018252620186a0815262030d406020820152620f424091810191909152624c4b4060608201526301312d0060808201526305f5e10060a0820152631dcd650060c082015260005b6007811015613475578088600681111561335657613356615aaa565b036134635761016860009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d39190615814565b6133de90600a615931565b8282600781106133f0576133f0615940565b602002015163ffffffff166134059190615956565b336000908152610163602052604090205460018501546134259190615a97565b11156134635760405162461bcd60e51b815260206004820152600d60248201526c26b0bc10213abc9022b93937b960991b6044820152606401610d76565b8061346d8161596d565b91505061333a565b50600060648360010154600561348b9190615956565b61349591906159c9565b6101685460018501549192506001600160a01b0316906323b872dd90339030906134c09086906159fa565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015613514573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135389190615712565b5061355e60648460010154601161354f9190615956565b61355991906159c9565b6141fa565b6135678161423f565b600060648460010154601461357c9190615956565b61358691906159c9565b905060006135956002836159c9565b6101685460405163a9059cbb60e01b81526001600160a01b038b811660048301526024820184905292935091169063a9059cbb906044016020604051808303816000875af11580156135eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061360f9190615712565b506101685460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015613664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136889190615712565b506101685460018601546001600160a01b03909116906342966c68906064906136b2906032615956565b6136bc91906159c9565b6040518263ffffffff1660e01b81526004016136da91815260200190565b600060405180830381600087803b1580156136f457600080fd5b505af1158015613708573d6000803e3d6000fd5b505050506001600160a01b038916156137dd5760006064866001015460086137309190615956565b61373a91906159c9565b6001600160a01b038b1660009081526101646020526040812080549293508392909190613768908490615a97565b90915550506001600160a01b038a166000908152610165602052604081208054839290613796908490615a97565b909155505060405181815233906001600160a01b038c16907f3fab282ea7563ace37bd2daf3591f95e88751f699b756206bf973706c871f74b9060200160405180910390a3505b60006137e961016a5490565b90506000610161600083815260200190815260200160002090508d8160010181905550866001015481600501819055504281600401819055504281600301819055506138336145a9565b600282015561384761016a80546001019055565b61385133836145c8565b604051829033907fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e90600090a35050505050505050505050505050565b613896613bed565b6001600160a01b0381166138fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d76565b61112f81613ff4565b60006001600160e01b0319821663780e9d6360e01b1480610c435750610c43826145e2565b6000818152609a60205260409020546001600160a01b031661112f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610d76565b6000818152609c6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139bd82611d3b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080613a0283611d3b565b9050806001600160a01b0316846001600160a01b03161480613a4957506001600160a01b038082166000908152609d602090815260408083209388168352929052205460ff165b80611e095750836001600160a01b0316613a6284610cdb565b6001600160a01b031614949350505050565b826001600160a01b0316613a8782611d3b565b6001600160a01b031614613aad5760405162461bcd60e51b8152600401610d7690615b39565b6001600160a01b038216613b0f5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610d76565b613b1c8383836001614632565b826001600160a01b0316613b2f82611d3b565b6001600160a01b031614613b555760405162461bcd60e51b8152600401610d7690615b39565b6000818152609c6020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652609b8552838620805460001901905590871680865283862080546001019055868652609a90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610e17838383600161463e565b6034546001600160a01b03163314611ea95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d76565b61112f613bed565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613c8257610e178361472d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613cdc575060408051601f3d908101601f19168201909252613cd9918101906156f9565b60015b613d3f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610d76565b600080516020615e228339815191528114613dae5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610d76565b50610e178383836147c9565b600154610100900460ff16613de15760405162461bcd60e51b8152600401610d7690615b7e565b611ea96147ee565b600154610100900460ff16613e105760405162461bcd60e51b8152600401610d7690615b7e565b611597828261481e565b600154610100900460ff16611ea95760405162461bcd60e51b8152600401610d7690615b7e565b61016954604051630fa2d9ff60e41b81526001600160a01b038381166004830152600092839291169063fa2d9ff09060240161010060405180830381865afa158015613e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb59190615a0d565b50939650611e099550899450869350505060068211159050613ed957613ed9615aaa565b6001600160a01b03808716600090815261016360209081526040918290205461016854835163313ce56760e01b815293519194169263313ce5679260048083019391928290030181865afa158015613f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f599190615814565b60ff1661485e565b600062015180613f73816101c2615956565b613f7d9088615a97565b421115613f8e576000915050612e72565b60006103e8613f9d8787615956565b613fa791906159c9565b90506000613fb583836159c9565b9050600081613fc48a426159fa565b613fce9190615956565b90506064613fdc8783615956565b613fe691906159c9565b9a9950505050505050505050565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036140a75760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610d76565b6001600160a01b038381166000818152609d6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61411f848484613a74565b61412b84848484614a97565b6127945760405162461bcd60e51b8152600401610d7690615bc9565b6060604051806060016040528060238152602001615e8960239139905090565b6060600061417483614b95565b600101905060008167ffffffffffffffff81111561419457614194615524565b6040519080825280601f01601f1916602001820160405280156141be576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846141c857509392505050565b600080516020615e6983398151915260009081526020819052600080516020615e02833981519152805490918391839190614236908490615a97565b90915550505050565b60008061016c60009054906101000a90046001600160a01b03166001600160a01b031663dc3676b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015614296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142ba91906156f9565b9050600061016c60009054906101000a90046001600160a01b03166001600160a01b03166316fed3e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015614312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061433691906159dd565b905060005b828110156144895761016c5460405163e4305a2960e01b815260048101839052600091829182916001600160a01b03169063e4305a2990602401608060405180830381865afa158015614392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b69190615c1b565b93509350935050600082826064868c6143cf9190615956565b6143d991906159c9565b6143e391906159c9565b6143ed9190615956565b90506143f98189615a97565b97508060000361440c5750505050614477565b61016c54604051635b2c9e4760e11b815260048101879052602481018390526001600160a01b039091169063b6593c8e90604401600060405180830381600087803b15801561445a57600080fd5b505af115801561446e573d6000803e3d6000fd5b50505050505050505b806144818161596d565b91505061433b565b506101685461016c546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018690529116906323b872dd906064016020604051808303816000875af11580156144e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061450b9190615712565b50610168546001600160a01b03166323b872dd338361452a87896159fa565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561457e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a29190615712565b5050505050565b6000806145b76103e8614c6d565b90506145c281614cdc565b91505090565b611597828260405180602001604052806000815250614d88565b60006001600160e01b031982166380ac58cd60e01b148061461357506001600160e01b03198216635b5e139f60e01b145b80610c4357506301ffc9a760e01b6001600160e01b0319831614610c43565b61279484848484614dbb565b600082815261016160205260409020600501546001600160a01b038516614693576001600160a01b0384166000908152610163602052604081208054839290614688908490615a97565b909155506145a29050565b6001600160a01b0384166146ca576001600160a01b03851660009081526101636020526040812080548392906146889084906159fa565b6001600160a01b03851660009081526101636020526040812080548392906146f39084906159fa565b90915550506001600160a01b0384166000908152610163602052604081208054839290614721908490615a97565b90915550505050505050565b6001600160a01b0381163b61479a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610d76565b600080516020615e2283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6147d283614ee8565b6000825111806147df5750805b15610e17576127948383614f28565b600154610100900460ff166148155760405162461bcd60e51b8152600401610d7690615b7e565b611ea933613ff4565b600154610100900460ff166148455760405162461bcd60e51b8152600401610d7690615b7e565b60986148518382615c9f565b506099610e178282615c9f565b600060018510158015614872575060058511155b8015614894575061488482600a615d5f565b61489090611388615956565b8310155b156148a157506005611e09565b600685101580156148b35750600a8511155b80156148c3575060018460ff1610155b80156148e557506148d582600a615d5f565b6148e1906161a8615956565b8310155b156148f257506001611e09565b600b8510158015614904575060148511155b8015614914575060028460ff1610155b8015614937575061492682600a615d5f565b61493390620186a0615956565b8310155b1561494457506001611e09565b60158510158015614956575060288511155b8015614966575060038460ff1610155b8015614989575061497882600a615d5f565b614985906207a120615956565b8310155b1561499657506001611e09565b602985101580156149a85750603c8511155b80156149b8575060048460ff1610155b80156149db57506149ca82600a615d5f565b6149d790622625a0615956565b8310155b156149e857506001611e09565b603d85101580156149fa575060508511155b8015614a0a575060058460ff1610155b8015614a2d5750614a1c82600a615d5f565b614a299062989680615956565b8310155b15614a3a57506001611e09565b60518510158015614a4c575060648511155b8015614a5b57508360ff166006145b8015614a7f5750614a6d82600a615d5f565b614a7b906302faf080615956565b8310155b15614a8c57506001611e09565b506000949350505050565b60006001600160a01b0384163b15614b8d57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614adb903390899088908890600401615d6b565b6020604051808303816000875af1925050508015614b16575060408051601f3d908101601f19168201909252614b1391810190615d9e565b60015b614b73573d808015614b44576040519150601f19603f3d011682016040523d82523d6000602084013e614b49565b606091505b508051600003614b6b5760405162461bcd60e51b8152600401610d7690615bc9565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e09565b506001611e09565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310614bd45772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614c00576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614c1e57662386f26fc10000830492506010015b6305f5e1008310614c36576305f5e100830492506008015b6127108310614c4a57612710830492506004015b60648310614c5c576064830492506002015b600a8310610c435760010192915050565b610160805460009182614c7f8361596d565b909155505061016054604080514260208201526bffffffffffffffffffffffff193360601b1691810191909152605481019190915282906074016040516020818303038152906040528051906020012060001c610c439190615dbb565b60006102bb8211614cef57506005919050565b6102bb82118015614d0257506103848211155b15614d0f57506006919050565b61038482118015614d2257506103df8211155b15614d2f57506007919050565b6103df82118015614d4257506103e48211155b15614d4f57506008919050565b6103e482118015614d6257506103e68211155b15614d6f5750600a919050565b816103e703614d805750600f919050565b506008919050565b614d928383614f54565b614d9f6000848484614a97565b610e175760405162461bcd60e51b8152600401610d7690615bc9565b6001811115614e2a5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610d76565b816001600160a01b038516614e8657614e818160cc8054600083815260cd60205260408120829055600182018355919091527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0155565b614ea9565b836001600160a01b0316856001600160a01b031614614ea957614ea985826150f7565b6001600160a01b038416614ec557614ec081615194565b6145a2565b846001600160a01b0316846001600160a01b0316146145a2576145a28482615243565b614ef18161472d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060614f4d8383604051806060016040528060278152602001615e4260279139615287565b9392505050565b6001600160a01b038216614faa5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610d76565b6000818152609a60205260409020546001600160a01b03161561500f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610d76565b61501d600083836001614632565b6000818152609a60205260409020546001600160a01b0316156150825760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610d76565b6001600160a01b0382166000818152609b6020908152604080832080546001019055848352609a90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461159760008383600161463e565b6000600161510484611e11565b61510e91906159fa565b600083815260cb6020526040902054909150808214615161576001600160a01b038416600090815260ca60209081526040808320858452825280832054848452818420819055835260cb90915290208190555b50600091825260cb602090815260408084208490556001600160a01b03909416835260ca81528383209183525290812055565b60cc546000906151a6906001906159fa565b600083815260cd602052604081205460cc80549394509092849081106151ce576151ce615940565b906000526020600020015490508060cc83815481106151ef576151ef615940565b600091825260208083209091019290925582815260cd909152604080822084905585825281205560cc80548061522757615227615dcf565b6001900381819060005260206000200160009055905550505050565b600061524e83611e11565b6001600160a01b03909316600090815260ca60209081526040808320868452825280832085905593825260cb9052919091209190915550565b6060600080856001600160a01b0316856040516152a49190615de5565b600060405180830381855af49150503d80600081146152df576040519150601f19603f3d011682016040523d82523d6000602084013e6152e4565b606091505b50915091506152f5868383876152ff565b9695505050505050565b6060831561536e578251600003615367576001600160a01b0385163b6153675760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d76565b5081611e09565b611e0983838151156153835781518083602001fd5b8060405162461bcd60e51b8152600401610d769190615420565b6001600160e01b03198116811461112f57600080fd5b6000602082840312156153c557600080fd5b8135614f4d8161539d565b60005b838110156153eb5781810151838201526020016153d3565b50506000910152565b6000815180845261540c8160208601602086016153d0565b601f01601f19169290920160200192915050565b602081526000614f4d60208301846153f4565b60006020828403121561544557600080fd5b5035919050565b6001600160a01b038116811461112f57600080fd5b6000806040838503121561547457600080fd5b823561547f8161544c565b946020939093013593505050565b6000806000606084860312156154a257600080fd5b83356154ad8161544c565b925060208401356154bd8161544c565b929592945050506040919091013590565b6000602082840312156154e057600080fd5b8135614f4d8161544c565b600080604083850312156154fe57600080fd5b82356155098161544c565b915060208301356155198161544c565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261554b57600080fd5b813567ffffffffffffffff8082111561556657615566615524565b604051601f8301601f19908116603f0116810190828211818310171561558e5761558e615524565b816040528381528660208588010111156155a757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156155da57600080fd5b82356155e58161544c565b9150602083013567ffffffffffffffff81111561560157600080fd5b61560d8582860161553a565b9150509250929050565b801515811461112f57600080fd5b6000806040838503121561563857600080fd5b82356156438161544c565b9150602083013561551981615617565b6000806000806080858703121561566957600080fd5b84356156748161544c565b935060208501356156848161544c565b925060408501359150606085013567ffffffffffffffff8111156156a757600080fd5b6156b38782880161553a565b91505092959194509250565b600181811c908216806156d357607f821691505b6020821081036156f357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561570b57600080fd5b5051919050565b60006020828403121561572457600080fd5b8151614f4d81615617565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561582657600080fd5b815160ff81168114614f4d57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561588857816000190482111561586e5761586e615837565b8085161561587b57918102915b93841c9390800290615852565b509250929050565b60008261589f57506001610c43565b816158ac57506000610c43565b81600181146158c257600281146158cc576158e8565b6001915050610c43565b60ff8411156158dd576158dd615837565b50506001821b610c43565b5060208310610133831016604e8410600b841016171561590b575081810a610c43565b615915838361584d565b806000190482111561592957615929615837565b029392505050565b6000614f4d60ff841683615890565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610c4357610c43615837565b60006001820161597f5761597f615837565b5060010190565b6020808252601390820152721059191c995cdcc8189b1858dadb1a5cdd1959606a1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826159d8576159d86159b3565b500490565b6000602082840312156159ef57600080fd5b8151614f4d8161544c565b81810381811115610c4357610c43615837565b600080600080600080600080610100898b031215615a2a57600080fd5b8851615a3581615617565b60208a0151909850615a4681615617565b60408a015190975060078110615a5b57600080fd5b60608a0151909650615a6c8161544c565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b80820180821115610c4357610c43615837565b634e487b7160e01b600052602160045260246000fd5b60008060008060008060c08789031215615ad957600080fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b60008351615b1c8184602088016153d0565b835190830190615b308183602088016153d0565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008060008060808587031215615c3157600080fd5b505082516020840151604085015160609095015191969095509092509050565b601f821115610e1757600081815260208120601f850160051c81016020861015615c785750805b601f850160051c820191505b81811015615c9757828155600101615c84565b505050505050565b815167ffffffffffffffff811115615cb957615cb9615524565b615ccd81615cc784546156bf565b84615c51565b602080601f831160018114615d025760008415615cea5750858301515b600019600386901b1c1916600185901b178555615c97565b600085815260208120601f198616915b82811015615d3157888601518255948401946001909101908401615d12565b5085821015615d4f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000614f4d8383615890565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906152f5908301846153f4565b600060208284031215615db057600080fd5b8151614f4d8161539d565b600082615dca57615dca6159b3565b500690565b634e487b7160e01b600052603160045260246000fd5b60008251615df78184602087016153d0565b919091019291505056fe335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644caf09f7dd9cf5930a0d30d4dba10a4d06c1e6d90491f8198b355f99152771b068747470733a2f2f63726f7764737472696b652e636c75622f6170692f696d6167652fa2646970667358221220d3b56838f58eda0a1e936c89821f4929f74280364ddd97dec2ddbd799bdeeb2964736f6c63430008110033",
|
|
1155
|
+
"deployedBytecode": "0x6080604052600436106102ff5760003560e01c80636dfab78e11610190578063ba2d5095116100dc578063d96a094a11610095578063e51534471161006f578063e515344714610b2a578063e961e1ff14610bae578063e985e9c514610bcf578063f2fde38b14610c1857600080fd5b8063d96a094a14610a7e578063dde15ea014610a9e578063e4305a2914610acc57600080fd5b8063ba2d5095146109b0578063c415bf3d146109e4578063c87b56dd146109f9578063d327bc7114610a19578063d3f46b8b14610a47578063d80f94e514610a6957600080fd5b8063951053a6116101495780639db0f9e4116101235780639db0f9e41461093b578063a22cb4651461095b578063b88a802f1461097b578063b88d4fde1461099057600080fd5b8063951053a61461087257806395d89b411461091157806398d41efb1461092657600080fd5b80636dfab78e1461078f57806370a08231146107c3578063715018a6146107e357806383aea645146107f857806383d44339146108265780638da5cb5b1461085457600080fd5b806332db23781161024f5780634f1ef28611610208578063538a85a1116101e2578063538a85a11461069057806360267482146106b05780636352211e1461074f578063663ba86e1461076f57600080fd5b80634f1ef286146106485780634f6ccce71461065b57806352d1902d1461067b57600080fd5b806332db2378146105215780633659cfe6146105415780634237ea8d1461056157806342842e0e1461057657806344712a6c14610596578063485cc9551461062857600080fd5b806318160ddd116102bc57806323b872dd1161029657806323b872dd1461047f57806327760dd71461049f5780632f745c59146104cd57806330cf4dc5146104ed57600080fd5b806318160ddd1461041f5780631dede1071461043e57806321d91ef41461045e57600080fd5b806301ffc9a71461030457806306fdde0314610339578063081812fc1461035b578063095ea7b3146103935780630a2a6e37146103b55780630defebeb146103d6575b600080fd5b34801561031057600080fd5b5061032461031f3660046153b3565b610c38565b60405190151581526020015b60405180910390f35b34801561034557600080fd5b5061034e610c49565b6040516103309190615420565b34801561036757600080fd5b5061037b610376366004615433565b610cdb565b6040516001600160a01b039091168152602001610330565b34801561039f57600080fd5b506103b36103ae366004615461565b610d02565b005b3480156103c157600080fd5b506101695461037b906001600160a01b031681565b3480156103e257600080fd5b5061040a6103f1366004615433565b6000602081905290815260409020805460019091015482565b60408051928352602083019190915201610330565b34801561042b57600080fd5b5060cc545b604051908152602001610330565b34801561044a57600080fd5b506103b3610459366004615433565b610e1c565b34801561046a57600080fd5b5061016c5461037b906001600160a01b031681565b34801561048b57600080fd5b506103b361049a36600461548d565b610f61565b3480156104ab57600080fd5b506104306104ba3660046154ce565b6101676020526000908152604090205481565b3480156104d957600080fd5b506104306104e8366004615461565b610f92565b3480156104f957600080fd5b506104307f07b941733a7a0fb95acb53f7ec363f2e58bcfffba15469eb7d5ade1ddbb3447481565b34801561052d57600080fd5b506103b361053c3660046154ce565b611028565b34801561054d57600080fd5b506103b361055c3660046154ce565b611053565b34801561056d57600080fd5b506103b3611132565b34801561058257600080fd5b506103b361059136600461548d565b6111d1565b3480156105a257600080fd5b5060408051808201825260008082526020918201819052600080516020615e69833981519152815281528151808301909252600080516020615e028339815191525482527f335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c154908201525b60408051825181526020928301519281019290925201610330565b34801561063457600080fd5b506103b36106433660046154eb565b6111ec565b6103b36106563660046155c7565b6114cb565b34801561066757600080fd5b50610430610676366004615433565b61159b565b34801561068757600080fd5b5061043061162e565b34801561069c57600080fd5b506103b36106ab366004615433565b6116e1565b3480156106bc57600080fd5b50604080518082018252600080825260209182018190527f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c8152815281518083019092527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cda95482527f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cdaa549082015261060d565b34801561075b57600080fd5b5061037b61076a366004615433565b611d3b565b34801561077b57600080fd5b5061043061078a366004615433565b611d9b565b34801561079b57600080fd5b506104307fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d81565b3480156107cf57600080fd5b506104306107de3660046154ce565b611e11565b3480156107ef57600080fd5b506103b3611e97565b34801561080457600080fd5b506104306108133660046154ce565b6101636020526000908152604090205481565b34801561083257600080fd5b506104306108413660046154ce565b6101646020526000908152604090205481565b34801561086057600080fd5b506034546001600160a01b031661037b565b34801561087e57600080fd5b50604080518082018252600080825260209182018190527fef78ff2707f55cf683ecba27f753a1f73d88a2972299daeedcdcce2c52b7821d8152815281518083019092527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e90755482527fe48cbce158a88b2ae025b935f2c891db41fa49d66e958301265adefc644e9076549082015261060d565b34801561091d57600080fd5b5061034e611eab565b34801561093257600080fd5b506103b3611eba565b34801561094757600080fd5b506104306109563660046154ce565b611f5d565b34801561096757600080fd5b506103b3610976366004615625565b612366565b34801561098757600080fd5b506103b3612371565b34801561099c57600080fd5b506103b36109ab366004615653565b612762565b3480156109bc57600080fd5b506104307f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c81565b3480156109f057600080fd5b506103b361279a565b348015610a0557600080fd5b5061034e610a14366004615433565b612dba565b348015610a2557600080fd5b50610430610a343660046154ce565b6101656020526000908152604090205481565b348015610a5357600080fd5b50610430600080516020615e6983398151915281565b348015610a7557600080fd5b506103b3612e7b565b348015610a8a57600080fd5b506103b3610a99366004615433565b612f54565b348015610aaa57600080fd5b50610430610ab93660046154ce565b6101666020526000908152604090205481565b348015610ad857600080fd5b50610b0d610ae7366004615433565b6101626020526000908152604090208054600182015460029092015460ff909116919083565b604080519315158452602084019290925290820152606001610330565b348015610b3657600080fd5b50610b7f610b45366004615433565b6101616020526000908152604090208054600182015460028301546003840154600485015460059095015460ff9094169492939192909186565b6040805196151587526020870195909552938501929092526060840152608083015260a082015260c001610330565b348015610bba57600080fd5b506101685461037b906001600160a01b031681565b348015610bdb57600080fd5b50610324610bea3660046154eb565b6001600160a01b039182166000908152609d6020908152604080832093909416825291909152205460ff1690565b348015610c2457600080fd5b506103b3610c333660046154ce565b61388e565b6000610c4382613904565b92915050565b606060988054610c58906156bf565b80601f0160208091040260200160405190810160405280929190818152602001828054610c84906156bf565b8015610cd15780601f10610ca657610100808354040283529160200191610cd1565b820191906000526020600020905b815481529060010190602001808311610cb457829003601f168201915b5050505050905090565b6000610ce682613929565b506000908152609c60205260409020546001600160a01b031690565b6000610d0d82611d3b565b9050806001600160a01b0316836001600160a01b031603610d7f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b0382161480610d9b5750610d9b8133610bea565b610e0d5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610d76565b610e178383613988565b505050565b610169546040805163a217fddf60e01b815290516001600160a01b03909216916391d1485491839163a217fddf916004808201926020929091908290030181865afa158015610e6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9391906156f9565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401602060405180830381865afa158015610ed5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ef99190615712565b610f455760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c792041646d696e2063616e20706572666f726d20616374696f6e0000006044820152606401610d76565b600090815261016160205260409020805460ff19166001179055565b610f6b33826139f6565b610f875760405162461bcd60e51b8152600401610d769061572f565b610e17838383613a74565b6000610f9d83611e11565b8210610fff5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610d76565b506001600160a01b0391909116600090815260ca60209081526040808320938352929052205490565b611030613bed565b61016c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361109b5760405162461bcd60e51b8152600401610d769061577c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166110e4600080516020615e22833981519152546001600160a01b031690565b6001600160a01b03161461110a5760405162461bcd60e51b8152600401610d76906157c8565b61111381613c47565b6040805160008082526020820190925261112f91839190613c4f565b50565b610169546001600160a01b031633146111865760405162461bcd60e51b815260206004820152601660248201527513db9b1e481d985b1a185b1b184818d85b8818d85b1b60521b6044820152606401610d76565b600080516020615e698339815191526000908152602052600080516020615e02833981519152547f335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c155565b610e1783838360405180602001604052806000815250612762565b600154610100900460ff161580801561120957506001805460ff16105b806112225750303b15801561122257506001805460ff16145b6112855760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610d76565b6001805460ff19168117905580156112a7576001805461ff0019166101001790555b6112af613dba565b6112ff6040518060400160405280600e81526020016d10dc9bddd914dd1c9a5ad953919560921b8152506040518060400160405280600881526020016710d493d5d113919560c21b815250613de9565b611307613e1a565b61130f613e1a565b61016880546001600160a01b038086166001600160a01b0319928316179092556101698054928516929091169190911790556040805160c08101825261138881526161a86020820152620186a0918101919091526207a1206060820152622625a060808201526298968060a082015260005b600681101561148057600061139661016b5490565b6000818152610162602090815260409182902061016854835163313ce56760e01b8152935194955090936001600160a01b039091169263313ce5679260048083019391928290030181865afa1580156113f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114179190615814565b61142290600a615931565b84836006811061143457611434615940565b60200201516114439190615956565b60018083019190915560646002830155815460ff191617815561146b61016b80546001019055565b505080806114789061596d565b915050611381565b50508015610e17576001805461ff00191681556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036115135760405162461bcd60e51b8152600401610d769061577c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661155c600080516020615e22833981519152546001600160a01b031690565b6001600160a01b0316146115825760405162461bcd60e51b8152600401610d76906157c8565b61158b82613c47565b61159782826001613c4f565b5050565b60006115a660cc5490565b82106116095760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610d76565b60cc828154811061161c5761161c615940565b90600052602060002001549050919050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146116ce5760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610d76565b50600080516020615e2283398151915290565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa15801561172a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174e9190615712565b151560010361176f5760405162461bcd60e51b8152600401610d7690615986565b3361177982611d3b565b6001600160a01b0316146117c55760405162461bcd60e51b815260206004820152601360248201527231b0b63632b91034b9903737ba1037bbb732b960691b6044820152606401610d76565b6000818152610161602052604090205460ff16156118195760405162461bcd60e51b81526020600482015260116024820152701d1bdad95b88189b1858dadb1a5cdd1959607a1b6044820152606401610d76565b600061182482611d9b565b90506000811161186a5760405162461bcd60e51b81526020600482015260116024820152704e6f2072657761726420746f206661726d60781b6044820152606401610d76565b6000606461187983600a615956565b61188391906159c9565b905060006118926002836159c9565b61016854610169546040805163f481e86360e01b815290519394506001600160a01b0392831693634cc0f367938693169163f481e8639160048083019260209291908290030181865afa1580156118ed573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191191906159dd565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b15801561195857600080fd5b505af115801561196c573d6000803e3d6000fd5b5050610168546101695460408051631f2957b160e21b815290516001600160a01b039384169550634cc0f3679450869390921691637ca55ec4916004808201926020929091908290030181865afa1580156119cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ef91906159dd565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b03166024820152604401600060405180830381600087803b158015611a3657600080fd5b505af1158015611a4a573d6000803e3d6000fd5b5050610168546001600160a01b03169150634cc0f3679050611a6c84866159fa565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015611aab57600080fd5b505af1158015611abf573d6000803e3d6000fd5b505061016954604051630fa2d9ff60e41b8152336004820152600093508392506001600160a01b039091169063fa2d9ff09060240161010060405180830381865afa158015611b12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b369190615a0d565b5093975091955060019450505050505b60648111611ce0576001600160a01b03821615611ce0576000611b698284613e41565b90508015611c4d5760006064611b7f838a615956565b611b8991906159c9565b61016854604051634cc0f36760e01b8152600481018390523060248201529192506001600160a01b031690634cc0f36790604401600060405180830381600087803b158015611bd757600080fd5b505af1158015611beb573d6000803e3d6000fd5b505050506001600160a01b0384166000908152610164602052604081208054839290611c18908490615a97565b90915550506001600160a01b0384166000908152610166602052604081208054839290611c46908490615a97565b9091555050505b61016954604051630fa2d9ff60e41b81526001600160a01b0385811660048301529091169063fa2d9ff09060240161010060405180830381865afa158015611c99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cbd9190615a0d565b50939950919750869550611cd8945085935061596d92505050565b915050611b46565b506000868152610161602052604090819020426003909101555186907f18b858dd8351526e5e7ab4ec353f5309024990391b3eb1e14a753249345ac5da90611d2b9088815260200190565b60405180910390a2505050505050565b6000818152609a60205260408120546001600160a01b031680610c435760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610d76565b600081815261016160209081526040808320600180820154855261016284528285208351606081018552815460ff161515815291810154948201949094526002938401549281018390526004820154600383015494830154600584015493959294611e099492939290613f61565b949350505050565b60006001600160a01b038216611e7b5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610d76565b506001600160a01b03166000908152609b602052604090205490565b611e9f613bed565b611ea96000613ff4565b565b606060998054610c58906156bf565b610169546001600160a01b03163314611f0e5760405162461bcd60e51b815260206004820152601660248201527513db9b1e481d985b1a185b1b184818d85b8818d85b1b60521b6044820152606401610d76565b600080516020615e69833981519152600090815260208190527f335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c18054600080516020615e028339815191525555565b61016954604051630fa2d9ff60e41b81526001600160a01b038381166004830152600092839291169063fa2d9ff09060240161010060405180830381865afa158015611fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd19190615a0d565b5050600080516020615e69833981519152600090815260208181526101695460408051636ae994a760e01b81529051979a50600080516020615e0283398151915299509297506001600160a01b031695636ae994a7955060048084019550919350918290030181865afa15801561204c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120709190615712565b9050816001015460000361208957506000949350505050565b610169546040805163238d642760e11b815290516000926001600160a01b03169163471ac84e9160048083019260209291908290030181865afa1580156120d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120f891906156f9565b90508115156000036121105750600095945050505050565b6001600160a01b03861660009081526101676020526040902054811161213c5750600095945050505050565b600084600681111561215057612150615aaa565b036121615750600095945050505050565b60008060008060008061016960009054906101000a90046001600160a01b03166001600160a01b031663d35cb1ad6040518163ffffffff1660e01b815260040160c060405180830381865afa1580156121be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121e29190615ac0565b949a5092985090965094509250905060008060018c600681111561220857612208615aaa565b0361222d578a54889250606490612220906003615956565b61222a91906159c9565b90505b60028c600681111561224157612241615aaa565b03612266578a54879250606490612259906007615956565b61226391906159c9565b90505b60038c600681111561227a5761227a615aaa565b0361229f578a5486925060649061229290600c615956565b61229c91906159c9565b90505b60048c60068111156122b3576122b3615aaa565b036122d8578a548592506064906122cb906012615956565b6122d591906159c9565b90505b60058c60068111156122ec576122ec615aaa565b03612311578a5484925060649061230490601a615956565b61230e91906159c9565b90505b60068c600681111561232557612325615aaa565b0361234a578a5483925060649061233d906022615956565b61234791906159c9565b90505b61235482826159c9565b9e9d5050505050505050505050505050565b611597338383614046565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa1580156123ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123de9190615712565b15156001036123ff5760405162461bcd60e51b8152600401610d7690615986565b336000908152610164602090815260408083205461016954825163f481e86360e01b815292519194936001600160a01b039091169263f481e86392600480830193928290030181865afa15801561245a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061247e91906159dd565b9050600061016960009054906101000a90046001600160a01b03166001600160a01b0316637ca55ec46040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124fa91906159dd565b90506000831161254c5760405162461bcd60e51b815260206004820152601760248201527f4e6f2072657761726420746f20626520636c61696d65640000000000000000006044820152606401610d76565b6000606461255b85600a615956565b61256591906159c9565b905060006125746002836159c9565b6101685460405163a9059cbb60e01b81526001600160a01b0387811660048301526024820184905292935091169063a9059cbb906044016020604051808303816000875af11580156125ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ee9190615712565b506101685460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015612643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126679190615712565b50610168546001600160a01b031663a9059cbb3361268585896159fa565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156126d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126f49190615712565b503360008181526101646020908152604080832083905561016582528083208390556101669091528120557fba8de60c3403ec381d1d484652ea1980e3c3e56359195c92525bff4ce47ad98e61274a84886159fa565b60405190815260200160405180910390a25050505050565b61276c33836139f6565b6127885760405162461bcd60e51b8152600401610d769061572f565b61279484848484614114565b50505050565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa1580156127e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128079190615712565b15156001036128285760405162461bcd60e51b8152600401610d7690615986565b61016954604051630fa2d9ff60e41b81523360048201526000916001600160a01b03169063fa2d9ff09060240161010060405180830381865afa158015612873573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128979190615a0d565b5050600080516020615e6983398151915260009081526020819052939650600080516020615e0283398151915295509293506128d89250339150611f5d9050565b3360009081526101636020908152604080832054815160e08101835293845261c3509284019290925262030d4090830152620f42406060830152624c4b40608083015263017d784060a08301526305f5e10060c08301529192508261297f5760405162461bcd60e51b815260206004820152601860248201527f4e6f205265776172642063616e20626520636c61696d656400000000000000006044820152606401610d76565b60005b6007811015612abc578086600681111561299e5761299e615aaa565b1480156129bd575060008660068111156129ba576129ba615aaa565b14155b15612aaa5761016860009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a3a9190615814565b612a4590600a615931565b828260078110612a5757612a57615940565b602002015163ffffffff16612a6c9190615956565b831015612aaa5760405162461bcd60e51b815260206004820152600c60248201526b4e6f7420456c696769626c6560a01b6044820152606401610d76565b80612ab48161596d565b915050612982565b5060006064612acc85600a615956565b612ad691906159c9565b90506000612ae56002836159c9565b61016854610169546040805163f481e86360e01b815290519394506001600160a01b039283169363a9059cbb939092169163f481e863916004808201926020929091908290030181865afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b6591906159dd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015612bb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612bd69190615712565b50610168546101695460408051631f2957b160e21b815290516001600160a01b039384169363a9059cbb931691637ca55ec49160048083019260209291908290030181865afa158015612c2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c5191906159dd565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015612c9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cc29190615712565b50610168546001600160a01b031663a9059cbb33612ce085896159fa565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015612d2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d4f9190615712565b5033600090815261016760205260408120429055600187018054879290612d779084906159fa565b909155505060405185815233907feff26bb1aaac7ce27452afaf8402dbd160686540ece1c14d857cf0c272b5cba49060200160405180910390a250505050505050565b6060612dc582613929565b6000612dcf614147565b60008481526101616020908152604091829020825160c081018452815460ff1615158152600182015492810183905260028201549381019390935260038101546060840152600481015460808401526005015460a083015282519293509091612e475760405180602001604052806000815250612e72565b82612e5182614167565b604051602001612e62929190615b0a565b6040516020818303038152906040525b95945050505050565b612e83613bed565b7f791b07db9f5ba47b7333684f8aab1753657d4cf52dbb1ca2e58c7c7643deb25c6000908152602052610168547f7ae3c50dab2a4efefa12dcfbd46eb63dd82ec1805ae28aeb47fe2451bfc1cda9805460405163a9059cbb60e01b8152336004820152602481019190915290916001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015612f22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f469190615712565b506000808255600190910155565b61016954604051630a1b99af60e21b81523360048201526001600160a01b039091169063286e66bc90602401602060405180830381865afa158015612f9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612fc19190615712565b1515600103612fe25760405162461bcd60e51b8152600401610d7690615986565b61016954604051630fa2d9ff60e41b8152336004820152600091829182916001600160a01b03169063fa2d9ff09060240161010060405180830381865afa158015613031573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130559190615a0d565b5050610169546040805163f481e86360e01b81529051979a509498509296506000956001600160a01b03909316945063f481e86393600480820194602094509250908290030181865afa1580156130b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130d491906159dd565b9050600061016960009054906101000a90046001600160a01b03166001600160a01b0316637ca55ec46040518163ffffffff1660e01b8152600401602060405180830381865afa15801561312c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061315091906159dd565b9050600061016960009054906101000a90046001600160a01b03166001600160a01b0316636ae994a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156131a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131cc9190615712565b600088815261016260205260409020909150811561321c5760405162461bcd60e51b815260206004820152600d60248201526c13585c9ad95d0818db1bdcd959609a1b6044820152606401610d76565b866132615760405162461bcd60e51b8152602060048201526015602482015274149959da5cdd1c985d1a5bdb881c995c5d5a5c9959605a1b6044820152606401610d76565b60008160010154116132a45760405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a590818d85c9960a21b6044820152606401610d76565b805460ff166132ec5760405162461bcd60e51b815260206004820152601460248201527343617264206973206e6f74206d696e7461626c6560601b6044820152606401610d76565b6040805160e081018252620186a0815262030d406020820152620f424091810191909152624c4b4060608201526301312d0060808201526305f5e10060a0820152631dcd650060c082015260005b6007811015613475578088600681111561335657613356615aaa565b036134635761016860009054906101000a90046001600160a01b03166001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d39190615814565b6133de90600a615931565b8282600781106133f0576133f0615940565b602002015163ffffffff166134059190615956565b336000908152610163602052604090205460018501546134259190615a97565b11156134635760405162461bcd60e51b815260206004820152600d60248201526c26b0bc10213abc9022b93937b960991b6044820152606401610d76565b8061346d8161596d565b91505061333a565b50600060648360010154600561348b9190615956565b61349591906159c9565b6101685460018501549192506001600160a01b0316906323b872dd90339030906134c09086906159fa565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af1158015613514573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135389190615712565b5061355e60648460010154601161354f9190615956565b61355991906159c9565b6141fa565b6135678161423f565b600060648460010154601461357c9190615956565b61358691906159c9565b905060006135956002836159c9565b6101685460405163a9059cbb60e01b81526001600160a01b038b811660048301526024820184905292935091169063a9059cbb906044016020604051808303816000875af11580156135eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061360f9190615712565b506101685460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015613664573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136889190615712565b506101685460018601546001600160a01b03909116906342966c68906064906136b2906032615956565b6136bc91906159c9565b6040518263ffffffff1660e01b81526004016136da91815260200190565b600060405180830381600087803b1580156136f457600080fd5b505af1158015613708573d6000803e3d6000fd5b505050506001600160a01b038916156137dd5760006064866001015460086137309190615956565b61373a91906159c9565b6001600160a01b038b1660009081526101646020526040812080549293508392909190613768908490615a97565b90915550506001600160a01b038a166000908152610165602052604081208054839290613796908490615a97565b909155505060405181815233906001600160a01b038c16907f3fab282ea7563ace37bd2daf3591f95e88751f699b756206bf973706c871f74b9060200160405180910390a3505b60006137e961016a5490565b90506000610161600083815260200190815260200160002090508d8160010181905550866001015481600501819055504281600401819055504281600301819055506138336145a9565b600282015561384761016a80546001019055565b61385133836145c8565b604051829033907fe3d4187f6ca4248660cc0ac8b8056515bac4a8132be2eca31d6d0cc170722a7e90600090a35050505050505050505050505050565b613896613bed565b6001600160a01b0381166138fb5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610d76565b61112f81613ff4565b60006001600160e01b0319821663780e9d6360e01b1480610c435750610c43826145e2565b6000818152609a60205260409020546001600160a01b031661112f5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610d76565b6000818152609c6020526040902080546001600160a01b0319166001600160a01b03841690811790915581906139bd82611d3b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080613a0283611d3b565b9050806001600160a01b0316846001600160a01b03161480613a4957506001600160a01b038082166000908152609d602090815260408083209388168352929052205460ff165b80611e095750836001600160a01b0316613a6284610cdb565b6001600160a01b031614949350505050565b826001600160a01b0316613a8782611d3b565b6001600160a01b031614613aad5760405162461bcd60e51b8152600401610d7690615b39565b6001600160a01b038216613b0f5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610d76565b613b1c8383836001614632565b826001600160a01b0316613b2f82611d3b565b6001600160a01b031614613b555760405162461bcd60e51b8152600401610d7690615b39565b6000818152609c6020908152604080832080546001600160a01b03199081169091556001600160a01b03878116808652609b8552838620805460001901905590871680865283862080546001019055868652609a90945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4610e17838383600161463e565b6034546001600160a01b03163314611ea95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610d76565b61112f613bed565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613c8257610e178361472d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613cdc575060408051601f3d908101601f19168201909252613cd9918101906156f9565b60015b613d3f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610d76565b600080516020615e228339815191528114613dae5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610d76565b50610e178383836147c9565b600154610100900460ff16613de15760405162461bcd60e51b8152600401610d7690615b7e565b611ea96147ee565b600154610100900460ff16613e105760405162461bcd60e51b8152600401610d7690615b7e565b611597828261481e565b600154610100900460ff16611ea95760405162461bcd60e51b8152600401610d7690615b7e565b61016954604051630fa2d9ff60e41b81526001600160a01b038381166004830152600092839291169063fa2d9ff09060240161010060405180830381865afa158015613e91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613eb59190615a0d565b50939650611e099550899450869350505060068211159050613ed957613ed9615aaa565b6001600160a01b03808716600090815261016360209081526040918290205461016854835163313ce56760e01b815293519194169263313ce5679260048083019391928290030181865afa158015613f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f599190615814565b60ff1661485e565b600062015180613f73816101c2615956565b613f7d9088615a97565b421115613f8e576000915050612e72565b60006103e8613f9d8787615956565b613fa791906159c9565b90506000613fb583836159c9565b9050600081613fc48a426159fa565b613fce9190615956565b90506064613fdc8783615956565b613fe691906159c9565b9a9950505050505050505050565b603480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b816001600160a01b0316836001600160a01b0316036140a75760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610d76565b6001600160a01b038381166000818152609d6020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61411f848484613a74565b61412b84848484614a97565b6127945760405162461bcd60e51b8152600401610d7690615bc9565b6060604051806060016040528060238152602001615e8960239139905090565b6060600061417483614b95565b600101905060008167ffffffffffffffff81111561419457614194615524565b6040519080825280601f01601f1916602001820160405280156141be576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846141c857509392505050565b600080516020615e6983398151915260009081526020819052600080516020615e02833981519152805490918391839190614236908490615a97565b90915550505050565b60008061016c60009054906101000a90046001600160a01b03166001600160a01b031663dc3676b76040518163ffffffff1660e01b8152600401602060405180830381865afa158015614296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906142ba91906156f9565b9050600061016c60009054906101000a90046001600160a01b03166001600160a01b03166316fed3e26040518163ffffffff1660e01b8152600401602060405180830381865afa158015614312573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061433691906159dd565b905060005b828110156144895761016c5460405163e4305a2960e01b815260048101839052600091829182916001600160a01b03169063e4305a2990602401608060405180830381865afa158015614392573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143b69190615c1b565b93509350935050600082826064868c6143cf9190615956565b6143d991906159c9565b6143e391906159c9565b6143ed9190615956565b90506143f98189615a97565b97508060000361440c5750505050614477565b61016c54604051635b2c9e4760e11b815260048101879052602481018390526001600160a01b039091169063b6593c8e90604401600060405180830381600087803b15801561445a57600080fd5b505af115801561446e573d6000803e3d6000fd5b50505050505050505b806144818161596d565b91505061433b565b506101685461016c546040516323b872dd60e01b81523360048201526001600160a01b039182166024820152604481018690529116906323b872dd906064016020604051808303816000875af11580156144e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061450b9190615712565b50610168546001600160a01b03166323b872dd338361452a87896159fa565b6040516001600160e01b031960e086901b1681526001600160a01b03938416600482015292909116602483015260448201526064016020604051808303816000875af115801561457e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145a29190615712565b5050505050565b6000806145b76103e8614c6d565b90506145c281614cdc565b91505090565b611597828260405180602001604052806000815250614d88565b60006001600160e01b031982166380ac58cd60e01b148061461357506001600160e01b03198216635b5e139f60e01b145b80610c4357506301ffc9a760e01b6001600160e01b0319831614610c43565b61279484848484614dbb565b600082815261016160205260409020600501546001600160a01b038516614693576001600160a01b0384166000908152610163602052604081208054839290614688908490615a97565b909155506145a29050565b6001600160a01b0384166146ca576001600160a01b03851660009081526101636020526040812080548392906146889084906159fa565b6001600160a01b03851660009081526101636020526040812080548392906146f39084906159fa565b90915550506001600160a01b0384166000908152610163602052604081208054839290614721908490615a97565b90915550505050505050565b6001600160a01b0381163b61479a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610d76565b600080516020615e2283398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6147d283614ee8565b6000825111806147df5750805b15610e17576127948383614f28565b600154610100900460ff166148155760405162461bcd60e51b8152600401610d7690615b7e565b611ea933613ff4565b600154610100900460ff166148455760405162461bcd60e51b8152600401610d7690615b7e565b60986148518382615c9f565b506099610e178282615c9f565b600060018510158015614872575060058511155b8015614894575061488482600a615d5f565b61489090611388615956565b8310155b156148a157506005611e09565b600685101580156148b35750600a8511155b80156148c3575060018460ff1610155b80156148e557506148d582600a615d5f565b6148e1906161a8615956565b8310155b156148f257506001611e09565b600b8510158015614904575060148511155b8015614914575060028460ff1610155b8015614937575061492682600a615d5f565b61493390620186a0615956565b8310155b1561494457506001611e09565b60158510158015614956575060288511155b8015614966575060038460ff1610155b8015614989575061497882600a615d5f565b614985906207a120615956565b8310155b1561499657506001611e09565b602985101580156149a85750603c8511155b80156149b8575060048460ff1610155b80156149db57506149ca82600a615d5f565b6149d790622625a0615956565b8310155b156149e857506001611e09565b603d85101580156149fa575060508511155b8015614a0a575060058460ff1610155b8015614a2d5750614a1c82600a615d5f565b614a299062989680615956565b8310155b15614a3a57506001611e09565b60518510158015614a4c575060648511155b8015614a5b57508360ff166006145b8015614a7f5750614a6d82600a615d5f565b614a7b906302faf080615956565b8310155b15614a8c57506001611e09565b506000949350505050565b60006001600160a01b0384163b15614b8d57604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614adb903390899088908890600401615d6b565b6020604051808303816000875af1925050508015614b16575060408051601f3d908101601f19168201909252614b1391810190615d9e565b60015b614b73573d808015614b44576040519150601f19603f3d011682016040523d82523d6000602084013e614b49565b606091505b508051600003614b6b5760405162461bcd60e51b8152600401610d7690615bc9565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611e09565b506001611e09565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310614bd45772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310614c00576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310614c1e57662386f26fc10000830492506010015b6305f5e1008310614c36576305f5e100830492506008015b6127108310614c4a57612710830492506004015b60648310614c5c576064830492506002015b600a8310610c435760010192915050565b610160805460009182614c7f8361596d565b909155505061016054604080514260208201526bffffffffffffffffffffffff193360601b1691810191909152605481019190915282906074016040516020818303038152906040528051906020012060001c610c439190615dbb565b60006102bb8211614cef57506005919050565b6102bb82118015614d0257506103848211155b15614d0f57506006919050565b61038482118015614d2257506103df8211155b15614d2f57506007919050565b6103df82118015614d4257506103e48211155b15614d4f57506008919050565b6103e482118015614d6257506103e68211155b15614d6f5750600a919050565b816103e703614d805750600f919050565b506008919050565b614d928383614f54565b614d9f6000848484614a97565b610e175760405162461bcd60e51b8152600401610d7690615bc9565b6001811115614e2a5760405162461bcd60e51b815260206004820152603560248201527f455243373231456e756d657261626c653a20636f6e7365637574697665207472604482015274185b9cd9995c9cc81b9bdd081cdd5c1c1bdc9d1959605a1b6064820152608401610d76565b816001600160a01b038516614e8657614e818160cc8054600083815260cd60205260408120829055600182018355919091527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe0155565b614ea9565b836001600160a01b0316856001600160a01b031614614ea957614ea985826150f7565b6001600160a01b038416614ec557614ec081615194565b6145a2565b846001600160a01b0316846001600160a01b0316146145a2576145a28482615243565b614ef18161472d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6060614f4d8383604051806060016040528060278152602001615e4260279139615287565b9392505050565b6001600160a01b038216614faa5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610d76565b6000818152609a60205260409020546001600160a01b03161561500f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610d76565b61501d600083836001614632565b6000818152609a60205260409020546001600160a01b0316156150825760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610d76565b6001600160a01b0382166000818152609b6020908152604080832080546001019055848352609a90915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a461159760008383600161463e565b6000600161510484611e11565b61510e91906159fa565b600083815260cb6020526040902054909150808214615161576001600160a01b038416600090815260ca60209081526040808320858452825280832054848452818420819055835260cb90915290208190555b50600091825260cb602090815260408084208490556001600160a01b03909416835260ca81528383209183525290812055565b60cc546000906151a6906001906159fa565b600083815260cd602052604081205460cc80549394509092849081106151ce576151ce615940565b906000526020600020015490508060cc83815481106151ef576151ef615940565b600091825260208083209091019290925582815260cd909152604080822084905585825281205560cc80548061522757615227615dcf565b6001900381819060005260206000200160009055905550505050565b600061524e83611e11565b6001600160a01b03909316600090815260ca60209081526040808320868452825280832085905593825260cb9052919091209190915550565b6060600080856001600160a01b0316856040516152a49190615de5565b600060405180830381855af49150503d80600081146152df576040519150601f19603f3d011682016040523d82523d6000602084013e6152e4565b606091505b50915091506152f5868383876152ff565b9695505050505050565b6060831561536e578251600003615367576001600160a01b0385163b6153675760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610d76565b5081611e09565b611e0983838151156153835781518083602001fd5b8060405162461bcd60e51b8152600401610d769190615420565b6001600160e01b03198116811461112f57600080fd5b6000602082840312156153c557600080fd5b8135614f4d8161539d565b60005b838110156153eb5781810151838201526020016153d3565b50506000910152565b6000815180845261540c8160208601602086016153d0565b601f01601f19169290920160200192915050565b602081526000614f4d60208301846153f4565b60006020828403121561544557600080fd5b5035919050565b6001600160a01b038116811461112f57600080fd5b6000806040838503121561547457600080fd5b823561547f8161544c565b946020939093013593505050565b6000806000606084860312156154a257600080fd5b83356154ad8161544c565b925060208401356154bd8161544c565b929592945050506040919091013590565b6000602082840312156154e057600080fd5b8135614f4d8161544c565b600080604083850312156154fe57600080fd5b82356155098161544c565b915060208301356155198161544c565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261554b57600080fd5b813567ffffffffffffffff8082111561556657615566615524565b604051601f8301601f19908116603f0116810190828211818310171561558e5761558e615524565b816040528381528660208588010111156155a757600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156155da57600080fd5b82356155e58161544c565b9150602083013567ffffffffffffffff81111561560157600080fd5b61560d8582860161553a565b9150509250929050565b801515811461112f57600080fd5b6000806040838503121561563857600080fd5b82356156438161544c565b9150602083013561551981615617565b6000806000806080858703121561566957600080fd5b84356156748161544c565b935060208501356156848161544c565b925060408501359150606085013567ffffffffffffffff8111156156a757600080fd5b6156b38782880161553a565b91505092959194509250565b600181811c908216806156d357607f821691505b6020821081036156f357634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561570b57600080fd5b5051919050565b60006020828403121561572457600080fd5b8151614f4d81615617565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561582657600080fd5b815160ff81168114614f4d57600080fd5b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561588857816000190482111561586e5761586e615837565b8085161561587b57918102915b93841c9390800290615852565b509250929050565b60008261589f57506001610c43565b816158ac57506000610c43565b81600181146158c257600281146158cc576158e8565b6001915050610c43565b60ff8411156158dd576158dd615837565b50506001821b610c43565b5060208310610133831016604e8410600b841016171561590b575081810a610c43565b615915838361584d565b806000190482111561592957615929615837565b029392505050565b6000614f4d60ff841683615890565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610c4357610c43615837565b60006001820161597f5761597f615837565b5060010190565b6020808252601390820152721059191c995cdcc8189b1858dadb1a5cdd1959606a1b604082015260600190565b634e487b7160e01b600052601260045260246000fd5b6000826159d8576159d86159b3565b500490565b6000602082840312156159ef57600080fd5b8151614f4d8161544c565b81810381811115610c4357610c43615837565b600080600080600080600080610100898b031215615a2a57600080fd5b8851615a3581615617565b60208a0151909850615a4681615617565b60408a015190975060078110615a5b57600080fd5b60608a0151909650615a6c8161544c565b60808a015160a08b015160c08c015160e0909c01519a9d999c50979a91999098919650945092505050565b80820180821115610c4357610c43615837565b634e487b7160e01b600052602160045260246000fd5b60008060008060008060c08789031215615ad957600080fd5b865195506020870151945060408701519350606087015192506080870151915060a087015190509295509295509295565b60008351615b1c8184602088016153d0565b835190830190615b308183602088016153d0565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008060008060808587031215615c3157600080fd5b505082516020840151604085015160609095015191969095509092509050565b601f821115610e1757600081815260208120601f850160051c81016020861015615c785750805b601f850160051c820191505b81811015615c9757828155600101615c84565b505050505050565b815167ffffffffffffffff811115615cb957615cb9615524565b615ccd81615cc784546156bf565b84615c51565b602080601f831160018114615d025760008415615cea5750858301515b600019600386901b1c1916600185901b178555615c97565b600085815260208120601f198616915b82811015615d3157888601518255948401946001909101908401615d12565b5085821015615d4f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000614f4d8383615890565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906152f5908301846153f4565b600060208284031215615db057600080fd5b8151614f4d8161539d565b600082615dca57615dca6159b3565b500690565b634e487b7160e01b600052603160045260246000fd5b60008251615df78184602087016153d0565b919091019291505056fe335d3c6b885408497fbfb0b6def492ee75738904e5f4f2ba351dbd9fcd1022c0360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644caf09f7dd9cf5930a0d30d4dba10a4d06c1e6d90491f8198b355f99152771b068747470733a2f2f63726f7764737472696b652e636c75622f6170692f696d6167652fa2646970667358221220d3b56838f58eda0a1e936c89821f4929f74280364ddd97dec2ddbd799bdeeb2964736f6c63430008110033",
|
|
1156
|
+
"linkReferences": {},
|
|
1157
|
+
"deployedLinkReferences": {}
|
|
1158
|
+
}
|