@pimlico/alto 0.0.0-main.20251205T161640 → 0.0.0-main.20260101T133101

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.
Files changed (146) hide show
  1. package/contracts/EIP712.sol/EIP712.json +1 -1
  2. package/contracts/ERC165.sol/ERC165.json +1 -1
  3. package/contracts/ERC20.sol/ERC20.json +1 -1
  4. package/contracts/Eip7702Support.sol/Eip7702Support.json +1 -1
  5. package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
  6. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
  7. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
  8. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
  9. package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
  10. package/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
  11. package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  12. package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  13. package/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
  14. package/contracts/Exec.sol/Exec.json +1 -1
  15. package/contracts/IAccount.sol/IAccount.json +1 -1
  16. package/contracts/IAccountExecute.sol/IAccountExecute.json +1 -1
  17. package/contracts/IAggregator.sol/IAggregator.json +1 -1
  18. package/contracts/IERC165.sol/IERC165.json +1 -1
  19. package/contracts/IERC5267.sol/IERC5267.json +1 -1
  20. package/contracts/IEntryPoint.sol/IEntryPoint.json +1 -1
  21. package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride08.json +1 -1
  22. package/contracts/IEntryPointFilterOpsOverride.sol/IEntryPointFilterOpsOverride09.json +1 -0
  23. package/contracts/IEntryPointSimulations.sol/IEntryPointSimulations.json +1 -1
  24. package/contracts/INonceManager.sol/INonceManager.json +1 -1
  25. package/contracts/IPaymaster.sol/IPaymaster.json +1 -1
  26. package/contracts/ISenderCreator.sol/ISenderCreator.json +1 -1
  27. package/contracts/IStakeManager.sol/IStakeManager.json +1 -1
  28. package/contracts/LibBytes.sol/LibBytes.json +1 -1
  29. package/contracts/Math.sol/Math.json +1 -1
  30. package/contracts/MessageHashUtils.sol/MessageHashUtils.json +1 -1
  31. package/contracts/NonceManager.sol/NonceManager.json +1 -1
  32. package/contracts/Panic.sol/Panic.json +1 -1
  33. package/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  34. package/contracts/ReentrancyGuard.sol/ReentrancyGuard.json +1 -1
  35. package/contracts/ReentrancyGuardTransient.sol/ReentrancyGuardTransient.json +1 -1
  36. package/contracts/SafeCast.sol/SafeCast.json +1 -1
  37. package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
  38. package/contracts/ShortStrings.sol/ShortStrings.json +1 -1
  39. package/contracts/SignedMath.sol/SignedMath.json +1 -1
  40. package/contracts/SimulationOverrideHelper.sol/SimulationOverrideHelper.json +1 -1
  41. package/contracts/StakeManager.sol/StakeManager.json +1 -1
  42. package/contracts/StorageSlot.sol/StorageSlot.json +1 -1
  43. package/contracts/Strings.sol/Strings.json +1 -1
  44. package/contracts/TransientSlot.sol/TransientSlot.json +1 -1
  45. package/contracts/UserOperation.sol/UserOperationLib.json +1 -1
  46. package/contracts/UserOperationLib.sol/UserOperationLib.json +1 -1
  47. package/contracts/account-abstraction-v9/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -0
  48. package/contracts/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -0
  49. package/contracts/account-abstraction-v9/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -0
  50. package/contracts/account-abstraction-v9/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -0
  51. package/contracts/build-info/{006aa55b425148d5.json → 338795fc743ca612.json} +1 -1
  52. package/contracts/build-info/44a9648cfe32a468.json +1 -0
  53. package/contracts/build-info/{416ffb069999d6eb.json → 8dbf8a4ad39019b5.json} +1 -1
  54. package/contracts/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
  55. package/contracts/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  56. package/contracts/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
  57. package/contracts/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
  58. package/contracts/core/Eip7702Support.sol/Eip7702Support.json +1 -0
  59. package/contracts/core/NonceManager.sol/NonceManager.json +1 -0
  60. package/contracts/core/SenderCreator.sol/SenderCreator.json +1 -0
  61. package/contracts/core/StakeManager.sol/StakeManager.json +1 -0
  62. package/contracts/core/UserOperationLib.sol/UserOperationLib.json +1 -0
  63. package/contracts/interfaces/IAccount.sol/IAccount.json +1 -0
  64. package/contracts/interfaces/IAccountExecute.sol/IAccountExecute.json +1 -0
  65. package/contracts/interfaces/IAggregator.sol/IAggregator.json +1 -1
  66. package/contracts/interfaces/IEntryPoint.sol/IEntryPoint.json +1 -1
  67. package/contracts/interfaces/INonceManager.sol/INonceManager.json +1 -1
  68. package/contracts/interfaces/IPaymaster.sol/IPaymaster.json +1 -0
  69. package/contracts/interfaces/ISenderCreator.sol/ISenderCreator.json +1 -0
  70. package/contracts/interfaces/IStakeManager.sol/IStakeManager.json +1 -1
  71. package/contracts/overrides/Eip7702Support.sol/Eip7702Support.json +1 -0
  72. package/contracts/overrides/NonceManager.sol/NonceManager.json +1 -0
  73. package/contracts/overrides/SenderCreator.sol/SenderCreator.json +1 -0
  74. package/contracts/overrides/StakeManager.sol/StakeManager.json +1 -0
  75. package/contracts/overrides/UserOperationLib.sol/UserOperationLib.json +1 -0
  76. package/contracts/utils/Exec.sol/Exec.json +1 -1
  77. package/contracts/utils/StorageSlot.sol/StorageSlot.json +1 -1
  78. package/contracts/v09/EntryPoint.sol/EntryPoint.json +1 -0
  79. package/esm/cli/config/bundler.d.ts +56 -50
  80. package/esm/cli/config/bundler.js +1 -0
  81. package/esm/cli/config/bundler.js.map +1 -1
  82. package/esm/cli/config/options.js +5 -1
  83. package/esm/cli/config/options.js.map +1 -1
  84. package/esm/cli/deploySimulationsContract.d.ts +1 -0
  85. package/esm/cli/deploySimulationsContract.js +41 -5
  86. package/esm/cli/deploySimulationsContract.js.map +1 -1
  87. package/esm/cli/handler.js +14 -0
  88. package/esm/cli/handler.js.map +1 -1
  89. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride06.json +1 -1
  90. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
  91. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
  92. package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride09.json +1 -0
  93. package/esm/contracts/EntryPointGasEstimationOverride.sol/EntryPointGasEstimationOverride06.json +1 -1
  94. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
  95. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
  96. package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations09.json +1 -0
  97. package/esm/contracts/PimlicoSimulations.sol/PimlicoSimulations.json +1 -1
  98. package/esm/executor/filterOpsAndEstimateGas.js +12 -0
  99. package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
  100. package/esm/executor/utils.js +2 -2
  101. package/esm/executor/utils.js.map +1 -1
  102. package/esm/mempool/mempool.d.ts +34 -0
  103. package/esm/mempool/mempool.js +14 -4
  104. package/esm/mempool/mempool.js.map +1 -1
  105. package/esm/rpc/estimation/gasEstimations07.js +7 -6
  106. package/esm/rpc/estimation/gasEstimations07.js.map +1 -1
  107. package/esm/rpc/estimation/preVerificationGasCalculator.js +1 -1
  108. package/esm/rpc/estimation/preVerificationGasCalculator.js.map +1 -1
  109. package/esm/rpc/methods/boost_sendUserOperation.d.ts +304 -0
  110. package/esm/rpc/methods/debug_bundler_dumpMempool.d.ts +338 -0
  111. package/esm/rpc/methods/eth_estimateUserOperationGas.d.ts +622 -14
  112. package/esm/rpc/methods/eth_getUserOperationByHash.d.ts +621 -11
  113. package/esm/rpc/methods/eth_sendUserOperation.d.ts +304 -0
  114. package/esm/rpc/methods/pimlico_sendUserOperationNow.d.ts +304 -0
  115. package/esm/rpc/methods/pimlico_sendUserOperationNow.js +3 -12
  116. package/esm/rpc/methods/pimlico_sendUserOperationNow.js.map +1 -1
  117. package/esm/rpc/methods/pimlico_simulateAssetChange.d.ts +620 -12
  118. package/esm/rpc/validation/SafeValidator.js +5 -5
  119. package/esm/rpc/validation/SafeValidator.js.map +1 -1
  120. package/esm/store/createMempoolStore.js +8 -2
  121. package/esm/store/createMempoolStore.js.map +1 -1
  122. package/esm/store/outstanding/memory.js +26 -17
  123. package/esm/store/outstanding/memory.js.map +1 -1
  124. package/esm/store/outstanding/redis.js +46 -18
  125. package/esm/store/outstanding/redis.js.map +1 -1
  126. package/esm/store/outstanding/types.d.ts +2 -1
  127. package/esm/store/processing/memory.d.ts +3 -1
  128. package/esm/store/processing/memory.js +14 -2
  129. package/esm/store/processing/memory.js.map +1 -1
  130. package/esm/store/processing/redis.d.ts +4 -2
  131. package/esm/store/processing/redis.js +20 -4
  132. package/esm/store/processing/redis.js.map +1 -1
  133. package/esm/store/processing/types.d.ts +2 -1
  134. package/esm/store/types.d.ts +1 -0
  135. package/esm/types/contracts/PimlicoSimulations.d.ts +81 -0
  136. package/esm/types/contracts/PimlicoSimulations.js +105 -0
  137. package/esm/types/contracts/PimlicoSimulations.js.map +1 -1
  138. package/esm/types/schemas.d.ts +13039 -4597
  139. package/esm/types/schemas.js +92 -2
  140. package/esm/types/schemas.js.map +1 -1
  141. package/esm/utils/entryPointOverrides.js +7 -0
  142. package/esm/utils/entryPointOverrides.js.map +1 -1
  143. package/esm/utils/userop.d.ts +76 -2
  144. package/esm/utils/userop.js +71 -79
  145. package/esm/utils/userop.js.map +1 -1
  146. package/package.json +2 -2
