Source Code
Overview
ETH Balance
0 ETH
ETH Value
$0.00
Cross-Chain Transactions
Loading...
Loading
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AccessControlBadConfirmation","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"name":"AccessControlUnauthorizedAccount","type":"error"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"name":"AddressEmptyCode","type":"error"},{"inputs":[],"name":"DataAlreadyLoaded","type":"error"},{"inputs":[],"name":"DataNotLoaded","type":"error"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"name":"ERC1967InvalidImplementation","type":"error"},{"inputs":[],"name":"ERC1967NonPayable","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[],"name":"FailedCall","type":"error"},{"inputs":[],"name":"InvalidCropId","type":"error"},{"inputs":[],"name":"InvalidInitialization","type":"error"},{"inputs":[{"internalType":"string","name":"parameter","type":"string"}],"name":"InvalidInput","type":"error"},{"inputs":[],"name":"NotContract","type":"error"},{"inputs":[],"name":"NotInitializing","type":"error"},{"inputs":[],"name":"QuestSiloNotConfigured","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeCastOverflowedUintDowncast","type":"error"},{"inputs":[],"name":"UUPSUnauthorizedCallContext","type":"error"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"name":"UUPSUnsupportedProxiableUUID","type":"error"},{"inputs":[],"name":"ZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"boosterId","type":"uint8"},{"indexed":true,"internalType":"address","name":"updater","type":"address"}],"name":"BoosterEffectUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"cropId","type":"uint8"},{"indexed":true,"internalType":"address","name":"updater","type":"address"}],"name":"CropPropertiesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"fertilizerId","type":"uint8"},{"indexed":true,"internalType":"address","name":"updater","type":"address"}],"name":"FertilizerEffectUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"loader","type":"address"}],"name":"InitialDataLoaded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint64","name":"version","type":"uint64"}],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"cropId","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"maxCrops","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"xpPerCrop","type":"uint256"}],"name":"QuestSiloConfigUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"seedId","type":"uint8"},{"indexed":true,"internalType":"uint8","name":"season","type":"uint8"},{"indexed":true,"internalType":"address","name":"updater","type":"address"}],"name":"SeasonalMultipliersUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint8","name":"seedId","type":"uint8"},{"indexed":true,"internalType":"address","name":"updater","type":"address"}],"name":"SeedPropertiesUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"implementation","type":"address"}],"name":"Upgraded","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EMERGENCY_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAME_ADMIN","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_CROPS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_GROWTH_TIME","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_ITEMS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MAX_SEEDS","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEASONAL_CYCLE_DAYS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SEASON_DURATION_DAYS","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADER_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"boosterId","type":"uint256"}],"name":"boosterEffects","outputs":[{"internalType":"uint16","name":"xpMultiplier","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint256","name":"usdcAmount","type":"uint256"}],"name":"calculateTierFromUsdcAmount","outputs":[{"internalType":"uint256","name":"tier","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"recipeId","type":"uint256"}],"name":"craftingRecipes","outputs":[{"internalType":"uint256","name":"outputId","type":"uint256"},{"internalType":"uint256","name":"outputAmount","type":"uint256"},{"internalType":"uint32","name":"onCraftXp","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cropId","type":"uint256"}],"name":"cropToSeed","outputs":[{"internalType":"uint256","name":"seedId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cropId","type":"uint256"}],"name":"crops","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint16","name":"extraSeedThreshold","type":"uint16"},{"internalType":"uint16","name":"stdThreshold","type":"uint16"},{"internalType":"uint16","name":"yieldThreshold","type":"uint16"},{"internalType":"uint16","name":"fastThreshold","type":"uint16"},{"internalType":"uint16","name":"failThreshold","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"fertilizerId","type":"uint256"}],"name":"fertilizerEffects","outputs":[{"internalType":"uint16","name":"growthSpeedBonus","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllActiveCropIds","outputs":[{"internalType":"uint8[]","name":"","type":"uint8[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"}],"name":"getBaseSeedId","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"boosterId","type":"uint8"}],"name":"getBoosterEffect","outputs":[{"components":[{"internalType":"uint16","name":"xpMultiplier","type":"uint16"}],"internalType":"struct ItemDataStore.BoosterEffect","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"outputId","type":"uint256"}],"name":"getCraftingRecipe","outputs":[{"components":[{"internalType":"uint256","name":"outputId","type":"uint256"},{"internalType":"uint256","name":"outputAmount","type":"uint256"},{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ItemDataStore.CraftInput[]","name":"inputs","type":"tuple[]"},{"internalType":"uint32","name":"onCraftXp","type":"uint32"}],"internalType":"struct ItemDataStore.CraftRecipe","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"}],"name":"getCropData","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint16","name":"extraSeedThreshold","type":"uint16"},{"internalType":"uint16","name":"stdThreshold","type":"uint16"},{"internalType":"uint16","name":"yieldThreshold","type":"uint16"},{"internalType":"uint16","name":"fastThreshold","type":"uint16"},{"internalType":"uint16","name":"failThreshold","type":"uint16"}],"internalType":"struct ItemDataStore.CropData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"}],"name":"getCropDataThresholds","outputs":[{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"},{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getCropFromSeed","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getCropId","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentSeason","outputs":[{"internalType":"enum ItemDataStore.Season","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"fertilizerId","type":"uint8"}],"name":"getFertilizerEffect","outputs":[{"components":[{"internalType":"uint16","name":"growthSpeedBonus","type":"uint16"}],"internalType":"struct ItemDataStore.FertilizerEffect","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint256","name":"tier","type":"uint256"}],"name":"getFlatAmountForTier","outputs":[{"internalType":"uint256","name":"flatAmount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint256","name":"usdcAmount","type":"uint256"}],"name":"getFlatAmountForUsdcAmount","outputs":[{"internalType":"uint256","name":"flatAmount","type":"uint256"},{"internalType":"uint256","name":"tier","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint256","name":"tier","type":"uint256"}],"name":"getFlatTimerForTierAndId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getImplementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"}],"name":"getPowerFarmConfig","outputs":[{"components":[{"internalType":"uint32[6]","name":"flatTimerTierArray","type":"uint32[6]"},{"internalType":"uint256[6]","name":"usdcThresholds","type":"uint256[6]"}],"internalType":"struct ItemDataStore.PowerFarmConfig","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"}],"name":"getQuestSiloConfig","outputs":[{"components":[{"internalType":"uint256","name":"maxCrops","type":"uint256"},{"internalType":"uint256","name":"xpPerCrop","type":"uint256"}],"internalType":"struct ItemDataStore.QuestSiloConfig","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeasonalMultipliers","outputs":[{"internalType":"uint16[4]","name":"growthMultipliers","type":"uint16[4]"},{"internalType":"uint16[4]","name":"xpMultipliers","type":"uint16[4]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedData","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint32","name":"growthTime","type":"uint32"},{"internalType":"uint16","name":"yield","type":"uint16"},{"internalType":"uint16","name":"baseXp","type":"uint16"},{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"variants","type":"tuple"},{"internalType":"uint16[4]","name":"seasonalGrowthMultipliers","type":"uint16[4]"},{"internalType":"uint16[4]","name":"seasonalXpMultipliers","type":"uint16[4]"}],"internalType":"struct ItemDataStore.SeedData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedDataForCurrentSeason","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint32","name":"growthTime","type":"uint32"},{"internalType":"uint16","name":"yield","type":"uint16"},{"internalType":"uint16","name":"baseXp","type":"uint16"},{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"variants","type":"tuple"},{"internalType":"uint16[4]","name":"seasonalGrowthMultipliers","type":"uint16[4]"},{"internalType":"uint16[4]","name":"seasonalXpMultipliers","type":"uint16[4]"}],"internalType":"struct ItemDataStore.SeedData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"},{"internalType":"enum ItemDataStore.Season","name":"season","type":"uint8"}],"name":"getSeedDataForSeason","outputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint32","name":"growthTime","type":"uint32"},{"internalType":"uint16","name":"yield","type":"uint16"},{"internalType":"uint16","name":"baseXp","type":"uint16"},{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"variants","type":"tuple"},{"internalType":"uint16[4]","name":"seasonalGrowthMultipliers","type":"uint16[4]"},{"internalType":"uint16[4]","name":"seasonalXpMultipliers","type":"uint16[4]"}],"internalType":"struct ItemDataStore.SeedData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"}],"name":"getSeedFromCrop","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedGrowthTime","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedGrowthTimeForCurrentSeason","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"},{"internalType":"enum ItemDataStore.Season","name":"season","type":"uint8"}],"name":"getSeedGrowthTimeForSeason","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedVariants","outputs":[{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedXpForCurrentSeason","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"},{"internalType":"enum ItemDataStore.Season","name":"season","type":"uint8"}],"name":"getSeedXpForSeason","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"}],"name":"getSeedYield","outputs":[{"internalType":"uint16","name":"","type":"uint16"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8[]","name":"cropIds","type":"uint8[]"}],"name":"getSilos","outputs":[{"internalType":"uint256[]","name":"xp","type":"uint256[]"},{"internalType":"uint256[]","name":"limit","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint256","name":"tier","type":"uint256"}],"name":"getUsdcThresholdForTier","outputs":[{"internalType":"uint256","name":"usdcThreshold","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVersion","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getWeekId","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"initialDataLoaded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"isCrop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isDataInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"isItem","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"isSeed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[{"components":[{"internalType":"uint8","name":"seedId","type":"uint8"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint32","name":"growthTime","type":"uint32"},{"internalType":"uint16","name":"yield","type":"uint16"},{"internalType":"uint16","name":"baseXp","type":"uint16"},{"internalType":"uint8","name":"cropId","type":"uint8"},{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"variants","type":"tuple"},{"internalType":"uint16[4]","name":"seasonalGrowthMultipliers","type":"uint16[4]"},{"internalType":"uint16[4]","name":"seasonalXpMultipliers","type":"uint16[4]"}],"internalType":"struct ItemDataStore.SeedInitData[]","name":"seedsData","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"cropId","type":"uint8"},{"internalType":"string","name":"name","type":"string"},{"internalType":"uint16","name":"extraSeedThreshold","type":"uint16"},{"internalType":"uint16","name":"stdThreshold","type":"uint16"},{"internalType":"uint16","name":"yieldThreshold","type":"uint16"},{"internalType":"uint16","name":"fastThreshold","type":"uint16"},{"internalType":"uint16","name":"failThreshold","type":"uint16"},{"internalType":"uint8","name":"baseSeedId","type":"uint8"}],"internalType":"struct ItemDataStore.CropInitData[]","name":"cropsData","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"fertilizerId","type":"uint8"},{"internalType":"string","name":"name","type":"string"},{"components":[{"internalType":"uint16","name":"growthSpeedBonus","type":"uint16"}],"internalType":"struct ItemDataStore.FertilizerEffect","name":"effect","type":"tuple"}],"internalType":"struct ItemDataStore.FertilizerInitData[]","name":"fertilizersData","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"boosterId","type":"uint8"},{"internalType":"string","name":"name","type":"string"},{"components":[{"internalType":"uint16","name":"xpMultiplier","type":"uint16"}],"internalType":"struct ItemDataStore.BoosterEffect","name":"effect","type":"tuple"}],"internalType":"struct ItemDataStore.BoosterInitData[]","name":"boostersData","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"outputId","type":"uint256"},{"internalType":"uint256","name":"outputAmount","type":"uint256"},{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ItemDataStore.CraftInput[]","name":"inputs","type":"tuple[]"},{"internalType":"uint32","name":"onCraftXp","type":"uint32"}],"internalType":"struct ItemDataStore.CraftRecipe[]","name":"recipesData","type":"tuple[]"},{"components":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint32[6]","name":"flatTimerTierArray","type":"uint32[6]"},{"internalType":"uint256[6]","name":"usdcThresholds","type":"uint256[6]"}],"internalType":"struct ItemDataStore.PowerFarmInitData[]","name":"powerFarmData","type":"tuple[]"},{"components":[{"internalType":"uint8","name":"cropId","type":"uint8"},{"internalType":"uint256","name":"maxCrops","type":"uint256"},{"internalType":"uint256","name":"xpPerCrop","type":"uint256"}],"internalType":"struct ItemDataStore.QuestSiloInitData[]","name":"questSiloData","type":"tuple[]"},{"internalType":"uint256","name":"_seasonStartTime","type":"uint256"}],"name":"loadInitialData","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"}],"name":"questSiloConfigs","outputs":[{"internalType":"uint256","name":"maxCrops","type":"uint256"},{"internalType":"uint256","name":"xpPerCrop","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"seasonStartTime","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"}],"name":"seedToCrop","outputs":[{"internalType":"uint256","name":"cropId","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"}],"name":"seeds","outputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint32","name":"growthTime","type":"uint32"},{"internalType":"uint16","name":"yield","type":"uint16"},{"internalType":"uint16","name":"baseXp","type":"uint16"},{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"variants","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"boosterId","type":"uint8"},{"components":[{"internalType":"uint16","name":"xpMultiplier","type":"uint16"}],"internalType":"struct ItemDataStore.BoosterEffect","name":"effect","type":"tuple"}],"name":"setBoosterEffect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"outputId","type":"uint256"},{"components":[{"internalType":"uint256","name":"outputId","type":"uint256"},{"internalType":"uint256","name":"outputAmount","type":"uint256"},{"components":[{"internalType":"uint256","name":"itemId","type":"uint256"},{"internalType":"uint256","name":"amount","type":"uint256"}],"internalType":"struct ItemDataStore.CraftInput[]","name":"inputs","type":"tuple[]"},{"internalType":"uint32","name":"onCraftXp","type":"uint32"}],"internalType":"struct ItemDataStore.CraftRecipe","name":"recipe","type":"tuple"}],"name":"setCraftingRecipe","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"},{"internalType":"uint16","name":"extraSeedThreshold","type":"uint16"},{"internalType":"uint16","name":"stdThreshold","type":"uint16"},{"internalType":"uint16","name":"yieldThreshold","type":"uint16"},{"internalType":"uint16","name":"fastThreshold","type":"uint16"},{"internalType":"uint16","name":"failThreshold","type":"uint16"},{"internalType":"uint8","name":"baseSeedId","type":"uint8"}],"name":"setCropProperties","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"fertilizerId","type":"uint8"},{"components":[{"internalType":"uint16","name":"growthSpeedBonus","type":"uint16"}],"internalType":"struct ItemDataStore.FertilizerEffect","name":"effect","type":"tuple"}],"name":"setFertilizerEffect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"seedId","type":"uint256"},{"internalType":"uint32[6]","name":"flatTimerTierArray","type":"uint32[6]"},{"internalType":"uint256[6]","name":"usdcThresholds","type":"uint256[6]"}],"name":"setPowerFarmConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"cropId","type":"uint8"},{"internalType":"uint256","name":"maxCrops","type":"uint256"},{"internalType":"uint256","name":"xpPerCrop","type":"uint256"}],"name":"setQuestSiloConfig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"},{"internalType":"uint16[4]","name":"seasonalGrowthMultipliers","type":"uint16[4]"},{"internalType":"uint16[4]","name":"seasonalXpMultipliers","type":"uint16[4]"}],"name":"setSeasonalMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"seedId","type":"uint8"},{"internalType":"uint32","name":"growthTime","type":"uint32"},{"internalType":"uint16","name":"yield","type":"uint16"},{"internalType":"uint16","name":"baseXp","type":"uint16"},{"internalType":"uint8","name":"cropId","type":"uint8"},{"components":[{"internalType":"uint8","name":"yieldId","type":"uint8"},{"internalType":"uint8","name":"fastId","type":"uint8"}],"internalType":"struct ItemDataStore.SeedVariants","name":"variants","type":"tuple"}],"name":"setSeedProperties","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"upgradeToAndCall","outputs":[],"stateMutability":"payable","type":"function"}]Contract Creation Code
60a08060405234620000f557306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c16620000e657506001600160401b036002600160401b031982821601620000a0575b60017f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc556040516151909081620000fa82396080518181816111f401526114300152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80806200005c565b63f92ee8a960e01b8152600490fd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104f557806303e1649c146104f05780630d8e6e2c1461037e5780630f09fed7146104eb578063115d538d146104e657806312f0c3a1146104e1578063192bc94e146104dc5780631f5d546e146104d757806320df4359146104d2578063248a9ca3146104cd5780632caa923d146104c85780632f27f2a4146104c35780632f2ff15d146104be5780632fd24836146104b95780633162d3da146104b457806335fa5b57146104af57806336568abe146104aa5780633893bc4c1461039c5780633f4ba83a146104a557806340d058cb146104a0578063420cde401461049b578063429700c2146104965780634a0ca4e1146104915780634acaf4421461048c5780634d50af74146104875780634f1ef286146104825780634fb58c651461047d57806352d1902d146104785780635504d3d2146104735780635716d8f71461046e57806357b685e31461046957806357d4c4ee1461046457806358133236146104375780635c975abb1461045f57806361a8a7131461045a57806363e986ba1461045557806368240c34146104505780636abff3801461044b5780636d3962be14610446578063701c34521461044157806370c9f1a51461043c57806375c1f2c714610437578063768f4fc8146104325780637bb077b61461042d5780637fec83ca146104285780638053293414610423578063806a5eb51461041e5780638104ae4d146104195780638456cb59146104145780638950d4a91461040f5780638b032eaa1461040a5780638ec80348146104055780638fb942431461040057806391d14854146103fb57806394d68a46146103f6578063964855d8146103f157806398283586146103ec578063a217fddf146103e7578063a481eef9146103e2578063a5a0c4e0146103dd578063aaf10f42146103d8578063ad3cb1cc146103d3578063b4c498b5146103ce578063b717e036146103c9578063bf1b5239146103c4578063cd7a4ab3146103bf578063d2a34be1146103ba578063d3b30b75146103b5578063d547741f146103b0578063e07a0f72146103ab578063e2b37121146103a6578063e3f6bdad146103a1578063ebe56eee1461039c578063f0503e8014610397578063f3fe8fda14610392578063f69ca8421461038d578063f72c0d8b14610388578063fad2f84d146103835763ffa1ad741461037e575f80fd5b6105c5565b61311a565b613057565b613044565b612ff5565b612f62565b610de9565b612ee3565b612eba565b612e9f565b612e56565b612e2a565b612dbf565b612cc8565b612b99565b612b4a565b612a9d565b612a1a565b6129e6565b612966565b612922565b612908565b612830565b612775565b61269c565b612642565b61262f565b6125a8565b61241e565b61222d565b6121c8565b6121ab565b612115565b61202b565b611cf4565b611cac565b611c82565b6115fe565b611c04565b611aba565b611aa0565b6119a1565b611829565b611716565b61164d565b61161f565b6115e3565b61159c565b6114c1565b611487565b61141e565b61133b565b6111a1565b610ffd565b610fab565b610f65565b610f3d565b610ee1565b610e79565b610e04565b610da2565b610bdf565b610b9a565b610b6c565b610b21565b610ada565b610a7c565b610a43565b610a09565b6109ba565b6108f4565b610829565b6106f2565b61060e565b61054f565b3461054b57602036600319011261054b5760043563ffffffff60e01b811680910361054b57602090637965db0b60e01b811490811561053a575b506040519015158152f35b6301ffc9a760e01b1490505f61052f565b5f80fd5b3461054b57602036600319011261054b57602060043560c9811015908161057b57506040519015158152f35b60dc915011155f61052f565b91908251928382525f5b8481106105b1575050825f602080949584010152601f8019910116010190565b602081830181015184830182015201610591565b3461054b575f36600319011261054b5761060a6040516105e481611060565b60058152640312e302e360dc1b6020820152604051918291602083526020830190610587565b0390f35b3461054b575f36600319011261054b5760206040516202a3008152f35b60ff81160361054b57565b5f915b6004831061064657505050565b60019061ffff83511681526020809101920192019190610639565b6106ef906020815261016060c061068685516101c060208601526101e0850190610587565b9463ffffffff6020820151166040850152604081015161ffff809116606086015260608201511660808501526106d3608082015160a086019060ff60208092828151168552015116910152565b6106e560a082015160e0860190610636565b0151910190610636565b90565b3461054b57602036600319011261054b5760043561070f8161062b565b610717613224565b5060ff811680159081156107fc575b506107de5761060a9061073842613e26565b6107556107508360ff165f52600260205260405f2090565b6132db565b8051926107c361077e6107688584613dcc565b94610778604086015161ffff1690565b93613635565b6107b86080850151936107ad60c060a08801519701519761079d611129565b998a5263ffffffff1660208a0152565b61ffff166040880152565b61ffff166060860152565b608084015260a083015260c082015260405191829182610661565b60405163d647364f60e01b8152806107f860048201613283565b0390fd5b60649150115f610726565b61082790929192604081019360ff60208092828151168552015116910152565b565b3461054b57602036600319011261054b5760ff6004356108488161062b565b61085061320c565b501680158015610884575b6107de575f52600260205261060a610878600260405f2001612f40565b60405191829182610807565b506064811161085b565b815161018082019392905f90835b600683106108d75750505060c060208092015192015f905b600682106108c25750505050565b828060019286518152019401910190926108b4565b60019063ffffffff8351168152602080910192019201919061089c565b3461054b5760208060031936011261054b5761060a906040805161091781611060565b8151610922816110b6565b60c0368237815282825191610936836110b6565b60c036843701526004355f52600a8252805f20916109ac600183519461095b86611060565b8451815463ffffffff9081811683528181881c16878401528181891c1688840152818160601c166060840152818160801c16608084015260a01c1660a08201526109a4816110b6565b865201613352565b90830152519182918261088e565b3461054b57602036600319011261054b5760ff6004356109d98161062b565b166109e381613412565b156107de575f52600460205260206109fe60405f2054613e7e565b60ff60405191168152f35b3461054b575f36600319011261054b5760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b3461054b57602036600319011261054b576004355f525f8051602061511b8339815191526020526020600160405f200154604051908152f35b3461054b57602036600319011261054b57600435610a998161062b565b60ff81168015908115610acf575b506107de57610ac1602091610abb42613e26565b90613dcc565b63ffffffff60405191168152f35b60649150115f610aa7565b3461054b575f36600319011261054b576020604051601c8152f35b602435906001600160a01b038216820361054b57565b600435906001600160a01b038216820361054b57565b3461054b57604036600319011261054b57610b6a600435610b40610af5565b90805f525f8051602061511b833981519152602052610b65600160405f20015461402a565b614e3b565b005b3461054b57602036600319011261054b576004355f526006602052602061ffff60405f205416604051908152f35b3461054b57602036600319011261054b576004355f526005602052602060405f2054604051908152f35b9060249160a41161054b57565b9060a4916101241161054b57565b3461054b5761012036600319011261054b576004803590610bff8261062b565b610c0836610bc4565b90610c1236610bd1565b92610c1b613eab565b610c23614056565b60ff9360ff82169384158015610d98575b610d7f575f5b86811685811015610d1a57610bb89081610c66610c5f610c5a8488613398565b6133a9565b61ffff1690565b11610cd057610c5f610c5a610c7b9287613398565b11610c8a576001018616610c3a565b6107f88560405191829163d647364f60e01b83528201606090602081526015602082015274736561736f6e616c58704d756c7469706c6965727360581b60408201520190565b6107f88760405191829163d647364f60e01b83528201606090602081526019602082015278736561736f6e616c47726f7774684d756c7469706c6965727360381b60408201520190565b86610d568588610d3f89610d45896003610d3f8460ff165f52600260205260405f2090565b016133b3565b60ff165f52600260205260405f2090565b5f33917fcceebab1dd0ce05df89508d0ac39d99183e2ca262e2b32a9d520ddd0e77e1bd38280a4005b60405163d647364f60e01b8152806107f8818701613283565b5060648511610c34565b3461054b57604036600319011261054b57610dbb610af5565b336001600160a01b03821603610dd757610b6a90600435614ecf565b60405163334bd91960e11b8152600490fd5b3461054b575f36600319011261054b57602060405160648152f35b3461054b575f36600319011261054b57610e1c613f26565b5f8051602061513b833981519152805460ff811615610e675760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461054b57602036600319011261054b5760ff600435610e988161062b565b1680158015610ed7575b6107de575f52600260205261060a63ffffffff600160405f200154166040519182918291909163ffffffff6020820193169052565b5060648111610ea2565b3461054b57602036600319011261054b57600435610efe8161062b565b60ff81168015908115610f32575b506107de57610f26602091610f2042613e26565b90613635565b61ffff60405191168152f35b60649150115f610f0c565b3461054b57602036600319011261054b576020610f5b6004356133fa565b6040519015158152f35b3461054b57602036600319011261054b576020610f5b600435613412565b604090600319011261054b57600435610f9b8161062b565b90602435600481101561054b5790565b3461054b57610fb936610f83565b90610fc2613224565b5060ff81168015908115610ff2575b506107de5761060a916107556107508360ff165f52600260205260405f2090565b60649150115f610fd1565b3461054b57602036600319011261054b5760ff60043561101c8161062b565b165f52600960205260405f20600181549101549061060a6040519283928360209093929193604081019481520152565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761107b57604052565b61104c565b60e081019081106001600160401b0382111761107b57604052565b602081019081106001600160401b0382111761107b57604052565b60c081019081106001600160401b0382111761107b57604052565b608081019081106001600160401b0382111761107b57604052565b610ca081019081106001600160401b0382111761107b57604052565b90601f801991011681019081106001600160401b0382111761107b57604052565b6040519061082782611080565b6040519061082782611060565b60405190610827826110b6565b6001600160401b03811161107b57601f01601f191660200190565b92919261117782611150565b916111856040519384611108565b82948184528183011161054b578281602093845f960137010152565b60408060031936011261054b576111b6610b0b565b90602435906001600160401b03821161054b576004913660238201121561054b576111ea903690602481860135910161116b565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115611320575b506113115761122d613f7d565b8416801561130257843b156112f35790602084928451938480926352d1902d60e01b82525afa5f92816112c2575b5061128757505051634c9c8ce360e01b81526001600160a01b0390921690820190815281906020010390fd5b8484845f805160206150fb83398151915285036112a857610b6a8484614f61565b51632a87526960e21b815290810184815281906020010390fd5b6112e591935060203d6020116112ec575b6112dd8183611108565b81019061342a565b915f61125b565b503d6112d3565b505051636f7c43f160e01b8152fd5b50505163d92e233d60e01b8152fd5b50505163703e46dd60e11b8152fd5b9050815f805160206150fb833981519152541614155f611220565b3461054b57602036600319011261054b5760ff60043561135a8161062b565b611362613224565b501680158015611414575b6107de575f52600260205261060a60405f2061140360046040519261139184611080565b61139a81611b64565b84526113db600182015463ffffffff8116602087015261ffff906113ca828260201c16604089019061ffff169052565b60301c16606086019061ffff169052565b6113e760028201612f40565b60808501526113f8600382016132a4565b60a0850152016132a4565b60c082015260405191829182610661565b506064811161136d565b3461054b575f36600319011261054b577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036114755760206040515f805160206150fb8339815191528152f35b60405163703e46dd60e11b8152600490fd5b3461054b575f36600319011261054b5760206040517f745191d59a0c5ecaf2331ad3570e4033c5b04de0434263ec14a70fce5475ab7f8152f35b3461054b57604036600319011261054b5760405163e2b3712160e01b81526004803590820181905260248035908301526020908183604481305afa928315611572575f93611577575b50604051634581975560e11b8152600481019190915260248101839052818180604481015b0381305afa918215611572575f92611555575b5050604080519182526020820192909252f35b61156b9250803d106112ec576112dd8183611108565b5f80611542565b613439565b61152f9193506115948391823d84116112ec576112dd8183611108565b93915061150a565b3461054b57602036600319011261054b576004355f526008602052606060405f2080549063ffffffff60036001830154920154169060405192835260208301526040820152f35b3461054b575f36600319011261054b57602060405160148152f35b3461054b575f36600319011261054b57602060ff5f54166040519015158152f35b3461054b575f36600319011261054b57602060ff5f8051602061513b83398151915254166040519015158152f35b3461054b5760408060031936011261054b5761060a906116f560243561167560068210613444565b6004355f52600a602052825f206116ef60206116e1600187519461169886611060565b8851815463ffffffff9081811683528181881c168784015281818d1c168c840152818160601c166060840152818160801c16608084015260a01c1660a08201526109a4816110b6565b920191808352511515613490565b5161347f565b5190519081529081906020820190565b602090602319011261054b57602490565b3461054b57604036600319011261054b576004356117338161062b565b61173c36611705565b90611745613eab565b61174d614056565b60ff81169160c98310801561181f575b6117ea5761271061ffff611770836133a9565b16116117bb5761178e6117939260ff165f52600760205260405f2090565b6134cd565b33907fc71aa6127c498448f788b388fde9b937f04be14a5768bdaadbe203f266ba10485f80a3005b60405163d647364f60e01b81526020600482015260066024820152651959999958dd60d21b6044820152606490fd5b60405163d647364f60e01b815260206004820152600c60248201526b19995c9d1a5b1a5e995c925960a21b6044820152606490fd5b5060dc831161175d565b3461054b57602036600319011261054b5760ff6004356118488161062b565b16611852816133fa565b156118ea575f52600360205261186a60405f206134ed565b602081015161ffff1661060a611885604084015161ffff1690565b92611895606082015161ffff1690565b906118b460a06118aa608084015161ffff1690565b92015161ffff1690565b6040805161ffff9687168152968616602088015292851692860192909252831660608501529091166080830152819060a0820190565b60405163d647364f60e01b815260206004820152600660248201526518dc9bdc125960d21b6044820152606490fd5b9181601f8401121561054b578235916001600160401b03831161054b576020808501948460051b01011161054b57565b9081518082526020808093019301915f5b828110611968575050505090565b83518552938101939281019260010161195a565b90916119936106ef93604084526040840190611949565b916020818403910152611949565b3461054b5760208060031936011261054b576004906004356001600160401b03811161054b576119d5903690600401611919565b92906119e08461355a565b926119ea8561355a565b945f5b818110611a03576040518061060a89898361197c565b611a16611a1182848761358c565b61359c565b60ff811660658110908115611a95575b50611a8457611a43611a489160ff165f52600960205260405f2090565b6135a6565b805115611a74579081846001930151611a61838a6135c4565b5251611a6d828a6135c4565b52016119ed565b60405162edf3c160e41b81528690fd5b6040516303a9ef6360e61b81528690fd5b60c89150115f611a26565b3461054b575f36600319011261054b576020610ac1614080565b3461054b57602036600319011261054b5760ff600435611ad98161062b565b5f604051611ae68161109b565b521660c981108015611b22575b6117ea575f52600760205261060a611b0d60405f206135d8565b604051905161ffff1681529081906020820190565b5060dc8111611af3565b90600182811c92168015611b5a575b6020831014611b4657565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b3b565b9060405191825f8254611b7681611b2c565b908184526020946001916001811690815f14611be25750600114611ba4575b50505061082792500383611108565b5f90815285812095935091905b818310611bca57505061082793508201015f8080611b95565b85548884018501529485019487945091830191611bb1565b9250505061082794925060ff191682840152151560051b8201015f8080611b95565b3461054b57602036600319011261054b576004355f526003602052611c4b60405f206001611c3182611b64565b91015461ffff60405193849360c0855260c0850190610587565b918181166020850152818160101c166040850152818160201c166060850152818160301c16608085015260401c1660a08301520390f35b3461054b57602036600319011261054b576004355f526004602052602060405f2054604051908152f35b3461054b57602036600319011261054b576004355f526007602052602061ffff60405f205416604051908152f35b63ffffffff81160361054b57565b61ffff81160361054b57565b3461054b5760e036600319011261054b576004803590611d138261062b565b60243591611d2083611cda565b604435611d2c81611ce8565b60643590611d3982611ce8565b60843594611d468661062b565b6040948560a31936011261054b57611d5c613eab565b611d64614056565b60ff85169687158015611fd7575b611fbf5760ff1695606587108015611fb5575b611f7f5763ffffffff83168015908115611f72575b50611f385761ffff8085168015908115611f2c575b50611ef857614e2090861611611ec257505091611e34611e6892611dfe86956001611de8611e999960ff165f52600260205260405f2090565b019063ffffffff1663ffffffff19825416179055565b6001611e158660ff165f52600260205260405f2090565b019065ffff0000000082549160201b169065ffff000000001916179055565b6001611e4b8460ff165f52600260205260405f2090565b019061ffff60301b82549160301b169061ffff60301b1916179055565b611e886002611e828360ff165f52600260205260405f2090565b016135ef565b60ff165f52600460205260405f2090565b5533907f1eca5b429b5d42f9b796c650c673bb404775589c4f841033854fd6760b80b2d95f80a3005b6107f892505191829163d647364f60e01b8352820160609060208152600660208201526506261736558760d41b60408201520190565b815163d647364f60e01b81526020818501818152600591810191909152641e5a595b1960da1b604082015281906060010390fd5b6127109150115f611daf565b6107f892505191829163d647364f60e01b8352820160609060208152600a60208201526967726f77746854696d6560b01b60408201520190565b6202a3009150115f611d9a565b5163d647364f60e01b8152915081906107f890820160609060208152600660208201526518dc9bdc125960d21b60408201520190565b5060c88711611d85565b865163d647364f60e01b8152806107f8818501613283565b5060648811611d72565b5f915b60048310611ff157505050565b60019061ffff83511681526020809101920192019190611fe4565b91608061082792949361202481610100810197611fe1565b0190611fe1565b3461054b57602036600319011261054b576004356120488161062b565b6080604051612056816110d1565b3690376080604051612067816110d1565b36903760ff811680159081156120af575b506107de576107506120959160ff165f52600260205260405f2090565b60c060a08201519101519061060a6040519283928361200c565b60649150115f612078565b6020815260c06120d5835182602085015260e0840190610587565b9260a060208201519161ffff8093166040860152826040820151166060860152826060820151166080860152826080820151168286015201511691015290565b3461054b57602036600319011261054b576004356121328161062b565b5f60a0604051612141816110b6565b60608152826020820152826040820152826060820152826080820152015260ff8116606581109081156121a0575b506118ea5761219461218f61060a9260ff165f52600360205260405f2090565b6134ed565b604051918291826120ba565b60c89150115f61216f565b3461054b575f36600319011261054b576020600154604051908152f35b3461054b575f36600319011261054b576121e0613f26565b6121e8614056565b5f8051602061513b833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461054b5760e036600319011261054b5760043561224a8161062b565b6024359061225782611ce8565b60443561226381611ce8565b6064359161227083611ce8565b6084359261227d84611ce8565b60a43561228981611ce8565b60c435956122968761062b565b61229e613eab565b6122a6614056565b60ff841696606588108015612414575b6118ea5760ff16958615801561240a575b6123d75761235261239d9461233b6123ae986123096123699660016122f78c60ff165f52600360205260405f2090565b019061ffff1661ffff19825416179055565b60016123208a60ff165f52600360205260405f2090565b019063ffff000082549160101b169063ffff00001916179055565b6001611e158860ff165f52600360205260405f2090565b6001611e4b8660ff165f52600360205260405f2090565b60016123808460ff165f52600360205260405f2090565b019061ffff60401b82549160401b169061ffff60401b1916179055565b60ff165f52600560205260405f2090565b5533907f14b767668e3ab039f8badf0df0cfea488d75d6f6ea5d66b70cbdf02930d8e2195f80a3005b60405163d647364f60e01b815260206004820152600a60248201526918985cd954d95959125960b21b6044820152606490fd5b50606487116122c7565b5060c888116122b6565b3461054b5760408060031936011261054b5761060a906124e26124d96124cf60243561244c60068210613444565b6004355f52600a602052845f206116ef6124c1600188519361246d85611060565b89518154808c63ffffffff9283918282168652828260201c1660208701521c168d840152818160601c166060840152818160801c16608084015260a01c1660a08201526124b9816110b6565b855201613352565b806020840152511515613490565b5163ffffffff1690565b63ffffffff1690565b90519081529081906020820190565b919060405192612500846110b6565b839060c0810192831161054b57905b82821061251b57505050565b60208091833561252a81611cda565b81520191019061250f565b9060405191612543836110b6565b826101a491821161054b5760e4905b82821061255e57505050565b8135815260209182019101612552565b91906040519261257d846110b6565b839060c0810192831161054b57905b82821061259857505050565b813581526020918201910161258c565b3461054b576101a036600319011261054b57366043121561054b576040516125cf816110b6565b60e48136821161054b576024905b828210612615578336610103121561054b57610b6a906125fc36612535565b90612605613eab565b61260d614056565b6004356140c8565b60208091833561262481611cda565b8152019101906125dd565b3461054b576020610f26610f2036610f83565b3461054b57604036600319011261054b57602060ff612690612662610af5565b6004355f525f8051602061511b833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461054b57604036600319011261054b576004356126b98161062b565b6126c236611705565b906126cb613eab565b6126d3614056565b60ff81169160c98310801561276b575b6127395761ffff6126f3826133a9565b16156117bb5761178e6127119260ff165f52600660205260405f2090565b33907f290bd8e6937407b22352e2be88658b06a376c4af714a59e15342e09f4d02f2e55f80a3005b60405163d647364f60e01b8152602060048201526009602482015268189bdbdcdd195c925960ba1b6044820152606490fd5b5060dc83116126e3565b3461054b57602036600319011261054b5760ff6004356127948161062b565b16801580156127c5575b6107de575f9081526002602090815260409182902060010154915191811c61ffff16825290f35b506064811161279e565b9181601f8401121561054b578235916001600160401b03831161054b576020808501946101a0850201011161054b57565b9181601f8401121561054b578235916001600160401b03831161054b576020808501946060850201011161054b57565b3461054b5761010036600319011261054b5760046001600160401b03813581811161054b576128629036908401611919565b60249291923582811161054b5761287c9036908601611919565b909260443581811161054b576128959036908801611919565b9060643583811161054b576128ad9036908a01611919565b9060843585811161054b576128c59036908c01611919565b94909360a43587811161054b578c6128df913691016127cf565b98909760c43590811161054b57610b6a9d6128fc91369101612800565b9b909a60e4359d613699565b3461054b575f36600319011261054b5760206040515f8152f35b3461054b57602036600319011261054b5760ff6004356129418161062b565b1661294b816133fa565b156118ea575f52600560205260206109fe60405f2054613e7e565b3461054b57602036600319011261054b5760ff6004356129858161062b565b61298d61320c565b50166065811080156129dc575b6129ca575f52600960205260406129b2815f206135a6565b6129c88251809260208091805184520151910152565bf35b6040516303a9ef6360e61b8152600490fd5b5060c8811161299a565b3461054b575f36600319011261054b575f805160206150fb833981519152546040516001600160a01b039091168152602090f35b3461054b575f36600319011261054b5761060a604051612a3981611060565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610587565b60209060206040818301928281528551809452019301915f5b828110612a86575050505090565b835160ff1685529381019392810192600101612a78565b3461054b575f36600319011261054b57604051612ab9816110ec565b60649060648152610c803660208301375f60655b60c860ff82161115612aeb575b8183526040518061060a8582612a5f565b612b0361218f8260ff165f52600360205260405f2090565b5151612b24575b838214612b1f57612b1a90613bb6565b612acd565b612ada565b9080612b3f83612b37612b4494876135c4565b9060ff169052565b613bcc565b90612b0a565b3461054b57604036600319011261054b576024356004355f52600a60205260405f20906006811015612b945763ffffffff6020928260031c015460e06040519360051b161c168152f35b613384565b3461054b57606036600319011261054b57600435612bb68161062b565b60243590604435612bc5613eab565b612bcd614056565b60ff821692606584108015612cbe575b6129ca578015612c8d578115612c5b57612c497f802c6adeb3ecf112b6f174a1738cf59e30e745541db4e9e0b5b42a89d58cefb993612c38612c1d611136565b9184835285602084015260ff165f52600960205260405f2090565b906020600191805184550151910155565b604080519182526020820192909252a2005b60405163d647364f60e01b81526020600482015260096024820152680787050657243726f760bc1b6044820152606490fd5b60405163d647364f60e01b81526020600482015260086024820152676d617843726f707360c01b6044820152606490fd5b5060c88411612bdd565b3461054b5760031960403682011261054b576024356001600160401b03811161054b5760808160040192823603011261054b57612d03613eab565b612d0b614056565b602481013515612d83576044612d22910182613bda565b905015612d4657610b6a90612d416004355f52600860205260405f2090565b613c19565b60405163d647364f60e01b81526020600482015260146024820152730e4cac6d2e0ca5cd2dce0eae8e65cd8cadccee8d60631b6044820152606490fd5b60405163d647364f60e01b81526020600482015260136024820152721c9958da5c194b9bdd5d1c1d5d105b5bdd5b9d606a1b6044820152606490fd5b3461054b57602036600319011261054b5760ff600435612dde8161062b565b1680158015612e02575b6107de575f52600460205260206109fe60405f2054613e7e565b5060648111612de8565b60041115612e1657565b634e487b7160e01b5f52602160045260245ffd5b3461054b575f36600319011261054b57612e4342613e26565b6040516004821015612e16576020918152f35b3461054b57604036600319011261054b57610b6a600435612e75610af5565b90805f525f8051602061511b833981519152602052612e9a600160405f20015461402a565b614ecf565b3461054b575f36600319011261054b57602060405160078152f35b3461054b57604036600319011261054b576020612edb602435600435613d1d565b604051908152f35b3461054b57602036600319011261054b5760ff600435612f028161062b565b5f604051612f0f8161109b565b521660c981108015612f36575b612739575f52600660205261060a611b0d60405f206135d8565b5060dc8111612f1c565b90604051612f4d81611060565b602060ff829454818116845260081c16910152565b3461054b57602036600319011261054b576004355f526002602052612fbb60405f20612f8d81611b64565b9061060a600182015491612fa6600261ffff9201612f40565b9060405195869560c0875260c0870190610587565b9363ffffffff81166020870152818160201c16604087015260301c166060850152608084019060ff60208092828151168552015116910152565b3461054b57602036600319011261054b5760ff6004356130148161062b565b1660658110801561303a575b6118ea575f52600560205260206109fe60405f2054613e7e565b5060c88111613020565b3461054b576020610ac1610abb36610f83565b3461054b575f36600319011261054b5760206040517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b6020916020825260a08201815160208401526020820151906040916040850152604083015194608060608601528551809252602060c086019601925f905b8382106130ee57505050505063ffffffff606060809201511691015290565b909192939683828261310d6001948c5160208091805184520151910152565b01980194939201906130cf565b3461054b5760208060031936011261054b576040905f6060835161313d816110d1565b8281528284820152818582015201526004355f5260088152815f2091805191613165836110d1565b835483526001808501548285015260028086019081549161318583613543565b9461319287519687611108565b8386525f9182528082208187015b8584106131dd575061060a89896131d36131c660038f8d85870152015463ffffffff1690565b63ffffffff166060840152565b5191829182613091565b848388926131ea856135a6565b8152019201930192906131a0565b634e487b7160e01b5f52601160045260245ffd5b6040519061321982611060565b5f6020838281520152565b6040519061323182611080565b81606081525f60208201525f60408201525f606082015261325061320c565b6080820152604051613261816110d1565b608036823760a082015260c06040519161327a836110d1565b60803684370152565b6060906020815260066020820152651cd95959125960d21b60408201520190565b90604051915461ffff908181168452818160101c166020850152818160201c16604085015260301c166060830152610827826110d1565b906040516132e881611080565b60c061334d600483956132fa81611b64565b8552600181015463ffffffff8116602087015261ffff90818160201c16604088015260301c16606086015261333160028201612f40565b6080860152613342600382016132a4565b60a0860152016132a4565b910152565b60405191905f835b6006821061336e57505050610827826110b6565b600160208192855481520193019101909161335a565b634e487b7160e01b5f52603260045260245ffd5b906004811015612b945760051b0190565b356106ef81611ce8565b5f915f5b600481106133c457505055565b909260206133f16001928635906133da82611ce8565b85851b60031b9161ffff809116831b921b19161790565b940191016133b7565b60658110159081613409575090565b60c89150111590565b60018110159081613421575090565b60649150111590565b9081602091031261054b575190565b6040513d5f823e3d90fd5b1561344b57565b60405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103a34b2b960a11b6044820152606490fd5b906006811015612b945760051b0190565b1561349757565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081cd95959125960921b6044820152606490fd5b6108279135906134dc82611ce8565b9061ffff1661ffff19825416179055565b906040516134fa816110b6565b60a06001829461350981611b64565b8452015461ffff908181166020850152818160101c166040850152818160201c166060850152818160301c16608085015260401c16910152565b6001600160401b03811161107b5760051b60200190565b9061356482613543565b6135716040519182611108565b8281528092613582601f1991613543565b0190602036910137565b9190811015612b945760051b0190565b356106ef8161062b565b906040516135b381611060565b602060018294805484520154910152565b8051821015612b945760209160051b010190565b906040516135e58161109b565b915461ffff168252565b6108279061361260a4356136028161062b565b825460ff191660ff909116178255565b60c4359061361f8261062b565b9061ff0082549160081b169061ff001916179055565b60ff168015801561368f575b6107de575f52600260205261368b61365b60405f206132db565b60ff606060c08301519461366e81612e0c565b61368061ffff96879485931690613398565b51169201511661414d565b1690565b5060648111613641565b909c9b9c9a999a9897989695969493949291927f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006002815414613afa57600290556136e2613fd4565b6136ea614056565b5f5460ff16613ae85780158015613ade575b613aa55782158015613a9b575b613a625760148511613a2357601487116139e757601489116139ac575f5b818110613990575050505f5b818110613974575050505f5b818110613958575050505f5b81811061393c575050505f5b818110613920575050505f5b8181106138d0575050505f5b8181106137da5750505060015561378c600160ff195f5416175f55565b337f12a1c7be0c836deda4348baecdfb5dcfb75ed9e3268f177433d9651d7263c2a85f80a261082760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60656137f36137ed611a11848688613ba6565b60ff1690565b1080156138b6575b6129ca5760208061380d838587613ba6565b013515612c8d5760409081613823848688613ba6565b0135156138855782918161387f9261383e600196888a613ba6565b01359161384c85888a613ba6565b013590613857611136565b928352820152612c3861386e611a1185888a613ba6565b60ff165f52600960205260405f2090565b0161376f565b505163d647364f60e01b81526020600482015260096024820152680787050657243726f760bc1b6044820152606490fd5b5060c860ff6138c9611a11848688613ba6565b16116137fb565b8061391a6138e16001938587613b95565b3560206138ef848789613b95565b0161391461390c60e0613903878a8c613b95565b019236906124f1565b91369061256e565b916140c8565b01613763565b806139366139316001938587613b73565b614d58565b01613757565b8061395261394d6001938587613b51565b614c73565b0161374b565b8061396e6139696001938587613b51565b614b85565b0161373f565b8061398a6139856001938587613b2f565b614a06565b01613733565b806139a66139a16001938587613b0c565b61447b565b01613727565b60405163d647364f60e01b81526020600482015260126024820152710e4cac6d2e0cae688c2e8c25cd8cadccee8d60731b6044820152606490fd5b60405163d647364f60e01b81526020600482015260136024820152720c4dedee6e8cae4e688c2e8c25cd8cadccee8d606b1b6044820152606490fd5b60405163d647364f60e01b81526020600482015260166024820152750cccae4e8d2d8d2f4cae4e688c2e8c25cd8cadccee8d60531b6044820152606490fd5b60405163d647364f60e01b815260206004820152601060248201526f0c6e4dee0e688c2e8c25cd8cadccee8d60831b6044820152606490fd5b5060648311613709565b60405163d647364f60e01b815260206004820152601060248201526f0e6cacac8e688c2e8c25cd8cadccee8d60831b6044820152606490fd5b50606481116136fc565b60405163839add6960e01b8152600490fd5b604051633ee5aeb560e01b8152600490fd5b9190811015612b945760051b810135906101fe198136030182121561054b570190565b9190811015612b945760051b8101359060fe198136030182121561054b570190565b9190811015612b945760051b81013590605e198136030182121561054b570190565b9190811015612b945760051b81013590607e198136030182121561054b570190565b9190811015612b94576101a0020190565b9190811015612b94576060020190565b60ff1660ff8114613bc75760010190565b6131f8565b5f198114613bc75760010190565b903590601e198136030182121561054b57018035906001600160401b03821161054b57602001918160061b3603831361054b57565b356106ef81611cda565b9080358255600160208201356001840155600280840190604091613c406040860186613bda565b939068010000000000000000851161107b578254858455808610613cc5575b50613c6e90925f5260205f2090565b5f925b858410613ca85750505050505050906003613c9160606108279401613c0f565b91019063ffffffff1663ffffffff19825416179055565b803582556020810135600183015592860192908401908201613c71565b6001600160ff1b038181168203613bc75786168603613bc757835f528460205f209160011b8201918760011b015b828110613d01575050613c5f565b5f81555f89820155018590613cf3565b8015613bc7575f190190565b5f52600a60205260405f20613d8b60206116e1600160405194613d3f86611060565b604051815463ffffffff9081811683528181881c1687840152818160401c166040840152818160601c166060840152818160801c16608084015260a01c1660a08201526109a4816110b6565b6005805b613da4575051511115613da0575f90565b5f90565b613daf81835161347f565b51831015613dc657613dc090613d11565b80613d8f565b91505090565b60ff1680158015613e1c575b6107de5760ff9161368b915f526002602052613df660405f206132db565b90602061ffff61368060a0850151613e0d85612e0c565b63ffffffff9788951690613398565b5060648111613dd8565b6001549081158015613e75575b613e6f5762093a8091613e4591614df8565b0480613e5057505f90565b60018103613e5e5750600190565b600203613e6a57600290565b600390565b50505f90565b50818110613e33565b60ff8111613e8c5760ff1690565b604490604051906306dfcc6560e41b8252600860048301526024820152fd5b335f9081527f44f2f79686c2bf155261c2ffef9628ab633e9f8ad5e78cca61feb0654afeabb8602052604090207f745191d59a0c5ecaf2331ad3570e4033c5b04de0434263ec14a70fce5475ab7f9060ff905b541615613f085750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b335f9081527f762c7c328dd70a077c65c77b60e4c38eed3d2f6aa056d4d0fa114aeff8234b56602052604090207fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b269060ff90613efe565b335f9081527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a8602052604090207f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e39060ff90613efe565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561400c57565b60405163e2517d3f60e01b81523360048201525f6024820152604490fd5b5f8181525f8051602061511b83398151915260209081526040808320338452909152902060ff90613efe565b60ff5f8051602061513b833981519152541661406e57565b60405163d93c066560e01b8152600490fd5b60015480156140c3576140939042615006565b63ffffffff908181116140a4571690565b604490604051906306dfcc6560e41b8252602060048301526024820152fd5b505f90565b91604051916140d683611060565b8252602092602083019182525f52600a60205260405f2091515f905f5b856006821061412857505050825551905f5b600681106141135750505050565b60019084845194019382828501015501614105565b600191929363ffffffff9081865116918560051b92831b921b191617930191016140f3565b9061ffff1690811561417157818102918183041490151715613bc7576103e8900490565b905090565b903590601e198136030182121561054b57018035906001600160401b03821161054b5760200191813603831361054b57565b919082604091031261054b576040516141c081611060565b602080829480356141d08161062b565b84520135916141de8361062b565b0152565b9190604051926141f1846110d1565b83906080810192831161054b57905b82821061420c57505050565b60208091833561421b81611ce8565b815201910190614200565b601f821161423357505050565b5f5260205f20906020601f840160051c8301931061426b575b601f0160051c01905b818110614260575050565b5f8155600101614255565b909150819061424c565b8151815460ff191660ff9182161782556108279260200151825461ff001916911660081b61ff0016179055565b5f915f5b600481106142b357505055565b909260206142db60019261ffff8751169085851b60031b9161ffff809116831b921b19161790565b940191016142a6565b91909182519283516001600160401b03811161107b5761430e816143088554611b2c565b85614226565b602080601f83116001146144065750916143488260c09360049561082798995f926143fb575b50508160011b915f199060031b1c19161790565b84555b6143d06001850161437c614366602085015163ffffffff1690565b825463ffffffff191663ffffffff909116178255565b6143ac61438e604085015161ffff1690565b825465ffff00000000191660209190911b65ffff0000000016178255565b6060830151815467ffff000000000000191660309190911b61ffff60301b16179055565b6143e1608082015160028601614275565b6143f260a0820151600386016142a2565b015191016142a2565b015190505f80614334565b90601f1983169661441a865f5260205f2090565b925f905b898210614463575050926004949260019260c095836108279a9b1061444b575b505050811b01845561434b565b01515f1960f88460031b161c191690555f808061443e565b8060018596829496860151815501950193019061441e565b9060ff91826144898261359c565b1615801561483c575b6107de5760a08101906065846144a78461359c565b16108015614828575b6118ea576040908181019263ffffffff806144ca86613c0f565b1615908115614811575b506147df57606082019461ffff91826144ec886133a9565b161580156147ca575b61479d57612710608085019361450a856133a9565b161161476f57602084019561451f8786614176565b90501561473e575f5b6004818b168181101561460457610bb8908161454e610c5f610c5a846101008e01613398565b116145bc57610c5f610c5a614567926101808c01613398565b1161457757506001018916614528565b6107f890885191829163d647364f60e01b83528201606090602081526015602082015274736561736f6e616c58704d756c7469706c6965727360581b60408201520190565b895163d647364f60e01b8152602081850181815260199181019190915278736561736f6e616c47726f7774684d756c7469706c6965727360381b604082015281906060010390fd5b5050509394614639929850966146786146c994614683939961466d61464561463f61463160e09d8d614176565b99909b613c0f565b966133a9565b936133a9565b9461465e60c08c019a614656611129565b99369161116b565b885263ffffffff166020880152565b85019061ffff169052565b61ffff166060830152565b61468d36846141a8565b60808201526146a03661010086016141e2565b60a08201526146b33661018086016141e2565b60c08201526146c4610d458561359c565b6142e4565b6146d56137ed8561359c565b6146e1611e888461359c565b556146ee6137ed8261359c565b614725575b5001906147026137ed8361359c565b61470a575050565b611e8861471c6137ed6147229361359c565b9261359c565b55565b614737611e8861471c6137ed8761359c565b555f6146f3565b855163d647364f60e01b8152602060048201526009602482015268736565642e6e616d6560b81b6044820152606490fd5b845163d647364f60e01b815260206004820152600660248201526506261736558760d41b6044820152606490fd5b845163d647364f60e01b81526020600482015260056024820152641e5a595b1960da1b6044820152606490fd5b50612710836147d8896133a9565b16116144f5565b825163d647364f60e01b815260206004820152600a60248201526967726f77746854696d6560b01b6044820152606490fd5b6202a300915061482086613c0f565b16115f6144d4565b5060c8846148358461359c565b16116144b0565b506064836148498361359c565b1611614492565b919080519283516001600160401b03811161107b57614879816148738454611b2c565b84614226565b602080601f831160011461498f5750614974926148b58360a094600194610827999a5f926143fb5750508160011b915f199060031b1c19161790565b81555b01926148de6148cc602083015161ffff1690565b855461ffff191661ffff909116178555565b61490a6148f0604083015161ffff1690565b855463ffff0000191660109190911b63ffff000016178555565b61493a61491c606083015161ffff1690565b855465ffff00000000191660209190911b65ffff0000000016178555565b61496b61494c608083015161ffff1690565b855467ffff000000000000191660309190911b61ffff60301b16178555565b015161ffff1690565b61ffff60401b82549160401b169061ffff60401b1916179055565b90601f198316966149a3855f5260205f2090565b925f905b8982106149ee575050836001936149749693859360a0976108279b9c106149d6575b505050811b0181556148b8565b01515f1960f88460031b161c191690555f80806149c9565b806001859682949686015181550195019301906149a7565b606560ff614a138361359c565b16108015614b70575b6118ea5760e0810160ff614a2f8261359c565b16158015614b5b575b6123d75760208201614a4a8184614176565b905015614b295761471c6137ed61472293611a11614b07614a6e61239d9689614176565b9190614afc8a614af1614a83604083016133a9565b614ae6614a92606085016133a9565b614adb614aa1608087016133a9565b93614ace614abd60c0614ab660a08b016133a9565b99016133a9565b99614ac6611143565b9c369161116b565b8b5261ffff1660208b0152565b61ffff166040890152565b61ffff166060870152565b61ffff166080850152565b61ffff1660a0830152565b614b24614b138961359c565b60ff165f52600360205260405f2090565b614850565b60405163d647364f60e01b815260206004820152600960248201526863726f702e6e616d6560b81b6044820152606490fd5b50606460ff614b698361359c565b1611614a38565b5060c860ff614b7e8361359c565b1611614a1c565b60c960ff614b928361359c565b16108015614c5e575b6117ea57614bac6020820182614176565b905015614c2657604081016103e861ffff614bc6836133a9565b1610614bec5761178e614bdb6108279361359c565b60ff165f52600760205260405f2090565b60405163d647364f60e01b815260206004820152601160248201527019995c9d1a5b1a5e995c8b9959999958dd607a1b6044820152606490fd5b60405163d647364f60e01b815260206004820152600f60248201526e66657274696c697a65722e6e616d6560881b6044820152606490fd5b5060dc60ff614c6c8361359c565b1611614b9b565b60c960ff614c808361359c565b16108015614d43575b61273957614c9a6020820182614176565b905015614d0e576040810161ffff614cb1826133a9565b1615614cd75761178e614cc66108279361359c565b60ff165f52600660205260405f2090565b60405163d647364f60e01b815260206004820152600e60248201526d189bdbdcdd195c8b9959999958dd60921b6044820152606490fd5b60405163d647364f60e01b815260206004820152600c60248201526b626f6f737465722e6e616d6560a01b6044820152606490fd5b5060dc60ff614d518361359c565b1611614c89565b602081013515614dc357614d6f6040820182613bda565b905015614d8d5780612d4161082792355f52600860205260405f2090565b60405163d647364f60e01b815260206004820152600d60248201526c0d2dce0eae8e65cd8cadccee8d609b1b6044820152606490fd5b60405163d647364f60e01b815260206004820152600c60248201526b1bdd5d1c1d5d105b5bdd5b9d60a21b6044820152606490fd5b90808210808015614e33575b8015614e2c575b614e2557613e6f578103908111613bc7576224ea00900690565b5050505f90565b505f614e0b565b508115614e04565b5f8181525f8051602061511b833981519152602081815260408084206001600160a01b03871685529091529091205460ff16614e25575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5f8181525f8051602061511b833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615614e25575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b90813b15614fe5575f805160206150fb83398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115614fca57614fc791615057565b50565b505034614fd357565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b9080821080801561504f575b8015615048575b614e2557613e6f578103908111613bc75762093a8090046001198110156140c35760018101809111613bc75790565b505f615019565b508115615012565b5f806106ef93602081519101845af43d15615093573d9161507783611150565b926150856040519485611108565b83523d5f602085013e615097565b6060915b906150be57508051156150ac57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806150f1575b6150cf575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156150c756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212204c2b84480f698ad7793d857efe350b1d709fba315736d950cc78321784e525c464736f6c63430008180033
Deployed Bytecode
0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146104f557806303e1649c146104f05780630d8e6e2c1461037e5780630f09fed7146104eb578063115d538d146104e657806312f0c3a1146104e1578063192bc94e146104dc5780631f5d546e146104d757806320df4359146104d2578063248a9ca3146104cd5780632caa923d146104c85780632f27f2a4146104c35780632f2ff15d146104be5780632fd24836146104b95780633162d3da146104b457806335fa5b57146104af57806336568abe146104aa5780633893bc4c1461039c5780633f4ba83a146104a557806340d058cb146104a0578063420cde401461049b578063429700c2146104965780634a0ca4e1146104915780634acaf4421461048c5780634d50af74146104875780634f1ef286146104825780634fb58c651461047d57806352d1902d146104785780635504d3d2146104735780635716d8f71461046e57806357b685e31461046957806357d4c4ee1461046457806358133236146104375780635c975abb1461045f57806361a8a7131461045a57806363e986ba1461045557806368240c34146104505780636abff3801461044b5780636d3962be14610446578063701c34521461044157806370c9f1a51461043c57806375c1f2c714610437578063768f4fc8146104325780637bb077b61461042d5780637fec83ca146104285780638053293414610423578063806a5eb51461041e5780638104ae4d146104195780638456cb59146104145780638950d4a91461040f5780638b032eaa1461040a5780638ec80348146104055780638fb942431461040057806391d14854146103fb57806394d68a46146103f6578063964855d8146103f157806398283586146103ec578063a217fddf146103e7578063a481eef9146103e2578063a5a0c4e0146103dd578063aaf10f42146103d8578063ad3cb1cc146103d3578063b4c498b5146103ce578063b717e036146103c9578063bf1b5239146103c4578063cd7a4ab3146103bf578063d2a34be1146103ba578063d3b30b75146103b5578063d547741f146103b0578063e07a0f72146103ab578063e2b37121146103a6578063e3f6bdad146103a1578063ebe56eee1461039c578063f0503e8014610397578063f3fe8fda14610392578063f69ca8421461038d578063f72c0d8b14610388578063fad2f84d146103835763ffa1ad741461037e575f80fd5b6105c5565b61311a565b613057565b613044565b612ff5565b612f62565b610de9565b612ee3565b612eba565b612e9f565b612e56565b612e2a565b612dbf565b612cc8565b612b99565b612b4a565b612a9d565b612a1a565b6129e6565b612966565b612922565b612908565b612830565b612775565b61269c565b612642565b61262f565b6125a8565b61241e565b61222d565b6121c8565b6121ab565b612115565b61202b565b611cf4565b611cac565b611c82565b6115fe565b611c04565b611aba565b611aa0565b6119a1565b611829565b611716565b61164d565b61161f565b6115e3565b61159c565b6114c1565b611487565b61141e565b61133b565b6111a1565b610ffd565b610fab565b610f65565b610f3d565b610ee1565b610e79565b610e04565b610da2565b610bdf565b610b9a565b610b6c565b610b21565b610ada565b610a7c565b610a43565b610a09565b6109ba565b6108f4565b610829565b6106f2565b61060e565b61054f565b3461054b57602036600319011261054b5760043563ffffffff60e01b811680910361054b57602090637965db0b60e01b811490811561053a575b506040519015158152f35b6301ffc9a760e01b1490505f61052f565b5f80fd5b3461054b57602036600319011261054b57602060043560c9811015908161057b57506040519015158152f35b60dc915011155f61052f565b91908251928382525f5b8481106105b1575050825f602080949584010152601f8019910116010190565b602081830181015184830182015201610591565b3461054b575f36600319011261054b5761060a6040516105e481611060565b60058152640312e302e360dc1b6020820152604051918291602083526020830190610587565b0390f35b3461054b575f36600319011261054b5760206040516202a3008152f35b60ff81160361054b57565b5f915b6004831061064657505050565b60019061ffff83511681526020809101920192019190610639565b6106ef906020815261016060c061068685516101c060208601526101e0850190610587565b9463ffffffff6020820151166040850152604081015161ffff809116606086015260608201511660808501526106d3608082015160a086019060ff60208092828151168552015116910152565b6106e560a082015160e0860190610636565b0151910190610636565b90565b3461054b57602036600319011261054b5760043561070f8161062b565b610717613224565b5060ff811680159081156107fc575b506107de5761060a9061073842613e26565b6107556107508360ff165f52600260205260405f2090565b6132db565b8051926107c361077e6107688584613dcc565b94610778604086015161ffff1690565b93613635565b6107b86080850151936107ad60c060a08801519701519761079d611129565b998a5263ffffffff1660208a0152565b61ffff166040880152565b61ffff166060860152565b608084015260a083015260c082015260405191829182610661565b60405163d647364f60e01b8152806107f860048201613283565b0390fd5b60649150115f610726565b61082790929192604081019360ff60208092828151168552015116910152565b565b3461054b57602036600319011261054b5760ff6004356108488161062b565b61085061320c565b501680158015610884575b6107de575f52600260205261060a610878600260405f2001612f40565b60405191829182610807565b506064811161085b565b815161018082019392905f90835b600683106108d75750505060c060208092015192015f905b600682106108c25750505050565b828060019286518152019401910190926108b4565b60019063ffffffff8351168152602080910192019201919061089c565b3461054b5760208060031936011261054b5761060a906040805161091781611060565b8151610922816110b6565b60c0368237815282825191610936836110b6565b60c036843701526004355f52600a8252805f20916109ac600183519461095b86611060565b8451815463ffffffff9081811683528181881c16878401528181891c1688840152818160601c166060840152818160801c16608084015260a01c1660a08201526109a4816110b6565b865201613352565b90830152519182918261088e565b3461054b57602036600319011261054b5760ff6004356109d98161062b565b166109e381613412565b156107de575f52600460205260206109fe60405f2054613e7e565b60ff60405191168152f35b3461054b575f36600319011261054b5760206040517fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b268152f35b3461054b57602036600319011261054b576004355f525f8051602061511b8339815191526020526020600160405f200154604051908152f35b3461054b57602036600319011261054b57600435610a998161062b565b60ff81168015908115610acf575b506107de57610ac1602091610abb42613e26565b90613dcc565b63ffffffff60405191168152f35b60649150115f610aa7565b3461054b575f36600319011261054b576020604051601c8152f35b602435906001600160a01b038216820361054b57565b600435906001600160a01b038216820361054b57565b3461054b57604036600319011261054b57610b6a600435610b40610af5565b90805f525f8051602061511b833981519152602052610b65600160405f20015461402a565b614e3b565b005b3461054b57602036600319011261054b576004355f526006602052602061ffff60405f205416604051908152f35b3461054b57602036600319011261054b576004355f526005602052602060405f2054604051908152f35b9060249160a41161054b57565b9060a4916101241161054b57565b3461054b5761012036600319011261054b576004803590610bff8261062b565b610c0836610bc4565b90610c1236610bd1565b92610c1b613eab565b610c23614056565b60ff9360ff82169384158015610d98575b610d7f575f5b86811685811015610d1a57610bb89081610c66610c5f610c5a8488613398565b6133a9565b61ffff1690565b11610cd057610c5f610c5a610c7b9287613398565b11610c8a576001018616610c3a565b6107f88560405191829163d647364f60e01b83528201606090602081526015602082015274736561736f6e616c58704d756c7469706c6965727360581b60408201520190565b6107f88760405191829163d647364f60e01b83528201606090602081526019602082015278736561736f6e616c47726f7774684d756c7469706c6965727360381b60408201520190565b86610d568588610d3f89610d45896003610d3f8460ff165f52600260205260405f2090565b016133b3565b60ff165f52600260205260405f2090565b5f33917fcceebab1dd0ce05df89508d0ac39d99183e2ca262e2b32a9d520ddd0e77e1bd38280a4005b60405163d647364f60e01b8152806107f8818701613283565b5060648511610c34565b3461054b57604036600319011261054b57610dbb610af5565b336001600160a01b03821603610dd757610b6a90600435614ecf565b60405163334bd91960e11b8152600490fd5b3461054b575f36600319011261054b57602060405160648152f35b3461054b575f36600319011261054b57610e1c613f26565b5f8051602061513b833981519152805460ff811615610e675760ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b604051638dfc202b60e01b8152600490fd5b3461054b57602036600319011261054b5760ff600435610e988161062b565b1680158015610ed7575b6107de575f52600260205261060a63ffffffff600160405f200154166040519182918291909163ffffffff6020820193169052565b5060648111610ea2565b3461054b57602036600319011261054b57600435610efe8161062b565b60ff81168015908115610f32575b506107de57610f26602091610f2042613e26565b90613635565b61ffff60405191168152f35b60649150115f610f0c565b3461054b57602036600319011261054b576020610f5b6004356133fa565b6040519015158152f35b3461054b57602036600319011261054b576020610f5b600435613412565b604090600319011261054b57600435610f9b8161062b565b90602435600481101561054b5790565b3461054b57610fb936610f83565b90610fc2613224565b5060ff81168015908115610ff2575b506107de5761060a916107556107508360ff165f52600260205260405f2090565b60649150115f610fd1565b3461054b57602036600319011261054b5760ff60043561101c8161062b565b165f52600960205260405f20600181549101549061060a6040519283928360209093929193604081019481520152565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761107b57604052565b61104c565b60e081019081106001600160401b0382111761107b57604052565b602081019081106001600160401b0382111761107b57604052565b60c081019081106001600160401b0382111761107b57604052565b608081019081106001600160401b0382111761107b57604052565b610ca081019081106001600160401b0382111761107b57604052565b90601f801991011681019081106001600160401b0382111761107b57604052565b6040519061082782611080565b6040519061082782611060565b60405190610827826110b6565b6001600160401b03811161107b57601f01601f191660200190565b92919261117782611150565b916111856040519384611108565b82948184528183011161054b578281602093845f960137010152565b60408060031936011261054b576111b6610b0b565b90602435906001600160401b03821161054b576004913660238201121561054b576111ea903690602481860135910161116b565b6001600160a01b037f00000000000000000000000076e7056390b9fe51385eeb6f0f334c5eb597c7798116308114908115611320575b506113115761122d613f7d565b8416801561130257843b156112f35790602084928451938480926352d1902d60e01b82525afa5f92816112c2575b5061128757505051634c9c8ce360e01b81526001600160a01b0390921690820190815281906020010390fd5b8484845f805160206150fb83398151915285036112a857610b6a8484614f61565b51632a87526960e21b815290810184815281906020010390fd5b6112e591935060203d6020116112ec575b6112dd8183611108565b81019061342a565b915f61125b565b503d6112d3565b505051636f7c43f160e01b8152fd5b50505163d92e233d60e01b8152fd5b50505163703e46dd60e11b8152fd5b9050815f805160206150fb833981519152541614155f611220565b3461054b57602036600319011261054b5760ff60043561135a8161062b565b611362613224565b501680158015611414575b6107de575f52600260205261060a60405f2061140360046040519261139184611080565b61139a81611b64565b84526113db600182015463ffffffff8116602087015261ffff906113ca828260201c16604089019061ffff169052565b60301c16606086019061ffff169052565b6113e760028201612f40565b60808501526113f8600382016132a4565b60a0850152016132a4565b60c082015260405191829182610661565b506064811161136d565b3461054b575f36600319011261054b577f00000000000000000000000076e7056390b9fe51385eeb6f0f334c5eb597c7796001600160a01b031630036114755760206040515f805160206150fb8339815191528152f35b60405163703e46dd60e11b8152600490fd5b3461054b575f36600319011261054b5760206040517f745191d59a0c5ecaf2331ad3570e4033c5b04de0434263ec14a70fce5475ab7f8152f35b3461054b57604036600319011261054b5760405163e2b3712160e01b81526004803590820181905260248035908301526020908183604481305afa928315611572575f93611577575b50604051634581975560e11b8152600481019190915260248101839052818180604481015b0381305afa918215611572575f92611555575b5050604080519182526020820192909252f35b61156b9250803d106112ec576112dd8183611108565b5f80611542565b613439565b61152f9193506115948391823d84116112ec576112dd8183611108565b93915061150a565b3461054b57602036600319011261054b576004355f526008602052606060405f2080549063ffffffff60036001830154920154169060405192835260208301526040820152f35b3461054b575f36600319011261054b57602060405160148152f35b3461054b575f36600319011261054b57602060ff5f54166040519015158152f35b3461054b575f36600319011261054b57602060ff5f8051602061513b83398151915254166040519015158152f35b3461054b5760408060031936011261054b5761060a906116f560243561167560068210613444565b6004355f52600a602052825f206116ef60206116e1600187519461169886611060565b8851815463ffffffff9081811683528181881c168784015281818d1c168c840152818160601c166060840152818160801c16608084015260a01c1660a08201526109a4816110b6565b920191808352511515613490565b5161347f565b5190519081529081906020820190565b602090602319011261054b57602490565b3461054b57604036600319011261054b576004356117338161062b565b61173c36611705565b90611745613eab565b61174d614056565b60ff81169160c98310801561181f575b6117ea5761271061ffff611770836133a9565b16116117bb5761178e6117939260ff165f52600760205260405f2090565b6134cd565b33907fc71aa6127c498448f788b388fde9b937f04be14a5768bdaadbe203f266ba10485f80a3005b60405163d647364f60e01b81526020600482015260066024820152651959999958dd60d21b6044820152606490fd5b60405163d647364f60e01b815260206004820152600c60248201526b19995c9d1a5b1a5e995c925960a21b6044820152606490fd5b5060dc831161175d565b3461054b57602036600319011261054b5760ff6004356118488161062b565b16611852816133fa565b156118ea575f52600360205261186a60405f206134ed565b602081015161ffff1661060a611885604084015161ffff1690565b92611895606082015161ffff1690565b906118b460a06118aa608084015161ffff1690565b92015161ffff1690565b6040805161ffff9687168152968616602088015292851692860192909252831660608501529091166080830152819060a0820190565b60405163d647364f60e01b815260206004820152600660248201526518dc9bdc125960d21b6044820152606490fd5b9181601f8401121561054b578235916001600160401b03831161054b576020808501948460051b01011161054b57565b9081518082526020808093019301915f5b828110611968575050505090565b83518552938101939281019260010161195a565b90916119936106ef93604084526040840190611949565b916020818403910152611949565b3461054b5760208060031936011261054b576004906004356001600160401b03811161054b576119d5903690600401611919565b92906119e08461355a565b926119ea8561355a565b945f5b818110611a03576040518061060a89898361197c565b611a16611a1182848761358c565b61359c565b60ff811660658110908115611a95575b50611a8457611a43611a489160ff165f52600960205260405f2090565b6135a6565b805115611a74579081846001930151611a61838a6135c4565b5251611a6d828a6135c4565b52016119ed565b60405162edf3c160e41b81528690fd5b6040516303a9ef6360e61b81528690fd5b60c89150115f611a26565b3461054b575f36600319011261054b576020610ac1614080565b3461054b57602036600319011261054b5760ff600435611ad98161062b565b5f604051611ae68161109b565b521660c981108015611b22575b6117ea575f52600760205261060a611b0d60405f206135d8565b604051905161ffff1681529081906020820190565b5060dc8111611af3565b90600182811c92168015611b5a575b6020831014611b4657565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b3b565b9060405191825f8254611b7681611b2c565b908184526020946001916001811690815f14611be25750600114611ba4575b50505061082792500383611108565b5f90815285812095935091905b818310611bca57505061082793508201015f8080611b95565b85548884018501529485019487945091830191611bb1565b9250505061082794925060ff191682840152151560051b8201015f8080611b95565b3461054b57602036600319011261054b576004355f526003602052611c4b60405f206001611c3182611b64565b91015461ffff60405193849360c0855260c0850190610587565b918181166020850152818160101c166040850152818160201c166060850152818160301c16608085015260401c1660a08301520390f35b3461054b57602036600319011261054b576004355f526004602052602060405f2054604051908152f35b3461054b57602036600319011261054b576004355f526007602052602061ffff60405f205416604051908152f35b63ffffffff81160361054b57565b61ffff81160361054b57565b3461054b5760e036600319011261054b576004803590611d138261062b565b60243591611d2083611cda565b604435611d2c81611ce8565b60643590611d3982611ce8565b60843594611d468661062b565b6040948560a31936011261054b57611d5c613eab565b611d64614056565b60ff85169687158015611fd7575b611fbf5760ff1695606587108015611fb5575b611f7f5763ffffffff83168015908115611f72575b50611f385761ffff8085168015908115611f2c575b50611ef857614e2090861611611ec257505091611e34611e6892611dfe86956001611de8611e999960ff165f52600260205260405f2090565b019063ffffffff1663ffffffff19825416179055565b6001611e158660ff165f52600260205260405f2090565b019065ffff0000000082549160201b169065ffff000000001916179055565b6001611e4b8460ff165f52600260205260405f2090565b019061ffff60301b82549160301b169061ffff60301b1916179055565b611e886002611e828360ff165f52600260205260405f2090565b016135ef565b60ff165f52600460205260405f2090565b5533907f1eca5b429b5d42f9b796c650c673bb404775589c4f841033854fd6760b80b2d95f80a3005b6107f892505191829163d647364f60e01b8352820160609060208152600660208201526506261736558760d41b60408201520190565b815163d647364f60e01b81526020818501818152600591810191909152641e5a595b1960da1b604082015281906060010390fd5b6127109150115f611daf565b6107f892505191829163d647364f60e01b8352820160609060208152600a60208201526967726f77746854696d6560b01b60408201520190565b6202a3009150115f611d9a565b5163d647364f60e01b8152915081906107f890820160609060208152600660208201526518dc9bdc125960d21b60408201520190565b5060c88711611d85565b865163d647364f60e01b8152806107f8818501613283565b5060648811611d72565b5f915b60048310611ff157505050565b60019061ffff83511681526020809101920192019190611fe4565b91608061082792949361202481610100810197611fe1565b0190611fe1565b3461054b57602036600319011261054b576004356120488161062b565b6080604051612056816110d1565b3690376080604051612067816110d1565b36903760ff811680159081156120af575b506107de576107506120959160ff165f52600260205260405f2090565b60c060a08201519101519061060a6040519283928361200c565b60649150115f612078565b6020815260c06120d5835182602085015260e0840190610587565b9260a060208201519161ffff8093166040860152826040820151166060860152826060820151166080860152826080820151168286015201511691015290565b3461054b57602036600319011261054b576004356121328161062b565b5f60a0604051612141816110b6565b60608152826020820152826040820152826060820152826080820152015260ff8116606581109081156121a0575b506118ea5761219461218f61060a9260ff165f52600360205260405f2090565b6134ed565b604051918291826120ba565b60c89150115f61216f565b3461054b575f36600319011261054b576020600154604051908152f35b3461054b575f36600319011261054b576121e0613f26565b6121e8614056565b5f8051602061513b833981519152600160ff198254161790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461054b5760e036600319011261054b5760043561224a8161062b565b6024359061225782611ce8565b60443561226381611ce8565b6064359161227083611ce8565b6084359261227d84611ce8565b60a43561228981611ce8565b60c435956122968761062b565b61229e613eab565b6122a6614056565b60ff841696606588108015612414575b6118ea5760ff16958615801561240a575b6123d75761235261239d9461233b6123ae986123096123699660016122f78c60ff165f52600360205260405f2090565b019061ffff1661ffff19825416179055565b60016123208a60ff165f52600360205260405f2090565b019063ffff000082549160101b169063ffff00001916179055565b6001611e158860ff165f52600360205260405f2090565b6001611e4b8660ff165f52600360205260405f2090565b60016123808460ff165f52600360205260405f2090565b019061ffff60401b82549160401b169061ffff60401b1916179055565b60ff165f52600560205260405f2090565b5533907f14b767668e3ab039f8badf0df0cfea488d75d6f6ea5d66b70cbdf02930d8e2195f80a3005b60405163d647364f60e01b815260206004820152600a60248201526918985cd954d95959125960b21b6044820152606490fd5b50606487116122c7565b5060c888116122b6565b3461054b5760408060031936011261054b5761060a906124e26124d96124cf60243561244c60068210613444565b6004355f52600a602052845f206116ef6124c1600188519361246d85611060565b89518154808c63ffffffff9283918282168652828260201c1660208701521c168d840152818160601c166060840152818160801c16608084015260a01c1660a08201526124b9816110b6565b855201613352565b806020840152511515613490565b5163ffffffff1690565b63ffffffff1690565b90519081529081906020820190565b919060405192612500846110b6565b839060c0810192831161054b57905b82821061251b57505050565b60208091833561252a81611cda565b81520191019061250f565b9060405191612543836110b6565b826101a491821161054b5760e4905b82821061255e57505050565b8135815260209182019101612552565b91906040519261257d846110b6565b839060c0810192831161054b57905b82821061259857505050565b813581526020918201910161258c565b3461054b576101a036600319011261054b57366043121561054b576040516125cf816110b6565b60e48136821161054b576024905b828210612615578336610103121561054b57610b6a906125fc36612535565b90612605613eab565b61260d614056565b6004356140c8565b60208091833561262481611cda565b8152019101906125dd565b3461054b576020610f26610f2036610f83565b3461054b57604036600319011261054b57602060ff612690612662610af5565b6004355f525f8051602061511b833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b3461054b57604036600319011261054b576004356126b98161062b565b6126c236611705565b906126cb613eab565b6126d3614056565b60ff81169160c98310801561276b575b6127395761ffff6126f3826133a9565b16156117bb5761178e6127119260ff165f52600660205260405f2090565b33907f290bd8e6937407b22352e2be88658b06a376c4af714a59e15342e09f4d02f2e55f80a3005b60405163d647364f60e01b8152602060048201526009602482015268189bdbdcdd195c925960ba1b6044820152606490fd5b5060dc83116126e3565b3461054b57602036600319011261054b5760ff6004356127948161062b565b16801580156127c5575b6107de575f9081526002602090815260409182902060010154915191811c61ffff16825290f35b506064811161279e565b9181601f8401121561054b578235916001600160401b03831161054b576020808501946101a0850201011161054b57565b9181601f8401121561054b578235916001600160401b03831161054b576020808501946060850201011161054b57565b3461054b5761010036600319011261054b5760046001600160401b03813581811161054b576128629036908401611919565b60249291923582811161054b5761287c9036908601611919565b909260443581811161054b576128959036908801611919565b9060643583811161054b576128ad9036908a01611919565b9060843585811161054b576128c59036908c01611919565b94909360a43587811161054b578c6128df913691016127cf565b98909760c43590811161054b57610b6a9d6128fc91369101612800565b9b909a60e4359d613699565b3461054b575f36600319011261054b5760206040515f8152f35b3461054b57602036600319011261054b5760ff6004356129418161062b565b1661294b816133fa565b156118ea575f52600560205260206109fe60405f2054613e7e565b3461054b57602036600319011261054b5760ff6004356129858161062b565b61298d61320c565b50166065811080156129dc575b6129ca575f52600960205260406129b2815f206135a6565b6129c88251809260208091805184520151910152565bf35b6040516303a9ef6360e61b8152600490fd5b5060c8811161299a565b3461054b575f36600319011261054b575f805160206150fb833981519152546040516001600160a01b039091168152602090f35b3461054b575f36600319011261054b5761060a604051612a3981611060565b60058152640352e302e360dc1b6020820152604051918291602083526020830190610587565b60209060206040818301928281528551809452019301915f5b828110612a86575050505090565b835160ff1685529381019392810192600101612a78565b3461054b575f36600319011261054b57604051612ab9816110ec565b60649060648152610c803660208301375f60655b60c860ff82161115612aeb575b8183526040518061060a8582612a5f565b612b0361218f8260ff165f52600360205260405f2090565b5151612b24575b838214612b1f57612b1a90613bb6565b612acd565b612ada565b9080612b3f83612b37612b4494876135c4565b9060ff169052565b613bcc565b90612b0a565b3461054b57604036600319011261054b576024356004355f52600a60205260405f20906006811015612b945763ffffffff6020928260031c015460e06040519360051b161c168152f35b613384565b3461054b57606036600319011261054b57600435612bb68161062b565b60243590604435612bc5613eab565b612bcd614056565b60ff821692606584108015612cbe575b6129ca578015612c8d578115612c5b57612c497f802c6adeb3ecf112b6f174a1738cf59e30e745541db4e9e0b5b42a89d58cefb993612c38612c1d611136565b9184835285602084015260ff165f52600960205260405f2090565b906020600191805184550151910155565b604080519182526020820192909252a2005b60405163d647364f60e01b81526020600482015260096024820152680787050657243726f760bc1b6044820152606490fd5b60405163d647364f60e01b81526020600482015260086024820152676d617843726f707360c01b6044820152606490fd5b5060c88411612bdd565b3461054b5760031960403682011261054b576024356001600160401b03811161054b5760808160040192823603011261054b57612d03613eab565b612d0b614056565b602481013515612d83576044612d22910182613bda565b905015612d4657610b6a90612d416004355f52600860205260405f2090565b613c19565b60405163d647364f60e01b81526020600482015260146024820152730e4cac6d2e0ca5cd2dce0eae8e65cd8cadccee8d60631b6044820152606490fd5b60405163d647364f60e01b81526020600482015260136024820152721c9958da5c194b9bdd5d1c1d5d105b5bdd5b9d606a1b6044820152606490fd5b3461054b57602036600319011261054b5760ff600435612dde8161062b565b1680158015612e02575b6107de575f52600460205260206109fe60405f2054613e7e565b5060648111612de8565b60041115612e1657565b634e487b7160e01b5f52602160045260245ffd5b3461054b575f36600319011261054b57612e4342613e26565b6040516004821015612e16576020918152f35b3461054b57604036600319011261054b57610b6a600435612e75610af5565b90805f525f8051602061511b833981519152602052612e9a600160405f20015461402a565b614ecf565b3461054b575f36600319011261054b57602060405160078152f35b3461054b57604036600319011261054b576020612edb602435600435613d1d565b604051908152f35b3461054b57602036600319011261054b5760ff600435612f028161062b565b5f604051612f0f8161109b565b521660c981108015612f36575b612739575f52600660205261060a611b0d60405f206135d8565b5060dc8111612f1c565b90604051612f4d81611060565b602060ff829454818116845260081c16910152565b3461054b57602036600319011261054b576004355f526002602052612fbb60405f20612f8d81611b64565b9061060a600182015491612fa6600261ffff9201612f40565b9060405195869560c0875260c0870190610587565b9363ffffffff81166020870152818160201c16604087015260301c166060850152608084019060ff60208092828151168552015116910152565b3461054b57602036600319011261054b5760ff6004356130148161062b565b1660658110801561303a575b6118ea575f52600560205260206109fe60405f2054613e7e565b5060c88111613020565b3461054b576020610ac1610abb36610f83565b3461054b575f36600319011261054b5760206040517f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e38152f35b6020916020825260a08201815160208401526020820151906040916040850152604083015194608060608601528551809252602060c086019601925f905b8382106130ee57505050505063ffffffff606060809201511691015290565b909192939683828261310d6001948c5160208091805184520151910152565b01980194939201906130cf565b3461054b5760208060031936011261054b576040905f6060835161313d816110d1565b8281528284820152818582015201526004355f5260088152815f2091805191613165836110d1565b835483526001808501548285015260028086019081549161318583613543565b9461319287519687611108565b8386525f9182528082208187015b8584106131dd575061060a89896131d36131c660038f8d85870152015463ffffffff1690565b63ffffffff166060840152565b5191829182613091565b848388926131ea856135a6565b8152019201930192906131a0565b634e487b7160e01b5f52601160045260245ffd5b6040519061321982611060565b5f6020838281520152565b6040519061323182611080565b81606081525f60208201525f60408201525f606082015261325061320c565b6080820152604051613261816110d1565b608036823760a082015260c06040519161327a836110d1565b60803684370152565b6060906020815260066020820152651cd95959125960d21b60408201520190565b90604051915461ffff908181168452818160101c166020850152818160201c16604085015260301c166060830152610827826110d1565b906040516132e881611080565b60c061334d600483956132fa81611b64565b8552600181015463ffffffff8116602087015261ffff90818160201c16604088015260301c16606086015261333160028201612f40565b6080860152613342600382016132a4565b60a0860152016132a4565b910152565b60405191905f835b6006821061336e57505050610827826110b6565b600160208192855481520193019101909161335a565b634e487b7160e01b5f52603260045260245ffd5b906004811015612b945760051b0190565b356106ef81611ce8565b5f915f5b600481106133c457505055565b909260206133f16001928635906133da82611ce8565b85851b60031b9161ffff809116831b921b19161790565b940191016133b7565b60658110159081613409575090565b60c89150111590565b60018110159081613421575090565b60649150111590565b9081602091031261054b575190565b6040513d5f823e3d90fd5b1561344b57565b60405162461bcd60e51b815260206004820152600c60248201526b24b73b30b634b2103a34b2b960a11b6044820152606490fd5b906006811015612b945760051b0190565b1561349757565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081cd95959125960921b6044820152606490fd5b6108279135906134dc82611ce8565b9061ffff1661ffff19825416179055565b906040516134fa816110b6565b60a06001829461350981611b64565b8452015461ffff908181166020850152818160101c166040850152818160201c166060850152818160301c16608085015260401c16910152565b6001600160401b03811161107b5760051b60200190565b9061356482613543565b6135716040519182611108565b8281528092613582601f1991613543565b0190602036910137565b9190811015612b945760051b0190565b356106ef8161062b565b906040516135b381611060565b602060018294805484520154910152565b8051821015612b945760209160051b010190565b906040516135e58161109b565b915461ffff168252565b6108279061361260a4356136028161062b565b825460ff191660ff909116178255565b60c4359061361f8261062b565b9061ff0082549160081b169061ff001916179055565b60ff168015801561368f575b6107de575f52600260205261368b61365b60405f206132db565b60ff606060c08301519461366e81612e0c565b61368061ffff96879485931690613398565b51169201511661414d565b1690565b5060648111613641565b909c9b9c9a999a9897989695969493949291927f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f006002815414613afa57600290556136e2613fd4565b6136ea614056565b5f5460ff16613ae85780158015613ade575b613aa55782158015613a9b575b613a625760148511613a2357601487116139e757601489116139ac575f5b818110613990575050505f5b818110613974575050505f5b818110613958575050505f5b81811061393c575050505f5b818110613920575050505f5b8181106138d0575050505f5b8181106137da5750505060015561378c600160ff195f5416175f55565b337f12a1c7be0c836deda4348baecdfb5dcfb75ed9e3268f177433d9651d7263c2a85f80a261082760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b60656137f36137ed611a11848688613ba6565b60ff1690565b1080156138b6575b6129ca5760208061380d838587613ba6565b013515612c8d5760409081613823848688613ba6565b0135156138855782918161387f9261383e600196888a613ba6565b01359161384c85888a613ba6565b013590613857611136565b928352820152612c3861386e611a1185888a613ba6565b60ff165f52600960205260405f2090565b0161376f565b505163d647364f60e01b81526020600482015260096024820152680787050657243726f760bc1b6044820152606490fd5b5060c860ff6138c9611a11848688613ba6565b16116137fb565b8061391a6138e16001938587613b95565b3560206138ef848789613b95565b0161391461390c60e0613903878a8c613b95565b019236906124f1565b91369061256e565b916140c8565b01613763565b806139366139316001938587613b73565b614d58565b01613757565b8061395261394d6001938587613b51565b614c73565b0161374b565b8061396e6139696001938587613b51565b614b85565b0161373f565b8061398a6139856001938587613b2f565b614a06565b01613733565b806139a66139a16001938587613b0c565b61447b565b01613727565b60405163d647364f60e01b81526020600482015260126024820152710e4cac6d2e0cae688c2e8c25cd8cadccee8d60731b6044820152606490fd5b60405163d647364f60e01b81526020600482015260136024820152720c4dedee6e8cae4e688c2e8c25cd8cadccee8d606b1b6044820152606490fd5b60405163d647364f60e01b81526020600482015260166024820152750cccae4e8d2d8d2f4cae4e688c2e8c25cd8cadccee8d60531b6044820152606490fd5b60405163d647364f60e01b815260206004820152601060248201526f0c6e4dee0e688c2e8c25cd8cadccee8d60831b6044820152606490fd5b5060648311613709565b60405163d647364f60e01b815260206004820152601060248201526f0e6cacac8e688c2e8c25cd8cadccee8d60831b6044820152606490fd5b50606481116136fc565b60405163839add6960e01b8152600490fd5b604051633ee5aeb560e01b8152600490fd5b9190811015612b945760051b810135906101fe198136030182121561054b570190565b9190811015612b945760051b8101359060fe198136030182121561054b570190565b9190811015612b945760051b81013590605e198136030182121561054b570190565b9190811015612b945760051b81013590607e198136030182121561054b570190565b9190811015612b94576101a0020190565b9190811015612b94576060020190565b60ff1660ff8114613bc75760010190565b6131f8565b5f198114613bc75760010190565b903590601e198136030182121561054b57018035906001600160401b03821161054b57602001918160061b3603831361054b57565b356106ef81611cda565b9080358255600160208201356001840155600280840190604091613c406040860186613bda565b939068010000000000000000851161107b578254858455808610613cc5575b50613c6e90925f5260205f2090565b5f925b858410613ca85750505050505050906003613c9160606108279401613c0f565b91019063ffffffff1663ffffffff19825416179055565b803582556020810135600183015592860192908401908201613c71565b6001600160ff1b038181168203613bc75786168603613bc757835f528460205f209160011b8201918760011b015b828110613d01575050613c5f565b5f81555f89820155018590613cf3565b8015613bc7575f190190565b5f52600a60205260405f20613d8b60206116e1600160405194613d3f86611060565b604051815463ffffffff9081811683528181881c1687840152818160401c166040840152818160601c166060840152818160801c16608084015260a01c1660a08201526109a4816110b6565b6005805b613da4575051511115613da0575f90565b5f90565b613daf81835161347f565b51831015613dc657613dc090613d11565b80613d8f565b91505090565b60ff1680158015613e1c575b6107de5760ff9161368b915f526002602052613df660405f206132db565b90602061ffff61368060a0850151613e0d85612e0c565b63ffffffff9788951690613398565b5060648111613dd8565b6001549081158015613e75575b613e6f5762093a8091613e4591614df8565b0480613e5057505f90565b60018103613e5e5750600190565b600203613e6a57600290565b600390565b50505f90565b50818110613e33565b60ff8111613e8c5760ff1690565b604490604051906306dfcc6560e41b8252600860048301526024820152fd5b335f9081527f44f2f79686c2bf155261c2ffef9628ab633e9f8ad5e78cca61feb0654afeabb8602052604090207f745191d59a0c5ecaf2331ad3570e4033c5b04de0434263ec14a70fce5475ab7f9060ff905b541615613f085750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b335f9081527f762c7c328dd70a077c65c77b60e4c38eed3d2f6aa056d4d0fa114aeff8234b56602052604090207fbf233dd2aafeb4d50879c4aa5c81e96d92f6e6945c906a58f9f2d1c1631b4b269060ff90613efe565b335f9081527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a8602052604090207f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e39060ff90613efe565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff161561400c57565b60405163e2517d3f60e01b81523360048201525f6024820152604490fd5b5f8181525f8051602061511b83398151915260209081526040808320338452909152902060ff90613efe565b60ff5f8051602061513b833981519152541661406e57565b60405163d93c066560e01b8152600490fd5b60015480156140c3576140939042615006565b63ffffffff908181116140a4571690565b604490604051906306dfcc6560e41b8252602060048301526024820152fd5b505f90565b91604051916140d683611060565b8252602092602083019182525f52600a60205260405f2091515f905f5b856006821061412857505050825551905f5b600681106141135750505050565b60019084845194019382828501015501614105565b600191929363ffffffff9081865116918560051b92831b921b191617930191016140f3565b9061ffff1690811561417157818102918183041490151715613bc7576103e8900490565b905090565b903590601e198136030182121561054b57018035906001600160401b03821161054b5760200191813603831361054b57565b919082604091031261054b576040516141c081611060565b602080829480356141d08161062b565b84520135916141de8361062b565b0152565b9190604051926141f1846110d1565b83906080810192831161054b57905b82821061420c57505050565b60208091833561421b81611ce8565b815201910190614200565b601f821161423357505050565b5f5260205f20906020601f840160051c8301931061426b575b601f0160051c01905b818110614260575050565b5f8155600101614255565b909150819061424c565b8151815460ff191660ff9182161782556108279260200151825461ff001916911660081b61ff0016179055565b5f915f5b600481106142b357505055565b909260206142db60019261ffff8751169085851b60031b9161ffff809116831b921b19161790565b940191016142a6565b91909182519283516001600160401b03811161107b5761430e816143088554611b2c565b85614226565b602080601f83116001146144065750916143488260c09360049561082798995f926143fb575b50508160011b915f199060031b1c19161790565b84555b6143d06001850161437c614366602085015163ffffffff1690565b825463ffffffff191663ffffffff909116178255565b6143ac61438e604085015161ffff1690565b825465ffff00000000191660209190911b65ffff0000000016178255565b6060830151815467ffff000000000000191660309190911b61ffff60301b16179055565b6143e1608082015160028601614275565b6143f260a0820151600386016142a2565b015191016142a2565b015190505f80614334565b90601f1983169661441a865f5260205f2090565b925f905b898210614463575050926004949260019260c095836108279a9b1061444b575b505050811b01845561434b565b01515f1960f88460031b161c191690555f808061443e565b8060018596829496860151815501950193019061441e565b9060ff91826144898261359c565b1615801561483c575b6107de5760a08101906065846144a78461359c565b16108015614828575b6118ea576040908181019263ffffffff806144ca86613c0f565b1615908115614811575b506147df57606082019461ffff91826144ec886133a9565b161580156147ca575b61479d57612710608085019361450a856133a9565b161161476f57602084019561451f8786614176565b90501561473e575f5b6004818b168181101561460457610bb8908161454e610c5f610c5a846101008e01613398565b116145bc57610c5f610c5a614567926101808c01613398565b1161457757506001018916614528565b6107f890885191829163d647364f60e01b83528201606090602081526015602082015274736561736f6e616c58704d756c7469706c6965727360581b60408201520190565b895163d647364f60e01b8152602081850181815260199181019190915278736561736f6e616c47726f7774684d756c7469706c6965727360381b604082015281906060010390fd5b5050509394614639929850966146786146c994614683939961466d61464561463f61463160e09d8d614176565b99909b613c0f565b966133a9565b936133a9565b9461465e60c08c019a614656611129565b99369161116b565b885263ffffffff166020880152565b85019061ffff169052565b61ffff166060830152565b61468d36846141a8565b60808201526146a03661010086016141e2565b60a08201526146b33661018086016141e2565b60c08201526146c4610d458561359c565b6142e4565b6146d56137ed8561359c565b6146e1611e888461359c565b556146ee6137ed8261359c565b614725575b5001906147026137ed8361359c565b61470a575050565b611e8861471c6137ed6147229361359c565b9261359c565b55565b614737611e8861471c6137ed8761359c565b555f6146f3565b855163d647364f60e01b8152602060048201526009602482015268736565642e6e616d6560b81b6044820152606490fd5b845163d647364f60e01b815260206004820152600660248201526506261736558760d41b6044820152606490fd5b845163d647364f60e01b81526020600482015260056024820152641e5a595b1960da1b6044820152606490fd5b50612710836147d8896133a9565b16116144f5565b825163d647364f60e01b815260206004820152600a60248201526967726f77746854696d6560b01b6044820152606490fd5b6202a300915061482086613c0f565b16115f6144d4565b5060c8846148358461359c565b16116144b0565b506064836148498361359c565b1611614492565b919080519283516001600160401b03811161107b57614879816148738454611b2c565b84614226565b602080601f831160011461498f5750614974926148b58360a094600194610827999a5f926143fb5750508160011b915f199060031b1c19161790565b81555b01926148de6148cc602083015161ffff1690565b855461ffff191661ffff909116178555565b61490a6148f0604083015161ffff1690565b855463ffff0000191660109190911b63ffff000016178555565b61493a61491c606083015161ffff1690565b855465ffff00000000191660209190911b65ffff0000000016178555565b61496b61494c608083015161ffff1690565b855467ffff000000000000191660309190911b61ffff60301b16178555565b015161ffff1690565b61ffff60401b82549160401b169061ffff60401b1916179055565b90601f198316966149a3855f5260205f2090565b925f905b8982106149ee575050836001936149749693859360a0976108279b9c106149d6575b505050811b0181556148b8565b01515f1960f88460031b161c191690555f80806149c9565b806001859682949686015181550195019301906149a7565b606560ff614a138361359c565b16108015614b70575b6118ea5760e0810160ff614a2f8261359c565b16158015614b5b575b6123d75760208201614a4a8184614176565b905015614b295761471c6137ed61472293611a11614b07614a6e61239d9689614176565b9190614afc8a614af1614a83604083016133a9565b614ae6614a92606085016133a9565b614adb614aa1608087016133a9565b93614ace614abd60c0614ab660a08b016133a9565b99016133a9565b99614ac6611143565b9c369161116b565b8b5261ffff1660208b0152565b61ffff166040890152565b61ffff166060870152565b61ffff166080850152565b61ffff1660a0830152565b614b24614b138961359c565b60ff165f52600360205260405f2090565b614850565b60405163d647364f60e01b815260206004820152600960248201526863726f702e6e616d6560b81b6044820152606490fd5b50606460ff614b698361359c565b1611614a38565b5060c860ff614b7e8361359c565b1611614a1c565b60c960ff614b928361359c565b16108015614c5e575b6117ea57614bac6020820182614176565b905015614c2657604081016103e861ffff614bc6836133a9565b1610614bec5761178e614bdb6108279361359c565b60ff165f52600760205260405f2090565b60405163d647364f60e01b815260206004820152601160248201527019995c9d1a5b1a5e995c8b9959999958dd607a1b6044820152606490fd5b60405163d647364f60e01b815260206004820152600f60248201526e66657274696c697a65722e6e616d6560881b6044820152606490fd5b5060dc60ff614c6c8361359c565b1611614b9b565b60c960ff614c808361359c565b16108015614d43575b61273957614c9a6020820182614176565b905015614d0e576040810161ffff614cb1826133a9565b1615614cd75761178e614cc66108279361359c565b60ff165f52600660205260405f2090565b60405163d647364f60e01b815260206004820152600e60248201526d189bdbdcdd195c8b9959999958dd60921b6044820152606490fd5b60405163d647364f60e01b815260206004820152600c60248201526b626f6f737465722e6e616d6560a01b6044820152606490fd5b5060dc60ff614d518361359c565b1611614c89565b602081013515614dc357614d6f6040820182613bda565b905015614d8d5780612d4161082792355f52600860205260405f2090565b60405163d647364f60e01b815260206004820152600d60248201526c0d2dce0eae8e65cd8cadccee8d609b1b6044820152606490fd5b60405163d647364f60e01b815260206004820152600c60248201526b1bdd5d1c1d5d105b5bdd5b9d60a21b6044820152606490fd5b90808210808015614e33575b8015614e2c575b614e2557613e6f578103908111613bc7576224ea00900690565b5050505f90565b505f614e0b565b508115614e04565b5f8181525f8051602061511b833981519152602081815260408084206001600160a01b03871685529091529091205460ff16614e25575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5f8181525f8051602061511b833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615614e25575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b90813b15614fe5575f805160206150fb83398151915280546001600160a01b0319166001600160a01b0384169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2805115614fca57614fc791615057565b50565b505034614fd357565b60405163b398979f60e01b8152600490fd5b604051634c9c8ce360e01b81526001600160a01b0383166004820152602490fd5b9080821080801561504f575b8015615048575b614e2557613e6f578103908111613bc75762093a8090046001198110156140c35760018101809111613bc75790565b505f615019565b508115615012565b5f806106ef93602081519101845af43d15615093573d9161507783611150565b926150856040519485611108565b83523d5f602085013e615097565b6060915b906150be57508051156150ac57602081519101fd5b60405163d6bda27560e01b8152600490fd5b815115806150f1575b6150cf575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156150c756fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800cd5ed15c6e187e77e9aee88184c21f4f2182ab5827cb3b7e07fbedcd63f03300a26469706673582212204c2b84480f698ad7793d857efe350b1d709fba315736d950cc78321784e525c464736f6c63430008180033
🤖 Code Reader
Generate instant answers for your smart contract questions using Al Models. Read more.
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 30 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.

