@pimlico/alto 0.0.0-main.20250627T140102 → 0.0.0-main.20250704T131549
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/ERC165.sol/ERC165.json +1 -1
- package/contracts/EntryPoint.sol/EntryPoint.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/contracts/IERC165.sol/IERC165.json +1 -1
- package/contracts/SenderCreator.sol/SenderCreator.json +1 -1
- package/contracts/build-info/{004071c167bc55de.json → a404540bf9e30752.json} +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride07.json +1 -1
- package/esm/contracts/EntryPointFilterOpsOverride.sol/EntryPointFilterOpsOverride08.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations07.json +1 -1
- package/esm/contracts/EntryPointSimulations.sol/EntryPointSimulations08.json +1 -1
- package/esm/executor/filterOpsAndEstimateGas.js +2 -1
- package/esm/executor/filterOpsAndEstimateGas.js.map +1 -1
- package/esm/handlers/gasPriceManager.js +1 -1
- package/esm/handlers/gasPriceManager.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationHandler.d.ts +6 -5
- package/esm/rpc/estimation/gasEstimationHandler.js +11 -11
- package/esm/rpc/estimation/gasEstimationHandler.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations06.d.ts +2 -2
- package/esm/rpc/estimation/gasEstimations06.js +2 -2
- package/esm/rpc/estimation/gasEstimations06.js.map +1 -1
- package/esm/rpc/estimation/gasEstimations07.d.ts +5 -3
- package/esm/rpc/estimation/gasEstimations07.js +24 -5
- package/esm/rpc/estimation/gasEstimations07.js.map +1 -1
- package/esm/rpc/validation/UnsafeValidator.js +3 -3
- package/esm/rpc/validation/UnsafeValidator.js.map +1 -1
- package/esm/utils/entryPointOverrides.d.ts +0 -4
- package/esm/utils/entryPointOverrides.js +4 -11
- package/esm/utils/entryPointOverrides.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","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":"_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":"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":"","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":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","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":"","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":"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":"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":"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":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e259081610436823960805181611dd8015260a05181611e95015260c05181611da9015260e05181611e2701526101005181611e4d01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d46565b005b5f905f3560e01c9081630396cb60146114a55750806309ccb8801461147a5780630bd28e3b146114295780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661196e565b91611c28565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761176c565b126104cd576040516101ae8161179c565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f02565b6040519961027b84611afc565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561245a565b986103216001600160a01b03865116602087015190612695565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611ac0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c193945061207a565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361183d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611acd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061183d565b611d46565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b59236906004016119fa565b6001600160a01b0361088f611a28565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d26565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117b9565b810190611d07565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261183d565b5060243567ffffffffffffffff81116104d5576109739036906004016119fa565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612bdd565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d1f565b906020610a42604051936109f483866117b9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e08801906119d6565b9086820360408801526119d6565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661196e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661183d565b1681528083522054604051908152f35b503461013e57610ae536611867565b9190915a92815193610af78583611f02565b610b0082611afc565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761245a565b9760206001600160a01b0382511691015190612695565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611ac0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961183d565b8260808551610c778161176c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161176c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61183d565b916001600160a01b03610d4d611756565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611afc565b604051908152f35b503461013e57606090610ddd36611867565b908392935082936001600160a01b0360e08451610dfa8186611f02565b610e0385611afc565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e6193945061207a565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661183d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611ac0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611acd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861183d565b926001600160a01b03610fc9611756565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611d9f565b5034611391576102203660031901126113915760043567ffffffffffffffff8111611391576110729036906004016117f7565b3660231901906101c0821261139157610140604051926110918461176c565b12611391576040516110a28161179c565b6024356001600160a01b038116810361139157815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113915760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113915761115f9036906004016117f7565b9082519060608201518151908161139d575b505050505a61020435039251809301905f935a93516101008101516101208201514801808210156113955750935b6111be6001600160a01b0360e0840151169360608401519083036126dc565b01925f9280611244575050516001600160a01b0316935b5a900301010292518381105f1461120e576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112379203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611258575b5050506111d5565b9197509192505a9660a05a930191825190823b15611391575f916112ba91836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528460048401526080602484015260848301906119d6565b8d8d0260448301528d60648301520393f1908161137c575b50611360573d896108008211611356575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506112e3565b611373915a9003965a90039051906126dc565b905f8080611250565b611389919a505f906117b9565b5f985f6112d2565b5f80fd5b90509361119f565b5f80949360206001600160a01b0383965116910192f1156113c1575f808080611171565b3d6108008111611420575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526020600484015260248301906119d6565b506108006113cc565b34611391576020366003190112611391576004356001600160c01b038116810361139157335f5260016020526001600160c01b0360405f2091165f5260205260405f206114768154611ab2565b9055005b34611391575f366003190112611391576020611494611a28565b6001600160a01b0360405191168152f35b60203660031901126113915760043563ffffffff811680910361139157335f525f60205260405f209181156117145750600182015463ffffffff8160781c1682106116d0576dffffffffffffffffffffffffffff9060081c16913483018093116116bc578215611678576dffffffffffffffffffffffffffff83116116345754604051611601916115358261176c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b038216820361139157565b60a0810190811067ffffffffffffffff82111761178857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff82111761178857604052565b90601f8019910116810190811067ffffffffffffffff82111761178857604052565b67ffffffffffffffff811161178857601f01601f191660200190565b81601f820112156113915780359061180e826117db565b9261181c60405194856117b9565b8284526020838301011161139157815f926020809301838601378301015290565b600435906001600160a01b038216820361139157565b35906001600160a01b038216820361139157565b610200600319820112611391576004359160243567ffffffffffffffff811161139157610120818403600319011261139157600401916043190160446101c0821261139157610140604051926118bc8461176c565b12611391576101a0906040516118d18161179c565b6118da82611853565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261192460e08301611853565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113915760043567ffffffffffffffff81116113915760040182601f820112156113915780359267ffffffffffffffff8411611391576020808301928560051b0101116113915791906024356001600160a01b03811681036113915790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113915782359167ffffffffffffffff8311611391576020838186019501011161139157565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611aa7575f91611a68575090565b90506020813d602011611a9f575b81611a83602093836117b9565b8101031261139157516001600160a01b03811681036113915790565b3d9150611a76565b6040513d5f823e3d90fd5b5f1981146116bc5760010190565b919082039182116116bc57565b3d15611af7573d90611ade826117db565b91611aec60405193846117b9565b82523d5f602084013e565b606090565b604290611b08816122c0565b611b10611d9f565b91611b1a81611ebb565b918015611c0b57905b60c0611b326060830183611ecf565b90816040519182372091611b4960e0820182611ecf565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611bd3610140826117b9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c196040820182611ecf565b90816040519182372090611b23565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611cdf5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b9081602091031261139157516001600160a01b03811681036113915790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611d9334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e92575b15611dfa577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e8c60c0826117b9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dd1565b356001600160a01b03811681036113915790565b903590601e1981360301821215611391570180359067ffffffffffffffff82116113915760200191813603831361139157565b611f86906001600160a01b03611f1782611ebb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611ecf565b919082611f9257505050565b60348310612036578260141161139157803560601c926024811061139157601482013590603411611391576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c1660808201528115611ff25760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120a260408301938451906126fb565b15612274575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461210f608085960151966121016040519c8d926020860151905191602085019d8e5260248501612752565b03601f1981018c528b6117b9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612268575b508115612256575b506121cd57601f801991011601928360405294955a90031161215e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161224c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506121d9565b9050601f605f1983019101105f61213e565b6040141591505f612136565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122cd6040820182611ecf565b90916122d98284612834565b15612453576122e790611ebb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123c5575060181b91601482116123735750506040516bffffffffffffffffffffffff19909116602082019081526014825290611e8c6034826117b9565b81601411611391576040516bffffffffffffffffffffffff199093166020848101918252909392611e8c92849190601319820190601401603484013781015f838201520301601f1981018352826117b9565b3b1561240f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124896124816040860186611ecf565b908c8b612876565b015116915f9215978861265b575b5f602093926124f7836124e96001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612752565b03601f1981018752866117b9565b838287875193f1925f519360203d03612654575b836040521561257e575050509461252157505050565b61252a916126fb565b156125325750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6125d25760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161264a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506125de565b505f61250b565b92509060205f81938782528183526040822054878111831461268a57506124f7825b9693505092935050612497565b6124f790880361267d565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f20918254926126d584611ab2565b9055161490565b90619c4082018111156126f557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061245357039055600190565b9035601e198236030181121561139157016020813591019167ffffffffffffffff821161139157813603831361139157565b61282a60409295949395606083526001600160a01b0361277182611853565b1660608401526020810135608084015261281761280b6127cb6127ac61279988860186612720565b61012060a08a0152610180890191611d26565b6127b96060860186612720565b888303605f190160c08a015290611d26565b608084013560e087015260a084013561010087015260c08401356101208701526127f860e0850185612720565b878303605f190161014089015290611d26565b91610100810190612720565b848303605f190161016086015290611d26565b9460208201520152565b9060021161287157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f9080612889575b5050505050565b6001600160a01b0384515116946128a08285612834565b612b2b57853b612adf5760148210612a93578260206001600160a01b036128c5611a28565b1660408851015160405180948193632b870d1b60e11b8352856004840152826128f38c8b6024840191611d26565b0393f1908115612a88578491612a69575b506001600160a01b0381168015612a1d5787036129d1573b15612985575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f80808080612882565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612a82915060203d6020116109265761091881836117b9565b5f612904565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b3e575b50505050565b60406001600160a01b03612b50611a28565b1693510151908260141161139157833b15611391575f8094612bb796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d26565b0393f18015611aa757612bcd575b808080612b38565b5f612bd7916117b9565b5f612bc5565b60ff8114612c3c5760ff811690601f8211612c145760405191612c016040846117b9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d15575b602084108314612d01578385528492908115612ce25750600114612c83575b612c80925003826117b9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cc6575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612cae565b60209250612c8094915060ff191682840152151560051b820101612c74565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c55565b60ff8114612d435760ff811690601f8211612c145760405191612c016040846117b9565b506040515f6003548060011c9160018216918215612de5575b602084108314612d01578385528492908115612ce25750600114612d8657612c80925003826117b9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dc9575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612db1565b92607f1692612d5c56fea2646970667358221220f9342c04da3baeb5a2b32892285df82df5169b816e498eda224b5ddab402891764736f6c634300081c0033","sourceMap":"989:32847:25:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;:::i;:::-;1935:9;989:32847;;;1935:9;;;-1:-1:-1;;;1935:9:25;;3401:45:19;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;989:32847:25;3542:22:19;;3528:36;;;;989:32847:25;3591:25:19;;3574:42;;;3644:13;3627:30;;989:32847:25;;4204:80:19;989:32847:25;4204:80:19;;2079:95;;;;989:32847:25;2079:95:19;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;989:32847:25;4194:91:19;;2079:95;3667:48;4278:4;4204:80;3725:27;989:32847:25;;;;;;;;2079:95:19;989:32847:25;;;;;3627:30:19;989:32847:25;;;;;4204:80:19;989:32847:25;;;;;3528:36:19;989:32847:25;;;;;3574:42:19;989:32847:25;;;;;3393:53:19;989:32847:25;;;;;3456:62:19;989:32847:25;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;989:32847:25;;;;;-1:-1:-1;989:32847:25;2887:340:15;;989:32847:25;;3032:2:15;3010:24;;3006:215;3032:2;;;989:32847:25;;1854:2:15;989:32847:25;;1840:16:15;1836:72;;3032:2;989:32847:25;;;;2079:95:19;3032:2:15;989:32847:25;;;;1949:36:15;3050:27;:::o;989:32847:25:-;;;;3032:2:15;989:32847:25;;;;;1949:36:15;3050:27;:::o;1836:72::-;989:32847:25;3032:2:15;989:32847:25;;;1879:18:15;;;;;;;;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;1854:2:15;989:32847:25;-1:-1:-1;;989:32847:25;;;1879:18:15;;;;3006:215;-1:-1:-1;;;;;989:32847:25;;;;3432:13:19;989:32847:25;;;;;;;;;;;3006:215:15;3032:2;989:32847:25;;;;;;;;;;3006:215:15;989:32847:25;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;-1:-1:-1;989:32847:25;;;;;;;;;;3432:13:19;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;3432:13:19;989:32847:25;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:15;;989:32847:25;;3032:2:15;3010:24;;3006:215;3032:2;;;989:32847:25;;1854:2:15;989:32847:25;;1840:16:15;1836:72;;3032:2;989:32847:25;;;;2079:95:19;3032:2:15;989:32847:25;;;;1949:36:15;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;989:32847:25;;;;3501:16:19;989:32847:25;;;;;;;;;;;3006:215:15;3032:2;989:32847:25;;;;;;;;;;3006:215:15;989:32847:25;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;989:32847:25;;;;;3501:16:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;-1:-1:-1;989:32847:25;;;;;;;;;;3501:16:19;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;989:32847:25;1390:66:15;3168:42;:::o;989:32847:25:-;;;;;;;3501:16:19;989:32847:25;;;;;;;;;;;;;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;3501:16:19;989:32847:25;;;3032:2:15;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d46565b005b5f905f3560e01c9081630396cb60146114a55750806309ccb8801461147a5780630bd28e3b146114295780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661196e565b91611c28565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761176c565b126104cd576040516101ae8161179c565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f02565b6040519961027b84611afc565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561245a565b986103216001600160a01b03865116602087015190612695565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611ac0565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c193945061207a565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361183d565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611acd565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061183d565b611d46565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b59236906004016119fa565b6001600160a01b0361088f611a28565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d26565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117b9565b810190611d07565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261183d565b5060243567ffffffffffffffff81116104d5576109739036906004016119fa565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612bdd565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d1f565b906020610a42604051936109f483866117b9565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e08801906119d6565b9086820360408801526119d6565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661196e565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661183d565b1681528083522054604051908152f35b503461013e57610ae536611867565b9190915a92815193610af78583611f02565b610b0082611afc565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761245a565b9760206001600160a01b0382511691015190612695565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611ac0565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961183d565b8260808551610c778161176c565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161176c565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61183d565b916001600160a01b03610d4d611756565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611afc565b604051908152f35b503461013e57606090610ddd36611867565b908392935082936001600160a01b0360e08451610dfa8186611f02565b610e0385611afc565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e6193945061207a565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661183d565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611ac0565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611acd565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861183d565b926001600160a01b03610fc9611756565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611d9f565b5034611391576102203660031901126113915760043567ffffffffffffffff8111611391576110729036906004016117f7565b3660231901906101c0821261139157610140604051926110918461176c565b12611391576040516110a28161179c565b6024356001600160a01b038116810361139157815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113915760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113915761115f9036906004016117f7565b9082519060608201518151908161139d575b505050505a61020435039251809301905f935a93516101008101516101208201514801808210156113955750935b6111be6001600160a01b0360e0840151169360608401519083036126dc565b01925f9280611244575050516001600160a01b0316935b5a900301010292518381105f1461120e576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112379203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611258575b5050506111d5565b9197509192505a9660a05a930191825190823b15611391575f916112ba91836040519586809581947f7c627b210000000000000000000000000000000000000000000000000000000083528460048401526080602484015260848301906119d6565b8d8d0260448301528d60648301520393f1908161137c575b50611360573d896108008211611356575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506112e3565b611373915a9003965a90039051906126dc565b905f8080611250565b611389919a505f906117b9565b5f985f6112d2565b5f80fd5b90509361119f565b5f80949360206001600160a01b0383965116910192f1156113c1575f808080611171565b3d6108008111611420575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526020600484015260248301906119d6565b506108006113cc565b34611391576020366003190112611391576004356001600160c01b038116810361139157335f5260016020526001600160c01b0360405f2091165f5260205260405f206114768154611ab2565b9055005b34611391575f366003190112611391576020611494611a28565b6001600160a01b0360405191168152f35b60203660031901126113915760043563ffffffff811680910361139157335f525f60205260405f209181156117145750600182015463ffffffff8160781c1682106116d0576dffffffffffffffffffffffffffff9060081c16913483018093116116bc578215611678576dffffffffffffffffffffffffffff83116116345754604051611601916115358261176c565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b038216820361139157565b60a0810190811067ffffffffffffffff82111761178857604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff82111761178857604052565b90601f8019910116810190811067ffffffffffffffff82111761178857604052565b67ffffffffffffffff811161178857601f01601f191660200190565b81601f820112156113915780359061180e826117db565b9261181c60405194856117b9565b8284526020838301011161139157815f926020809301838601378301015290565b600435906001600160a01b038216820361139157565b35906001600160a01b038216820361139157565b610200600319820112611391576004359160243567ffffffffffffffff811161139157610120818403600319011261139157600401916043190160446101c0821261139157610140604051926118bc8461176c565b12611391576101a0906040516118d18161179c565b6118da82611853565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261192460e08301611853565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113915760043567ffffffffffffffff81116113915760040182601f820112156113915780359267ffffffffffffffff8411611391576020808301928560051b0101116113915791906024356001600160a01b03811681036113915790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113915782359167ffffffffffffffff8311611391576020838186019501011161139157565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611aa7575f91611a68575090565b90506020813d602011611a9f575b81611a83602093836117b9565b8101031261139157516001600160a01b03811681036113915790565b3d9150611a76565b6040513d5f823e3d90fd5b5f1981146116bc5760010190565b919082039182116116bc57565b3d15611af7573d90611ade826117db565b91611aec60405193846117b9565b82523d5f602084013e565b606090565b604290611b08816122c0565b611b10611d9f565b91611b1a81611ebb565b918015611c0b57905b60c0611b326060830183611ecf565b90816040519182372091611b4960e0820182611ecf565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611bd3610140826117b9565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c196040820182611ecf565b90816040519182372090611b23565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611cdf5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b9081602091031261139157516001600160a01b03811681036113915790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611d9334856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611e92575b15611dfa577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e8c60c0826117b9565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dd1565b356001600160a01b03811681036113915790565b903590601e1981360301821215611391570180359067ffffffffffffffff82116113915760200191813603831361139157565b611f86906001600160a01b03611f1782611ebb565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611ecf565b919082611f9257505050565b60348310612036578260141161139157803560601c926024811061139157601482013590603411611391576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c1660808201528115611ff25760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120a260408301938451906126fb565b15612274575f6001600160a01b0360e07f52b7512c0000000000000000000000000000000000000000000000000000000096959461210f608085960151966121016040519c8d926020860151905191602085019d8e5260248501612752565b03601f1981018c528b6117b9565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612268575b508115612256575b506121cd57601f801991011601928360405294955a90031161215e575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161224c575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506121d9565b9050601f605f1983019101105f61213e565b6040141591505f612136565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122cd6040820182611ecf565b90916122d98284612834565b15612453576122e790611ebb565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123c5575060181b91601482116123735750506040516bffffffffffffffffffffffff19909116602082019081526014825290611e8c6034826117b9565b81601411611391576040516bffffffffffffffffffffffff199093166020848101918252909392611e8c92849190601319820190601401603484013781015f838201520301601f1981018352826117b9565b3b1561240f57606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124896124816040860186611ecf565b908c8b612876565b015116915f9215978861265b575b5f602093926124f7836124e96001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612752565b03601f1981018752866117b9565b838287875193f1925f519360203d03612654575b836040521561257e575050509461252157505050565b61252a916126fb565b156125325750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6125d25760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161264a575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a48301906119d6565b61080091506125de565b505f61250b565b92509060205f81938782528183526040822054878111831461268a57506124f7825b9693505092935050612497565b6124f790880361267d565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f20918254926126d584611ab2565b9055161490565b90619c4082018111156126f557606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061245357039055600190565b9035601e198236030181121561139157016020813591019167ffffffffffffffff821161139157813603831361139157565b61282a60409295949395606083526001600160a01b0361277182611853565b1660608401526020810135608084015261281761280b6127cb6127ac61279988860186612720565b61012060a08a0152610180890191611d26565b6127b96060860186612720565b888303605f190160c08a015290611d26565b608084013560e087015260a084013561010087015260c08401356101208701526127f860e0850185612720565b878303605f190161014089015290611d26565b91610100810190612720565b848303605f190161016086015290611d26565b9460208201520152565b9060021161287157356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f9080612889575b5050505050565b6001600160a01b0384515116946128a08285612834565b612b2b57853b612adf5760148210612a93578260206001600160a01b036128c5611a28565b1660408851015160405180948193632b870d1b60e11b8352856004840152826128f38c8b6024840191611d26565b0393f1908115612a88578491612a69575b506001600160a01b0381168015612a1d5787036129d1573b15612985575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f80808080612882565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612a82915060203d6020116109265761091881836117b9565b5f612904565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b3e575b50505050565b60406001600160a01b03612b50611a28565b1693510151908260141161139157833b15611391575f8094612bb796604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d26565b0393f18015611aa757612bcd575b808080612b38565b5f612bd7916117b9565b5f612bc5565b60ff8114612c3c5760ff811690601f8211612c145760405191612c016040846117b9565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d15575b602084108314612d01578385528492908115612ce25750600114612c83575b612c80925003826117b9565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cc6575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612cae565b60209250612c8094915060ff191682840152151560051b820101612c74565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c55565b60ff8114612d435760ff811690601f8211612c145760405191612c016040846117b9565b506040515f6003548060011c9160018216918215612de5575b602084108314612d01578385528492908115612ce25750600114612d8657612c80925003826117b9565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dc9575050906020612c8092820101612c74565b6020919350806001915483858801015201910190918392612db1565b92607f1692612d5c56fea2646970667358221220f9342c04da3baeb5a2b32892285df82df5169b816e498eda224b5ddab402891764736f6c634300081c0033","sourceMap":"989:32847:25:-:0;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;;1441:10:29;;;:::i;:::-;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25957:20;989:32847;25957:20;;;989:32847;;;;;2060:156;989:32847;2060:156;;;989:32847;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2222:167;;:::i;989:32847::-;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23099:31;23202:9;;23251:17;;;23306:7;;;;;:::i;:::-;989:32847;33060:67;23471:21;;;;:::i;:::-;989:32847;;33343:66;989:32847;33343:66;989:32847;23721:28;;989:32847;23782:26;989:32847;23782:26;989:32847;23782:26;;989:32847;23782:49;989:32847;23834:20;;989:32847;23782:72;989:32847;23869:37;;989:32847;23782:124;989:32847;23909:31;;989:32847;23782:158;989:32847;23943:20;;989:32847;23782:181;989:32847;23978:28;;989:32847;23782:224;24024:33;989:32847;;24142:28;24254:108;24142:28;;;9978:20;9761:28;;;989:32847;9792:20;;;989:32847;1637:4;9831:37;;;989:32847;1637:4;9871:31;;;989:32847;1637:4;9905:26;;;989:32847;1637:4;9978:20;;989:32847;;9591:424;;24142:28;989:32847;;;;3472:23:30;;989:32847:25;;;24254:108;;;;;:::i;:::-;989:32847;24381:54;-1:-1:-1;;;;;989:32847:25;;;;24421:13;;989:32847;24381:54;;:::i;:::-;989:32847;;;24533:9;1637:4;;24524:41;24520:138;;989:32847;24731:9;-1:-1:-1;;;;;989:32847:25;24731:9;24754:17;;989:32847;;24754:31;;:62;;;;989:32847;24750:186;;;989:32847;24994:9;;;24979:24;24994:9;;24979:24;;:::i;:::-;989:32847;25007:3;989:32847;;;;;;25007:3;989:32847;;;;;;;;;;;;;;;;;;;25153:9;1637:4;;25165:25;;989:32847;1637:4;989:32847;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;24750:186;24979:24;24869:56;;;;;;;:::i;:::-;24832:93;;24750:186;;;;;;24754:62;;;;;;24520:138;989:32847;;;-1:-1:-1;;;24592:51:25;;989:32847;24592:51;;989:32847;;;;;;;;;;;;;;;;;;;;;;24592:51;;;;989:32847;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;24592:51;989:32847;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;:::i;:::-;4109:10:29;989:32847:25;;;;;4146:10:29;989:32847:25;;;4146:10:29;989:32847:25;;;;;;;;4174:9:29;;;989:32847:25;;;;;;4226:21:29;;989:32847:25;;4320:15:29;-1:-1:-1;989:32847:25;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;4109:10:29;;4471:50;;;989:32847:25;4549:38:29;;;;:::i;:::-;;989:32847:25;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:29;989:32847:25;;;;;3657:20:29;989:32847:25;;;3657:20:29;989:32847:25;;;;;;;3657:25:29;;;989:32847:25;;;;;;;;3787:15:29;989:32847:25;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;3628:10:29;;3912:39;;989:32847:25;;3912:39:29;989:32847:25;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;-1:-1:-1;;989:32847:25;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2852:15:25;;:::i;:::-;989:32847;;;;;2852:38;;;;;;-1:-1:-1;;;2852:38:25;;;989:32847;2852:38;;989:32847;;;;;;:::i;:::-;2852:38;;;;;;;;;;;-1:-1:-1;;;;;2852:38:25;989:32847;2852:38;;;;989:32847;2907:27;;;;989:32847;;;2907:27;2852:38;;;;989:32847;2852:38;989:32847;2852:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;989:32847;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:19;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;989:32847:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:19;;989:32847:25;;;;5625:4:19;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25483:9;;;;25532:17;;;25587:7;;;;;:::i;:::-;25628:21;;;:::i;:::-;25605:20;;;989:32847;;25844:28;;989:32847;25905:26;989:32847;25905:26;;;;989:32847;25905:49;25957:20;;;989:32847;25905:72;25992:37;;;989:32847;25905:124;26032:31;;;989:32847;25905:158;26066:20;;;989:32847;25905:181;26101:28;;;989:32847;25905:224;26147:33;989:32847;;26246:28;;9978:20;9761:28;;;989:32847;9792:20;;;989:32847;1637:4;9831:37;;;989:32847;1637:4;9871:31;;;989:32847;1637:4;9905:26;;;989:32847;1637:4;9978:20;;989:32847;;9591:424;;26246:28;26373:9;26399:54;26301:82;26373:9;26301:82;;;;;:::i;:::-;989:32847;25605:20;-1:-1:-1;;;;;989:32847:25;;;26439:13;;989:32847;26399:54;;:::i;:::-;26398:55;26394:140;;26581:9;1637:4;;26572:41;26568:138;;26779:9;27112:24;26779:9;;;26032:31;25992:37;26779:9;;26870:17;989:32847;26870:17;;989:32847;25957:20;26919:23;;;989:32847;27021:9;1637:4;;27033:25;;989:32847;1637:4;26991:18;;989:32847;27127:9;27112:24;;:::i;:::-;27140:3;989:32847;;;;;;27140:3;989:32847;;;;;;;27147:3;989:32847;25957:20;989:32847;;;;;;25605:20;989:32847;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;25605:20;989:32847;;;;;;;;;;;;;;;;24592:51;989:32847;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;507:19:0;989:32847:25;;;-1:-1:-1;;;;;989:32847:25;;-1:-1:-1;989:32847:25;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;507:55:0;989:32847:25;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13693:31;;13840:17;-1:-1:-1;;;;;989:32847:25;13840:17;;13895:7;;;;:::i;:::-;13936:21;;;:::i;:::-;13913:20;;;989:32847;13988:28;;9978:20;9761:28;;;989:32847;9792:20;;;989:32847;1637:4;9831:37;;;989:32847;1637:4;9871:31;;;989:32847;1637:4;9905:26;;;989:32847;1637:4;9978:20;;989:32847;;9591:424;;13988:28;989:32847;13968:17;;989:32847;14030:17;989:32847;;14026:155;;989:32847;;;;;;;;;;13913:20;989:32847;;;;;;;;14026:155;14114:56;;;;;:::i;:::-;14077:93;;14026:155;;;;;;989:32847;;;;;;;-1:-1:-1;;989:32847:25;;;;;;:::i;:::-;;;4820:10:29;;989:32847:25;;;;;;;;;;;4896:32:29;;;;989:32847:25;;4983:31:29;;;;-1:-1:-1;;;;;4983:31:29;;;;;;;;:::i;:::-;989:32847:25;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;4820:10:29;;5029:54;;;989:32847:25;5111:47:29;;;;:::i;:::-;;989:32847:25;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;-1:-1:-1;;;;;989:32847:25;;;:::i;:::-;;-1:-1:-1;;;;;989:32847:25;;:::i;:::-;;;;;279:74:0;989:32847:25;;;279:74:0;989:32847:25;-1:-1:-1;989:32847:25;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;1092:197:30;989:32847:25;;;;;;;;;;;;;;;;;3403:20;;:::i;989:32847::-;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6778:14;;;6826:20;989:32847;6826:20;;989:32847;;;7236:19;;7232:703;;989:32847;7998:9;;;;;989:32847;;1637:4;989:32847;;1637:4;;;8046:48;989:32847;28133:9;;28241:14;;989:32847;31863:20;;989:32847;;31928:28;;989:32847;32018:13;1637:4;3696:5:10;;;;;;:13;;;28662:60:25;-1:-1:-1;;;;;989:32847:25;28350:17;;989:32847;;28701:20;989:32847;28701:20;;989:32847;1637:4;;;28662:60;:::i;:::-;1637:4;;989:32847;;28798:23;989:32847;;-1:-1:-1;;989:32847:25;-1:-1:-1;;;;;989:32847:25;;28794:1846;30675:9;1637:4;;;;989:32847;;;30823:23;;;30819:626;30823:23;;;989:32847;31056:146;;;;;30819:626;989:32847;1637:4;;;;31316:40;1637:4;;31316:40;-1:-1:-1;;;;;989:32847:25;1822:8:29;989:32847:25;1822:8:29;989:32847:25;;;1822:8:29;989:32847:25;;;;1637:4;989:32847;;;1674:305:29;;31316:40:25;;989:32847;;;;;;;;;;28794:1846;28910:25;;;;989:32847;;;28953:1673;;28794:1846;;;;;;28953:1673;29080:9;;;;;;;29210;989:32847;29210:9;29283:31;;989:32847;;;29249:160;;;;;;989:32847;;;;;;;29249:160;;;;;;989:32847;29249:160;;;989:32847;29249:160;;989:32847;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29249:160;;;;;;;28953:1673;-1:-1:-1;29245:901:25;;1204:349:9;;1637:4:25;1204:349:9;;;;29245:901:25;989:32847;1204:349:9;;989:32847:25;1204:349:9;;;;989:32847:25;1204:349:9;;;;;989:32847:25;1204:349:9;;;989:32847:25;;;29969:150;;;-1:-1:-1;;;29969:150:25;;989:32847;29969:150;;989:32847;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1637:4:25;;-1:-1:-1;1204:349:9;;29245:901:25;30539:68;29245:901;30212:9;1637:4;;30483:9;;1637:4;;989:32847;;30539:68;;:::i;:::-;28953:1673;;;;;;29249:160;;;;;989:32847;29249:160;;:::i;:::-;989:32847;29249:160;;;;;989:32847;;;3696:13:10;;;;;;7232:703:25;989:32847;;;;;-1:-1:-1;;;;;989:32847:25;;;;378:118:9;;;;7356:8:25;7352:573;;7232:703;;;;;;7352:573;1204:349:9;1637:4:25;1204:349:9;;;;7352:573:25;1637:4;1204:349:9;989:32847:25;1204:349:9;;989:32847:25;1204:349:9;;;;989:32847:25;1204:349:9;;;;989:32847:25;;1204:349:9;;;989:32847:25;;7472:25;;;;;;989:32847;;7472:25;;1637:4;989:32847;1637:4;;;;:::i;1204:349:9:-;-1:-1:-1;1637:4:25;1204:349:9;;989:32847:25;;;;;;-1:-1:-1;;989:32847:25;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;913:10:0;989:32847:25;;893:19:0;989:32847:25;;-1:-1:-1;;;;;989:32847:25;;;893:36:0;989:32847:25;;;;;;;;893:38:0;989:32847:25;;893:38:0;:::i;:::-;989:32847:25;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;:::i;:::-;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;3011:10:29;989:32847:25;;;;;;;;3040:19:29;;;989:32847:25;;3127:20:29;;;;989:32847:25;;;;;;3108:39:29;;989:32847:25;;;;;;;3219:9:29;;989:32847:25;;;;;;;3246:9:29;;989:32847:25;;;3296:26:29;;989:32847:25;;;;;;;;;;:::i;:::-;;;3127:20:29;989:32847:25;3374:67:29;;;989:32847:25;;;;;;;3374:67:29;;;989:32847:25;;;3374:67:29;;;989:32847:25;;;-1:-1:-1;3374:67:29;;;989:32847:25;;;3011:10:29;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;3456:47:29;989:32847:25;3011:10:29;3456:47;;989:32847:25;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;989:32847:25;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;989:32847:25;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;989:32847:25;;;;;;:::o;:::-;;;-1:-1:-1;;;;;989:32847:25;;;;;;:::o;:::-;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;989:32847:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;-1:-1:-1;;989:32847:25;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2947:114::-;989:32847;;;3034:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3034:20:25;;;3027:27;2947:114;:::o;3034:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;989:32847;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;2947:114;:::o;3034:20::-;;;-1:-1:-1;3034:20:25;;;989:32847;;;;;;;;;;-1:-1:-1;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;989:32847:25;;;;:::o;:::-;;;:::o;2427:300::-;3445:249:20;2427:300:25;2558:54;;;:::i;:::-;3403:20;;:::i;:::-;1701:13:30;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:30;;;;;;;:::i;:::-;3287:193:10;;;;;;;;989:32847:25;3287:193:10;989:32847:25;2195:281:30;-1:-1:-1;;;;;1740:12:30;2195:281;;989:32847:25;1092:197:30;989:32847:25;;;3287:193:10;989:32847:25;;;1740:12:30;;;989:32847:25;1915:15:30;989:32847:25;;;1968:23:30;989:32847:25;;;2030:25:30;989:32847:25;;;1968:23:30;;;989:32847:25;;;;;2030:25:30;;;989:32847:25;2153:23:30;989:32847:25;;;2083:14:30;989:32847:25;;;;;;;;;;2195:281:30;;;;;;:::i;:::-;989:32847:25;5014:47:30;;3287:193:10;3445:249:20;;;;;;;;;;;;;;2427:300:25;:::o;1785:82:30:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:30;3287:193:10;;;;;1785:82:30;;;1181:103:14;;;;637:66;3321:69:18;1413:93:14;;1624:4;637:66;3550:68:18;2160:49:25;989:32847;;-1:-1:-1;;;2160:49:25;;989:32847;2160:49;;;989:32847;;;;;;;;;;;;;;;;2160:49;1413:93:14;1465:30;-1:-1:-1;1465:30:14;;-1:-1:-1;1465:30:14;989:32847:25;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;989:32847:25;;;;;;;;-1:-1:-1;;989:32847:25;;;;:::o;2687:179:29:-;2829:30;989:32847:25;-1:-1:-1;;;;;2777:37:29;2804:9;2777:37;-1:-1:-1;;;;;989:32847:25;1822:8:29;989:32847:25;1822:8:29;989:32847:25;;;1822:8:29;989:32847:25;;;;1637:4;989:32847;;;1674:305:29;;2777:37;989:32847:25;;;;;;;2829:30:29;;2687:179::o;3845:262:19:-;-1:-1:-1;;;;;3938:11:19;989:32847:25;3929:4:19;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;989:32847:25;;4204:80:19;;;989:32847:25;2079:95:19;989:32847:25;;4226:11:19;989:32847:25;2079:95:19;;989:32847:25;4239:14:19;2079:95;;;989:32847:25;4255:13:19;2079:95;;;989:32847:25;3929:4:19;2079:95;;;989:32847:25;2079:95:19;4204:80;;;;;;:::i;:::-;989:32847:25;4194:91:19;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;989:32847:25;;-1:-1:-1;;;;;989:32847:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8301:1086::-;8859:23;8301:1086;-1:-1:-1;;;;;8473:13:25;;;:::i;:::-;989:32847;;;8512:12;;;989:32847;8512:12;8496:13;;989:32847;8618:23;;;989:32847;475:2:30;989:32847:25;8618:23;989:32847;475:2:30;;8565:20:25;;;989:32847;8535:28;;;989:32847;8681:25;;;989:32847;8652:26;;;989:32847;8652:26;8800:14;;989:32847;475:2:30;989:32847:25;8618:23;989:32847;475:2:30;;8747:20:25;;;989:32847;8717:28;;;989:32847;8859:23;;;;;:::i;:::-;8896:27;;;8892:489;;8301:1086;;;:::o;8892:489::-;531:2:30;8947:65:25;;531:2:30;;989:32847:25;413:2:30;989:32847:25;;;413:2:30;;8565:20:25;413:2:30;;475;989:32847:25;-1:-1:-1;989:32847:25;;413:2:30;989:32847:25;;475:2:30;;531;989:32847:25;;;475:2:30;;4562:76;;989:32847:25;475:2:30;8618:23:25;475:2:30;;8681:25:25;9142:31;;989:32847;8618:23;475:2:30;;8618:23:25;9103:37;;989:32847;9277:23;;531:2:30;;8859:23:25;9341:17;989:32847;8301:1086::o;531:2:30:-;;8535:28:25;989:32847;-1:-1:-1;;;531:2:30;;8512:12:25;531:2:30;;;;;475;531;;989:32847:25;531:2:30;989:32847:25;;;531:2:30;;;;8535:28:25;989:32847;-1:-1:-1;;;531:2:30;;8512:12:25;531:2:30;;;;;;;;989:32847:25;531:2:30;989:32847:25;;;531:2:30;;16602:974:25;;;;;16867:9;16920:14;;;16968:17;-1:-1:-1;;;;;16968:17:25;;;989:32847;;17025:14;17058:48;17025:14;;;989:32847;;;17058:48;;:::i;:::-;17057:49;17053:146;;-1:-1:-1;;;;;;16968:17:25;17930:91;17245:37;;;17930:91;17245:37;;;;989:32847;33060:67;17930:91;17025:14;33060:67;17986:17;;;;;;989:32847;;;17930:91;17986:17;17930:91;;;;;;;;;:::i;:::-;;989:32847;;17930:91;;;;;;:::i;:::-;18051:14;:24;989:32847;;18321:1229;;;;;;;;;;;-1:-1:-1;18321:1229:25;;;;;;17025:14;18321:1229;;;;;19588:8;;989:32847;;;19588:31;;16602:974;19588:72;;;;;16602:974;19584:205;;;989:32847;;;;;;4020:413:10;;;17025:14:25;4020:413:10;17296:101:25;17424:9;;1637:4;;17415:43;17411:149;;16602:974;;:::o;17411:149::-;17485:60;;;-1:-1:-1;;;17485:60:25;;;;;989:32847;17025:14;17930:91;989:32847;;;;;;;;;;;;;;;;;;17485:60;19584:205;1204:349:9;;1637:4:25;1204:349:9;;;;19584:205:25;17025:14;1204:349:9;;17986:17:25;1204:349:9;;;;17025:14:25;1204:349:9;;;;-1:-1:-1;17986:17:25;1204:349:9;;;989:32847:25;17025:14;989:32847;19687:87;;;-1:-1:-1;;;19687:87:25;;17930:91;19687:87;;989:32847;;17930:91;989:32847;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1637:4:25;;-1:-1:-1;1204:349:9;;19588:72:25;18321:1229;;19639:2;18321:1229;;;;1637:4;;19623:37;19588:72;;;:31;17025:14;19600:19;;;-1:-1:-1;19588:31:25;;;17053:146;17133:51;989:32847;17025:14;989:32847;17133:51;-1:-1:-1;;;17133:51:25;;;;;989:32847;17025:14;989:32847;;;;;;;;;;;;;;17133:51;896:503:27;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;989:32847:25;2688:113:27;;;989:32847:25;2688:113:27;989:32847:25;;;;;2939:36:27;2935:241;;-1:-1:-1;3222:2:27;989:32847:25;;1230:2:27;1211:21;;1230:2;;-1:-1:-1;;1042:15:27;989:32847:25;-1:-1:-1;;989:32847:25;;;1265:26:27;;;989:32847:25;;;1230:2:27;1265:26;;;;;989:32847:25;1265:26:27;:::i;1207:186::-;989:32847:25;1230:2:27;989:32847:25;;;1042:15:27;989:32847:25;-1:-1:-1;;989:32847:25;;;1340:41:27;;;;989:32847:25;;;1340:41:27;;989:32847:25;1340:41:27;;989:32847:25;;1340:41:27;-1:-1:-1;;989:32847:25;;;1230:2:27;989:32847:25;;;;;;;;;;;;1340:41:27;;989:32847:25;;1340:41:27;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;989:32847:25;-1:-1:-1;;;3131:34:27;;449:8;3131:34;;;449:8;;;;;989:32847:25;449:8:27;989:32847:25;;;449:8:27;3131:34;449:8;;1042:15;989:32847:25;-1:-1:-1;;;449:8:27;;;;;;;;;;;989:32847:25;449:8:27;989:32847:25;;;449:8:27;;1067:68;1116:8;;;989:32847:25;1116:8:27;:::o;12427:1091:25:-;;;;;;12754:14;;989:32847;-1:-1:-1;;;;;12912:17:25;989:32847;;;;12866:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12912:17;989:32847;;12943:31;-1:-1:-1;12992:23:25;;12988:182;;;;12427:1091;-1:-1:-1;15177:17:25;14976:14;;15132:85;14976:14;15132:85;-1:-1:-1;;;;;14976:14:25;;;989:32847;;15007:12;12866:11;33060:67;15177:17;;;;989:32847;15132:85;;;;;;;;;;;:::i;:::-;;989:32847;;15132:85;;;;;;:::i;:::-;15231:326;;;;;;;;-1:-1:-1;15231:326:25;;15177:17;15231:326;;;;12427:1091;33343:66;12866:11;33343:66;15622:8;15618:286;;13183:100;;;13297:205;;;12427:1091;;;:::o;13297:205::-;13349:45;;;:::i;:::-;13348:46;13344:144;;12427:1091;:::o;13344:144::-;13425:44;989:32847;12866:11;989:32847;13425:44;-1:-1:-1;;;13425:44:25;;;;;989:32847;12866:11;15132:85;989:32847;;;;;;;;;;;;;13425:44;15618:286;15650:18;;;;;;15700:46;989:32847;12866:11;989:32847;15700:46;-1:-1:-1;;;15700:46:25;;15132:85;15700:46;;989:32847;12866:11;15132:85;989:32847;;;;;;;;;;;;;15700:46;15646:248;1204:349:9;;1637:4:25;1204:349:9;;;;15646:248:25;-1:-1:-1;1204:349:9;15177:17:25;1204:349:9;;;;12866:11:25;1204:349:9;;;;;989:32847:25;12866:11;989:32847;15792:87;;;-1:-1:-1;;;15792:87:25;;15132:85;15792:87;;989:32847;;15132:85;989:32847;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1637:4:25;;-1:-1:-1;1204:349:9;;15231:326:25;;-1:-1:-1;15231:326:25;;12988:182;989:32847;;;15177:17;-1:-1:-1;989:32847:25;;;;;;;;12866:11;989:32847;;;13106:21;;;;;;;:49;15132:85;13106:49;;12988:182;;;;;;;;;;13106:49;15132:85;1637:4;;;13106:49;;1187:234:0;-1:-1:-1;;;;;989:32847:25;-1:-1:-1;989:32847:25;1373:19:0;989:32847:25;;1317:2:0;-1:-1:-1;989:32847:25;-1:-1:-1;;;;;989:32847:25;1317:2:0;989:32847:25;;-1:-1:-1;989:32847:25;;;;;-1:-1:-1;989:32847:25;;;;1373:34:0;;;;:::i;:::-;989:32847:25;;;1373:41:0;1187:234;:::o;33421:413:25:-;;1884:5;1637:4;;33556:43;;;33552:90;;33777:3;1637:4;1770:2;1637:4;;989:32847;;33421:413;:::o;33552:90::-;33619:8;;989:32847;33619:8;:::o;2250:397:29:-;-1:-1:-1;;;;;989:32847:25;;;;;;;;;;;;2484:23:29;;;2480:74;;1637:4:25;989:32847;;2626:4:29;2250:397;:::o;989:32847:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;989:32847:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:32847:25;;;;;18321:1229;989:32847;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:32847:25;;;;;18321:1229;989:32847;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;989:32847:25;;;;;18321:1229;989:32847;:::i;:::-;;;;;;;;:::o;1712:551:27:-;;1826:1;-1:-1:-1;1804:62:27;;2015:95;-1:-1:-1;;413:2:30;989:32847:25;2207:49:27;;1712:551::o;1804:62::-;1843:12;989:32847:25;1843:12:27;:::o;10269:1671:25:-;;;;;10438:1;10419:20;;10415:1519;;10269:1671;;;;;;:::o;10415:1519::-;-1:-1:-1;;;;;10472:14:25;;989:32847;;10511:43;;;;;:::i;:::-;10507:495;;11019:18;;11015:121;;11171:2;11153:20;;11149:110;;11290:15;989:32847;-1:-1:-1;;;;;11290:15:25;;:::i;:::-;989:32847;11324:35;:14;;:35;989:32847;11324:35;989:32847;11290:80;;;;-1:-1:-1;;;11290:80:25;;;;;;989:32847;;;;;;;;;;:::i;:::-;11290:80;;;;;;;;;;;;10415:1519;989:32847;-1:-1:-1;;;;;989:32847:25;;11388:21;;11384:115;;11516:17;;11512:116;;11645:19;:24;11641:123;;989:32847;11171:2;989:32847;;;11846:77;11803:23;11324:35;11803:23;413:2:30;;-1:-1:-1;;;;;989:32847:25;;11862:17;;989:32847;11898:14;;:24;989:32847;;-1:-1:-1;;;;;989:32847:25;;413:2:30;;;;989:32847:25;;;;;;11846:77;10415:1519;;;;;;;11641:123;11696:53;989:32847;11324:35;989:32847;11696:53;-1:-1:-1;;;11696:53:25;;11290:80;11696:53;;989:32847;11324:35;989:32847;;;;;;;;;;;;;;11696:53;11512:116;11560:53;989:32847;11324:35;989:32847;11560:53;-1:-1:-1;;;11560:53:25;;11290:80;11560:53;;989:32847;11324:35;989:32847;;;;;;;;;;;;;;11560:53;11384:115;11436:48;989:32847;11324:35;989:32847;11436:48;-1:-1:-1;;;11436:48:25;;11290:80;11436:48;;989:32847;11324:35;989:32847;;;;;;;;;;;;;;11436:48;11290:80;;;;989:32847;11290:80;989:32847;11290:80;;;;;;;:::i;:::-;;;;;11324:35;989:32847;;;;;;;;11149:110;11200:44;989:32847;;;11200:44;-1:-1:-1;;;11200:44:25;;;;;989:32847;;;;;;;;;;;;;;;;11200:44;11015:121;11069:52;989:32847;;;11069:52;-1:-1:-1;;;11069:52:25;;;;;989:32847;;;;;;;;;;;;;;;;11069:52;10507:495;10578:20;;;;10596:2;10578:20;;10574:390;;10507:495;10981:7;;;;:::o;10574:390::-;10886:35;-1:-1:-1;;;;;10847:15:25;;:::i;:::-;989:32847;10886:14;;:35;989:32847;;;10596:2;989:32847;;;10847:98;;;;;10438:1;989:32847;;;;10886:35;989:32847;10847:98;;;;;;;989:32847;10847:98;;;;;989:32847;10886:35;989:32847;;;;10596:2;989:32847;;;;;;;;;;:::i;:::-;10847:98;;;;;;;;;10574:390;;;;;;10847:98;10438:1;10847:98;;;:::i;:::-;10438:1;10847:98;;3358:267:15;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;989:32847:25;;;;;;;:::i;:::-;2311:2:15;989:32847:25;;;;;;;;;;;2324:106:15;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:15;;-1:-1:-1;2713:20:15;3477:142;989:32847:25;;;-1:-1:-1;6126:13:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;989:32847:25;;;;;;1390:66:15;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;989:32847:25;;1390:66:15;989:32847:25;;;;;1390:66:15;989:32847:25;;;1390:66:15;;;;;;;;;;;-1:-1:-1;;;;1390:66:15;;;;;-1:-1:-1;1390:66:15;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;989:32847:25;;;;;;;:::i;3477:142:15:-;989:32847:25;;;-1:-1:-1;6584:16:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;989:32847:25;;;;;;1390:66:15;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1846":[{"start":7640,"length":32}],"1848":[{"start":7829,"length":32}],"1850":[{"start":7593,"length":32}],"1852":[{"start":7719,"length":32}],"1854":[{"start":7757,"length":32}],"1857":[{"start":2450,"length":32}],"1860":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_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","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","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\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"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\":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\":\"_accountValidation\",\"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\"}],\"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\":[{\"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\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"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\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"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\":[],\"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/a5ngpwSm/\",\"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\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"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.\"},\"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\"}},\"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\"}},\"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.\"},\"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.\"},\"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/v08/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/\",\":@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.1.0/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/\",\":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/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"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-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"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/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"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/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"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/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/v08/EntryPoint.sol\":{\"keccak256\":\"0xed8a0f5031fc0776476e21da3218985e171343530d32802ae4442088ea2d7f59\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e79e08d2914814dfda012586fd1c367884e585c4ceb5540086b1afd9979bdc65\",\"dweb:/ipfs/Qmd6JezvCd9LaGNzUxCN4gjP9rL1XgEXK6VSXpN3FCEKS8\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"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":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"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":"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":"_accountValidation","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"}]}],"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":[{"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":"","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":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","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":"","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":[],"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"}},"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"}},"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."},"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/","@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.1.0/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/","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/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/core/NonceManager.sol":{"keccak256":"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9","urls":["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6","dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"],"license":"GPL-3.0"},"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-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"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/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"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/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"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/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/v08/EntryPoint.sol":{"keccak256":"0xed8a0f5031fc0776476e21da3218985e171343530d32802ae4442088ea2d7f59","urls":["bzz-raw://e79e08d2914814dfda012586fd1c367884e585c4ceb5540086b1afd9979bdc65","dweb:/ipfs/Qmd6JezvCd9LaGNzUxCN4gjP9rL1XgEXK6VSXpN3FCEKS8"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":25}
|
|
1
|
+
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"_accountValidation","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":"_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":"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":"","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":"","type":"address","internalType":"address payable"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"handleOps","inputs":[{"name":"","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":"","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":"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":"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":"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":"InvalidShortString","inputs":[]},{"type":"error","name":"PostOpReverted","inputs":[{"name":"returnData","type":"bytes","internalType":"bytes"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SenderAddressResult","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"SignatureValidationFailed","inputs":[{"name":"aggregator","type":"address","internalType":"address"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]}],"bytecode":{"object":"0x610160604052346101275760405161001860408261012b565b600781526020810190664552433433333760c81b82526040519161003d60408461012b565b600183526020830191603160f81b835261005681610162565b61012052610063846102fd565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c08261012b565b5190206080523060c052604051612e569081610436823960805181611e09015260a05181611ec6015260c05181611dda015260e05181611e5801526101005181611e7e01526101205181610992015261014051816109bc0152f35b5f80fd5b601f909101601f19168101906001600160401b0382119082101761014e57604052565b634e487b7160e01b5f52604160045260245ffd5b908151602081105f146101dc575090601f81511161019c57602081519101516020821061018d571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b03811161014e57600254600181811c911680156102f3575b60208210146102df57601f81116102ac575b50602092601f821160011461024b57928192935f92610240575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610227565b601f1982169360025f52805f20915f5b868110610294575083600195961061027c575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f808061026e565b9192602060018192868501518155019401920161025b565b60025f52601f60205f20910160051c810190601f830160051c015b8181106102d4575061020d565b5f81556001016102c7565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101fb565b908151602081105f14610328575090601f81511161019c57602081519101516020821061018d571790565b6001600160401b03811161014e57600354600181811c9116801561042b575b60208210146102df57601f81116103f8575b50602092601f821160011461039757928192935f9261038c575b50508160011b915f199060031b1c19161760035560ff90565b015190505f80610373565b601f1982169360035f52805f20915f5b8681106103e057508360019596106103c8575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806103ba565b919260206001819286850151815501940192016103a7565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104205750610359565b5f8155600101610413565b90607f169061034756fe6080806040526004361015610025575b50361561001a575f80fd5b61002333611d77565b005b5f905f3560e01c9081630396cb60146114d65750806309ccb880146114ab5780630bd28e3b1461145a5780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199f565b91611c59565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179d565b126104cd576040516101ae816117cd565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f33565b6040519961027b84611b2d565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248b565b986103216001600160a01b038651166020870151906126c6565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af1565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120ab565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186e565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afe565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186e565b611d77565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2b565b6001600160a01b0361088f611a59565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d57565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117ea565b810190611d38565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186e565b5060243567ffffffffffffffff81116104d557610973903690600401611a2b565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0e565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d50565b906020610a42604051936109f483866117ea565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a07565b908682036040880152611a07565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199f565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186e565b1681528083522054604051908152f35b503461013e57610ae536611898565b9190915a92815193610af78583611f33565b610b0082611b2d565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248b565b9760206001600160a01b03825116910151906126c6565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af1565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186e565b8260808551610c778161179d565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179d565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186e565b916001600160a01b03610d4d611787565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2d565b604051908152f35b503461013e57606090610ddd36611898565b908392935082936001600160a01b0360e08451610dfa8186611f33565b610e0385611b2d565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120ab565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186e565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af1565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afe565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186e565b926001600160a01b03610fc9611787565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dd0565b50346113ba576102203660031901126113ba5760043567ffffffffffffffff81116113ba57611072903690600401611828565b3660231901906101c082126113ba57610140604051926110918461179d565b126113ba576040516110a2816117cd565b6024356001600160a01b03811681036113ba57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113ba5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113ba5761115f903690600401611828565b908251906060820151815190816113ce575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd549081156113c6575b01808210156113be5750935b6111e76001600160a01b0360e08401511693606084015190830361270d565b01925f928061126d575050516001600160a01b0316935b5a900301010292518381105f14611237576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112609203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611281575b5050506111fe565b9197509192505a9660a05a930191825190823b156113ba575f916112e391836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a07565b8d8d0260448301528d60648301520393f190816113a5575b50611389573d89610800821161137f575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061130c565b61139c915a9003965a900390519061270d565b905f8080611279565b6113b2919a505f906117ea565b5f985f6112fb565b5f80fd5b9050936111c8565b4891506111bc565b5f80949360206001600160a01b0383965116910192f1156113f2575f808080611171565b3d6108008111611451575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a07565b506108006113fd565b346113ba5760203660031901126113ba576004356001600160c01b03811681036113ba57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a78154611ae3565b9055005b346113ba575f3660031901126113ba5760206114c5611a59565b6001600160a01b0360405191168152f35b60203660031901126113ba5760043563ffffffff81168091036113ba57335f525f60205260405f209181156117455750600182015463ffffffff8160781c168210611701576dffffffffffffffffffffffffffff9060081c16913483018093116116ed5782156116a9576dffffffffffffffffffffffffffff83116116655754604051611632916115668261179d565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113ba57565b60a0810190811067ffffffffffffffff8211176117b957604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b957604052565b90601f8019910116810190811067ffffffffffffffff8211176117b957604052565b67ffffffffffffffff81116117b957601f01601f191660200190565b81601f820112156113ba5780359061183f8261180c565b9261184d60405194856117ea565b828452602083830101116113ba57815f926020809301838601378301015290565b600435906001600160a01b03821682036113ba57565b35906001600160a01b03821682036113ba57565b6102006003198201126113ba576004359160243567ffffffffffffffff81116113ba5761012081840360031901126113ba57600401916043190160446101c082126113ba57610140604051926118ed8461179d565b126113ba576101a090604051611902816117cd565b61190b82611884565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195560e08301611884565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113ba5760043567ffffffffffffffff81116113ba5760040182601f820112156113ba5780359267ffffffffffffffff84116113ba576020808301928560051b0101116113ba5791906024356001600160a01b03811681036113ba5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113ba5782359167ffffffffffffffff83116113ba57602083818601950101116113ba57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad8575f91611a99575090565b90506020813d602011611ad0575b81611ab4602093836117ea565b810103126113ba57516001600160a01b03811681036113ba5790565b3d9150611aa7565b6040513d5f823e3d90fd5b5f1981146116ed5760010190565b919082039182116116ed57565b3d15611b28573d90611b0f8261180c565b91611b1d60405193846117ea565b82523d5f602084013e565b606090565b604290611b39816122f1565b611b41611dd0565b91611b4b81611eec565b918015611c3c57905b60c0611b636060830183611f00565b90816040519182372091611b7a60e0820182611f00565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c04610140826117ea565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c4a6040820182611f00565b90816040519182372090611b54565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d105760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113ba57516001600160a01b03811681036113ba5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc434856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec3575b15611e2b577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebd60c0826117ea565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e02565b356001600160a01b03811681036113ba5790565b903590601e19813603018212156113ba570180359067ffffffffffffffff82116113ba576020019181360383136113ba57565b611fb7906001600160a01b03611f4882611eec565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611f00565b919082611fc357505050565b6034831061206757826014116113ba57803560601c92602481106113ba576014820135906034116113ba576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120235760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d3604083019384519061272c565b156122a5575f6001600160a01b0360e07f52b7512c00000000000000000000000000000000000000000000000000000000969594612140608085960151966121326040519c8d926020860151905191602085019d8e5260248501612783565b03601f1981018c528b6117ea565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612299575b508115612287575b506121fe57601f801991011601928360405294955a90031161218f575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227d575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061220a565b9050601f605f1983019101105f61216f565b6040141591505f612167565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fe6040820182611f00565b909161230a8284612865565b156124845761231890611eec565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f6575060181b91601482116123a45750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebd6034826117ea565b816014116113ba576040516bffffffffffffffffffffffff199093166020848101918252909392611ebd92849190601319820190601401603484013781015f838201520301601f1981018352826117ea565b3b1561244057606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124ba6124b26040860186611f00565b908c8b6128a7565b015116915f9215978861268c575b5f602093926125288361251a6001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612783565b03601f1981018752866117ea565b838287875193f1925f519360203d03612685575b83604052156125af575050509461255257505050565b61255b9161272c565b156125635750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126035760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267b575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061260f565b505f61253c565b92509060205f8193878252818352604082205487811183146126bb5750612528825b96935050929350506124c8565b6125289088036126ae565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270684611ae3565b9055161490565b90619c40820181111561272657606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248457039055600190565b9035601e19823603018112156113ba57016020813591019167ffffffffffffffff82116113ba5781360383136113ba57565b61285b60409295949395606083526001600160a01b036127a282611884565b1660608401526020810135608084015261284861283c6127fc6127dd6127ca88860186612751565b61012060a08a0152610180890191611d57565b6127ea6060860186612751565b888303605f190160c08a015290611d57565b608084013560e087015260a084013561010087015260c084013561012087015261282960e0850185612751565b878303605f190161014089015290611d57565b91610100810190612751565b848303605f190161016086015290611d57565b9460208201520152565b906002116128a257356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128ba575b5050505050565b6001600160a01b0384515116946128d18285612865565b612b5c57853b612b105760148210612ac4578260206001600160a01b036128f6611a59565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129248c8b6024840191611d57565b0393f1908115612ab9578491612a9a575b506001600160a01b0381168015612a4e578703612a02573b156129b6575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b3565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab3915060203d6020116109265761091881836117ea565b5f612935565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6f575b50505050565b60406001600160a01b03612b81611a59565b169351015190826014116113ba57833b156113ba575f8094612be896604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d57565b0393f18015611ad857612bfe575b808080612b69565b5f612c08916117ea565b5f612bf6565b60ff8114612c6d5760ff811690601f8211612c455760405191612c326040846117ea565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d46575b602084108314612d32578385528492908115612d135750600114612cb4575b612cb1925003826117ea565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf7575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612cdf565b60209250612cb194915060ff191682840152151560051b820101612ca5565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c86565b60ff8114612d745760ff811690601f8211612c455760405191612c326040846117ea565b506040515f6003548060011c9160018216918215612e16575b602084108314612d32578385528492908115612d135750600114612db757612cb1925003826117ea565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dfa575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612de2565b92607f1692612d8d56fea2646970667358221220a65f0aa186b9005536e3e1f0647ab789650c7147ff000ff1c5f8e722b4bd48db64736f6c634300081c0033","sourceMap":"1052:33159:25:-:0;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;:::i;:::-;1998:9;1052:33159;;;1998:9;;;-1:-1:-1;;;1998:9:25;;3401:45:19;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;1052:33159:25;3542:22:19;;3528:36;;;;1052:33159:25;3591:25:19;;3574:42;;;3644:13;3627:30;;1052:33159:25;;4204:80:19;1052:33159:25;4204:80:19;;2079:95;;;;1052:33159:25;2079:95:19;;;;;;;3644:13;2079:95;;;;4278:4;3627:30;2079:95;;;3627:30;4204:80;;;;;;:::i;:::-;1052:33159:25;4194:91:19;;2079:95;3667:48;4278:4;4204:80;3725:27;1052:33159:25;;;;;;;;2079:95:19;1052:33159:25;;;;;3627:30:19;1052:33159:25;;;;;4204:80:19;1052:33159:25;;;;;3528:36:19;1052:33159:25;;;;;3574:42:19;1052:33159:25;;;;;3393:53:19;1052:33159:25;;;;;3456:62:19;1052:33159:25;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;2887:340:15;;1052:33159:25;;3032:2:15;3010:24;;3006:215;3032:2;;;1052:33159:25;;1854:2:15;1052:33159:25;;1840:16:15;1836:72;;3032:2;1052:33159:25;;;;2079:95:19;3032:2:15;1052:33159:25;;;;1949:36:15;3050:27;:::o;1052:33159:25:-;;;;3032:2:15;1052:33159:25;;;;;1949:36:15;3050:27;:::o;1836:72::-;1052:33159:25;3032:2:15;1052:33159:25;;;1879:18:15;;;;;;;;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;1854:2:15;1052:33159:25;-1:-1:-1;;1052:33159:25;;;1879:18:15;;;;3006:215;-1:-1:-1;;;;;1052:33159:25;;;;3432:13:19;1052:33159:25;;;;;;;;;;;3006:215:15;3032:2;1052:33159:25;;;;;;;;;;3006:215:15;1052:33159:25;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;3432:13:19;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;3432:13:19;1052:33159:25;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2887:340:15;;1052:33159:25;;3032:2:15;3010:24;;3006:215;3032:2;;;1052:33159:25;;1854:2:15;1052:33159:25;;1840:16:15;1836:72;;3032:2;1052:33159:25;;;;2079:95:19;3032:2:15;1052:33159:25;;;;1949:36:15;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;1052:33159:25;;;;3501:16:19;1052:33159:25;;;;;;;;;;;3006:215:15;3032:2;1052:33159:25;;;;;;;;;;3006:215:15;1052:33159:25;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;1052:33159:25;;;;;3501:16:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;3501:16:19;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:19;1052:33159:25;1390:66:15;3168:42;:::o;1052:33159:25:-;;;;;;;3501:16:19;1052:33159:25;;;;;;;;;;;;;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;3501:16:19;1052:33159:25;;;3032:2:15;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610025575b50361561001a575f80fd5b61002333611d77565b005b5f905f3560e01c9081630396cb60146114d65750806309ccb880146114ab5780630bd28e3b1461145a5780630da826611461103f57806313c65a6e14611024578063154e58dc14610fe95780631b2e01b814610f94578063205c287814610e6c57806321e60b3714610dcb57806322cdde4c14610d8157806335567e1a14610d1d5780635287ce1214610c4257806369683cfa14610ad657806370a0823114610a9f578063765e827f14610a9057806384b0196e14610978578063850aaf62146109385780639b249f6914610848578063b760faf914610828578063bb9fe6bf146106c9578063c23a5cea146104d9578063c579f76b146101415763dbed18e00361000f573461013e576101383661199f565b91611c59565b80fd5b503461013e5761022036600319011261013e576004359060243567ffffffffffffffff81116104d557806004019061012060031982360301126104d1573660431901936101c085126104cd576101406040519561019d8761179d565b126104cd576040516101ae816117cd565b6044356001600160a01b03811681036104c95781526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610124356001600160a01b03811681036104c95760e082015261014435610100820152610164356101208201528552602085019161018435835260408601916101a435835260608701966101c435885260808101936101e4358552610204359182151583036104c55788975a9482519361026e8584611f33565b6040519961027b84611b2d565b9052896040526040850151996effffffffffffffffffffffffffffff8b60c08801511760608801511760808801511760a08801511761010088015117610120880151171161047b5750610307906102f386610100604082015160608301510160808301510160a08301510160c0830151019101510290565b809152608489013560801c9085858561248b565b986103216001600160a01b038651166020870151906126c6565b15610426575a8703116103d4576060946001600160a01b0360e05a96015116151590816103cc575b506103b1575b50505061035d905a90611af1565b976073890298808a046073149015171561039d57606496949260609996949260a492525a9003910135019052604051945084526020840152046040820152f35b602488634e487b7160e01b81526011600452fd5b61035d99506103c19394506120ab565b969091905f8061034f565b90505f610349565b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b61042282604051918291631101335b60e11b835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b631101335b60e11b81526004810183905260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152608490fd5b8880fd5b8580fd5b8380fd5b8280fd5b5080fd5b503461013e57602036600319011261013e576104f361186e565b33825281602052600160408320018054906dffffffffffffffffffffffffffff8260081c169182156106855760981c65ffffffffffff1680156106415742106105fd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff169055604080516001600160a01b0384811682526020820184905285948594859485949193929133917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af16105b0611afe565b50156105b95780f35b606460405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b606460405162461bcd60e51b815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b503461013e578060031936011261013e573381528060205260016040822001805463ffffffff8160781c169081156107e45760ff16156107a05765ffffffffffff4216019065ffffffffffff821161078c5780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001665ffffffffffff60981b609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b602483634e487b7160e01b81526011600452fd5b606460405162461bcd60e51b815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b50602036600319011261013e5761084561084061186e565b611d77565b80f35b503461013e57602036600319011261013e5760043567ffffffffffffffff81116104d557602061087f6108b5923690600401611a2b565b6001600160a01b0361088f611a59565b169085604051809681958294632b870d1b60e11b84528860048501526024840191611d57565b03925af190811561092d5782916001600160a01b0391602494916108fe575b507f6ca7b80600000000000000000000000000000000000000000000000000000000835216600452fd5b610920915060203d602011610926575b61091881836117ea565b810190611d38565b5f6108d4565b503d61090e565b6040513d84823e3d90fd5b503461013e57604036600319011261013e5761095261186e565b5060243567ffffffffffffffff81116104d557610973903690600401611a2b565b505080f35b503461013e578060031936011261013e57610a34906109b67f0000000000000000000000000000000000000000000000000000000000000000612c0e565b906109e07f0000000000000000000000000000000000000000000000000000000000000000612d50565b906020610a42604051936109f483866117ea565b8385525f3681376040519687967f0f00000000000000000000000000000000000000000000000000000000000000885260e08589015260e0880190611a07565b908682036040880152611a07565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b828110610a7957505050500390f35b835185528695509381019392810192600101610a6a565b503461013e576101383661199f565b503461013e57602036600319011261013e5760406020916001600160a01b03610ac661186e565b1681528083522054604051908152f35b503461013e57610ae536611898565b9190915a92815193610af78583611f33565b610b0082611b2d565b60208401526040850151936effffffffffffffffffffffffffffff8560c08801511760608801511760808801511760a088015117610100880151176101208801511711610bfd57610b7286610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94610b9a610b835a8888888761248b565b9760206001600160a01b03825116910151906126c6565b15610426575a8303116103d45750610bd193929160a06080925a9560408601526060808601525a9003910135019101525a90611af1565b60738102908082046073149015171561078c576064906060936040519384526020840152046040820152f35b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b503461013e57602036600319011261013e57604060a0916001600160a01b03610c6961186e565b8260808551610c778161179d565b82815282602082015282878201528260608201520152168152806020522065ffffffffffff604051610ca88161179d565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b503461013e57604036600319011261013e576020906040610d3c61186e565b916001600160a01b03610d4d611787565b9316815260018452206001600160c01b0382165f52825260405f20546040519167ffffffffffffffff199060401b16178152f35b503461013e57602036600319011261013e576004359067ffffffffffffffff821161013e57610120600319833603011261013e576020610dc383600401611b2d565b604051908152f35b503461013e57606090610ddd36611898565b908392935082936001600160a01b0360e08451610dfa8186611f33565b610e0385611b2d565b6020870152610e3381610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6040870152015116610e56575b5050506040519181835260208301526040820152f35b610e619394506120ab565b9050905f8080610e40565b503461013e57604036600319011261013e57610e8661186e565b60243590338352826020526040832090815491828411610f5057848080866001600160a01b0382968396610eba848b611af1565b9055604080516001600160a01b03831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610f03611afe565b5015610f0c5780f35b606460405162461bcd60e51b815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b503461013e57604036600319011261013e576001600160c01b036040610fb861186e565b926001600160a01b03610fc9611787565b9416815260016020522091165f52602052602060405f2054604051908152f35b503461013e578060031936011261013e5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b503461013e578060031936011261013e576020610dc3611dd0565b50346113ba576102203660031901126113ba5760043567ffffffffffffffff81116113ba57611072903690600401611828565b3660231901906101c082126113ba57610140604051926110918461179d565b126113ba576040516110a2816117cd565b6024356001600160a01b03811681036113ba57815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610104356001600160a01b03811681036113ba5760e08201526101243561010082015261014435610120820152825261016435602083015260408201916101843583526101a435606082015260808101916101c43583526101e43567ffffffffffffffff81116113ba5761115f903690600401611828565b908251906060820151815190816113ce575b505050505a61020435039251809301905f935a93516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd549081156113c6575b01808210156113be5750935b6111e76001600160a01b0360e08401511693606084015190830361270d565b01925f928061126d575050516001600160a01b0316935b5a900301010292518381105f14611237576020857fdeadaa51000000000000000000000000000000000000000000000000000000008152fd5b6040945090836112609203906001600160a01b03165f525f60205260405f209081540180915590565b5082519182526020820152f35b90959181968051611281575b5050506111fe565b9197509192505a9660a05a930191825190823b156113ba575f916112e391836040519586809581947f7c627b21000000000000000000000000000000000000000000000000000000008352846004840152608060248401526084830190611a07565b8d8d0260448301528d60648301520393f190816113a5575b50611389573d89610800821161137f575b6040519160208184010160405280835281602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152601460648401527f4141353020706f73744f70207265766572746564000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061130c565b61139c915a9003965a900390519061270d565b905f8080611279565b6113b2919a505f906117ea565b5f985f6112fb565b5f80fd5b9050936111c8565b4891506111bc565b5f80949360206001600160a01b0383965116910192f1156113f2575f808080611171565b3d6108008111611451575b61042290604051906020818301016040528082525f602083013e6040519182917f462c71b2000000000000000000000000000000000000000000000000000000008352602060048401526024830190611a07565b506108006113fd565b346113ba5760203660031901126113ba576004356001600160c01b03811681036113ba57335f5260016020526001600160c01b0360405f2091165f5260205260405f206114a78154611ae3565b9055005b346113ba575f3660031901126113ba5760206114c5611a59565b6001600160a01b0360405191168152f35b60203660031901126113ba5760043563ffffffff81168091036113ba57335f525f60205260405f209181156117455750600182015463ffffffff8160781c168210611701576dffffffffffffffffffffffffffff9060081c16913483018093116116ed5782156116a9576dffffffffffffffffffffffffffff83116116655754604051611632916115668261179d565b8152600160208083018281526dffffffffffffffffffffffffffff87166040808601918252606086018881525f6080880181815233825295819052919091209551865591519490930180549351915192517fffffffffffffff0000000000000000000000000000000000000000000000000090941660ff951515959095169490941760089190911b6effffffffffffffffffffffffffff00161760789190911b72ffffffff000000000000000000000000000000161760989190911b65ffffffffffff60981b16179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a2005b606460405162461bcd60e51b815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b634e487b7160e01b5f52601160045260245ffd5b606460405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b8062461bcd60e51b6064925260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b602435906001600160c01b03821682036113ba57565b60a0810190811067ffffffffffffffff8211176117b957604052565b634e487b7160e01b5f52604160045260245ffd5b610140810190811067ffffffffffffffff8211176117b957604052565b90601f8019910116810190811067ffffffffffffffff8211176117b957604052565b67ffffffffffffffff81116117b957601f01601f191660200190565b81601f820112156113ba5780359061183f8261180c565b9261184d60405194856117ea565b828452602083830101116113ba57815f926020809301838601378301015290565b600435906001600160a01b03821682036113ba57565b35906001600160a01b03821682036113ba57565b6102006003198201126113ba576004359160243567ffffffffffffffff81116113ba5761012081840360031901126113ba57600401916043190160446101c082126113ba57610140604051926118ed8461179d565b126113ba576101a090604051611902816117cd565b61190b82611884565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c082015261195560e08301611884565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b9060406003198301126113ba5760043567ffffffffffffffff81116113ba5760040182601f820112156113ba5780359267ffffffffffffffff84116113ba576020808301928560051b0101116113ba5791906024356001600160a01b03811681036113ba5790565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b9181601f840112156113ba5782359167ffffffffffffffff83116113ba57602083818601950101116113ba57565b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115611ad8575f91611a99575090565b90506020813d602011611ad0575b81611ab4602093836117ea565b810103126113ba57516001600160a01b03811681036113ba5790565b3d9150611aa7565b6040513d5f823e3d90fd5b5f1981146116ed5760010190565b919082039182116116ed57565b3d15611b28573d90611b0f8261180c565b91611b1d60405193846117ea565b82523d5f602084013e565b606090565b604290611b39816122f1565b611b41611dd0565b91611b4b81611eec565b918015611c3c57905b60c0611b636060830183611f00565b90816040519182372091611b7a60e0820182611f00565b90816040519182372092604051946001600160a01b0360208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152611c04610140826117ea565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50611c4a6040820182611f00565b90816040519182372090611b54565b5050507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c611d105760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d608460405162461bcd60e51b815260206004820152602760248201527f53484f554c44204e4f542042452043414c4c454420445552494e472053494d5560448201527f4c4154494f4e53000000000000000000000000000000000000000000000000006064820152fd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b908160209103126113ba57516001600160a01b03811681036113ba5790565b908060209392818452848401375f828201840152601f01601f1916010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c460206001600160a01b03611dc434856001600160a01b03165f525f60205260405f209081540180915590565b936040519485521692a2565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016301480611ec3575b15611e2b577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611ebd60c0826117ea565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611e02565b356001600160a01b03811681036113ba5790565b903590601e19813603018212156113ba570180359067ffffffffffffffff82116113ba576020019181360383136113ba57565b611fb7906001600160a01b03611f4882611eec565b1683526020810135602084015260808101356fffffffffffffffffffffffffffffffff8160801c91166060850152604084015260a081013560c084015260c08101356fffffffffffffffffffffffffffffffff8160801c911661010085015261012084015260e0810190611f00565b919082611fc357505050565b6034831061206757826014116113ba57803560601c92602481106113ba576014820135906034116113ba576fffffffffffffffffffffffffffffffff60248193013560801c1660a084015260801c16608082015281156120235760e00152565b606460405162461bcd60e51b815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b929091925a938051906001600160a01b0360e083015116916120d3604083019384519061272c565b156122a5575f6001600160a01b0360e07f52b7512c00000000000000000000000000000000000000000000000000000000969594612140608085960151966121326040519c8d926020860151905191602085019d8e5260248501612783565b03601f1981018c528b6117ea565b51015116858289519286f1943d93845f833e51938151604083019788519015918215612299575b508115612287575b506121fe57601f801991011601928360405294955a90031161218f575050565b60a49250631101335b60e11b8252600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b3d84610800821161227d575b604051916020818401016040528083525f602084013e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061220a565b9050601f605f1983019101105f61216f565b6040141591505f612167565b60848460405190631101335b60e11b8252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b6122fe6040820182611f00565b909161230a8284612865565b156124845761231890611eec565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036123f6575060181b91601482116123a45750506040516bffffffffffffffffffffffff19909116602082019081526014825290611ebd6034826117ea565b816014116113ba576040516bffffffffffffffffffffffff199093166020848101918252909392611ebd92849190601319820190601401603484013781015f838201520301601f1981018352826117ea565b3b1561244057606460405162461bcd60e51b815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b606460405162461bcd60e51b815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b92909194938551926001600160a01b0360e081865116956124ba6124b26040860186611f00565b908c8b6128a7565b015116915f9215978861268c575b5f602093926125288361251a6001600160a01b038896515116986040519889930151878401987f19822f7c000000000000000000000000000000000000000000000000000000008a5260248501612783565b03601f1981018752866117ea565b838287875193f1925f519360203d03612685575b83604052156125af575050509461255257505050565b61255b9161272c565b156125635750565b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8691903b6126035760848260405190631101335b60e11b8252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b3d90610800821161267b575b5f906020838601016040528285523e6104226040519283926365c8fd4d60e01b8452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190611a07565b610800915061260f565b505f61253c565b92509060205f8193878252818352604082205487811183146126bb5750612528825b96935050929350506124c8565b6125289088036126ae565b6001600160a01b03165f52600160205260405f206001600160c01b038260401c165f5260205267ffffffffffffffff60405f209182549261270684611ae3565b9055161490565b90619c40820181111561272657606491600a9103020490565b50505f90565b6001600160a01b03165f525f60205260405f2090815481811061248457039055600190565b9035601e19823603018112156113ba57016020813591019167ffffffffffffffff82116113ba5781360383136113ba57565b61285b60409295949395606083526001600160a01b036127a282611884565b1660608401526020810135608084015261284861283c6127fc6127dd6127ca88860186612751565b61012060a08a0152610180890191611d57565b6127ea6060860186612751565b888303605f190160c08a015290611d57565b608084013560e087015260a084013561010087015260c084013561012087015261282960e0850185612751565b878303605f190161014089015290611d57565b91610100810190612751565b848303605f190161016086015290611d57565b9460208201520152565b906002116128a257356bffffffffffffffffffffffff19167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b929190915f90806128ba575b5050505050565b6001600160a01b0384515116946128d18285612865565b612b5c57853b612b105760148210612ac4578260206001600160a01b036128f6611a59565b1660408851015160405180948193632b870d1b60e11b8352856004840152826129248c8b6024840191611d57565b0393f1908115612ab9578491612a9a575b506001600160a01b0381168015612a4e578703612a02573b156129b6575060141161013e577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9160409150356001600160a01b0360e0602086015195510151166001600160a01b0383519260601c1682526020820152a35f808080806128b3565b60849060405190631101335b60e11b8252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b60848260405190631101335b60e11b8252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b60848360405190631101335b60e11b8252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b612ab3915060203d6020116109265761091881836117ea565b5f612935565b6040513d86823e3d90fd5b60849060405190631101335b60e11b8252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b60849060405190631101335b60e11b8252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b5091905060148211612b6f575b50505050565b60406001600160a01b03612b81611a59565b169351015190826014116113ba57833b156113ba575f8094612be896604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260146044850192601319019101611d57565b0393f18015611ad857612bfe575b808080612b69565b5f612c08916117ea565b5f612bf6565b60ff8114612c6d5760ff811690601f8211612c455760405191612c326040846117ea565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040515f6002548060011c9160018216918215612d46575b602084108314612d32578385528492908115612d135750600114612cb4575b612cb1925003826117ea565b90565b5060025f90815290917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b818310612cf7575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612cdf565b60209250612cb194915060ff191682840152151560051b820101612ca5565b634e487b7160e01b5f52602260045260245ffd5b92607f1692612c86565b60ff8114612d745760ff811690601f8211612c455760405191612c326040846117ea565b506040515f6003548060011c9160018216918215612e16575b602084108314612d32578385528492908115612d135750600114612db757612cb1925003826117ea565b5060035f90815290917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b818310612dfa575050906020612cb192820101612ca5565b6020919350806001915483858801015201910190918392612de2565b92607f1692612d8d56fea2646970667358221220a65f0aa186b9005536e3e1f0647ab789650c7147ff000ff1c5f8e722b4bd48db64736f6c634300081c0033","sourceMap":"1052:33159:25:-:0;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;1441:10:29;;;:::i;:::-;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26020:20;1052:33159;26020:20;;;1052:33159;;;;;2123:156;1052:33159;2123:156;;;1052:33159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2285:167;;:::i;1052:33159::-;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23162:31;23265:9;;23314:17;;;23369:7;;;;;:::i;:::-;1052:33159;33435:67;23534:21;;;;:::i;:::-;1052:33159;;33718:66;1052:33159;33718:66;1052:33159;23784:28;;1052:33159;23845:26;1052:33159;23845:26;1052:33159;23845:26;;1052:33159;23845:49;1052:33159;23897:20;;1052:33159;23845:72;1052:33159;23932:37;;1052:33159;23845:124;1052:33159;23972:31;;1052:33159;23845:158;1052:33159;24006:20;;1052:33159;23845:181;1052:33159;24041:28;;1052:33159;23845:224;24087:33;1052:33159;;24205:28;24317:108;24205:28;;;10041:20;9824:28;;;1052:33159;9855:20;;;1052:33159;1700:4;9894:37;;;1052:33159;1700:4;9934:31;;;1052:33159;1700:4;9968:26;;;1052:33159;1700:4;10041:20;;1052:33159;;9654:424;;24205:28;1052:33159;;;;3472:23:30;;1052:33159:25;;;24317:108;;;;;:::i;:::-;1052:33159;24444:54;-1:-1:-1;;;;;1052:33159:25;;;;24484:13;;1052:33159;24444:54;;:::i;:::-;1052:33159;;;24596:9;1700:4;;24587:41;24583:138;;1052:33159;24794:9;-1:-1:-1;;;;;1052:33159:25;24794:9;24817:17;;1052:33159;;24817:31;;:62;;;;1052:33159;24813:186;;;1052:33159;25057:9;;;25042:24;25057:9;;25042:24;;:::i;:::-;1052:33159;25070:3;1052:33159;;;;;;25070:3;1052:33159;;;;;;;;;;;;;;;;;;;25216:9;1700:4;;25228:25;;1052:33159;1700:4;1052:33159;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;24813:186;25042:24;24932:56;;;;;;;:::i;:::-;24895:93;;24813:186;;;;;;24817:62;;;;;;24583:138;1052:33159;;;-1:-1:-1;;;24655:51:25;;1052:33159;24655:51;;1052:33159;;;;;;;;;;;;;;;;;;;;;;24655:51;;;;1052:33159;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;24655:51;1052:33159;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;:::i;:::-;4109:10:29;1052:33159:25;;;;;4146:10:29;1052:33159:25;;;4146:10:29;1052:33159:25;;;;;;;;4174:9:29;;;1052:33159:25;;;;;;4226:21:29;;1052:33159:25;;4320:15:29;-1:-1:-1;1052:33159:25;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;4109:10:29;;4471:50;;;1052:33159:25;4549:38:29;;;;:::i;:::-;;1052:33159:25;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3628:10:29;1052:33159:25;;;;;3657:20:29;1052:33159:25;;;3657:20:29;1052:33159:25;;;;;;;3657:25:29;;;1052:33159:25;;;;;;;;3787:15:29;1052:33159:25;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;3628:10:29;;3912:39;;1052:33159:25;;3912:39:29;1052:33159:25;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;-1:-1:-1;;1052:33159:25;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2915:15:25;;:::i;:::-;1052:33159;;;;;2915:38;;;;;;-1:-1:-1;;;2915:38:25;;;1052:33159;2915:38;;1052:33159;;;;;;:::i;:::-;2915:38;;;;;;;;;;;-1:-1:-1;;;;;2915:38:25;1052:33159;2915:38;;;;1052:33159;2970:27;;;;1052:33159;;;2970:27;2915:38;;;;1052:33159;2915:38;1052:33159;2915:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1052:33159;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6099:5:19;:41;:5;:41;:::i;:::-;6554:8;:47;:8;:47;:::i;:::-;1052:33159:25;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:19;;1052:33159:25;;;;5625:4:19;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25546:9;;;;25595:17;;;25650:7;;;;;:::i;:::-;25691:21;;;:::i;:::-;25668:20;;;1052:33159;;25907:28;;1052:33159;25968:26;1052:33159;25968:26;;;;1052:33159;25968:49;26020:20;;;1052:33159;25968:72;26055:37;;;1052:33159;25968:124;26095:31;;;1052:33159;25968:158;26129:20;;;1052:33159;25968:181;26164:28;;;1052:33159;25968:224;26210:33;1052:33159;;26309:28;;10041:20;9824:28;;;1052:33159;9855:20;;;1052:33159;1700:4;9894:37;;;1052:33159;1700:4;9934:31;;;1052:33159;1700:4;9968:26;;;1052:33159;1700:4;10041:20;;1052:33159;;9654:424;;26309:28;26436:9;26462:54;26364:82;26436:9;26364:82;;;;;:::i;:::-;1052:33159;25668:20;-1:-1:-1;;;;;1052:33159:25;;;26502:13;;1052:33159;26462:54;;:::i;:::-;26461:55;26457:140;;26644:9;1700:4;;26635:41;26631:138;;26842:9;27175:24;26842:9;;;26095:31;26055:37;26842:9;;26933:17;1052:33159;26933:17;;1052:33159;26020:20;26982:23;;;1052:33159;27084:9;1700:4;;27096:25;;1052:33159;1700:4;27054:18;;1052:33159;27190:9;27175:24;;:::i;:::-;27203:3;1052:33159;;;;;;27203:3;1052:33159;;;;;;;27210:3;1052:33159;26020:20;1052:33159;;;;;;25668:20;1052:33159;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;25668:20;1052:33159;;;;;;;;;;;;;;;;24655:51;1052:33159;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;507:19:0;1052:33159:25;;;-1:-1:-1;;;;;1052:33159:25;;-1:-1:-1;1052:33159:25;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;507:55:0;1052:33159:25;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;13756:31;;13903:17;-1:-1:-1;;;;;1052:33159:25;13903:17;;13958:7;;;;:::i;:::-;13999:21;;;:::i;:::-;13976:20;;;1052:33159;14051:28;;10041:20;9824:28;;;1052:33159;9855:20;;;1052:33159;1700:4;9894:37;;;1052:33159;1700:4;9934:31;;;1052:33159;1700:4;9968:26;;;1052:33159;1700:4;10041:20;;1052:33159;;9654:424;;14051:28;1052:33159;14031:17;;1052:33159;14093:17;1052:33159;;14089:155;;1052:33159;;;;;;;;;;13976:20;1052:33159;;;;;;;;14089:155;14177:56;;;;;:::i;:::-;14140:93;;14089:155;;;;;;1052:33159;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;:::i;:::-;;;4820:10:29;;1052:33159:25;;;;;;;;;;;4896:32:29;;;;1052:33159:25;;4983:31:29;;;;-1:-1:-1;;;;;4983:31:29;;;;;;;;:::i;:::-;1052:33159:25;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;4820:10:29;;5029:54;;;1052:33159:25;5111:47:29;;;;:::i;:::-;;1052:33159:25;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;-1:-1:-1;;;;;1052:33159:25;;;:::i;:::-;;-1:-1:-1;;;;;1052:33159:25;;:::i;:::-;;;;;279:74:0;1052:33159:25;;;279:74:0;1052:33159:25;-1:-1:-1;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;1092:197:30;1052:33159:25;;;;;;;;;;;;;;;;;3466:20;;:::i;1052:33159::-;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6841:14;;;6889:20;1052:33159;6889:20;;1052:33159;;;7299:19;;7295:703;;1052:33159;8061:9;;;;;1052:33159;;1700:4;1052:33159;;1700:4;;;8109:48;1052:33159;28196:9;;28239:21;28304:14;1052:33159;31926:20;;1052:33159;;31991:28;;1052:33159;32175:35;1052:33159;32235:23;;;32231:96;;1052:33159;1700:4;3696:5:10;;;;;;:13;;;28725:60:25;-1:-1:-1;;;;;1052:33159:25;28413:17;;1052:33159;;28764:20;1052:33159;28764:20;;1052:33159;1700:4;;;28725:60;:::i;:::-;1700:4;;1052:33159;;28861:23;1052:33159;;-1:-1:-1;;1052:33159:25;-1:-1:-1;;;;;1052:33159:25;;28857:1846;30738:9;1700:4;;;;1052:33159;;;30886:23;;;30882:626;30886:23;;;1052:33159;31119:146;;;;;30882:626;1052:33159;1700:4;;;;31379:40;1700:4;;31379:40;-1:-1:-1;;;;;1052:33159:25;1822:8:29;1052:33159:25;1822:8:29;1052:33159:25;;;1822:8:29;1052:33159:25;;;;1700:4;1052:33159;;;1674:305:29;;31379:40:25;;1052:33159;;;;;;;;;;28857:1846;28973:25;;;;1052:33159;;;29016:1673;;28857:1846;;;;;;29016:1673;29143:9;;;;;;;29273;1052:33159;29273:9;29346:31;;1052:33159;;;29312:160;;;;;;1052:33159;;;;;;;29312:160;;;;;;1052:33159;29312:160;;;1052:33159;29312:160;;1052:33159;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29312:160;;;;;;;29016:1673;-1:-1:-1;29308:901:25;;1204:349:9;;1700:4:25;1204:349:9;;;;29308:901:25;1052:33159;1204:349:9;;1052:33159:25;1204:349:9;;;;1052:33159:25;1204:349:9;;;;;1052:33159:25;1204:349:9;;;1052:33159:25;;;30032:150;;;-1:-1:-1;;;30032:150:25;;1052:33159;30032:150;;1052:33159;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1700:4:25;;-1:-1:-1;1204:349:9;;29308:901:25;30602:68;29308:901;30275:9;1700:4;;30546:9;;1700:4;;1052:33159;;30602:68;;:::i;:::-;29016:1673;;;;;;29312:160;;;;;1052:33159;29312:160;;:::i;:::-;1052:33159;29312:160;;;;;1052:33159;;;3696:13:10;;;;;;32231:96:25;32299:13;;-1:-1:-1;32231:96:25;;7295:703;1052:33159;;;;;-1:-1:-1;;;;;1052:33159:25;;;;378:118:9;;;;7419:8:25;7415:573;;7295:703;;;;;;7415:573;1204:349:9;1700:4:25;1204:349:9;;;;7415:573:25;1700:4;1204:349:9;1052:33159:25;1204:349:9;;1052:33159:25;1204:349:9;;;;1052:33159:25;1204:349:9;;;;1052:33159:25;;1204:349:9;;;1052:33159:25;;7535:25;;;;;;1052:33159;;7535:25;;1700:4;1052:33159;1700:4;;;;:::i;1204:349:9:-;-1:-1:-1;1700:4:25;1204:349:9;;1052:33159:25;;;;;;-1:-1:-1;;1052:33159:25;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;913:10:0;1052:33159:25;;893:19:0;1052:33159:25;;-1:-1:-1;;;;;1052:33159:25;;;893:36:0;1052:33159:25;;;;;;;;893:38:0;1052:33159:25;;893:38:0;:::i;:::-;1052:33159:25;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;:::i;:::-;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;3011:10:29;1052:33159:25;;;;;;;;3040:19:29;;;1052:33159:25;;3127:20:29;;;;1052:33159:25;;;;;;3108:39:29;;1052:33159:25;;;;;;;3219:9:29;;1052:33159:25;;;;;;;3246:9:29;;1052:33159:25;;;3296:26:29;;1052:33159:25;;;;;;;;;;:::i;:::-;;;3127:20:29;1052:33159:25;3374:67:29;;;1052:33159:25;;;;;;;3374:67:29;;;1052:33159:25;;;3374:67:29;;;1052:33159:25;;;-1:-1:-1;3374:67:29;;;1052:33159:25;;;3011:10:29;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;3456:47:29;1052:33159:25;3011:10:29;3456:47;;1052:33159:25;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;1052:33159:25;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;:::o;:::-;;;-1:-1:-1;;;;;1052:33159:25;;;;;;:::o;:::-;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;1052:33159:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;-1:-1:-1;;1052:33159:25;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3010:114::-;1052:33159;;;3097:20;;;:4;:20;:4;;:20;;;;;;;-1:-1:-1;3097:20:25;;;3090:27;3010:114;:::o;3097:20::-;;;;;;;;;;;;;;;;;:::i;:::-;;;1052:33159;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;3010:114;:::o;3097:20::-;;;-1:-1:-1;3097:20:25;;;1052:33159;;;;;;;;;;-1:-1:-1;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1052:33159:25;;;;:::o;:::-;;;:::o;2490:300::-;3445:249:20;2490:300:25;2621:54;;;:::i;:::-;3466:20;;:::i;:::-;1701:13:30;;;;:::i;:::-;1785:82;:25;;;;:82;;2083:14;1915:15;;;;;;:::i;:::-;3287:193:10;;;;;;;;2153:23:30;;;;;;;:::i;:::-;3287:193:10;;;;;;;;1052:33159:25;3287:193:10;1052:33159:25;2195:281:30;-1:-1:-1;;;;;1740:12:30;2195:281;;1052:33159:25;1092:197:30;1052:33159:25;;;3287:193:10;1052:33159:25;;;1740:12:30;;;1052:33159:25;1915:15:30;1052:33159:25;;;1968:23:30;1052:33159:25;;;2030:25:30;1052:33159:25;;;1968:23:30;;;1052:33159:25;;;;;2030:25:30;;;1052:33159:25;2153:23:30;1052:33159:25;;;2083:14:30;1052:33159:25;;;;;;;;;;2195:281:30;;;;;;:::i;:::-;1052:33159:25;5014:47:30;;3287:193:10;3445:249:20;;;;;;;;;;;;;;2490:300:25;:::o;1785:82:30:-;1851:15;;;;;;;:::i;:::-;3287:193:10;;1851:15:30;3287:193:10;;;;;1785:82:30;;;1181:103:14;;;;637:66;3321:69:18;1413:93:14;;1624:4;637:66;3550:68:18;2223:49:25;1052:33159;;-1:-1:-1;;;2223:49:25;;1052:33159;2223:49;;;1052:33159;;;;;;;;;;;;;;;;2223:49;1413:93:14;1465:30;-1:-1:-1;1465:30:14;;-1:-1:-1;1465:30:14;1052:33159:25;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;1052:33159:25;;;;;;;;-1:-1:-1;;1052:33159:25;;;;:::o;2687:179:29:-;2829:30;1052:33159:25;-1:-1:-1;;;;;2777:37:29;2804:9;2777:37;-1:-1:-1;;;;;1052:33159:25;1822:8:29;1052:33159:25;1822:8:29;1052:33159:25;;;1822:8:29;1052:33159:25;;;;1700:4;1052:33159;;;1674:305:29;;2777:37;1052:33159:25;;;;;;;2829:30:29;;2687:179::o;3845:262:19:-;-1:-1:-1;;;;;3938:11:19;1052:33159:25;3929:4:19;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;1052:33159:25;;4204:80:19;;;1052:33159:25;2079:95:19;1052:33159:25;;4226:11:19;1052:33159:25;2079:95:19;;1052:33159:25;4239:14:19;2079:95;;;1052:33159:25;4255:13:19;2079:95;;;1052:33159:25;3929:4:19;2079:95;;;1052:33159:25;2079:95:19;4204:80;;;;;;:::i;:::-;1052:33159:25;4194:91:19;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;1052:33159:25;;-1:-1:-1;;;;;1052:33159:25;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8364:1086::-;8922:23;8364:1086;-1:-1:-1;;;;;8536:13:25;;;:::i;:::-;1052:33159;;;8575:12;;;1052:33159;8575:12;8559:13;;1052:33159;8681:23;;;1052:33159;475:2:30;1052:33159:25;8681:23;1052:33159;475:2:30;;8628:20:25;;;1052:33159;8598:28;;;1052:33159;8744:25;;;1052:33159;8715:26;;;1052:33159;8715:26;8863:14;;1052:33159;475:2:30;1052:33159:25;8681:23;1052:33159;475:2:30;;8810:20:25;;;1052:33159;8780:28;;;1052:33159;8922:23;;;;;:::i;:::-;8959:27;;;8955:489;;8364:1086;;;:::o;8955:489::-;531:2:30;9010:65:25;;531:2:30;;1052:33159:25;413:2:30;1052:33159:25;;;413:2:30;;8628:20:25;413:2:30;;475;1052:33159:25;-1:-1:-1;1052:33159:25;;413:2:30;1052:33159:25;;475:2:30;;531;1052:33159:25;;;475:2:30;;4562:76;;1052:33159:25;475:2:30;8681:23:25;475:2:30;;8744:25:25;9205:31;;1052:33159;8681:23;475:2:30;;8681:23:25;9166:37;;1052:33159;9340:23;;531:2:30;;8922:23:25;9404:17;1052:33159;8364:1086::o;531:2:30:-;;8598:28:25;1052:33159;-1:-1:-1;;;531:2:30;;8575:12:25;531:2:30;;;;;475;531;;1052:33159:25;531:2:30;1052:33159:25;;;531:2:30;;;;8598:28:25;1052:33159;-1:-1:-1;;;531:2:30;;8575:12:25;531:2:30;;;;;;;;1052:33159:25;531:2:30;1052:33159:25;;;531:2:30;;16665:974:25;;;;;16930:9;16983:14;;;17031:17;-1:-1:-1;;;;;17031:17:25;;;1052:33159;;17088:14;17121:48;17088:14;;;1052:33159;;;17121:48;;:::i;:::-;17120:49;17116:146;;-1:-1:-1;;;;;;17031:17:25;17993:91;17308:37;;;17993:91;17308:37;;;;1052:33159;33435:67;17993:91;17088:14;33435:67;18049:17;;;;;;1052:33159;;;17993:91;18049:17;17993:91;;;;;;;;;:::i;:::-;;1052:33159;;17993:91;;;;;;:::i;:::-;18114:14;:24;1052:33159;;18384:1229;;;;;;;;;;;-1:-1:-1;18384:1229:25;;;;;;17088:14;18384:1229;;;;;19651:8;;1052:33159;;;19651:31;;16665:974;19651:72;;;;;16665:974;19647:205;;;1052:33159;;;;;;4020:413:10;;;17088:14:25;4020:413:10;17359:101:25;17487:9;;1700:4;;17478:43;17474:149;;16665:974;;:::o;17474:149::-;17548:60;;;-1:-1:-1;;;17548:60:25;;;;;1052:33159;17088:14;17993:91;1052:33159;;;;;;;;;;;;;;;;;;17548:60;19647:205;1204:349:9;;1700:4:25;1204:349:9;;;;19647:205:25;17088:14;1204:349:9;;18049:17:25;1204:349:9;;;;17088:14:25;1204:349:9;;;;-1:-1:-1;18049:17:25;1204:349:9;;;1052:33159:25;17088:14;1052:33159;19750:87;;;-1:-1:-1;;;19750:87:25;;17993:91;19750:87;;1052:33159;;17993:91;1052:33159;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1700:4:25;;-1:-1:-1;1204:349:9;;19651:72:25;18384:1229;;19702:2;18384:1229;;;;1700:4;;19686:37;19651:72;;;:31;17088:14;19663:19;;;-1:-1:-1;19651:31:25;;;17116:146;17196:51;1052:33159;17088:14;1052:33159;17196:51;-1:-1:-1;;;17196:51:25;;;;;1052:33159;17088:14;1052:33159;;;;;;;;;;;;;;17196:51;896:503:27;1042:15;;;;;;:::i;:::-;1072:28;;;;;;:::i;:::-;1071:29;1067:68;;1183:13;;;:::i;:::-;2688:113;1052:33159:25;2688:113:27;;;1052:33159:25;2688:113:27;1052:33159:25;;;;;2939:36:27;2935:241;;-1:-1:-1;3222:2:27;1052:33159:25;;1230:2:27;1211:21;;1230:2;;-1:-1:-1;;1042:15:27;1052:33159:25;-1:-1:-1;;1052:33159:25;;;1265:26:27;;;1052:33159:25;;;1230:2:27;1265:26;;;;;1052:33159:25;1265:26:27;:::i;1207:186::-;1052:33159:25;1230:2:27;1052:33159:25;;;1042:15:27;1052:33159:25;-1:-1:-1;;1052:33159:25;;;1340:41:27;;;;1052:33159:25;;;1340:41:27;;1052:33159:25;1340:41:27;;1052:33159:25;;1340:41:27;-1:-1:-1;;1052:33159:25;;;1230:2:27;1052:33159:25;;;;;;;;;;;;1340:41:27;;1052:33159:25;;1340:41:27;;;;;;:::i;2935:241::-;3072:18;:22;449:8;;3131:34;1042:15;1052:33159:25;-1:-1:-1;;;3131:34:27;;449:8;3131:34;;;449:8;;;;;1052:33159:25;449:8:27;1052:33159:25;;;449:8:27;3131:34;449:8;;1042:15;1052:33159:25;-1:-1:-1;;;449:8:27;;;;;;;;;;;1052:33159:25;449:8:27;1052:33159:25;;;449:8:27;;1067:68;1116:8;;;1052:33159:25;1116:8:27;:::o;12490:1091:25:-;;;;;;12817:14;;1052:33159;-1:-1:-1;;;;;12975:17:25;1052:33159;;;;12929:11;;;;;;;;:::i;:::-;;;;;:::i;:::-;12975:17;1052:33159;;13006:31;-1:-1:-1;13055:23:25;;13051:182;;;;12490:1091;-1:-1:-1;15240:17:25;15039:14;;15195:85;15039:14;15195:85;-1:-1:-1;;;;;15039:14:25;;;1052:33159;;15070:12;12929:11;33435:67;15240:17;;;;1052:33159;15195:85;;;;;;;;;;;:::i;:::-;;1052:33159;;15195:85;;;;;;:::i;:::-;15294:326;;;;;;;;-1:-1:-1;15294:326:25;;15240:17;15294:326;;;;12490:1091;33718:66;12929:11;33718:66;15685:8;15681:286;;13246:100;;;13360:205;;;12490:1091;;;:::o;13360:205::-;13412:45;;;:::i;:::-;13411:46;13407:144;;12490:1091;:::o;13407:144::-;13488:44;1052:33159;12929:11;1052:33159;13488:44;-1:-1:-1;;;13488:44:25;;;;;1052:33159;12929:11;15195:85;1052:33159;;;;;;;;;;;;;13488:44;15681:286;15713:18;;;;;;15763:46;1052:33159;12929:11;1052:33159;15763:46;-1:-1:-1;;;15763:46:25;;15195:85;15763:46;;1052:33159;12929:11;15195:85;1052:33159;;;;;;;;;;;;;15763:46;15709:248;1204:349:9;;1700:4:25;1204:349:9;;;;15709:248:25;-1:-1:-1;1204:349:9;15240:17:25;1204:349:9;;;;12929:11:25;1204:349:9;;;;;1052:33159:25;12929:11;1052:33159;15855:87;;;-1:-1:-1;;;15855:87:25;;15195:85;15855:87;;1052:33159;;15195:85;1052:33159;;;;;;;;;;;;;;;;;;;;;;;:::i;1204:349:9:-;1700:4:25;;-1:-1:-1;1204:349:9;;15294:326:25;;-1:-1:-1;15294:326:25;;13051:182;1052:33159;;;15240:17;-1:-1:-1;1052:33159:25;;;;;;;;12929:11;1052:33159;;;13169:21;;;;;;;:49;15195:85;13169:49;;13051:182;;;;;;;;;;13169:49;15195:85;1700:4;;;13169:49;;1187:234:0;-1:-1:-1;;;;;1052:33159:25;-1:-1:-1;1052:33159:25;1373:19:0;1052:33159:25;;1317:2:0;-1:-1:-1;1052:33159:25;-1:-1:-1;;;;;1052:33159:25;1317:2:0;1052:33159:25;;-1:-1:-1;1052:33159:25;;;;;-1:-1:-1;1052:33159:25;;;;1373:34:0;;;;:::i;:::-;1052:33159:25;;;1373:41:0;1187:234;:::o;33796:413:25:-;;1947:5;1700:4;;33931:43;;;33927:90;;34152:3;1700:4;1833:2;1700:4;;1052:33159;;33796:413;:::o;33927:90::-;33994:8;;1052:33159;33994:8;:::o;2250:397:29:-;-1:-1:-1;;;;;1052:33159:25;;;;;;;;;;;;2484:23:29;;;2480:74;;1700:4:25;1052:33159;;2626:4:29;2250:397;:::o;1052:33159:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;;;;;1052:33159:25;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1052:33159:25;;;;;18384:1229;1052:33159;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1052:33159:25;;;;;18384:1229;1052:33159;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;1052:33159:25;;;;;18384:1229;1052:33159;:::i;:::-;;;;;;;;:::o;1712:551:27:-;;1826:1;-1:-1:-1;1804:62:27;;2015:95;-1:-1:-1;;413:2:30;1052:33159:25;2207:49:27;;1712:551::o;1804:62::-;1843:12;1052:33159:25;1843:12:27;:::o;10332:1671:25:-;;;;;10501:1;10482:20;;10478:1519;;10332:1671;;;;;;:::o;10478:1519::-;-1:-1:-1;;;;;10535:14:25;;1052:33159;;10574:43;;;;;:::i;:::-;10570:495;;11082:18;;11078:121;;11234:2;11216:20;;11212:110;;11353:15;1052:33159;-1:-1:-1;;;;;11353:15:25;;:::i;:::-;1052:33159;11387:35;:14;;:35;1052:33159;11387:35;1052:33159;11353:80;;;;-1:-1:-1;;;11353:80:25;;;;;;1052:33159;;;;;;;;;;:::i;:::-;11353:80;;;;;;;;;;;;10478:1519;1052:33159;-1:-1:-1;;;;;1052:33159:25;;11451:21;;11447:115;;11579:17;;11575:116;;11708:19;:24;11704:123;;1052:33159;11234:2;1052:33159;;;11909:77;11866:23;11387:35;11866:23;413:2:30;;-1:-1:-1;;;;;1052:33159:25;;11925:17;;1052:33159;11961:14;;:24;1052:33159;;-1:-1:-1;;;;;1052:33159:25;;413:2:30;;;;1052:33159:25;;;;;;11909:77;10478:1519;;;;;;;11704:123;11759:53;1052:33159;11387:35;1052:33159;11759:53;-1:-1:-1;;;11759:53:25;;11353:80;11759:53;;1052:33159;11387:35;1052:33159;;;;;;;;;;;;;;11759:53;11575:116;11623:53;1052:33159;11387:35;1052:33159;11623:53;-1:-1:-1;;;11623:53:25;;11353:80;11623:53;;1052:33159;11387:35;1052:33159;;;;;;;;;;;;;;11623:53;11447:115;11499:48;1052:33159;11387:35;1052:33159;11499:48;-1:-1:-1;;;11499:48:25;;11353:80;11499:48;;1052:33159;11387:35;1052:33159;;;;;;;;;;;;;;11499:48;11353:80;;;;1052:33159;11353:80;1052:33159;11353:80;;;;;;;:::i;:::-;;;;;11387:35;1052:33159;;;;;;;;11212:110;11263:44;1052:33159;;;11263:44;-1:-1:-1;;;11263:44:25;;;;;1052:33159;;;;;;;;;;;;;;;;11263:44;11078:121;11132:52;1052:33159;;;11132:52;-1:-1:-1;;;11132:52:25;;;;;1052:33159;;;;;;;;;;;;;;;;11132:52;10570:495;10641:20;;;;10659:2;10641:20;;10637:390;;10570:495;11044:7;;;;:::o;10637:390::-;10949:35;-1:-1:-1;;;;;10910:15:25;;:::i;:::-;1052:33159;10949:14;;:35;1052:33159;;;10659:2;1052:33159;;;10910:98;;;;;10501:1;1052:33159;;;;10949:35;1052:33159;10910:98;;;;;;;1052:33159;10910:98;;;;;1052:33159;10949:35;1052:33159;;;;10659:2;1052:33159;;;;;;;;;;:::i;:::-;10910:98;;;;;;;;;10637:390;;;;;;10910:98;10501:1;10910:98;;;:::i;:::-;10501:1;10910:98;;3358:267:15;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1052:33159:25;;;;;;;:::i;:::-;2311:2:15;1052:33159:25;;;;;;;;;;;2324:106:15;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:15;;-1:-1:-1;2713:20:15;3477:142;1052:33159:25;;;-1:-1:-1;6126:13:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1052:33159:25;;;;;;1390:66:15;;;;;;;;;;;;;;;;:::i;:::-;3596:12;:::o;1390:66::-;-1:-1:-1;6126:13:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1052:33159:25;;1390:66:15;1052:33159:25;;;;;1390:66:15;1052:33159:25;;;1390:66:15;;;;;;;;;;;-1:-1:-1;;;;1390:66:15;;;;;-1:-1:-1;1390:66:15;;;;;;;;3358:267;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;1052:33159:25;;;;;;;:::i;3477:142:15:-;1052:33159:25;;;-1:-1:-1;6584:16:19;1390:66:15;;;;;;;;;;;;;3477:142;1390:66;;;;;;;1052:33159:25;;;;;;1390:66:15;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;6584:16:19;-1:-1:-1;1390:66:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{},"immutableReferences":{"1846":[{"start":7689,"length":32}],"1848":[{"start":7878,"length":32}],"1850":[{"start":7642,"length":32}],"1852":[{"start":7768,"length":32}],"1854":[{"start":7806,"length":32}],"1857":[{"start":2450,"length":32}],"1860":[{"start":2492,"length":32}]}},"methodIdentifiers":{"_accountValidation(uint256,(address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes),((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256))":"69683cfa","_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","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","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\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailedOp\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"opIndex\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"inner\",\"type\":\"bytes\"}],\"name\":\"FailedOpWithRevert\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"name\":\"PostOpReverted\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"SenderAddressResult\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"}],\"name\":\"SignatureValidationFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"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\":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\":\"_accountValidation\",\"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\"}],\"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\":[{\"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\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"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\":\"\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"\",\"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\":[],\"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/a5ngpwSm/\",\"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\"}}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"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.\"},\"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\"}},\"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\"}},\"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.\"},\"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.\"},\"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/v08/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/\",\":@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.1.0/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/\",\":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/core/NonceManager.sol\":{\"keccak256\":\"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6\",\"dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a\"]},\"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-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"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/ReentrancyGuardTransient.sol\":{\"keccak256\":\"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79\",\"dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg\"]},\"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/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"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/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/v08/EntryPoint.sol\":{\"keccak256\":\"0x803b9b1433ce63a76d5c8953a25adfe964fe8ee99d4a35c244a115e020091d2e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5411e5df0e64d0a95bc305fb9367f72ed3e2ccf153e2040cafde7fef92a9a9e7\",\"dweb:/ipfs/QmQj1cRPW7du7H9g5xKyz85tjhYFosaJijCz65CYr8xUs7\"]},\"src/v08/overrides/Eip7702Support.sol\":{\"keccak256\":\"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b\",\"dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW\"]},\"src/v08/overrides/SenderCreator.sol\":{\"keccak256\":\"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b\",\"dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96\"]},\"src/v08/overrides/StakeManager.sol\":{\"keccak256\":\"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c\",\"dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn\"]},\"src/v08/overrides/UserOperationLib.sol\":{\"keccak256\":\"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3\",\"dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu\"]}},\"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":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailedOp"},{"inputs":[{"internalType":"uint256","name":"opIndex","type":"uint256"},{"internalType":"string","name":"reason","type":"string"},{"internalType":"bytes","name":"inner","type":"bytes"}],"type":"error","name":"FailedOpWithRevert"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"bytes","name":"returnData","type":"bytes"}],"type":"error","name":"PostOpReverted"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"SenderAddressResult"},{"inputs":[{"internalType":"address","name":"aggregator","type":"address"}],"type":"error","name":"SignatureValidationFailed"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"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":"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":"_accountValidation","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"}]}],"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":[{"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":"","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":"","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"handleAggregatedOps"},{"inputs":[{"internalType":"struct PackedUserOperation[]","name":"","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":"","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":[],"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"}},"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"}},"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."},"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/","@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.1.0/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/","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/v08/EntryPoint.sol":"EntryPoint"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/account-abstraction-v7/contracts/core/NonceManager.sol":{"keccak256":"0x1f951786ce6f171e7ed0242fee73ee4a205c7523404ee6cffca48b8c64ea5fe9","urls":["bzz-raw://a602bf2274d478dae7a532cca31f8179131808c324cc26ece5c7e87c5a1015a6","dweb:/ipfs/QmaaSyw5GGbAWzUhAPCtsb38P3MmaVr1ngp61PYHCU2a5a"],"license":"GPL-3.0"},"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-v8/contracts/core/Helpers.sol":{"keccak256":"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e","urls":["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f","dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"],"license":"MIT"},"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol":{"keccak256":"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4","urls":["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570","dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"],"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/ReentrancyGuardTransient.sol":{"keccak256":"0x534bf5c25d6003a8ce50b400d20fa460c03169ad7baa90d47a912917c36dfe2b","urls":["bzz-raw://cc0cc39c40ea23d3c46e8517e19ebdd877719d3159fa032f2a91802cdd205c79","dweb:/ipfs/QmSoNh7HTkD4TJcBkBKSGSPMMpLUZKE7s9f2G6mjdaJywg"],"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/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"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/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/v08/EntryPoint.sol":{"keccak256":"0x803b9b1433ce63a76d5c8953a25adfe964fe8ee99d4a35c244a115e020091d2e","urls":["bzz-raw://5411e5df0e64d0a95bc305fb9367f72ed3e2ccf153e2040cafde7fef92a9a9e7","dweb:/ipfs/QmQj1cRPW7du7H9g5xKyz85tjhYFosaJijCz65CYr8xUs7"],"license":"GPL-3.0"},"src/v08/overrides/Eip7702Support.sol":{"keccak256":"0x43b1ea67340dd543e34135d258ea258fb824247eb404c11e99a1945f5826ab3c","urls":["bzz-raw://a920bdb53b67730c177c9bdb6003095a82a6b3ecf458f3493e46d683f006ed8b","dweb:/ipfs/QmcwWBMhqqPEmH6JMExB68yPS7b5dn3AQQWz5Y7YTmambW"],"license":"MIT"},"src/v08/overrides/SenderCreator.sol":{"keccak256":"0x883d989f60af4c076f1748b1749fed9b9c711727dcd700e32da91c47f0aeae4c","urls":["bzz-raw://d29f93bf7d0e32ad8fc7f7555c132baec37d594d2d8974c5de0632c152840b0b","dweb:/ipfs/QmY4g8EWWLTUvjYsHoSmn4rZb8NA1SVddziEdXwp98Nd96"],"license":"GPL-3.0"},"src/v08/overrides/StakeManager.sol":{"keccak256":"0x9bac55672ee2fa70eb8378eb8975e4b23b689809bb8848a439771d81dea86ba0","urls":["bzz-raw://34fa8b7a33f4ed9c2cac5ebe8a9e6cc1b545a3188ddd0b1008960a86c11c392c","dweb:/ipfs/QmVYyvmELFPrzkQe2eSnoTWXxzyiJohay2jAFNkuZBQswn"],"license":"GPL-3.0"},"src/v08/overrides/UserOperationLib.sol":{"keccak256":"0xf5512d40f62d36dba06a127832ad33ae9db28225632abcb46f4d41ba0fceca17","urls":["bzz-raw://afa1670de9e4d240258aed3613426663690931b313701f9af5edb1600b3071c3","dweb:/ipfs/QmeoQgTwpEQhyACQAqtUBRTEVpzzckLpKg1y5tS6FBpdcu"],"license":"MIT"}},"version":1},"id":25}
|