@@ -0,0 +1 @@
1
+ {"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_paymasterValidation","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","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":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","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"}]}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"_validatePrepayment","inputs":[{"name":"opIndex","type":"uint256","internalType":"uint256"},{"name":"userOp","type":"tuple","internalType":"struct PackedUserOperation","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":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"name":"paymasterAndData","type":"bytes","internalType":"bytes"},{"name":"signature","type":"bytes","internalType":"bytes"}]},{"name":"outOpInfo","type":"tuple","internalType":"struct EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","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":"validatePaymasterPrepayment","type":"bool","internalType":"bool"}],"outputs":[{"name":"validationData","type":"uint256","internalType":"uint256"},{"name":"paymasterValidationData","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"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":"delegateAndRevert","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"depositTo","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getCurrentUserOpHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"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":"uint256","internalType":"uint256"},{"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":"getDomainSeparatorV4","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"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":"getPackedUserOpTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"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 PackedUserOperation","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":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"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 PackedUserOperation[]","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":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"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 PackedUserOperation[]","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":"accountGasLimits","type":"bytes32","internalType":"bytes32"},{"name":"preVerificationGas","type":"uint256","internalType":"uint256"},{"name":"gasFees","type":"bytes32","internalType":"bytes32"},{"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 EntryPoint.UserOpInfo","components":[{"name":"mUserOp","type":"tuple","internalType":"struct EntryPoint.MemoryUserOp","components":[{"name":"sender","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"verificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"callGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterVerificationGasLimit","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","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"},{"name":"preGas","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"actualGasCost","type":"uint256","internalType":"uint256"},{"name":"paymasterPostOpGasLimit","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":"senderCreator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISenderCreator"}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"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":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"EIP7702AccountInitialized","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"delegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"IgnoredInitCode","inputs":[{"name":"userOpHash","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"sender","type":"address","indexed":true,"internalType":"address"},{"name":"unusedFactory","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"PostOpRevertReason","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":"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":"UserOperationPrefundTooLow","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"}],"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":"DelegateAndRevert","inputs":[{"name":"success","type":"bool","internalType":"bool"},{"name":"ret","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"DepositWithdrawalFailed","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"withdrawAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"Eip7702SenderNotDelegate","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"Eip7702SenderWithoutCode","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"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":"InsufficientDeposit","inputs":[{"name":"currentDeposit","type":"uint256","internalType":"uint256"},{"name":"withdrawAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidPaymaster","inputs":[{"name":"paymaster","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidPaymasterData","inputs":[{"name":"paymasterAndDataLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidPaymasterSignatureLength","inputs":[{"name":"dataLength","type":"uint256","internalType":"uint256"},{"name":"pmSignatureLength","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"InvalidStake","inputs":[{"name":"msgValue","type":"uint256","internalType":"uint256"},{"name":"currentStake","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidUnstakeDelay","inputs":[{"name":"newUnstakeDelaySec","type":"uint256","internalType":"uint256"},{"name":"currentUnstakeDelaySec","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"NotStaked","inputs":[{"name":"currentStake","type":"uint256","internalType":"uint256"},{"name":"unstakeDelaySec","type":"uint256","internalType":"uint256"},{"name":"staked","type":"bool","internalType":"bool"}]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"Reentrancy","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":"StakeNotUnlocked","inputs":[{"name":"withdrawTime","type":"uint256","internalType":"uint256"},{"name":"blockTimestamp","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StakeWithdrawalFailed","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"withdrawAddress","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"revertReason","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"WithdrawalNotDue","inputs":[{"name":"withdrawTime","type":"uint256","internalType":"uint256"},{"name":"blockTimestamp","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x6101806040523461017d57604051610018604082610181565b600781526020810190664552433433333760c81b82526040519161003d604084610181565b600183526020830191603160f81b8352610056816101a4565b610120526100638461033f565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c082610181565b5190206080523060c0526040516103ee8082016001600160401b038111838210176101695782916131f1833903905ff0801561015e5761016052604051612d799081610478823960805181611dd7015260a05181611e94015260c05181611da8015260e05181611e2601526101005181611e4c01526101205181610aa801526101405181610ad1015261016051815050f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761016957604052565b908151602081105f1461021e575090601f8151116101de5760208151910151602082106101cf571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161016957600254600181811c91168015610335575b602082101461032157601f81116102ee575b50602092601f821160011461028d57928192935f92610282575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610269565b601f1982169360025f52805f20915f5b8681106102d657508360019596106102be575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f80806102b0565b9192602060018192868501518155019401920161029d565b60025f52601f60205f20910160051c810190601f830160051c015b818110610316575061024f565b5f8155600101610309565b634e487b7160e01b5f52602260045260245ffd5b90607f169061023d565b908151602081105f1461036a575090601f8151116101de5760208151910151602082106101cf571790565b6001600160401b03811161016957600354600181811c9116801561046d575b602082101461032157601f811161043a575b50602092601f82116001146103d957928192935f926103ce575b50508160011b915f199060031b1c19161760035560ff90565b015190505f806103b5565b601f1982169360035f52805f20915f5b868110610422575083600195961061040a575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103fc565b919260206001819286850151815501940192016103e9565b60035f52601f60205f20910160051c810190601f830160051c015b818110610462575061039b565b5f8155600101610455565b90607f169061038956fe60a0806040526004361015610025575b50361561001a575f80fd5b61002333611cf0565b005b5f6080525f3560e01c90816301ffc9a714611647575080630396cb601461148957806309ccb8801461145e5780630bd28e3b1461140d5780630da826611461101f57806313c65a6e14611003578063154e58dc14610fc75780631b2e01b814610f6f578063205c287814610e5f57806321e60b3714610d8357806322cdde4c14610d3b57806335567e1a14610cd55780635287ce1214610be957806370a0823114610bac578063765e827f1461013d57806384b0196e14610a8e578063850aaf6214610a4d5780639b249f6914610955578063b0a398d114610935578063b760faf914610913578063bb9fe6bf14610823578063c23a5cea14610684578063c579f76b146101575763dbed18e01461013d575f61000f565b346101515761014b36611877565b91611bec565b60805180fd5b34610151576102203660031901126101515760043560243567ffffffffffffffff8111610151578060040161012060031983360301126101515761019a366117ac565b906102043591821515830361015157608051905a928151906101bc8282611f01565b604051976101c982611ac0565b9860208501998a52806040526040840151906effffffffffffffffffffffffffffff8260c08701511760608701511760808701511760a08701511761010087015117610120870151171161063b575088809a61024686610100604082015160608301510160808301510160a08301510160c0830151019101510290565b90816040890152856001600160a01b0360e08a516102768c61026f6044868551169a0187611ece565b918c612840565b0151169160805190831561060c575b8a51516001600160a01b03169e8f9160805150604051948591519460208301957f19822f7c00000000000000000000000000000000000000000000000000000000875260248401926102d693612439565b03601f19810185526102e89085611712565b6080519083855191608051906084013560801c94602095f19d608051519e3d602003610603575b836040521561052757505050156104c6575b50506001600160a01b038451166020850151906080515260016020526040608051206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261036f84611a45565b9055160361047a575a87031161042e576060966001600160a01b0360e05a9501511615159081610426575b50610409575b50506103ad905a90611a53565b926073840293808504607314901517156103f15760609660a46080926064978a8601525a900391013501910152604051936080515084526020840152046040820152f35b634e487b7160e01b6080515260116004526024608051fd5b61041c9296506103ad9450908391612049565b92909490886103a0565b90508a61039a565b60849060405190631101335b60e11b8252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b6104cf916123e2565b156104db578a80610321565b60848260405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8791903b61057b5760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d9061080082116105f9575b602082850101604052818452608051903e6105f56040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906118df565b0390fd5b6108009150610587565b5060805161030f565b6080805187905251602081905260409020549091508481111561063457506080515b90610285565b840361062e565b8083631101335b60e11b60849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b346101515760203660031901126101515761069d611796565b33608051526080516020526001604060805120019081549165ffffffffffff6dffffffffffffffffffffffffffff8460081c16936106eb60ff821663ffffffff8360781c1687801515611d49565b60981c1680156107f0574281116107bd575080547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2608051808080856001600160a01b0386165af161077a611a60565b90156107865760805180f35b6105f5906040519384937f0dcf087c0000000000000000000000000000000000000000000000000000000085523360048601611a8f565b7f561d33120000000000000000000000000000000000000000000000000000000060805152600452426024526044608051fd5b7ffbd021d60000000000000000000000000000000000000000000000000000000060805152600452426024526044608051fd5b3461015157608051366003190112610151573360805152608051602052600160406080512001805461088763ffffffff8260781c16918260ff6dffffffffffffffffffffffffffff8360081c16921691610881838383811515611d49565b82611d49565b65ffffffffffff4216019065ffffffffffff82116103f15780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a260805180f35b60203660031901126101515761092f61092a611796565b611cf0565b60805180f35b34610151576080513660031901126101515760206080515c604051908152f35b346101515760203660031901126101515760043567ffffffffffffffff811161015157602061098b6109c0923690600401611903565b6001600160a01b0361099b6119bb565b1690604051809581948293632b870d1b60e11b84528760048501526024840191611cd0565b0391608051905af18015610a40576001600160a01b039160805191610a11575b507f6ca7b8060000000000000000000000000000000000000000000000000000000060805152166004526024608051fd5b610a33915060203d602011610a39575b610a2b8183611712565b810190611cb1565b826109e0565b503d610a21565b6040513d608051823e3d90fd5b3461015157604036600319011261015157610a66611796565b5060243567ffffffffffffffff811161015157610a87903690600401611903565b5050611c2d565b346101515760805136600319011261015157610b4c610acc7f0000000000000000000000000000000000000000000000000000000000000000612631565b610af57f0000000000000000000000000000000000000000000000000000000000000000612770565b60405190602090610b5a90610b0a8385611712565b60805184525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e08701906118df565b9085820360408701526118df565b46606085015230608085015260805160a085015283810360c08501528180845192838152019301916080515b828110610b9557505050500390f35b835185528695509381019392810192600101610b86565b34610151576020366003190112610151576001600160a01b03610bcd611796565b1660805152608051602052602060406080512054604051908152f35b34610151576020366003190112610151576001600160a01b03610c0a611796565b604051610c16816116c5565b608051815260805160208201526080516040820152608051606082015260808051910152166080515260805160205260a060406080512065ffffffffffff604051610c60816116c5565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610151576040366003190112610151576020610cf0611796565b6001600160a01b03610d006116af565b911660805152600182526040608051206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b346101515760203660031901126101515760043567ffffffffffffffff811161015157610120600319823603011261015157610d7b602091600401611ac0565b604051908152f35b34610151576102003660031901126101515760243567ffffffffffffffff8111610151576101208160040191600319903603011261015157606090610dc7366117ac565b60805150608051916001600160a01b0360e08351610de58185611f01565b610dee84611ac0565b6020860152610e1e81610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040860152015116610e49575b50506040519060805150608051825260208201526080516040820152f35b610e569250600435612049565b90508280610e2b565b3461015157604036600319011261015157610e78611796565b602435903360805152608051602052604060805120828154808211610f3d5790610ea191611a53565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2608051808080856001600160a01b0386165af1610efa611a60565b9015610f065760805180f35b6105f5906040519384937f9f3d69330000000000000000000000000000000000000000000000000000000085523360048601611a8f565b7f25c3f46e00000000000000000000000000000000000000000000000000000000608051526004526024526044608051fd5b3461015157604036600319011261015157610f88611796565b6001600160a01b03610f986116af565b91166080515260016020526001600160c01b0360406080512091165f52602052602060405f2054604051908152f35b34610151576080513660031901126101515760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b3461015157608051366003190112610151576020610d7b611d9e565b34611375576102203660031901126113755760043567ffffffffffffffff811161137557611051903690600401611750565b3660231901906101c082126113755761014060405192611070846116c5565b1261137557604051611081816116f5565b6024356001600160a01b038116810361137557815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113755760e08201526101243561010082015261014435610120820152825261016435602083015260408201906101843582526101a435606084015260808301906101c43582526101e43567ffffffffffffffff81116113755761113e903690600401611750565b90845190606082015181519081611381575b505050505a61020435039151809201905f925a95516101008101516101208201514801808210156113795750935b61119d6001600160a01b0360e0840151169360608401519083036123c3565b01925f9280611225575050516001600160a01b0316955b5a900301010291518281105f146111f1577fdeadaa5100000000000000000000000000000000000000000000000000000000608051526020608051fd5b604093836112189203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90979181988051611239575b5050506111b4565b9196509192505a9560a05a930191825190823b15611375575f9161129b91836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528460048401526080602484015260848301906118df565b8d8d0260448301528d60648301520393f19081611361575b50611345573d610800811161133c575b6105f59060405190602081830101604052808252608051602083013e6040519182916365c8fd4d60e01b8352608051600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a48301906118df565b506108006112c3565b611358915a9003955a90039051906123c3565b90878080611231565b5f61136b91611712565b5f608052896112b3565b5f80fd5b90509361117e565b5f80949360206001600160a01b0383965116910192f1156113a55784808080611150565b3d6108008111611404575b6105f590604051906020818301016040528082525f602083013e6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526020600484015260248301906118df565b506108006113b0565b34611375576020366003190112611375576004356001600160c01b038116810361137557335f5260016020526001600160c01b0360405f2091165f5260205260405f2061145a8154611a45565b9055005b34611375575f3660031901126113755760206114786119bb565b6001600160a01b0360405191168152f35b60203660031901126113755760043563ffffffff811680820361137557335f525f6020526dffffffffffffffffffffffffffff60405f20926114eb60018501549163ffffffff8360781c16906114e28282881515611931565b81861015611931565b60081c1634810192838211611633576115268261150e6116009434881515611972565b346dffffffffffffffffffffffffffff871115611972565b5460405190611534826116c5565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b634e487b7160e01b5f52601160045260245ffd5b3461137557602036600319011261137557600435907fffffffff000000000000000000000000000000000000000000000000000000008216809203611375577f01ffc9a700000000000000000000000000000000000000000000000000000000602092148152f35b602435906001600160c01b038216820361137557565b60a0810190811067ffffffffffffffff8211176116e157604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176116e157604052565b90601f8019910116810190811067ffffffffffffffff8211176116e157604052565b67ffffffffffffffff81116116e157601f01601f191660200190565b81601f820112156113755780359061176782611734565b926117756040519485611712565b8284526020838301011161137557815f926020809301838601378301015290565b600435906001600160a01b038216820361137557565b60431901906101c08212611375576040516117c6816116c5565b610140819312611375576040516117dc816116f5565b6044356001600160a01b03811681036113755781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036113755760e0820152610144356101008201526101643561012082015281526101843560208201526101a43560408201526101c435606082015260806101e435910152565b9060406003198301126113755760043567ffffffffffffffff81116113755760040182601f820112156113755780359267ffffffffffffffff8411611375576020808301928560051b0101116113755791906024356001600160a01b03811681036113755790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113755782359167ffffffffffffffff8311611375576020838186019501011161137557565b1561193a575050565b9063ffffffff80927fe1823bce000000000000000000000000000000000000000000000000000000005f52166004521660245260445ffd5b1561197b575050565b6dffffffffffffffffffffffffffff92507f0e10009c000000000000000000000000000000000000000000000000000000005f526004521660245260445ffd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611a3a575f916119fb575090565b90506020813d602011611a32575b81611a1660209383611712565b8101031261137557516001600160a01b03811681036113755790565b3d9150611a09565b6040513d5f823e3d90fd5b5f1981146116335760010190565b9190820391821161163357565b3d15611a8a573d90611a7182611734565b91611a7f6040519384611712565b82523d5f602084013e565b606090565b90926001600160a01b0360809381611abd9796168452166020830152604082015281606082015201906118df565b90565b604290611acc81612305565b611ad4611d9e565b91611ade81611eba565b918015611bcf57905b60c0611af66060830183611ece565b90816040519182372091611b16611b1060e0830183611ece565b90612bd4565b92604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611b9761014082611712565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611bdd6040820182611ece565b90816040519182372090611ae7565b50505033321480611c24575b611c2d577fab143c06000000000000000000000000000000000000000000000000000000005f5260045ffd5b50333b15611bf8565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b9081602091031261137557516001600160a01b03811681036113755790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611d3d34856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b15611d5357505050565b906dffffffffffffffffffffffffffff63ffffffff927f8421e8e5000000000000000000000000000000000000000000000000000000005f521660045216602452151560445260645ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e91575b15611df9577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e8b60c082611712565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dd0565b356001600160a01b03811681036113755790565b903590601e1981360301821215611375570180359067ffffffffffffffff82116113755760200191813603831361137557565b611f85906001600160a01b03611f1682611eba565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611ece565b919082611f9157505050565b6034831061201d578260141161137557803560601c926024811061137557601482013590603411611375576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c1660808201528115611ff15760e00152565b507fd8ccb292000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827f120aaab5000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9192905a9284516001600160a01b0360e0820151169061206f60408801928351906123e2565b156122a1575f6120c396976120d160808394015194604051998a916020850151905190602084019a7f52b7512c000000000000000000000000000000000000000000000000000000008c5260248501612439565b03601f1981018a5289611712565b51858260806001600160a01b0360e085015116930151928a5193f1943d93845f833e51938151966040830197885191156122185760401490811591612203575b5061217a57601f801991011601928360405294955a900311612131575050565b60849250631101335b60e11b8252600482015260406024820152602060448201527f41413336206f76657220706d566572696669636174696f6e4761734c696d69746064820152fd5b3d8461080082116121f9575b604051916020818401016040528083525f602084013e6105f56040519283926365c8fd4d60e01b8452600484015260606024840152601d60648401527f41413335206d616c666f726d6564207061796d61737465722064617461000000608484015260a0604484015260a48301906118df565b6108009150612186565b9050601f80199101166060018114155f612111565b3d866108008211612297575b604051916020818401016040528083525f602084013e6105f56040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906118df565b6108009150612224565b60848360405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b90939293848311611375578411611375578101920390565b6123126040820182611ece565b909161231e8284612525565b156123bc5761232f61233491611eba565b612567565b916014821161236b57505060405160208101916bffffffffffffffffffffffff199060601b16825260148152611e8b603482611712565b81601411611375576020611e8b91604051938491838301966bffffffffffffffffffffffff199060601b168752601460131983019101603484013781015f838201520301601f198101835282611712565b5050505f90565b90619c4082018111156123dc57606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f209081548181106123bc57039055600190565b9035601e198236030181121561137557016020813591019167ffffffffffffffff821161137557813603831361137557565b939291936060815281356001600160a01b0381168103611375576040926001600160a01b0361251b92166060840152602081013560808401526125086124fc6124bc61249d61248a88860186612407565b61012060a08a0152610180890191611cd0565b6124aa6060860186612407565b888303605f190160c08a015290611cd0565b608084013560e087015260a084013561010087015260c08401356101208701526124e960e0850185612407565b878303605f190161014089015290611cd0565b91610100810190612407565b848303605f190161016086015290611cd0565b9460208201520152565b9060021161256257356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036125c9575060481c6001600160a01b031690565b806001600160a01b03913b15612605577f9f4e4cc9000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7fe5819b95000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60ff81146126905760ff811690601f82116126685760405191612655604084611712565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612766575b60208410831461275257838552849290811561273357506001146126d4575b611abd92500382611712565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612717575050906020611abd928201016126c8565b60209193508060019154838588010152019101909183926126ff565b60209250611abd94915060ff191682840152151560051b8201016126c8565b634e487b7160e01b5f52602260045260245ffd5b92607f16926126a9565b60ff81146127945760ff811690601f82116126685760405191612655604084611712565b506040515f6003548060011c9160018216918215612836575b60208410831461275257838552849290811561273357506001146127d757611abd92500382611712565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061281a575050906020611abd928201016126c8565b6020919350806001915483858801015201910190918392612802565b92607f16926127ad565b929091925f82612852575b5050505050565b6001600160a01b0384515116946128698482612525565b612add5760148410612a915783601411612a8d57803560601c93863b612a57576128cd916020916001600160a01b036128a06119bb565b16908560408a51015192604051809781968295632b870d1b60e11b84528960048501526024840191611cd0565b0393f1918215612a4b5791612a2c575b506001600160a01b03811680156129e0578503612994573b15612948575060407fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d916001600160a01b0360e06020860151955101511682519182526020820152a35f8080808061284b565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612a45915060203d602011610a3957610a2b8183611712565b5f6128dd565b604051903d90823e3d90fd5b50505050906020807fa39bcda08ffd11bafb11c4f170ef24fc6dc1a9d1b0394d90dbd19e0b919050e992015192604051908152a3565b5080fd5b60848360405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b915093929160148111612af1575050505050565b6001600160a01b03612b016119bb565b16906040845101518160141161137557823b1561137557612b6a935f80946040518097819682957fc09ad0d90000000000000000000000000000000000000000000000000000000084528c60048501526040602485015260146044850192601319019101611cd0565b0393f18015611a3a57612bbf575b507f7c9f9ade6a03a0bba484e52df872467a270e798ffc1adab9dfaa8d0e627f05446001600160a01b036020612bad85612567565b93015192169380a45f8080808061284b565b612bcc9193505f90611712565b5f915f612b78565b612bde8282612c1a565b80612bef5750816040519182372090565b604051920390600919820190833767117192d14ba1cb2b60c11b828201600919015260011901902090565b603e82106123dc5767117192d14ba1cb2b60c11b7fffffffffffffffff000000000000000000000000000000000000000000000000612c5f84600719810181866122ed565b90358281169160088110612d2e575b505016036123dc5781612c8791816009198101916122ed565b90357fffff00000000000000000000000000000000000000000000000000000000000081169160028110612cf9575b505060f01c90603d1981018211612ccb575090565b7f07b9a191000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7fffff0000000000000000000000000000000000000000000000000000000000009250829060020360031b1b16165f80612cb6565b839250829060080360031b1b16165f80612c6e56fea2646970667358221220cdd377a4025b6bffab4f0b019ddf26401e379e1ecd0a597f54169dbe380bc53364736f6c634300081c003360a08060405234602f57336080526103ba908161003482396080518181816098015281816101b701526102310152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063570e1a36146101db578063b0d691fe146101985763c09ad0d91461003a575f80fd5b34610194576040366003190112610194576004356001600160a01b03811681036101945760243567ffffffffffffffff81116101945736602382011215610194575f91610092839236906024816004013591016102b4565b906100ca7f000000000000000000000000000000000000000000000000000000000000000030336001600160a01b0383163314610339565b82602083519301915af1156100db57005b3d610800811161018b575b60c460405160208382010160405282815260208101925f843e6040519283917f65c8fd4d0000000000000000000000000000000000000000000000000000000083525f600484015260606024840152601f60648401527f4141313320454950373730322073656e64657220696e6974206661696c656400608484015260a060448401525180918160a48501528484015e5f828201840152601f01601f19168101030190fd5b506108006100e6565b5f80fd5b34610194575f3660031901126101945760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101945760203660031901126101945760043567ffffffffffffffff811161019457366023820112156101945780600401359067ffffffffffffffff8211610194573660248383010111610194575f916102637f000000000000000000000000000000000000000000000000000000000000000030336001600160a01b0383163314610339565b80601411610194576020916102825f92369060131901603884016102b4565b90826024858451940192013560601c5af16102ac575b6020906001600160a01b0360405191168152f35b505f51610298565b92919267ffffffffffffffff821161030c5760405191601f8101601f19908116603f0116830167ffffffffffffffff81118482101761030c57604052829481845281830111610194578281602093845f960137010152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b1561034357505050565b6001600160a01b0392918380927ffe34a6d3000000000000000000000000000000000000000000000000000000005f5216600452166024521660445260645ffdfea2646970667358221220609c245b7ad0600ab28ca9e5b576771821ccac7702741ae3a66a45a908201d0c64736f6c634300081c0033","sourceMap":"1377:37173:30:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;:::i;:::-;2563:9;1377:37173;;;2563:9;;;-1:-1:-1;;;2563:9:30;;3401:45:22;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1377:37173:30;3542:22:22;;3528:36;;;;1377:37173:30;3591:25:22;;3574:42;;;3644:13;3627:30;;1377:37173:30;;4204:80:22;1377:37173:30;4204:80:22;;2079:95;;;;1377:37173:30;2079:95:22;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1377:37173:30;4194:91:22;;2079:95;3667:48;4278:4;4204:80;3725:27;1377:37173:30;;2498:19;;;;-1:-1:-1;;;;;2498:19:30;;;;;;;;;;;;;;;-1:-1:-1;2498:19:30;;;;;;;1377:37173;;;;;;;;2079:95:22;1377:37173:30;;;;;3627:30:22;1377:37173:30;;;;;4204:80:22;1377:37173:30;;;;;3528:36:22;1377:37173:30;;;;;3574:42:22;1377:37173:30;;;;;3393:53:22;1377:37173:30;;;;;3456:62:22;1377:37173:30;;;;;2498:19;1377:37173;;;;;2498:19;1377:37173;;2620:3;-1:-1:-1;2620:3:30;;;;;2498:19;1377:37173;;;-1:-1:-1;1377:37173:30;;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;:::o;2887:340:19:-;;1377:37173:30;;3032:2:19;3010:24;;3006:215;3032:2;;;1377:37173:30;;1854:2:19;1377:37173:30;;1840:16:19;1836:72;;3032:2;1377:37173:30;;;;2079:95:22;3032:2:19;1377:37173:30;;;;1949:36:19;3050:27;:::o;1377:37173:30:-;;;;3032:2:19;1377:37173:30;;;;;1949:36:19;3050:27;:::o;1836:72::-;1377:37173:30;3032:2:19;1377:37173:30;;;1879:18:19;;;;;;;;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;1854:2:19;1377:37173:30;-1:-1:-1;;1377:37173:30;;;1879:18:19;;;;3006:215;-1:-1:-1;;;;;1377:37173:30;;;;3432:13:22;1377:37173:30;;;;;;;;;;;3006:215:19;3032:2;1377:37173:30;;;;;;;;;;3006:215:19;1377:37173:30;3032:2:19;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:22;1377:37173:30;1390:66:19;3168:42;:::o;1377:37173:30:-;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;3432:13:22;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:22;1377:37173:30;1390:66:19;3168:42;:::o;1377:37173:30:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:19;1377:37173:30;;;;;;;;;;;;;;;;;3432:13:22;1377:37173:30;;;3032:2:19;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:19;;1377:37173:30;;3032:2:19;3010:24;;3006:215;3032:2;;;1377:37173:30;;1854:2:19;1377:37173:30;;1840:16:19;1836:72;;3032:2;1377:37173:30;;;;2079:95:22;3032:2:19;1377:37173:30;;;;1949:36:19;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1377:37173:30;;;;3501:16:22;1377:37173:30;;;;;;;;;;;3006:215:19;3032:2;1377:37173:30;;;;;;;;;;3006:215:19;1377:37173:30;3032:2:19;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:22;1377:37173:30;;;;;3501:16:22;1377:37173:30;1390:66:19;3168:42;:::o;1377:37173:30:-;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;3501:16:22;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:22;1377:37173:30;1390:66:19;3168:42;:::o;1377:37173:30:-;;;;;;;3501:16:22;1377:37173:30;;;;;;;;;;;;;;;3032:2:19;1377:37173:30;;;;;;;;;;;;;;;;;3501:16:22;1377:37173:30;;;3032:2:19;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60a0806040526004361015610025575b50361561001a575f80fd5b61002333611cf0565b005b5f6080525f3560e01c90816301ffc9a714611647575080630396cb601461148957806309ccb8801461145e5780630bd28e3b1461140d5780630da826611461101f57806313c65a6e14611003578063154e58dc14610fc75780631b2e01b814610f6f578063205c287814610e5f57806321e60b3714610d8357806322cdde4c14610d3b57806335567e1a14610cd55780635287ce1214610be957806370a0823114610bac578063765e827f1461013d57806384b0196e14610a8e578063850aaf6214610a4d5780639b249f6914610955578063b0a398d114610935578063b760faf914610913578063bb9fe6bf14610823578063c23a5cea14610684578063c579f76b146101575763dbed18e01461013d575f61000f565b346101515761014b36611877565b91611bec565b60805180fd5b34610151576102203660031901126101515760043560243567ffffffffffffffff8111610151578060040161012060031983360301126101515761019a366117ac565b906102043591821515830361015157608051905a928151906101bc8282611f01565b604051976101c982611ac0565b9860208501998a52806040526040840151906effffffffffffffffffffffffffffff8260c08701511760608701511760808701511760a08701511761010087015117610120870151171161063b575088809a61024686610100604082015160608301510160808301510160a08301510160c0830151019101510290565b90816040890152856001600160a01b0360e08a516102768c61026f6044868551169a0187611ece565b918c612840565b0151169160805190831561060c575b8a51516001600160a01b03169e8f9160805150604051948591519460208301957f19822f7c00000000000000000000000000000000000000000000000000000000875260248401926102d693612439565b03601f19810185526102e89085611712565b6080519083855191608051906084013560801c94602095f19d608051519e3d602003610603575b836040521561052757505050156104c6575b50506001600160a01b038451166020850151906080515260016020526040608051206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261036f84611a45565b9055160361047a575a87031161042e576060966001600160a01b0360e05a9501511615159081610426575b50610409575b50506103ad905a90611a53565b926073840293808504607314901517156103f15760609660a46080926064978a8601525a900391013501910152604051936080515084526020840152046040820152f35b634e487b7160e01b6080515260116004526024608051fd5b61041c9296506103ad9450908391612049565b92909490886103a0565b90508a61039a565b60849060405190631101335b60e11b8252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b6104cf916123e2565b156104db578a80610321565b60848260405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8791903b61057b5760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d9061080082116105f9575b602082850101604052818452608051903e6105f56040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906118df565b0390fd5b6108009150610587565b5060805161030f565b6080805187905251602081905260409020549091508481111561063457506080515b90610285565b840361062e565b8083631101335b60e11b60849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b346101515760203660031901126101515761069d611796565b33608051526080516020526001604060805120019081549165ffffffffffff6dffffffffffffffffffffffffffff8460081c16936106eb60ff821663ffffffff8360781c1687801515611d49565b60981c1680156107f0574281116107bd575080547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b03831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2608051808080856001600160a01b0386165af161077a611a60565b90156107865760805180f35b6105f5906040519384937f0dcf087c0000000000000000000000000000000000000000000000000000000085523360048601611a8f565b7f561d33120000000000000000000000000000000000000000000000000000000060805152600452426024526044608051fd5b7ffbd021d60000000000000000000000000000000000000000000000000000000060805152600452426024526044608051fd5b3461015157608051366003190112610151573360805152608051602052600160406080512001805461088763ffffffff8260781c16918260ff6dffffffffffffffffffffffffffff8360081c16921691610881838383811515611d49565b82611d49565b65ffffffffffff4216019065ffffffffffff82116103f15780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a260805180f35b60203660031901126101515761092f61092a611796565b611cf0565b60805180f35b34610151576080513660031901126101515760206080515c604051908152f35b346101515760203660031901126101515760043567ffffffffffffffff811161015157602061098b6109c0923690600401611903565b6001600160a01b0361099b6119bb565b1690604051809581948293632b870d1b60e11b84528760048501526024840191611cd0565b0391608051905af18015610a40576001600160a01b039160805191610a11575b507f6ca7b8060000000000000000000000000000000000000000000000000000000060805152166004526024608051fd5b610a33915060203d602011610a39575b610a2b8183611712565b810190611cb1565b826109e0565b503d610a21565b6040513d608051823e3d90fd5b3461015157604036600319011261015157610a66611796565b5060243567ffffffffffffffff811161015157610a87903690600401611903565b5050611c2d565b346101515760805136600319011261015157610b4c610acc7f0000000000000000000000000000000000000000000000000000000000000000612631565b610af57f0000000000000000000000000000000000000000000000000000000000000000612770565b60405190602090610b5a90610b0a8385611712565b60805184525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e08588015260e08701906118df565b9085820360408701526118df565b46606085015230608085015260805160a085015283810360c08501528180845192838152019301916080515b828110610b9557505050500390f35b835185528695509381019392810192600101610b86565b34610151576020366003190112610151576001600160a01b03610bcd611796565b1660805152608051602052602060406080512054604051908152f35b34610151576020366003190112610151576001600160a01b03610c0a611796565b604051610c16816116c5565b608051815260805160208201526080516040820152608051606082015260808051910152166080515260805160205260a060406080512065ffffffffffff604051610c60816116c5565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610151576040366003190112610151576020610cf0611796565b6001600160a01b03610d006116af565b911660805152600182526040608051206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b346101515760203660031901126101515760043567ffffffffffffffff811161015157610120600319823603011261015157610d7b602091600401611ac0565b604051908152f35b34610151576102003660031901126101515760243567ffffffffffffffff8111610151576101208160040191600319903603011261015157606090610dc7366117ac565b60805150608051916001600160a01b0360e08351610de58185611f01565b610dee84611ac0565b6020860152610e1e81610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040860152015116610e49575b50506040519060805150608051825260208201526080516040820152f35b610e569250600435612049565b90508280610e2b565b3461015157604036600319011261015157610e78611796565b602435903360805152608051602052604060805120828154808211610f3d5790610ea191611a53565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2608051808080856001600160a01b0386165af1610efa611a60565b9015610f065760805180f35b6105f5906040519384937f9f3d69330000000000000000000000000000000000000000000000000000000085523360048601611a8f565b7f25c3f46e00000000000000000000000000000000000000000000000000000000608051526004526024526044608051fd5b3461015157604036600319011261015157610f88611796565b6001600160a01b03610f986116af565b91166080515260016020526001600160c01b0360406080512091165f52602052602060405f2054604051908152f35b34610151576080513660031901126101515760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b3461015157608051366003190112610151576020610d7b611d9e565b34611375576102203660031901126113755760043567ffffffffffffffff811161137557611051903690600401611750565b3660231901906101c082126113755761014060405192611070846116c5565b1261137557604051611081816116f5565b6024356001600160a01b038116810361137557815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113755760e08201526101243561010082015261014435610120820152825261016435602083015260408201906101843582526101a435606084015260808301906101c43582526101e43567ffffffffffffffff81116113755761113e903690600401611750565b90845190606082015181519081611381575b505050505a61020435039151809201905f925a95516101008101516101208201514801808210156113795750935b61119d6001600160a01b0360e0840151169360608401519083036123c3565b01925f9280611225575050516001600160a01b0316955b5a900301010291518281105f146111f1577fdeadaa5100000000000000000000000000000000000000000000000000000000608051526020608051fd5b604093836112189203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90979181988051611239575b5050506111b4565b9196509192505a9560a05a930191825190823b15611375575f9161129b91836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528460048401526080602484015260848301906118df565b8d8d0260448301528d60648301520393f19081611361575b50611345573d610800811161133c575b6105f59060405190602081830101604052808252608051602083013e6040519182916365c8fd4d60e01b8352608051600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a48301906118df565b506108006112c3565b611358915a9003955a90039051906123c3565b90878080611231565b5f61136b91611712565b5f608052896112b3565b5f80fd5b90509361117e565b5f80949360206001600160a01b0383965116910192f1156113a55784808080611150565b3d6108008111611404575b6105f590604051906020818301016040528082525f602083013e6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526020600484015260248301906118df565b506108006113b0565b34611375576020366003190112611375576004356001600160c01b038116810361137557335f5260016020526001600160c01b0360405f2091165f5260205260405f2061145a8154611a45565b9055005b34611375575f3660031901126113755760206114786119bb565b6001600160a01b0360405191168152f35b60203660031901126113755760043563ffffffff811680820361137557335f525f6020526dffffffffffffffffffffffffffff60405f20926114eb60018501549163ffffffff8360781c16906114e28282881515611931565b81861015611931565b60081c1634810192838211611633576115268261150e6116009434881515611972565b346dffffffffffffffffffffffffffff871115611972565b5460405190611534826116c5565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b634e487b7160e01b5f52601160045260245ffd5b3461137557602036600319011261137557600435907fffffffff000000000000000000000000000000000000000000000000000000008216809203611375577f01ffc9a700000000000000000000000000000000000000000000000000000000602092148152f35b602435906001600160c01b038216820361137557565b60a0810190811067ffffffffffffffff8211176116e157604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176116e157604052565b90601f8019910116810190811067ffffffffffffffff8211176116e157604052565b67ffffffffffffffff81116116e157601f01601f191660200190565b81601f820112156113755780359061176782611734565b926117756040519485611712565b8284526020838301011161137557815f926020809301838601378301015290565b600435906001600160a01b038216820361137557565b60431901906101c08212611375576040516117c6816116c5565b610140819312611375576040516117dc816116f5565b6044356001600160a01b03811681036113755781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036113755760e0820152610144356101008201526101643561012082015281526101843560208201526101a43560408201526101c435606082015260806101e435910152565b9060406003198301126113755760043567ffffffffffffffff81116113755760040182601f820112156113755780359267ffffffffffffffff8411611375576020808301928560051b0101116113755791906024356001600160a01b03811681036113755790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113755782359167ffffffffffffffff8311611375576020838186019501011161137557565b1561193a575050565b9063ffffffff80927fe1823bce000000000000000000000000000000000000000000000000000000005f52166004521660245260445ffd5b1561197b575050565b6dffffffffffffffffffffffffffff92507f0e10009c000000000000000000000000000000000000000000000000000000005f526004521660245260445ffd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611a3a575f916119fb575090565b90506020813d602011611a32575b81611a1660209383611712565b8101031261137557516001600160a01b03811681036113755790565b3d9150611a09565b6040513d5f823e3d90fd5b5f1981146116335760010190565b9190820391821161163357565b3d15611a8a573d90611a7182611734565b91611a7f6040519384611712565b82523d5f602084013e565b606090565b90926001600160a01b0360809381611abd9796168452166020830152604082015281606082015201906118df565b90565b604290611acc81612305565b611ad4611d9e565b91611ade81611eba565b918015611bcf57905b60c0611af66060830183611ece565b90816040519182372091611b16611b1060e0830183611ece565b90612bd4565b92604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611b9761014082611712565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611bdd6040820182611ece565b90816040519182372090611ae7565b50505033321480611c24575b611c2d577fab143c06000000000000000000000000000000000000000000000000000000005f5260045ffd5b50333b15611bf8565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b9081602091031261137557516001600160a01b03811681036113755790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611d3d34856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b15611d5357505050565b906dffffffffffffffffffffffffffff63ffffffff927f8421e8e5000000000000000000000000000000000000000000000000000000005f521660045216602452151560445260645ffd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e91575b15611df9577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e8b60c082611712565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dd0565b356001600160a01b03811681036113755790565b903590601e1981360301821215611375570180359067ffffffffffffffff82116113755760200191813603831361137557565b611f85906001600160a01b03611f1682611eba565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611ece565b919082611f9157505050565b6034831061201d578260141161137557803560601c926024811061137557601482013590603411611375576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c1660808201528115611ff15760e00152565b507fd8ccb292000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b827f120aaab5000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9192905a9284516001600160a01b0360e0820151169061206f60408801928351906123e2565b156122a1575f6120c396976120d160808394015194604051998a916020850151905190602084019a7f52b7512c000000000000000000000000000000000000000000000000000000008c5260248501612439565b03601f1981018a5289611712565b51858260806001600160a01b0360e085015116930151928a5193f1943d93845f833e51938151966040830197885191156122185760401490811591612203575b5061217a57601f801991011601928360405294955a900311612131575050565b60849250631101335b60e11b8252600482015260406024820152602060448201527f41413336206f76657220706d566572696669636174696f6e4761734c696d69746064820152fd5b3d8461080082116121f9575b604051916020818401016040528083525f602084013e6105f56040519283926365c8fd4d60e01b8452600484015260606024840152601d60648401527f41413335206d616c666f726d6564207061796d61737465722064617461000000608484015260a0604484015260a48301906118df565b6108009150612186565b9050601f80199101166060018114155f612111565b3d866108008211612297575b604051916020818401016040528083525f602084013e6105f56040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906118df565b6108009150612224565b60848360405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b90939293848311611375578411611375578101920390565b6123126040820182611ece565b909161231e8284612525565b156123bc5761232f61233491611eba565b612567565b916014821161236b57505060405160208101916bffffffffffffffffffffffff199060601b16825260148152611e8b603482611712565b81601411611375576020611e8b91604051938491838301966bffffffffffffffffffffffff199060601b168752601460131983019101603484013781015f838201520301601f198101835282611712565b5050505f90565b90619c4082018111156123dc57606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f209081548181106123bc57039055600190565b9035601e198236030181121561137557016020813591019167ffffffffffffffff821161137557813603831361137557565b939291936060815281356001600160a01b0381168103611375576040926001600160a01b0361251b92166060840152602081013560808401526125086124fc6124bc61249d61248a88860186612407565b61012060a08a0152610180890191611cd0565b6124aa6060860186612407565b888303605f190160c08a015290611cd0565b608084013560e087015260a084013561010087015260c08401356101208701526124e960e0850185612407565b878303605f190161014089015290611cd0565b91610100810190612407565b848303605f190161016086015290611cd0565b9460208201520152565b9060021161256257356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036125c9575060481c6001600160a01b031690565b806001600160a01b03913b15612605577f9f4e4cc9000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7fe5819b95000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60ff81146126905760ff811690601f82116126685760405191612655604084611712565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612766575b60208410831461275257838552849290811561273357506001146126d4575b611abd92500382611712565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612717575050906020611abd928201016126c8565b60209193508060019154838588010152019101909183926126ff565b60209250611abd94915060ff191682840152151560051b8201016126c8565b634e487b7160e01b5f52602260045260245ffd5b92607f16926126a9565b60ff81146127945760ff811690601f82116126685760405191612655604084611712565b506040515f6003548060011c9160018216918215612836575b60208410831461275257838552849290811561273357506001146127d757611abd92500382611712565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b81831061281a575050906020611abd928201016126c8565b6020919350806001915483858801015201910190918392612802565b92607f16926127ad565b929091925f82612852575b5050505050565b6001600160a01b0384515116946128698482612525565b612add5760148410612a915783601411612a8d57803560601c93863b612a57576128cd916020916001600160a01b036128a06119bb565b16908560408a51015192604051809781968295632b870d1b60e11b84528960048501526024840191611cd0565b0393f1918215612a4b5791612a2c575b506001600160a01b03811680156129e0578503612994573b15612948575060407fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d916001600160a01b0360e06020860151955101511682519182526020820152a35f8080808061284b565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612a45915060203d602011610a3957610a2b8183611712565b5f6128dd565b604051903d90823e3d90fd5b50505050906020807fa39bcda08ffd11bafb11c4f170ef24fc6dc1a9d1b0394d90dbd19e0b919050e992015192604051908152a3565b5080fd5b60848360405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b915093929160148111612af1575050505050565b6001600160a01b03612b016119bb565b16906040845101518160141161137557823b1561137557612b6a935f80946040518097819682957fc09ad0d90000000000000000000000000000000000000000000000000000000084528c60048501526040602485015260146044850192601319019101611cd0565b0393f18015611a3a57612bbf575b507f7c9f9ade6a03a0bba484e52df872467a270e798ffc1adab9dfaa8d0e627f05446001600160a01b036020612bad85612567565b93015192169380a45f8080808061284b565b612bcc9193505f90611712565b5f915f612b78565b612bde8282612c1a565b80612bef5750816040519182372090565b604051920390600919820190833767117192d14ba1cb2b60c11b828201600919015260011901902090565b603e82106123dc5767117192d14ba1cb2b60c11b7fffffffffffffffff000000000000000000000000000000000000000000000000612c5f84600719810181866122ed565b90358281169160088110612d2e575b505016036123dc5781612c8791816009198101916122ed565b90357fffff00000000000000000000000000000000000000000000000000000000000081169160028110612cf9575b505060f01c90603d1981018211612ccb575090565b7f07b9a191000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7fffff0000000000000000000000000000000000000000000000000000000000009250829060020360031b1b16165f80612cb6565b839250829060080360031b1b16165f80612c6e56fea2646970667358221220cdd377a4025b6bffab4f0b019ddf26401e379e1ecd0a597f54169dbe380bc53364736f6c634300081c0033","sourceMap":"1377:37173:30:-:0;;;;;;;;;;-1:-1:-1;1377:37173:30;;;;;;;;;1515:10:35;;;:::i;:::-;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3011:208;1377:37173;3011:208;;;1377:37173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30276:20;;;1377:37173;;;;;;;;;;:::i;:::-;3257:273;;:::i;1377:37173::-;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;29605:9;29654:17;;;29709:7;;;;;:::i;:::-;1377:37173;37766:67;29913:21;;;;:::i;:::-;29890:20;1377:37173;29890:20;;1377:37173;;;38049:66;1377:37173;38049:66;1377:37173;30163:28;;1377:37173;30224:26;1377:37173;30224:26;;;;1377:37173;30224:49;30276:20;;;1377:37173;30224:72;30311:37;;;1377:37173;30224:124;30351:31;;;1377:37173;30224:158;30385:20;;;1377:37173;30224:181;1377:37173;30420:28;;1377:37173;30224:224;30466:33;1377:37173;;30584:28;;;;;;14917:20;14700:28;;;1377:37173;14731:20;;;1377:37173;2045:4;14770:37;;;1377:37173;2045:4;14810:31;;;1377:37173;2045:4;14844:26;;;1377:37173;2045:4;14917:20;;1377:37173;;14530:424;;30584:28;30622:17;;1377:37173;30622:17;;1377:37173;17975:14;-1:-1:-1;;;;;1377:37173:30;17975:14;;18087:11;1377:37173;18087:11;1377:37173;;;;;18087:11;;;;:::i;:::-;;;;:::i;:::-;18133:17;1377:37173;;;;;18213:23;;;18209:182;;1377:37173;20197:14;;1377:37173;-1:-1:-1;;;;;1377:37173:30;;;;;;37766:67;1377:37173;37766:67;1377:37173;;;;20353:85;1377:37173;20353:85;;;;;;1377:37173;20353:85;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;1377:37173;;20452:362;;;;1377:37173;;;4125:23:36;;;1377:37173:30;30311:37;1377:37173;20452:362;1377:37173;20452:362;;1377:37173;;;20452:362;;;1377:37173;20452:362;;;1377:37173;38049:66;1377:37173;38049:66;20879:8;20875:286;;18213:23;;;;18518:205;;1377:37173;;;-1:-1:-1;;;;;1377:37173:30;;;;30873:13;;1377:37173;;;;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;-1:-1:-1;1377:37173:30;;;;;-1:-1:-1;1377:37173:30;;;;1192:34:33;;;;:::i;:::-;1377:37173:30;;;1192:41:33;1377:37173:30;;30985:9;2045:4;;30976:41;30972:138;;30276:20;;-1:-1:-1;;;;;1377:37173:30;31183:9;31206:17;;1377:37173;;31206:31;;:62;;;;1377:37173;31202:186;;;1377:37173;31446:9;;31431:24;31446:9;;31431:24;;:::i;:::-;1377:37173;31459:3;1377:37173;;;;;;31459:3;1377:37173;;;;;;;30276:20;31503:23;31617:25;30311:37;31503:23;31466:3;31503:23;;;;1377:37173;31605:9;2045:4;;31617:25;;1377:37173;2045:4;31575:18;;1377:37173;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;31202:186;31321:56;;;;31431:24;31321:56;;;;;;:::i;:::-;31284:93;;31202:186;;;;;31206:62;;;;;;30972:138;4125:23:36;1377:37173:30;;;31044:51;-1:-1:-1;;;31044:51:30;;1377:37173;31044:51;;1377:37173;;;;;;;;;;;;;;;;31044:51;1377:37173;4125:23:36;1377:37173:30;;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;18518:205;18570:45;;;:::i;:::-;18569:46;18565:144;;18518:205;;;;18565:144;4125:23:36;1377:37173:30;;;18646:44;-1:-1:-1;;;18646:44:30;;1377:37173;18646:44;;1377:37173;;;;;;;;;;;;;;;;18646:44;20875:286;20907:18;;;;;;4125:23:36;1377:37173:30;;;20957:46;-1:-1:-1;;;20957:46:30;;1377:37173;20957:46;;1377:37173;;;;;;;;;;;;;;;;20957:46;20903:248;1204:349:8;;2045:4:30;1204:349:8;;;;20903:248:30;1377:37173;1204:349:8;;;;1377:37173:30;1204:349:8;;;;1377:37173:30;;1204:349:8;;1377:37173:30;;;21049:87;;;-1:-1:-1;;;21049:87:30;;1377:37173;21049:87;;1377:37173;30276:20;1377:37173;;;;;;;;;;4125:23:36;1377:37173:30;;;30351:31;1377:37173;;;;;;;;;:::i;:::-;21049:87;;;1204:349:8;2045:4:30;;-1:-1:-1;1204:349:8;;20452:362:30;1377:37173;;;20452:362;;18209:182;1377:37173;;;;;;;;;;;;;;;;;-1:-1:-1;18327:21:30;;;;;;1377:37173;;;18327:49;18209:182;;;18327:49;2045:4;;18327:49;;1377:37173;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;:::i;:::-;4526:10:35;1377:37173:30;;;;;;;4563:10:35;1377:37173:30;;;;4563:10:35;1377:37173:30;;;;;;;;;;;4583:92:35;1377:37173:30;;;;;;;;4591:9:35;;;;4583:92;:::i;:::-;1377:37173:30;;;4693:21:35;;1377:37173:30;;4768:15:35;4816:36;;1377:37173:30;;-1:-1:-1;1377:37173:30;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;4526:10:35;;5036:50;;;1377:37173:30;;;;;;-1:-1:-1;;;;;1377:37173:30;;5131:38:35;;;;:::i;:::-;1377:37173:30;;;;;;;;;;;;;;;;;;;4526:10:35;1377:37173:30;;;;:::i;:::-;;;;;;;4768:15:35;1377:37173:30;;;;;;;;;;;;;4768:15:35;1377:37173:30;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;3924:10:35;1377:37173:30;;;;;;;3953:20:35;1377:37173:30;;;;3953:20:35;1377:37173:30;;4063:94:35;1377:37173:30;;;;;;;;;;;;;;;3953:25:35;3945:108;3953:25;;;;;;3945:108;:::i;:::-;4063:94;;:::i;:::-;1377:37173:30;4196:15:35;1377:37173:30;;;;;;;;;;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;;;3924:10:35;;4321:39;;1377:37173:30;;4321:39:35;1377:37173:30;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;4110:15:30;;:::i;:::-;1377:37173;;;;4110:38;;;;;;-1:-1:-1;;;4110:38:30;;;1377:37173;4110:38;;1377:37173;;;;;;:::i;:::-;4110:38;1377:37173;;;4110:38;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;4110:38;;;1377:37173;;4165:27;1377:37173;;4165:27;1377:37173;;;;;;4165:27;4110:38;;;;1377:37173;4110:38;1377:37173;4110:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1377:37173;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;-1:-1:-1;;1377:37173:30;;;;;6099:41:22;:5;:41;:::i;:::-;6554:47;:8;:47;:::i;:::-;1377:37173:30;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:22;1377:37173:30;;;;5625:4:22;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;-1:-1:-1;;;;;1377:37173:30;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;-1:-1:-1;;;;;1377:37173:30;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::i;:::-;-1:-1:-1;;;;;1377:37173:30;;:::i;:::-;;;;;;530:19:33;1377:37173:30;;;;;;-1:-1:-1;;;;;1377:37173:30;;-1:-1:-1;1377:37173:30;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;;530:55:33;1377:37173:30;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;19061:17;-1:-1:-1;;;;;1377:37173:30;19061:17;;19116:7;;;;:::i;:::-;19157:21;;;:::i;:::-;1377:37173;19134:20;;1377:37173;19209:28;;14917:20;14700:28;;;1377:37173;14731:20;;;1377:37173;2045:4;14770:37;;;1377:37173;2045:4;14810:31;;;1377:37173;2045:4;14844:26;;;1377:37173;2045:4;14917:20;;1377:37173;;14530:424;;19209:28;1377:37173;19189:17;;1377:37173;19251:17;1377:37173;;19247:155;;1377:37173;;;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;;;19247:155;19335:56;1377:37173;;;;19335:56;:::i;:::-;19298:93;;19247:155;;;;1377:37173;;;;;;-1:-1:-1;;1377:37173:30;;;;;;:::i;:::-;;;5462:10:35;;1377:37173:30;;;;;;;;;;;;;;5538:32:35;;;1377:37173:30;;5665:31:35;;;;:::i;:::-;1377:37173:30;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;5462:10:35;;5711:54;;;1377:37173:30;;;;;;-1:-1:-1;;;;;1377:37173:30;;5810:47:35;;;;:::i;:::-;1377:37173:30;;;;;;;;;;;;;;;;;;;5462:10:35;1377:37173:30;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;:::i;:::-;-1:-1:-1;;;;;1377:37173:30;;:::i;:::-;;;;;;298:74:33;1377:37173:30;;-1:-1:-1;;;;;1377:37173:30;;;;298:74:33;1377:37173:30;-1:-1:-1;1377:37173:30;;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;1740:197:36;1377:37173:30;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;4765:20;;:::i;1377:37173::-;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11534:14;;;11582:20;1377:37173;11582:20;;1377:37173;;;12084:19;;12080:703;;1377:37173;12846:9;;;;;1377:37173;;2045:4;1377:37173;;2045:4;;;12894:48;1377:37173;32635:9;;32743:14;;1377:37173;36569:20;;1377:37173;;36634:28;;1377:37173;36724:13;2045:4;5790:5:9;;;;;;:13;;;33164:60:30;-1:-1:-1;;;;;1377:37173:30;32852:17;;1377:37173;;33203:20;1377:37173;33203:20;;1377:37173;2045:4;;;33164:60;:::i;:::-;2045:4;;1377:37173;;33300:23;1377:37173;;-1:-1:-1;;1377:37173:30;-1:-1:-1;;;;;1377:37173:30;;33296:1866;35197:9;2045:4;;;;1377:37173;;;35345:23;;;35341:802;35345:23;;;35666:146;1377:37173;;35666:146;1377:37173;;;35666:146;35341:802;1377:37173;2045:4;;35926:40;2045:4;;35926:40;-1:-1:-1;;;;;1377:37173:30;1904:8:35;1377:37173:30;1904:8:35;1377:37173:30;;;1904:8:35;1377:37173:30;;;;2045:4;1377:37173;;;1748:313:35;;35926:40:30;;1377:37173;;;;;;;;;;33296:1866;33412:25;;;;1377:37173;;;33455:1693;;33296:1866;;;;;;33455:1693;33582:9;;;;;;;33712;1377:37173;33712:9;33785:31;;1377:37173;;;33751:160;;;;;;1377:37173;;;;;;;33751:160;;;;;;1377:37173;33751:160;;;1377:37173;33751:160;;1377:37173;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;33751:160;;;;;;;33455:1693;-1:-1:-1;33747:921:30;;1204:349:8;2045:4:30;1204:349:8;;;;33747:921:30;1377:37173;1204:349:8;1377:37173:30;1204:349:8;;1377:37173:30;1204:349:8;;;;1377:37173:30;1204:349:8;;;;1377:37173:30;;;1204:349:8;;;1377:37173:30;;34491:150;;;-1:-1:-1;;;34491:150:30;;1377:37173;;;34491:150;;1377:37173;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:8:-;-1:-1:-1;2045:4:30;1204:349:8;;33747:921:30;35061:68;33747:921;34734:9;2045:4;;35005:9;;2045:4;;1377:37173;;35061:68;;:::i;:::-;33455:1693;;;;;;33751:160;1377:37173;33751:160;;;:::i;:::-;1377:37173;;;33751:160;;;;1377:37173;;;5790:13:9;;;;;;12080:703:30;1377:37173;;;;;-1:-1:-1;;;;;1377:37173:30;;;;378:118:8;;;;12204:8:30;12200:573;;12080:703;;;;;;12200:573;1204:349:8;2045:4:30;1204:349:8;;;;12200:573:30;2045:4;1204:349:8;1377:37173:30;1204:349:8;;1377:37173:30;1204:349:8;;;;1377:37173:30;1204:349:8;;;;1377:37173:30;;1204:349:8;;;1377:37173:30;;12733:25;;;;;;1377:37173;;12733:25;;2045:4;1377:37173;2045:4;;;;:::i;1204:349:8:-;-1:-1:-1;2045:4:30;1204:349:8;;1377:37173:30;;;;;;-1:-1:-1;;1377:37173:30;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;725:10:33;1377:37173:30;;705:19:33;1377:37173:30;;-1:-1:-1;;;;;1377:37173:30;;;705:36:33;1377:37173:30;;;;;;;;705:38:33;1377:37173:30;;705:38:33;:::i;:::-;1377:37173:30;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::i;:::-;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;3109:10:35;1377:37173:30;;;;;;;;;3212:20:35;3244:158;3212:20;;;1377:37173:30;;;;;;;3138:19:35;3130:104;3138:19;;;;;3130:104;:::i;:::-;3265:39;;;;3244:158;:::i;:::-;1377:37173:30;;;3441:9:35;1377:37173:30;;;;;;;;3541:88:35;3441:9;3460:71;1377:37173:30;3441:9:35;;3468;;;3460:71;:::i;:::-;3441:9;1377:37173:30;3549:26:35;;;3541:88;:::i;:::-;1377:37173:30;;;;;;;:::i;:::-;;;3212:20:35;1377:37173:30;3662:67:35;;;1377:37173:30;;;;;;;3662:67:35;;;1377:37173:30;;;3662:67:35;;;1377:37173:30;;;-1:-1:-1;3662:67:35;;;1377:37173:30;;;3109:10:35;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;;3744:47:35;1377:37173:30;3109:10:35;3744:47;;1377:37173:30;;-1:-1:-1;;;1377:37173:30;;;;;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;877:25:24;1377:37173:30;862:40:24;;1377:37173:30;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1377:37173:30;;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;;;;;;;:::o;:::-;;;20353:85;;1377:37173;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1377:37173:30;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1377:37173:30;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;:::o;:::-;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1377:37173:30;;;;;;;;-1:-1:-1;;1377:37173:30;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;4205:114;1377:37173;;;4292:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;4292:20:30;;;4285:27;4205:114;:::o;4292:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1377:37173;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;4205:114;:::o;4292:20::-;;;-1:-1:-1;4292:20:30;;;1377:37173;;;;;;;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1377:37173:30;;;;:::o;:::-;;;:::o;:::-;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;3568:300::-;3445:249:23;3568:300:30;3699:54;;;:::i;:::-;4765:20;;:::i;:::-;2349:13:36;;;;:::i;:::-;2433:82;:25;;;;:82;;2731:14;2563:15;;;;;;:::i;:::-;3346:173:9;;;;;;;;2806:23:36;2786:44;2806:23;;;;;;:::i;:::-;2786:44;;:::i;:::-;1377:37173:30;3346:173:9;1377:37173:30;2848:281:36;-1:-1:-1;;;;;2388:12:36;2848:281;;1377:37173:30;1740:197:36;1377:37173:30;;;3346:173:9;1377:37173:30;;;2388:12:36;;;1377:37173:30;2563:15:36;1377:37173:30;;;2616:23:36;1377:37173:30;;;2678:25:36;1377:37173:30;;;2616:23:36;;;1377:37173:30;;;;;2678:25:36;;;1377:37173:30;2806:23:36;1377:37173:30;;;2731:14:36;1377:37173:30;;;;;;;;;;2848:281:36;;;;;;:::i;:::-;1377:37173:30;9583:47:36;;3346:173:9;3445:249:23;;;;;;;;;;;;;;3568:300:30;:::o;2433:82:36:-;2499:15;;;;;;;:::i;:::-;3346:173:9;;2499:15:36;3346:173:9;;;;;2433:82:36;;;2763:210:30;;;;2878:10;2865:9;:23;:54;;;2763:210;3011:208;1377:37173;;;;;;;2865:54;2878:10;;2892:22;:27;2865:54;;3011:208;3163:49;1377:37173;;3163:49;;;1377:37173;3163:49;;;1377:37173;;;;;;;;;;;;;;;;3163:49;1377:37173;;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1377:37173:30;;;;;;;;-1:-1:-1;;1377:37173:30;;;;:::o;2777:179:35:-;2919:30;1377:37173:30;-1:-1:-1;;;;;2867:37:35;2894:9;2867:37;-1:-1:-1;;;;;1377:37173:30;1904:8:35;1377:37173:30;1904:8:35;1377:37173:30;;;1904:8:35;1377:37173:30;;;;2045:4;1377:37173;;;1748:313:35;;2867:37;1377:37173:30;;;;;;;2919:30:35;;2777:179::o;1377:37173:30:-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;3845:262:22;-1:-1:-1;;;;;3938:11:22;1377:37173:30;3929:4:22;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1377:37173:30;;4204:80:22;;;1377:37173:30;2079:95:22;1377:37173:30;;4226:11:22;1377:37173:30;2079:95:22;;1377:37173:30;4239:14:22;2079:95;;;1377:37173:30;4255:13:22;2079:95;;;1377:37173:30;3929:4:22;2079:95;;;1377:37173:30;2079:95:22;4204:80;;;;;;:::i;:::-;1377:37173:30;4194:91:22;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1377:37173:30;;-1:-1:-1;;;;;1377:37173:30;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;13149:1177::-;13707:23;13149:1177;-1:-1:-1;;;;;13321:13:30;;;:::i;:::-;1377:37173;;;13360:12;;;1377:37173;13360:12;13344:13;;1377:37173;13466:23;;;1377:37173;587:2:36;1377:37173:30;13466:23;1377:37173;587:2:36;;13413:20:30;;;1377:37173;13383:28;;;1377:37173;13529:25;;;1377:37173;13500:26;;;1377:37173;13500:26;13648:14;;1377:37173;587:2:36;1377:37173:30;13466:23;1377:37173;587:2:36;;13595:20:30;;;1377:37173;13565:28;;;1377:37173;13707:23;;;;;:::i;:::-;13744:27;;;13740:580;;13149:1177;;;:::o;13740:580::-;643:2:36;13812:65:30;;643:2:36;;1377:37173:30;525:2:36;1377:37173:30;;;525:2:36;;13413:20:30;525:2:36;;587;1377:37173:30;-1:-1:-1;1377:37173:30;;525:2:36;1377:37173:30;;587:2:36;;643;1377:37173:30;;;587:2:36;;5215:76;;1377:37173:30;587:2:36;13466:23:30;587:2:36;;13529:25:30;14064:31;;1377:37173;13466:23;587:2:36;;13466:23:30;14025:37;;1377:37173;14199:23;;643:2:36;;13707:23:30;14280:17;1377:37173;13149:1177::o;643:2:36:-;;;-1:-1:-1;643:2:36;;1377:37173:30;587:2:36;-1:-1:-1;643:2:36;;;;-1:-1:-1;643:2:36;;1377:37173:30;;-1:-1:-1;643:2:36;21859:943:30;;;;22124:9;22177:14;;;-1:-1:-1;;;;;22225:17:30;;;1377:37173;;22282:14;22315:48;22282:14;;;1377:37173;;;22315:48;;:::i;:::-;22314:49;22310:146;;-1:-1:-1;23122:91:30;22502:37;;23122:91;22502:37;;;;1377:37173;37766:67;22282:14;37766:67;23178:17;;;;;;1377:37173;;;23122:91;23178:17;23122:91;;;;;;;;;;:::i;:::-;;20353:85;;23122:91;;;;;;:::i;:::-;23243:14;:24;;22502:37;-1:-1:-1;;;;;22225:17:30;23243:24;;1377:37173;;23317:44;;1377:37173;23476:1143;;;;;;;;;-1:-1:-1;23476:1143:30;;;;;;;22282:14;23476:1143;;;;;24657:8;;24653:141;;22282:14;24987:19;;;;:52;;;21859:943;24983:239;;;24955:2;20353:85;;1377:37173;;;6114:413:9;;;22282:14:30;6114:413:9;22553:77:30;22657:9;;2045:4;;22648:43;22644:142;;21859:943;;:::o;22644:142::-;22718:53;;;-1:-1:-1;;;22718:53:30;;;;;1377:37173;22282:14;23122:91;1377:37173;;;23178:17;1377:37173;;;;;;;;;22718:53;24983:239;1204:349:8;;2045:4:30;1204:349:8;;;;24983:239:30;22282:14;1204:349:8;;23178:17:30;1204:349:8;;;;22282:14:30;1204:349:8;;;;-1:-1:-1;23178:17:30;1204:349:8;;;1377:37173:30;22282:14;1377:37173;25066:141;;;-1:-1:-1;;;25066:141:30;;23122:91;25066:141;;1377:37173;24932:2;23122:91;1377:37173;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:8:-;2045:4:30;;-1:-1:-1;1204:349:8;;24987:52:30;20353:85;;24955:2;20353:85;;2045:4;;1377:37173;24932:2;2045:4;25010:29;;;24987:52;;;24653:141;1204:349:8;;2045:4:30;1204:349:8;;;;24653:141:30;22282:14;1204:349:8;;23178:17:30;1204:349:8;;;;22282:14:30;1204:349:8;;;;-1:-1:-1;23178:17:30;1204:349:8;;;1377:37173:30;22282:14;1377:37173;24692:87;;;-1:-1:-1;;;24692:87:30;;23122:91;24692:87;;1377:37173;;23122:91;1377:37173;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:8:-;2045:4:30;;-1:-1:-1;1204:349:8;;22310:146:30;22390:51;1377:37173;22282:14;1377:37173;22390:51;-1:-1:-1;;;22390:51:30;;;;;1377:37173;22282:14;1377:37173;;;;;;;;;;;;;;22390:51;1377:37173;;;;;;;;;;;;;;;;;;;:::o;875:503:32:-;1021:15;;;;;;:::i;:::-;1051:28;;;;;;:::i;:::-;1050:29;1046:68;;1162:13;1142:34;1162:13;;:::i;:::-;1142:34;:::i;:::-;1190:21;1209:2;1190:21;;1209:2;;1377:37173:30;;1021:15:32;1377:37173:30;1244:26:32;;;525:2:36;;;1377:37173:30;;;;;;1209:2:32;1244:26;;;;;;:::i;1186:186::-;1377:37173:30;1209:2:32;1377:37173:30;;;1319:41:32;;1377:37173:30;1021:15:32;1377:37173:30;1319:41:32;;;;;;525:2:36;;;1377:37173:30;;;;;;1209:2:32;1377:37173:30;;;;;;;;;;;;;;;;;1319:41:32;;20353:85:30;;1319:41:32;;;;;;:::i;1046:68::-;1095:8;;;1377:37173:30;1095:8:32;:::o;38127:421:30:-;;2292:5;2045:4;;38270:43;;;38266:90;;38491:3;2045:4;2178:2;2045:4;;1377:37173;;38127:421;:::o;38266:90::-;38333:8;;1377:37173;38333:8;:::o;2332:405:35:-;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;2574:23:35;;;2570:74;;2045:4:30;1377:37173;;2716:4:35;2332:405;:::o;1377:37173:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;-1:-1:-1;;;;;1377:37173:30;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1377:37173:30;;;;;;;:::i;:::-;;;;;;;;:::o;1691:551:32:-;;1805:1;-1:-1:-1;1783:62:32;;1994:95;-1:-1:-1;;525:2:36;1377:37173:30;2186:49:32;;1691:551::o;1783:62::-;1822:12;1377:37173:30;1822:12:32;:::o;2551:605::-;2667:113;-1:-1:-1;2667:113:32;;;-1:-1:-1;2667:113:32;1377:37173:30;;;;;2918:36:32;2914:185;;-1:-1:-1;525:2:36;;-1:-1:-1;;;;;525:2:36;;2551:605:32:o;2914:185::-;2978:18;-1:-1:-1;;;;;2978:18:32;;:22;428:8;;3056:32;-1:-1:-1;3056:32:32;1377:37173:30;3056:32:32;1377:37173:30;;-1:-1:-1;3056:32:32;428:8;;-1:-1:-1;428:8:32;1377:37173:30;428:8:32;1377:37173:30;;-1:-1:-1;428:8:32;3358:267:19;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1377:37173:30;;;;;;;:::i;:::-;2311:2:19;1377:37173:30;;;;;;;20353:85;1377:37173;;;2324:106:19;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:19;;-1:-1:-1;2713:20:19;3477:142;1377:37173:30;;;-1:-1:-1;6126:13:22;1390:66:19;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1377:37173:30;;;;;;1390:66:19;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6126:13:22;-1:-1:-1;1390:66:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1377:37173:30;;1390:66:19;1377:37173:30;;;;;1390:66:19;1377:37173:30;;;1390:66:19;;;;;;;;;;;-1:-1:-1;;;;1390:66:19;;;;;-1:-1:-1;1390:66:19;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1377:37173:30;;;;;;;:::i;3477:142:19:-;1377:37173:30;;;-1:-1:-1;6584:16:22;1390:66:19;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1377:37173:30;;;;;;1390:66:19;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:22;-1:-1:-1;1390:66:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15208:1953:30;;;;;15377:1;15358:20;15354:1801;;15208:1953;;;;;;:::o;15354:1801::-;-1:-1:-1;;;;;15411:14:30;;1377:37173;;15450:43;;;;;:::i;:::-;15446:667;;16148:2;16130:20;;16126:110;;1377:37173;16148:2;1377:37173;;;525:2:36;;;;;16317:18:30;;16313:231;;1377:37173;16575:15;1377:37173;16575:15;-1:-1:-1;;;;;16575:15:30;;:::i;:::-;1377:37173;16609:14;;:35;:14;;:35;1377:37173;;16609:35;1377:37173;16575:80;;;;;;-1:-1:-1;;;16575:80:30;;;;;;1377:37173;;;;;;:::i;:::-;16575:80;;;;;;;;;;;15354:1801;1377:37173;-1:-1:-1;;;;;1377:37173:30;;16673:21;;16669:115;;16801:17;;16797:116;;16930:19;:24;16926:123;;17083:17;16609:35;17067:77;17083:17;-1:-1:-1;;;;;1377:37173:30;;17083:17;;1377:37173;17119:14;;:24;1377:37173;;;;;;;;;;;17067:77;15354:1801;;;;;;;16926:123;16981:53;1377:37173;16609:35;1377:37173;16981:53;-1:-1:-1;;;16981:53:30;;16575:80;16981:53;;1377:37173;16609:35;1377:37173;;;;;;;;;;;;;;16981:53;16797:116;16845:53;1377:37173;16609:35;1377:37173;16845:53;-1:-1:-1;;;16845:53:30;;16575:80;16845:53;;1377:37173;16609:35;1377:37173;;;;;;;;;;;;;;16845:53;16669:115;16721:48;1377:37173;16609:35;1377:37173;16721:48;-1:-1:-1;;;16721:48:30;;16575:80;16721:48;;1377:37173;16609:35;1377:37173;;;;;;;;;;;;;;16721:48;16575:80;;;;1377:37173;16575:80;1377:37173;16575:80;;;;;;;:::i;:::-;;;;;16609:35;1377:37173;;;;;;;;;16313:231;16470:17;;;;;;;16440:65;16470:17;;1377:37173;;;;;;;16440:65;16523:7::o;1377:37173::-;;;;16126:110;16177:44;1377:37173;;;16177:44;-1:-1:-1;;;16177:44:30;;;;;1377:37173;;;;;;;;;;;;;;;;16177:44;15446:667;15517:20;;;;;15535:2;15517:20;;15513:562;;16092:7;;;;;:::o;15513:562::-;-1:-1:-1;;;;;15786:15:30;;:::i;:::-;1377:37173;15825:14;:35;:14;;:35;1377:37173;;15535:2;1377:37173;;;15786:98;;;;;1377:37173;;15377:1;1377:37173;;15825:35;1377:37173;15786:98;;;;;;1377:37173;15786:98;;;;;;1377:37173;15825:35;1377:37173;;;;15535:2;1377:37173;;;;;;;;;;:::i;:::-;15786:98;;;;;;;;;15513:562;15925:28;15980:76;-1:-1:-1;;;;;1377:37173:30;15925:28;;;:::i;:::-;16020:17;;1377:37173;;;15980:76;;;15513:562;;;;;;;15786:98;;;;;15377:1;15786:98;;:::i;:::-;15377:1;15786:98;;;;5072:508:9;5183:34;;;;:::i;:::-;5227:21;5223:322;;3346:173;;;;;;;;5072:508;:::o;5223:322::-;4297:207;;;2045:4:30;;-1:-1:-1;;2045:4:30;;;4297:207:9;;-1:-1:-1;;;4297:207:9;;;-1:-1:-1;;4297:207:9;;-1:-1:-1;;4297:207:9;;;;5378:150::o;5443:954:10:-;2045:4:30;5680:47:10;;5676:94;;-1:-1:-1;;;667:27:10;5807:67;2045:4:30;-1:-1:-1;;2045:4:30;;;5807:67:10;;:::i;:::-;5800:75;915:44;667:27;;;915:44;611:1;915:44;;;;5443:954;667:27;;;5893:30;5889:77;;2045:4:30;6021:53:10;2045:4:30;;;;;;6021:53:10;;:::i;:::-;6014:61;915:44;1377:37173:30;;;915:44:10;693:1;915:44;;;;5443:954;-1:-1:-1;;915:44:10;;;-1:-1:-1;;2045:4:30;;6095:67:10;;6091:252;;6356:24;5443:954;:::o;6091:252::-;6266:62;1377:37173:30;6266:62:10;;1377:37173:30;;;;;6266:62:10;915:44;1377:37173:30;915:44:10;;;;693:1;915:44;;;1377:37173:30;915:44:10;;;;;;;;;;;;611:1;915:44;;;1377:37173:30;915:44:10;;;;;","linkReferences":{},"immutableReferences":{"2569":[{"start":7639,"length":32}],"2571":[{"start":7828,"length":32}],"2573":[{"start":7592,"length":32}],"2575":[{"start":7718,"length":32}],"2577":[{"start":7756,"length":32}],"2580":[{"start":2728,"length":32}],"2583":[{"start":2769,"length":32}]}},"methodIdentifiers":{"_paymasterValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"21e60b37","_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":"c579f76b","addStake(uint32)":"0396cb60","balanceOf(address)":"70a08231","delegateAndRevert(address,bytes)":"850aaf62","depositTo(address)":"b760faf9","eip712Domain()":"84b0196e","getCurrentUserOpHash()":"b0a398d1","getDepositInfo(address)":"5287ce12","getDomainSeparatorV4()":"13c65a6e","getNonce(address,uint192)":"35567e1a","getPackedUserOpTypeHash()":"154e58dc","getSenderAddress(bytes)":"9b249f69","getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":"22cdde4c","handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)":"dbed18e0","handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)":"765e827f","incrementNonce(uint192)":"0bd28e3b","innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":"0da82661","nonceSequenceNumber(address,uint192)":"1b2e01b8","senderCreator()":"09ccb880","supportsInterface(bytes4)":"01ffc9a7","unlockStake()":"bb9fe6bf","withdrawStake(address)":"c23a5cea","withdrawTo(address,uint256)":"205c2878"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"reason\",\"type\":\"bytes\"}],\"name\":\"CallPhaseReverted\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"ret\",\"type\":\"bytes\"}],\"name\":\"DelegateAndRevert\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"DepositWithdrawalFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Eip7702SenderNotDelegate\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"Eip7702SenderWithoutCode\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"currentDeposit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"InvalidPaymaster\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"paymasterAndDataLength\",\"type\":\"uint256\"}],\"name\":\"InvalidPaymasterData\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"dataLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pmSignatureLength\",\"type\":\"uint256\"}],\"name\":\"InvalidPaymasterSignatureLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"msgValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentStake\",\"type\":\"uint256\"}],\"name\":\"InvalidStake\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newUnstakeDelaySec\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"currentUnstakeDelaySec\",\"type\":\"uint256\"}],\"name\":\"InvalidUnstakeDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"currentStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"unstakeDelaySec\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"}],\"name\":\"NotStaked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Reentrancy\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimestamp\",\"type\":\"uint256\"}],\"name\":\"StakeNotUnlocked\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"revertReason\",\"type\":\"bytes\"}],\"name\":\"StakeWithdrawalFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"blockTimestamp\",\"type\":\"uint256\"}],\"name\":\"WithdrawalNotDue\",\"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\":[],\"name\":\"EIP712DomainChanged\",\"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\":\"delegate\",\"type\":\"address\"}],\"name\":\"EIP7702AccountInitialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"unusedFactory\",\"type\":\"address\"}],\"name\":\"IgnoredInitCode\",\"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\":\"PostOpRevertReason\",\"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\"}],\"name\":\"UserOperationPrefundTooLow\",\"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\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"}],\"name\":\"_paymasterValidation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"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\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"outOpInfo\",\"type\":\"tuple\"},{\"internalType\":\"bool\",\"name\":\"validatePaymasterPrepayment\",\"type\":\"bool\"}],\"name\":\"_validatePrepayment\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterValidationData\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"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\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"delegateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"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\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"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\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"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\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"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\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"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\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"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\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"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 EntryPoint.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 EntryPoint.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"preGas\",\"type\":\"uint256\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"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\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"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\":{\"custom:notice\":\"This EntryPoint closely resembles the actual EntryPoint with some diffs seen at https://www.diffchecker.com/NONzRkac/\",\"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.\"}}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"details\":\"note that inner is truncated to 2048 bytes\",\"params\":{\"inner\":\"- data from inner cought revert reason\",\"opIndex\":\"- Index into the array of ops to the failed one (in simulateValidation, this is always zero).\",\"reason\":\"- Revert reason. see FailedOp(uint256,string), above\"}}],\"SignatureValidationFailed(address)\":[{\"params\":{\"aggregator\":\"The aggregator that failed to verify the signature\"}}]},\"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.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"EIP7702AccountInitialized(bytes32,address,address)\":{\"params\":{\"sender\":\"- The account that was supposed to be deployed.\",\"userOpHash\":\"- The current userOp. UserOperationEvent will follow.\"}},\"IgnoredInitCode(bytes32,address,address)\":{\"params\":{\"sender\":\"- The account that was supposed to be deployed.\",\"unusedFactory\":\"- The factory contract that was not used but was specified in the 'initCode'.\",\"userOpHash\":\"- The current userOp. UserOperationEvent will follow.\"}},\"PostOpRevertReason(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.\"}},\"SignatureAggregatorChanged(address)\":{\"params\":{\"aggregator\":\"- The aggregator used for the following UserOperationEvents.\"}},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}},\"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\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"params\":{\"opIndex\":\"- The index of this userOp into the \\\"opInfos\\\" array.\",\"outOpInfo\":\"- The empty unpacked in-memory UserOperation structure that will be filled in here.\",\"userOp\":\"- The packed calldata UserOperation structure to validate.\"},\"returns\":{\"paymasterValidationData\":\"- The paymaster's validationData.\",\"validationData\":\" - The account's validationData.\"}},\"addStake(uint32)\":{\"params\":{\"_unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"balanceOf(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"_0\":\"- The deposit (for gas payment) of the account.\"}},\"delegateAndRevert(address,bytes)\":{\"details\":\"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.\",\"params\":{\"data\":\"data to pass to target in a delegatecall\",\"target\":\"a target contract to make a delegatecall from entrypoint\"}},\"depositTo(address)\":{\"params\":{\"account\":\"- The account to add to.\"}},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"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.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,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,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"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\":{\"FailedOp(uint256,string)\":[{\"notice\":\"A custom revert error of handleOps, to identify the offending op. 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. NOTE: If simulateValidation passes successfully, there should be no reason for handleOps to fail on it.\"}],\"FailedOpWithRevert(uint256,string,bytes)\":[{\"notice\":\"A custom revert error of handleOps, to report a revert by account or paymaster.\"}],\"SignatureValidationFailed(address)\":[{\"notice\":\"Error case when a signature aggregator fails to verify the aggregated signature it had created.\"}]},\"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.\"},\"EIP7702AccountInitialized(bytes32,address,address)\":{\"notice\":\"Account \\\"sender\\\" is an EIP-7702 account that was initialized during this UserOperation.\"},\"IgnoredInitCode(bytes32,address,address)\":{\"notice\":\"Account \\\"sender\\\" already exists and the 'initCode' was ignored.\"},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation Paymaster's \\\"postOp\\\" call reverted with non-zero length.\"},\"SignatureAggregatorChanged(address)\":{\"notice\":\"Signature aggregator used by the following UserOperationEvents within this bundle.\"},\"UserOperationPrefundTooLow(bytes32,address,uint256)\":{\"notice\":\"UserOp consumed more than prefund. The UserOperation is reverted, and no refund is made.\"},\"UserOperationRevertReason(bytes32,address,uint256,bytes)\":{\"notice\":\"An event emitted if the UserOperation \\\"callData\\\" reverted with non-zero length.\"}},\"kind\":\"user\",\"methods\":{\"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)\":{\"notice\":\"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)\"},\"addStake(uint32)\":{\"notice\":\"Add to the account's stake - amount and delay any pending unstake is first cancelled.\"},\"balanceOf(address)\":{\"notice\":\"Get account balance.\"},\"delegateAndRevert(address,bytes)\":{\"notice\":\"Helper method for dry-run testing.\"},\"depositTo(address)\":{\"notice\":\"Add to the deposit of the given account.\"},\"getDepositInfo(address)\":{\"notice\":\"Get deposit info.\"},\"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,bytes32,uint256,bytes32,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,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,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,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)\":{\"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.\"},\"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/v09/EntryPoint.sol\":\"EntryPoint\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000},\"remappings\":[\":@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-v9/=lib/account-abstraction-v9/contracts/\",\":@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/\",\":@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/\",\":@test-utils/=lib/singleton-paymaster/test/utils/\",\":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-v9/=lib/account-abstraction-v9/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/\",\":openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/\",\":openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/\",\":singleton-paymaster/=lib/singleton-paymaster/src/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020\",\"dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577\",\"dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh\"]},\"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155\",\"dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5\"]},\"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9\",\"dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe\"]},\"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3\",\"dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk\"]},\"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8\",\"dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt\"]},\"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04\",\"license\":\"GPL-3.0-only\",\"urls\":[\"bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00\",\"dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj\"]},\"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be\",\"dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3\"]},\"lib/account-abstraction-v7/contracts/utils/Exec.sol\":{\"keccak256\":\"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74\",\"license\":\"LGPL-3.0-only\",\"urls\":[\"bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77\",\"dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ\"]},\"lib/account-abstraction-v9/contracts/core/Helpers.sol\":{\"keccak256\":\"0x7adaeb6171ca7833cb756fde7da9a225899bf5a6e790d111965f4eeae3dbcf51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4345ccd562a9a4f1f912f3bcd73eae0dc1c1604c401d1338ce3ab58765bc3678\",\"dweb:/ipfs/QmYU88GHmAnejw7u3bZFTQTxyHruh9YmPwYPufBkbP7u12\"]},\"lib/account-abstraction-v9/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x37a1469c2ccb80238a7fb176a8ce420a9e38bda2a8cefb53d21e20d93ee7e94c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ee83a7eda55d9e6dcd299556b4b97c4f956ffab25dd4ce607cd7f5dd3efeccb\",\"dweb:/ipfs/QmetiE5J5K6KooYSVw9Lhfs2eLSLPm5egxWJPx2BCm2JSn\"]},\"lib/account-abstraction-v9/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77\",\"dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT\"]},\"lib/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x62f739f59c661f48b750e1d67d96f209056bbc2e4b5e48cbcd0656d162e566cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee103fb0c5103bc001171303bac9f80659c5f0efc4ebf4cfa22e1adc831c68ce\",\"dweb:/ipfs/QmbiosncMJBe3skD8KsCXE9Y3C6NdKthHq83ba3Sw6RP4U\"]},\"lib/account-abstraction-v9/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0x0a93a26e990e3da5762c461f5f500bec0f6e216bb42c55f07d95651bd85d5f74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d76343b1e306ed0ed2a5f49b578b8c30d1c6aecac260c8b71d30665021f93961\",\"dweb:/ipfs/QmPo7xaetd9koekFkNoapGUE2omFH1HhxF35PstTH6fG3J\"]},\"lib/account-abstraction-v9/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/account-abstraction-v9/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xcbac5ac68fb0582d743c4172cc78afc530f750ed529386327ebfa909be067111\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://95ec6059800b3c9a645c1fdc33061f7a48c2b49b9f8bce53d55fc840092dd964\",\"dweb:/ipfs/Qmb33bEcx36hdhXpVCcsUGFmk3AGEU1rto9FU7VBu5S941\"]},\"lib/account-abstraction-v9/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xa262abaec9b922c33e54dd8cd88d4fd1989915e16127959736af966884b4d441\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8cb49a30d699867fd6efa3e349b5802dd1ec1a57379e70077e38fe001e19008d\",\"dweb:/ipfs/QmdsY3et68ceJAyuDScz8iWJfimXmApf6Qcp3BmqDjNSzc\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v09/EntryPoint.sol\":{\"keccak256\":\"0x5ead2a24187f6b41040cde76dcb18d7ccc1554b9f2792ece3db58f2a493ab0d4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7da6b81380a723c9b15e46a6e08c093e48654a62bdef3a0ef762b8565e9e51ae\",\"dweb:/ipfs/QmR1NriaghpZmCPGKetf9xUawvcPMnDxb7VspafrmWdsSZ\"]},\"src/v09/overrides/Eip7702Support.sol\":{\"keccak256\":\"0xbe44f339691a717cf104d49d861e4a1e0b33d5c1c10c9a8afeeb3739fa501257\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6bd398610905ac8d2e1e9702728b56aa0f7dc1f47c5bac99b0286a7967a471e6\",\"dweb:/ipfs/QmQc3XrcJhTF4HKkZYzgpr9edi7bA5oKegoHYWmVUyqBkh\"]},\"src/v09/overrides/NonceManager.sol\":{\"keccak256\":\"0xd6d217cfb78ce5cd8d69aafaee01cd8bccee4fc2c564d7095635cec3e83a4d19\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e205146a8933c45c49e43daab3e26dc14777c05b1917ea75afeea7ce7dbc1093\",\"dweb:/ipfs/Qmf4uAwaVC6yLayZtwE93W9ryngkRU57bA7GTf2A1JVkdn\"]},\"src/v09/overrides/SenderCreator.sol\":{\"keccak256\":\"0xd1f267d4c3f8ab185d6e18fe53edc5e8fa7faf1912ea8bf2060e9091943adf73\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ec30be8cf72f5f6bc627728b40ec9673d74e46d519f2e1f3f10d222110a4034\",\"dweb:/ipfs/QmbNdmnd6cdZ8dErWxbfRyixYSiu3ridVgnAtXecjUqjLh\"]},\"src/v09/overrides/StakeManager.sol\":{\"keccak256\":\"0x51f865c65d7bc9a3085cd76c0442b960d9df208a6facf34778f2c9bfe2aa9660\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a875e317cf7f376614a8fe4c3d1fa5e8e55328e64c9b1f344d32c20d3a0d2a46\",\"dweb:/ipfs/QmVXM4RheDq6C46VZzduQhGF3y8GQ2CGuDhnL7TXSSJLn7\"]},\"src/v09/overrides/UserOperationLib.sol\":{\"keccak256\":\"0x10f23c660d99460070c409af0fce471ffbfbade8d6902c7c14e280c0baf624f9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0bb475f269b3a565055cb8dc367479c256e0346a39498cbeb771907efa21eb20\",\"dweb:/ipfs/QmbhCXzJvDPuZ2BKyRK9znLS4U68fU9eCMCiyjjmEDwWWG\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"reason","type":"bytes"}],"type":"error","name":"CallPhaseReverted"},{"inputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"ret","type":"bytes"}],"type":"error","name":"DelegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"revertReason","type":"bytes"}],"type":"error","name":"DepositWithdrawalFailed"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"Eip7702SenderNotDelegate"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"Eip7702SenderWithoutCode"},{"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":[{"internalType":"uint256","name":"currentDeposit","type":"uint256"},{"internalType":"uint256","name":"withdrawAmount","type":"uint256"}],"type":"error","name":"InsufficientDeposit"},{"inputs":[{"internalType":"address","name":"paymaster","type":"address"}],"type":"error","name":"InvalidPaymaster"},{"inputs":[{"internalType":"uint256","name":"paymasterAndDataLength","type":"uint256"}],"type":"error","name":"InvalidPaymasterData"},{"inputs":[{"internalType":"uint256","name":"dataLength","type":"uint256"},{"internalType":"uint256","name":"pmSignatureLength","type":"uint256"}],"type":"error","name":"InvalidPaymasterSignatureLength"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"uint256","name":"msgValue","type":"uint256"},{"internalType":"uint256","name":"currentStake","type":"uint256"}],"type":"error","name":"InvalidStake"},{"inputs":[{"internalType":"uint256","name":"newUnstakeDelaySec","type":"uint256"},{"internalType":"uint256","name":"currentUnstakeDelaySec","type":"uint256"}],"type":"error","name":"InvalidUnstakeDelay"},{"inputs":[{"internalType":"uint256","name":"currentStake","type":"uint256"},{"internalType":"uint256","name":"unstakeDelaySec","type":"uint256"},{"internalType":"bool","name":"staked","type":"bool"}],"type":"error","name":"NotStaked"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"Reentrancy"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"uint256","name":"withdrawTime","type":"uint256"},{"internalType":"uint256","name":"blockTimestamp","type":"uint256"}],"type":"error","name":"StakeNotUnlocked"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"withdrawAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes","name":"revertReason","type":"bytes"}],"type":"error","name":"StakeWithdrawalFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"uint256","name":"withdrawTime","type":"uint256"},{"internalType":"uint256","name":"blockTimestamp","type":"uint256"}],"type":"error","name":"WithdrawalNotDue"},{"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":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"delegate","type":"address","indexed":true}],"type":"event","name":"EIP7702AccountInitialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"userOpHash","type":"bytes32","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true},{"internalType":"address","name":"unusedFactory","type":"address","indexed":false}],"type":"event","name":"IgnoredInitCode","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":"PostOpRevertReason","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}],"type":"event","name":"UserOperationPrefundTooLow","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":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","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":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","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"}]}],"stateMutability":"nonpayable","type":"function","name":"_paymasterValidation","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"struct PackedUserOperation","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":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"internalType":"bytes","name":"paymasterAndData","type":"bytes"},{"internalType":"bytes","name":"signature","type":"bytes"}]},{"internalType":"struct EntryPoint.UserOpInfo","name":"outOpInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","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":"bool","name":"validatePaymasterPrepayment","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"_validatePrepayment","outputs":[{"internalType":"uint256","name":"validationData","type":"uint256"},{"internalType":"uint256","name":"paymasterValidationData","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"}]},{"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":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"delegateAndRevert"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"payable","type":"function","name":"depositTo"},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getCurrentUserOpHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getDepositInfo","outputs":[{"internalType":"struct IStakeManager.DepositInfo","name":"info","type":"tuple","components":[{"internalType":"uint256","name":"deposit","type":"uint256"},{"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":[],"stateMutability":"view","type":"function","name":"getDomainSeparatorV4","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":[],"stateMutability":"pure","type":"function","name":"getPackedUserOpTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"initCode","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"getSenderAddress"},{"inputs":[{"internalType":"struct PackedUserOperation","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":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"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 PackedUserOperation[]","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":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"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 PackedUserOperation[]","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":"bytes32","name":"accountGasLimits","type":"bytes32"},{"internalType":"uint256","name":"preVerificationGas","type":"uint256"},{"internalType":"bytes32","name":"gasFees","type":"bytes32"},{"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 EntryPoint.UserOpInfo","name":"opInfo","type":"tuple","components":[{"internalType":"struct EntryPoint.MemoryUserOp","name":"mUserOp","type":"tuple","components":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"verificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"callGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterVerificationGasLimit","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","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"},{"internalType":"uint256","name":"preGas","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"innerHandleOp","outputs":[{"internalType":"uint256","name":"actualGasCost","type":"uint256"},{"internalType":"uint256","name":"paymasterPostOpGasLimit","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":[],"stateMutability":"view","type":"function","name":"senderCreator","outputs":[{"internalType":"contract ISenderCreator","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"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":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"params":{"opIndex":"- The index of this userOp into the \"opInfos\" array.","outOpInfo":"- The empty unpacked in-memory UserOperation structure that will be filled in here.","userOp":"- The packed calldata UserOperation structure to validate."},"returns":{"paymasterValidationData":"- The paymaster's validationData.","validationData":" - The account's validationData."}},"addStake(uint32)":{"params":{"_unstakeDelaySec":"- The new lock duration before the deposit can be withdrawn."}},"balanceOf(address)":{"params":{"account":"- The account to query."},"returns":{"_0":"- The deposit (for gas payment) of the account."}},"delegateAndRevert(address,bytes)":{"details":"calling this method, the EntryPoint will make a delegatecall to the given data, and report (via revert) the result. The method always revert, so is only useful off-chain for dry run calls, in cases where state-override to replace actual EntryPoint code is less convenient.","params":{"data":"data to pass to target in a delegatecall","target":"a target contract to make a delegatecall from entrypoint"}},"depositTo(address)":{"params":{"account":"- The account to add to."}},"eip712Domain()":{"details":"See {IERC-5267}."},"getDepositInfo(address)":{"params":{"account":"- The account to query."},"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."}},"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))":{"params":{"userOp":"- The user operation to generate the request ID for."},"returns":{"_0":"hash the hash of this UserOperation"}},"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,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,bytes32,uint256,bytes32,bytes,bytes)[],address)":{"params":{"beneficiary":"- The address to receive the fees.","ops":"- The operations to execute."}},"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"params":{"callData":"- The callData to execute.","context":"- The context bytes.","opInfo":"- The UserOpInfo struct."},"returns":{"actualGasCost":"- the actual cost in eth this UserOperation paid for gas"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"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":{"_validatePrepayment(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bool)":{"notice":"Validate account and paymaster (if defined) and also make sure total validation doesn't exceed verificationGasLimit. This method is called off-chain (simulateValidation()) and on-chain (from handleOps)"},"addStake(uint32)":{"notice":"Add to the account's stake - amount and delay any pending unstake is first cancelled."},"balanceOf(address)":{"notice":"Get account balance."},"delegateAndRevert(address,bytes)":{"notice":"Helper method for dry-run testing."},"depositTo(address)":{"notice":"Add to the deposit of the given account."},"getDepositInfo(address)":{"notice":"Get deposit info."},"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,bytes32,uint256,bytes32,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,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)":{"notice":"Execute a batch of UserOperation with Aggregators"},"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,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,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes,uint256)":{"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."},"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":["@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-v9/=lib/account-abstraction-v9/contracts/","@openzeppelin-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","@openzeppelin-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","@openzeppelin-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","@openzeppelin/contracts/=lib/openzeppelin-contracts-v5.0.2/contracts/","@test-aa-utils/=lib/singleton-paymaster/test/utils/account-abstraction/","@test-utils/=lib/singleton-paymaster/test/utils/","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-v9/=lib/account-abstraction-v9/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-v5.0.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts-v5.1.0/lib/halmos-cheatcodes/src/","openzeppelin-contracts-v4.8.3/=lib/openzeppelin-contracts-v4.8.3/","openzeppelin-contracts-v5.0.2/=lib/openzeppelin-contracts-v5.0.2/","openzeppelin-contracts-v5.1.0/=lib/openzeppelin-contracts-v5.1.0/","singleton-paymaster/=lib/singleton-paymaster/src/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":1000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/v09/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/interfaces/IAccount.sol":{"keccak256":"0x38710bec0cb20ff4ceef46a80475b5bdabc27b7efd2687fd473db68332f61b78","urls":["bzz-raw://dea7a723e1ef852e8764e69914a345d2e8bc5e13facfc9d5c29d791cb4ab0020","dweb:/ipfs/QmU8dYgyF4DBJXFqjwLAtnE3q8q259ChfoEk9a6wyhHzEP"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAccountExecute.sol":{"keccak256":"0xd3dc32dde1add1fb6377f939ceff6be31c2e21343522311f7b88db666be9ee6c","urls":["bzz-raw://5b8f065171bd32e23b306868189c730f849ce6147f753c59e396e7afcf384577","dweb:/ipfs/QmZpDRNEZ9YNgGgyLQo5yM4bB1FNbtnfDABsChbgSQKXUh"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IAggregator.sol":{"keccak256":"0xf100d6fcc0c3b450b13e979b6a42c628c292a1bc340eccc2e7796b80e3975588","urls":["bzz-raw://192938b5b27234d35c8098a319e879363c79f750eea4d0e409dc889a8ce5b155","dweb:/ipfs/QmURpaJFPqEtkKP2ngBsgZhAGN8wAWh5XQpYmCkiz4Urz5"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x1972a5fcb3a808b58c85af5741949ef6af11ab0debd3ae8c708171ae1ae0d0c4","urls":["bzz-raw://baa9837ae73b9e2362a47d42d081d7c0f3d8e878e5edb381117d94a6968949c9","dweb:/ipfs/QmUmo6FUE7fv5z1WzW1YFjxp8PqaeN2JrEee9au59w3Xhe"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/INonceManager.sol":{"keccak256":"0xd575af0f6ebbd5f0b2933307d44cd7b4e03a69f4b817a67db5409bd3c89aeecb","urls":["bzz-raw://3b1e2dea9b05cfba9d13339ed16d96457dc861013cc4f3f35b71a80f82448db3","dweb:/ipfs/QmVaGy5uGDMSiU2SzyokTjoHFyb39VVG5wtaM9KTnHyZSk"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IPaymaster.sol":{"keccak256":"0x49d8dbf8a85b006bcd89bbc40e4e9e113997cc016007de85263bdae70572d07f","urls":["bzz-raw://bc0d83804c1b795d5c216b3518cd176c48f90db28550f267cbd89746d6b476c8","dweb:/ipfs/QmNdCm4c6hnt7f6Q8q21QjtCNZWWRUaMVEYnQHEv68VnKt"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xbe5ca9e7f254d031687419e7b96ef48c9c63e9398bbe992dc72ffc6dc14e0a04","urls":["bzz-raw://1fffec71c38627a26fabb423350148009579f092623fb02b471a12d973763a00","dweb:/ipfs/QmRBi31QEYXHj3x1AnQ2jKa2eziZH1b9av396P3b4dw6bj"],"license":"GPL-3.0-only"},"lib/account-abstraction-v7/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0x1129b46381db68eddbc5cb49e50664667b66b03c480453858e7b25eabe444359","urls":["bzz-raw://499a948aba60480dba6e25c763b8d918f1c246eb7a3302e04f493e080f3295be","dweb:/ipfs/QmeRhhswf4NACcBKam2PyjpTP2ddSm648kah5kkQJsvwz3"],"license":"GPL-3.0"},"lib/account-abstraction-v7/contracts/utils/Exec.sol":{"keccak256":"0x86b1b1cd11158dddb9d381040c57fdc643c74b5e4eed3e7e036f32452672ad74","urls":["bzz-raw://ad88663b6c76df73cf09a272cf333d038df7bb4c51281284b572bf9b46e1cd77","dweb:/ipfs/QmVKxYF8avyPBtqejVhFCM2CuHsfpsCh7TsPqkBLtrgwJQ"],"license":"LGPL-3.0-only"},"lib/account-abstraction-v9/contracts/core/Helpers.sol":{"keccak256":"0x7adaeb6171ca7833cb756fde7da9a225899bf5a6e790d111965f4eeae3dbcf51","urls":["bzz-raw://4345ccd562a9a4f1f912f3bcd73eae0dc1c1604c401d1338ce3ab58765bc3678","dweb:/ipfs/QmYU88GHmAnejw7u3bZFTQTxyHruh9YmPwYPufBkbP7u12"],"license":"MIT"},"lib/account-abstraction-v9/contracts/core/UserOperationLib.sol":{"keccak256":"0x37a1469c2ccb80238a7fb176a8ce420a9e38bda2a8cefb53d21e20d93ee7e94c","urls":["bzz-raw://0ee83a7eda55d9e6dcd299556b4b97c4f956ffab25dd4ce607cd7f5dd3efeccb","dweb:/ipfs/QmetiE5J5K6KooYSVw9Lhfs2eLSLPm5egxWJPx2BCm2JSn"],"license":"MIT"},"lib/account-abstraction-v9/contracts/interfaces/IAggregator.sol":{"keccak256":"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf","urls":["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77","dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"],"license":"MIT"},"lib/account-abstraction-v9/contracts/interfaces/IEntryPoint.sol":{"keccak256":"0x62f739f59c661f48b750e1d67d96f209056bbc2e4b5e48cbcd0656d162e566cd","urls":["bzz-raw://ee103fb0c5103bc001171303bac9f80659c5f0efc4ebf4cfa22e1adc831c68ce","dweb:/ipfs/QmbiosncMJBe3skD8KsCXE9Y3C6NdKthHq83ba3Sw6RP4U"],"license":"MIT"},"lib/account-abstraction-v9/contracts/interfaces/INonceManager.sol":{"keccak256":"0x0a93a26e990e3da5762c461f5f500bec0f6e216bb42c55f07d95651bd85d5f74","urls":["bzz-raw://d76343b1e306ed0ed2a5f49b578b8c30d1c6aecac260c8b71d30665021f93961","dweb:/ipfs/QmPo7xaetd9koekFkNoapGUE2omFH1HhxF35PstTH6fG3J"],"license":"MIT"},"lib/account-abstraction-v9/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"license":"MIT"},"lib/account-abstraction-v9/contracts/interfaces/IStakeManager.sol":{"keccak256":"0xcbac5ac68fb0582d743c4172cc78afc530f750ed529386327ebfa909be067111","urls":["bzz-raw://95ec6059800b3c9a645c1fdc33061f7a48c2b49b9f8bce53d55fc840092dd964","dweb:/ipfs/Qmb33bEcx36hdhXpVCcsUGFmk3AGEU1rto9FU7VBu5S941"],"license":"MIT"},"lib/account-abstraction-v9/contracts/interfaces/PackedUserOperation.sol":{"keccak256":"0xa262abaec9b922c33e54dd8cd88d4fd1989915e16127959736af966884b4d441","urls":["bzz-raw://8cb49a30d699867fd6efa3e349b5802dd1ec1a57379e70077e38fe001e19008d","dweb:/ipfs/QmdsY3et68ceJAyuDScz8iWJfimXmApf6Qcp3BmqDjNSzc"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"src/v09/EntryPoint.sol":{"keccak256":"0x5ead2a24187f6b41040cde76dcb18d7ccc1554b9f2792ece3db58f2a493ab0d4","urls":["bzz-raw://7da6b81380a723c9b15e46a6e08c093e48654a62bdef3a0ef762b8565e9e51ae","dweb:/ipfs/QmR1NriaghpZmCPGKetf9xUawvcPMnDxb7VspafrmWdsSZ"],"license":"GPL-3.0"},"src/v09/overrides/Eip7702Support.sol":{"keccak256":"0xbe44f339691a717cf104d49d861e4a1e0b33d5c1c10c9a8afeeb3739fa501257","urls":["bzz-raw://6bd398610905ac8d2e1e9702728b56aa0f7dc1f47c5bac99b0286a7967a471e6","dweb:/ipfs/QmQc3XrcJhTF4HKkZYzgpr9edi7bA5oKegoHYWmVUyqBkh"],"license":"MIT"},"src/v09/overrides/NonceManager.sol":{"keccak256":"0xd6d217cfb78ce5cd8d69aafaee01cd8bccee4fc2c564d7095635cec3e83a4d19","urls":["bzz-raw://e205146a8933c45c49e43daab3e26dc14777c05b1917ea75afeea7ce7dbc1093","dweb:/ipfs/Qmf4uAwaVC6yLayZtwE93W9ryngkRU57bA7GTf2A1JVkdn"],"license":"GPL-3.0"},"src/v09/overrides/SenderCreator.sol":{"keccak256":"0xd1f267d4c3f8ab185d6e18fe53edc5e8fa7faf1912ea8bf2060e9091943adf73","urls":["bzz-raw://0ec30be8cf72f5f6bc627728b40ec9673d74e46d519f2e1f3f10d222110a4034","dweb:/ipfs/QmbNdmnd6cdZ8dErWxbfRyixYSiu3ridVgnAtXecjUqjLh"],"license":"GPL-3.0"},"src/v09/overrides/StakeManager.sol":{"keccak256":"0x51f865c65d7bc9a3085cd76c0442b960d9df208a6facf34778f2c9bfe2aa9660","urls":["bzz-raw://a875e317cf7f376614a8fe4c3d1fa5e8e55328e64c9b1f344d32c20d3a0d2a46","dweb:/ipfs/QmVXM4RheDq6C46VZzduQhGF3y8GQ2CGuDhnL7TXSSJLn7"],"license":"GPL-3.0"},"src/v09/overrides/UserOperationLib.sol":{"keccak256":"0x10f23c660d99460070c409af0fce471ffbfbade8d6902c7c14e280c0baf624f9","urls":["bzz-raw://0bb475f269b3a565055cb8dc367479c256e0346a39498cbeb771907efa21eb20","dweb:/ipfs/QmbhCXzJvDPuZ2BKyRK9znLS4U68fU9eCMCiyjjmEDwWWG"],"license":"MIT"}},"version":1},"id":30}