[ { "inputs": [ { "internalType": "address", "name": "admin", "type": "address" }, { "internalType": "address", "name": "underlyingAsset_", "type": "address" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "_treasury", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "AllowanceOverflow", "type": "error" }, { "inputs": [], "name": "AllowanceUnderflow", "type": "error" }, { "inputs": [], "name": "AlreadyInitialized", "type": "error" }, { "inputs": [], "name": "DepositMoreThanMax", "type": "error" }, { "inputs": [], "name": "FeesAlreadyAssesed", "type": "error" }, { "inputs": [], "name": "InsufficientAllowance", "type": "error" }, { "inputs": [], "name": "InsufficientBalance", "type": "error" }, { "inputs": [], "name": "InvalidDebtRatio", "type": "error" }, { "inputs": [], "name": "InvalidManagementFee", "type": "error" }, { "inputs": [], "name": "InvalidMinDebtPerHarvest", "type": "error" }, { "inputs": [], "name": "InvalidPerformanceFee", "type": "error" }, { "inputs": [], "name": "InvalidPermit", "type": "error" }, { "inputs": [], "name": "InvalidQueueOrder", "type": "error" }, { "inputs": [], "name": "InvalidReportedGainAndDebtPayment", "type": "error" }, { "inputs": [], "name": "InvalidStrategyUnderlying", "type": "error" }, { "inputs": [], "name": "InvalidStrategyVault", "type": "error" }, { "inputs": [], "name": "InvalidZeroAddress", "type": "error" }, { "inputs": [], "name": "InvalidZeroAmount", "type": "error" }, { "inputs": [], "name": "InvalidZeroShares", "type": "error" }, { "inputs": [], "name": "LossGreaterThanStrategyTotalDebt", "type": "error" }, { "inputs": [], "name": "MintMoreThanMax", "type": "error" }, { "inputs": [], "name": "NewOwnerIsZeroAddress", "type": "error" }, { "inputs": [], "name": "NoHandoverRequest", "type": "error" }, { "inputs": [], "name": "PermitExpired", "type": "error" }, { "inputs": [], "name": "QueueIsFull", "type": "error" }, { "inputs": [], "name": "RedeemMoreThanMax", "type": "error" }, { "inputs": [], "name": "ReentrantCall", "type": "error" }, { "inputs": [], "name": "StrategyAlreadyActive", "type": "error" }, { "inputs": [], "name": "StrategyDebtRatioAlreadyZero", "type": "error" }, { "inputs": [], "name": "StrategyInEmergencyExitMode", "type": "error" }, { "inputs": [], "name": "StrategyNotActive", "type": "error" }, { "inputs": [], "name": "TotalSupplyOverflow", "type": "error" }, { "inputs": [], "name": "Unauthorized", "type": "error" }, { "inputs": [], "name": "VaultDepositLimitExceeded", "type": "error" }, { "inputs": [], "name": "VaultInEmergencyShutdownMode", "type": "error" }, { "inputs": [], "name": "WithdrawMoreThanMax", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "isEnabled", "type": "bool" } ], "name": "AutopilotEnabled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "by", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "assets", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "Deposit", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newDepositLimit", "type": "uint256" } ], "name": "DepositLimitUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "bool", "name": "emergencyShutdown", "type": "bool" } ], "name": "EmergencyShutdownUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "managementFee", "type": "uint256" }, { "indexed": false, "internalType": "uint16", "name": "performanceFee", "type": "uint16" }, { "indexed": false, "internalType": "uint256", "name": "strategistFee", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "duration", "type": "uint256" } ], "name": "FeesReported", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" }, { "indexed": false, "internalType": "bytes", "name": "reason", "type": "bytes" } ], "name": "ForceHarvestFailed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "newManagementFee", "type": "uint256" } ], "name": "ManagementFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "OwnershipHandoverRequested", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "oldOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint16", "name": "newPerformanceFee", "type": "uint16" } ], "name": "PerformanceFeeUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "RolesUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newStrategy", "type": "address" }, { "indexed": false, "internalType": "uint16", "name": "strategyDebtRatio", "type": "uint16" }, { "indexed": false, "internalType": "uint128", "name": "strategyMaxDebtPerHarvest", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "strategyMinDebtPerHarvest", "type": "uint128" }, { "indexed": false, "internalType": "uint16", "name": "strategyPerformanceFee", "type": "uint16" } ], "name": "StrategyAdded", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "withdrawn", "type": "uint256" } ], "name": "StrategyExited", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" } ], "name": "StrategyRemoved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "unrealizedGain", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "loss", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "debtPayment", "type": "uint256" }, { "indexed": false, "internalType": "uint128", "name": "strategyTotalUnrealizedGain", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "strategyTotalLoss", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "strategyTotalDebt", "type": "uint128" }, { "indexed": false, "internalType": "uint256", "name": "credit", "type": "uint256" }, { "indexed": false, "internalType": "uint16", "name": "strategyDebtRatio", "type": "uint16" } ], "name": "StrategyReported", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" } ], "name": "StrategyRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" }, { "indexed": false, "internalType": "uint16", "name": "newDebtRatio", "type": "uint16" }, { "indexed": false, "internalType": "uint128", "name": "newMaxDebtPerHarvest", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "newMinDebtPerHarvest", "type": "uint128" }, { "indexed": false, "internalType": "uint16", "name": "newPerformanceFee", "type": "uint16" } ], "name": "StrategyUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "treasury", "type": "address" } ], "name": "TreasuryUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "by", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "assets", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "Withdraw", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "strategy", "type": "address" }, { "indexed": false, "internalType": "uint128", "name": "strategyTotalDebt", "type": "uint128" }, { "indexed": false, "internalType": "uint128", "name": "loss", "type": "uint128" } ], "name": "WithdrawFromStrategy", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address[20]", "name": "withdrawalQueue", "type": "address[20]" } ], "name": "WithdrawalQueueUpdated", "type": "event" }, { "inputs": [], "name": "ADMIN_ROLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "AUTOPILOT_HARVEST_INTERVAL", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "result", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "EMERGENCY_ADMIN_ROLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAXIMUM_STRATEGIES", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_BPS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SECS_PER_YEAR", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "STRATEGY_ROLE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newStrategy", "type": "address" }, { "internalType": "uint256", "name": "strategyDebtRatio", "type": "uint256" }, { "internalType": "uint256", "name": "strategyMaxDebtPerHarvest", "type": "uint256" }, { "internalType": "uint256", "name": "strategyMinDebtPerHarvest", "type": "uint256" }, { "internalType": "uint256", "name": "strategyPerformanceFee", "type": "uint256" } ], "name": "addStrategy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "asset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "autoPilotEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cancelOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "completeOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "convertToAssets", "outputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "name": "convertToShares", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" } ], "name": "creditAvailable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" } ], "name": "debtOutstanding", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "debtRatio", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "depositLimit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "emergencyShutdown", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" } ], "name": "exitStrategy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" } ], "name": "getStrategyTotalDebt", "outputs": [ { "internalType": "uint256", "name": "strategyTotalDebt", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "grantRoles", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "hasAllRoles", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "hasAnyRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastReport", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "managementFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "maxDeposit", "outputs": [ { "internalType": "uint256", "name": "maxAssets", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "maxShares", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "maxShares", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "maxAssets", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "mint", "outputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "nexHarvestStrategyIndex", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "result", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "pendingOwner", "type": "address" } ], "name": "ownershipHandoverExpiresAt", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "performanceFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "name": "previewDeposit", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "previewMint", "outputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "name": "previewRedeem", "outputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "name": "previewWithdraw", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" } ], "name": "removeStrategy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "renounceRoles", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint128", "name": "unrealizedGain", "type": "uint128" }, { "internalType": "uint128", "name": "loss", "type": "uint128" }, { "internalType": "uint128", "name": "debtPayment", "type": "uint128" }, { "internalType": "address", "name": "managementFeeReceiver", "type": "address" } ], "name": "report", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "requestOwnershipHandover", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" }, { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "name": "revokeRoles", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" } ], "name": "revokeStrategy", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "rolesOf", "outputs": [ { "internalType": "uint256", "name": "roles", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_autoPilot", "type": "bool" } ], "name": "setAutoPilot", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_autoPilotEnabled", "type": "bool" } ], "name": "setAutopilotEnabled", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_depositLimit", "type": "uint256" } ], "name": "setDepositLimit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_emergencyShutdown", "type": "bool" } ], "name": "setEmergencyShutdown", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_managementFee", "type": "uint256" } ], "name": "setManagementFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_performanceFee", "type": "uint256" } ], "name": "setPerformanceFee", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_treasury", "type": "address" } ], "name": "setTreasury", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[20]", "name": "queue", "type": "address[20]" } ], "name": "setWithdrawalQueue", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sharePrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "strategies", "outputs": [ { "internalType": "uint16", "name": "strategyDebtRatio", "type": "uint16" }, { "internalType": "uint16", "name": "strategyPerformanceFee", "type": "uint16" }, { "internalType": "uint48", "name": "strategyActivation", "type": "uint48" }, { "internalType": "uint48", "name": "strategyLastReport", "type": "uint48" }, { "internalType": "uint128", "name": "strategyMaxDebtPerHarvest", "type": "uint128" }, { "internalType": "uint128", "name": "strategyMinDebtPerHarvest", "type": "uint128" }, { "internalType": "uint128", "name": "strategyTotalUnrealizedGain", "type": "uint128" }, { "internalType": "uint128", "name": "strategyTotalDebt", "type": "uint128" }, { "internalType": "uint128", "name": "strategyTotalLoss", "type": "uint128" }, { "internalType": "bool", "name": "autoPilot", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDeposits", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalIdle", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "treasury", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "strategy", "type": "address" }, { "internalType": "uint256", "name": "newDebtRatio", "type": "uint256" }, { "internalType": "uint256", "name": "newMaxDebtPerHarvest", "type": "uint256" }, { "internalType": "uint256", "name": "newMinDebtPerHarvest", "type": "uint256" }, { "internalType": "uint256", "name": "newPerformanceFee", "type": "uint256" } ], "name": "updateStrategyData", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "assets", "type": "uint256" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "shares", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "withdrawalQueue", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60c060405260015f55348015610013575f80fd5b50604051614e06380380614e0683398101604081905261003291610280565b61003b856100e0565b61004685600161011b565b6103e8601d5560c8601e55426006555f806100608661012b565b9150915081610070576012610072565b805b60ff16608081905261008590600a610406565b610092906298968061041b565b600255600780546001600160a01b0319166001600160a01b0385811691909117909155861660a052601f6100c686826104b6565b5060206100d385826104b6565b5050505050505050610575565b6001600160a01b0316638b78c6d819819055805f7f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a350565b61012782826001610157565b5050565b5f8063313ce5675f5260205f6004601c865afa601f3d116101005f511016169150815f51029050915091565b638b78c6d8600c52825f526020600c20805483811783610178575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b80516001600160a01b03811681146101c4575f80fd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126101ec575f80fd5b81516001600160401b0380821115610206576102066101c9565b604051601f8301601f19908116603f0116810190828211818310171561022e5761022e6101c9565b816040528381526020925086602085880101111561024a575f80fd5b5f91505b8382101561026b578582018301518183018401529082019061024e565b5f602085830101528094505050505092915050565b5f805f805f60a08688031215610294575f80fd5b61029d866101ae565b94506102ab602087016101ae565b60408701519094506001600160401b03808211156102c7575f80fd5b6102d389838a016101dd565b945060608801519150808211156102e8575f80fd5b506102f5888289016101dd565b925050610304608087016101ae565b90509295509295909350565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561035e57815f190482111561034457610344610310565b8085161561035157918102915b93841c9390800290610329565b509250929050565b5f8261037457506001610400565b8161038057505f610400565b816001811461039657600281146103a0576103bc565b6001915050610400565b60ff8411156103b1576103b1610310565b50506001821b610400565b5060208310610133831016604e8410600b84101617156103df575081810a610400565b6103e98383610324565b805f19048211156103fc576103fc610310565b0290505b92915050565b5f61041460ff841683610366565b9392505050565b808202811582820484141761040057610400610310565b600181811c9082168061044657607f821691505b60208210810361046457634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156104b157805f5260205f20601f840160051c8101602085101561048f5750805b601f840160051c820191505b818110156104ae575f815560010161049b565b50505b505050565b81516001600160401b038111156104cf576104cf6101c9565b6104e3816104dd8454610432565b8461046a565b602080601f831160018114610516575f84156104ff5750858301515b5f19600386901b1c1916600185901b17855561056d565b5f85815260208120601f198616915b8281101561054457888601518255948401946001909101908401610525565b508582101561056157878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b60805160a0516148466105c05f395f81816106e00152818161134501528181611bc301528181611e0a01528181612f8d015281816136bd0152613a9f01525f6117e301526148465ff3fe608060405260043610610463575f3560e01c806380919dd511610241578063c822adda11610134578063e5bc6947116100b3578063f2fde38b11610078578063f2fde38b14610e0f578063fc7b9c1814610e22578063fd967f4714610e37578063fe56e23214610e4c578063fee81cf414610e6b575f80fd5b8063e5bc694714610d8a578063ecf7085814610da9578063ef8b30f714610dbe578063f04e283e14610ddd578063f0f4426014610df0575f80fd5b8063d81d5e87116100f9578063d81d5e8714610cc2578063d905777e14610cf9578063da0bd2d414610d18578063dd62ed3e14610d37578063de6b5ea214610d6b575f80fd5b8063c822adda14610c31578063ce96cb7714610c50578063cea55f5714610c6f578063d505accf14610c84578063d764801314610ca3575f80fd5b8063b3d7f6b9116101c0578063bdcf36bb11610185578063bdcf36bb14610ba0578063bf034e5014610bbf578063c3535b5214610bde578063c63d75b614610bf3578063c6e6f59214610c12575f80fd5b8063b3d7f6b914610b05578063b460af9414610b24578063ba08765214610b43578063bb994d4814610b62578063bdc8144b14610b81575f80fd5b806394bf804d1161020657806394bf804d14610a8957806395d89b4114610aa85780639aa7df9414610abc578063a6f7f5d614610ad1578063a9059cbb14610ae6575f80fd5b806380919dd514610a0a5780638726972914610a295780638778878214610a3d5780638da5cb5b14610a525780639414841514610a6a575f80fd5b806338d52e0f116103595780636e553f65116102d85780637540ff4e1161029d5780637540ff4e1461098757806375b238fc1461099d578063772d2312146109b15780637d882097146109c55780637ecebe00146109d9575f80fd5b80636e553f65146108fc5780636e76fc8f1461091b57806370897b231461092f57806370a082311461094e578063715018a61461097f575f80fd5b8063514e62fc1161031e578063514e62fc1461086d57806354d1f13d146108a2578063580b7c2e146108aa578063607e2f00146108be57806361d027b3146108dd575f80fd5b806338d52e0f146106d257806339ebf82314610718578063402d267d1461081c5780634a4ee7b11461083b5780634cdad5061461084e575f80fd5b80631c10893f116103e557806328998af0116103aa57806328998af0146106375780632de948071461064e578063313ce5671461067f5780633403c2fc146106a55780633644e515146106be575f80fd5b80631c10893f146105aa5780631cd64df4146105bd5780631eb7f3ed146105f257806323b872dd14610610578063256929621461062f575f80fd5b806314b4e26e1161042b57806314b4e26e1461051c57806314c644021461053d578063175188e81461055c57806318160ddd1461057b578063183a4f6e14610597575f80fd5b806301e1d1141461046757806306fdde031461048e57806307a2d13a146104af578063095ea7b3146104ce5780630a28a477146104fd575b5f80fd5b348015610472575f80fd5b5061047b610e9c565b6040519081526020015b60405180910390f35b348015610499575f80fd5b506104a2610eaa565b60405161048591906142ac565b3480156104ba575f80fd5b5061047b6104c93660046142be565b610f3a565b3480156104d9575f80fd5b506104ed6104e83660046142e9565b610f80565b6040519015158152602001610485565b348015610508575f80fd5b5061047b6105173660046142be565b610fd0565b348015610527575f80fd5b5061053b610536366004614313565b61123d565b005b348015610548575f80fd5b5061053b610557366004614353565b61155c565b348015610567575f80fd5b5061053b610576366004614372565b6115a3565b348015610586575f80fd5b506805345cdf77eb68f44c5461047b565b61053b6105a53660046142be565b6116c8565b61053b6105b83660046142e9565b6116d5565b3480156105c8575f80fd5b506104ed6105d73660046142e9565b638b78c6d8600c9081525f9290925260209091205481161490565b3480156105fd575f80fd5b506001546104ed90610100900460ff1681565b34801561061b575f80fd5b506104ed61062a36600461438d565b6116e7565b61053b61178e565b348015610642575f80fd5b5061047b6301e1855881565b348015610659575f80fd5b5061047b610668366004614372565b638b78c6d8600c9081525f91909152602090205490565b34801561068a575f80fd5b506106936117db565b60405160ff9091168152602001610485565b3480156106b0575f80fd5b506001546104ed9060ff1681565b3480156106c9575f80fd5b5061047b611807565b3480156106dd575f80fd5b507f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610485565b348015610723575f80fd5b506107ae610732366004614372565b60086020525f9081526040902080546001820154600283015460039093015461ffff808416946201000085049091169365ffffffffffff6401000000008204811694600160501b8304909116936001600160801b03600160801b9384900481169483821694938490048216938183169391049091169060ff168a565b6040805161ffff9b8c1681529a90991660208b015265ffffffffffff978816988a01989098529590941660608801526001600160801b03928316608088015290821660a0870152811660c086015290811660e085015216610100830152151561012082015261014001610485565b348015610827575f80fd5b5061047b610836366004614372565b611883565b61053b6108493660046142e9565b611897565b348015610859575f80fd5b5061047b6108683660046142be565b6118a9565b348015610878575f80fd5b506104ed6108873660046142e9565b638b78c6d8600c9081525f9290925260209091205416151590565b61053b611a3c565b3480156108b5575f80fd5b5061047b600481565b3480156108c9575f80fd5b5061053b6108d8366004614353565b611a75565b3480156108e8575f80fd5b50600754610700906001600160a01b031681565b348015610907575f80fd5b5061047b6109163660046143cb565b611ac1565b348015610926575f80fd5b5061047b600281565b34801561093a575f80fd5b5061053b6109493660046142be565b611b44565b348015610959575f80fd5b5061047b610968366004614372565b6387a211a2600c9081525f91909152602090205490565b61053b611b99565b348015610992575f80fd5b5061047b62093a8081565b3480156109a8575f80fd5b5061047b600181565b3480156109bc575f80fd5b5061047b601481565b3480156109d0575f80fd5b5061047b611bac565b3480156109e4575f80fd5b5061047b6109f3366004614372565b6338377508600c9081525f91909152602090205490565b348015610a15575f80fd5b5061047b610a24366004614414565b611bb5565b348015610a34575f80fd5b5061047b6120ae565b348015610a48575f80fd5b5061047b601d5481565b348015610a5d575f80fd5b50638b78c6d81954610700565b348015610a75575f80fd5b5061053b610a84366004614467565b6120c5565b348015610a94575f80fd5b5061047b610aa33660046143cb565b61217f565b348015610ab3575f80fd5b506104a26121f7565b348015610ac7575f80fd5b5061047b60045481565b348015610adc575f80fd5b5061047b601e5481565b348015610af1575f80fd5b506104ed610b003660046142e9565b612206565b348015610b10575f80fd5b5061047b610b1f3660046142be565b61226a565b348015610b2f575f80fd5b5061047b610b3e36600461448f565b6122a4565b348015610b4e575f80fd5b5061047b610b5d36600461448f565b612308565b348015610b6d575f80fd5b5061053b610b7c366004614372565b612360565b348015610b8c575f80fd5b5061053b610b9b3660046142be565b6123b3565b348015610bab575f80fd5b5061047b610bba366004614372565b6123f1565b348015610bca575f80fd5b506001546106939062010000900460ff1681565b348015610be9575f80fd5b5061047b60065481565b348015610bfe575f80fd5b5061047b610c0d366004614372565b6123fb565b348015610c1d575f80fd5b5061047b610c2c3660046142be565b612408565b348015610c3c575f80fd5b50610700610c4b3660046142be565b612440565b348015610c5b575f80fd5b5061047b610c6a366004614372565b61245f565b348015610c7a575f80fd5b5061047b60035481565b348015610c8f575f80fd5b5061053b610c9e3660046144ce565b61255c565b348015610cae575f80fd5b5061047b610cbd366004614372565b6126de565b348015610ccd575f80fd5b5061047b610cdc366004614372565b5f908152600860205260409020600201546001600160801b031690565b348015610d04575f80fd5b5061047b610d13366004614372565b6126e8565b348015610d23575f80fd5b5061053b610d32366004614372565b612701565b348015610d42575f80fd5b5061047b610d5136600461453f565b602052637f5e9f20600c9081525f91909152603490205490565b348015610d76575f80fd5b5061053b610d85366004614353565b6129b7565b348015610d95575f80fd5b5061053b610da4366004614313565b6129e5565b348015610db4575f80fd5b5061047b60025481565b348015610dc9575f80fd5b5061047b610dd83660046142be565b612b8d565b61053b610deb366004614372565b612b97565b348015610dfb575f80fd5b5061053b610e0a366004614372565b612bd1565b61053b610e1d366004614372565b612c25565b348015610e2d575f80fd5b5061047b60055481565b348015610e42575f80fd5b5061047b61271081565b348015610e57575f80fd5b5061053b610e663660046142be565b612c4b565b348015610e76575f80fd5b5061047b610e85366004614372565b63389a75e1600c9081525f91909152602090205490565b5f610ea5612ca0565b905090565b6060601f8054610eb99061456b565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee59061456b565b8015610f305780601f10610f0757610100808354040283529160200191610f30565b820191905f5260205f20905b815481529060010190602001808311610f1357829003601f168201915b5050505050905090565b5f6006610f7983610f49612ca0565b610f549060016145b1565b610f5f84600a6146a4565b6805345cdf77eb68f44c54610f7491906145b1565b612d92565b9392505050565b5f82602052637f5e9f20600c52335f52816034600c2055815f52602c5160601c337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa35060015b92915050565b5f815f03610fdf57505f919050565b5f198203611005576387a211a2600c908152335f52602090205461100290610f3a565b91505b5f61100e612ca0565b60045490915060066110488561102583600a6146a4565b6805345cdf77eb68f44c5461103a91906145b1565b60018601612e2e565b612e2e565b935081851115611208575f805b60148110156111cc575f60098260148110611072576110726146af565b01546001600160a01b031690508061108a57506111cc565b87851061109757506111cc565b5f6110a2868a6146c3565b905061111381836001600160a01b0316638f843dd16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061110891906146d6565b808218908211021890565b9050805f03611126575050600101611055565b60405163ada6608b60e01b8152600481018290525f906001600160a01b0384169063ada6608b90602401602060405180830381865afa15801561116b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061118f91906146d6565b90505f61119c83836146c3565b90506111a883896145b1565b975080156111bd576111ba81876145b1565b95505b84600101945050505050611055565b506111fa816111dc84600a6146a4565b6805345cdf77eb68f44c546111f191906145b1565b60018701612e2e565b61120490866145b1565b9450505b848210156112355761122861121d83876146c3565b61102583600a6146a4565b61123290856145b1565b93505b505050919050565b600161124881612e5a565b60015460ff161561126c576040516304aca5db60e01b815260040160405180910390fd5b601c545f90156112835763a3d0cff35f526004601cfd5b866112955763f6b2911f5f526004601cfd5b865f52600860205260405f209050805460b01b60d01c156112bd5763c976754d5f526004601cfd5b306001600160a01b0316876001600160a01b031663fbfa77cf6040518163ffffffff1660e01b81526004016020604051808303815f875af1158015611304573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061132891906146ed565b6001600160a01b0316146113435763ac4e07735f526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b0316637158da7c6040518163ffffffff1660e01b81526004016020604051808303815f875af11580156113aa573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113ce91906146ed565b6001600160a01b0316146113e95763f083d3f15f526004601cfd5b5f6001600160a01b0316876001600160a01b0316631fe4a6866040518163ffffffff1660e01b8152600401602060405180830381865afa15801561142f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061145391906146ed565b6001600160a01b03160361146e5763eb8bf8b65f526004601cfd5b60035486810187811015611480575f80fd5b612710811115611497576379facb0d5f526004601cfd5b50858511156114ad57635f3bd9535f526004601cfd5b6113888411156114c45763f14508d05f526004601cfd5b8661ffff168461ffff1660101b174265ffffffffffff1660201b174265ffffffffffff1660501b178660801b1782558460801b60801c600183015561150a886004612e7e565b808701600355601c88905561151d612e8a565b865f52856020528460405283606052877f66277e61c003f7703009ad857a4c4900f9cd3ee44535afe5905f98d53922e0f460805fa25050505050505050565b600261156781612e5a565b6001805460ff19168315151790555f8281527fa63137c77816d51f856c11ffb11e84757ac9db0ce2569f94edd04c91fe2250a190602090a15050565b60016115ae81612e5a565b60015460ff16156115d2576040516304aca5db60e01b815260040160405180910390fd5b604080516102808101918290525f9160099060149082845b81546001600160a01b031681526001909101906020018083116115ea57505050505090505f5b60148110156116c157836001600160a01b0316828260148110611635576116356146af565b60200201516001600160a01b0316036116b9575f6009826014811061165c5761165c6146af565b0180546001600160a01b0319166001600160a01b0392909216919091179055611686846004612f46565b61168e612e8a565b837f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea45f80a250505050565b600101611610565b50505b5050565b6116d23382612f46565b50565b6116dd612f51565b6116c48282612e7e565b5f8360601b33602052637f5e9f208117600c526034600c2080546001810115611725578085111561171f576313be252b5f526004601cfd5b84810382555b50506387a211a28117600c526020600c2080548085111561174d5763f4d678b85f526004601cfd5b84810382555050835f526020600c208381540181555082602052600c5160601c8160601c5f805160206147f1833981519152602080a3505060019392505050565b5f6202a30067ffffffffffffffff164201905063389a75e1600c52335f52806020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d5f80a250565b5f610ea560067f0000000000000000000000000000000000000000000000000000000000000000614708565b5f80611811610eaa565b8051906020012090506040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81528160208201527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604082015246606082015230608082015260a081209250505090565b5f610fca600254611892610e9c565b612f6b565b61189f612f51565b6116c48282612f46565b5f815f036118b857505f919050565b5f1982036118d5576387a211a2600c908152335f52602090205491505b6118de82610f3a565b6004549091508181106118f15750919050565b5f5b6014811015611a34575f60098260148110611910576119106146af565b01546001600160a01b03169050806119285750611a34565b8383106119355750611a34565b5f838503905061197b81836001600160a01b031663a2b20eec6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b9050805f0361198e5750506001016118f3565b60405163b842898f60e01b8152600481018290525f906001600160a01b0384169063b842898f90602401602060405180830381865afa1580156119d3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119f791906146d6565b90505f611a0482846146c3565b9050611a1082876145b1565b95508015611a2557611a2281886146c3565b96505b846001019450505050506118f3565b505b50919050565b63389a75e1600c52335f525f6020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c925f80a2565b6001611a8081612e5a565b6001805461ff001916610100841515021790555f8281527fba59cddbbe4aad399b09d7f484fdd0a4bc54da6a697a48549cbe72d79c66fcb390602090a15050565b6001545f9060ff1615611ae7576040516304aca5db60e01b815260040160405180910390fd5b60025f5403611afd576337ed32e85f526004601cfd5b60025f555f611b0b33611883565b905080841115611b2257630c11966b5f526004601cfd5b611b39338486611b3188612b8d565b955085612f85565b5060015f5592915050565b6001611b4f81612e5a565b611388821115611b665763f14508d05f526004601cfd5b81601d81905550815f527f0632b4ddf7c06e7e3bc19b7ce92862c7de91b312a392142116fb574a06a47cfd60205fa15050565b611ba1612f51565b611baa5f6130e8565b565b5f610ea5613125565b5f6004611bc181612e5a565b7f00000000000000000000000000000000000000000000000000000000000000005f611bed823361313e565b905085811015611c045763746feeec5f526004601cfd5b6001600160801b03871615611c2657611c2633886001600160801b0316613168565b5f611c3b338a6001600160801b031688613248565b335f90815260086020526040902060010180549192508a91601090611c71908490600160801b90046001600160801b0316614721565b92506101000a8154816001600160801b0302191690836001600160801b031602179055505f611c9f3361347f565b335f908152600860205260409020600201546001600160801b03998a16908a168181188183110282189a929350918a1615611d5857335f90815260086020526040812060020180548c9290611cfe9084906001600160801b0316614748565b92506101000a8154816001600160801b0302191690836001600160801b03160217905550896001600160801b031660055f828254611d3c91906146c3565b90915550611d5590506001600160801b038b16836146c3565b91505b8215611dc357335f9081526008602052604081206002018054859290611d889084906001600160801b0316614721565b92506101000a8154816001600160801b0302191690836001600160801b031602179055508260055f828254611dbd91906145b1565b90915550505b80831115611deb576004805482850390819003909155611de69087903390613595565b611e3b565b82811115611e3b5760048054848303908101909155611e3b90339030907f00000000000000000000000000000000000000000000000000000000000000005b6001600160a01b03169291906135d5565b4260085f336001600160a01b03166001600160a01b031681526020019081526020015f205f01600a6101000a81548165ffffffffffff021916908365ffffffffffff16021790555042600681905550336001600160a01b03167fc2d7e1173e37528dce423c72b129fa1ad2c5d51e50974c64fe13f1928eb27f898d8d8d60085f336001600160a01b03166001600160a01b031681526020019081526020015f2060010160109054906101000a90046001600160801b031660085f336001600160a01b03166001600160a01b031681526020019081526020015f2060020160109054906101000a90046001600160801b031660085f336001600160a01b03166001600160a01b031681526020019081526020015f206002015f9054906101000a90046001600160801b03168a60085f336001600160a01b03166001600160a01b031681526020019081526020015f205f015f9054906101000a900461ffff16604051611ff89897969594939291906001600160801b039889168152968816602088015294871660408701529286166060860152908516608085015290931660a083015260c082019290925261ffff9190911660e08201526101000190565b60405180910390a2335f9081526008602052604090205461ffff161580612021575060015460ff165b1561209357336001600160a01b031663efbb5cb06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612062573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061208691906146d6565b97505050505050506120a5565b61209c33613624565b97505050505050505b50949350505050565b5f610ea56120ba6117db565b6104c990600a614768565b60016120d081612e5a565b5f805b60148110156121345760208102600401355f82118315165f821116156121005763efb91db45f526004601cfd5b805f5260086020525f811160405f205460b01b60d01c15161561212a5763dc974a985f526004601cfd5b91506001016120d3565b506121426009846014614208565b507f92fa0b6a2861480bf8c9977f0f9fe1d95c535ba23cbf234f2716fc765aec3be8836040516121729190614776565b60405180910390a1505050565b6001545f9060ff16156121a5576040516304aca5db60e01b815260040160405180910390fd5b60025f54036121bb576337ed32e85f526004601cfd5b60025f555f6121c9336123fb565b9050808411156121e057630c11966b5f526004601cfd5b611b3933846121ee8761226a565b94508487612f85565b606060208054610eb99061456b565b5f6387a211a2600c52335f526020600c2080548084111561222e5763f4d678b85f526004601cfd5b83810382555050825f526020600c208281540181555081602052600c5160601c335f805160206147f1833981519152602080a350600192915050565b5f6006610f7983612279612ca0565b6122849060016145b1565b61228f84600a6146a4565b6805345cdf77eb68f44c5461104391906145b1565b5f60025f54036122bb576337ed32e85f526004601cfd5b60025f555f1984036122d3576122d08261245f565b93505b6122dc8261245f565b8411156122f05763936941fc5f526004601cfd5b6122fc33848487613697565b60015f55949350505050565b5f60025f540361231f576337ed32e85f526004601cfd5b60025f555f19840361233757612334826126e8565b93505b612340826126e8565b84111561235457634656425a5f526004601cfd5b6122fc33848487613a57565b600161236b81612e5a565b6001600160a01b0382165f9081526008602052604090205461ffff16806123995763e3a1d5ed5f526004601cfd5b6123a4836004612f46565b6123ae8382613dbd565b505050565b60016123be81612e5a565b81600281905550815f527fc512617347fd848ec9d7347c99c10e4fa7059132c92d0445930a7fb0c8252ff560205fa15050565b5f610fca82613624565b5f610fca610c2c5f611883565b5f6006610f798361241a83600a6146a4565b6805345cdf77eb68f44c5461242f91906145b1565b610f7461243a612ca0565b60010190565b6009816014811061244f575f80fd5b01546001600160a01b0316905081565b6004545f90815b6014811015612510575f60098260148110612483576124836146af565b01546001600160a01b031690508061249b5750612510565b806001600160a01b0316638f843dd16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156124d7573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906124fb91906146d6565b61250590846145b1565b925050600101612466565b505f6125236805345cdf77eb68f44c5490565b9050805f0361253557505f9392505050565b61255461254185613e1d565b6111088461254e886126e8565b85612d92565b949350505050565b5f612565610eaa565b8051906020012090508442111561258357631a15a3cc5f526004601cfd5b6040518860601b60601c98508760601b60601c975065383775081901600e52885f526020600c2080547f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83528360208401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6604084015246606084015230608084015260a08320602e527f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c983528a60208401528960408401528860608401528060808401528760a084015260c08320604e526042602c205f528660ff16602052856040528460605260208060805f60015afa8b3d511461268b5763ddafbaef5f526004601cfd5b0190556303faf4f960a51b88176040526034602c2087905587897f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602060608501a360405250505f606052505050505050565b5f610fca8261347f565b6387a211a2600c9081525f828152602090912054610fca565b600161270c81612e5a565b5f8290505f816001600160a01b031663a2b20eec6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561274d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061277191906146d6565b6040516301057c4960e61b8152600481018290529091505f906001600160a01b0384169063415f1240906024016020604051808303815f875af11580156127ba573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906127de91906146d6565b90505f6127eb8383612f6b565b6001600160a01b0387165f90815260086020526040812060028101549054600480549495506001600160801b039092169361ffff909116928592916128319084906145b1565b90915550506005805483900390556003805482900381556001600160a01b0389165f90815260086020526040808220928301805460ff1916905582546002840180546001600160801b031916905569ffffffffffff0000ffff19169092558151610280810192839052909160099060149082845b81546001600160a01b031681526001909101906020018083116128a557505050505090505f5b60148110156129ab57896001600160a01b03168282601481106128f0576128f06146af565b60200201516001600160a01b0316036129a3575f60098260148110612917576129176146af565b0180546001600160a01b0319166001600160a01b03929092169190911790556129418a6004612f46565b612949612e8a565b897f09a1db4b80c32706328728508c941a6b954f31eb5affd32f236c1fd405f8fea45f80a2845f52897f2e8aac9e73a32a1b5926e2c5a2820a51deb01ed40212b6346d96db2a178cf43360205fa250505050505050505050565b6001016128cb565b50505050505050505050565b60046129c281612e5a565b50335f908152600860205260409020600301805460ff1916911515919091179055565b60016129f081612e5a565b5f80875f52600860205260405f209150815490508060b01b60d01c612a1c5763dc974a985f526004601cfd5b876001600160a01b0316635641ec036040518163ffffffff1660e01b81526004016020604051808303815f875af1158015612a59573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612a7d91906146d6565b600203612a91576357c7c24f5f526004601cfd5b85851115612aa657635f3bd9535f526004601cfd5b611388841115612abd5763f14508d05f526004601cfd5b6003805461ffff831690819003918290559088810181811015612ade575f80fd5b612710811115612af5576379facb0d5f526004601cfd5b508089016003556fffffffffffffffffffffffff000000008316608089811b63ffff000060108a901b1661ffff8d1617179190911785556001850180546001600160801b0319166001600160801b038a161790555f8a815260208a9052604089905260608890528b917f102a33a8369310733322056f2c0f753209cd77c65b1ce5775c2d6f181e38778f91a250505050505050505050565b5f610fca82612408565b612b9f612f51565b63389a75e1600c52805f526020600c208054421115612bc557636f5e88185f526004601cfd5b5f90556116d2816130e8565b6001612bdc81612e5a565b600780546001600160a01b0319166001600160a01b0384161790555f8281527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d190602090a15050565b612c2d612f51565b8060601b612c4257637448fbae5f526004601cfd5b6116d2816130e8565b6001612c5681612e5a565b612710821115612c6d57638e9b51ff5f526004601cfd5b81601e81905550815f527f2147e2bc8c39e67f74b1a9e08896ea1485442096765942206af1f4bc8bcde91760205fa15050565b600454604080516102808101918290525f9160099060149082845b81546001600160a01b03168152600190910190602001808311612cbb57505050505090505f5b6014811015612d8d575f828260148110612cfd57612cfd6146af565b602002015190506001600160a01b038116612d185750505090565b806001600160a01b031663efbb5cb06040518163ffffffff1660e01b8152600401602060405180830381865afa158015612d54573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d7891906146d6565b612d8290856145b1565b935050600101612ce1565b505090565b8282025f198385098181108201900380612dc15782612db85763ae47f7025f526004601cfd5b50819004610f79565b808311612dd55763ae47f7025f526004601cfd5b828486095f84810385169485900494848311909303908390038390046001010292030417600260038302811880840282030280840282030280840282030280840282030280840282030280840290910302029392505050565b5f612e3a848484612d92565b90508183850915610f795760010180610f795763ae47f7025f526004601cfd5b638b78c6d8600c52335f52806020600c2054166116d2576382b429005f526004601cfd5b6116c482826001613e3a565b5f805b60148110156116c4575f60098260148110612eaa57612eaa6146af565b01546001600160a01b0316905080612ec757826001019250612f3d565b8215612f3d57806009612eda85856146c3565b60148110612eea57612eea6146af565b0180546001600160a01b0319166001600160a01b03929092169190911790555f60098360148110612f1d57612f1d6146af565b0180546001600160a01b0319166001600160a01b03929092169190911790555b50600101612e8d565b6116c482825f613e3a565b638b78c6d819543314611baa576382b429005f526004601cfd5b5f8282840311612f7d57818303610f79565b5f9392505050565b612fb18430847f0000000000000000000000000000000000000000000000000000000000000000611e2a565b5f8360601b612fc75763f6b2911f5f526004601cfd5b82612fd95763dd484e705f526004601cfd5b50600454600554810181811015612fee575f80fd5b83810181811015612ffd575f80fd5b50508161301157635a870a255f526004601cfd5b61301b8483613e91565b828101600455825f52816020525f1960601c8481168682167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d760405fa350600154610100900460ff16801561307f57504262093a8060065461307d91906145b1565b105b156130e1575f805f61309087613efa565b925092509250816130dd57826001600160a01b03167f97480aa46df4509f46b1c69560de6c385692ab01d037c7ad5b4ef10961512187826040516130d491906142ac565b60405180910390a25b5050505b5050505050565b638b78c6d81980546001600160a01b039092169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a355565b6005546004548101908082101561313a575f80fd5b5090565b5f816014526370a0823160601b5f5260208060246010865afa601f3d111660205102905092915050565b5f828152600860205260408120805460028201546001600160801b0381169361ffff831693909283928688111561319d578697505b600354600554955093505f6131d0866131b6878c6147ba565b6131c091906147d1565b8861ffff16808218908211021890565b9050848111156131de575f80fd5b858911156131ea575f80fd5b868111156131f6575f80fd5b80850360035588860360055561ffff8188031661ffff198416178455608082901c890189811015613225575f80fd5b89890360801b60801c8160801b1792505081600285015550505050505050505050565b5f805f855f52600860205260405f205490505f8514428260b01b60d01c14171561327157600191505b8115613281575f92505050610f79565b65ffffffffffff605082901c1642035f80808080856132a7576317de0c6e5f526004601cfd5b8660e01b60f01c9450601e54601d54815f19048d118202156132c7575f80fd5b612710828e02049550865f19048d118702156132e1575f80fd5b612710878e02049450805f19048d118102156132fb575f80fd5b612710908d02049250505082820181018a8111156133165750895b8015613432575f6133273083614125565b905083156133b5575f815f19048511820215613341575f80fd5b828286020490506133b38e6001600160a01b0316631fe4a6866040518163ffffffff1660e01b8152600401602060405180830381865afa158015613387573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906133ab91906146ed565b309083613595565b505b6387a211a2600c908152305f526020902054801561342f576001600160a01b038c1615613411576133fd8c846133eb89856147ba565b6133f591906147d1565b309190613595565b506387a211a2600c908152305f5260209020545b801561342f5760075461342f9030906001600160a01b031683613595565b50505b604051845f528260205283604052866060527f25bf703141a84375d04ea08a0c4a21c7406f300f133e12aef555607b4f3ff23860805fa16040525f6060529b9a5050505050505050505050565b6001545f9060ff161561349357505f919050565b5f61349c613125565b90505f6134ab6003548361414d565b6005545f86815260086020526040812060028101548154949550929391929091906001600160801b03168361ffff83165f1989900481118902156134ed575f80fd5b612710908902049050808211878711171561350757600194505b841561351c57505f9998505050505050505050565b5f613531838303888a03808218908211021890565b905061354581600454808218908211021890565b60018601549091506001600160801b031681101561356257600195505b851561357857505f9a9950505050505050505050565b60809390931c838118908411029092189998505050505050505050565b816014528060345263a9059cbb60601b5f5260205f604460105f875af13d1560015f511417166135cc576390b8ec185f526004601cfd5b5f603452505050565b60405181606052826040528360601b602c526323b872dd60601b600c5260205f6064601c5f895af13d1560015f5114171661361757637939f4245f526004601cfd5b5f60605260405250505050565b5f818152600860205260408120600281015490546003546001600160801b039092169161ffff90911690158061365c575060015460ff165b15613668575092915050565b5f61367a82613675613125565b61414d565b905082811061368d57505f949350505050565b9091039392505050565b5f816136aa5763dd484e705f526004601cfd5b5f6136b3612ca0565b60045490915060067f00000000000000000000000000000000000000000000000000000000000000006136eb866111dc84600a6146a4565b9450828611156139c0575f805b6014811015613952575f60098260148110613715576137156146af565b01546001600160a01b031690508061372d5750613952565b88861061373a5750613952565b5f81815260086020526040812060020190613755888c6146c3565b905061379781846001600160a01b0316638f843dd16040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b9050805f036137ae578360010193505050506136f8565b5f6137c26001600160a01b0388163061313e565b90505f80856001600160a01b0316631fd8c7b7856040518263ffffffff1660e01b81526004016137f491815260200190565b6020604051808303815f875af192505050801561382e575060408051601f3d908101601f1916820190925261382b918101906146d6565b60015b613843578660010196505050505050506136f8565b809150836138518b3061313e565b61385b91906146c3565b925050815f03613876578660010196505050505050506136f8565b613880828c6145b1565b9a50801561389e5761389281896145b1565b975061389e8682613168565b6138aa60055483612f6b565b6005556001600160a01b0386165f908152600860205260408120600201546138db906001600160801b031684612f6b565b6001600160a01b0388165f90815260086020908152604080832060020180546001600160801b0319166001600160801b0386161790558383529085905291925088917f8c1171ccd065c6769e1540f65c3c0874e5f7173ccdff7ca293238e69d000bf2091a2876001019750505050505050506136f8565b5060048490556139858161396785600a6146a4565b6805345cdf77eb68f44c5461397c91906145b1565b60018801612e2e565b61398f90876145b1565b9550868410156139be576139b16139a685896146c3565b61396785600a6146a4565b6139bb90876145b1565b95505b505b866001600160a01b0316896001600160a01b0316146139e4576139e4878a87614169565b6139ee87866141a7565b8560045f8282546139ff91906146c3565b90915550613a109050818988613595565b855f52846020525f1960601c8781168982168b83167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db60405fa45050505050949350505050565b5f826001600160a01b0316856001600160a01b031614613a7c57613a7c838684614169565b81613a8e57635a870a255f526004601cfd5b613a9782610f3a565b6004549091507f00000000000000000000000000000000000000000000000000000000000000009080831115613d3a575f805b6014811015613d22575f60098260148110613ae757613ae76146af565b01546001600160a01b0316905080613aff5750613d22565b858410613b0c5750613d22565b5f815f526008602052600260405f200190505f8588039050613b6481846001600160a01b031663a2b20eec6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110e4573d5f803e3d5ffd5b9050805f03613b7b57836001019350505050613aca565b5f613b86883061313e565b90505f80856001600160a01b031663415f1240856040518263ffffffff1660e01b8152600401613bb891815260200190565b6020604051808303815f875af1925050508015613bf2575060408051601f3d908101601f19168201909252613bef918101906146d6565b60015b613c0757866001019650505050505050613aca565b80915083613c158c3061313e565b613c1f91906146c3565b925050815f03613c3a57866001019650505050505050613aca565b613c44828a6145b1565b98508015613c6e57613c56818c6146c3565b9a50613c6281896145b1565b9750613c6e8682613168565b613c7a60055483612f6b565b6005556001600160a01b0386165f90815260086020526040812060020154613cab906001600160801b031684612f6b565b6001600160a01b0388165f90815260086020908152604080832060020180546001600160801b0319166001600160801b0386161790558383529085905291925088917f8c1171ccd065c6769e1540f65c3c0874e5f7173ccdff7ca293238e69d000bf2091a287600101975050505050505050613aca565b50600482905583810184811015613d37575f80fd5b50505b82613d4c5763dd484e705f526004601cfd5b613d5685856141a7565b8260045f828254613d6791906146c3565b90915550613d789050828785613595565b825f52836020525f1960601c8581168782168983167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db60405fa4505050949350505050565b8060035f828254613dce91906146c3565b90915550506001600160a01b0382165f908152600860205260408120805461ffff1916905582907f4201c688d84c01154d321afa0c72f1bffe9eef53005c9de9d035074e71e9b32a9080a25050565b6387a211a2600c9081525f828152602090912054610fca90610f3a565b638b78c6d8600c52825f526020600c20805483811783613e5b575080841681185b80835580600c5160601c7f715ad5ce61fc9595c7b415289d59cf203f23a94fa06f04af7e489a0a76e1fe265f80a3505050505050565b6805345cdf77eb68f44c5481810181811015613eb45763e5cfe9575f526004601cfd5b806805345cdf77eb68f44c5550506387a211a2600c52815f526020600c208181540181555080602052600c5160601c5f5f805160206147f1833981519152602080a35050565b604080516102808101918290525f9182916060916014918491600990849082845b81546001600160a01b03168152600190910190602001808311613f1b57505050505090505f600183613f4d91906146c3565b60015462010000900460ff1611613f6f5760015462010000900460ff16613f71565b5f5b90505f5b838260ff161015613ff45760085f848460ff1660148110613f9857613f986146af565b602090810291909101516001600160a01b031682528101919091526040015f206003015460ff1615613fe957828260ff1660148110613fd957613fd96146af565b6020020151965060019050613ff4565b816001019150613f75565b600184038260ff1610158061402d57505f8360ff60018501166014811061401d5761401d6146af565b60200201516001600160a01b0316145b15614043576001805462ff000019169055614060565b6001805460ff938201938416620100000262ff0000199091161790555b8061407357506001945061411e92505050565b60405163cf3f663760e01b81525f6004820181905260248201526001600160a01b03898116604483015242606483015288169063cf3f6637906084015f604051808303815f87803b1580156140c6575f80fd5b505af19250505080156140d7575060015b614114573d808015614104576040519150601f19603f3d011682016040523d82523d5f602084013e614109565b606091505b505f96509450614119565b600195505b505050505b9193909250565b5f61412f82612408565b90508061414357635a870a255f526004601cfd5b610fca8382613e91565b5f815f1904831182021561415f575f80fd5b5061271091020490565b81602052637f5e9f20600c52825f526034600c20805460018101156130e1578083111561419d576313be252b5f526004601cfd5b9190910390555050565b6387a211a2600c52815f526020600c208054808311156141ce5763f4d678b85f526004601cfd5b82900390556805345cdf77eb68f44c805482900390555f8181526001600160a01b0383165f805160206147f1833981519152602083a35050565b826014810192821561424e579160200282015b8281111561424e5781546001600160a01b0319166001600160a01b0384351617825560209092019160019091019061421b565b5061313a9291505b8082111561313a575f8155600101614256565b5f81518084525f5b8181101561428d57602081850181015186830182015201614271565b505f602082860101526020601f19601f83011685010191505092915050565b602081525f610f796020830184614269565b5f602082840312156142ce575f80fd5b5035919050565b6001600160a01b03811681146116d2575f80fd5b5f80604083850312156142fa575f80fd5b8235614305816142d5565b946020939093013593505050565b5f805f805f60a08688031215614327575f80fd5b8535614332816142d5565b97602087013597506040870135966060810135965060800135945092505050565b5f60208284031215614363575f80fd5b81358015158114610f79575f80fd5b5f60208284031215614382575f80fd5b8135610f79816142d5565b5f805f6060848603121561439f575f80fd5b83356143aa816142d5565b925060208401356143ba816142d5565b929592945050506040919091013590565b5f80604083850312156143dc575f80fd5b8235915060208301356143ee816142d5565b809150509250929050565b80356001600160801b038116811461440f575f80fd5b919050565b5f805f8060808587031215614427575f80fd5b614430856143f9565b935061443e602086016143f9565b925061444c604086016143f9565b9150606085013561445c816142d5565b939692955090935050565b5f610280808385031215614479575f80fd5b838184011115614487575f80fd5b509092915050565b5f805f606084860312156144a1575f80fd5b8335925060208401356144b3816142d5565b915060408401356144c3816142d5565b809150509250925092565b5f805f805f805f60e0888a0312156144e4575f80fd5b87356144ef816142d5565b965060208801356144ff816142d5565b95506040880135945060608801359350608088013560ff81168114614522575f80fd5b9699959850939692959460a0840135945060c09093013592915050565b5f8060408385031215614550575f80fd5b823561455b816142d5565b915060208301356143ee816142d5565b600181811c9082168061457f57607f821691505b602082108103611a3657634e487b7160e01b5f52602260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820180821115610fca57610fca61459d565b600181815b808511156145fe57815f19048211156145e4576145e461459d565b808516156145f157918102915b93841c93908002906145c9565b509250929050565b5f8261461457506001610fca565b8161462057505f610fca565b816001811461463657600281146146405761465c565b6001915050610fca565b60ff8411156146515761465161459d565b50506001821b610fca565b5060208310610133831016604e8410600b841016171561467f575081810a610fca565b61468983836145c4565b805f190482111561469c5761469c61459d565b029392505050565b5f610f798383614606565b634e487b7160e01b5f52603260045260245ffd5b81810381811115610fca57610fca61459d565b5f602082840312156146e6575f80fd5b5051919050565b5f602082840312156146fd575f80fd5b8151610f79816142d5565b60ff8181168382160190811115610fca57610fca61459d565b6001600160801b038181168382160190808211156147415761474161459d565b5092915050565b6001600160801b038281168282160390808211156147415761474161459d565b5f610f7960ff841683614606565b610280810181835f5b60148110156147b1578135614793816142d5565b6001600160a01b03168352602092830192919091019060010161477f565b50505092915050565b8082028115828204841417610fca57610fca61459d565b5f826147eb57634e487b7160e01b5f52601260045260245ffd5b50049056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220184525101ad9651cf9d8e4ad552d55103b8c1f4c04f624d32c906adaa985f62164736f6c6343000819003300000000000000000000000035e98e576a9cb0ddc4c8958e7cd6edd558f01594000000000000000000000000e63a6984dd14f19fd77a6e1c1bc88d8c39102db900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000009965507d1a55bcc2695c58ba16fb37d819b0a4dc00000000000000000000000000000000000000000000000000000000000000114d61784170792d57455448205661756c7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d61785745544800000000000000000000000000000000000000000000000000
0x00000000000000000000000035e98e576a9cb0ddc4c8958e7cd6edd558f01594000000000000000000000000e63a6984dd14f19fd77a6e1c1bc88d8c39102db900000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000009965507d1a55bcc2695c58ba16fb37d819b0a4dc00000000000000000000000000000000000000000000000000000000000000114d61784170792d57455448205661756c7400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000076d61785745544800000000000000000000000000000000000000000000000000
----Decoded View------------Arg [0] : admin (address): 0x35e98E576A9cB0Ddc4c8958E7cD6edd558F01594Arg [1] : underlyingAsset_ (address): 0xE63a6984dd14f19fD77a6e1c1bC88d8c39102db9Arg [2] : name_ (string): MaxApy-WETH VaultArg [3] : symbol_ (string): maxWETHArg [4] : _treasury (address): 0x9965507D1a55bcC2695C58ba16FB37d819B0A4dc
----Encoded View------------Arg [0] : 0x00000000000000000000000035e98e576a9cb0ddc4c8958e7cd6edd558f01594Arg [1] : 0x000000000000000000000000e63a6984dd14f19fd77a6e1c1bc88d8c39102db9Arg [2] : 0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000114d61784170792d57455448205661756c74000000000000000000000000000000Arg [3] : 0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000076d61785745544800000000000000000000000000000000000000000000000000Arg [4] : 0x0000000000000000000000009965507d1a55bcc2695c58ba16fb37d819b0a4dc