@pimlico/alto 0.0.0-main.20250428T104157 → 0.0.0-main.20250429T114818
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/EIP712.sol/EIP712.json +1 -0
- package/contracts/ERC165.sol/ERC165.json +1 -0
- package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -0
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -0
- package/contracts/EntryPointCodeOverride.sol/EntryPointCodeOverride.json +1 -0
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations.json +1 -0
- package/contracts/Exec.sol/Exec.json +1 -0
- package/contracts/IAccount.sol/IAccount.json +1 -0
- package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -0
- package/contracts/IAggregator.sol/IAggregator.json +1 -0
- package/contracts/IERC165.sol/IERC165.json +1 -0
- package/contracts/IERC5267.sol/IERC5267.json +1 -0
- package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -0
- package/contracts/INonceManager.sol/INonceManager.json +1 -0
- package/contracts/IPaymaster.sol/IPaymaster.json +1 -0
- package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -0
- package/contracts/IStakeManager.sol/IStakeManager.json +1 -0
- package/contracts/Math.sol/Math.json +1 -0
- package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -0
- package/contracts/NonceManager.sol/NonceManager.json +1 -0
- package/contracts/Panic.sol/Panic.json +1 -0
- package/contracts/PimlicoEntryPointSimulationsV7.sol/PimlicoEntryPointSimulationsV7.json +1 -0
- package/contracts/PimlicoEntryPointSimulationsV8.sol/PimlicoEntryPointSimulationsV8.json +1 -0
- package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -0
- package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -0
- package/contracts/SafeCast.sol/SafeCast.json +1 -0
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -0
- package/contracts/ShortStrings.sol/ShortStrings.json +1 -0
- package/contracts/SignedMath.sol/SignedMath.json +1 -0
- package/contracts/StakeManager.sol/StakeManager.json +1 -0
- package/contracts/StorageSlot.sol/StorageSlot.json +1 -0
- package/contracts/Strings.sol/Strings.json +1 -0
- package/contracts/TransientSlot.sol/TransientSlot.json +1 -0
- package/contracts/UserOperation.sol/UserOperationLib.json +1 -0
- package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -0
- package/contracts/build-info/0c52dc19c74a9a932ddddcca463ce398.json +1 -0
- package/contracts/build-info/a1d9af887789a0ade8ffbc8b045f0780.json +1 -0
- package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
- package/esm/cli/deploySimulationsContract.js +14 -5
- package/esm/cli/deploySimulationsContract.js.map +1 -1
- package/package.json +2 -1
- package/lib/cli/alto.d.ts +0 -7
- package/lib/cli/alto.js +0 -141
- package/lib/cli/alto.js.map +0 -1
- package/lib/cli/config/bundler.d.ts +0 -2872
- package/lib/cli/config/bundler.js +0 -242
- package/lib/cli/config/bundler.js.map +0 -1
- package/lib/cli/config/index.d.ts +0 -3
- package/lib/cli/config/index.js +0 -19
- package/lib/cli/config/index.js.map +0 -1
- package/lib/cli/config/options.d.ts +0 -13
- package/lib/cli/config/options.js +0 -587
- package/lib/cli/config/options.js.map +0 -1
- package/lib/cli/customTransport.d.ts +0 -14
- package/lib/cli/customTransport.js +0 -94
- package/lib/cli/customTransport.js.map +0 -1
- package/lib/cli/deploySimulationsContract.d.ts +0 -13
- package/lib/cli/deploySimulationsContract.js +0 -100
- package/lib/cli/deploySimulationsContract.js.map +0 -1
- package/lib/cli/handler.d.ts +0 -3
- package/lib/cli/handler.js +0 -157
- package/lib/cli/handler.js.map +0 -1
- package/lib/cli/index.d.ts +0 -4
- package/lib/cli/index.js +0 -20
- package/lib/cli/index.js.map +0 -1
- package/lib/cli/instrumentation.d.ts +0 -2
- package/lib/cli/instrumentation.js +0 -47
- package/lib/cli/instrumentation.js.map +0 -1
- package/lib/cli/parseArgs.d.ts +0 -8
- package/lib/cli/parseArgs.js +0 -25
- package/lib/cli/parseArgs.js.map +0 -1
- package/lib/cli/setupServer.d.ts +0 -13
- package/lib/cli/setupServer.js +0 -266
- package/lib/cli/setupServer.js.map +0 -1
- package/lib/cli/util.d.ts +0 -22
- package/lib/cli/util.js +0 -34
- package/lib/cli/util.js.map +0 -1
- package/lib/createConfig.d.ts +0 -16
- package/lib/createConfig.js +0 -13
- package/lib/createConfig.js.map +0 -1
- package/lib/executor/executor.d.ts +0 -65
- package/lib/executor/executor.js +0 -301
- package/lib/executor/executor.js.map +0 -1
- package/lib/executor/executorManager.d.ts +0 -108
- package/lib/executor/executorManager.js +0 -702
- package/lib/executor/executorManager.js.map +0 -1
- package/lib/executor/fastlane.d.ts +0 -9
- package/lib/executor/fastlane.js +0 -41
- package/lib/executor/fastlane.js.map +0 -1
- package/lib/executor/filterOpsAndEStimateGas.d.ts +0 -29
- package/lib/executor/filterOpsAndEStimateGas.js +0 -225
- package/lib/executor/filterOpsAndEStimateGas.js.map +0 -1
- package/lib/executor/index.d.ts +0 -5
- package/lib/executor/index.js +0 -21
- package/lib/executor/index.js.map +0 -1
- package/lib/executor/senderManager/createMemorySenderManager.d.ts +0 -8
- package/lib/executor/senderManager/createMemorySenderManager.js +0 -45
- package/lib/executor/senderManager/createMemorySenderManager.js.map +0 -1
- package/lib/executor/senderManager/createRedisSenderManager.d.ts +0 -8
- package/lib/executor/senderManager/createRedisSenderManager.js +0 -85
- package/lib/executor/senderManager/createRedisSenderManager.js.map +0 -1
- package/lib/executor/senderManager/flushOnStartUp.d.ts +0 -9
- package/lib/executor/senderManager/flushOnStartUp.js +0 -37
- package/lib/executor/senderManager/flushOnStartUp.js.map +0 -1
- package/lib/executor/senderManager/index.d.ts +0 -15
- package/lib/executor/senderManager/index.js +0 -25
- package/lib/executor/senderManager/index.js.map +0 -1
- package/lib/executor/senderManager/validateAndRefill.d.ts +0 -11
- package/lib/executor/senderManager/validateAndRefill.js +0 -115
- package/lib/executor/senderManager/validateAndRefill.js.map +0 -1
- package/lib/executor/utilityWalletMonitor.d.ts +0 -19
- package/lib/executor/utilityWalletMonitor.js +0 -42
- package/lib/executor/utilityWalletMonitor.js.map +0 -1
- package/lib/executor/utils.d.ts +0 -34
- package/lib/executor/utils.js +0 -167
- package/lib/executor/utils.js.map +0 -1
- package/lib/handlers/arbitrumGasPriceManager.d.ts +0 -14
- package/lib/handlers/arbitrumGasPriceManager.js +0 -39
- package/lib/handlers/arbitrumGasPriceManager.js.map +0 -1
- package/lib/handlers/eventManager.d.ts +0 -29
- package/lib/handlers/eventManager.js +0 -225
- package/lib/handlers/eventManager.js.map +0 -1
- package/lib/handlers/gasPriceManager.d.ts +0 -36
- package/lib/handlers/gasPriceManager.js +0 -391
- package/lib/handlers/gasPriceManager.js.map +0 -1
- package/lib/handlers/index.d.ts +0 -3
- package/lib/handlers/index.js +0 -19
- package/lib/handlers/index.js.map +0 -1
- package/lib/handlers/mantleGasPriceManager.d.ts +0 -23
- package/lib/handlers/mantleGasPriceManager.js +0 -44
- package/lib/handlers/mantleGasPriceManager.js.map +0 -1
- package/lib/handlers/optimismManager.d.ts +0 -10
- package/lib/handlers/optimismManager.js +0 -21
- package/lib/handlers/optimismManager.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js +0 -4
- package/lib/index.js.map +0 -1
- package/lib/mempool/index.d.ts +0 -4
- package/lib/mempool/index.js +0 -20
- package/lib/mempool/index.js.map +0 -1
- package/lib/mempool/mempool.d.ts +0 -191
- package/lib/mempool/mempool.js +0 -499
- package/lib/mempool/mempool.js.map +0 -1
- package/lib/mempool/monitoring.d.ts +0 -14
- package/lib/mempool/monitoring.js +0 -101
- package/lib/mempool/monitoring.js.map +0 -1
- package/lib/mempool/reputationManager.d.ts +0 -121
- package/lib/mempool/reputationManager.js +0 -472
- package/lib/mempool/reputationManager.js.map +0 -1
- package/lib/rpc/createMethodHandler.d.ts +0 -31
- package/lib/rpc/createMethodHandler.js +0 -34
- package/lib/rpc/createMethodHandler.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationHandler.d.ts +0 -30
- package/lib/rpc/estimation/gasEstimationHandler.js +0 -50
- package/lib/rpc/estimation/gasEstimationHandler.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationsV06.d.ts +0 -19
- package/lib/rpc/estimation/gasEstimationsV06.js +0 -148
- package/lib/rpc/estimation/gasEstimationsV06.js.map +0 -1
- package/lib/rpc/estimation/gasEstimationsV07.d.ts +0 -101
- package/lib/rpc/estimation/gasEstimationsV07.js +0 -727
- package/lib/rpc/estimation/gasEstimationsV07.js.map +0 -1
- package/lib/rpc/estimation/types.d.ts +0 -120
- package/lib/rpc/estimation/types.js +0 -125
- package/lib/rpc/estimation/types.js.map +0 -1
- package/lib/rpc/index.d.ts +0 -4
- package/lib/rpc/index.js +0 -20
- package/lib/rpc/index.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_clearReputation.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_clearReputation.js +0 -15
- package/lib/rpc/methods/debug_bundler_clearReputation.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_clearState.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_clearState.js +0 -16
- package/lib/rpc/methods/debug_bundler_clearState.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_dumpMempool.d.ts +0 -973
- package/lib/rpc/methods/debug_bundler_dumpMempool.js +0 -16
- package/lib/rpc/methods/debug_bundler_dumpMempool.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_dumpReputation.d.ts +0 -57
- package/lib/rpc/methods/debug_bundler_dumpReputation.js +0 -16
- package/lib/rpc/methods/debug_bundler_dumpReputation.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_getStakeStatus.d.ts +0 -79
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js +0 -25
- package/lib/rpc/methods/debug_bundler_getStakeStatus.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_sendBundleNow.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_sendBundleNow.js +0 -15
- package/lib/rpc/methods/debug_bundler_sendBundleNow.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_setBundlingMode.d.ts +0 -22
- package/lib/rpc/methods/debug_bundler_setBundlingMode.js +0 -16
- package/lib/rpc/methods/debug_bundler_setBundlingMode.js.map +0 -1
- package/lib/rpc/methods/debug_bundler_setReputation.d.ts +0 -46
- package/lib/rpc/methods/debug_bundler_setReputation.js +0 -16
- package/lib/rpc/methods/debug_bundler_setReputation.js.map +0 -1
- package/lib/rpc/methods/eth_chainId.d.ts +0 -22
- package/lib/rpc/methods/eth_chainId.js +0 -13
- package/lib/rpc/methods/eth_chainId.js.map +0 -1
- package/lib/rpc/methods/eth_estimateUserOperationGas.d.ts +0 -1891
- package/lib/rpc/methods/eth_estimateUserOperationGas.js +0 -26
- package/lib/rpc/methods/eth_estimateUserOperationGas.js.map +0 -1
- package/lib/rpc/methods/eth_getUserOperationByHash.d.ts +0 -1775
- package/lib/rpc/methods/eth_getUserOperationByHash.js +0 -101
- package/lib/rpc/methods/eth_getUserOperationByHash.js.map +0 -1
- package/lib/rpc/methods/eth_getUserOperationReceipt.d.ts +0 -412
- package/lib/rpc/methods/eth_getUserOperationReceipt.js +0 -14
- package/lib/rpc/methods/eth_getUserOperationReceipt.js.map +0 -1
- package/lib/rpc/methods/eth_sendUserOperation.d.ts +0 -878
- package/lib/rpc/methods/eth_sendUserOperation.js +0 -44
- package/lib/rpc/methods/eth_sendUserOperation.js.map +0 -1
- package/lib/rpc/methods/eth_supportedEntryPoints.d.ts +0 -22
- package/lib/rpc/methods/eth_supportedEntryPoints.js +0 -13
- package/lib/rpc/methods/eth_supportedEntryPoints.js.map +0 -1
- package/lib/rpc/methods/index.d.ts +0 -3
- package/lib/rpc/methods/index.js +0 -44
- package/lib/rpc/methods/index.js.map +0 -1
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.d.ts +0 -131
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js +0 -33
- package/lib/rpc/methods/pimlico_getUserOperationGasPrice.js.map +0 -1
- package/lib/rpc/methods/pimlico_getUserOperationStatus.d.ts +0 -43
- package/lib/rpc/methods/pimlico_getUserOperationStatus.js +0 -14
- package/lib/rpc/methods/pimlico_getUserOperationStatus.js.map +0 -1
- package/lib/rpc/methods/pimlico_sendUserOperationNow.d.ts +0 -1268
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js +0 -55
- package/lib/rpc/methods/pimlico_sendUserOperationNow.js.map +0 -1
- package/lib/rpc/rpcHandler.d.ts +0 -75
- package/lib/rpc/rpcHandler.js +0 -391
- package/lib/rpc/rpcHandler.js.map +0 -1
- package/lib/rpc/server.d.ts +0 -26
- package/lib/rpc/server.js +0 -283
- package/lib/rpc/server.js.map +0 -1
- package/lib/rpc/validation/BundlerCollectorTracerV06.d.ts +0 -102
- package/lib/rpc/validation/BundlerCollectorTracerV06.js +0 -262
- package/lib/rpc/validation/BundlerCollectorTracerV06.js.map +0 -1
- package/lib/rpc/validation/BundlerCollectorTracerV07.d.ts +0 -102
- package/lib/rpc/validation/BundlerCollectorTracerV07.js +0 -261
- package/lib/rpc/validation/BundlerCollectorTracerV07.js.map +0 -1
- package/lib/rpc/validation/SafeValidator.d.ts +0 -51
- package/lib/rpc/validation/SafeValidator.js +0 -327
- package/lib/rpc/validation/SafeValidator.js.map +0 -1
- package/lib/rpc/validation/TracerResultParserV06.d.ts +0 -13
- package/lib/rpc/validation/TracerResultParserV06.js +0 -582
- package/lib/rpc/validation/TracerResultParserV06.js.map +0 -1
- package/lib/rpc/validation/TracerResultParserV07.d.ts +0 -33
- package/lib/rpc/validation/TracerResultParserV07.js +0 -599
- package/lib/rpc/validation/TracerResultParserV07.js.map +0 -1
- package/lib/rpc/validation/UnsafeValidator.d.ts +0 -97
- package/lib/rpc/validation/UnsafeValidator.js +0 -303
- package/lib/rpc/validation/UnsafeValidator.js.map +0 -1
- package/lib/rpc/validation/index.d.ts +0 -3
- package/lib/rpc/validation/index.js +0 -19
- package/lib/rpc/validation/index.js.map +0 -1
- package/lib/rpc/validation/tracer.d.ts +0 -125
- package/lib/rpc/validation/tracer.js +0 -112
- package/lib/rpc/validation/tracer.js.map +0 -1
- package/lib/store/createMemoryOutstandingStore.d.ts +0 -28
- package/lib/store/createMemoryOutstandingStore.js +0 -236
- package/lib/store/createMemoryOutstandingStore.js.map +0 -1
- package/lib/store/createMempoolStore.d.ts +0 -8
- package/lib/store/createMempoolStore.js +0 -199
- package/lib/store/createMempoolStore.js.map +0 -1
- package/lib/store/createRedisOutstandingStore.d.ts +0 -27
- package/lib/store/createRedisOutstandingStore.js +0 -349
- package/lib/store/createRedisOutstandingStore.js.map +0 -1
- package/lib/store/createRedisStore.d.ts +0 -9
- package/lib/store/createRedisStore.js +0 -138
- package/lib/store/createRedisStore.js.map +0 -1
- package/lib/store/createStore.d.ts +0 -6
- package/lib/store/createStore.js +0 -70
- package/lib/store/createStore.js.map +0 -1
- package/lib/store/index.d.ts +0 -81
- package/lib/store/index.js +0 -6
- package/lib/store/index.js.map +0 -1
- package/lib/types/contracts/ArbitrumL1FeeAbi.d.ts +0 -32
- package/lib/types/contracts/ArbitrumL1FeeAbi.js +0 -45
- package/lib/types/contracts/ArbitrumL1FeeAbi.js.map +0 -1
- package/lib/types/contracts/CallEngine.d.ts +0 -28
- package/lib/types/contracts/CallEngine.js +0 -40
- package/lib/types/contracts/CallEngine.js.map +0 -1
- package/lib/types/contracts/CodeHashGetter.d.ts +0 -37
- package/lib/types/contracts/CodeHashGetter.js +0 -48
- package/lib/types/contracts/CodeHashGetter.js.map +0 -1
- package/lib/types/contracts/EntryPoint.d.ts +0 -1789
- package/lib/types/contracts/EntryPoint.js +0 -2307
- package/lib/types/contracts/EntryPoint.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulationsV6.d.ts +0 -34
- package/lib/types/contracts/EntryPointSimulationsV6.js +0 -51
- package/lib/types/contracts/EntryPointSimulationsV6.js.map +0 -1
- package/lib/types/contracts/EntryPointSimulationsV7.d.ts +0 -2076
- package/lib/types/contracts/EntryPointSimulationsV7.js +0 -2678
- package/lib/types/contracts/EntryPointSimulationsV7.js.map +0 -1
- package/lib/types/contracts/IAccountExecute.d.ts +0 -53
- package/lib/types/contracts/IAccountExecute.js +0 -71
- package/lib/types/contracts/IAccountExecute.js.map +0 -1
- package/lib/types/contracts/IPaymaster.d.ts +0 -3
- package/lib/types/contracts/IPaymaster.js +0 -120
- package/lib/types/contracts/IPaymaster.js.map +0 -1
- package/lib/types/contracts/MantleBvmGasPriceOracle.d.ts +0 -219
- package/lib/types/contracts/MantleBvmGasPriceOracle.js +0 -180
- package/lib/types/contracts/MantleBvmGasPriceOracle.js.map +0 -1
- package/lib/types/contracts/OpL1FeeAbi.d.ts +0 -114
- package/lib/types/contracts/OpL1FeeAbi.js +0 -77
- package/lib/types/contracts/OpL1FeeAbi.js.map +0 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +0 -25
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +0 -42
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +0 -1
- package/lib/types/contracts/SenderCreator.d.ts +0 -4
- package/lib/types/contracts/SenderCreator.js +0 -26
- package/lib/types/contracts/SenderCreator.js.map +0 -1
- package/lib/types/contracts/SimpleAccountFactory.d.ts +0 -57
- package/lib/types/contracts/SimpleAccountFactory.js +0 -79
- package/lib/types/contracts/SimpleAccountFactory.js.map +0 -1
- package/lib/types/contracts/TestOpcodesAccount.d.ts +0 -4
- package/lib/types/contracts/TestOpcodesAccount.js +0 -284
- package/lib/types/contracts/TestOpcodesAccount.js.map +0 -1
- package/lib/types/contracts/TestOpcodesAccountFactory.d.ts +0 -4
- package/lib/types/contracts/TestOpcodesAccountFactory.js +0 -26
- package/lib/types/contracts/TestOpcodesAccountFactory.js.map +0 -1
- package/lib/types/contracts/TestStorageAccount.d.ts +0 -4
- package/lib/types/contracts/TestStorageAccount.js +0 -316
- package/lib/types/contracts/TestStorageAccount.js.map +0 -1
- package/lib/types/contracts/index.d.ts +0 -17
- package/lib/types/contracts/index.js +0 -33
- package/lib/types/contracts/index.js.map +0 -1
- package/lib/types/gasPrice.d.ts +0 -110
- package/lib/types/gasPrice.js +0 -55
- package/lib/types/gasPrice.js.map +0 -1
- package/lib/types/index.d.ts +0 -11
- package/lib/types/index.js +0 -27
- package/lib/types/index.js.map +0 -1
- package/lib/types/interfaces.d.ts +0 -58
- package/lib/types/interfaces.js +0 -3
- package/lib/types/interfaces.js.map +0 -1
- package/lib/types/mempool.d.ts +0 -60
- package/lib/types/mempool.js +0 -11
- package/lib/types/mempool.js.map +0 -1
- package/lib/types/schemas.d.ts +0 -20785
- package/lib/types/schemas.js +0 -679
- package/lib/types/schemas.js.map +0 -1
- package/lib/types/utils.d.ts +0 -25
- package/lib/types/utils.js +0 -35
- package/lib/types/utils.js.map +0 -1
- package/lib/types/validation.d.ts +0 -14327
- package/lib/types/validation.js +0 -312
- package/lib/types/validation.js.map +0 -1
- package/lib/utils/asyncTimeout.d.ts +0 -5
- package/lib/utils/asyncTimeout.js +0 -51
- package/lib/utils/asyncTimeout.js.map +0 -1
- package/lib/utils/bigInt.d.ts +0 -8
- package/lib/utils/bigInt.js +0 -24
- package/lib/utils/bigInt.js.map +0 -1
- package/lib/utils/eip7702.d.ts +0 -4
- package/lib/utils/eip7702.js +0 -21
- package/lib/utils/eip7702.js.map +0 -1
- package/lib/utils/fastify-rpc-decorators.d.ts +0 -19
- package/lib/utils/fastify-rpc-decorators.js +0 -23
- package/lib/utils/fastify-rpc-decorators.js.map +0 -1
- package/lib/utils/helpers.d.ts +0 -15
- package/lib/utils/helpers.js +0 -59
- package/lib/utils/helpers.js.map +0 -1
- package/lib/utils/index.d.ts +0 -9
- package/lib/utils/index.js +0 -24
- package/lib/utils/index.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -6
- package/lib/utils/logger.js +0 -85
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/metrics.d.ts +0 -29
- package/lib/utils/metrics.js +0 -199
- package/lib/utils/metrics.js.map +0 -1
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.d.ts +0 -6
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js +0 -57
- package/lib/utils/minMaxQueue/createMemoryMinMaxQueue.js.map +0 -1
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.d.ts +0 -7
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js +0 -105
- package/lib/utils/minMaxQueue/createRedisMinMaxQueue.js.map +0 -1
- package/lib/utils/minMaxQueue/index.d.ts +0 -12
- package/lib/utils/minMaxQueue/index.js +0 -16
- package/lib/utils/minMaxQueue/index.js.map +0 -1
- package/lib/utils/rpc-reply.d.ts +0 -16
- package/lib/utils/rpc-reply.js +0 -41
- package/lib/utils/rpc-reply.js.map +0 -1
- package/lib/utils/userop.d.ts +0 -138
- package/lib/utils/userop.js +0 -620
- package/lib/utils/userop.js.map +0 -1
- package/lib/utils/validation.d.ts +0 -76
- package/lib/utils/validation.js +0 -491
- package/lib/utils/validation.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"SIG_VALIDATION_FAILED","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_validateSenderAndPaymaster","inputs":[{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"sender","type":"address","internalType":"address"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"addStake","inputs":[{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"deposits","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"deposit","type":"uint112","internalType":"uint112"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"getDepositInfo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"info","type":"tuple","internalType":"struct IStakeManager.DepositInfo","components":[{"name":"deposit","type":"uint112","internalType":"uint112"},{"name":"staked","type":"bool","internalType":"bool"},{"name":"stake","type":"uint112","internalType":"uint112"},{"name":"unstakeDelaySec","type":"uint32","internalType":"uint32"},{"name":"withdrawTime","type":"uint48","internalType":"uint48"}]}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"nonce","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getSenderAddress","inputs":[{"name":"initCode","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getUserOpHash","inputs":[{"name":"userOp","type":"tuple","internalType":"struct UserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"handleAggregatedOps","inputs":[{"name":"opsPerAggregator","type":"tuple[]","internalType":"struct IEntryPoint.UserOpsPerAggregator[]","components":[{"name":"userOps","type":"tuple[]","internalType":"struct UserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"aggregator","type":"address","internalType":"contract IAggregator"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"beneficiary","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"ops","type":"tuple[]","internalType":"struct UserOperation[]","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"beneficiary","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"incrementNonce","inputs":[{"name":"key","type":"uint192","internalType":"uint192"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"innerHandleOp","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"opInfo","type":"tuple","internalType":"struct EntryPointCodeOverride.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPointCodeOverride.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"paymaster","type":"address","internalType":"address"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"}]},{"name":"userOpHash","type":"bytes32","internalType":"bytes32"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"contextOffset","type":"uint256","internalType":"uint256"},{"name":"preOpGas","type":"uint256","internalType":"uint256"}]},{"name":"context","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"nonceSequenceNumber","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint192","internalType":"uint192"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"simulateHandleOp","inputs":[{"name":"op","type":"tuple","internalType":"struct UserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"target","type":"address","internalType":"address"},{"name":"targetCallData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"simulateValidation","inputs":[{"name":"userOp","type":"tuple","internalType":"struct UserOperation","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"initCode","type":"bytes","internalType":"bytes"},{"name":"callData","type":"bytes","internalType":"bytes"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"maxFeePerGas","type":"uint256","internalType":"uint256"},{"name":"maxPriorityFeePerGas","type":"uint256","internalType":"uint256"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"unlockStake","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawStake","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawTo","inputs":[{"name":"withdrawAddress","type":"address","internalType":"address payable"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"AccountDeployed","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"factory","type":"address","indexed":false,"internalType":"address"},{"name":"paymaster","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"BeforeExecution","inputs":[],"anonymous":false},{"type":"event","name":"Deposited","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalDeposit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SignatureAggregatorChanged","inputs":[{"name":"aggregator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"StakeLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"totalStaked","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeUnlocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawTime","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"StakeWithdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationEvent","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"paymaster","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"success","type":"bool","indexed":false,"internalType":"bool"},{"name":"actualGasCost","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"actualGasUsed","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"UserOperationRevertReason","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"nonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"revertReason","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"Withdrawn","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"withdrawAddress","type":"address","indexed":false,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CallPhaseReverted","inputs":[{"name":"reason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ExecutionResult","inputs":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"paid","type":"uint256","internalType":"uint256"},{"name":"validAfter","type":"uint48","internalType":"uint48"},{"name":"validUntil","type":"uint48","internalType":"uint48"},{"name":"targetSuccess","type":"bool","internalType":"bool"},{"name":"targetResult","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"FailedOp","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedOpWithRevert","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"reason","type":"string","internalType":"string"},{"name":"inner","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"ValidationResult","inputs":[{"name":"returnInfo","type":"tuple","internalType":"struct IEntryPoint.ReturnInfo","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"sigFailed","type":"bool","internalType":"bool"},{"name":"validAfter","type":"uint48","internalType":"uint48"},{"name":"validUntil","type":"uint48","internalType":"uint48"},{"name":"paymasterContext","type":"bytes","internalType":"bytes"}]},{"name":"senderInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"factoryInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"paymasterInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]}]},{"type":"error","name":"ValidationResultWithAggregation","inputs":[{"name":"returnInfo","type":"tuple","internalType":"struct IEntryPoint.ReturnInfo","components":[{"name":"preOpGas","type":"uint256","internalType":"uint256"},{"name":"prefund","type":"uint256","internalType":"uint256"},{"name":"sigFailed","type":"bool","internalType":"bool"},{"name":"validAfter","type":"uint48","internalType":"uint48"},{"name":"validUntil","type":"uint48","internalType":"uint48"},{"name":"paymasterContext","type":"bytes","internalType":"bytes"}]},{"name":"senderInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"factoryInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"paymasterInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"name":"aggregatorInfo","type":"tuple","internalType":"struct IEntryPoint.AggregatorStakeInfo","components":[{"name":"aggregator","type":"address","internalType":"address"},{"name":"stakeInfo","type":"tuple","internalType":"struct IStakeManager.StakeInfo","components":[{"name":"stake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"}]}]}]}],"bytecode":{"object":"0x60808060405234601a576001600255613e7390816100208239f35b600080fdfe60806040526004361015610023575b361561001957600080fd5b6100216124d2565b005b60003560e01c80630396cb60146101635780630bd28e3b1461015e5780631b2e01b8146101595780631d732756146101545780631fad948c1461014f578063205c28781461014a57806335567e1a146101455780634b1d7cf5146101405780635287ce121461013b57806370a08231146101365780638f41ec5a14610131578063957122ab1461012c5780639b249f6914610127578063a619353114610122578063b760faf91461011d578063bb9fe6bf14610118578063c23a5cea14610113578063d6383f941461010e578063ee219423146101095763fc7e286d0361000e5761177a565b611594565b611454565b611321565b6111fa565b6111da565b6111ba565b611099565b610f44565b610f28565b610ed6565b610da5565b610ab3565b610a42565b610920565b6106b7565b610526565b610376565b6102e2565b60203660031901126102c75760043563ffffffff81168082036102c7576102c27fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916101f56101c5336001600160a01b03166000526000602052604060002090565b916101d181151561180a565b6101ee6101e5600185015463ffffffff1690565b63ffffffff1690565b1115611855565b54926102a461023f610214346001600160701b03607889901c166118b6565b956102208715156118c8565b6102336001600160701b03881115611913565b6001600160701b031690565b61025961024a610469565b6001600160701b039092168252565b600160208201526001600160701b038616604082015263ffffffff831660608201526000608082015261029f336001600160a01b03166000526000602052604060002090565b61195e565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b03821682036102c757565b346102c75760203660031901126102c7576004356001600160c01b03811681036102c757610330903360005260016020526040600020906001600160c01b0316600052602052604060002090565b61033a8154611a52565b9055005b6001600160a01b038116036102c757565b6024359061035c8261033e565b565b60c4359061035c8261033e565b359061035c8261033e565b346102c75760403660031901126102c75760206103ce6004356103988161033e565b6001600160a01b036103a86102cc565b9116600052600183526040600020906001600160c01b0316600052602052604060002090565b54604051908152f35b634e487b7160e01b600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761040957604052565b6103d7565b610100810190811067ffffffffffffffff82111761040957604052565b6060810190811067ffffffffffffffff82111761040957604052565b90601f8019910116810190811067ffffffffffffffff82111761040957604052565b6040519061035c60a083610447565b6040519061035c60c083610447565b6040519061035c604083610447565b6040519061035c606083610447565b67ffffffffffffffff811161040957601f01601f191660200190565b9291926104cd826104a5565b916104db6040519384610447565b8294818452818301116102c7578281602093846000960137010152565b9181601f840112156102c75782359167ffffffffffffffff83116102c757602083818601950101116102c757565b346102c7576101c03660031901126102c75760043567ffffffffffffffff81116102c757366023820112156102c7576105699036906024816004013591016104c1565b366023190161018081126102c75761010060405191610587836103ed565b126102c7576040516105988161040e565b6105a061034f565b815260443560208201526064356040820152608435606082015260a43560808201526105ca61035e565b60a082015260e43560c08201526101043560e082015281526101243560208201526101443560408201526101643560608201526101843560808201526101a4359067ffffffffffffffff82116102c7576106479261062f6106379336906004016104f8565b929091611aba565b6040519081529081906020820190565b0390f35b9060406003198301126102c75760043567ffffffffffffffff81116102c75760040160009280601f830112156106b35781359367ffffffffffffffff85116106b057506020808301928560051b0101116102c75791906024356106ad8161033e565b90565b80fd5b8380fd5b346102c7576106c53661064b565b6106d0829392611bfb565b60005b84811061074657506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a183915b858310610716576100218585612f9a565b90919360019061073c61072a878987611c7a565b6107348886611c61565b519088612ec7565b0194019190610705565b6107796001600160a01b0361077261076084869896611c61565b5161076c858a88611c7a565b85612ae4565b9290613b24565b91166108cb57610876576107946001600160a01b0391613b24565b9116610821576107a9576001019290926106d3565b60408051631101335b60e11b815260048101929092526024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f650000000000000000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b61081d82604051918291631101335b60e11b835260048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b61081d82604051918291631101335b60e11b835260048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b61081d83604051918291631101335b60e11b835260048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b346102c75760403660031901126102c75760043561093d8161033e565b60243533600052600060205260406000208054926001600160701b03841683116109fe576000836001600160a01b038295936109b1849661099761023387986109926102336100219e6001600160701b031690565b611c9d565b6001600160701b03166001600160701b0319825416179055565b604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af16109f8611caa565b50611cda565b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b346102c75760403660031901126102c7576020600435610a618161033e565b6001600160a01b03610a716102cc565b911660005260018252610a9b816040600020906001600160c01b0316600052602052604060002090565b546040805192901b67ffffffffffffffff1916178152f35b346102c757610ac13661064b565b9060009160005b828110610c7f5750610ada8493611bfb565b7fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000805b848110610bfd57505060009260009060005b818110610b4c57610021868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2612f9a565b610ba3610b5a82848a611d25565b610b78610b6c610b6c60208401611d7d565b6001600160a01b031690565b7f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a280611d47565b906000915b808310610bba57505050600101610b15565b90919497610bf4610bee600192610be88c8b610be182610bdb8e8b8d611c7a565b92611c61565b5191612ec7565b906118b6565b99611a52565b95019190610ba8565b610c08818688611d25565b6020610c20610c178380611d47565b92909301611d7d565b916001600160a01b0360009316905b828410610c425750505050600101610b03565b90919294610c7581610c7085610c69610c5d6001968d611c61565b5161076c8c8b8a611c7a565b908b612c91565b611a52565b9501929190610c2f565b610c8a818487611d25565b93610c958580611d47565b9190610ca6610b6c60208901611d7d565b966001600160a01b038816610cbe6001821415611d87565b610cdf575b50506001929394955090610cd6916118b6565b93929101610ac8565b806040610ced920190611dd2565b889291923b156102c757600091610d33869260405195869485947fe3563a4f00000000000000000000000000000000000000000000000000000000865260048601611f33565b03818a5afa9081610d8a575b50610d7b577f86a9f750000000000000000000000000000000000000000000000000000000006000526001600160a01b03861660045260246000fd5b9394508493610cd66001610cc3565b80610d996000610d9f93610447565b80610f1d565b38610d3f565b346102c75760203660031901126102c7576001600160a01b03600435610dca8161033e565b60006080604051610dda816103ed565b82815282602082015282604082015282606082015201521660005260006020526106476040600020610e79610e6a600160405193610e17856103ed565b6001600160701b038154818116875260ff8160701c161515602088015260781c1660408601520154610e5c610e4f8263ffffffff1690565b63ffffffff166060860152565b60201c65ffffffffffff1690565b65ffffffffffff166080830152565b60405191829182919091608065ffffffffffff8160a08401956001600160701b0381511685526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346102c75760203660031901126102c7576001600160a01b03600435610efb8161033e565b16600052600060205260206001600160701b0360406000205416604051908152f35b60009103126102c757565b346102c75760003660031901126102c757602060405160018152f35b346102c75760603660031901126102c75760043567ffffffffffffffff81116102c757610f759036906004016104f8565b9050602435610f838161033e565b60443567ffffffffffffffff81116102c757610fa39036906004016104f8565b91909215908161108f575b5061104a576014811015610fdc575b60405162461bcd60e51b81526020600482015260006024820152604490fd5b610fec610ff291610ff893611fc3565b90611fd1565b60601c90565b3b15611005573880610fbd565b60405162461bcd60e51b815260206004820152601b60248201527f41413330207061796d6173746572206e6f74206465706c6f79656400000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006044820152606490fd5b90503b1538610fae565b346102c75760203660031901126102c75760043567ffffffffffffffff81116102c75760206110cf6110eb9236906004016104f8565b906040519384928392632b870d1b60e11b845260048401612026565b03816000737fc98430eaedbb6070b35b39d7987250490883485af1801561117b576001600160a01b039160009161114c575b507f6ca7b806000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b61116e915060203d602011611174575b6111668183610447565b810190612011565b3861111d565b503d61115c565b611fb7565b90816101609103126102c75790565b60206003198201126102c7576004359067ffffffffffffffff82116102c7576106ad91600401611180565b346102c75760206111d26111cd3661118f565b612037565b604051908152f35b60203660031901126102c7576100216004356111f58161033e565b61213a565b346102c75760003660031901126102c7573360005260006020526040600020600181019081549063ffffffff8216156112dd576112886112626112546101e56112a0956101e561124f875460ff9060701c1690565b612192565b65ffffffffffff42166121dd565b845469ffffffffffff000000001916602082901b69ffffffffffff000000001617909455565b80546eff000000000000000000000000000019169055565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a9080602081016102c2565b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b346102c75760203660031901126102c75761002160008080806004356113468161033e565b6001600160a01b0361136b336001600160a01b03166000526000602052604060002090565b9161140761138761023385546001600160701b039060781c1690565b936113938515156121fb565b6113df600182016113cc65ffffffffffff6113b8835465ffffffffffff9060201c1690565b166113c4811515612246565b421015612291565b805469ffffffffffffffffffff19169055565b7fffffff0000000000000000000000000000ffffffffffffffffffffffffffffff8154169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af161144e611caa565b506122dc565b346102c75760603660031901126102c75760043567ffffffffffffffff81116102c757611485903690600401611180565b602435906114928261033e565b60443567ffffffffffffffff81116102c7576114b561081d9136906004016104f8565b6114bd611b99565b6114c68561313c565b6114e7816114dd6114d78289612931565b90613241565b9643600052612d90565b95436000526000926060946001600160a01b038316611562575b505050608001519361152f6040611521602084015165ffffffffffff1690565b92015165ffffffffffff1690565b906040519687967f8b7ac98000000000000000000000000000000000000000000000000000000000885260048801612335565b6000945084939550839061157b60405180948193612327565b03925af190608061158a611caa565b9291903880611501565b346102c7576115a23661118f565b6115aa611b99565b6115b38261313c565b6115bd8183612931565b61162d6115dd6115d860a0865101516001600160a01b031690565b613338565b9161160b6115f76115d887516001600160a01b0390511690565b96611600612370565b506040810190611dd2565b906014821061176e57610ff2610fec611627936115d893611fc3565b93613241565b80516001600160a01b0316906001600160a01b03821660018114916116bc6080880151976116ad60408201519360606116826040611674602085015165ffffffffffff1690565b93015165ffffffffffff1690565b9301519461168e610478565b9b8c5260208c015286151560408c015265ffffffffffff1660608b0152565b65ffffffffffff166080890152565b60a087015215159081611765575b50611706575061081d916040519485947fe0cff05f00000000000000000000000000000000000000000000000000000000865260048601612478565b9061081d9261171483613338565b61172e61171f610487565b6001600160a01b039095168552565b60208401526040519586957ffaecb4e4000000000000000000000000000000000000000000000000000000008752600487016123f1565b905015386116ca565b50506116276000613338565b346102c75760203660031901126102c7576001600160a01b0360043561179f8161033e565b1660009081526020818152604091829020805460019091015483516001600160701b038084168252607084901c60ff1615158286015260789390931c9092169382019390935263ffffffff8316606082015291901c65ffffffffffff1660808201528060a081010390f35b1561181157565b606460405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561185c57565b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b634e487b7160e01b600052601160045260246000fd5b919082018092116118c357565b6118a0565b156118cf57565b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561191a57565b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b9065ffffffffffff6080600161035c946119986001600160701b0386511682906001600160701b03166001600160701b0319825416179055565b6020850151815460408701517fffffff000000000000000000000000000000ffffffffffffffffffffffffffff90911691151560701b6eff0000000000000000000000000000169190911760789190911b7cffffffffffffffffffffffffffff0000000000000000000000000000001617815560608501519101805463ffffffff191663ffffffff92909216919091178155920151825469ffffffffffff000000001916911660201b69ffffffffffff0000000016179055565b60001981146118c35760010190565b60005b838110611a745750506000910152565b8181015183820152602001611a64565b90602091611a9d81518092818552858086019101611a61565b601f01601f1916010190565b9060206106ad928181520190611a84565b9291925a90303303611b3d5782518151611af0575b50506106ad93611aea915a90036080840151019336916104c1565b9061265c565b51611b0e91611b0a916001600160a01b0316905a916124db565b1590565b611b19573880611acf565b61081d611b246124ed565b60405191829163231638d960e11b835260048301611aa9565b606460405162461bcd60e51b815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b67ffffffffffffffff81116104095760051b60200190565b60405190611ba6826103ed565b6000608083604051611bb78161040e565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e082015281528260208201528260408201528260608201520152565b90611c0582611b81565b611c126040519182610447565b8281528092611c23601f1991611b81565b019060005b828110611c3457505050565b602090611c3f611b99565b82828501015201611c28565b634e487b7160e01b600052603260045260246000fd5b8051821015611c755760209160051b010190565b611c4b565b9190811015611c755760051b8101359061015e19813603018212156102c7570190565b919082039182116118c357565b3d15611cd5573d90611cbb826104a5565b91611cc96040519384610447565b82523d6000602084013e565b606090565b15611ce157565b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b9190811015611c755760051b81013590605e19813603018212156102c7570190565b903590601e19813603018212156102c7570180359067ffffffffffffffff82116102c757602001918160051b360383136102c757565b356106ad8161033e565b15611d8e57565b606460405162461bcd60e51b815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b903590601e19813603018212156102c7570180359067ffffffffffffffff82116102c7576020019181360383136102c757565b9035601e19823603018112156102c757016020813591019167ffffffffffffffff82116102c75781360383136102c757565b908060209392818452848401376000828201840152601f01601f1916010190565b6106ad91611e7681611e698461036b565b6001600160a01b03169052565b60208201356020820152611f24611f18611ec7611eac611e996040870187611e05565b6101606040880152610160870191611e37565b611eb96060870187611e05565b908683036060880152611e37565b6080850135608085015260a085013560a085015260c085013560c085015260e085013560e0850152610100850135610100850152611f09610120860186611e05565b90858303610120870152611e37565b92610140810190611e05565b91610140818503910152611e37565b94939192909483604082016040835252606081019560608560051b830101948160009061015e1981360301995b838310611f7f5750505050506106ad9495506020818503910152611e37565b9091929397605f1986820301825288358b8112156102c7576020611fa860019386839401611e58565b9a019201930191909392611f60565b6040513d6000823e3d90fd5b906014116102c75790601490565b356bffffffffffffffffffffffff19811692919060148210611ff1575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b908160209103126102c757516106ad8161033e565b9160206106ad938181520191611e37565b6001600160a01b039061210b6020820135916120fd61206261205c6040840184611dd2565b90613e32565b61207261205c6060850185611dd2565b608084013560a085013560c08601359060e087013592610100880135946120a061205c6101208b018b611dd2565b966040519b8c9a60208c019e8f913516909693909a999895926101209895926001600160a01b036101408a019d168952602089015260408801526060870152608086015260a085015260c084015260e08301526101008201520152565b03601f198101835282610447565b5190206040805160208101928352309181019190915246606082015261213481608081016120fd565b51902090565b6001600160a01b039061214d348261304a565b168060005260006020527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160701b0360406000205416604051908152a2565b1561219957565b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff82116118c357565b1561220257565b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561224d57565b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561229857565b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b156122e357565b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b908092918237016000815290565b929365ffffffffffff60c0956106ad989794829487526020870152166040850152166060830152151560808201528160a08201520190611a84565b604051906040820182811067ffffffffffffffff8211176104095760405260006020838281520152565b9060c060a06106ad93805184526020810151602085015260408101511515604085015265ffffffffffff606082015116606085015265ffffffffffff60808201511660808501520151918160a08201520190611a84565b929461245461035c9561244261010095999861243061241c6020976101408b526101408b019061239a565b9b878a019060208091805184520151910152565b80516060890152602001516080880152565b805160a08701526020015160c0860152565b6001600160a01b0381511660e0850152015191019060208091805184520151910152565b6124c161035c946124af61249a60a0959998969960e0865260e086019061239a565b98602085019060208091805184520151910152565b80516060840152602001516080830152565b019060208091805184520151910152565b61035c3361213a565b9060009283809360208451940192f190565b3d6108008111612512575b604051906020818301016040528082526000602083013e90565b506108006124f8565b6003111561252557565b634e487b7160e01b600052602160045260246000fd5b93929190600381101561252557604091612562918652606060208701526060860190611a84565b930152565b60009060033d1161257457565b905060046000803e60005160e01c90565b600060443d106106ad576040513d600319016004823e8051913d602484011167ffffffffffffffff8411176125f4578282019283519167ffffffffffffffff83116125ec573d840160031901858401602001116125ec57506106ad92910160200190610447565b949350505050565b92915050565b6040906106ad939281528160208201520190611a84565b60a0906106ad9392815260606020820152601460608201527f4141353020706f73744f7020726576657274656400000000000000000000000060808201528160408201520190611a84565b92915a9380519061266c82613379565b9260a083019461268386516001600160a01b031690565b6001600160a01b0381169190826127b7575050506126a883516001600160a01b031690565b965b5a90030192830295604082019087825110612763577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f926126f96020928a6001600160a01b039551039061304a565b612703600061251b565b01519261275e602061272d61271f84516001600160a01b031690565b98516001600160a01b031690565b9201519589600185604051968796169a16988590949392606092608083019683521515602083015260408201520152565b0390a4565b604051631101335b60e11b81528061081d600060048301608091815260406020820152602060408201527f414135312070726566756e642062656c6f772061637475616c476173436f737460608201520190565b989181516127c7575b50506126aa565b6127d1600061251b565b606086015191813b156102c7576128209288600080946040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c0290856004850161253b565b0393f190816128d1575b506128ca57612837611caa565b8051156128765761081d906040519182917f65c8fd4d000000000000000000000000000000000000000000000000000000008352600060048401612611565b604051631101335b60e11b81528061081d600060048301608091815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b38806127c0565b80610d9960006128e093610447565b3861282a565b156128ed57565b606460405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b916000915a9381519061294482826133ec565b61294d81612037565b602084015261298b6effffffffffffffffffffffffffffff608084015160608501511760408501511760e084013561010085013591171711156128e6565b61299482613494565b6129a18185846000613549565b97906129c5611b0a6129ba87516001600160a01b031690565b6020880151906137e4565b612a90576129d243600052565b6001600160a01b036129f060a060609701516001600160a01b031690565b16612a74575b505a810360a084013510612a205760809360c092604087015260608601525a900391013501910152565b604051631101335b60e11b81528061081d600060048301608091815260406020820152601e60408201527f41413430206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b90935081612a8792975085846000613930565b959092386129f6565b604051631101335b60e11b81528061081d600060048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b9290916000925a8251612af781846133ec565b612b0083612037565b6020850152612b3e6effffffffffffffffffffffffffffff608083015160608401511760408401511760e086013561010087013591171711156128e6565b612b4781613494565b612b538186868b613549565b9890612b77611b0a612b6c86516001600160a01b031690565b6020870151906137e4565b612c3c57612b8443600052565b6001600160a01b03612ba260a060609601516001600160a01b031690565b16612c21575b505a840360a086013510612bd45750604085015260608401526080919060c0905a900391013501910152565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b90925081612c33929850868685613930565b96909138612ba8565b61081d82604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b926001600160a01b03612ca48193613b24565b93169116036108cb5761087657612cc26001600160a01b0391613b24565b9116610821576107a95750565b908160209103126102c7575190565b90612cfa6080916106ad96946101c085526101c0850191611e37565b9360e081516001600160a01b03815116602086015260208101516040860152604081015160608601526060810151848601528381015160a08601526001600160a01b0360a08201511660c086015260c081015182860152015161010084015260208101516101208401526040810151610140840152606081015161016084015201516101808201526101a0818403910152611a84565b612de0602091612da96060850151916060810190611dd2565b92909160405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601612cde565b03816000305af160009181612e96575b506106ad57612dfd611caa565b60206000803e63deaddead60e01b60005114612e4257805115612e2257805190602001fd5b60405163231638d960e11b81526020600482015260006024820152604490fd5b604051631101335b60e11b81528061081d600060048301608091815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b612eb991925060203d602011612ec0575b612eb18183610447565b810190612ccf565b9038612df0565b503d612ea7565b929190612ee3602091612da96060850151916060810190611dd2565b03816000305af160009181612f79575b50612f755782612f01611caa565b9060206000803e63deaddead60e01b60005114612f285750805115612e2257805190602001fd5b60408051631101335b60e11b815260048101929092526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152608490fd5b9150565b612f9391925060203d602011612ec057612eb18183610447565b9038612ef3565b6001600160a01b0316801561300657600080809381935af1612fba611caa565b5015612fc257565b606460405162461bcd60e51b815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b606460405162461bcd60e51b815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b6001600160a01b0316600052600060205260406000206001600160701b038154169182018092116118c3576001600160701b0382116130aa576001600160701b0361035c92166001600160701b03166001600160701b0319825416179055565b606460405162461bcd60e51b815260206004820152601060248201527f6465706f736974206f766572666c6f77000000000000000000000000000000006044820152fd5b906131106001600160a01b03916106ad97959694606085526060850191611e37565b941660208201526040818503910152611e37565b9060406106ad92600081528160208201520190611a84565b6131496040820182611dd2565b61316161315584611d7d565b93610120810190611dd2565b9290303b156102c7576000936131a59160405196879586957f957122ab000000000000000000000000000000000000000000000000000000008752600487016130ee565b0381305afa908161320d575b5061035c5760016131c0612567565b6308c379a0146131d1575b61117b57565b6131d9612585565b806131e5575b506131cb565b805160009250156131df5761081d90604051918291631101335b60e11b835260048301613124565b80610d99600061321c93610447565b386131b1565b6040519061322f8261042b565b60006040838281528260208201520152565b61325661325c91613250613222565b50613b75565b91613b75565b81516001600160a01b0316908115613326575b8261328c604061152160206106ad9697015165ffffffffffff1690565b916132a56040611521602084015165ffffffffffff1690565b9065ffffffffffff811665ffffffffffff84161061331e575b5065ffffffffffff811665ffffffffffff841611613314575b50613305906132f66132e7610496565b6001600160a01b039096168652565b65ffffffffffff166020850152565b65ffffffffffff166040830152565b91506133056132d7565b9150386132be565b80516001600160a01b0316915061326f565b906001600160a01b03613349612370565b9216600052600060205263ffffffff600160406000206001600160701b03815460781c1685520154166020830152565b60e060c082015191015180821461339d57480180821015613398575090565b905090565b5090565b156133a857565b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b613451906134096133fc82611d7d565b6001600160a01b03168452565b602081013560208401526080810135604084015260a0810135606084015260c0810135608084015260e081013560c084015261010081013560e0840152610120810190611dd2565b9081156134895761347b610ff2610fec8460a094613476601461035c999810156133a1565b611fc3565b6001600160a01b0316910152565b505060a06000910152565b60a08101516001600160a01b0316156134c95760c060035b60ff60408401519116606084015102016080830151019101510290565b60c060016134ac565b6134ea60409295949395606083526060830190611e58565b9460208201520152565b9061035c602f60405180947f414132332072657665727465643a20000000000000000000000000000000000060208301526135388151809260208686019101611a61565b81010301601f198101845283610447565b93929190915a916135f0602082519561356987516001600160a01b031690565b9361358261357a6040840184611dd2565b90838d613bd0565b60a08801516001600160a01b03169161359a43600052565b6001600160a01b036000931615988961378b575b846060600092015193015191604051968795869485937f3a871cdd000000000000000000000000000000000000000000000000000000008552600485016134d2565b03926001600160a01b03881690f16000918161376a575b506136a65786613615612567565b6308c379a01461366d575b60408051631101335b60e11b815260048101929092526024820152601660448201527f4141323320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b613675612585565b806136805750613620565b613689906134f4565b9061081d604051928392631101335b60e11b8452600484016125fa565b949592936136b8575b5050505a900391565b6136d5906001600160a01b03166000526000602052604060002090565b916136ea61023384546001600160701b031690565b9081831161371d575082546dffffffffffffffffffffffffffff19169190036001600160701b03161790553880806136af565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61378491925060203d602011612ec057612eb18183610447565b9038613607565b92506137bd6102336137b0886001600160a01b03166000526000602052604060002090565b546001600160701b031690565b878111156137d757506000846060825b95925050506135ae565b8460606000928a036137cd565b6001600160a01b0316600052600160205267ffffffffffffffff6138228260401c6040600020906001600160c01b0316600052602052604060002090565b9182549261382f84611a52565b9055161490565b1561383d57565b606460405162461bcd60e51b815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152fd5b91906040838203126102c757825167ffffffffffffffff81116102c75783019080601f830112156102c7578151916138b8836104a5565b916138c66040519384610447565b838352602084830101116102c7576020926138e691848085019101611a61565b92015190565b9061035c602f60405180947f414133332072657665727465643a20000000000000000000000000000000000060208301526135388151809260208686019101611a61565b939094929194855161395c60a060608301519261394e868511613836565b01516001600160a01b031690565b9261397a846001600160a01b03166000526000602052604060002090565b61398e61023382546001600160701b031690565b868110613acf57916001600160a01b036020613a0f9a9b6139d68a999897956001600160701b0360009c8d9903166001600160701b03166001600160701b0319825416179055565b0151946040519a8b98899788937ff465c77e000000000000000000000000000000000000000000000000000000008552600485016134d2565b0395169103f19182600091600094613aa8575b50613aa45783613a30612567565b6308c379a014613a88575b60408051631101335b60e11b815260048101929092526024820152601660448201527f4141333320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b613a90612585565b80613a9b5750613a3b565b613689906138ec565b9250565b909350613ac891503d806000833e613ac08183610447565b810190613881565b9238613a22565b61081d89604051918291631101335b60e11b835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b8015613b6c57613b3390613b75565b65ffffffffffff60408201511642118015613b57575b90516001600160a01b031691565b50602081015165ffffffffffff164210613b49565b50600090600090565b613b7d613222565b5065ffffffffffff8160a01c168015613bc3575b65ffffffffffff9060405192613ba68461042b565b6001600160a01b038116845260d01c602084015216604082015290565b5065ffffffffffff613b91565b92909181613bdf575b50505050565b8251516001600160a01b031693843b613de55760608451015160206040518092632b870d1b60e11b8252816000737fc98430eaedbb6070b35b39d79872504908834882613c308b8b60048401612026565b0393f190811561117b57600091613dc6575b506001600160a01b038116958615613d71576001600160a01b0316809603613d1c573b15613ccf5750610ff2610fec7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d93613c9c93611fc3565b602083810151935160a00151604080516001600160a01b039485168152939091169183019190915290a338808080613bd9565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b61081d82604051918291631101335b60e11b835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b61081d83604051918291631101335b60e11b835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613ddf915060203d602011611174576111668183610447565b38613c42565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b81604051918237209056fea2646970667358221220381cc6c8fc47a9d23449893c1b00eb36b7d600ba7be1da57a4c87df5f5d7bbe164736f6c634300081c0033","sourceMap":"1167:32840:15:-:0;;;;;;;1713:1:12;1917:21;1713:1;1167:32840:15;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610023575b361561001957600080fd5b6100216124d2565b005b60003560e01c80630396cb60146101635780630bd28e3b1461015e5780631b2e01b8146101595780631d732756146101545780631fad948c1461014f578063205c28781461014a57806335567e1a146101455780634b1d7cf5146101405780635287ce121461013b57806370a08231146101365780638f41ec5a14610131578063957122ab1461012c5780639b249f6914610127578063a619353114610122578063b760faf91461011d578063bb9fe6bf14610118578063c23a5cea14610113578063d6383f941461010e578063ee219423146101095763fc7e286d0361000e5761177a565b611594565b611454565b611321565b6111fa565b6111da565b6111ba565b611099565b610f44565b610f28565b610ed6565b610da5565b610ab3565b610a42565b610920565b6106b7565b610526565b610376565b6102e2565b60203660031901126102c75760043563ffffffff81168082036102c7576102c27fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916101f56101c5336001600160a01b03166000526000602052604060002090565b916101d181151561180a565b6101ee6101e5600185015463ffffffff1690565b63ffffffff1690565b1115611855565b54926102a461023f610214346001600160701b03607889901c166118b6565b956102208715156118c8565b6102336001600160701b03881115611913565b6001600160701b031690565b61025961024a610469565b6001600160701b039092168252565b600160208201526001600160701b038616604082015263ffffffff831660608201526000608082015261029f336001600160a01b03166000526000602052604060002090565b61195e565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b602435906001600160c01b03821682036102c757565b346102c75760203660031901126102c7576004356001600160c01b03811681036102c757610330903360005260016020526040600020906001600160c01b0316600052602052604060002090565b61033a8154611a52565b9055005b6001600160a01b038116036102c757565b6024359061035c8261033e565b565b60c4359061035c8261033e565b359061035c8261033e565b346102c75760403660031901126102c75760206103ce6004356103988161033e565b6001600160a01b036103a86102cc565b9116600052600183526040600020906001600160c01b0316600052602052604060002090565b54604051908152f35b634e487b7160e01b600052604160045260246000fd5b60a0810190811067ffffffffffffffff82111761040957604052565b6103d7565b610100810190811067ffffffffffffffff82111761040957604052565b6060810190811067ffffffffffffffff82111761040957604052565b90601f8019910116810190811067ffffffffffffffff82111761040957604052565b6040519061035c60a083610447565b6040519061035c60c083610447565b6040519061035c604083610447565b6040519061035c606083610447565b67ffffffffffffffff811161040957601f01601f191660200190565b9291926104cd826104a5565b916104db6040519384610447565b8294818452818301116102c7578281602093846000960137010152565b9181601f840112156102c75782359167ffffffffffffffff83116102c757602083818601950101116102c757565b346102c7576101c03660031901126102c75760043567ffffffffffffffff81116102c757366023820112156102c7576105699036906024816004013591016104c1565b366023190161018081126102c75761010060405191610587836103ed565b126102c7576040516105988161040e565b6105a061034f565b815260443560208201526064356040820152608435606082015260a43560808201526105ca61035e565b60a082015260e43560c08201526101043560e082015281526101243560208201526101443560408201526101643560608201526101843560808201526101a4359067ffffffffffffffff82116102c7576106479261062f6106379336906004016104f8565b929091611aba565b6040519081529081906020820190565b0390f35b9060406003198301126102c75760043567ffffffffffffffff81116102c75760040160009280601f830112156106b35781359367ffffffffffffffff85116106b057506020808301928560051b0101116102c75791906024356106ad8161033e565b90565b80fd5b8380fd5b346102c7576106c53661064b565b6106d0829392611bfb565b60005b84811061074657506000927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a183915b858310610716576100218585612f9a565b90919360019061073c61072a878987611c7a565b6107348886611c61565b519088612ec7565b0194019190610705565b6107796001600160a01b0361077261076084869896611c61565b5161076c858a88611c7a565b85612ae4565b9290613b24565b91166108cb57610876576107946001600160a01b0391613b24565b9116610821576107a9576001019290926106d3565b60408051631101335b60e11b815260048101929092526024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f650000000000000000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b61081d82604051918291631101335b60e11b835260048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b61081d82604051918291631101335b60e11b835260048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b61081d83604051918291631101335b60e11b835260048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b346102c75760403660031901126102c75760043561093d8161033e565b60243533600052600060205260406000208054926001600160701b03841683116109fe576000836001600160a01b038295936109b1849661099761023387986109926102336100219e6001600160701b031690565b611c9d565b6001600160701b03166001600160701b0319825416179055565b604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af16109f8611caa565b50611cda565b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b346102c75760403660031901126102c7576020600435610a618161033e565b6001600160a01b03610a716102cc565b911660005260018252610a9b816040600020906001600160c01b0316600052602052604060002090565b546040805192901b67ffffffffffffffff1916178152f35b346102c757610ac13661064b565b9060009160005b828110610c7f5750610ada8493611bfb565b7fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f972600080a16000805b848110610bfd57505060009260009060005b818110610b4c57610021868660007f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d8180a2612f9a565b610ba3610b5a82848a611d25565b610b78610b6c610b6c60208401611d7d565b6001600160a01b031690565b7f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d600080a280611d47565b906000915b808310610bba57505050600101610b15565b90919497610bf4610bee600192610be88c8b610be182610bdb8e8b8d611c7a565b92611c61565b5191612ec7565b906118b6565b99611a52565b95019190610ba8565b610c08818688611d25565b6020610c20610c178380611d47565b92909301611d7d565b916001600160a01b0360009316905b828410610c425750505050600101610b03565b90919294610c7581610c7085610c69610c5d6001968d611c61565b5161076c8c8b8a611c7a565b908b612c91565b611a52565b9501929190610c2f565b610c8a818487611d25565b93610c958580611d47565b9190610ca6610b6c60208901611d7d565b966001600160a01b038816610cbe6001821415611d87565b610cdf575b50506001929394955090610cd6916118b6565b93929101610ac8565b806040610ced920190611dd2565b889291923b156102c757600091610d33869260405195869485947fe3563a4f00000000000000000000000000000000000000000000000000000000865260048601611f33565b03818a5afa9081610d8a575b50610d7b577f86a9f750000000000000000000000000000000000000000000000000000000006000526001600160a01b03861660045260246000fd5b9394508493610cd66001610cc3565b80610d996000610d9f93610447565b80610f1d565b38610d3f565b346102c75760203660031901126102c7576001600160a01b03600435610dca8161033e565b60006080604051610dda816103ed565b82815282602082015282604082015282606082015201521660005260006020526106476040600020610e79610e6a600160405193610e17856103ed565b6001600160701b038154818116875260ff8160701c161515602088015260781c1660408601520154610e5c610e4f8263ffffffff1690565b63ffffffff166060860152565b60201c65ffffffffffff1690565b65ffffffffffff166080830152565b60405191829182919091608065ffffffffffff8160a08401956001600160701b0381511685526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346102c75760203660031901126102c7576001600160a01b03600435610efb8161033e565b16600052600060205260206001600160701b0360406000205416604051908152f35b60009103126102c757565b346102c75760003660031901126102c757602060405160018152f35b346102c75760603660031901126102c75760043567ffffffffffffffff81116102c757610f759036906004016104f8565b9050602435610f838161033e565b60443567ffffffffffffffff81116102c757610fa39036906004016104f8565b91909215908161108f575b5061104a576014811015610fdc575b60405162461bcd60e51b81526020600482015260006024820152604490fd5b610fec610ff291610ff893611fc3565b90611fd1565b60601c90565b3b15611005573880610fbd565b60405162461bcd60e51b815260206004820152601b60248201527f41413330207061796d6173746572206e6f74206465706c6f79656400000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601960248201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006044820152606490fd5b90503b1538610fae565b346102c75760203660031901126102c75760043567ffffffffffffffff81116102c75760206110cf6110eb9236906004016104f8565b906040519384928392632b870d1b60e11b845260048401612026565b03816000737fc98430eaedbb6070b35b39d7987250490883485af1801561117b576001600160a01b039160009161114c575b507f6ca7b806000000000000000000000000000000000000000000000000000000006000521660045260246000fd5b61116e915060203d602011611174575b6111668183610447565b810190612011565b3861111d565b503d61115c565b611fb7565b90816101609103126102c75790565b60206003198201126102c7576004359067ffffffffffffffff82116102c7576106ad91600401611180565b346102c75760206111d26111cd3661118f565b612037565b604051908152f35b60203660031901126102c7576100216004356111f58161033e565b61213a565b346102c75760003660031901126102c7573360005260006020526040600020600181019081549063ffffffff8216156112dd576112886112626112546101e56112a0956101e561124f875460ff9060701c1690565b612192565b65ffffffffffff42166121dd565b845469ffffffffffff000000001916602082901b69ffffffffffff000000001617909455565b80546eff000000000000000000000000000019169055565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a9080602081016102c2565b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b346102c75760203660031901126102c75761002160008080806004356113468161033e565b6001600160a01b0361136b336001600160a01b03166000526000602052604060002090565b9161140761138761023385546001600160701b039060781c1690565b936113938515156121fb565b6113df600182016113cc65ffffffffffff6113b8835465ffffffffffff9060201c1690565b166113c4811515612246565b421015612291565b805469ffffffffffffffffffff19169055565b7fffffff0000000000000000000000000000ffffffffffffffffffffffffffffff8154169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af161144e611caa565b506122dc565b346102c75760603660031901126102c75760043567ffffffffffffffff81116102c757611485903690600401611180565b602435906114928261033e565b60443567ffffffffffffffff81116102c7576114b561081d9136906004016104f8565b6114bd611b99565b6114c68561313c565b6114e7816114dd6114d78289612931565b90613241565b9643600052612d90565b95436000526000926060946001600160a01b038316611562575b505050608001519361152f6040611521602084015165ffffffffffff1690565b92015165ffffffffffff1690565b906040519687967f8b7ac98000000000000000000000000000000000000000000000000000000000885260048801612335565b6000945084939550839061157b60405180948193612327565b03925af190608061158a611caa565b9291903880611501565b346102c7576115a23661118f565b6115aa611b99565b6115b38261313c565b6115bd8183612931565b61162d6115dd6115d860a0865101516001600160a01b031690565b613338565b9161160b6115f76115d887516001600160a01b0390511690565b96611600612370565b506040810190611dd2565b906014821061176e57610ff2610fec611627936115d893611fc3565b93613241565b80516001600160a01b0316906001600160a01b03821660018114916116bc6080880151976116ad60408201519360606116826040611674602085015165ffffffffffff1690565b93015165ffffffffffff1690565b9301519461168e610478565b9b8c5260208c015286151560408c015265ffffffffffff1660608b0152565b65ffffffffffff166080890152565b60a087015215159081611765575b50611706575061081d916040519485947fe0cff05f00000000000000000000000000000000000000000000000000000000865260048601612478565b9061081d9261171483613338565b61172e61171f610487565b6001600160a01b039095168552565b60208401526040519586957ffaecb4e4000000000000000000000000000000000000000000000000000000008752600487016123f1565b905015386116ca565b50506116276000613338565b346102c75760203660031901126102c7576001600160a01b0360043561179f8161033e565b1660009081526020818152604091829020805460019091015483516001600160701b038084168252607084901c60ff1615158286015260789390931c9092169382019390935263ffffffff8316606082015291901c65ffffffffffff1660808201528060a081010390f35b1561181157565b606460405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561185c57565b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b634e487b7160e01b600052601160045260246000fd5b919082018092116118c357565b6118a0565b156118cf57565b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561191a57565b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b9065ffffffffffff6080600161035c946119986001600160701b0386511682906001600160701b03166001600160701b0319825416179055565b6020850151815460408701517fffffff000000000000000000000000000000ffffffffffffffffffffffffffff90911691151560701b6eff0000000000000000000000000000169190911760789190911b7cffffffffffffffffffffffffffff0000000000000000000000000000001617815560608501519101805463ffffffff191663ffffffff92909216919091178155920151825469ffffffffffff000000001916911660201b69ffffffffffff0000000016179055565b60001981146118c35760010190565b60005b838110611a745750506000910152565b8181015183820152602001611a64565b90602091611a9d81518092818552858086019101611a61565b601f01601f1916010190565b9060206106ad928181520190611a84565b9291925a90303303611b3d5782518151611af0575b50506106ad93611aea915a90036080840151019336916104c1565b9061265c565b51611b0e91611b0a916001600160a01b0316905a916124db565b1590565b611b19573880611acf565b61081d611b246124ed565b60405191829163231638d960e11b835260048301611aa9565b606460405162461bcd60e51b815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b67ffffffffffffffff81116104095760051b60200190565b60405190611ba6826103ed565b6000608083604051611bb78161040e565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e082015281528260208201528260408201528260608201520152565b90611c0582611b81565b611c126040519182610447565b8281528092611c23601f1991611b81565b019060005b828110611c3457505050565b602090611c3f611b99565b82828501015201611c28565b634e487b7160e01b600052603260045260246000fd5b8051821015611c755760209160051b010190565b611c4b565b9190811015611c755760051b8101359061015e19813603018212156102c7570190565b919082039182116118c357565b3d15611cd5573d90611cbb826104a5565b91611cc96040519384610447565b82523d6000602084013e565b606090565b15611ce157565b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b9190811015611c755760051b81013590605e19813603018212156102c7570190565b903590601e19813603018212156102c7570180359067ffffffffffffffff82116102c757602001918160051b360383136102c757565b356106ad8161033e565b15611d8e57565b606460405162461bcd60e51b815260206004820152601760248201527f4141393620696e76616c69642061676772656761746f720000000000000000006044820152fd5b903590601e19813603018212156102c7570180359067ffffffffffffffff82116102c7576020019181360383136102c757565b9035601e19823603018112156102c757016020813591019167ffffffffffffffff82116102c75781360383136102c757565b908060209392818452848401376000828201840152601f01601f1916010190565b6106ad91611e7681611e698461036b565b6001600160a01b03169052565b60208201356020820152611f24611f18611ec7611eac611e996040870187611e05565b6101606040880152610160870191611e37565b611eb96060870187611e05565b908683036060880152611e37565b6080850135608085015260a085013560a085015260c085013560c085015260e085013560e0850152610100850135610100850152611f09610120860186611e05565b90858303610120870152611e37565b92610140810190611e05565b91610140818503910152611e37565b94939192909483604082016040835252606081019560608560051b830101948160009061015e1981360301995b838310611f7f5750505050506106ad9495506020818503910152611e37565b9091929397605f1986820301825288358b8112156102c7576020611fa860019386839401611e58565b9a019201930191909392611f60565b6040513d6000823e3d90fd5b906014116102c75790601490565b356bffffffffffffffffffffffff19811692919060148210611ff1575050565b6bffffffffffffffffffffffff1960149290920360031b82901b16169150565b908160209103126102c757516106ad8161033e565b9160206106ad938181520191611e37565b6001600160a01b039061210b6020820135916120fd61206261205c6040840184611dd2565b90613e32565b61207261205c6060850185611dd2565b608084013560a085013560c08601359060e087013592610100880135946120a061205c6101208b018b611dd2565b966040519b8c9a60208c019e8f913516909693909a999895926101209895926001600160a01b036101408a019d168952602089015260408801526060870152608086015260a085015260c084015260e08301526101008201520152565b03601f198101835282610447565b5190206040805160208101928352309181019190915246606082015261213481608081016120fd565b51902090565b6001600160a01b039061214d348261304a565b168060005260006020527f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160701b0360406000205416604051908152a2565b1561219957565b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff82116118c357565b1561220257565b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561224d57565b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561229857565b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b156122e357565b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b908092918237016000815290565b929365ffffffffffff60c0956106ad989794829487526020870152166040850152166060830152151560808201528160a08201520190611a84565b604051906040820182811067ffffffffffffffff8211176104095760405260006020838281520152565b9060c060a06106ad93805184526020810151602085015260408101511515604085015265ffffffffffff606082015116606085015265ffffffffffff60808201511660808501520151918160a08201520190611a84565b929461245461035c9561244261010095999861243061241c6020976101408b526101408b019061239a565b9b878a019060208091805184520151910152565b80516060890152602001516080880152565b805160a08701526020015160c0860152565b6001600160a01b0381511660e0850152015191019060208091805184520151910152565b6124c161035c946124af61249a60a0959998969960e0865260e086019061239a565b98602085019060208091805184520151910152565b80516060840152602001516080830152565b019060208091805184520151910152565b61035c3361213a565b9060009283809360208451940192f190565b3d6108008111612512575b604051906020818301016040528082526000602083013e90565b506108006124f8565b6003111561252557565b634e487b7160e01b600052602160045260246000fd5b93929190600381101561252557604091612562918652606060208701526060860190611a84565b930152565b60009060033d1161257457565b905060046000803e60005160e01c90565b600060443d106106ad576040513d600319016004823e8051913d602484011167ffffffffffffffff8411176125f4578282019283519167ffffffffffffffff83116125ec573d840160031901858401602001116125ec57506106ad92910160200190610447565b949350505050565b92915050565b6040906106ad939281528160208201520190611a84565b60a0906106ad9392815260606020820152601460608201527f4141353020706f73744f7020726576657274656400000000000000000000000060808201528160408201520190611a84565b92915a9380519061266c82613379565b9260a083019461268386516001600160a01b031690565b6001600160a01b0381169190826127b7575050506126a883516001600160a01b031690565b965b5a90030192830295604082019087825110612763577f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f926126f96020928a6001600160a01b039551039061304a565b612703600061251b565b01519261275e602061272d61271f84516001600160a01b031690565b98516001600160a01b031690565b9201519589600185604051968796169a16988590949392606092608083019683521515602083015260408201520152565b0390a4565b604051631101335b60e11b81528061081d600060048301608091815260406020820152602060408201527f414135312070726566756e642062656c6f772061637475616c476173436f737460608201520190565b989181516127c7575b50506126aa565b6127d1600061251b565b606086015191813b156102c7576128209288600080946040518097819682957fa9a234090000000000000000000000000000000000000000000000000000000084528c0290856004850161253b565b0393f190816128d1575b506128ca57612837611caa565b8051156128765761081d906040519182917f65c8fd4d000000000000000000000000000000000000000000000000000000008352600060048401612611565b604051631101335b60e11b81528061081d600060048301608091815260406020820152601260408201527f4141353020706f73744f7020726576657274000000000000000000000000000060608201520190565b38806127c0565b80610d9960006128e093610447565b3861282a565b156128ed57565b606460405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b916000915a9381519061294482826133ec565b61294d81612037565b602084015261298b6effffffffffffffffffffffffffffff608084015160608501511760408501511760e084013561010085013591171711156128e6565b61299482613494565b6129a18185846000613549565b97906129c5611b0a6129ba87516001600160a01b031690565b6020880151906137e4565b612a90576129d243600052565b6001600160a01b036129f060a060609701516001600160a01b031690565b16612a74575b505a810360a084013510612a205760809360c092604087015260608601525a900391013501910152565b604051631101335b60e11b81528061081d600060048301608091815260406020820152601e60408201527f41413430206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b90935081612a8792975085846000613930565b959092386129f6565b604051631101335b60e11b81528061081d600060048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b9290916000925a8251612af781846133ec565b612b0083612037565b6020850152612b3e6effffffffffffffffffffffffffffff608083015160608401511760408401511760e086013561010087013591171711156128e6565b612b4781613494565b612b538186868b613549565b9890612b77611b0a612b6c86516001600160a01b031690565b6020870151906137e4565b612c3c57612b8443600052565b6001600160a01b03612ba260a060609601516001600160a01b031690565b16612c21575b505a840360a086013510612bd45750604085015260608401526080919060c0905a900391013501910152565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413430206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b90925081612c33929850868685613930565b96909138612ba8565b61081d82604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b926001600160a01b03612ca48193613b24565b93169116036108cb5761087657612cc26001600160a01b0391613b24565b9116610821576107a95750565b908160209103126102c7575190565b90612cfa6080916106ad96946101c085526101c0850191611e37565b9360e081516001600160a01b03815116602086015260208101516040860152604081015160608601526060810151848601528381015160a08601526001600160a01b0360a08201511660c086015260c081015182860152015161010084015260208101516101208401526040810151610140840152606081015161016084015201516101808201526101a0818403910152611a84565b612de0602091612da96060850151916060810190611dd2565b92909160405195869485947f1d73275600000000000000000000000000000000000000000000000000000000865260048601612cde565b03816000305af160009181612e96575b506106ad57612dfd611caa565b60206000803e63deaddead60e01b60005114612e4257805115612e2257805190602001fd5b60405163231638d960e11b81526020600482015260006024820152604490fd5b604051631101335b60e11b81528061081d600060048301608091815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b612eb991925060203d602011612ec0575b612eb18183610447565b810190612ccf565b9038612df0565b503d612ea7565b929190612ee3602091612da96060850151916060810190611dd2565b03816000305af160009181612f79575b50612f755782612f01611caa565b9060206000803e63deaddead60e01b60005114612f285750805115612e2257805190602001fd5b60408051631101335b60e11b815260048101929092526024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152608490fd5b9150565b612f9391925060203d602011612ec057612eb18183610447565b9038612ef3565b6001600160a01b0316801561300657600080809381935af1612fba611caa565b5015612fc257565b606460405162461bcd60e51b815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b606460405162461bcd60e51b815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b6001600160a01b0316600052600060205260406000206001600160701b038154169182018092116118c3576001600160701b0382116130aa576001600160701b0361035c92166001600160701b03166001600160701b0319825416179055565b606460405162461bcd60e51b815260206004820152601060248201527f6465706f736974206f766572666c6f77000000000000000000000000000000006044820152fd5b906131106001600160a01b03916106ad97959694606085526060850191611e37565b941660208201526040818503910152611e37565b9060406106ad92600081528160208201520190611a84565b6131496040820182611dd2565b61316161315584611d7d565b93610120810190611dd2565b9290303b156102c7576000936131a59160405196879586957f957122ab000000000000000000000000000000000000000000000000000000008752600487016130ee565b0381305afa908161320d575b5061035c5760016131c0612567565b6308c379a0146131d1575b61117b57565b6131d9612585565b806131e5575b506131cb565b805160009250156131df5761081d90604051918291631101335b60e11b835260048301613124565b80610d99600061321c93610447565b386131b1565b6040519061322f8261042b565b60006040838281528260208201520152565b61325661325c91613250613222565b50613b75565b91613b75565b81516001600160a01b0316908115613326575b8261328c604061152160206106ad9697015165ffffffffffff1690565b916132a56040611521602084015165ffffffffffff1690565b9065ffffffffffff811665ffffffffffff84161061331e575b5065ffffffffffff811665ffffffffffff841611613314575b50613305906132f66132e7610496565b6001600160a01b039096168652565b65ffffffffffff166020850152565b65ffffffffffff166040830152565b91506133056132d7565b9150386132be565b80516001600160a01b0316915061326f565b906001600160a01b03613349612370565b9216600052600060205263ffffffff600160406000206001600160701b03815460781c1685520154166020830152565b60e060c082015191015180821461339d57480180821015613398575090565b905090565b5090565b156133a857565b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b613451906134096133fc82611d7d565b6001600160a01b03168452565b602081013560208401526080810135604084015260a0810135606084015260c0810135608084015260e081013560c084015261010081013560e0840152610120810190611dd2565b9081156134895761347b610ff2610fec8460a094613476601461035c999810156133a1565b611fc3565b6001600160a01b0316910152565b505060a06000910152565b60a08101516001600160a01b0316156134c95760c060035b60ff60408401519116606084015102016080830151019101510290565b60c060016134ac565b6134ea60409295949395606083526060830190611e58565b9460208201520152565b9061035c602f60405180947f414132332072657665727465643a20000000000000000000000000000000000060208301526135388151809260208686019101611a61565b81010301601f198101845283610447565b93929190915a916135f0602082519561356987516001600160a01b031690565b9361358261357a6040840184611dd2565b90838d613bd0565b60a08801516001600160a01b03169161359a43600052565b6001600160a01b036000931615988961378b575b846060600092015193015191604051968795869485937f3a871cdd000000000000000000000000000000000000000000000000000000008552600485016134d2565b03926001600160a01b03881690f16000918161376a575b506136a65786613615612567565b6308c379a01461366d575b60408051631101335b60e11b815260048101929092526024820152601660448201527f4141323320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b613675612585565b806136805750613620565b613689906134f4565b9061081d604051928392631101335b60e11b8452600484016125fa565b949592936136b8575b5050505a900391565b6136d5906001600160a01b03166000526000602052604060002090565b916136ea61023384546001600160701b031690565b9081831161371d575082546dffffffffffffffffffffffffffff19169190036001600160701b03161790553880806136af565b60408051631101335b60e11b815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b61378491925060203d602011612ec057612eb18183610447565b9038613607565b92506137bd6102336137b0886001600160a01b03166000526000602052604060002090565b546001600160701b031690565b878111156137d757506000846060825b95925050506135ae565b8460606000928a036137cd565b6001600160a01b0316600052600160205267ffffffffffffffff6138228260401c6040600020906001600160c01b0316600052602052604060002090565b9182549261382f84611a52565b9055161490565b1561383d57565b606460405162461bcd60e51b815260206004820152601f60248201527f4141343120746f6f206c6974746c6520766572696669636174696f6e476173006044820152fd5b91906040838203126102c757825167ffffffffffffffff81116102c75783019080601f830112156102c7578151916138b8836104a5565b916138c66040519384610447565b838352602084830101116102c7576020926138e691848085019101611a61565b92015190565b9061035c602f60405180947f414133332072657665727465643a20000000000000000000000000000000000060208301526135388151809260208686019101611a61565b939094929194855161395c60a060608301519261394e868511613836565b01516001600160a01b031690565b9261397a846001600160a01b03166000526000602052604060002090565b61398e61023382546001600160701b031690565b868110613acf57916001600160a01b036020613a0f9a9b6139d68a999897956001600160701b0360009c8d9903166001600160701b03166001600160701b0319825416179055565b0151946040519a8b98899788937ff465c77e000000000000000000000000000000000000000000000000000000008552600485016134d2565b0395169103f19182600091600094613aa8575b50613aa45783613a30612567565b6308c379a014613a88575b60408051631101335b60e11b815260048101929092526024820152601660448201527f4141333320726576657274656420286f72204f4f4729000000000000000000006064820152608490fd5b613a90612585565b80613a9b5750613a3b565b613689906138ec565b9250565b909350613ac891503d806000833e613ac08183610447565b810190613881565b9238613a22565b61081d89604051918291631101335b60e11b835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b8015613b6c57613b3390613b75565b65ffffffffffff60408201511642118015613b57575b90516001600160a01b031691565b50602081015165ffffffffffff164210613b49565b50600090600090565b613b7d613222565b5065ffffffffffff8160a01c168015613bc3575b65ffffffffffff9060405192613ba68461042b565b6001600160a01b038116845260d01c602084015216604082015290565b5065ffffffffffff613b91565b92909181613bdf575b50505050565b8251516001600160a01b031693843b613de55760608451015160206040518092632b870d1b60e11b8252816000737fc98430eaedbb6070b35b39d79872504908834882613c308b8b60048401612026565b0393f190811561117b57600091613dc6575b506001600160a01b038116958615613d71576001600160a01b0316809603613d1c573b15613ccf5750610ff2610fec7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d93613c9c93611fc3565b602083810151935160a00151604080516001600160a01b039485168152939091169183019190915290a338808080613bd9565b60408051631101335b60e11b815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b61081d82604051918291631101335b60e11b835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b61081d83604051918291631101335b60e11b835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b613ddf915060203d602011611174576111668183610447565b38613c42565b60408051631101335b60e11b815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b81604051918237209056fea2646970667358221220381cc6c8fc47a9d23449893c1b00eb36b7d600ba7be1da57a4c87df5f5d7bbe164736f6c634300081c0033","sourceMap":"1167:32840:15:-:0;;;;;;;;;-1:-1:-1;1167:32840:15;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;2684:47:3;;2169:10;2258:80;2160:20;2169:10;-1:-1:-1;;;;;1167:32840:15;2160:8:3;1167:32840:15;2160:8:3;1167:32840:15;;;2160:8:3;1167:32840:15;;;2160:20:3;2198:19;2190:58;2198:19;;;2190:58;:::i;:::-;2266:39;1167:32840:15;2285:20:3;;;1167:32840:15;;;;;;;;;;2266:39:3;-1:-1:-1;2266:39:3;2258:80;:::i;:::-;1167:32840:15;;;;2364:22:3;2377:9;-1:-1:-1;;;;;1167:32840:15;;;;;2364:22:3;:::i;:::-;2404:9;2396:40;2404:9;;;2396:40;:::i;:::-;2446:53;-1:-1:-1;;;;;2454:26:3;;;2446:53;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;2532:137:3;1167:32840:15;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;;;2532:137:3;2285:20;1167:32840:15;2532:137:3;;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;2532:137:3;;;1167:32840:15;;;;2532:137:3;;;1167:32840:15;;2532:137:3;;;1167:32840:15;2509:20:3;2169:10;-1:-1:-1;;;;;1167:32840:15;2160:8:3;1167:32840:15;2160:8:3;1167:32840:15;;;2160:8:3;1167:32840:15;;;2509:20:3;1167:32840:15;:::i;:::-;2532:137:3;1167:32840:15;;;;;;;;;;;;;2169:10:3;;1167:32840:15;;;;;;;2684:47:3;;;;1167:32840:15;;-1:-1:-1;1167:32840:15;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1167:32840:15;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;848:36:1;868:10;;-1:-1:-1;1167:32840:15;848:19:1;1167:32840:15;;;-1:-1:-1;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;848:36:1;:38;1167:32840:15;;848:38:1;:::i;:::-;1167:32840:15;;;;-1:-1:-1;;;;;1167:32840:15;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1167:32840:15;;;;;268:74:1;1167:32840:15;;;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;:::i;:::-;;;-1:-1:-1;1167:32840:15;268:74:1;1167:32840:15;;;-1:-1:-1;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;268:74:1;1167:32840:15;;;;;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;16330:15;1167:32840;;;16330:15;1167:32840;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;1167:32840:15;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1167:32840:15;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;-1:-1:-1;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;5731:24;;;;;:::i;:::-;5807:1;5810:10;;;;;;6129:21;5807:1;6169:17;;;;;6206:13;6201:120;6221:10;;;;;;6360:9;;;;:::i;6233:3::-;6287:6;;;1167:32840;6287:6;6269:37;6287:6;;;;;:::i;:::-;6295:10;;;;:::i;:::-;;6269:37;;;:::i;:::-;1616:4;6233:3;1167:32840;6206:13;;;;5822:3;24996:34;-1:-1:-1;;;;;5953:38:15;5872:10;;;;;;:::i;:::-;;5976:6;;;;;:::i;:::-;5953:38;;:::i;:::-;24996:34;;;:::i;:::-;1167:32840;;25040:111;;25160:96;;25556:43;-1:-1:-1;;;;;25556:43:15;;:::i;:::-;1167:32840;;25609:105;;25723:106;;1167:32840;;5795:13;;;;;25723:106;1167:32840;;;-1:-1:-1;;;25764:54:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;;;;;;25764:54;;;;25609:105;25662:41;1167:32840;;;25662:41;;;-1:-1:-1;;;25662:41:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;25160:96;25201:44;1167:32840;;;25201:44;;;-1:-1:-1;;;25201:44:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;25040:111;25099:41;1167:32840;;;25099:41;;;-1:-1:-1;;;25099:41:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;:::i;:::-;;;4450:10:3;-1:-1:-1;1167:32840:15;-1:-1:-1;1167:32840:15;;;-1:-1:-1;1167:32840:15;;;;-1:-1:-1;;;;;1167:32840:15;;4479:30:3;;1167:32840:15;;-1:-1:-1;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;4549:53:3;1167:32840:15;;4564:38:3;4572:29;1167:32840:15;;4572:29:3;1167:32840:15;4757:38:3;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;4572:29:3;;:::i;4564:38::-;-1:-1:-1;;;;;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;;;;;;4549:53:3;1167:32840:15;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;4450:10:3;;4617:54;;;1167:32840:15;4699:48:3;;;;:::i;:::-;;4757:38;:::i;1167:32840:15:-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;:::i;:::-;;;-1:-1:-1;1167:32840:15;462:19:1;1167:32840:15;;462:32:1;1167:32840:15;;-1:-1:-1;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;462:32:1;1167:32840:15;;;;;;;-1:-1:-1;;1167:32840:15;462:55:1;1167:32840:15;;;;;;;;;;:::i;:::-;6847:20;6866:1;6882:13;6866:1;6897:11;;;;;;7648:26;;;;;:::i;:::-;7690:17;6866:1;7690:17;;6866:1;7752:13;7767:11;;;;;;8464:21;;6866:1;8495:11;6866:1;8521:13;6866:1;8536:11;;;;;;9062:9;8988:38;;6866:1;8642:51;8988:38;;;9062:9;:::i;8549:3::-;8738:11;8604:19;;;;;:::i;:::-;8642:51;8669:23;8677:14;7079;8677;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;8642:51;;6866:1;8642:51;;8738:11;;:::i;:::-;8810:13;6866:1;8805:159;8825:10;;;;;;8549:3;;;7211:1;1167:32840;8521:13;;8837:3;8897:6;;;;8940:9;8860:62;7211:1;8897:6;8873:49;8897:6;;8905:16;8897:6;;;;;;:::i;:::-;8905:16;;:::i;:::-;;8873:49;;:::i;:::-;8860:62;;:::i;:::-;8940:9;;:::i;:::-;8837:3;1167:32840;8810:13;;;;7780:3;7835:19;;;;;:::i;:::-;7079:14;7949;7899:11;;;;:::i;:::-;7949:14;;;;;:::i;:::-;8024:13;-1:-1:-1;;;;;6866:1:15;1167:32840;;8019:425;8039:10;;;;;;7780:3;;;;7211:1;1167:32840;7752:13;;8051:3;8101:16;;;;8420:9;8101:16;8365:19;8101:16;8195:44;8101:16;7211:1;8101:16;;;:::i;:::-;;8224:6;;;;;:::i;8195:44::-;8365:19;;;:::i;:::-;8420:9;:::i;:::-;8051:3;1167:32840;8024:13;;;;;6910:3;6965:19;;;;;:::i;:::-;7029:11;;;;;:::i;:::-;7079:14;;7180:19;7079:14;;;;;:::i;7180:19::-;1167:32840;-1:-1:-1;;;;;1167:32840:15;;7172:69;7211:1;7180:33;;;7172:69;:::i;:::-;7256:305;;6910:3;7575:22;;7211:1;7575:22;;;;;;;;;:::i;:::-;6910:3;6882:13;;1167:32840;6882:13;;7256:305;7413:13;;;;;;;:::i;:::-;7378:49;;;;;;;;6866:1;1167:32840;7378:49;1167:32840;;7413:13;1167:32840;7378:49;;;;;1167:32840;7378:49;;1167:32840;7378:49;;;:::i;:::-;;;;;;;;;;7256:305;-1:-1:-1;7374:173:15;;7482:46;6866:1;7482:46;-1:-1:-1;;;;;1167:32840:15;;;;;6866:1;7482:46;7374:173;;;-1:-1:-1;7374:173:15;;7575:22;7211:1;7256:305;;7378:49;;;6866:1;7378:49;;;:::i;:::-;;;:::i;:::-;;;;1167:32840;;;;;;-1:-1:-1;;1167:32840:15;;;;-1:-1:-1;;;;;1167:32840:15;;;;;:::i;:::-;-1:-1:-1;1167:32840:15;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1167:32840:15;-1:-1:-1;1167:32840:15;;;;-1:-1:-1;1167:32840:15;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;-1:-1:-1;;;;;1167:32840:15;;;;;:::i;:::-;;-1:-1:-1;1167:32840:15;-1:-1:-1;1167:32840:15;;;-1:-1:-1;;;;;1167:32840:15;-1:-1:-1;1167:32840:15;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;1847:1;1167:32840;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;20291:20;;;;:47;;;;1167:32840;20287:182;;;20509:2;20482:29;;;20478:308;;1167:32840;;;-1:-1:-1;;;20820:10:15;;1167:32840;;20820:10;;1167:32840;-1:-1:-1;1167:32840:15;;;;;;25764:54;20478:308;20563:22;20555:31;20563:22;20547:40;20563:22;;:::i;:::-;20555:31;;:::i;:::-;1167:32840;;;;20547:40;20605:21;:26;20601:175;;20478:308;;;;20601:175;1167:32840;;-1:-1:-1;;;20724:37:15;;1167:32840;;20724:37;;1167:32840;;;;;;;;;;;;;25764:54;20287:182;1167:32840;;-1:-1:-1;;;20423:35:15;;1167:32840;;20423:35;;1167:32840;;;;;;;;;;;;;25764:54;20291:47;20315:18;;;:23;20291:47;;;1167:32840;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;19405:80;1167:32840;;;;;;:::i;:::-;;;;19405:80;;;;;-1:-1:-1;;;19405:80:15;;1167:32840;19405:80;;;:::i;:::-;;;-1:-1:-1;19419:42:15;19405:80;;;;;;-1:-1:-1;;;;;19405:80:15;-1:-1:-1;19405:80:15;;;1167:32840;19502:27;;-1:-1:-1;19502:27:15;1167:32840;;;;-1:-1:-1;19502:27:15;19405:80;;;;1167:32840;19405:80;1167:32840;19405:80;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;:::i;1167:32840::-;;;;;;;;;;:::o;:::-;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1167:32840:15;;;;2955:10:3;1167:32840:15;;;;;;;;2984:20:3;;;1167:32840:15;;;;;;;2984:25:3;1167:32840:15;;3163:32:3;3107:46;;1167:32840:15;3205:19:3;1167:32840:15;3034:41:3;1167:32840:15;;;;;;;;;;;3034:41:3;:::i;3107:46::-;1167:32840:15;3114:15:3;1167:32840:15;3107:46:3;:::i;:::-;1167:32840:15;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;3163:32:3;1167:32840:15;;-1:-1:-1;;1167:32840:15;;;;3205:19:3;1167:32840:15;;;;;;;;2955:10:3;;3239:39;;1167:32840:15;;;;3239:39:3;1167:32840:15;;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;4091:44:3;-1:-1:-1;1167:32840:15;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3593:20:3;3602:10;-1:-1:-1;;;;;1167:32840:15;2160:8:3;1167:32840:15;2160:8:3;1167:32840:15;;;2160:8:3;1167:32840:15;;;3593:20:3;1167:32840:15;3935:14:3;3623:26;1167:32840:15;;;-1:-1:-1;;;;;1167:32840:15;;;;;;3623:26:3;3667:9;3659:42;3667:9;;;3659:42;:::i;:::-;3904:21;3719:17;;;3784:76;1167:32840:15;;;;;;;;;;;;;3711:63:3;3719:21;;;3711:63;:::i;:::-;3813:15;-1:-1:-1;3792:36:3;3784:76;:::i;:::-;1167:32840:15;;-1:-1:-1;;1167:32840:15;;;;3904:21:3;1167:32840:15;;;;;;;3935:14:3;1167:32840:15;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;3602:10:3;;3964:50;;;1167:32840:15;4042:39:3;;;;:::i;:::-;;4091:44;:::i;1167:32840:15:-;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;9834:101;1167:32840;;;;;;:::i;:::-;;;:::i;:::-;9326:2;;;:::i;:::-;9582:29;9399:34;9472:60;9399:34;;;;:::i;:::-;9472:60;;:::i;:::-;33947:52;;-1:-1:-1;33947:52:15;9582:29;:::i;:::-;33947:52;;-1:-1:-1;33947:52:15;-1:-1:-1;9673:25:15;1167:32840;;-1:-1:-1;;;;;1167:32840:15;;9708:110;;1167:32840;9850:15;;;;;1616:4;9873:15;1167:32840;;;;9873:15;;1167:32840;;;;;;9890:15;;1167:32840;;;;;;;;;9834:101;;;;;;1167:32840;9834:101;;;:::i;9708:110::-;-1:-1:-1;1167:32840:15;;;;;;;;;;;;;;;;:::i;:::-;9780:27;;;;;9850:15;9780:27;;:::i;:::-;9748:59;9708:110;;;;;;1167:32840;;;;;;;:::i;:::-;;;:::i;:::-;15960:6;;;:::i;:::-;16037:41;;;;:::i;:::-;16546:60;16121:42;1167:32840;16135:27;:17;;:27;1167:32840;-1:-1:-1;;;;;1167:32840:15;;;;16121:42;:::i;:::-;16217:17;16330:15;16203:39;16217:24;:17;;-1:-1:-1;;;;;1167:32840:15;;;;;16203:39;1167:32840;;;:::i;:::-;;16330:15;;;;;:::i;:::-;16377:69;16396:2;16377:21;;16396:2;;16409:23;16417:14;16474:22;16417:14;16401:32;16417:14;;:::i;16474:22::-;16546:60;;:::i;:::-;1167:32840;;-1:-1:-1;;;;;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;16701:1;16679:24;;16768:18;16744:227;16768:18;;;1616:4;16800:17;16744:227;16330:15;16800:17;;1616:4;16854:15;16937:23;1167:32840;16330:15;1167:32840;16854:15;;;1167:32840;;;;;;16883:15;;1167:32840;;;;;;16937:23;;1616:4;1167:32840;;;:::i;:::-;;;;16854:15;16744:227;;1167:32840;;;;16330:15;16744:227;;1167:32840;;;16937:23;16744:227;;1167:32840;;16744:227;1167:32840;;16768:18;16744:227;;1167:32840;;16744:227;16135:27;16744:227;;1167:32840;16986:24;;:52;;;;16377:69;16982:305;;;1167:32840;17303:68;1167:32840;16330:15;1167:32840;17303:68;;;;;;1167:32840;17303:68;;;:::i;16982:305::-;17130:25;17177:99;17130:25;;;;:::i;:::-;17098:58;1167:32840;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;;;17098:58;16854:15;17098:58;;1167:32840;16330:15;1167:32840;17177:99;;;;;;1167:32840;17177:99;;;:::i;16986:52::-;17014:24;;;16986:52;;;16377:69;;;16474:22;-1:-1:-1;16474:22:15;:::i;1167:32840::-;;;;;;-1:-1:-1;;1167:32840:15;;;;-1:-1:-1;;;;;1167:32840:15;;;;;:::i;:::-;;-1:-1:-1;1167:32840:15;;;;;;;;;;;;;;506:47:3;;;;1167:32840:15;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;-1:-1:-1;;;;;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;:::o;1616:4::-;;;;;;;;-1:-1:-1;;1616:4:15;;;;:::o;:::-;;;;;;;;;;;;;;;1167:32840;1616:4;;1167:32840;;;;;;;;;;;1616:4;;;:::i;:::-;1167:32840;;-1:-1:-1;;1167:32840:15;1616:4;;;:::o;:::-;;;;;;;;;;;:::i;10708:3392::-;;;;10892:9;10941:4;;10919:10;:27;1167:32840;;11014:14;;1167:32840;;12049:1745;;10708:3392;13857:9;;14033:50;13857:9;1616:4;13857:9;;1616:4;;13869:15;;;1616:4;;;;;;:::i;:::-;14033:50;;:::i;12049:1745::-;1167:32840;12779:8;;12459:49;;-1:-1:-1;;;;;1167:32840:15;12498:9;;12459:49;;:::i;:::-;12779:8;;1167:32840;12779:8;12775:1009;;12049:1745;;;;12775:1009;13244:25;12829:41;;:::i;:::-;1167:32840;;13244:25;;;-1:-1:-1;;;13244:25:15;;;;;;:::i;1167:32840::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;1167:32840:15;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;1167:32840:15;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1167:32840:15;;;;:::o;:::-;;;:::o;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1167:32840:15;;;;;;;;-1:-1:-1;;1167:32840:15;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;20509:2;1167:32840;;;;20509:2;1167:32840;:::o;:::-;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;-1:-1:-1;1167:32840:15:o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;14308:174::-;-1:-1:-1;;;;;14308:174:15;3259:237:10;2717:12;;;1167:32840:15;2777:15:10;3259:237;2762:31;2777:15;;;;;;:::i;:::-;2762:31;;:::i;:::-;2826;2841:15;;;;;;:::i;2826:31::-;2890:19;;;1167:32840:15;2950:27:10;;;1167:32840:15;3016:25:10;;;1167:32840:15;3074:19:10;;;;1167:32840:15;3134:27:10;;;;1167:32840:15;3217:23:10;3202:39;3217:23;;;;;;:::i;3202:39::-;1167:32840:15;2777:15:10;1167:32840:15;3259:237:10;;;2717:12;3259:237;;1859:39;;;;1167:32840:15;3259:237:10;1167:32840:15;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3259:237:10;;1167:32840:15;;3259:237:10;;;;;;:::i;:::-;1167:32840:15;3603:23:10;;2777:15;1167:32840:15;;2717:12:10;14419:55:15;;1167:32840;;;14453:4;1167:32840;;;;;;;14460:13;1167:32840;;;;14419:55;1167:32840;;;;14419:55;1167:32840;14419:55;1167:32840;14409:66;;14308:174;:::o;1649:206:3:-;-1:-1:-1;;;;;1649:206:3;1737:9;;;;:::i;:::-;1167:32840:15;;1784:8:3;1167:32840:15;1784:8:3;1167:32840:15;;1816:32:3;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;1784:8:3;1167:32840:15;;;;;;;;1816:32:3;1649:206::o;1167:32840:15:-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;1167:32840:15;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1216:65:3;1263:10;;;:::i;230:263:11:-;;11014:14:15;230:263:11;;;;385:102;;;;;;;230:263;:::o;1066:436::-;1163:333;1616:4:15;1163:333:11;;;;1066:436;1163:333;;;;;;;;;;;;;;;;;;1066:436;:::o;1163:333::-;;1616:4:15;1163:333:11;;1167:32840:15;;-1:-1:-1;1167:32840:15;;;:::o;:::-;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1167:32840:15;;;;;;;;;-1:-1:-1;1167:32840:15;;;;;;;;:::i;:::-;;;;;;;:::o;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;29467:3124::-;;;29715:9;29758:21;29823:14;;29870:26;;;;:::i;:::-;29931:17;;;;1167:32840;;;;-1:-1:-1;;;;;1167:32840:15;;;;-1:-1:-1;;;;;1167:32840:15;;;;29966:23;1167:32840;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;29962:2007;;32004:9;1616:4;;;1167:32840;;;32081:14;;;;1616:4;;;;32081:30;32077:129;;32409:152;1616:4;32313:6;32445:17;1616:4;;-1:-1:-1;;;;;1616:4:15;;;32313:6;;:::i;:::-;1167:32840;11014:14;1167:32840;:::i;:::-;32445:17;1167:32840;;32409:152;32445:17;1167:32840;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;32499:13;;1616:4;1167:32840;;32349:41;1167:32840;32081:14;1167:32840;;;;;;;32409:152;;1167:32840;;;;;;;;;;;;;;;;;;;;;;;;;32409:152;;;;29467:3124::o;32077:129::-;32081:14;1167:32840;-1:-1:-1;;;32138:53:15;;;;11014:14;32138:53;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;29962:2007;30078:25;;1167:32840;;30121:1834;;29962:2007;;;;;30121:1834;1167:32840;11014:14;1167:32840;:::i;:::-;30706:28;;;1616:4;30672:147;;;;;;;1167:32840;;11014:14;1167:32840;;;;30672:147;;;;;;1167:32840;30672:147;;1167:32840;;30672:147;;;;;;:::i;:::-;;;;;;;;30121:1834;-1:-1:-1;30668:406:15;;30823:251;;:::i;:::-;1167:32840;;30885:18;30881:70;;30988:59;1167:32840;;;30988:59;;;;;;11014:14;30672:147;30988:59;;;:::i;30881:70::-;1167:32840;;-1:-1:-1;;;30912:39:15;;;;11014:14;30672:147;30912:39;;1167:32840;;;;;;;;;;;;;;;;;;;;;;30668:406;30121:1834;;;;30672:147;;;11014:14;30672:147;;;:::i;:::-;;;;1167:32840;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;26698:2125;;-1:-1:-1;26925:9:15;;26974:17;;;27029:7;;;;;:::i;:::-;27070:21;;;:::i;:::-;27047:20;;;1167:32840;27431:70;1167:32840;27277:26;;;1616:4;27306:28;;;1616:4;27277:57;27337:20;;;1616:4;27277:80;27372:19;;;1167:32840;27394:27;;;1167:32840;27277:114;;:144;27439:33;;27431:70;:::i;:::-;27592:28;;;:::i;:::-;27697:71;;;;-1:-1:-1;27697:71:15;:::i;:::-;27630:138;;27783:55;27784:54;1167:32840;;;-1:-1:-1;;;;;1167:32840:15;;;;27047:20;27824:13;;1616:4;27784:54;;:::i;27783:55::-;27779:140;;;33947:52;;;33899:106;27779:140;-1:-1:-1;;;;;1167:32840:15;28154:17;27306:28;28154:17;;1167:32840;-1:-1:-1;;;;;1167:32840:15;;;;;28150:238;;26698:2125;28448:9;;1616:4;;28154:17;28476:27;;1167:32840;28476:37;28472:134;;27277:26;28619:17;28781:25;28619:17;27337:20;28619:17;;1167:32840;27306:28;28668:23;;1167:32840;28769:9;1616:4;;28781:25;;1167:32840;1616:4;28739:18;;1167:32840;26698:2125::o;28472:134::-;27337:20;1167:32840;-1:-1:-1;;;28540:51:15;;;;-1:-1:-1;28540:51:15;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;28150:238;28238:139;;;;;;;;;;-1:-1:-1;28238:139:15;:::i;:::-;28201:176;;28150:238;;;;27779:140;27337:20;1167:32840;-1:-1:-1;;;27861:47:15;;;;-1:-1:-1;27861:47:15;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;26698:2125;;;;1167:32840;26925:9;;26974:17;;27029:7;;;;:::i;:::-;27070:21;;;:::i;:::-;27047:20;;;1167:32840;27431:70;1167:32840;27277:26;;;1616:4;27306:28;;;1616:4;27277:57;27337:20;;;1616:4;27277:80;27372:19;;;1167:32840;27394:27;;;1167:32840;27277:114;;:144;27439:33;;27431:70;:::i;:::-;27592:28;;;:::i;:::-;27697:71;;;;;;:::i;:::-;27630:138;;27783:55;27784:54;1167:32840;;;-1:-1:-1;;;;;1167:32840:15;;;;27047:20;27824:13;;1616:4;27784:54;;:::i;27783:55::-;27779:140;;;33947:52;;;33899:106;27779:140;-1:-1:-1;;;;;1167:32840:15;28154:17;27306:28;28154:17;;1167:32840;-1:-1:-1;;;;;1167:32840:15;;;;;28150:238;;26698:2125;28448:9;;1616:4;;28154:17;28476:27;;1167:32840;28476:37;28472:134;;-1:-1:-1;27337:20:15;28619:17;;1167:32840;27306:28;28668:23;;1167:32840;27277:26;;28619:17;28781:25;;28769:9;1616:4;;28781:25;;1167:32840;1616:4;28739:18;;1167:32840;26698:2125::o;28472:134::-;27337:20;1167:32840;;-1:-1:-1;;;28540:51:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;25764:54;28150:238;28238:139;;;;;;;;;;;;:::i;:::-;28201:176;;28150:238;;;;27779:140;27861:47;1167:32840;27337:20;1167:32840;27861:47;;;-1:-1:-1;;;27861:47:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;24736:1099;;-1:-1:-1;;;;;24996:34:15;24736:1099;;24996:34;:::i;:::-;1167:32840;;;;25044:32;25040:111;;25160:96;;25556:43;-1:-1:-1;;;;;25556:43:15;;:::i;:::-;1167:32840;;25609:105;;25723:106;;24736:1099;:::o;1167:32840::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;3199:1990::-;3495:52;;3199:1990;3514:15;3459:20;;;1616:4;3514:15;3459:20;3514:15;;;;:::i;:::-;1167:32840;;;;;3495:52;;;;;1167:32840;3495:52;;;;;;:::i;:::-;;:4;-1:-1:-1;3495:4:15;:52;;-1:-1:-1;;3495:52:15;;;3199:1990;-1:-1:-1;3491:1692:15;;3633:1550;;:::i;:::-;3495:52;-1:-1:-1;3712:109:15;;-1:-1:-1;;;;3712:109:15;3920:35;3916:268;;1167:32840;;4526:18;4522:52;;4589:142;;;3495:52;4589:142;;4522:52;1167:32840;;-1:-1:-1;;;4553:21:15;;1167:32840;3495:52;4553:21;;1167:32840;-1:-1:-1;1167:32840:15;;;;;;25764:54;3916:268;1167:32840;;-1:-1:-1;;;4133:36:15;;;;-1:-1:-1;3495:52:15;4133:36;;1547:13;;1167:32840;;1547:13;;;;;;;;;1167:32840;1547:13;1167:32840;;;1547:13;;;;3495:52;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;3199:1990;;;;3495:52;;3199:1990;3514:15;3459:20;;;1616:4;3514:15;3459:20;3514:15;;;;:::i;3495:52::-;;:4;1167:32840;3495:4;:52;;1167:32840;;3495:52;;;3199:1990;-1:-1:-1;3491:1692:15;;3633:1550;;;:::i;:::-;3712:109;3495:52;1167:32840;3712:109;;-1:-1:-1;;;1167:32840:15;3712:109;3920:35;3916:268;;1167:32840;;;4526:18;4522:52;;4589:142;;;3495:52;4589:142;;3916:268;1167:32840;;;-1:-1:-1;;;4133:36:15;;3495:52;4133:36;;1167:32840;;;;1547:13;;;;;;;;1167:32840;1547:13;1167:32840;;;1547:13;;;25764:54;3491:1692;3595:26;-1:-1:-1;3199:1990:15:o;3495:52::-;;;;;;;;;;;;;;;:::i;:::-;;;;;2643:278;-1:-1:-1;;;;;1167:32840:15;2736:25;;1167:32840;;2759:1;2818:35;;;;;;;;;:::i;:::-;;1167:32840;;;2643:278::o;1167:32840::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;1287:293:3;-1:-1:-1;;;;;1167:32840:15;1393:8:3;1167:32840:15;1393:8:3;1167:32840:15;;;1393:8:3;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;-1:-1:-1;;;;;1479:30:3;;1167:32840:15;;-1:-1:-1;;;;;1540:33:3;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;19740:13;1167:32840;;;;;;;;;;:::i;19542:421::-;19723:15;;;;;;:::i;:::-;19755:23;19740:13;;;:::i;:::-;19755:23;;;;;;:::i;:::-;19690:4;;;:89;;;;19740:13;1167:32840;19690:89;1167:32840;19723:15;1167:32840;19690:89;;;;;1167:32840;19690:89;;;;;;:::i;:::-;;:4;;:89;;;;;;19542:421;-1:-1:-1;19686:271:15;;;;;:::i;:::-;;;;;;;;19542:421::o;19686:271::-;19791:166;;:::i;:::-;;;;19686:271;;;;19791:166;1167:32840;;19740:13;;-1:-1:-1;19845:102:15;19791:166;19845:102;19907:25;1167:32840;19723:15;1167:32840;19907:25;;;-1:-1:-1;;;19907:25:15;;19690:89;19907:25;;;:::i;19690:89::-;;;19740:13;19690:89;;;:::i;:::-;;;;1167:32840;;;;;;;:::i;:::-;-1:-1:-1;1167:32840:15;;;;;;;;;;;;:::o;1392:927:0:-;1571:36;1658:45;1392:927;1167:32840:15;;:::i;:::-;;1571:36:0;:::i;:::-;1658:45;;:::i;:::-;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;1780:24:0;;1776:95;;1392:927;1900:32;1167:32840:15;1962:32:0;1167:32840:15;1900:32:0;2262:50;1900:32;;;1167:32840:15;;;;;;2026:27:0;1167:32840:15;1962:32:0;1167:32840:15;1900:32:0;2026:27;;1167:32840:15;;;;;;;;;;;;;2127:25:0;2123:56;;1392:927;1167:32840:15;;;;;;;2193:25:0;2189:56;;1392:927;1167:32840:15;2262:50:0;1167:32840:15;2262:50:0;1167:32840:15;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;;;2262:50:0;1167:32840:15;;1900:32:0;2262:50;;1167:32840:15;;2262:50:0;1167:32840:15;;1962:32:0;2262:50;;1167:32840:15;;2189:56:0;;-1:-1:-1;2262:50:0;2189:56;;2123;2154:25;-1:-1:-1;2123:56:0;;;1776:95;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;-1:-1:-1;1776:95:0;;781:248:3;;-1:-1:-1;;;;;1167:32840:15;;:::i;:::-;;;908:8:3;1167:32840:15;908:8:3;1167:32840:15;;;995:27:3;1167:32840:15;908:8:3;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;;;;;995:27:3;1167:32840:15;;;972:20:3;;1167:32840:15;781:248:3:o;32759:517:15:-;32969:28;32904:20;;;1616:4;32969:28;;1616:4;33015:36;;;33011:173;;33245:13;1616:4;33366:5;;;;;;:13;32759:517;:::o;33366:13::-;;;32759:517;:::o;33011:173::-;33150:19;;:::o;1167:32840::-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;14577:831;15106:23;14577:831;14690:30;14707:13;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;14690:30;14746:12;;;1167:32840;14746:12;14730:13;;1167:32840;14791:19;;;1167:32840;14768:20;;;1167:32840;14851:27;;;1167:32840;14820:28;;;1167:32840;14917:25;;;1167:32840;14791:19;14888:26;;1167:32840;14975:19;;;1167:32840;14917:25;14952:20;;1167:32840;15035:27;;;1167:32840;14975:19;15004:28;;1167:32840;15106:23;;;;;:::i;:::-;15143:27;;;;;15291:39;15299:30;15307:21;15194:29;14851:27;15194:29;15186:71;15221:2;15271:59;15194:29;;;;15186:71;:::i;:::-;15307:21;:::i;15291:39::-;-1:-1:-1;;;;;1167:32840:15;15271:17;;1167:32840;;15139:263;15361:17;;14851:27;1167:32840;15361:17;;1167:32840;14577:831::o;17384:579::-;17718:17;;;1167:32840;-1:-1:-1;;;;;1167:32840:15;17718:31;:39;;17926:20;17752:1;17718:39;1167:32840;17793:20;;;1616:4;1167:32840;;17816:28;;;1616:4;1167:32840;1616:4;17853:26;;;1616:4;;17926:20;;1616:4;1167:32840;17384:579;:::o;17718:39::-;17926:20;17756:1;17718:39;;1167:32840;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;21043:1772::-;;;;;;21349:9;21402:14;21863:140;21951:17;21402:14;;1167:32840;;;;-1:-1:-1;;;;;1167:32840:15;;;;21514:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;21560:17;;;1167:32840;-1:-1:-1;;;;;1167:32840:15;21540:37;;33947:52;;;33899:106;21540:37;-1:-1:-1;;;;;1167:32840:15;;;21668:23;21664:182;;;;21043:1772;21900:28;;1167:32840;21900:28;;1616:4;21951:17;;1167:32840;;21514:11;1167:32840;21863:140;;;;;;;1167:32840;21863:140;;;;;;:::i;:::-;;1167:32840;-1:-1:-1;;;;;1167:32840:15;;21863:140;;1167:32840;;21863:140;;;21043:1772;-1:-1:-1;21859:480:15;;;;;:::i;:::-;;;;;;21514:11;1167:32840;;-1:-1:-1;;;22281:43:15;;21863:140;22281:43;;1167:32840;;;;;;;;;;;;;;;;;;;;25764:54;21859:480;22104:145;;:::i;:::-;;;;21859:480;;;22104:145;22187:46;;;:::i;:::-;1167:32840;22169:65;21514:11;1167:32840;22169:65;;;-1:-1:-1;;;22169:65:15;;21863:140;22169:65;;;:::i;21859:480::-;22056:32;;;;22352:378;;21859:480;22789:9;;;;1616:4;;21043:1772;:::o;22352:378::-;22432:16;;-1:-1:-1;;;;;1167:32840:15;2160:8:3;1167:32840:15;2160:8:3;1167:32840:15;;;2160:8:3;1167:32840:15;;;22432:16;1167:32840;22466:36;1167:32840;;;-1:-1:-1;;;;;1167:32840:15;;;22466:36;22524:25;;;;22520:123;;-1:-1:-1;1167:32840:15;;-1:-1:-1;;1167:32840:15;1616:4;;;-1:-1:-1;;;;;1167:32840:15;;;;22352:378;;;;;22520:123;21514:11;1167:32840;;-1:-1:-1;;;22580:44:15;;21863:140;22580:44;;1167:32840;;;;;;;;;;;;;;;;;;;;25764:54;21863:140;;;;;21951:17;21863:140;21951:17;21863:140;;;;;;;:::i;:::-;;;;;21664:182;1178:17:3;;1171:32;1178:25;:17;;-1:-1:-1;;;;;1167:32840:15;2160:8:3;1167:32840:15;2160:8:3;1167:32840:15;;;2160:8:3;1167:32840:15;;;1178:17:3;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;1171:32:3;21782:21:15;;;;;;:49;1167:32840;21782:49;21900:28;21782:49;;21664:182;;;;;;;21782:49;1616:4;21900:28;1167:32840;1616:4;;;21782:49;;1008:234:1;-1:-1:-1;;;;;1167:32840:15;-1:-1:-1;1167:32840:15;1194:19:1;1167:32840:15;;;1194:32:1;1167:32840:15;1138:2:1;1167:32840:15;1138:2:1;-1:-1:-1;1167:32840:15;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;1194:32:1;1167:32840:15;;;1194:34:1;;;;:::i;:::-;1167:32840:15;;;1194:41:1;1008:234;:::o;1167:32840:15:-;;;;:::o;:::-;;;;-1:-1:-1;;;1167:32840:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;23073:1555::-;;;;;;;23424:14;;1167:32840;23746:17;1167:32840;23483:28;;1616:4;23533:57;23525:101;23533:57;;;23525:101;:::i;:::-;23746:17;1167:32840;-1:-1:-1;;;;;1167:32840:15;;;;23813:19;;;-1:-1:-1;;;;;1167:32840:15;2160:8:3;1167:32840:15;2160:8:3;1167:32840:15;;;2160:8:3;1167:32840:15;;;23813:19;23846:39;1167:32840;;;-1:-1:-1;;;;;1167:32840:15;;;23846:39;23903:25;;;23899:122;;1616:4;-1:-1:-1;;;;;24170:17:15;24110:95;1616:4;;24034:58;1616:4;;;;;-1:-1:-1;;;;;1167:32840:15;1616:4;;;;1167:32840;-1:-1:-1;;;;;1167:32840:15;-1:-1:-1;;;;;1167:32840:15;;;;;;;;24034:58;24170:17;1167:32840;;;;24110:95;;;;;;;1167:32840;24110:95;;;;;;:::i;:::-;;1167:32840;;1616:4;;24110:95;;;1167:32840;;;24110:95;;;23073:1555;-1:-1:-1;24106:506:15;;;;;:::i;:::-;;;;;;1167:32840;;;-1:-1:-1;;;24554:43:15;;24110:95;24554:43;;1167:32840;;;;;;;;;;;;;;;;;;;;25764:54;24106:506;24377:145;;:::i;:::-;;;;24106:506;;;24377:145;24460:46;;;:::i;24106:506::-;24293:18;-1:-1:-1;23073:1555:15:o;24110:95::-;;;;;;;;;1167:32840;24110:95;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;23899:122;23955:51;1167:32840;;;23955:51;;;-1:-1:-1;;;23955:51:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;;;25841:500;25999:19;;25995:76;;26109:36;;;:::i;:::-;1167:32840;26244:15;;;1167:32840;;26226:15;:33;:70;;;;25841:500;1167:32840;;-1:-1:-1;;;;;1167:32840:15;;25841:500::o;26226:70::-;-1:-1:-1;26281:15:15;;;1167:32840;;;26226:15;26263:33;26226:70;;25995:76;26034:26;26017:1;26034:26;26017:1;26034:26;:::o;904:439:0:-;1167:32840:15;;:::i;:::-;;;;1115:3:0;1167:32840:15;;1133:15:0;;1129:75;;904:439;1167:32840:15;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1167:32840:15;;;;1259:8:0;1167:32840:15;1286:50:0;;;1167:32840:15;;;1286:50:0;;1167:32840:15;904:439:0;:::o;1129:75::-;1164:29;1167:32840:15;1129:75:0;;18016:956:15;;;;18138:20;18134:832;;18016:956;;;;;:::o;18134:832::-;18191:14;;1167:32840;-1:-1:-1;;;;;1167:32840:15;18230:18;;;18226:88;;18439:35;:14;;:35;1616:4;18346:152;1167:32840;;18346:152;;-1:-1:-1;;;18346:152:15;;;18157:1;18360:42;18346:152;;;;;;;;:::i;:::-;;;;;;;;;18157:1;18346:152;;;18134:832;1167:32840;-1:-1:-1;;;;;1167:32840:15;;18516:21;;;18512:82;;-1:-1:-1;;;;;1167:32840:15;18612:17;;;18608:83;;18709:19;:24;18705:90;;18843:14;18835:23;18843:14;18878:77;18843:14;18827:32;18843:14;;:::i;18827:32::-;18346:152;18894:17;;;1167:32840;18930:14;;:24;;1167:32840;;;;-1:-1:-1;;;;;1167:32840:15;;;;;;;;;;;;;;;;;18878:77;18134:832;;;;;;18705:90;1167:32840;;;-1:-1:-1;;;18742:53:15;;18346:152;18742:53;;1167:32840;;;;;;;;;;;;;;;;;;;;25764:54;18608:83;18638:53;1167:32840;;;18638:53;;;-1:-1:-1;;;18638:53:15;;18346:152;18638:53;;1167:32840;;;;;;;;;;;;;;;;;;;;;;18512:82;18546:48;1167:32840;;;18546:48;;;-1:-1:-1;;;18546:48:15;;18346:152;18546:48;;1167:32840;;;;;;;;;;;;;;;;;;;;;;18346:152;;;;;;;;;;;;;;:::i;:::-;;;;18226:88;1167:32840;;;-1:-1:-1;;;18262:52:15;;;;;1167:32840;;;;;;;;;;;;;;;;;;;;25764:54;3357:265:0;3439:177;;;;;;;3357:265;:::o","linkReferences":{}},"methodIdentifiers":{"SIG_VALIDATION_FAILED()":"8f41ec5a","_validateSenderAndPaymaster(bytes,address,bytes)":"957122ab","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","depositTo(address)":"b760faf9","deposits(address)":"fc7e286d","getDepositInfo(address)":"5287ce12","getNonce(address,uint192)":"35567e1a","getSenderAddress(bytes)":"9b249f69","getUserOpHash((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))":"a6193531","handleAggregatedOps(((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,bytes)[],address)":"4b1d7cf5","handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)":"1fad948c","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)":"1d732756","nonceSequenceNumber(address,uint192)":"1b2e01b8","simulateHandleOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address,bytes)":"d6383f94","simulateValidation((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))":"ee219423","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paid\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"validAfter\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"validUntil\",\"type\":\"uint48\"},{\"internalType\":\"bool\",\"name\":\"targetSuccess\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"targetResult\",\"type\":\"bytes\"}],\"name\":\"ExecutionResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"sigFailed\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"validAfter\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"validUntil\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"paymasterContext\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.ReturnInfo\",\"name\":\"returnInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"senderInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"factoryInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"paymasterInfo\",\"type\":\"tuple\"}],\"name\":\"ValidationResult\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"sigFailed\",\"type\":\"bool\"},{\"internalType\":\"uint48\",\"name\":\"validAfter\",\"type\":\"uint48\"},{\"internalType\":\"uint48\",\"name\":\"validUntil\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"paymasterContext\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.ReturnInfo\",\"name\":\"returnInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"senderInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"factoryInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"paymasterInfo\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"internalType\":\"struct IStakeManager.StakeInfo\",\"name\":\"stakeInfo\",\"type\":\"tuple\"}],\"internalType\":\"struct IEntryPoint.AggregatorStakeInfo\",\"name\":\"aggregatorInfo\",\"type\":\"tuple\"}],\"name\":\"ValidationResultWithAggregation\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureAggregatorChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalStaked\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"StakeLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"}],\"name\":\"StakeUnlocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"StakeWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actualGasUsed\",\"type\":\"uint256\"}],\"name\":\"UserOperationEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"UserOperationRevertReason\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"SIG_VALIDATION_FAILED\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"}],\"name\":\"_validateSenderAndPaymaster\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"}],\"name\":\"addStake\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposits\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"deposit\",\"type\":\"uint112\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint112\",\"name\":\"deposit\",\"type\":\"uint112\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation[]\",\"name\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointCodeOverride.MemoryUserOp\",\"name\":\"mUserOp\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"prefund\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contextOffset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preOpGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointCodeOverride.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation\",\"name\":\"op\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"targetCallData\",\"type\":\"bytes\"}],\"name\":\"simulateHandleOp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct UserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"simulateValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"FailedOp(uint256,string)\":[{\"params\":{\"opIndex\":\"- index into the array of ops to the failed one (in simulateValidation, this is always zero)\",\"reason\":\"- revert reason The string starts with a unique code \\\"AAmn\\\", where \\\"m\\\" is \\\"1\\\" for factory, \\\"2\\\" for account and \\\"3\\\" for paymaster issues, so a failure can be attributed to the correct entity. Should be caught in off-chain handleOps simulation and not happen on-chain. Useful for mitigating DoS attempts against batchers or for troubleshooting of factory/account/paymaster reverts.\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"ValidationResult((uint256,uint256,bool,uint48,uint48,bytes),(uint256,uint256),(uint256,uint256),(uint256,uint256))\":[{\"params\":{\"factoryInfo\":\"stake information about the factory (if any)\",\"paymasterInfo\":\"stake information about the paymaster (if any)\",\"returnInfo\":\"gas and time-range returned values\",\"senderInfo\":\"stake information about the sender\"}}],\"ValidationResultWithAggregation((uint256,uint256,bool,uint48,uint48,bytes),(uint256,uint256),(uint256,uint256),(uint256,uint256),(address,(uint256,uint256)))\":[{\"params\":{\"aggregatorInfo\":\"signature aggregation info (if the account requires signature aggregator) bundler MUST use it to verify the signature, or reject the UserOperation\",\"factoryInfo\":\"stake information about the factory (if any)\",\"paymasterInfo\":\"stake information about the paymaster (if any)\",\"returnInfo\":\"gas and time-range returned values\",\"senderInfo\":\"stake information about the sender\"}}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"params\":{\"factory\":\"the factory used to deploy this account (in the initCode)\",\"paymaster\":\"the paymaster used by this UserOp\",\"sender\":\"the account that is deployed\",\"userOpHash\":\"the userOp that deployed this account. UserOperationEvent will follow.\"}},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"the nonce used in the request\",\"revertReason\":\"- the return bytes from the (reverted) call to \\\"callData\\\".\",\"sender\":\"the sender of this request\",\"userOpHash\":\"the request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"the new lock duration before the deposit can be withdrawn.\"}},\"getDepositInfo(address)\":{\"returns\":{\"info\":\"- full deposit information of given account\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"the constructor code to be passed into the UserOperation.\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"the address to receive the fees\",\"opsPerAggregator\":\"the operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)\"}},\"handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"the address to receive the fees\",\"ops\":\"the operations to execute\"}},\"simulateHandleOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address,bytes)\":{\"params\":{\"op\":\"the UserOperation to simulate\",\"target\":\"if nonzero, a target address to call after userop simulation. If called, the targetSuccess and targetResult are set to the return from that call.\",\"targetCallData\":\"callData to pass to target address\"}},\"simulateValidation((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))\":{\"details\":\"this method always revert. Successful result is ValidationResult error. other errors are failures.The node must also verify it doesn't use banned opcodes, and that it doesn't reference storage outside the account's data.\",\"params\":{\"userOp\":\"the user operation to validate.\"}},\"withdrawStake(address)\":{\"params\":{\"withdrawAddress\":\"the address to send withdrawn value.\"}},\"withdrawTo(address,uint256)\":{\"params\":{\"withdrawAddress\":\"the address to send withdrawn value.\",\"withdrawAmount\":\"the amount to withdraw.\"}}},\"version\":1},\"userdoc\":{\"errors\":{\"ExecutionResult(uint256,uint256,uint48,uint48,bool,bytes)\":[{\"notice\":\"return value of simulateHandleOp\"}],\"FailedOp(uint256,string)\":[{\"notice\":\"a custom revert error of handleOps, to identify the offending op. NOTE: if simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"SenderAddressResult(address)\":[{\"notice\":\"return value of getSenderAddress\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"error case when a signature aggregator fails to verify the aggregated signature it had created.\"}],\"ValidationResult((uint256,uint256,bool,uint48,uint48,bytes),(uint256,uint256),(uint256,uint256),(uint256,uint256))\":[{\"notice\":\"Successful result from simulateValidation.\"}],\"ValidationResultWithAggregation((uint256,uint256,bool,uint48,uint48,bytes),(uint256,uint256),(uint256,uint256),(uint256,uint256),(address,(uint256,uint256)))\":[{\"notice\":\"Successful result from simulateValidation, if the account returns a signature aggregator\"}]},\"events\":{\"AccountDeployed(bytes32,address,address,address)\":{\"notice\":\"account \\\"sender\\\" was deployed.\"},\"BeforeExecution()\":{\"notice\":\"an event emitted by handleOps(), before starting the execution loop. any event emitted before this event, is part of the validation.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"signature aggregator used by the following UserOperationEvents within this bundle.\"},\"StakeLocked(address,uint256,uint256)\":{\"notice\":\"Emitted when stake or unstake delay are modified\"},\"StakeUnlocked(address,uint256)\":{\"notice\":\"Emitted once a stake is scheduled for withdrawal\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length\"}},\"kind\":\"user\",\"methods\":{\"SIG_VALIDATION_FAILED()\":{\"notice\":\"for simulation purposes, validateUserOp (and validatePaymasterUserOp) must return this value in case of signature failure, instead of revert.\"},\"_validateSenderAndPaymaster(bytes,address,bytes)\":{\"notice\":\"Called only during simulation. This function always reverts to prevent warm/cold storage differentiation in simulation vs execution.\"},\"addStake(uint32)\":{\"notice\":\"add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"return the deposit (for gas payment) of the account\"},\"depositTo(address)\":{\"notice\":\"add to the deposit of the given account\"},\"deposits(address)\":{\"notice\":\"maps paymaster to their deposits and stakes\"},\"getNonce(address,uint192)\":{\"notice\":\"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order.\"},\"getSenderAddress(bytes)\":{\"notice\":\"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. this method always revert, and returns the address in SenderAddressResult error\"},\"getUserOpHash((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))\":{\"notice\":\"generate a request Id - unique identifier for this request. the request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid.\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. no signature aggregator is used. if any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"notice\":\"inner function to handle a UserOperation. Must be declared \\\"external\\\" to open a call context, but it can only be called by handleOps.\"},\"nonceSequenceNumber(address,uint192)\":{\"notice\":\"The next valid sequence number for a given nonce key.\"},\"simulateHandleOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address,bytes)\":{\"notice\":\"simulate full execution of a UserOperation (including both validation and target execution) this method will always revert with \\\"ExecutionResult\\\". it performs full validation of the UserOperation, but ignores signature error. an optional target address is called after the userop succeeds, and its value is returned (before the entire call is reverted) Note that in order to collect the the success/failure of the target call, it must be executed with trace enabled to track the emitted events.\"},\"simulateValidation((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))\":{\"notice\":\"Simulate a call to account.validateUserOp and paymaster.validatePaymasterUserOp.\"},\"unlockStake()\":{\"notice\":\"attempt to unlock the stake. the value can be withdrawn (using withdrawStake) after the unstake delay.\"},\"withdrawStake(address)\":{\"notice\":\"withdraw from the (unlocked) stake. must first call unlockStake and wait for the unstakeDelay to pass\"},\"withdrawTo(address,uint256)\":{\"notice\":\"withdraw from the deposit.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v06/EntryPointCodeOverride.sol\":\"EntryPointCodeOverride\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@openzeppelin/contracts-51/=lib/openzeppelin-contracts-51/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":account-abstraction-v6/=lib/account-abstraction-v6/contracts/\",\":account-abstraction-v7/=lib/account-abstraction-v7/contracts/\",\":account-abstraction-v8/=lib/account-abstraction-v8/contracts/\",\":account-abstraction/=lib/account-abstraction-v6/contracts/\",\":bulk/=lib/bulk/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-51/lib/halmos-cheatcodes/src/\",\":lib/openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/\",\":openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":p256-verifier/=lib/bulk/lib/p256-verifier/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v6/contracts/core/Helpers.sol\":{\"keccak256\":\"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746\",\"dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU\"]},\"lib/account-abstraction-v6/contracts/core/NonceManager.sol\":{\"keccak256\":\"0xa17a4a6fde70088ab18ffe6df830f3efa31f1cd0e1a7160336c96e3c94984d25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b38615df9f80c56282b72888e9ba1eb1a9413fa67a0dbf094deda7af9feb38e7\",\"dweb:/ipfs/QmSzcXetEJRH4UHuUmZiSgX6bFgfqHWfmyuxVnh4NosMk1\"]},\"lib/account-abstraction-v6/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0x44b9449fec82d6cdfb01d52fdd5a72f90099c651316123810cf9633f00b018c2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a9c0487390e72638681d175c45bc92425c802fffdca4bd0ae8457782ee284612\",\"dweb:/ipfs/QmVbzuehCUWJWqEHyMWuc6cRVbxfcMdFsmGL9o4Wz7WY2x\"]},\"lib/account-abstraction-v6/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x21aa0956382bd000b1b8c3b1d19ca6ebcd6c9029eebb19c612fb38ee5dd2430a\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://0a625c8795354d9f429367f9c1d14eb8af7db9c7f2c2a2033e2066ced76a573a\",\"dweb:/ipfs/Qmd1j6UarUg54q1G2HCNCLQz8XGVZR1qxX7eQ6cytHpQPN\"]},\"lib/account-abstraction-v6/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x556a0e5980de18e90b115553ed502408155ba35f58642823010d9288047bc418\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0f420134b79596db8737173c7b933ae0a33059e107b6327c43aa40d4744a9e4\",\"dweb:/ipfs/QmRo8s1AhXmEMV7uPYnbpYwU19e9Bk6jmYBJTiPx3Fo85W\"]},\"lib/account-abstraction-v6/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b\",\"dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP\"]},\"lib/account-abstraction-v6/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf\",\"dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd\"]},\"lib/account-abstraction-v6/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2\",\"dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b\"]},\"lib/account-abstraction-v6/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x36858ba8685024974f533530420688da3454d29996ebc42e410673a1ed2ec456\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://616cbcf51778b1961b7f20a547bec7efae6d1d565df0f651926241ed8bde9ad8\",\"dweb:/ipfs/QmaVsgffUUmeUJYgStvRr8cNZ1LBbrc3FYNLW4JT1dVLia\"]},\"lib/account-abstraction-v6/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3\",\"dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ\"]},\"lib/account-abstraction-v6/contracts/interfaces/UserOperation.sol\":{\"keccak256\":\"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c\",\"dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN\"]},\"lib/account-abstraction-v6/contracts/utils/Exec.sol\":{\"keccak256\":\"0x5b232117afbc2939f3ffc92745614867e9e1d475a3e1e5443adae13c200174f1\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://62e7365379a06ead7b47637945bcaee095d51aab1d3ac00ddec69443e6cbe9fe\",\"dweb:/ipfs/QmctG3aw4U3KMSMeJKoLJ1NJewjMWfppnd1m3kxNTe39Uy\"]},\"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02\",\"dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8\",\"dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df\",\"dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL\"]},\"src/v06/EntryPointCodeOverride.sol\":{\"keccak256\":\"0x7f5cc225601731a185177f980079bb9a74523e27767581ec47a32cb89650a16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://717e02ad7a242c88004afe88e5e60677a06da5575b10a8dc2533eb9675750162\",\"dweb:/ipfs/QmSRRSWVeTPX1rt92X9AnVR5eoAoSbMvV3TMYJnob6qgon\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"paid","type":"uint256"},{"internalType":"uint48","name":"validAfter","type":"uint48"},{"internalType":"uint48","name":"validUntil","type":"uint48"},{"internalType":"bool","name":"targetSuccess","type":"bool"},{"internalType":"bytes","name":"targetResult","type":"bytes"}],"type":"error","name":"ExecutionResult"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"bool","name":"sigFailed","type":"bool"},{"internalType":"uint48","name":"validAfter","type":"uint48"},{"internalType":"uint48","name":"validUntil","type":"uint48"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]}],"type":"error","name":"ValidationResult"},{"inputs":[{"internalType":"struct IEntryPoint.ReturnInfo","name":"returnInfo","type":"tuple","components":[{"internalType":"uint256","name":"preOpGas","type":"uint256"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"bool","name":"sigFailed","type":"bool"},{"internalType":"uint48","name":"validAfter","type":"uint48"},{"internalType":"uint48","name":"validUntil","type":"uint48"},{"internalType":"bytes","name":"paymasterContext","type":"bytes"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"senderInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"factoryInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IStakeManager.StakeInfo","name":"paymasterInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]},{"internalType":"struct IEntryPoint.AggregatorStakeInfo","name":"aggregatorInfo","type":"tuple","components":[{"internalType":"address","name":"aggregator","type":"address"},{"internalType":"struct IStakeManager.StakeInfo","name":"stakeInfo","type":"tuple","components":[{"internalType":"uint256","name":"stake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"}]}]}],"type":"error","name":"ValidationResultWithAggregation"},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"factory","type":"address","indexed":false},{"internalType":"address","name":"paymaster","type":"address","indexed":false}],"type":"event","name":"AccountDeployed","anonymous":false},{"inputs":[],"type":"event","name":"BeforeExecution","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalDeposit","type":"uint256","indexed":false}],"type":"event","name":"Deposited","anonymous":false},{"inputs":[{"internalType":"address","name":"aggregator","type":"address","indexed":true}],"type":"event","name":"SignatureAggregatorChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"totalStaked","type":"uint256","indexed":false},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256","indexed":false}],"type":"event","name":"StakeLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"withdrawTime","type":"uint256","indexed":false}],"type":"event","name":"StakeUnlocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"StakeWithdrawn","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"paymaster","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bool","name":"success","type":"bool","indexed":false},{"internalType":"uint256","name":"actualGasCost","type":"uint256","indexed":false},{"internalType":"uint256","name":"actualGasUsed","type":"uint256","indexed":false}],"type":"event","name":"UserOperationEvent","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"uint256","name":"nonce","type":"uint256","indexed":false},{"internalType":"bytes","name":"revertReason","type":"bytes","indexed":false}],"type":"event","name":"UserOperationRevertReason","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"withdrawAddress","type":"address","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Withdrawn","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"SIG_VALIDATION_FAILED","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"}],"stateMutability":"view","type":"function","name":"_validateSenderAndPaymaster"},{"inputs":[{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"}],"stateMutability":"payable","type":"function","name":"addStake"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"deposits","outputs":[{"internalType":"uint112","name":"deposit","type":"uint112"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint112","name":"deposit","type":"uint112"},{"internalType":"bool","name":"staked","type":"bool"},{"internalType":"uint112","name":"stake","type":"uint112"},{"internalType":"uint32","name":"unstakeDelaySec","type":"uint32"},{"internalType":"uint48","name":"withdrawTime","type":"uint48"}]}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"getSenderAddress"},{"inputs":[{"internalType":"struct UserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]}],"stateMutability":"view","type":"function","name":"getUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct IEntryPoint.UserOpsPerAggregator[]","name":"opsPerAggregator","type":"tuple[]","components":[{"internalType":"struct UserOperation[]","name":"userOps","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"contract IAggregator","name":"aggregator","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct UserOperation[]","name":"ops","type":"tuple[]","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address payable","name":"beneficiary","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleOps"},{"inputs":[{"internalType":"uint192","name":"key","type":"uint192"}],"stateMutability":"nonpayable","type":"function","name":"incrementNonce"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"struct EntryPointCodeOverride.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPointCodeOverride.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"address","name":"paymaster","type":"address"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"}]},{"internalType":"bytes32","name":"userOpHash","type":"bytes32"},{"internalType":"uint256","name":"prefund","type":"uint256"},{"internalType":"uint256","name":"contextOffset","type":"uint256"},{"internalType":"uint256","name":"preOpGas","type":"uint256"}]},{"internalType":"bytes","name":"context","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint192","name":"","type":"uint192"}],"stateMutability":"view","type":"function","name":"nonceSequenceNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"struct UserOperation","name":"op","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"targetCallData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"simulateHandleOp"},{"inputs":[{"internalType":"struct UserOperation","name":"userOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"bytes","name":"initCode","type":"bytes"},{"internalType":"bytes","name":"callData","type":"bytes"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"uint256","name":"maxFeePerGas","type":"uint256"},{"internalType":"uint256","name":"maxPriorityFeePerGas","type":"uint256"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"simulateValidation"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unlockStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdrawStake"},{"inputs":[{"internalType":"address payable","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdrawTo"},{"inputs":[],"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"addStake(uint32)":{"params":{"unstakeDelaySec":"the new lock duration before the deposit can be withdrawn."}},"getDepositInfo(address)":{"returns":{"info":"- full deposit information of given account"}},"getNonce(address,uint192)":{"params":{"key":"the high 192 bit of the nonce","sender":"the account address"},"returns":{"nonce":"a full nonce to pass for next UserOp with this sender."}},"getSenderAddress(bytes)":{"params":{"initCode":"the constructor code to be passed into the UserOperation."}},"handleAggregatedOps(((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,bytes)[],address)":{"params":{"beneficiary":"the address to receive the fees","opsPerAggregator":"the operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)"}},"handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)":{"params":{"beneficiary":"the address to receive the fees","ops":"the operations to execute"}},"simulateHandleOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address,bytes)":{"params":{"op":"the UserOperation to simulate","target":"if nonzero, a target address to call after userop simulation. If called, the targetSuccess and targetResult are set to the return from that call.","targetCallData":"callData to pass to target address"}},"simulateValidation((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))":{"details":"this method always revert. Successful result is ValidationResult error. other errors are failures.The node must also verify it doesn't use banned opcodes, and that it doesn't reference storage outside the account's data.","params":{"userOp":"the user operation to validate."}},"withdrawStake(address)":{"params":{"withdrawAddress":"the address to send withdrawn value."}},"withdrawTo(address,uint256)":{"params":{"withdrawAddress":"the address to send withdrawn value.","withdrawAmount":"the amount to withdraw."}}},"version":1},"userdoc":{"kind":"user","methods":{"SIG_VALIDATION_FAILED()":{"notice":"for simulation purposes, validateUserOp (and validatePaymasterUserOp) must return this value in case of signature failure, instead of revert."},"_validateSenderAndPaymaster(bytes,address,bytes)":{"notice":"Called only during simulation. This function always reverts to prevent warm/cold storage differentiation in simulation vs execution."},"addStake(uint32)":{"notice":"add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"return the deposit (for gas payment) of the account"},"depositTo(address)":{"notice":"add to the deposit of the given account"},"deposits(address)":{"notice":"maps paymaster to their deposits and stakes"},"getNonce(address,uint192)":{"notice":"Return the next nonce for this sender. Within a given key, the nonce values are sequenced (starting with zero, and incremented by one on each userop) But UserOp with different keys can come with arbitrary order."},"getSenderAddress(bytes)":{"notice":"Get counterfactual sender address. Calculate the sender contract address that will be generated by the initCode and salt in the UserOperation. this method always revert, and returns the address in SenderAddressResult error"},"getUserOpHash((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))":{"notice":"generate a request Id - unique identifier for this request. the request ID is a hash over the content of the userOp (except the signature), the entrypoint and the chainid."},"handleAggregatedOps(((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address,bytes)[],address)":{"notice":"Execute a batch of UserOperation with Aggregators"},"handleOps((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],address)":{"notice":"Execute a batch of UserOperations. no signature aggregator is used. if any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead."},"incrementNonce(uint192)":{"notice":"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key."},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)":{"notice":"inner function to handle a UserOperation. Must be declared \"external\" to open a call context, but it can only be called by handleOps."},"nonceSequenceNumber(address,uint192)":{"notice":"The next valid sequence number for a given nonce key."},"simulateHandleOp((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes),address,bytes)":{"notice":"simulate full execution of a UserOperation (including both validation and target execution) this method will always revert with \"ExecutionResult\". it performs full validation of the UserOperation, but ignores signature error. an optional target address is called after the userop succeeds, and its value is returned (before the entire call is reverted) Note that in order to collect the the success/failure of the target call, it must be executed with trace enabled to track the emitted events."},"simulateValidation((address,uint256,bytes,bytes,uint256,uint256,uint256,uint256,uint256,bytes,bytes))":{"notice":"Simulate a call to account.validateUserOp and paymaster.validatePaymasterUserOp."},"unlockStake()":{"notice":"attempt to unlock the stake. the value can be withdrawn (using withdrawStake) after the unstake delay."},"withdrawStake(address)":{"notice":"withdraw from the (unlocked) stake. must first call unlockStake and wait for the unstakeDelay to pass"},"withdrawTo(address,uint256)":{"notice":"withdraw from the deposit."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-51/=lib/openzeppelin-contracts-51/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","account-abstraction-v6/=lib/account-abstraction-v6/contracts/","account-abstraction-v7/=lib/account-abstraction-v7/contracts/","account-abstraction-v8/=lib/account-abstraction-v8/contracts/","account-abstraction/=lib/account-abstraction-v6/contracts/","bulk/=lib/bulk/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-51/lib/halmos-cheatcodes/src/","lib/openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/","openzeppelin-contracts-51/=lib/openzeppelin-contracts-51/","openzeppelin-contracts/=lib/openzeppelin-contracts/","p256-verifier/=lib/bulk/lib/p256-verifier/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v06/EntryPointCodeOverride.sol":"EntryPointCodeOverride"},"evmVersion":"london","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v6/contracts/core/Helpers.sol":{"keccak256":"0x591c87519f7155d1909210276b77925ab2722a99b7b5d5649aecc36ebbdb045a","urls":["bzz-raw://69643e83f68e6a13d5075c7565bfce326673b0bd98c432033c4603ea84835746","dweb:/ipfs/QmSwSzjYyV7qudi5vvsmzHMG2Z4YJZxX51RRXXVCLaNcEU"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/core/NonceManager.sol":{"keccak256":"0xa17a4a6fde70088ab18ffe6df830f3efa31f1cd0e1a7160336c96e3c94984d25","urls":["bzz-raw://b38615df9f80c56282b72888e9ba1eb1a9413fa67a0dbf094deda7af9feb38e7","dweb:/ipfs/QmSzcXetEJRH4UHuUmZiSgX6bFgfqHWfmyuxVnh4NosMk1"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/core/SenderCreator.sol":{"keccak256":"0x44b9449fec82d6cdfb01d52fdd5a72f90099c651316123810cf9633f00b018c2","urls":["bzz-raw://a9c0487390e72638681d175c45bc92425c802fffdca4bd0ae8457782ee284612","dweb:/ipfs/QmVbzuehCUWJWqEHyMWuc6cRVbxfcMdFsmGL9o4Wz7WY2x"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/core/StakeManager.sol":{"keccak256":"0x21aa0956382bd000b1b8c3b1d19ca6ebcd6c9029eebb19c612fb38ee5dd2430a","urls":["bzz-raw://0a625c8795354d9f429367f9c1d14eb8af7db9c7f2c2a2033e2066ced76a573a","dweb:/ipfs/Qmd1j6UarUg54q1G2HCNCLQz8XGVZR1qxX7eQ6cytHpQPN"],"license":"GPL-3.0-only"},"lib/account-abstraction-v6/contracts/interfaces/IAccount.sol":{"keccak256":"0x556a0e5980de18e90b115553ed502408155ba35f58642823010d9288047bc418","urls":["bzz-raw://a0f420134b79596db8737173c7b933ae0a33059e107b6327c43aa40d4744a9e4","dweb:/ipfs/QmRo8s1AhXmEMV7uPYnbpYwU19e9Bk6jmYBJTiPx3Fo85W"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IAggregator.sol":{"keccak256":"0x060e9ddb0152250c269ba0640dc5753834ac44cf182a2837d508c0c529cae26a","urls":["bzz-raw://20ed837bc5909c89ff1910246bf245a5dad6840aa939382e1694964eb7dbd37b","dweb:/ipfs/QmTMybRq5yyghPDDs1ZCNAVB9sSJ4WHe6Q9mejuKPTAdNP"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x3a90bf308819ed125fa4202f880999caff8a8686633b8ddb79a30ca240d5b8f8","urls":["bzz-raw://d2d21cc92c2fdab2b58d21bc25d4cd0e8c284b922528a186b087b818d54bc6cf","dweb:/ipfs/QmT1qrfuBjsv2rmRCDn8mgPXHp94hARJwzbcDuBLDTbFWd"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/INonceManager.sol":{"keccak256":"0x509871e6c63663cdcc3eba19920fe84e991f38b289b1377ac3c3a6d9f22d7e12","urls":["bzz-raw://00fe21b4349b24c50df60e1a705179293982bd9e7a32b78d4bac9620f89e7fe2","dweb:/ipfs/QmSFFYGfUwQbVa6hASjU7YxTvgi2HkfrPr4X5oPHscHg8b"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x36858ba8685024974f533530420688da3454d29996ebc42e410673a1ed2ec456","urls":["bzz-raw://616cbcf51778b1961b7f20a547bec7efae6d1d565df0f651926241ed8bde9ad8","dweb:/ipfs/QmaVsgffUUmeUJYgStvRr8cNZ1LBbrc3FYNLW4JT1dVLia"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xd227b02888cd4ac68daebcdfd992ec00f9fff66fa3b3bb16f656cd582fa3480f","urls":["bzz-raw://b389da4714a138be63704a576a482505eab2855e263b38a93706395d8d42e7c3","dweb:/ipfs/QmeeAZpdHwUXxqP8pxA7GNtoCGBmmH4FaqLLwScVKGxtxZ"],"license":"GPL-3.0-only"},"lib/account-abstraction-v6/contracts/interfaces/UserOperation.sol":{"keccak256":"0x61374003361059087fdcf17967a7bba052badeaf5c7f0ae689166f8aafd3a45c","urls":["bzz-raw://6ff83c59432e733bf6304dda27cd4b0f34401917dd535e2669cc842d2d26568c","dweb:/ipfs/QmPJbHU5TAjHqUTZzAcicEeG2nknmwCN43L4EW9LHbknTN"],"license":"GPL-3.0"},"lib/account-abstraction-v6/contracts/utils/Exec.sol":{"keccak256":"0x5b232117afbc2939f3ffc92745614867e9e1d475a3e1e5443adae13c200174f1","urls":["bzz-raw://62e7365379a06ead7b47637945bcaee095d51aab1d3ac00ddec69443e6cbe9fe","dweb:/ipfs/QmctG3aw4U3KMSMeJKoLJ1NJewjMWfppnd1m3kxNTe39Uy"],"license":"LGPL-3.0-only"},"lib/openzeppelin-contracts/contracts/utils/ReentrancyGuard.sol":{"keccak256":"0xf980daa263b661ab8ddee7d4fd833c7da7e7995e2c359ff1f17e67e4112f2236","urls":["bzz-raw://7448ab095d6940130bcf76ba47a2eab14148c83119523b93dd89f6d84edd6c02","dweb:/ipfs/QmawrZ4voKQjH3oomXT3Kuheb3Mnmo2VvVpxg8Ne5UJUrd"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"keccak256":"0x9e8778b14317ba9e256c30a76fd6c32b960af621987f56069e1e819c77c6a133","urls":["bzz-raw://1777404f1dcd0fac188e55a288724ec3c67b45288e49cc64723e95e702b49ab8","dweb:/ipfs/QmZFdC626GButBApwDUvvTnUzdinevC3B24d7yyh57XkiA"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x4296879f55019b23e135000eb36896057e7101fb7fb859c5ef690cf14643757b","urls":["bzz-raw://87b3541437c8c443ccd36795e56a338ed12855eec17f8da624511b8d1a7e14df","dweb:/ipfs/QmeJQCtZrQjtJLr6u7ZHWeH3pBnjtLWzvRrKViAi7UZqxL"],"license":"MIT"},"src/v06/EntryPointCodeOverride.sol":{"keccak256":"0x7f5cc225601731a185177f980079bb9a74523e27767581ec47a32cb89650a16a","urls":["bzz-raw://717e02ad7a242c88004afe88e5e60677a06da5575b10a8dc2533eb9675750162","dweb:/ipfs/QmSRRSWVeTPX1rt92X9AnVR5eoAoSbMvV3TMYJnob6qgon"],"license":"GPL-3.0"}},"version":1},"id":15}
|