@pimlico/alto 0.0.0-main.20250702T200919 → 0.0.0-main.20250710T113515

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.
@@ -1 +1 @@
1
- { "abi": [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "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": "getDepositInfo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "info", "type": "tuple", "internalType": "struct IStakeManager.DepositInfo", "components": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }] }], "stateMutability": "view" }, { "type": "function", "name": "getDomainSeparatorV4", "inputs": [], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "getNonce", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "nonce", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getPackedUserOpTypeHash", "inputs": [], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "pure" }, { "type": "function", "name": "getSenderAddress", "inputs": [{ "name": "initCode", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUserOpHash", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "handleAggregatedOps", "inputs": [{ "name": "opsPerAggregator", "type": "tuple[]", "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "components": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "aggregator", "type": "address", "internalType": "contract IAggregator" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "handleOps", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "incrementNonce", "inputs": [{ "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.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" }], "outputs": [{ "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "nonceSequenceNumber", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "senderCreator", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "contract ISenderCreator" }], "stateMutability": "view" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "withdrawAmount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccountDeployed", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "factory", "type": "address", "indexed": false, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "BeforeExecution", "inputs": [], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDeposit", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "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": "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": "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" }] }], "bytecode": { "object": "0x60808060405234601557615156908161001a8239f35b5f80fdfe6101606040526004361015610024575b3615610019575f80fd5b610022336131d9565b005b5f610140525f3560e01c806242dc531461252f57806301ffc9a7146123dd5780630396cb601461202257806309ccb88014611fc95780630bd28e3b14611f2d57806313c65a6e14611eef578063154e58dc14611e945780631b2e01b814611dfe578063205c287814611c5d57806322cdde4c14611bd957806335567e1a14611b1f5780635287ce12146119ff57806370a0823114611994578063765e827f1461182a578063850aaf62146117655780639b249f6914611617578063b760faf9146115d6578063bb9fe6bf146113e7578063c23a5cea146111445763dbed18e00361000f5734610ebe5761011636612ccd565b6101005260e0526101256136e6565b6101405190815b60e0518110610f23575061013f8261301f565b61012052610140516080526101405160c0525b60e05160c05110610290577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101d6576101a983610100516148fc565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102386101e68260e0518561324c565b73ffffffffffffffffffffffffffffffffffffffff610207602083016132e0565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061328c565b9061014051915b80831061025157505050600101610193565b90919460019061027e6102658885876130ee565b6102746080516101205161315b565b519060805161423e565b0195816080510160805201919061023f565b61029f60c05160e0518361324c565b73ffffffffffffffffffffffffffffffffffffffff6102cd60206102c3848061328c565b60a05293016132e0565b61014051911691905b60a05181106102fa5750505060a05160805101608052600160c0510160c052610152565b61030b81608051016101205161315b565b516103198260a051856130ee565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff610340826132e0565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103a160e0820182613301565b9081610e0a575b5050604051936103b782612ed3565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610da45750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e0818351169261046a898d61045e60408b018b613301565b92909160805101614c52565b0151169661014051978015610d73575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104e1936150cc565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d52610511908d612ba4565b61014051908c5190846101405190602095f161014051519a3d602003610d68575b60405215610c75575015610bf7575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105af84612e6a565b90551603610b8e575a840311610b255760e0015160609073ffffffffffffffffffffffffffffffffffffffff1661081c575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106169801520135905a900301910152614bb2565b911685036107b35761074a5761064073ffffffffffffffffffffffffffffffffffffffff91614bb2565b91166106e157610652576001016102d6565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085073ffffffffffffffffffffffffffffffffffffffff60e08d0151166040870151906150ee565b15610abc5760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108d1816108a560208a015160408b015190602084019d8e5289602485016150cc565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612ba4565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610ab0575b508115610a80575b506109fb5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161096f5750946105e1565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c610a07613483565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f61092e565b6040141591505f610926565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c00916150ee565b15610c0c578b80610541565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610ce557608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610ced613483565b90610a7c6040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b610140519150610532565b6101408051849052516020819052604090205490985081811115610d9d5750610140515b9761047a565b8103610d97565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec55781601411610ebe5780359160248110610ebe57603411610ebe576024810135608090811c60a0880152601490910135811c90860152606081901c15610e605760601c60e085015289806103a8565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f308160e0518461324c565b92610f3b848061328c565b919073ffffffffffffffffffffffffffffffffffffffff610f5e602088016132e0565b1695600187146111125786610f7b575b505001925060010161012c565b806040610f89920190613301565b91873b15610ebe57916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110b857505050505081611049917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561319b565b0381610140518a5af1908161109d575b5061109057847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f6e565b610140516110aa91612ba4565b61014051610ebe575f611059565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ebe576020611101600193858394016133a2565b980195019201889695949391611003565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761117b612c55565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156113895760981c65ffffffffffff16801561132b5742106112cd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611262612ea4565b501561126f576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156115785760ff161561151a5765ffffffffffff4216019065ffffffffffff82116114e75780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761161061160b612c55565b6131d9565b6101405180f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe57602061166b6116c6923690600401612c78565b73ffffffffffffffffffffffffffffffffffffffff611688612df7565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161319b565b039161014051905af180156117575773ffffffffffffffffffffffffffffffffffffffff916101405191611728575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b61174a915060203d602011611750575b6117428183612ba4565b81019061316f565b826116f5565b503d611738565b6040513d61014051823e3d90fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761179c612c55565b60243567ffffffffffffffff8111610ebe576117bc903690600401612c78565b604051929181908437820190610140518252610140519280610140519303915af46117e5612ea4565b90610a7c6040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d60565b34610ebe5761183836612ccd565b6118439291926136e6565b604080516007906020906118578482612ba4565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906118938582612ba4565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261190960c082612ba4565b5190206002556119188361301f565b61192381858561375a565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b858310611964576101a985856148fc565b90919360019061198a6119788789876130ee565b611982888661315b565b51908861423e565b0194019190611953565b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff6119e0612c55565b1661014051526101405160205260206040610140512054604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff611a4b612c55565b604051611a5781612b22565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aaa81612b22565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020611b58612c55565b73ffffffffffffffffffffffffffffffffffffffff611b75612ca6565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ebe57611c55602091600401612ed3565b604051908152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611c94612c55565b6024359033610140515261014051602052604061014051208054808411611da05783611cbf91612e97565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d35612ea4565b5015611d42576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611e35612c55565b73ffffffffffffffffffffffffffffffffffffffff611e52612ca6565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020600254604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ebe57336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f20611fc08154612e6a565b90556101405180f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020612004612df7565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043563ffffffff8116809103610ebe57336101405152610140516020526040610140512090801561237f57600182015463ffffffff8160781c168210612321576120ab906dffffffffffffffffffffffffffff349160081c16612dbd565b9182156122c3576dffffffffffffffffffffffffffff8311612265575460405161222d916120d882612b22565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ebe57807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612505575b81156124db575b81156124b1575b8115612487575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148261247c565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150612475565b7fcf28ef97000000000000000000000000000000000000000000000000000000008114915061246e565b7f989ccc580000000000000000000000000000000000000000000000000000000081149150612467565b346129a9576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129a95760043567ffffffffffffffff81116129a957366023820112156129a957612590903690602481600401359101612c1f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c081126129a957610140604051916125cc83612b22565b126129a9576040516125dd81612b6b565b60243573ffffffffffffffffffffffffffffffffffffffff811681036129a957815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129a95760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff81116129a9576126b6903690600401612c78565b955a90303303612ac4578651606081015195603f5a0260061c61271060a084015189010111612a9c575f96815191826129e2575b505050505090612702915a9003855101963691612c1f565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146129da5750975b61276f73ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149ec565b01925f92816128855750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f1461283157505060038110156127fe576002036127d05760209281611c5592936127cb81614b0d565b614a0b565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b81612867929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b5060038410156127fe5782612880926020951590614a8c565b611c55565b909691878251612898575b505050612793565b90919293505a9260038810156129ad57600288036128ce575b505060a06128c5925a9003910151906149ec565b90888080612890565b60a083015191803b156129a9578b925f928361292a938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d60565b9202604484015260648301520393f19081612994575b5061298a57610a7c612950613483565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d60565b60a06128c56128b1565b5f61299e91612ba4565b5f610140528a612940565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b905097612742565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f115612a15575b8080806126ea565b6127029392955060405191612a28613483565b908151612a41575b505050604052600193909188612a0d565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612a9160405192839283612da3565b0390a3888080612a30565b7fdeaddead000000000000000000000000000000000000000000000000000000005f5260205ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612b3e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612b3e57604052565b6060810190811067ffffffffffffffff821117612b3e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612b3e57604052565b67ffffffffffffffff8111612b3e57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c2b82612be5565b91612c396040519384612ba4565b8294818452818301116129a9578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036129a957565b9181601f840112156129a95782359167ffffffffffffffff83116129a957602083818601950101116129a957565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff821682036129a957565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129a95760043567ffffffffffffffff81116129a95760040182601f820112156129a95780359267ffffffffffffffff84116129a9576020808301928560051b0101116129a957919060243573ffffffffffffffffffffffffffffffffffffffff811681036129a95790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612dba939281528160208201520190612d60565b90565b91908201809211612dca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d454168015612e4f575b73ffffffffffffffffffffffffffffffffffffffff1690565b5073449ed7c3e6fee6a97311d4b55475df59c44add33612e36565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612dca5760010190565b91908203918211612dca57565b3d15612ece573d90612eb582612be5565b91612ec36040519384612ba4565b82523d5f602084013e565b606090565b604290612edf816134b0565b60025491612eec816132e0565b918015612fea57905b60c0612f046060830183613301565b90816040519182372091612f1b60e0820182613301565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612fb261014082612ba4565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612ff86040820182613301565b90816040519182372090612ef5565b67ffffffffffffffff8111612b3e5760051b60200190565b9061302982613007565b6130366040519182612ba4565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130648294613007565b01905f5b82811061307457505050565b60209060405161308381612b22565b60405161308f81612b6b565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f608082015282828501015201613068565b919081101561312e5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1813603018212156129a9570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805182101561312e5760209160051b010190565b908160209103126129a9575173ffffffffffffffffffffffffffffffffffffffff811681036129a95790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff613240348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b919081101561312e5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156129a9570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129a9570180359067ffffffffffffffff82116129a957602001918160051b360383136129a957565b3573ffffffffffffffffffffffffffffffffffffffff811681036129a95790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129a9570180359067ffffffffffffffff82116129a9576020019181360383136129a957565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156129a957016020813591019167ffffffffffffffff82116129a95781360383136129a957565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129a95773ffffffffffffffffffffffffffffffffffffffff612dba931681526020820135602082015261347461346861342f6134146134016040870187613352565b610120604088015261012087019161319b565b6134216060870187613352565b90868303606088015261319b565b6080850135608085015260a085013560a085015260c085013560c085015261345a60e0860186613352565b9085830360e087015261319b565b92610100810190613352565b9161010081850391015261319b565b3d61080081116134a7575b604051906020818301016040528082525f602083013e90565b5061080061348e565b6134bd6040820182613301565b90916134c98284614b5d565b156136df576134d7906132e0565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000083160361361d575060181b916014821161357d5750506040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000080806020840194161616825260148152613577603482612ba4565b51902090565b816014116129a9576020613577916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612ba4565b3b156136815760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6137325760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b81811061376e5750505050565b613778818561315b565b516137848284866130ee565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff6137a8826132e0565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c9216916101208501906101008601938452815261382760e0870187613301565b90816141d8575b505060405161383c87612ed3565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b0196875117895117905117116141765750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138d18b84835116956138c960408d018d613301565b929091614c52565b015116985f99801561414f575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c000000000000000000000000000000000000000000000000000000008652602484019261393f936150cc565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101825261396f9082612ba4565b51905f6020948194f15f519c3d602003614147575b6040521561405c575015613fe2575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139fb84612e6a565b90551603613f7d575a860311613f185773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c58575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a649801520135905a900301910152614bb2565b9116613bf357613b8e57613a8c73ffffffffffffffffffffffffffffffffffffffff91614bb2565b9116613b2957613a9e57600101613761565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c8c916150ee565b15613eb357613cdf7f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108a560405193849251905190602084019d8e5289602485016150cc565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613ea7575b508115613e77575b50613dfa5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d725750948260a0613a2d565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c613e06613483565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613d2e565b6040141591505f613d26565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613feb916150ee565b15613ff7575f80613993565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b6140c857608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6140d0613483565b90610a7c6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b5f9150613984565b9950815f525f60205260405f20548181115f1461416f57505f5b996138de565b8103614169565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec557816014116129a957803560601c91602481106129a9576014820135906034116129a9576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e605760e08601525f8061382e565b9092915a606082015160405195866142596060830183613301565b5f600382116148f4575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003614786575050505f6143706144646142fe614330602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a8501526040602485015260648401906133a2565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612ba4565b6108a56040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d60565b614433604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d60565b828151910182305af15f51966040521561447f575b50505050565b9091929394505f3d602014614779575b7fdeaddead00000000000000000000000000000000000000000000000000000000810361451b57608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa51000000000000000000000000000000000000000000000000000000000361457e5750614563614558614573925a90612e97565b608084015190612dbd565b6040830151836127cb8295614b0d565b905b5f808080614479565b906145f19060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff8451169301516145d4613483565b906145e460405192839283612da3565b0390a36040525a90612e97565b6146016080840191825190612dbd565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146147715750955b61467073ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149ec565b01925f92806147425750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146f6575050806146c9575090816146c392936127cb81614b0d565b90614575565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b61472b908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506146c9575090825f61473d93614a8c565b6146c3565b95919051614751575b50614694565b9350905061476a5a9360a05f955a9003910151906149ec565b905f61474b565b905095614643565b5060205f803e5f5161448f565b6148eb93506148bf916147cb917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161319b565b61488e604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d60565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612ba4565b60205f87614464565b508135614263565b73ffffffffffffffffffffffffffffffffffffffff16801561498e575f80809381935af1614928612ea4565b501561493057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c408201811115614a0557606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614bad57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c4b575f60408051614bc681612b88565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff81169065ffffffffffff8160a01c16908115614c3d575b60409060d01c9165ffffffffffff825191614c1783612b88565b8583528460208401521691829101524211908115614c3457509091565b90504211159091565b65ffffffffffff9150614bfd565b505f905f90565b929190915f9080614c65575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614c8b8386614b5d565b614fe45750853b614f7f5760148210614f1a5782602073ffffffffffffffffffffffffffffffffffffffff614cbe612df7565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614d058c8b602484019161319b565b0393f1908115614f0f578491614ef0575b5073ffffffffffffffffffffffffffffffffffffffff81168015614e8b578703614e26573b15614dc15750601411614dbe577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c5e565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614f09915060203d602011611750576117428183612ba4565b5f614d16565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b94505091905060148211614ff85750505050565b604073ffffffffffffffffffffffffffffffffffffffff615017612df7565b1693015190826014116129a957833b156129a9575f809461509b96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161319b565b0393f180156150c1576150b1575b808080614479565b5f6150bb91612ba4565b5f6150a9565b6040513d5f823e3d90fd5b6150e4604092959493956060835260608301906133a2565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136df5703905560019056fea2646970667358221220992825775f58dd280c06642a85cf996aeda51e0e095f8ddef28dbca93199ca2564736f6c634300081c0033", "sourceMap": "1237:38346:30:-:0;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6101606040526004361015610024575b3615610019575f80fd5b610022336131d9565b005b5f610140525f3560e01c806242dc531461252f57806301ffc9a7146123dd5780630396cb601461202257806309ccb88014611fc95780630bd28e3b14611f2d57806313c65a6e14611eef578063154e58dc14611e945780631b2e01b814611dfe578063205c287814611c5d57806322cdde4c14611bd957806335567e1a14611b1f5780635287ce12146119ff57806370a0823114611994578063765e827f1461182a578063850aaf62146117655780639b249f6914611617578063b760faf9146115d6578063bb9fe6bf146113e7578063c23a5cea146111445763dbed18e00361000f5734610ebe5761011636612ccd565b6101005260e0526101256136e6565b6101405190815b60e0518110610f23575061013f8261301f565b61012052610140516080526101405160c0525b60e05160c05110610290577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101d6576101a983610100516148fc565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102386101e68260e0518561324c565b73ffffffffffffffffffffffffffffffffffffffff610207602083016132e0565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061328c565b9061014051915b80831061025157505050600101610193565b90919460019061027e6102658885876130ee565b6102746080516101205161315b565b519060805161423e565b0195816080510160805201919061023f565b61029f60c05160e0518361324c565b73ffffffffffffffffffffffffffffffffffffffff6102cd60206102c3848061328c565b60a05293016132e0565b61014051911691905b60a05181106102fa5750505060a05160805101608052600160c0510160c052610152565b61030b81608051016101205161315b565b516103198260a051856130ee565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff610340826132e0565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103a160e0820182613301565b9081610e0a575b5050604051936103b782612ed3565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610da45750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e0818351169261046a898d61045e60408b018b613301565b92909160805101614c52565b0151169661014051978015610d73575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104e1936150cc565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d52610511908d612ba4565b61014051908c5190846101405190602095f161014051519a3d602003610d68575b60405215610c75575015610bf7575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105af84612e6a565b90551603610b8e575a840311610b255760e0015160609073ffffffffffffffffffffffffffffffffffffffff1661081c575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106169801520135905a900301910152614bb2565b911685036107b35761074a5761064073ffffffffffffffffffffffffffffffffffffffff91614bb2565b91166106e157610652576001016102d6565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085073ffffffffffffffffffffffffffffffffffffffff60e08d0151166040870151906150ee565b15610abc5760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108d1816108a560208a015160408b015190602084019d8e5289602485016150cc565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612ba4565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610ab0575b508115610a80575b506109fb5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161096f5750946105e1565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c610a07613483565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f61092e565b6040141591505f610926565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c00916150ee565b15610c0c578b80610541565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610ce557608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610ced613483565b90610a7c6040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b610140519150610532565b6101408051849052516020819052604090205490985081811115610d9d5750610140515b9761047a565b8103610d97565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec55781601411610ebe5780359160248110610ebe57603411610ebe576024810135608090811c60a0880152601490910135811c90860152606081901c15610e605760601c60e085015289806103a8565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f308160e0518461324c565b92610f3b848061328c565b919073ffffffffffffffffffffffffffffffffffffffff610f5e602088016132e0565b1695600187146111125786610f7b575b505001925060010161012c565b806040610f89920190613301565b91873b15610ebe57916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110b857505050505081611049917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561319b565b0381610140518a5af1908161109d575b5061109057847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f6e565b610140516110aa91612ba4565b61014051610ebe575f611059565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ebe576020611101600193858394016133a2565b980195019201889695949391611003565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761117b612c55565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156113895760981c65ffffffffffff16801561132b5742106112cd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611262612ea4565b501561126f576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156115785760ff161561151a5765ffffffffffff4216019065ffffffffffff82116114e75780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761161061160b612c55565b6131d9565b6101405180f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe57602061166b6116c6923690600401612c78565b73ffffffffffffffffffffffffffffffffffffffff611688612df7565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161319b565b039161014051905af180156117575773ffffffffffffffffffffffffffffffffffffffff916101405191611728575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b61174a915060203d602011611750575b6117428183612ba4565b81019061316f565b826116f5565b503d611738565b6040513d61014051823e3d90fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761179c612c55565b60243567ffffffffffffffff8111610ebe576117bc903690600401612c78565b604051929181908437820190610140518252610140519280610140519303915af46117e5612ea4565b90610a7c6040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d60565b34610ebe5761183836612ccd565b6118439291926136e6565b604080516007906020906118578482612ba4565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906118938582612ba4565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261190960c082612ba4565b5190206002556119188361301f565b61192381858561375a565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b858310611964576101a985856148fc565b90919360019061198a6119788789876130ee565b611982888661315b565b51908861423e565b0194019190611953565b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff6119e0612c55565b1661014051526101405160205260206040610140512054604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff611a4b612c55565b604051611a5781612b22565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aaa81612b22565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020611b58612c55565b73ffffffffffffffffffffffffffffffffffffffff611b75612ca6565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ebe57611c55602091600401612ed3565b604051908152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611c94612c55565b6024359033610140515261014051602052604061014051208054808411611da05783611cbf91612e97565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d35612ea4565b5015611d42576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611e35612c55565b73ffffffffffffffffffffffffffffffffffffffff611e52612ca6565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020600254604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ebe57336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f20611fc08154612e6a565b90556101405180f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020612004612df7565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043563ffffffff8116809103610ebe57336101405152610140516020526040610140512090801561237f57600182015463ffffffff8160781c168210612321576120ab906dffffffffffffffffffffffffffff349160081c16612dbd565b9182156122c3576dffffffffffffffffffffffffffff8311612265575460405161222d916120d882612b22565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ebe57807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612505575b81156124db575b81156124b1575b8115612487575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148261247c565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150612475565b7fcf28ef97000000000000000000000000000000000000000000000000000000008114915061246e565b7f989ccc580000000000000000000000000000000000000000000000000000000081149150612467565b346129a9576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129a95760043567ffffffffffffffff81116129a957366023820112156129a957612590903690602481600401359101612c1f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c081126129a957610140604051916125cc83612b22565b126129a9576040516125dd81612b6b565b60243573ffffffffffffffffffffffffffffffffffffffff811681036129a957815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129a95760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff81116129a9576126b6903690600401612c78565b955a90303303612ac4578651606081015195603f5a0260061c61271060a084015189010111612a9c575f96815191826129e2575b505050505090612702915a9003855101963691612c1f565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146129da5750975b61276f73ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149ec565b01925f92816128855750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f1461283157505060038110156127fe576002036127d05760209281611c5592936127cb81614b0d565b614a0b565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b81612867929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b5060038410156127fe5782612880926020951590614a8c565b611c55565b909691878251612898575b505050612793565b90919293505a9260038810156129ad57600288036128ce575b505060a06128c5925a9003910151906149ec565b90888080612890565b60a083015191803b156129a9578b925f928361292a938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d60565b9202604484015260648301520393f19081612994575b5061298a57610a7c612950613483565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d60565b60a06128c56128b1565b5f61299e91612ba4565b5f610140528a612940565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b905097612742565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f115612a15575b8080806126ea565b6127029392955060405191612a28613483565b908151612a41575b505050604052600193909188612a0d565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612a9160405192839283612da3565b0390a3888080612a30565b7fdeaddead000000000000000000000000000000000000000000000000000000005f5260205ffd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612b3e57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612b3e57604052565b6060810190811067ffffffffffffffff821117612b3e57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612b3e57604052565b67ffffffffffffffff8111612b3e57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612c2b82612be5565b91612c396040519384612ba4565b8294818452818301116129a9578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036129a957565b9181601f840112156129a95782359167ffffffffffffffff83116129a957602083818601950101116129a957565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff821682036129a957565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129a95760043567ffffffffffffffff81116129a95760040182601f820112156129a95780359267ffffffffffffffff84116129a9576020808301928560051b0101116129a957919060243573ffffffffffffffffffffffffffffffffffffffff811681036129a95790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612dba939281528160208201520190612d60565b90565b91908201809211612dca57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d454168015612e4f575b73ffffffffffffffffffffffffffffffffffffffff1690565b5073449ed7c3e6fee6a97311d4b55475df59c44add33612e36565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612dca5760010190565b91908203918211612dca57565b3d15612ece573d90612eb582612be5565b91612ec36040519384612ba4565b82523d5f602084013e565b606090565b604290612edf816134b0565b60025491612eec816132e0565b918015612fea57905b60c0612f046060830183613301565b90816040519182372091612f1b60e0820182613301565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612fb261014082612ba4565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612ff86040820182613301565b90816040519182372090612ef5565b67ffffffffffffffff8111612b3e5760051b60200190565b9061302982613007565b6130366040519182612ba4565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130648294613007565b01905f5b82811061307457505050565b60209060405161308381612b22565b60405161308f81612b6b565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f608082015282828501015201613068565b919081101561312e5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee1813603018212156129a9570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b805182101561312e5760209160051b010190565b908160209103126129a9575173ffffffffffffffffffffffffffffffffffffffff811681036129a95790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff613240348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b919081101561312e5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1813603018212156129a9570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129a9570180359067ffffffffffffffff82116129a957602001918160051b360383136129a957565b3573ffffffffffffffffffffffffffffffffffffffff811681036129a95790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156129a9570180359067ffffffffffffffff82116129a9576020019181360383136129a957565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156129a957016020813591019167ffffffffffffffff82116129a95781360383136129a957565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129a95773ffffffffffffffffffffffffffffffffffffffff612dba931681526020820135602082015261347461346861342f6134146134016040870187613352565b610120604088015261012087019161319b565b6134216060870187613352565b90868303606088015261319b565b6080850135608085015260a085013560a085015260c085013560c085015261345a60e0860186613352565b9085830360e087015261319b565b92610100810190613352565b9161010081850391015261319b565b3d61080081116134a7575b604051906020818301016040528082525f602083013e90565b5061080061348e565b6134bd6040820182613301565b90916134c98284614b5d565b156136df576134d7906132e0565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff000000000000000000000000000000000000000000000000000000000083160361361d575060181b916014821161357d5750506040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000080806020840194161616825260148152613577603482612ba4565b51902090565b816014116129a9576020613577916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612ba4565b3b156136815760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6137325760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b81811061376e5750505050565b613778818561315b565b516137848284866130ee565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff6137a8826132e0565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c9216916101208501906101008601938452815261382760e0870187613301565b90816141d8575b505060405161383c87612ed3565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b0196875117895117905117116141765750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138d18b84835116956138c960408d018d613301565b929091614c52565b015116985f99801561414f575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c000000000000000000000000000000000000000000000000000000008652602484019261393f936150cc565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101825261396f9082612ba4565b51905f6020948194f15f519c3d602003614147575b6040521561405c575015613fe2575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139fb84612e6a565b90551603613f7d575a860311613f185773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c58575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a649801520135905a900301910152614bb2565b9116613bf357613b8e57613a8c73ffffffffffffffffffffffffffffffffffffffff91614bb2565b9116613b2957613a9e57600101613761565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c8c916150ee565b15613eb357613cdf7f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108a560405193849251905190602084019d8e5289602485016150cc565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613ea7575b508115613e77575b50613dfa5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d725750948260a0613a2d565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c613e06613483565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613d2e565b6040141591505f613d26565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613feb916150ee565b15613ff7575f80613993565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b6140c857608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b6140d0613483565b90610a7c6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d60565b5f9150613984565b9950815f525f60205260405f20548181115f1461416f57505f5b996138de565b8103614169565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec557816014116129a957803560601c91602481106129a9576014820135906034116129a9576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e605760e08601525f8061382e565b9092915a606082015160405195866142596060830183613301565b5f600382116148f4575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003614786575050505f6143706144646142fe614330602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a8501526040602485015260648401906133a2565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612ba4565b6108a56040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d60565b614433604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d60565b828151910182305af15f51966040521561447f575b50505050565b9091929394505f3d602014614779575b7fdeaddead00000000000000000000000000000000000000000000000000000000810361451b57608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa51000000000000000000000000000000000000000000000000000000000361457e5750614563614558614573925a90612e97565b608084015190612dbd565b6040830151836127cb8295614b0d565b905b5f808080614479565b906145f19060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff8451169301516145d4613483565b906145e460405192839283612da3565b0390a36040525a90612e97565b6146016080840191825190612dbd565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146147715750955b61467073ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149ec565b01925f92806147425750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146f6575050806146c9575090816146c392936127cb81614b0d565b90614575565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b61472b908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506146c9575090825f61473d93614a8c565b6146c3565b95919051614751575b50614694565b9350905061476a5a9360a05f955a9003910151906149ec565b905f61474b565b905095614643565b5060205f803e5f5161448f565b6148eb93506148bf916147cb917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161319b565b61488e604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d60565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612ba4565b60205f87614464565b508135614263565b73ffffffffffffffffffffffffffffffffffffffff16801561498e575f80809381935af1614928612ea4565b501561493057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c408201811115614a0557606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614bad57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c4b575f60408051614bc681612b88565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff81169065ffffffffffff8160a01c16908115614c3d575b60409060d01c9165ffffffffffff825191614c1783612b88565b8583528460208401521691829101524211908115614c3457509091565b90504211159091565b65ffffffffffff9150614bfd565b505f905f90565b929190915f9080614c65575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614c8b8386614b5d565b614fe45750853b614f7f5760148210614f1a5782602073ffffffffffffffffffffffffffffffffffffffff614cbe612df7565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614d058c8b602484019161319b565b0393f1908115614f0f578491614ef0575b5073ffffffffffffffffffffffffffffffffffffffff81168015614e8b578703614e26573b15614dc15750601411614dbe577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c5e565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614f09915060203d602011611750576117428183612ba4565b5f614d16565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b94505091905060148211614ff85750505050565b604073ffffffffffffffffffffffffffffffffffffffff615017612df7565b1693015190826014116129a957833b156129a9575f809461509b96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161319b565b0393f180156150c1576150b1575b808080614479565b5f6150bb91612ba4565b5f6150a9565b6040513d5f823e3d90fd5b6150e4604092959493956060835260608301906133a2565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136df5703905560019056fea2646970667358221220992825775f58dd280c06642a85cf996aeda51e0e095f8ddef28dbca93199ca2564736f6c634300081c0033", "sourceMap": "1237:38346:30:-:0;;;;;;;;;-1:-1:-1;1237:38346:30;;;;;;;;1324:10:4;;;:::i;:::-;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7412:31;1237:38346;7412:31;;;1237:38346;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1181:103:18;;:::i;:::-;1237:38346:30;;;;4393:11;;;;;;;5232:26;;;;:::i;:::-;;;1237:38346;;5273:19;;1237:38346;;5311:13;;5326:11;;;;;;;;5671:17;1237:38346;;;;5671:17;1237:38346;;5738:11;;;;1237:38346;;5783:11;;;;;;;6302:9;;;;;:::i;:::-;1237:38346;;637:66:18;3550:68:22;1237:38346:30;;;;5796:3;6003:11;5855:19;;;;;;:::i;:::-;1237:38346;5932:14;4593;5932;;;:::i;:::-;1237:38346;5897:51;1237:38346;;;;5897:51;6003:11;;:::i;:::-;1237:38346;;;6078:171;6098:10;;;;;;5796:3;;;4734:1;1237:38346;5768:13;;6110:3;6174:6;;;4734:1;6174:6;6150:49;6174:6;;;;;:::i;:::-;6182:16;;;;;;:::i;:::-;;6150:49;;;;:::i;:::-;1237:38346;6221:9;;;;1237:38346;6221:9;;1237:38346;6083:13;;;;5339:3;5398:19;;;;;;;:::i;:::-;1237:38346;5526:14;4593;5472:11;;;;:::i;:::-;;;5526:14;;;:::i;:::-;-1:-1:-1;;1237:38346:30;;;-1:-1:-1;14173:10:30;;;;;;;1237:38346;;;;;;;;5559:78;;4734:1;5339:3;;1237:38346;5339:3;;5311:13;;14185:3;14235:26;14243:17;;;1237:38346;14235:26;;;:::i;:::-;;14391:6;;;;;;:::i;:::-;14170:1;;;31433:9;31482:17;;17635:13;1237:38346;17635:13;;;:::i;:::-;1237:38346;;;4593:14;17674:12;;;1237:38346;17658:13;;;1237:38346;430:2:5;17780:23:30;;;;1237:38346;430:2:5;;;17727:20:30;;;1237:38346;;;;17697:28;;1237:38346;17843:25;;;1237:38346;17814:26;;;;1237:38346;;;;17962:14;;1237:38346;430:2:5;;;17909:20:30;;;1237:38346;;17879:28;;;1237:38346;18021:23;1237:38346;18021:23;;17674:12;18021:23;:::i;:::-;18058:27;;18054:489;;14185:3;38807:67;;1237:38346;38807:67;31702:21;;;;:::i;:::-;4593:14;31679:20;;1237:38346;39090:66;1237:38346;39090:66;1237:38346;17697:28;;1237:38346;17814:26;1237:38346;17814:26;;;;1237:38346;32013:49;17727:20;;;1237:38346;32013:72;17780:23;32100:37;;1237:38346;32013:124;17843:25;32140:31;;1237:38346;32013:158;17909:20;;;1237:38346;32013:181;17879:28;;;1237:38346;32013:224;32255:33;1237:38346;;17697:28;1237:38346;17697:28;;1237:38346;17727:20;;;1237:38346;;17780:23;32100:37;;1237:38346;;17843:25;32140:31;;1237:38346;;17814:26;;;1237:38346;;17909:20;;;1237:38346;;32411:17;;1237:38346;32411:17;;1237:38346;21878:14;;1237:38346;;1559:5;;;1237:38346;21990:11;;;;;1237:38346;21990:11;;;;:::i;:::-;14243:17;;;;;1237:38346;21990:11;:::i;:::-;22036:17;1559:5;1237:38346;14170:1;;;22116:23;;;22112:182;;14185:3;23324:14;;1237:38346;23324:35;;1237:38346;1559:5;;1237:38346;;14170:1;;;38807:67;1237:38346;38807:67;31679:20;;;4593:14;31679:20;;1805:4;23542:85;4593:14;23542:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;14170:1;;23641:326;;;14170:1;;;;23641:326;4593:14;23641:326;;14170:1;;23641:326;;;4593:14;23641:326;;;14185:3;1237:38346;39090:66;24032:8;24028:286;;22116:23;;22399:205;;14185:3;1559:5;;1237:38346;1559:5;;1237:38346;4593:14;17658:13;;1237:38346;14170:1;;;1237:38346;4734:1;4593:14;1237:38346;;14170:1;;1237:38346;;;;;;-1:-1:-1;1237:38346:30;;;;;-1:-1:-1;1237:38346:30;;;;1154:34:2;;;;:::i;:::-;1237:38346:30;;;1154:41:2;1237:38346:30;;32715:9;1805:4;;32706:41;32702:138;;1237:38346;32894:17;1559:5;17727:20;;1237:38346;;32890:155;;14185:3;1237:38346;33078:23;;17843:25;33078:23;;17780;33078;17727:20;28828:34;33078:23;;1237:38346;17843:25;1237:38346;33180:9;;1805:4;;1237:38346;33150:18;;1237:38346;28828:34;:::i;:::-;1237:38346;;28876:32;;28872:111;;28992:96;;29390:43;1237:38346;29390:43;;:::i;:::-;1237:38346;;29443:105;;29557:106;;4734:1;1237:38346;14158:13;;29557:106;29598:54;1237:38346;;;29598:54;;;;14243:17;;1237:38346;;29598:54;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;;;;;;29598:54;29443:105;29496:41;1237:38346;;;29496:41;;;;14243:17;;1237:38346;;29496:41;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;29496:41;28992:96;29033:44;1237:38346;;;29033:44;;;;14243:17;;1237:38346;;29033:44;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;29033:44;28872:111;28931:41;1237:38346;;;28931:41;;;;14243:17;;1237:38346;;28931:41;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;28931:41;32890:155;25277:9;;;;;;;25330:14;;;25378:17;25468:48;1237:38346;;25378:17;;1559:5;1237:38346;;32411:17;;1237:38346;25468:48;;:::i;:::-;25467:49;25463:146;;17780:23;26266:91;25655:37;;;;;;1237:38346;;38807:67;26266:91;31679:20;26266:91;4593:14;31679:20;;1805:4;1237:38346;32411:17;;1237:38346;26266:91;4593:14;26266:91;;;;;;23542:85;26266:91;;;:::i;:::-;;23542:85;26266:91;;;;;;:::i;:::-;26387:14;;17780:23;1237:38346;;26387:24;;1559:5;1237:38346;26461:44;;1237:38346;14170:1;;;;;;26654:1236;;;14170:1;;;26654:1236;;;;14170:1;;;;26654:1236;;;;;;1237:38346;26654:1236;;;;;27928:8;;1237:38346;;;27928:31;;32890:155;27928:72;;;;;32890:155;27924:205;;;1237:38346;;23542:85;1237:38346;;;4020:413:1;;;1237:38346:30;4020:413:1;25810:9:30;1805:4;;25801:43;25797:149;;-1:-1:-1;32941:93:30;32890:155;;25797:149;25871:60;;;;;;14243:17;;1237:38346;;25871:60;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;;;;;;25871:60;27924:205;28072:41;1237:38346;28072:41;;:::i;:::-;1237:38346;;28027:87;;;;;;14243:17;;1237:38346;;28027:87;;1237:38346;23542:85;1237:38346;;;;;;;;;;;;;17843:25;1237:38346;;;;;;;;;:::i;:::-;28027:87;;;27928:72;26654:1236;;27979:2;26654:1236;;;1237:38346;;27963:37;27928:72;;;:31;1237:38346;27940:19;;;-1:-1:-1;27928:31:30;;;25463:146;25543:51;1237:38346;;;25543:51;;;;14243:17;;1237:38346;;25543:51;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;25543:51;32702:138;32774:51;1237:38346;;;32774:51;;;;14243:17;;1237:38346;;32774:51;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;32774:51;1237:38346;;;;;;;;;14243:17;;1237:38346;;;;;;23542:85;1237:38346;;;;;;;;;;;;;;22399:205;22451:45;;;:::i;:::-;22450:46;22446:144;;22399:205;;;;22446:144;22527:44;1237:38346;;;22527:44;;;;14243:17;;1237:38346;;22527:44;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;22527:44;24028:286;24060:18;;;;;24110:46;1237:38346;;;24110:46;;;;14243:17;;1237:38346;;24110:46;;1237:38346;;23542:85;1237:38346;;;;;;;;;;;;;24110:46;24056:248;24247:41;;:::i;:::-;1237:38346;;;;24202:87;;;;;;14243:17;;1237:38346;;24202:87;;1237:38346;17727:20;23542:85;1237:38346;;;;;;;;;;;;;17843:25;1237:38346;;;;;;;;;:::i;23641:326::-;14170:1;;;-1:-1:-1;23641:326:30;;22112:182;14170:1;;;1237:38346;;;14170:1;4593:14;1237:38346;;;;;;;14170:1;;-1:-1:-1;22230:21:30;;;;;;14170:1;;;22230:49;22112:182;;;22230:49;1805:4;;22230:49;;1237:38346;;;;;;;14243:17;;1237:38346;;;;;;23542:85;1237:38346;;;;;;;;;;;;;;18054:489;486:2:5;18109:65:30;;486:2:5;;1237:38346:30;368:2:5;1237:38346:30;;;368:2:5;;;23542:85:30;1237:38346;-1:-1:-1;1237:38346:30;;486:2:5;1237:38346:30;;;23542:85;1237:38346;;430:2:5;17780:23:30;430:2:5;;;17843:25:30;18304:31;;1237:38346;368:2:5;1237:38346:30;;;430:2:5;;;18265:37:30;;;1237:38346;17727:20;309:8:0;;;18439:23:30;486:2:5;;17727:20:30;309:8:0;1237:38346:30;18503:17;;1237:38346;18054:489;;;;486:2:5;;1237:38346:30;;486:2:5;;;4593:14:30;1237:38346;486:2:5;;;;23542:85:30;486:2:5;;1237:38346:30;486:2:5;1237:38346:30;;;486:2:5;;1237:38346:30;14170:1;;;1237:38346;486:2:5;;1237:38346:30;;486:2:5;;;4593:14:30;1237:38346;486:2:5;;;;23542:85:30;486:2:5;;1237:38346:30;486:2:5;1237:38346:30;;;486:2:5;;4406:3:30;4465:19;;;;;;:::i;:::-;4539:11;;;;;:::i;:::-;4593:14;;1237:38346;4593:14;;;;;:::i;:::-;1237:38346;4703:33;4734:1;4703:33;;1237:38346;;4808:33;4804:329;;4406:3;-1:-1:-1;;1237:38346:30;;-1:-1:-1;4734:1:30;1237:38346;4378:13;;4804:329;4969:13;1237:38346;4969:13;;;;;:::i;:::-;4934:49;;;;;;1237:38346;;;4934:49;;;1237:38346;4934:49;;1237:38346;;;;;;4934:49;;1237:38346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4934:49;1237:38346;;;4934:49;;;;;;;1237:38346;-1:-1:-1;4930:185:30;;1237:38346;5046:46;1237:38346;;5046:46;1237:38346;;;;;5046:46;4930:185;;;-1:-1:-1;4930:185:30;;4734:1;4804:329;;;4934:49;1237:38346;;4934:49;;;:::i;:::-;1237:38346;;;;4934:49;;;1237:38346;;;;;;;;;;;;;;;;;;;;;;;4593:14;1237:38346;4734:1;1237:38346;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4096:10:4;1237:38346:30;;;;;;;4133:10:4;1237:38346:30;;;;4133:10:4;1237:38346:30;;;;;;;;;4161:9:4;;;1237:38346:30;;;;;;4213:21:4;;1237:38346:30;;4320:15:4;-1:-1:-1;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;4096:10:4;;4492:50;;;1237:38346:30;;;;;;;;;;;4570:38:4;;;;:::i;:::-;;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;1237:38346:30;;;;;;;3644:20:4;1237:38346:30;;;;3644:20:4;1237:38346:30;;;;;;;3644:25:4;;;1237:38346:30;;;;;;;;3774:15:4;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;;3899:39;;1237:38346:30;;3899:39:4;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6792:15;;:::i;:::-;1237:38346;;;;6792:38;;;;;;1237:38346;6792:38;;;1237:38346;6792:38;;1237:38346;;;;;;:::i;:::-;6792:38;1237:38346;;;6792:38;;;;;;;1237:38346;;;;6792:38;;;1237:38346;;6847:27;1237:38346;;6847:27;1237:38346;;;;;;6847:27;6792:38;;;;1237:38346;6792:38;1237:38346;6792:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1237:38346;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7370:25;;;;;;;:::i;:::-;1237:38346;;;;7412:31;;;;;;1237:38346;;;7412:31;;1237:38346;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1181:103:18;;;;;:::i;:::-;1237:38346:30;;;;;;;;;;;:::i;:::-;;;;;;;;;;2851:29;1237:38346;;2103:9;;1237:38346;;;;;;:::i;:::-;;;;2103:9;;;;2915:32;1237:38346;;2974:80;1237:38346;2974:80;;1237:38346;2652:95;1237:38346;;2652:95;;1237:38346;2652:95;;;1237:38346;3025:13;2652:95;;;1237:38346;3048:4;2652:95;;;1237:38346;2652:95;2974:80;;;;;;:::i;:::-;1559:5;2964:91;;3203:46;1237:38346;3679:24;;;:::i;:::-;3737:52;;;;;:::i;:::-;-1:-1:-1;1237:38346:30;;;3844:17;1237:38346;;3844:17;1237:38346;;3876:120;3896:10;;;;;;4035:9;;;;:::i;3908:3::-;3962:6;;;2103:9;3962:6;3944:37;3962:6;;;;;:::i;:::-;3970:10;;;;:::i;:::-;;3944:37;;;:::i;:::-;1237:38346;3908:3;1237:38346;3881:13;;;;1237:38346;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;507:19:2;1237:38346:30;;;;;;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;;;;;;507:55:2;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4863:10:4;;1237:38346:30;;;;;;;;;;;;;4939:32:4;;;1237:38346:30;;5026:31:4;;;;:::i;:::-;1237:38346:30;;;;;;;;;;;;;;;;4863:10:4;;5072:54;;;1237:38346:30;;;;;;;;;;;5154:47:4;;;;:::i;:::-;;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;279:74:2;1237:38346:30;;;;;;;279:74:2;1237:38346:30;-1:-1:-1;1237:38346:30;;;;;-1:-1:-1;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;1065:197:5;1237:38346:30;;;;;;;;;;;;;;;;3341:19;1237:38346;;;;;;;;;;;;;;;;;;;;;;;;;;;694:10:2;1237:38346:30;;;674:19:2;1237:38346:30;;;;;;;674:36:2;1237:38346:30;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;674:38:2;1237:38346:30;;674:38:2;:::i;:::-;1237:38346:30;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2894:10:4;1237:38346:30;;;;;;;;;;;2923:19:4;;;1237:38346:30;;3023:20:4;;;1237:38346:30;;;;;;3004:39:4;;1237:38346:30;;3123:22:4;3136:9;1237:38346:30;3136:9:4;1237:38346:30;;;;3123:22:4;:::i;:::-;3163:9;;;1237:38346:30;;;3213:26:4;;1237:38346:30;;;;;;;;;;:::i;:::-;;;;;3291:137:4;;1237:38346:30;3023:20:4;1237:38346:30;;;3291:137:4;;1237:38346:30;;;;;3291:137:4;;;1237:38346:30;;;;3023:20:4;3291:137;;;1237:38346:30;;;;;2894:10:4;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3443:47:4;1237:38346:30;2894:10:4;3443:47;;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7847:126;7875:97;1237:38346;7847:126;;:186;;;;;1237:38346;7847:236;;;;1237:38346;7847:298;;;;1237:38346;7847:338;;;;1237:38346;;;;;;;;;;7847:338;877:25:25;862:40;;;7847:338:30;;;:298;7941:31;8099:46;;;-1:-1:-1;7847:298:30;;:236;7907:31;8037:46;;;-1:-1:-1;7847:236:30;;:186;7875:29;7989:44;;;-1:-1:-1;7847:186:30;;1237:38346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15890:9;;15939:4;;15917:10;:27;1237:38346;;16012:14;;1237:38346;16060:20;;1237:38346;16199:9;16211:2;16199:9;1237:38346;;;1559:5;1237:38346;16236:31;;1237:38346;;;;-1:-1:-1;16195:253:30;;1237:38346;1559:5;;;16544:19;;16540:557;;1237:38346;17160:9;;;;;;1805:4;17160:9;;1805:4;;1237:38346;;;;;1805:4;;:::i;:::-;17208:48;34177:9;34220:21;34285:14;;1237:38346;37493:20;;1237:38346;;37558:28;;1237:38346;37656:35;1237:38346;;3696:5:1;;;:13;:5;;;:13;;;34706:60:30;1237:38346;;34394:17;;1559:5;1237:38346;;;1805:4;;1237:38346;34745:20;;1237:38346;34706:60;;:::i;:::-;1237:38346;;;;34842:23;1237:38346;;-1:-1:-1;;1559:5:30;1237:38346;;;34838:1262;36135:9;1805:4;;1237:38346;;;;;;;36283:23;;;;36279:796;36283:23;;;1237:38346;;;;;;;;36338:36;36330:44;36338:36;;1237:38346;36398:23;;36545:9;36398:23;36462:6;;;;:::i;:::-;36545:9;:::i;36326:440::-;36602:146;1237:38346;;36602:146;1237:38346;;;36602:146;1237:38346;;;;;;;;;;;;36279:796;1805:4;36862:40;1805:4;;;;;;;36862:40;1237:38346;;1706:8:4;1237:38346:30;1706:8:4;1237:38346:30;;;1706:8:4;1237:38346:30;;;;;;;;1558:305:4;;36862:40:30;;1237:38346;;;;;;36935:41;37050:9;36935:41;1237:38346;36935:41;;37050:9;;:::i;:::-;36279:796;;34838:1262;34954:25;;;;1559:5;;34997:1089;;34838:1262;;;;;;34997:1089;35124:9;;;;;;1237:38346;;;;;;;35167:36;35159:44;;35155:549;;34997:1089;35943:9;;1237:38346;35999:68;35943:9;;1805:4;;36035:31;;1237:38346;35999:68;;:::i;:::-;34997:1089;;;;;;35155:549;1237:38346;35269:31;;1237:38346;35235:160;;;;;;1237:38346;;;;;;;;;;;;35235:160;;;;;;;1237:38346;35235:160;;1237:38346;35235:160;;1237:38346;;;;;;;;;;;:::i;:::-;;;;;;;;;;;35235:160;;;;;;;35155:549;-1:-1:-1;35231:451:30;;1237:38346;35555:41;;:::i;:::-;1237:38346;;35633:22;;;;;;1237:38346;;35633:22;;1237:38346;;;;;;:::i;35231:451::-;1237:38346;35999:68;35155:549;;35235:160;1237:38346;35235:160;;;:::i;:::-;1237:38346;;;35235:160;;;;1237:38346;;;;;;;;;;;;;3696:13:1;;;;;;16540:557:30;1559:5;1237:38346;1559:5;;;;;1237:38346;;1559:5;;1237:38346;368:118:15;;;;16664:8:30;16660:427;;16540:557;;;;;;16660:427;1805:4;38807:67;;;;1237:38346;38807:67;16763:41;;;:::i;:::-;1559:5;;;16822:152;;16660:427;39090:66;;;1237:38346;39090:66;1237:38346;16660:427;;;;;;16822:152;16872:83;1805:4;;1559:5;1237:38346;;1559:5;;1237:38346;16933:13;;1237:38346;16872:83;1237:38346;;16872:83;;;;;:::i;:::-;;;;16822:152;;;;;16195:253;16308:126;1237:38346;16308:126;1237:38346;;16308:126;1237:38346;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1237:38346:30;;;;;-1:-1:-1;1237:38346:30;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1237:38346:30;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1805:4::-;;1237:38346;;;1805:4;;1559:5;;1237:38346;;;;;;1805:4;1237:38346;;;1805:4;-1:-1:-1;1805:4:30;;;;;;1237:38346;;1805:4;;;:::o;:::-;;;;;;1237:38346;;1805:4;;;;;;;;:::i;:::-;;:::o;1237:38346::-;;;;;;;;;;:::o;:::-;;;;;;;;;;6919:295;1237:38346;7044:27;1237:38346;;7092:21;;7088:79;;6919:295;1237:38346;;6919:295;:::o;7088:79::-;-1:-1:-1;7125:42:30;7088:79;;1237:38346;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1237:38346:30;;;;:::o;:::-;;;:::o;6367:300::-;3445:249:24;6367:300:30;6498:54;;;:::i;:::-;3341:19;1237:38346;1668:13:5;;;;:::i;:::-;1752:82;:25;;;;:82;;2050:14;1882:15;;;;;;:::i;:::-;3287:193:1;;;;;;;;2120:23:5;;;;;;;:::i;:::-;3287:193:1;;;;;;;;1237:38346:30;3287:193:1;1237:38346:30;2162:233:5;1237:38346:30;1707:12:5;2162:233;;1237:38346:30;1065:197:5;1237:38346:30;;;3287:193:1;1237:38346:30;;;1707:12:5;;;1237:38346:30;1882:15:5;1237:38346:30;;;1935:23:5;1237:38346:30;;;1997:25:5;1237:38346:30;;;1935:23:5;;;1237:38346:30;;;;;1997:25:5;;;1237:38346:30;2120:23:5;1237:38346:30;;;2050:14:5;1237:38346:30;;;;;;;;;;2162:233:5;;;;;;:::i;:::-;1559:5:30;4988:47:5;;3287:193:1;3445:249:24;;;;;3341:19:30;3445:249:24;;;;;;;;6367:300:30;:::o;1752:82:5:-;1818:15;;;;;;;:::i;:::-;3287:193:1;;1818:15:5;3287:193:1;;;;;1752:82:5;;;1237:38346:30;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1237:38346:30;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;1237:38346:30;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;-1:-1:-1;1237:38346:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;1559:5;;1237:38346;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1237:38346:30;;;;;;;;;;;:::o;2570:179:4:-;2712:30;1237:38346:30;;2660:37:4;2687:9;2660:37;1237:38346:30;;1706:8:4;1237:38346:30;1706:8:4;1237:38346:30;;;1706:8:4;1237:38346:30;;;;;;;;1558:305:4;;2660:37;1237:38346:30;;;;;;;2712:30:4;;2570:179::o;1237:38346:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;1176:508:15:-;1273:405;1805:4:30;1273:405:15;;;;1176:508;1273:405;;;;;;;;;;;;;;;;;;1176:508;:::o;1273:405::-;;1805:4:30;1273:405:15;;756:488:0;902:15;;;;;;:::i;:::-;932:28;;;;;;:::i;:::-;931:29;927:68;;1043:13;;;:::i;:::-;2535:113;1237:38346:30;2535:113:0;;;1237:38346:30;2535:113:0;1237:38346:30;;;;;2786:36:0;2782:241;;-1:-1:-1;3069:2:0;1237:38346:30;;1090:2:0;1071:21;;1090:2;;1237:38346:30;;902:15:0;1237:38346:30;445:6:0;1123:26;;;;;1237:38346:30;;;;;;1090:2:0;1123:26;;;;;;:::i;:::-;1559:5:30;1113:37:0;;1106:44;:::o;1067:170::-;1237:38346:30;1090:2:0;1237:38346:30;;;1194:42:0;;1237:38346:30;902:15:0;1237:38346:30;1194:42:0;;;445:6;1194:42;;;;;1237:38346:30;;;;;;1090:2:0;1237:38346:30;;;;;;;;;;;;;;;;1194:42:0;;;;;;;;;:::i;2782:241::-;2919:18;:22;309:8;;2978:34;902:15;1237:38346:30;2978:34:0;;;309:8;2978:34;;;309:8;;;;;1237:38346:30;309:8:0;1237:38346:30;;;309:8:0;2978:34;309:8;;902:15;1237:38346:30;309:8:0;;;;;;;;;;;;1237:38346:30;309:8:0;1237:38346:30;;;309:8:0;;927:68;976:8;;;1237:38346:30;976:8:0;:::o;1290:346:18:-;637:66;3321:69:22;1413:93:18;;1624:4;637:66;3550:68:22;1290:346:18:o;1413:93::-;1465:30;-1:-1:-1;1465:30:18;;-1:-1:-1;1465:30:18;13865:743:30;;;;;14120:19;1237:38346;14173:10;;;;;;13865:743;;;;:::o;14185:3::-;14235:26;;;;:::i;:::-;;14391:6;;;;;:::i;:::-;1237:38346;31433:9;;31482:17;;17635:13;1237:38346;17635:13;;;:::i;:::-;1237:38346;;;17674:12;;;1237:38346;17674:12;17658:13;;1237:38346;17780:23;;;1237:38346;17751:53;430:2:5;1237:38346:30;17780:23;1237:38346;430:2:5;;2525:52;17697:28:30;;;17727:20;;;;1237:38346;;;;;17814:26;;;17843:25;;;1237:38346;;;17814:26;17962:14;;1237:38346;17933:44;430:2:5;1237:38346:30;17780:23;1237:38346;430:2:5;;2525:52;17879:28:30;;;17909:20;;;;1237:38346;;;;;18021:23;;;;;;:::i;:::-;18058:27;;18054:489;;14185:3;38807:67;;17697:28;38807:67;31702:21;;;:::i;:::-;31679:20;17674:12;31679:20;;1237:38346;;;39090:66;17697:28;39090:66;1237:38346;;;;;;32013:49;1237:38346;;32013:72;32100:37;1237:38346;17780:23;32100:37;;1237:38346;;;32013:124;32140:31;17843:25;32140:31;;1237:38346;;;32013:158;1237:38346;;32013:181;1237:38346;;32013:224;32255:33;1237:38346;;;;;;;;;;;;;;;;;;;32411:17;17697:28;32411:17;;1237:38346;;;;21878:14;1237:38346;18021:23;21878:14;;21990:11;1559:5;;;;1237:38346;21990:11;;17697:28;21990:11;;;;:::i;:::-;;;;;:::i;:::-;22036:17;1559:5;1237:38346;22067:31;1237:38346;22116:23;;;22112:182;;14185:3;23324:14;;17697:28;23324:35;;1237:38346;1559:5;;1237:38346;;23417:12;;17697:28;38807:67;1805:4;;;;;;23542:85;17674:12;23542:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;23641:326;;1237:38346;17674:12;23641:326;;;;1237:38346;23641:326;;;17674:12;23641:326;;;14185:3;17697:28;39090:66;24032:8;24028:286;;22116:23;;22399:205;;14185:3;1559:5;;1237:38346;1559:5;;1237:38346;17674:12;17658:13;;1237:38346;;;;;17674:12;1237:38346;17697:28;1237:38346;;;;17697:28;1237:38346;;-1:-1:-1;1237:38346:30;;;;;-1:-1:-1;1237:38346:30;;;;1154:34:2;;;;:::i;:::-;1237:38346:30;;;1154:41:2;1237:38346:30;;32715:9;1805:4;;32706:41;32702:138;;1237:38346;18021:23;17727:20;32894:17;;1559:5;1237:38346;32890:155;;14185:3;33078:23;;1237:38346;33078:23;;17843:25;33078:23;;17780;33078;17727:20;28828:34;33078:23;;1237:38346;17843:25;1237:38346;33180:9;;1805:4;;1237:38346;33150:18;;1237:38346;28828:34;:::i;:::-;1237:38346;;28872:111;;28992:96;;29390:43;1237:38346;29390:43;;:::i;:::-;1237:38346;;29443:105;;29557:106;;1237:38346;;14158:13;;29557:106;29598:54;1237:38346;17697:28;1237:38346;29598:54;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;;;;;;29598:54;29443:105;29496:41;1237:38346;17697:28;1237:38346;29496:41;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;29496:41;28992:96;29033:44;1237:38346;17697:28;1237:38346;29033:44;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;29033:44;28872:111;28931:41;1237:38346;17697:28;1237:38346;28931:41;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;28931:41;32890:155;25277:9;;;;;;;;;;25330:14;;;25378:17;18021:23;25378:17;;1559:5;1237:38346;;;;25468:48;;;:::i;:::-;25467:49;25463:146;;26266:91;;25655:37;;;;;;;17780:23;25655:37;1237:38346;38807:67;26266:91;17697:28;38807:67;1805:4;;;;1237:38346;;26266:91;17674:12;26266:91;;;;;;23542:85;26266:91;;;:::i;:::-;1237:38346;26387:14;;;:24;;17780:23;1237:38346;18021:23;26387:24;;1559:5;1237:38346;26461:44;;1237:38346;26654:1236;;;;;;;;;1237:38346;26654:1236;;;;;;17697:28;26654:1236;;;;;27928:8;;1237:38346;;;27928:31;;32890:155;27928:72;;;;;32890:155;27924:205;;;1237:38346;;23542:85;1237:38346;;;4020:413:1;;;17697:28:30;4020:413:1;25810:9:30;1805:4;;25801:43;25797:149;;-1:-1:-1;32941:93:30;;17843:25;32890:155;;25797:149;25871:60;;;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;;;;;;25871:60;27924:205;28072:41;1237:38346;28072:41;;:::i;:::-;17697:28;1237:38346;28027:87;;;;;;26266:91;28027:87;;1237:38346;23542:85;1237:38346;;;;;;;;;;;;;17843:25;1237:38346;;;;;;;;;:::i;27928:72::-;26654:1236;;27979:2;26654:1236;;;1237:38346;;27963:37;27928:72;;;:31;17697:28;27940:19;;;-1:-1:-1;27928:31:30;;;25463:146;25543:51;1237:38346;17697:28;1237:38346;25543:51;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;25543:51;32702:138;32774:51;1237:38346;17697:28;1237:38346;32774:51;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;32774:51;1237:38346;;;17697:28;1237:38346;;;;;;;;;17697:28;23542:85;1237:38346;;;;;;;;;;;;;;22399:205;22451:45;;;:::i;:::-;22450:46;22446:144;;22399:205;;;;22446:144;22527:44;1237:38346;17697:28;1237:38346;22527:44;;;;;;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;22527:44;24028:286;24060:18;;;;;24110:46;1237:38346;17697:28;1237:38346;24110:46;;;;23542:85;24110:46;;1237:38346;17697:28;23542:85;1237:38346;;;;;;;;;;;;;24110:46;24056:248;24247:41;;:::i;:::-;1237:38346;;17697:28;1237:38346;24202:87;;;;;;23542:85;24202:87;;1237:38346;17727:20;23542:85;1237:38346;;;;;;;;;;;;;17843:25;1237:38346;;;;;;;;;:::i;23641:326::-;1237:38346;;-1:-1:-1;23641:326:30;;22112:182;1237:38346;;;;;;17674:12;1237:38346;17697:28;1237:38346;;;22230:21;;;:49;:21;;;:49;1237:38346;22230:49;22112:182;;;22230:49;1805:4;;22230:49;;1237:38346;;;;;;;;;;;17697:28;23542:85;1237:38346;;;;;;;;;;;;;;18054:489;486:2:5;18109:65:30;;486:2:5;;1237:38346:30;368:2:5;1237:38346:30;;;368:2:5;;17727:20:30;309:8:0;;23542:85:30;1237:38346;-1:-1:-1;1237:38346:30;;368:2:5;1237:38346:30;;430:2:5;;486;1237:38346:30;;;430:2:5;23542:85:30;4512:78:5;;1237:38346:30;430:2:5;17780:23:30;430:2:5;;17843:25:30;18304:31;;1237:38346;17780:23;430:2:5;;17780:23:30;18265:37;;1237:38346;18439:23;;486:2:5;;18021:23:30;18503:17;;1237:38346;18054:489;;;;9014:2957;;;;9218:9;9286:20;;;1237:38346;38807:67;;9428:15;;;9286:20;9428:15;;;;:::i;:::-;1237:38346;9523:160;;;;;9014:2957;1237:38346;;9713:38;9700:51;9713:38;;9855:17;;;1237:38346;;9904:68;1237:38346;9800:74;10114:178;9855:17;;;;1805:4;38807:67;1237:38346;9800:74;;;9713:38;9800:74;;;;38807:67;9800:74;;;1237:38346;;;;;;:::i;:::-;;;;;;9800:74;;;;;;;;:::i;:::-;1237:38346;38807:67;1237:38346;9904:68;;;1237:38346;9904:68;;;;1237:38346;9800:74;9904:68;;1237:38346;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9904:68::-;10114:178;;;;;;;;;1237:38346;10114:178;39090:66;38807:67;39090:66;10357:8;10353:1612;;9696:405;9014:2957;;;;:::o;10353:1612::-;10381:23;;;;;;1237:38346;10418:228;10114:178;10418:228;;;10353:1612;1237:38346;10663:35;;1237:38346;;10899:36;1237:38346;38807:67;1237:38346;10899:36;;;;;;;1237:38346;38807:67;1736:13;;;;;;;;1237:38346;1736:13;1237:38346;;;1736:13;10899:36;10659:1296;10960:43;;-1:-1:-1;10960:43:30;;1665:13;10960:43;1665:13;;11145:9;11136:36;:18;11344:9;11145;;11136:18;;:::i;:::-;11157:15;;;1237:38346;11136:36;;:::i;:::-;38807:67;11214:14;;1237:38346;11265:6;;;;;:::i;11344:9::-;10956:999;;10353:1612;;;;;;10956:999;38807:67;11794:18;38807:67;;;10114:178;11530:17;;1805:4;11569:14;;1559:5;11490:223;10114:178;1237:38346;1559:5;;1237:38346;11612:20;;1237:38346;11654:41;;:::i;:::-;1237:38346;11490:223;38807:67;1237:38346;11490:223;;;;;:::i;:::-;;;;38807:67;39090:66;11803:9;11794:18;;:::i;:::-;:36;11815:15;;;1237:38346;;;11794:36;;:::i;:::-;11860:80;1237:38346;34177:9;;34220:21;34285:14;;37493:20;;;1237:38346;37558:28;;;1237:38346;37656:35;1237:38346;;3696:5:1;;;:13;:5;;;:13;;;34706:60:30;1237:38346;34394:17;;;1559:5;1237:38346;;;1805:4;;9286:20;34745;;1237:38346;34706:60;;:::i;:::-;1237:38346;;;;34842:23;1237:38346;;-1:-1:-1;;1559:5:30;1237:38346;;;34838:1262;36135:9;1805:4;;1237:38346;;;;;38807:67;36251:14;;1237:38346;36283:23;;;;36279:796;36283:23;;;1237:38346;;;;;36398:23;;;36545:9;36398:23;36462:6;;;;:::i;36545:9::-;10956:999;;;1237:38346;;;;;;;;;;36279:796;36862:40;1805:4;;;;;;;36862:40;1237:38346;;1706:8:4;1237:38346:30;1706:8:4;1237:38346:30;;;1706:8:4;1237:38346:30;;;;;;;;1558:305:4;;36862:40:30;;1237:38346;;37050:9;;;1237:38346;37050:9;;;:::i;:::-;36279:796;;34838:1262;34954:25;;;1559:5;34997:1089;;34838:1262;;;;34997:1089;35124:9;;;;35999:68;35124:9;1237:38346;36035:31;1237:38346;35943:9;;1805:4;;36035:31;;1237:38346;35999:68;;:::i;:::-;34997:1089;;;;3696:13:1;;;;;;10418:228:30;;10114:178;1237:38346;10418:228;;1237:38346;10418:228;;;9696:405;10023:63;;;1237:38346;10023:63;1237:38346;10023:63;1237:38346;10023:63;;;;1237:38346;10023:63;;;1237:38346;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10023:63;;;;;;;;:::i;:::-;10114:178;1237:38346;10011:75;9696:405;;9523:160;-1:-1:-1;9523:160:30;;;;8421:286;1237:38346;;8522:25;;1237:38346;;8545:1;8604:35;;;;;;;;;:::i;:::-;;1237:38346;;;8421:286::o;1237:38346::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39168:413;;2052:5;1237:38346;;39303:43;;;39299:90;;39524:3;1805:4;1938:2;1805:4;;1237:38346;;39168:413;:::o;39299:90::-;39366:8;;1237:38346;39366:8;:::o;12404:411::-;;;;12571:237;1237:38346;12603:17;;;1805:4;12634:14;;1559:5;1237:38346;1559:5;;1237:38346;12669:24;12603:17;1237:38346;12669:24;;;1559:5;1237:38346;12707:20;;1237:38346;;;;;;;;12603:17;1237:38346;;;;;;;;;;;12571:237;12404:411::o;:::-;;1237:38346;12571:237;12404:411;12603:17;;;1805:4;12634:14;;1559:5;1237:38346;1559:5;;1237:38346;12669:24;12603:17;1237:38346;12669:24;;;1559:5;1237:38346;12707:20;;1237:38346;;;;;;;;;12603:17;1237:38346;;;;;;;;;;;12571:237;12404:411::o;12987:183::-;13100:17;;;1805:4;13119:14;;1559:5;13073:90;13100:17;1559:5;1237:38346;1559:5;;1237:38346;13142:20;;1237:38346;;;;;;13073:90;12987:183::o;1557:552:0:-;;1672:1;-1:-1:-1;1650:62:0;;1861:95;445:6;;1237:38346:30;2053:49:0;;1557:552::o;1650:62::-;1689:12;1237:38346:30;1689:12:0;:::o;29999:517:30:-;30173:19;;30169:76;;30191:1;1237:38346;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1666:3:1;1237:38346:30;;1680:15:1;;;1676:67;;29999:517:30;1237:38346;;1794:8:1;1237:38346:30;;;;;;;;;:::i;:::-;;;;1817:50:1;1237:38346:30;1817:50:1;;1237:38346:30;;1817:50:1;;;;1237:38346:30;30400:15;:33;:71;;;;;30383:88;30481:28;29999:517;:::o;30400:71::-;:15;;;30437:34;;30481:28;29999:517;:::o;1676:67:1:-;1237:38346:30;;-1:-1:-1;1676:67:1;;30169:76:30;30208:26;30191:1;30208:26;30191:1;30208:26;:::o;19431:1671::-;;;;;19600:1;19581:20;;19577:1519;;19431:1671;;;;;;:::o;19577:1519::-;19634:14;;1559:5;1237:38346;1559:5;;1237:38346;19673:43;;;;;:::i;:::-;19669:495;;20181:18;;;20177:121;;20333:2;20315:20;;20311:110;;20452:15;1237:38346;;20452:15;;:::i;:::-;1237:38346;20486:35;:14;;:35;1237:38346;20486:35;1237:38346;20452:80;;;;1237:38346;20452:80;;;;;;1237:38346;;;;;;;;;;:::i;:::-;20452:80;;;;;;;;;;;;19577:1519;1237:38346;;;;20550:21;;20546:115;;20678:17;;20674:116;;20807:19;:24;20803:123;;1237:38346;20333:2;1237:38346;;;21008:77;20965:23;20486:35;20965:23;368:2:5;;1237:38346:30;;;21024:17;;1805:4;21060:14;;:24;1559:5;1237:38346;;;;309:8:0;;;;1237:38346:30;;;;;;21008:77;19577:1519;;;;;;;1237:38346;;;20803:123;20858:53;1237:38346;20486:35;1237:38346;20858:53;;;;20452:80;20858:53;;1237:38346;20486:35;1237:38346;;;;;;;;;;;;;;20858:53;20674:116;20722:53;1237:38346;20486:35;1237:38346;20722:53;;;;20452:80;20722:53;;1237:38346;20486:35;1237:38346;;;;;;;;;;;;;;20722:53;20546:115;20598:48;1237:38346;20486:35;1237:38346;20598:48;;;;20452:80;20598:48;;1237:38346;20486:35;1237:38346;;;;;;;;;;;;;;20598:48;20452:80;;;;1237:38346;20452:80;1237:38346;20452:80;;;;;;;:::i;:::-;;;;;20486:35;1237:38346;;;;;;;;20311:110;20362:44;1237:38346;;;20362:44;;;;;;;1237:38346;;;;;;;;;;;;;;;;20362:44;20177:121;20231:52;1237:38346;;;20231:52;;;;;;;1237:38346;;;;;;;;;;;;;;;;20231:52;19669:495;19740:20;;;;;;19758:2;19740:20;;19736:390;;20143:7;;;;:::o;19736:390::-;20048:35;1237:38346;20009:15;;:::i;:::-;1237:38346;20048:35;;1237:38346;;;19758:2;1237:38346;;;20009:98;;;;;19600:1;1237:38346;;;;20048:35;1237:38346;20009:98;;;;;;;1237:38346;20009:98;;;;;1237:38346;20048:35;1237:38346;;;;19758:2;1237:38346;;;;;;;;;:::i;:::-;20009:98;;;;;;;;;19736:390;;;;;;20009:98;19600:1;20009:98;;;:::i;:::-;19600:1;20009:98;;;20048:35;1237:38346;;19600:1;1237:38346;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;2134:396:4:-;1237:38346:30;;;;;;;;;;;;;2367:23:4;;;2363:74;;1805:4:30;1237:38346;;2509:4:4;2134:396;:::o", "linkReferences": {} }, "methodIdentifiers": { "addStake(uint32)": "0396cb60", "balanceOf(address)": "70a08231", "delegateAndRevert(address,bytes)": "850aaf62", "depositTo(address)": "b760faf9", "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)": "0042dc53", "nonceSequenceNumber(address,uint192)": "1b2e01b8", "senderCreator()": "09ccb880", "supportsInterface(bytes4)": "01ffc9a7", "unlockStake()": "bb9fe6bf", "withdrawStake(address)": "c23a5cea", "withdrawTo(address,uint256)": "205c2878" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"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\":[{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"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\":\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointFilterOpsOverride08.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 EntryPointFilterOpsOverride08.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:security-contact\":\"https://bounty.ethereum.org\",\"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.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the reverted call to \\\"postOp\\\".\",\"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 \\\"callData\\\" call.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"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.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"incrementNonce(uint192)\":{\"params\":{\"key\":\"- the \\\"nonce key\\\" to increment the \\\"nonce sequence\\\" for.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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 andhandleAggregatedOps, to identify the offending op. Should be caught in off-chain handleOps/handleAggregatedOps 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 and handleAggregatedOps, 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() and handleAggregatedOps(), 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\":{\"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.this method cannot be used for EIP-7702 derived contracts.\"},\"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), entrypoint address, chainId and (optionally) 7702 delegate address\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"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.\"},\"senderCreator()\":{\"notice\":\"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts.\"},\"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.\"}},\"notice\":\"Account-Abstraction (EIP-4337) singleton EntryPoint v0.8 implementation. Only one instance required on each chain.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPointFilterOpsOverride.sol\":\"EntryPointFilterOpsOverride08\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"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-v8/contracts/core/Eip7702Support.sol\":{\"keccak256\":\"0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99\",\"dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01\",\"dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE\"]},\"lib/account-abstraction-v8/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df\",\"dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy\"]},\"lib/account-abstraction-v8/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2\",\"dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5\"]},\"lib/account-abstraction-v8/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced\",\"dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77\",\"dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT\"]},\"lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931\",\"dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87\"]},\"lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d\",\"dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX\"]},\"lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00\",\"dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85\",\"dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz\"]},\"lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"lib/account-abstraction-v8/contracts/utils/Exec.sol\":{\"keccak256\":\"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868\",\"dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8\"]},\"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/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v08/EntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0x71eef8f2f9c3c5b35f361887988297f383fe31b1278e99a5751125a7e278a36d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://98b495e5f19b7d7d0e3ecdcc75f95b56c852d2a569bd148d7165b82d9bd0c099\",\"dweb:/ipfs/QmYV6oUAUC2rW4wGsQQz3EhKC6cvtiNMD3wf11Lf6qC4ct\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.28+commit.7893614a" }, "language": "Solidity", "output": { "abi": [{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [{ "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": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "factory", "type": "address", "indexed": false }, { "internalType": "address", "name": "paymaster", "type": "address", "indexed": false }], "type": "event", "name": "AccountDeployed", "anonymous": false }, { "inputs": [], "type": "event", "name": "BeforeExecution", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalDeposit", "type": "uint256", "indexed": false }], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [{ "internalType": "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": "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": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "view", "type": "function", "name": "getDepositInfo", "outputs": [{ "internalType": "struct IStakeManager.DepositInfo", "name": "info", "type": "tuple", "components": [{ "internalType": "uint256", "name": "deposit", "type": "uint256" }, { "internalType": "bool", "name": "staked", "type": "bool" }, { "internalType": "uint112", "name": "stake", "type": "uint112" }, { "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "withdrawTime", "type": "uint48" }] }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDomainSeparatorV4", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "getNonce", "outputs": [{ "internalType": "uint256", "name": "nonce", "type": "uint256" }] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "getPackedUserOpTypeHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "bytes", "name": "initCode", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "getSenderAddress" }, { "inputs": [{ "internalType": "struct PackedUserOperation", "name": "userOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }], "stateMutability": "view", "type": "function", "name": "getUserOpHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "name": "opsPerAggregator", "type": "tuple[]", "components": [{ "internalType": "struct PackedUserOperation[]", "name": "userOps", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "contract IAggregator", "name": "aggregator", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleAggregatedOps" }, { "inputs": [{ "internalType": "struct PackedUserOperation[]", "name": "ops", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleOps" }, { "inputs": [{ "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "nonpayable", "type": "function", "name": "incrementNonce" }, { "inputs": [{ "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "name": "opInfo", "type": "tuple", "components": [{ "internalType": "struct EntryPointFilterOpsOverride08.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" }], "stateMutability": "nonpayable", "type": "function", "name": "innerHandleOp", "outputs": [{ "internalType": "uint256", "name": "actualGasCost", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint192", "name": "", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "nonceSequenceNumber", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "senderCreator", "outputs": [{ "internalType": "contract ISenderCreator", "name": "", "type": "address" }] }, { "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "unlockStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }, { "internalType": "uint256", "name": "withdrawAmount", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [], "stateMutability": "payable", "type": "receive" }], "devdoc": { "kind": "dev", "methods": { "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." } }, "getDepositInfo(address)": { "params": { "account": "- The account to query." }, "returns": { "info": " - Full deposit information of given account." } }, "getNonce(address,uint192)": { "params": { "key": "the high 192 bit of the nonce", "sender": "the account address" }, "returns": { "nonce": "a full nonce to pass for next UserOp with this sender." } }, "getSenderAddress(bytes)": { "params": { "initCode": "- The constructor code to be passed into the UserOperation." } }, "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": { "params": { "userOp": "- The user operation to generate the request ID for." }, "returns": { "_0": "hash the hash of this UserOperation" } }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "opsPerAggregator": "- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)." } }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "ops": "- The operations to execute." } }, "incrementNonce(uint192)": { "params": { "key": "- the \"nonce key\" to increment the \"nonce sequence\" for." } }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "params": { "callData": "- The callData to execute.", "context": "- The context bytes.", "opInfo": "- The UserOpInfo struct." }, "returns": { "actualGasCost": "- the actual cost in eth this UserOperation paid for gas" } }, "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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": { "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.this method cannot be used for EIP-7702 derived contracts." }, "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), entrypoint address, chainId and (optionally) 7702 delegate address" }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "notice": "Execute a batch of UserOperation with Aggregators" }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "notice": "Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead." }, "incrementNonce(uint192)": { "notice": "Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key." }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "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." }, "senderCreator()": { "notice": "Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts." }, "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": 1000000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/v08/EntryPointFilterOpsOverride.sol": "EntryPointFilterOpsOverride08" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "lib/account-abstraction-v8/contracts/core/Eip7702Support.sol": { "keccak256": "0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d", "urls": ["bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99", "dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/Helpers.sol": { "keccak256": "0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e", "urls": ["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f", "dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/NonceManager.sol": { "keccak256": "0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c", "urls": ["bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01", "dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/SenderCreator.sol": { "keccak256": "0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd", "urls": ["bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df", "dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/StakeManager.sol": { "keccak256": "0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a", "urls": ["bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2", "dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/UserOperationLib.sol": { "keccak256": "0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1", "urls": ["bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99", "dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccount.sol": { "keccak256": "0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864", "urls": ["bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319", "dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol": { "keccak256": "0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0", "urls": ["bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced", "dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol": { "keccak256": "0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf", "urls": ["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77", "dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64", "urls": ["bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931", "dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol": { "keccak256": "0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87", "urls": ["bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d", "dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8", "urls": ["bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00", "dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol": { "keccak256": "0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4", "urls": ["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570", "dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0", "urls": ["bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85", "dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol": { "keccak256": "0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800", "urls": ["bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79", "dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/utils/Exec.sol": { "keccak256": "0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd", "urls": ["bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868", "dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8"], "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/introspection/ERC165.sol": { "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa", "urls": ["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287", "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", "urls": ["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol": { "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", "urls": ["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol": { "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", "urls": ["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol": { "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3", "urls": ["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03", "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"], "license": "MIT" }, "src/v08/EntryPointFilterOpsOverride.sol": { "keccak256": "0x71eef8f2f9c3c5b35f361887988297f383fe31b1278e99a5751125a7e278a36d", "urls": ["bzz-raw://98b495e5f19b7d7d0e3ecdcc75f95b56c852d2a569bd148d7165b82d9bd0c099", "dweb:/ipfs/QmYV6oUAUC2rW4wGsQQz3EhKC6cvtiNMD3wf11Lf6qC4ct"], "license": "GPL-3.0" } }, "version": 1 }, "id": 30 }
1
+ { "abi": [{ "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "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": "getDepositInfo", "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], "outputs": [{ "name": "info", "type": "tuple", "internalType": "struct IStakeManager.DepositInfo", "components": [{ "name": "deposit", "type": "uint256", "internalType": "uint256" }, { "name": "staked", "type": "bool", "internalType": "bool" }, { "name": "stake", "type": "uint112", "internalType": "uint112" }, { "name": "unstakeDelaySec", "type": "uint32", "internalType": "uint32" }, { "name": "withdrawTime", "type": "uint48", "internalType": "uint48" }] }], "stateMutability": "view" }, { "type": "function", "name": "getDomainSeparatorV4", "inputs": [], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "getNonce", "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "nonce", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "getPackedUserOpTypeHash", "inputs": [], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "pure" }, { "type": "function", "name": "getSenderAddress", "inputs": [{ "name": "initCode", "type": "bytes", "internalType": "bytes" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUserOpHash", "inputs": [{ "name": "userOp", "type": "tuple", "internalType": "struct PackedUserOperation", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }], "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], "stateMutability": "view" }, { "type": "function", "name": "handleAggregatedOps", "inputs": [{ "name": "opsPerAggregator", "type": "tuple[]", "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "components": [{ "name": "userOps", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "aggregator", "type": "address", "internalType": "contract IAggregator" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "handleOps", "inputs": [{ "name": "ops", "type": "tuple[]", "internalType": "struct PackedUserOperation[]", "components": [{ "name": "sender", "type": "address", "internalType": "address" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "initCode", "type": "bytes", "internalType": "bytes" }, { "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "accountGasLimits", "type": "bytes32", "internalType": "bytes32" }, { "name": "preVerificationGas", "type": "uint256", "internalType": "uint256" }, { "name": "gasFees", "type": "bytes32", "internalType": "bytes32" }, { "name": "paymasterAndData", "type": "bytes", "internalType": "bytes" }, { "name": "signature", "type": "bytes", "internalType": "bytes" }] }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "incrementNonce", "inputs": [{ "name": "key", "type": "uint192", "internalType": "uint192" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "innerHandleOp", "inputs": [{ "name": "callData", "type": "bytes", "internalType": "bytes" }, { "name": "opInfo", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "components": [{ "name": "mUserOp", "type": "tuple", "internalType": "struct EntryPointFilterOpsOverride08.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" }], "outputs": [{ "name": "actualGasCost", "type": "uint256", "internalType": "uint256" }], "stateMutability": "nonpayable" }, { "type": "function", "name": "nonceSequenceNumber", "inputs": [{ "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint192", "internalType": "uint192" }], "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], "stateMutability": "view" }, { "type": "function", "name": "senderCreator", "inputs": [], "outputs": [{ "name": "", "type": "address", "internalType": "contract ISenderCreator" }], "stateMutability": "view" }, { "type": "function", "name": "supportsInterface", "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], "stateMutability": "view" }, { "type": "function", "name": "unlockStake", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawStake", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [{ "name": "withdrawAddress", "type": "address", "internalType": "address payable" }, { "name": "withdrawAmount", "type": "uint256", "internalType": "uint256" }], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccountDeployed", "inputs": [{ "name": "userOpHash", "type": "bytes32", "indexed": true, "internalType": "bytes32" }, { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "factory", "type": "address", "indexed": false, "internalType": "address" }, { "name": "paymaster", "type": "address", "indexed": false, "internalType": "address" }], "anonymous": false }, { "type": "event", "name": "BeforeExecution", "inputs": [], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [{ "name": "account", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalDeposit", "type": "uint256", "indexed": false, "internalType": "uint256" }], "anonymous": false }, { "type": "event", "name": "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": "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": "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" }] }], "bytecode": { "object": "0x60808060405234601557615117908161001a8239f35b5f80fdfe6101606040526004361015610024575b3615610019575f80fd5b6100223361319a565b005b5f610140525f3560e01c806242dc531461252f57806301ffc9a7146123dd5780630396cb601461202257806309ccb88014611fc95780630bd28e3b14611f2d57806313c65a6e14611eef578063154e58dc14611e945780631b2e01b814611dfe578063205c287814611c5d57806322cdde4c14611bd957806335567e1a14611b1f5780635287ce12146119ff57806370a0823114611994578063765e827f1461182a578063850aaf62146117655780639b249f6914611617578063b760faf9146115d6578063bb9fe6bf146113e7578063c23a5cea146111445763dbed18e00361000f5734610ebe5761011636612c8e565b6101005260e0526101256136a7565b6101405190815b60e0518110610f23575061013f82612fe0565b61012052610140516080526101405160c0525b60e05160c05110610290577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101d6576101a983610100516148bd565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102386101e68260e0518561320d565b73ffffffffffffffffffffffffffffffffffffffff610207602083016132a1565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061324d565b9061014051915b80831061025157505050600101610193565b90919460019061027e6102658885876130af565b6102746080516101205161311c565b51906080516141ff565b0195816080510160805201919061023f565b61029f60c05160e0518361320d565b73ffffffffffffffffffffffffffffffffffffffff6102cd60206102c3848061324d565b60a05293016132a1565b61014051911691905b60a05181106102fa5750505060a05160805101608052600160c0510160c052610152565b61030b81608051016101205161311c565b516103198260a051856130af565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff610340826132a1565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103a160e08201826132c2565b9081610e0a575b5050604051936103b782612e94565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610da45750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e0818351169261046a898d61045e60408b018b6132c2565b92909160805101614c13565b0151169661014051978015610d73575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104e19361508d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d52610511908d612b65565b61014051908c5190846101405190602095f161014051519a3d602003610d68575b60405215610c75575015610bf7575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105af84612e2b565b90551603610b8e575a840311610b255760e0015160609073ffffffffffffffffffffffffffffffffffffffff1661081c575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106169801520135905a900301910152614b73565b911685036107b35761074a5761064073ffffffffffffffffffffffffffffffffffffffff91614b73565b91166106e157610652576001016102d6565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085073ffffffffffffffffffffffffffffffffffffffff60e08d0151166040870151906150af565b15610abc5760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108d1816108a560208a015160408b015190602084019d8e52896024850161508d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612b65565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610ab0575b508115610a80575b506109fb5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161096f5750946105e1565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c610a07613444565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f61092e565b6040141591505f610926565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c00916150af565b15610c0c578b80610541565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610ce557608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610ced613444565b90610a7c6040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b610140519150610532565b6101408051849052516020819052604090205490985081811115610d9d5750610140515b9761047a565b8103610d97565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec55781601411610ebe5780359160248110610ebe57603411610ebe576024810135608090811c60a0880152601490910135811c90860152606081901c15610e605760601c60e085015289806103a8565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f308160e0518461320d565b92610f3b848061324d565b919073ffffffffffffffffffffffffffffffffffffffff610f5e602088016132a1565b1695600187146111125786610f7b575b505001925060010161012c565b806040610f899201906132c2565b91873b15610ebe57916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110b857505050505081611049917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561315c565b0381610140518a5af1908161109d575b5061109057847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f6e565b610140516110aa91612b65565b61014051610ebe575f611059565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ebe57602061110160019385839401613363565b980195019201889695949391611003565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761117b612c16565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156113895760981c65ffffffffffff16801561132b5742106112cd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611262612e65565b501561126f576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156115785760ff161561151a5765ffffffffffff4216019065ffffffffffff82116114e75780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761161061160b612c16565b61319a565b6101405180f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe57602061166b6116c6923690600401612c39565b73ffffffffffffffffffffffffffffffffffffffff611688612db8565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161315c565b039161014051905af180156117575773ffffffffffffffffffffffffffffffffffffffff916101405191611728575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b61174a915060203d602011611750575b6117428183612b65565b810190613130565b826116f5565b503d611738565b6040513d61014051823e3d90fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761179c612c16565b60243567ffffffffffffffff8111610ebe576117bc903690600401612c39565b604051929181908437820190610140518252610140519280610140519303915af46117e5612e65565b90610a7c6040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d21565b34610ebe5761183836612c8e565b6118439291926136a7565b604080516007906020906118578482612b65565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906118938582612b65565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261190960c082612b65565b51902060025561191883612fe0565b61192381858561371b565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b858310611964576101a985856148bd565b90919360019061198a6119788789876130af565b611982888661311c565b5190886141ff565b0194019190611953565b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff6119e0612c16565b1661014051526101405160205260206040610140512054604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff611a4b612c16565b604051611a5781612ae3565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aaa81612ae3565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020611b58612c16565b73ffffffffffffffffffffffffffffffffffffffff611b75612c67565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ebe57611c55602091600401612e94565b604051908152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611c94612c16565b6024359033610140515261014051602052604061014051208054808411611da05783611cbf91612e58565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d35612e65565b5015611d42576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611e35612c16565b73ffffffffffffffffffffffffffffffffffffffff611e52612c67565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020600254604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ebe57336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f20611fc08154612e2b565b90556101405180f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020612004612db8565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043563ffffffff8116809103610ebe57336101405152610140516020526040610140512090801561237f57600182015463ffffffff8160781c168210612321576120ab906dffffffffffffffffffffffffffff349160081c16612d7e565b9182156122c3576dffffffffffffffffffffffffffff8311612265575460405161222d916120d882612ae3565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ebe57807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612505575b81156124db575b81156124b1575b8115612487575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148261247c565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150612475565b7fcf28ef97000000000000000000000000000000000000000000000000000000008114915061246e565b7f989ccc580000000000000000000000000000000000000000000000000000000081149150612467565b34612992576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129925760043567ffffffffffffffff8111612992573660238201121561299257612590903690602481600401359101612be0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c0811261299257610140604051916125cc83612ae3565b12612992576040516125dd81612b2c565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361299257815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129925760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff8111612992576126b6903690600401612c39565b955a90303303612a855786516060810151955f96815191826129cb575b5050505050906126eb915a9003855101963691612be0565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146129c35750975b61275873ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149ad565b01925f928161286e5750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f1461281a57505060038110156127e7576002036127b95760209281611c5592936127b481614ace565b6149cc565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b81612850929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b5060038410156127e75782612869926020951590614a4d565b611c55565b909691878251612881575b50505061277c565b90919293505a92600388101561299657600288036128b7575b505060a06128ae925a9003910151906149ad565b90888080612879565b60a083015191803b15612992578b925f9283612913938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d21565b9202604484015260648301520393f1908161297d575b5061297357610a7c612939613444565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d21565b60a06128ae61289a565b5f61298791612b65565b5f610140528a612929565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b90509761272b565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f1156129fe575b8080806126d3565b6126eb9392955060405191612a11613444565b908151612a2a575b5050506040526001939091886129f6565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612a7a60405192839283612d64565b0390a3888080612a19565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612aff57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612aff57604052565b6060810190811067ffffffffffffffff821117612aff57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612aff57604052565b67ffffffffffffffff8111612aff57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612bec82612ba6565b91612bfa6040519384612b65565b829481845281830111612992578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361299257565b9181601f840112156129925782359167ffffffffffffffff8311612992576020838186019501011161299257565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361299257565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129925760043567ffffffffffffffff81116129925760040182601f820112156129925780359267ffffffffffffffff8411612992576020808301928560051b01011161299257919060243573ffffffffffffffffffffffffffffffffffffffff811681036129925790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612d7b939281528160208201520190612d21565b90565b91908201809211612d8b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d454168015612e10575b73ffffffffffffffffffffffffffffffffffffffff1690565b5073449ed7c3e6fee6a97311d4b55475df59c44add33612df7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612d8b5760010190565b91908203918211612d8b57565b3d15612e8f573d90612e7682612ba6565b91612e846040519384612b65565b82523d5f602084013e565b606090565b604290612ea081613471565b60025491612ead816132a1565b918015612fab57905b60c0612ec560608301836132c2565b90816040519182372091612edc60e08201826132c2565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612f7361014082612b65565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612fb960408201826132c2565b90816040519182372090612eb6565b67ffffffffffffffff8111612aff5760051b60200190565b90612fea82612fc8565b612ff76040519182612b65565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130258294612fc8565b01905f5b82811061303557505050565b60209060405161304481612ae3565b60405161305081612b2c565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f608082015282828501015201613029565b91908110156130ef5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee181360301821215612992570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156130ef5760209160051b010190565b90816020910312612992575173ffffffffffffffffffffffffffffffffffffffff811681036129925790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff613201348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b91908110156130ef5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215612992570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215612992570180359067ffffffffffffffff821161299257602001918160051b3603831361299257565b3573ffffffffffffffffffffffffffffffffffffffff811681036129925790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215612992570180359067ffffffffffffffff82116129925760200191813603831361299257565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561299257016020813591019167ffffffffffffffff821161299257813603831361299257565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129925773ffffffffffffffffffffffffffffffffffffffff612d7b93168152602082013560208201526134356134296133f06133d56133c26040870187613313565b610120604088015261012087019161315c565b6133e26060870187613313565b90868303606088015261315c565b6080850135608085015260a085013560a085015260c085013560c085015261341b60e0860186613313565b9085830360e087015261315c565b92610100810190613313565b9161010081850391015261315c565b3d6108008111613468575b604051906020818301016040528082525f602083013e90565b5061080061344f565b61347e60408201826132c2565b909161348a8284614b1e565b156136a057613498906132a1565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036135de575060181b916014821161353e5750506040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000080806020840194161616825260148152613538603482612b65565b51902090565b81601411612992576020613538916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612b65565b3b156136425760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6136f35760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b81811061372f5750505050565b613739818561311c565b516137458284866130af565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff613769826132a1565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c921691610120850190610100860193845281526137e860e08701876132c2565b9081614199575b50506040516137fd87612e94565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b0196875117895117905117116141375750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138928b848351169561388a60408d018d6132c2565b929091614c13565b015116985f998015614110575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c00000000000000000000000000000000000000000000000000000000865260248401926139009361508d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526139309082612b65565b51905f6020948194f15f519c3d602003614108575b6040521561401d575015613fa3575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139bc84612e2b565b90551603613f3e575a860311613ed95773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c19575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a259801520135905a900301910152614b73565b9116613bb457613b4f57613a4d73ffffffffffffffffffffffffffffffffffffffff91614b73565b9116613aea57613a5f57600101613722565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c4d916150af565b15613e7457613ca07f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108a560405193849251905190602084019d8e52896024850161508d565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613e68575b508115613e38575b50613dbb5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d335750948260a06139ee565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c613dc7613444565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613cef565b6040141591505f613ce7565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613fac916150af565b15613fb8575f80613954565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b61408957608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b614091613444565b90610a7c6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b5f9150613945565b9950815f525f60205260405f20548181115f1461413057505f5b9961389f565b810361412a565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec5578160141161299257803560601c916024811061299257601482013590603411612992576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e605760e08601525f806137ef565b9092915a6060820151604051958661421a60608301836132c2565b5f600382116148b5575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003614747575050505f6143316144256142bf6142f1602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a850152604060248501526064840190613363565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612b65565b6108a56040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d21565b6143f4604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d21565b828151910182305af15f519660405215614440575b50505050565b9091929394505f3d60201461473a575b7fdeaddead0000000000000000000000000000000000000000000000000000000081036144dc57608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa51000000000000000000000000000000000000000000000000000000000361453f5750614524614519614534925a90612e58565b608084015190612d7e565b6040830151836127b48295614ace565b905b5f80808061443a565b906145b29060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff845116930151614595613444565b906145a560405192839283612d64565b0390a36040525a90612e58565b6145c26080840191825190612d7e565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146147325750955b61463173ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149ad565b01925f92806147035750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146b75750508061468a5750908161468492936127b481614ace565b90614536565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6146ec908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b5061468a575090825f6146fe93614a4d565b614684565b95919051614712575b50614655565b9350905061472b5a9360a05f955a9003910151906149ad565b905f61470c565b905095614604565b5060205f803e5f51614450565b6148ac93506148809161478c917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161315c565b61484f604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d21565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612b65565b60205f87614425565b508135614224565b73ffffffffffffffffffffffffffffffffffffffff16801561494f575f80809381935af16148e9612e65565b50156148f157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c4082018111156149c657606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614b6e57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c0c575f60408051614b8781612b49565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff81169065ffffffffffff8160a01c16908115614bfe575b60409060d01c9165ffffffffffff825191614bd883612b49565b8583528460208401521691829101524211908115614bf557509091565b90504211159091565b65ffffffffffff9150614bbe565b505f905f90565b929190915f9080614c26575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614c4c8386614b1e565b614fa55750853b614f405760148210614edb5782602073ffffffffffffffffffffffffffffffffffffffff614c7f612db8565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614cc68c8b602484019161315c565b0393f1908115614ed0578491614eb1575b5073ffffffffffffffffffffffffffffffffffffffff81168015614e4c578703614de7573b15614d825750601411614d7f577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c1f565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614eca915060203d602011611750576117428183612b65565b5f614cd7565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b94505091905060148211614fb95750505050565b604073ffffffffffffffffffffffffffffffffffffffff614fd8612db8565b16930151908260141161299257833b15612992575f809461505c96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161315c565b0393f1801561508257615072575b80808061443a565b5f61507c91612b65565b5f61506a565b6040513d5f823e3d90fd5b6150a560409295949395606083526060830190613363565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136a05703905560019056fea264697066735822122013c2bd9c0655faabd17963505c2960c98b599b95d91d4d395b671b46988ce7a464736f6c634300081c0033", "sourceMap": "1237:38407:30:-:0;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6101606040526004361015610024575b3615610019575f80fd5b6100223361319a565b005b5f610140525f3560e01c806242dc531461252f57806301ffc9a7146123dd5780630396cb601461202257806309ccb88014611fc95780630bd28e3b14611f2d57806313c65a6e14611eef578063154e58dc14611e945780631b2e01b814611dfe578063205c287814611c5d57806322cdde4c14611bd957806335567e1a14611b1f5780635287ce12146119ff57806370a0823114611994578063765e827f1461182a578063850aaf62146117655780639b249f6914611617578063b760faf9146115d6578063bb9fe6bf146113e7578063c23a5cea146111445763dbed18e00361000f5734610ebe5761011636612c8e565b6101005260e0526101256136a7565b6101405190815b60e0518110610f23575061013f82612fe0565b61012052610140516080526101405160c0525b60e05160c05110610290577fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9726101405161014051a161014051608081905290815b60e05181106101d6576101a983610100516148bd565b610140517f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6101405180f35b6102386101e68260e0518561320d565b73ffffffffffffffffffffffffffffffffffffffff610207602083016132a1565b167f575ff3acadd5ab348fe1855e217e0f3678f8d767d7494c9f9fefbee2e17cca4d6101405161014051a28061324d565b9061014051915b80831061025157505050600101610193565b90919460019061027e6102658885876130af565b6102746080516101205161311c565b51906080516141ff565b0195816080510160805201919061023f565b61029f60c05160e0518361320d565b73ffffffffffffffffffffffffffffffffffffffff6102cd60206102c3848061324d565b60a05293016132a1565b61014051911691905b60a05181106102fa5750505060a05160805101608052600160c0510160c052610152565b61030b81608051016101205161311c565b516103198260a051856130af565b61014051915a81519273ffffffffffffffffffffffffffffffffffffffff610340826132a1565b168452602081810135908501526fffffffffffffffffffffffffffffffff6080808301358281166060880152811c604087015260a083013560c0808801919091528301359182166101008701521c6101208501526103a160e08201826132c2565b9081610e0a575b5050604051936103b782612e94565b6020850152846040526040810151946effffffffffffffffffffffffffffff8660c08401511760608401511760808401511760a084015117610100840151176101208401511711610da45750604081015160608201510160808201510160a08201510160c0820151016101008201510294856040860152845173ffffffffffffffffffffffffffffffffffffffff60e0818351169261046a898d61045e60408b018b6132c2565b92909160805101614c13565b0151169661014051978015610d73575b87516040810151905173ffffffffffffffffffffffffffffffffffffffff169061014051506040519a8b8960208d01519260208301937f19822f7c00000000000000000000000000000000000000000000000000000000855260248401926104e19361508d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018d52610511908d612b65565b61014051908c5190846101405190602095f161014051519a3d602003610d68575b60405215610c75575015610bf7575b505073ffffffffffffffffffffffffffffffffffffffff825116602083015190610140515260016020526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926105af84612e2b565b90551603610b8e575a840311610b255760e0015160609073ffffffffffffffffffffffffffffffffffffffff1661081c575b73ffffffffffffffffffffffffffffffffffffffff949260a0859360809360606106169801520135905a900301910152614b73565b911685036107b35761074a5761064073ffffffffffffffffffffffffffffffffffffffff91614b73565b91166106e157610652576001016102d6565b60a490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9897969594505a9883519961085073ffffffffffffffffffffffffffffffffffffffff60e08d0151166040870151906150af565b15610abc5760807f52b7512c000000000000000000000000000000000000000000000000000000009798999a9b01516040516108d1816108a560208a015160408b015190602084019d8e52896024850161508d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612b65565b8651608073ffffffffffffffffffffffffffffffffffffffff60e08301511691015161014051918b61014051928551926101405191f1983d908161014051843e51948251604084019b8c519015918215610ab0575b508115610a80575b506109fb5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a90031161096f5750946105e1565b80887f220266b60000000000000000000000000000000000000000000000000000000060a4935260805101600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c610a07613444565b6040519384937f65c8fd4d0000000000000000000000000000000000000000000000000000000085526080510160048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b0390fd5b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f61092e565b6040141591505f610926565b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608487604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b610c00916150af565b15610c0c578b80610541565b608488604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8b903b610ce557608490604051907f220266b600000000000000000000000000000000000000000000000000000000825260805101600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b610ced613444565b90610a7c6040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260805101600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b610140519150610532565b6101408051849052516020819052604090205490985081811115610d9d5750610140515b9761047a565b8103610d97565b80887f220266b6000000000000000000000000000000000000000000000000000000006084935260805101600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec55781601411610ebe5780359160248110610ebe57603411610ebe576024810135608090811c60a0880152601490910135811c90860152606081901c15610e605760601c60e085015289806103a8565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b6101405180fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b610f308160e0518461320d565b92610f3b848061324d565b919073ffffffffffffffffffffffffffffffffffffffff610f5e602088016132a1565b1695600187146111125786610f7b575b505001925060010161012c565b806040610f899201906132c2565b91873b15610ebe57916040519283917f2dd8113300000000000000000000000000000000000000000000000000000000835286604484016040600486015252606483019160648860051b8501019281610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee182360301915b8b82106110b857505050505081611049917ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc85809503016024850152610140519561315c565b0381610140518a5af1908161109d575b5061109057847f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b929350839260015f610f6e565b610140516110aa91612b65565b61014051610ebe575f611059565b9193967fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c90879294969703018552863584811215610ebe57602061110160019385839401613363565b980195019201889695949391611003565b867f86a9f750000000000000000000000000000000000000000000000000000000006101405152600452602461014051fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761117b612c16565b3361014051526101405160205260016040610140512001908154916dffffffffffffffffffffffffffff8360081c169283156113895760981c65ffffffffffff16801561132b5742106112cd5780547fffffffffffffff000000000000000000000000000000000000000000000000ff1690556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611262612e65565b501561126f576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe573361014051526101405160205260016040610140512001805463ffffffff8160781c169081156115785760ff161561151a5765ffffffffffff4216019065ffffffffffff82116114e75780547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609884901b1617905560405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a26101405180f35b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526011600452602461014051fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761161061160b612c16565b61319a565b6101405180f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe57602061166b6116c6923690600401612c39565b73ffffffffffffffffffffffffffffffffffffffff611688612db8565b16906040518095819482937f570e1a36000000000000000000000000000000000000000000000000000000008452876004850152602484019161315c565b039161014051905af180156117575773ffffffffffffffffffffffffffffffffffffffff916101405191611728575b507f6ca7b80600000000000000000000000000000000000000000000000000000000610140515216600452602461014051fd5b61174a915060203d602011611750575b6117428183612b65565b810190613130565b826116f5565b503d611738565b6040513d61014051823e3d90fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5761179c612c16565b60243567ffffffffffffffff8111610ebe576117bc903690600401612c39565b604051929181908437820190610140518252610140519280610140519303915af46117e5612e65565b90610a7c6040519283927f9941055400000000000000000000000000000000000000000000000000000000845215156004840152604060248401526044830190612d21565b34610ebe5761183836612c8e565b6118439291926136a7565b604080516007906020906118578482612b65565b8281527f455243343333370000000000000000000000000000000000000000000000000091019081522081516001906020906118938582612b65565b828152017f310000000000000000000000000000000000000000000000000000000000000081522082519160208301937f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f855283015260608201524660808201523060a082015260a0815261190960c082612b65565b51902060025561191883612fe0565b61192381858561371b565b5061014051927fbb47ee3e183a558b1a2ff0874b079f3fc5478b7454eacf2bfc5af2ff5878f9728480a161014051915b858310611964576101a985856148bd565b90919360019061198a6119788789876130af565b611982888661311c565b5190886141ff565b0194019190611953565b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff6119e0612c16565b1661014051526101405160205260206040610140512054604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5773ffffffffffffffffffffffffffffffffffffffff611a4b612c16565b604051611a5781612ae3565b6101405181526101405160208201526101405160408201526101405160608201526080610140519101521661014051526101405160205260a06040610140512065ffffffffffff604051611aaa81612ae3565b63ffffffff60018454948584520154916dffffffffffffffffffffffffffff6020820160ff8516151581526040830190828660081c1682528660806060860195878960781c168752019660981c1686526040519788525115156020880152511660408601525116606084015251166080820152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020611b58612c16565b73ffffffffffffffffffffffffffffffffffffffff611b75612c67565b91166101405152600182526040610140512077ffffffffffffffffffffffffffffffffffffffffffffffff82165f52825260405f20547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043567ffffffffffffffff8111610ebe576101207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8236030112610ebe57611c55602091600401612e94565b604051908152f35b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611c94612c16565b6024359033610140515261014051602052604061014051208054808411611da05783611cbf91612e58565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2610140519182918291829173ffffffffffffffffffffffffffffffffffffffff165af1611d35612e65565b5015611d42576101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b34610ebe5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe57611e35612c16565b73ffffffffffffffffffffffffffffffffffffffff611e52612c67565b91166101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f52602052602060405f2054604051908152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020600254604051908152f35b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610ebe57336101405152600160205277ffffffffffffffffffffffffffffffffffffffffffffffff6040610140512091165f5260205260405f20611fc08154612e2b565b90556101405180f35b34610ebe57610140517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576020612004612db8565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe5760043563ffffffff8116809103610ebe57336101405152610140516020526040610140512090801561237f57600182015463ffffffff8160781c168210612321576120ab906dffffffffffffffffffffffffffff349160081c16612d7e565b9182156122c3576dffffffffffffffffffffffffffff8311612265575460405161222d916120d882612ae3565b815265ffffffffffff602082019160018352604081016dffffffffffffffffffffffffffff87168152606082019086825260016080840193610140518552336101405152610140516020526040610140512090518155019451151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008754169116178555517fffffffffffffffffffffffffffffffffff0000000000000000000000000000ff6effffffffffffffffffffffffffff008087549360081b16169116178455517fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff72ffffffff0000000000000000000000000000008086549360781b1616911617835551167fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffffff78ffffffffffff0000000000000000000000000000000000000083549260981b169116179055565b60405191825260208201527fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c0160403392a26101405180f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b34610ebe5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610ebe576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610ebe57807f6930d3ee0000000000000000000000000000000000000000000000000000000060209214908115612505575b81156124db575b81156124b1575b8115612487575b506040519015158152f35b7f01ffc9a7000000000000000000000000000000000000000000000000000000009150148261247c565b7f3e84f0210000000000000000000000000000000000000000000000000000000081149150612475565b7fcf28ef97000000000000000000000000000000000000000000000000000000008114915061246e565b7f989ccc580000000000000000000000000000000000000000000000000000000081149150612467565b34612992576102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126129925760043567ffffffffffffffff8111612992573660238201121561299257612590903690602481600401359101612be0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36016101c0811261299257610140604051916125cc83612ae3565b12612992576040516125dd81612b2c565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361299257815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043573ffffffffffffffffffffffffffffffffffffffff811681036129925760e082015261012435610100820152610144356101208201528152602081019161016435835260408201906101843582526101a435606084015260808301916101c43583526101e43567ffffffffffffffff8111612992576126b6903690600401612c39565b955a90303303612a855786516060810151955f96815191826129cb575b5050505050906126eb915a9003855101963691612be0565b925a9385516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146129c35750975b61275873ffffffffffffffffffffffffffffffffffffffff60e084015116945182036060840151906149ad565b01925f928161286e5750505173ffffffffffffffffffffffffffffffffffffffff16945b5a900301019485029051928184105f1461281a57505060038110156127e7576002036127b95760209281611c5592936127b481614ace565b6149cc565b7fdeadaa51000000000000000000000000000000000000000000000000000000006101405152602061014051fd5b7f4e487b710000000000000000000000000000000000000000000000000000000061014051526021600452602461014051fd5b81612850929594969396039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b5060038410156127e75782612869926020951590614a4d565b611c55565b909691878251612881575b50505061277c565b90919293505a92600388101561299657600288036128b7575b505060a06128ae925a9003910151906149ad565b90888080612879565b60a083015191803b15612992578b925f9283612913938c8b88604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087526004870152608060248701526084860190612d21565b9202604484015260648301520393f1908161297d575b5061297357610a7c612939613444565b6040519182917fad7954bc000000000000000000000000000000000000000000000000000000008352602060048401526024830190612d21565b60a06128ae61289a565b5f61298791612b65565b5f610140528a612929565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b90509761272b565b915f9291838093602073ffffffffffffffffffffffffffffffffffffffff885116910192f1156129fe575b8080806126d3565b6126eb9392955060405191612a11613444565b908151612a2a575b5050506040526001939091886129f6565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a201905191602073ffffffffffffffffffffffffffffffffffffffff855116940151612a7a60405192839283612d64565b0390a3888080612a19565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f4141393220696e7465726e616c2063616c6c206f6e6c790000000000000000006044820152fd5b60a0810190811067ffffffffffffffff821117612aff57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b610140810190811067ffffffffffffffff821117612aff57604052565b6060810190811067ffffffffffffffff821117612aff57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117612aff57604052565b67ffffffffffffffff8111612aff57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b929192612bec82612ba6565b91612bfa6040519384612b65565b829481845281830111612992578281602093845f960137010152565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361299257565b9181601f840112156129925782359167ffffffffffffffff8311612992576020838186019501011161299257565b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361299257565b9060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126129925760043567ffffffffffffffff81116129925760040182601f820112156129925780359267ffffffffffffffff8411612992576020808301928560051b01011161299257919060243573ffffffffffffffffffffffffffffffffffffffff811681036129925790565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b604090612d7b939281528160208201520190612d21565b90565b91908201809211612d8b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7fbc79d710c27c417daea28cbdc16e638da2309ea2f5542218b102827c395d15d454168015612e10575b73ffffffffffffffffffffffffffffffffffffffff1690565b5073449ed7c3e6fee6a97311d4b55475df59c44add33612df7565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114612d8b5760010190565b91908203918211612d8b57565b3d15612e8f573d90612e7682612ba6565b91612e846040519384612b65565b82523d5f602084013e565b606090565b604290612ea081613471565b60025491612ead816132a1565b918015612fab57905b60c0612ec560608301836132c2565b90816040519182372091612edc60e08201826132c2565b908160405191823720926040519473ffffffffffffffffffffffffffffffffffffffff60208701977f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216604087015260208301356060870152608086015260a085015260808101358285015260a081013560e085015201356101008301526101208201526101208152612f7361014082612b65565b519020604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612fb960408201826132c2565b90816040519182372090612eb6565b67ffffffffffffffff8111612aff5760051b60200190565b90612fea82612fc8565b612ff76040519182612b65565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06130258294612fc8565b01905f5b82811061303557505050565b60209060405161304481612ae3565b60405161305081612b2c565b5f81525f848201525f60408201525f60608201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201525f61012082015281525f838201525f60408201525f60608201525f608082015282828501015201613029565b91908110156130ef5760051b810135907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee181360301821215612992570190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b80518210156130ef5760209160051b010190565b90816020910312612992575173ffffffffffffffffffffffffffffffffffffffff811681036129925790565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b7f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff613201348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b91908110156130ef5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215612992570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215612992570180359067ffffffffffffffff821161299257602001918160051b3603831361299257565b3573ffffffffffffffffffffffffffffffffffffffff811681036129925790565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215612992570180359067ffffffffffffffff82116129925760200191813603831361299257565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561299257016020813591019167ffffffffffffffff821161299257813603831361299257565b80359173ffffffffffffffffffffffffffffffffffffffff831683036129925773ffffffffffffffffffffffffffffffffffffffff612d7b93168152602082013560208201526134356134296133f06133d56133c26040870187613313565b610120604088015261012087019161315c565b6133e26060870187613313565b90868303606088015261315c565b6080850135608085015260a085013560a085015260c085013560c085015261341b60e0860186613313565b9085830360e087015261315c565b92610100810190613313565b9161010081850391015261315c565b3d6108008111613468575b604051906020818301016040528082525f602083013e90565b5061080061344f565b61347e60408201826132c2565b909161348a8284614b1e565b156136a057613498906132a1565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036135de575060181b916014821161353e5750506040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000080806020840194161616825260148152613538603482612b65565b51902090565b81601411612992576020613538916040519384917fffffffffffffffffffffffffffffffffffffffff000000000000000000000000808086860199161616875260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec83019101603484013781015f8382015203017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612b65565b3b156136425760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b5050505f90565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c6136f35760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b92919092835f5b81811061372f5750505050565b613739818561311c565b516137458284866130af565b5f915a81519273ffffffffffffffffffffffffffffffffffffffff613769826132a1565b168452602081013560208501526080810135936fffffffffffffffffffffffffffffffff8560801c951694604082019060608301968752815260c0820160a0840135815260c0840135906fffffffffffffffffffffffffffffffff8260801c921691610120850190610100860193845281526137e860e08701876132c2565b9081614199575b50506040516137fd87612e94565b9960208a019a8b528160405285519586855117825117926effffffffffffffffffffffffffffff60808a01948551179560a08b0196875117895117905117116141375750519051019051019051019051019051029560408601918783528973ffffffffffffffffffffffffffffffffffffffff60e089516138928b848351169561388a60408d018d6132c2565b929091614c13565b015116985f998015614110575b89516040810151905173ffffffffffffffffffffffffffffffffffffffff1680916040519d8e808d8b519360208301947f19822f7c00000000000000000000000000000000000000000000000000000000865260248401926139009361508d565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810182526139309082612b65565b51905f6020948194f15f519c3d602003614108575b6040521561401d575015613fa3575b505073ffffffffffffffffffffffffffffffffffffffff8451166020850151905f52600160205260405f2077ffffffffffffffffffffffffffffffffffffffffffffffff8260401c165f5260205267ffffffffffffffff60405f20918254926139bc84612e2b565b90551603613f3e575a860311613ed95773ffffffffffffffffffffffffffffffffffffffff60e0606094015116613c19575b505073ffffffffffffffffffffffffffffffffffffffff949260a085936080936060613a259801520135905a900301910152614b73565b9116613bb457613b4f57613a4d73ffffffffffffffffffffffffffffffffffffffff91614b73565b9116613aea57613a5f57600101613722565b60a490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602160448201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560648201527f65000000000000000000000000000000000000000000000000000000000000006084820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413334207369676e6174757265206572726f720000000000000000000000006064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b909c9b9a99989796505a9085519d60e08f015173ffffffffffffffffffffffffffffffffffffffff168151613c4d916150af565b15613e7457613ca07f52b7512c00000000000000000000000000000000000000000000000000000000999a9b9c9d9e9f60800151926108a560405193849251905190602084019d8e52896024850161508d565b5f8088518b82608073ffffffffffffffffffffffffffffffffffffffff60e08501511693015192865193f1983d90815f843e51948251604084019b8c519015918215613e68575b508115613e38575b50613dbb5750601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09101160191826040525a900311613d335750948260a06139ee565b80887f220266b60000000000000000000000000000000000000000000000000000000060a49352600482015260406024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d6974000000000000000000000000000000000000000000000000006084820152fd5b8b610a7c613dc7613444565b6040519384937f65c8fd4d00000000000000000000000000000000000000000000000000000000855260048501526024840152600d60648401527f4141333320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa084019101105f613cef565b6040141591505f613ce7565b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b608489604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152fd5b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152fd5b613fac916150af565b15613fb8575f80613954565b60848a604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152fd5b8d903b61408957608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152fd5b614091613444565b90610a7c6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484015260606024840152600d60648401527f4141323320726576657274656400000000000000000000000000000000000000608484015260a0604484015260a4830190612d21565b5f9150613945565b9950815f525f60205260405f20548181115f1461413057505f5b9961389f565b810361412a565b808f7f220266b60000000000000000000000000000000000000000000000000000000060849352600482015260406024820152601860448201527f41413934206761732076616c756573206f766572666c6f7700000000000000006064820152fd5b60348210610ec5578160141161299257803560601c916024811061299257601482013590603411612992576fffffffffffffffffffffffffffffffff60248193013560801c1660a089015260801c1660808701528015610e605760e08601525f806137ef565b9092915a6060820151604051958661421a60608301836132c2565b5f600382116148b5575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003614747575050505f6143316144256142bf6142f1602095868a01516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000008a850152604060248501526064840190613363565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282612b65565b6108a56040519384927e42dc5300000000000000000000000000000000000000000000000000000000888501526102006024850152610224840190612d21565b6143f4604484018b60806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015287612d21565b828151910182305af15f519660405215614440575b50505050565b9091929394505f3d60201461473a575b7fdeaddead0000000000000000000000000000000000000000000000000000000081036144dc57608485604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152600f60448201527f41413935206f7574206f662067617300000000000000000000000000000000006064820152fd5b92935090917fdeadaa51000000000000000000000000000000000000000000000000000000000361453f5750614524614519614534925a90612e58565b608084015190612d7e565b6040830151836127b48295614ace565b905b5f80808061443a565b906145b29060405160208501518551907ff62676f440ff169a3a9afdbf812e89e7f95975ee8e5c31214ffdef631c5f4792602073ffffffffffffffffffffffffffffffffffffffff845116930151614595613444565b906145a560405192839283612d64565b0390a36040525a90612e58565b6145c26080840191825190612d7e565b915f905a9285516101008101516101208201517f59e3bb5c9eacf8e7a9c3802366751badc68d4d97d3e35b1744045784c52f20dd54018082105f146147325750955b61463173ffffffffffffffffffffffffffffffffffffffff60e084015116935182036060840151906149ad565b01925f92806147035750505173ffffffffffffffffffffffffffffffffffffffff16935b5a900301019283026040850151928184105f146146b75750508061468a5750908161468492936127b481614ace565b90614536565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526021600452fd5b6146ec908284939795039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b5061468a575090825f6146fe93614a4d565b614684565b95919051614712575b50614655565b9350905061472b5a9360a05f955a9003910151906149ad565b905f61470c565b905095614604565b5060205f803e5f51614450565b6148ac93506148809161478c917e42dc53000000000000000000000000000000000000000000000000000000006020860152610200602486015261022485019161315c565b61484f604484018860806101a091610120815173ffffffffffffffffffffffffffffffffffffffff8151168652602081015160208701526040810151604087015260608101516060870152838101518487015260a081015160a087015260c081015160c087015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e087015261010081015161010087015201516101208501526020810151610140850152604081015161016085015260608101516101808501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc8382030161020484015284612d21565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101885287612b65565b60205f87614425565b508135614224565b73ffffffffffffffffffffffffffffffffffffffff16801561494f575f80809381935af16148e9612e65565b50156148f157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f41413931206661696c65642073656e6420746f2062656e6566696369617279006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f4141393020696e76616c69642062656e656669636961727900000000000000006044820152fd5b90619c4082018111156149c657606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b90600211614b6e57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b8015614c0c575f60408051614b8781612b49565b828152826020820152015273ffffffffffffffffffffffffffffffffffffffff81169065ffffffffffff8160a01c16908115614bfe575b60409060d01c9165ffffffffffff825191614bd883612b49565b8583528460208401521691829101524211908115614bf557509091565b90504211159091565b65ffffffffffff9150614bbe565b505f905f90565b929190915f9080614c26575b5050505050565b83519473ffffffffffffffffffffffffffffffffffffffff86511695614c4c8386614b1e565b614fa55750853b614f405760148210614edb5782602073ffffffffffffffffffffffffffffffffffffffff614c7f612db8565b16604088510151604051809481937f570e1a3600000000000000000000000000000000000000000000000000000000835285600484015282614cc68c8b602484019161315c565b0393f1908115614ed0578491614eb1575b5073ffffffffffffffffffffffffffffffffffffffff81168015614e4c578703614de7573b15614d825750601411614d7f577fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d91604091503573ffffffffffffffffffffffffffffffffffffffff60e06020860151955101511673ffffffffffffffffffffffffffffffffffffffff83519260601c1682526020820152a35f80808080614c1f565b80fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152fd5b608482604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152fd5b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152fd5b614eca915060203d602011611750576117428183612b65565b5f614cd7565b6040513d86823e3d90fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152fd5b608490604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152fd5b94505091905060148211614fb95750505050565b604073ffffffffffffffffffffffffffffffffffffffff614fd8612db8565b16930151908260141161299257833b15612992575f809461505c96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501526040602485015260147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec604486019301910161315c565b0393f1801561508257615072575b80808061443a565b5f61507c91612b65565b5f61506a565b6040513d5f823e3d90fd5b6150a560409295949395606083526060830190613363565b9460208201520152565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106136a05703905560019056fea264697066735822122013c2bd9c0655faabd17963505c2960c98b599b95d91d4d395b671b46988ce7a464736f6c634300081c0033", "sourceMap": "1237:38407:30:-:0;;;;;;;;;-1:-1:-1;1237:38407:30;;;;;;;;1324:10:4;;;:::i;:::-;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7412:31;1237:38407;7412:31;;;1237:38407;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;1181:103:18;;:::i;:::-;1237:38407:30;;;;4393:11;;;;;;;5232:26;;;;:::i;:::-;;;1237:38407;;5273:19;;1237:38407;;5311:13;;5326:11;;;;;;;;5671:17;1237:38407;;;;5671:17;1237:38407;;5738:11;;;;1237:38407;;5783:11;;;;;;;6302:9;;;;;:::i;:::-;1237:38407;;637:66:18;3550:68:22;1237:38407:30;;;;5796:3;6003:11;5855:19;;;;;;:::i;:::-;1237:38407;5932:14;4593;5932;;;:::i;:::-;1237:38407;5897:51;1237:38407;;;;5897:51;6003:11;;:::i;:::-;1237:38407;;;6078:171;6098:10;;;;;;5796:3;;;4734:1;1237:38407;5768:13;;6110:3;6174:6;;;4734:1;6174:6;6150:49;6174:6;;;;;:::i;:::-;6182:16;;;;;;:::i;:::-;;6150:49;;;;:::i;:::-;1805:4;6221:9;;;;1237:38407;6221:9;;1237:38407;6083:13;;;;5339:3;5398:19;;;;;;;:::i;:::-;1237:38407;5526:14;4593;5472:11;;;;:::i;:::-;;;5526:14;;;:::i;:::-;-1:-1:-1;;1237:38407:30;;;-1:-1:-1;14173:10:30;;;;;;;1805:4;;;;;;;;5559:78;;4734:1;5339:3;;1237:38407;5339:3;;5311:13;;14185:3;14235:26;14243:17;;;1805:4;14235:26;;;:::i;:::-;;14391:6;;;;;;:::i;:::-;14170:1;;;31494:9;31543:17;;17696:13;1237:38407;17696:13;;;:::i;:::-;1237:38407;;;4593:14;17735:12;;;1237:38407;17719:13;;;1237:38407;430:2:5;17841:23:30;;;;1237:38407;430:2:5;;;17788:20:30;;;1237:38407;;;;17758:28;;1237:38407;17904:25;;;1237:38407;17875:26;;;;1237:38407;;;;18023:14;;1237:38407;430:2:5;;;17970:20:30;;;1237:38407;;17940:28;;;1237:38407;18082:23;1237:38407;18082:23;;17735:12;18082:23;:::i;:::-;18119:27;;18115:489;;14185:3;38868:67;;1237:38407;38868:67;31763:21;;;;:::i;:::-;4593:14;31740:20;;1237:38407;39151:66;1237:38407;39151:66;1237:38407;17758:28;;1237:38407;17875:26;1237:38407;17875:26;;;;1237:38407;32074:49;17788:20;;;1237:38407;32074:72;17841:23;32161:37;;1237:38407;32074:124;17904:25;32201:31;;1237:38407;32074:158;17970:20;;;1237:38407;32074:181;17940:28;;;1237:38407;32074:224;32316:33;1237:38407;;17758:28;1237:38407;17758:28;;1237:38407;17788:20;;;1237:38407;1805:4;17841:23;32161:37;;1237:38407;1805:4;17904:25;32201:31;;1237:38407;1805:4;17875:26;;;1237:38407;1805:4;17970:20;;;1237:38407;;32472:17;;1237:38407;32472:17;;1237:38407;21939:14;;1237:38407;;;;;;22051:11;;;;;1237:38407;22051:11;;;;:::i;:::-;14243:17;;;;;1805:4;22051:11;:::i;:::-;22097:17;1237:38407;;14170:1;;;22177:23;;;22173:182;;14185:3;23385:14;;1237:38407;23385:35;;1237:38407;;;;;14170:1;;;38868:67;1237:38407;38868:67;31740:20;;;4593:14;31740:20;;1805:4;23603:85;4593:14;23603:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;14170:1;;23702:326;;;14170:1;;;;23702:326;4593:14;23702:326;;14170:1;;23702:326;;;4593:14;23702:326;;;14185:3;1237:38407;39151:66;24093:8;24089:286;;22177:23;;22460:205;;14185:3;1237:38407;;;;;;4593:14;17719:13;;1237:38407;14170:1;;;1237:38407;4734:1;4593:14;1237:38407;;14170:1;;1237:38407;;;;;;-1:-1:-1;1237:38407:30;;;;;-1:-1:-1;1237:38407:30;;;;1154:34:2;;;;:::i;:::-;1237:38407:30;;;1154:41:2;1237:38407:30;;32776:9;1805:4;;32767:41;32763:138;;1237:38407;32955:17;1237:38407;17788:20;;1237:38407;;32951:155;;14185:3;1237:38407;33139:23;;17904:25;33139:23;;17841;33139;17788:20;28889:34;33139:23;;1237:38407;17904:25;1237:38407;33241:9;;1805:4;;;33211:18;;1237:38407;28889:34;:::i;:::-;1237:38407;;28937:32;;28933:111;;29053:96;;29451:43;1237:38407;29451:43;;:::i;:::-;1237:38407;;29504:105;;29618:106;;4734:1;1237:38407;14158:13;;29618:106;29659:54;1237:38407;;;29659:54;;;;14243:17;;1805:4;1237:38407;29659:54;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;;;;;;29659:54;29504:105;29557:41;1237:38407;;;29557:41;;;;14243:17;;1805:4;1237:38407;29557:41;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;29557:41;29053:96;29094:44;1237:38407;;;29094:44;;;;14243:17;;1805:4;1237:38407;29094:44;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;29094:44;28933:111;28992:41;1237:38407;;;28992:41;;;;14243:17;;1805:4;1237:38407;28992:41;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;28992:41;32951:155;25338:9;;;;;;;25391:14;;;25439:17;25529:48;1237:38407;;25439:17;;1237:38407;;;32472:17;;1237:38407;25529:48;;:::i;:::-;25528:49;25524:146;;17841:23;26327:91;25716:37;;;;;;1237:38407;;38868:67;26327:91;31740:20;26327:91;4593:14;31740:20;;1805:4;1237:38407;32472:17;;1237:38407;26327:91;4593:14;26327:91;;;;;;23603:85;26327:91;;;:::i;:::-;;23603:85;26327:91;;;;;;:::i;:::-;26448:14;;17841:23;1237:38407;;26448:24;;1237:38407;;26522:44;;1237:38407;14170:1;;;;;;26715:1236;;;14170:1;;;26715:1236;;;;14170:1;;;;26715:1236;;;;;;1237:38407;26715:1236;;;;;27989:8;;1237:38407;;;27989:31;;32951:155;27989:72;;;;;32951:155;27985:205;;;1237:38407;;23603:85;1237:38407;;;4020:413:1;;;1237:38407:30;4020:413:1;25871:9:30;1805:4;;25862:43;25858:149;;-1:-1:-1;33002:93:30;32951:155;;25858:149;25932:60;;;;;;14243:17;;1805:4;1237:38407;25932:60;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;;;;;;25932:60;27985:205;28133:41;1237:38407;28133:41;;:::i;:::-;1237:38407;;28088:87;;;;;;14243:17;;1805:4;1237:38407;28088:87;;1237:38407;23603:85;1237:38407;;;;;;;;;;;;;17904:25;1237:38407;;;;;;;;;:::i;:::-;28088:87;;;27989:72;26715:1236;;28040:2;26715:1236;;;1805:4;;28024:37;27989:72;;;:31;1237:38407;28001:19;;;-1:-1:-1;27989:31:30;;;25524:146;25604:51;1237:38407;;;25604:51;;;;14243:17;;1805:4;1237:38407;25604:51;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;25604:51;32763:138;32835:51;1237:38407;;;32835:51;;;;14243:17;;1805:4;1237:38407;32835:51;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;32835:51;1237:38407;;;;;;;;;14243:17;;1805:4;1237:38407;;;;;23603:85;1237:38407;;;;;;;;;;;;;;22460:205;22512:45;;;:::i;:::-;22511:46;22507:144;;22460:205;;;;22507:144;22588:44;1237:38407;;;22588:44;;;;14243:17;;1805:4;1237:38407;22588:44;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;22588:44;24089:286;24121:18;;;;;24171:46;1237:38407;;;24171:46;;;;14243:17;;1805:4;1237:38407;24171:46;;1237:38407;;23603:85;1237:38407;;;;;;;;;;;;;24171:46;24117:248;24308:41;;:::i;:::-;1237:38407;;;;24263:87;;;;;;14243:17;;1805:4;1237:38407;24263:87;;1237:38407;17788:20;23603:85;1237:38407;;;;;;;;;;;;;17904:25;1237:38407;;;;;;;;;:::i;23702:326::-;14170:1;;;-1:-1:-1;23702:326:30;;22173:182;14170:1;;;1237:38407;;;14170:1;4593:14;1237:38407;;;;;;;14170:1;;-1:-1:-1;22291:21:30;;;;;;14170:1;;;22291:49;22173:182;;;22291:49;1805:4;;22291:49;;1237:38407;;;;;;;14243:17;;1805:4;1237:38407;;;;;23603:85;1237:38407;;;;;;;;;;;;;;18115:489;486:2:5;18170:65:30;;486:2:5;;1237:38407:30;368:2:5;1237:38407:30;;;368:2:5;;;23603:85:30;1237:38407;-1:-1:-1;1237:38407:30;;486:2:5;1237:38407:30;;;23603:85;1237:38407;;430:2:5;17841:23:30;430:2:5;;;17904:25:30;18365:31;;1237:38407;368:2:5;1237:38407:30;;;430:2:5;;;18326:37:30;;;1237:38407;17788:20;309:8:0;;;18500:23:30;486:2:5;;17788:20:30;309:8:0;1237:38407:30;18564:17;;1237:38407;18115:489;;;;486:2:5;;1237:38407:30;;486:2:5;;;4593:14:30;1237:38407;486:2:5;;;;23603:85:30;486:2:5;;1237:38407:30;486:2:5;1237:38407:30;;;486:2:5;;1237:38407:30;14170:1;;;1237:38407;486:2:5;;1237:38407:30;;486:2:5;;;4593:14:30;1237:38407;486:2:5;;;;23603:85:30;486:2:5;;1237:38407:30;486:2:5;1237:38407:30;;;486:2:5;;4406:3:30;4465:19;;;;;;:::i;:::-;4539:11;;;;;:::i;:::-;4593:14;;1237:38407;4593:14;;;;;:::i;:::-;1237:38407;4703:33;4734:1;4703:33;;1237:38407;;4808:33;4804:329;;4406:3;-1:-1:-1;;1805:4:30;;-1:-1:-1;4734:1:30;1237:38407;4378:13;;4804:329;4969:13;1237:38407;4969:13;;;;;:::i;:::-;4934:49;;;;;;1237:38407;;;4934:49;;;1237:38407;4934:49;;1237:38407;;;;;;4934:49;;1237:38407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4934:49;1237:38407;;;4934:49;;;;;;;1237:38407;-1:-1:-1;4930:185:30;;1237:38407;5046:46;1237:38407;;5046:46;1237:38407;;;;;5046:46;4930:185;;;-1:-1:-1;4930:185:30;;4734:1;4804:329;;;4934:49;1237:38407;;4934:49;;;:::i;:::-;1237:38407;;;;4934:49;;;1237:38407;;;;;;;;;;;;;;;;;;;;;;;4593:14;1237:38407;4734:1;1237:38407;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4096:10:4;1237:38407:30;;;;;;;4133:10:4;1237:38407:30;;;;4133:10:4;1237:38407:30;;;;;;;;;4161:9:4;;;1237:38407:30;;;;;;4213:21:4;;1237:38407:30;;4320:15:4;-1:-1:-1;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;4096:10:4;;4492:50;;;1237:38407:30;;;;;;;;;;;4570:38:4;;;;:::i;:::-;;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;1237:38407:30;;;;;;;3644:20:4;1237:38407:30;;;;3644:20:4;1237:38407:30;;;;;;;3644:25:4;;;1237:38407:30;;;;;;;;3774:15:4;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3615:10:4;;3899:39;;1237:38407:30;;3899:39:4;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;6792:15;;:::i;:::-;1237:38407;;;;6792:38;;;;;;1237:38407;6792:38;;;1237:38407;6792:38;;1237:38407;;;;;;:::i;:::-;6792:38;1237:38407;;;6792:38;;;;;;;1237:38407;;;;6792:38;;;1237:38407;;6847:27;1237:38407;;6847:27;1237:38407;;;;;;6847:27;6792:38;;;;1237:38407;6792:38;1237:38407;6792:38;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;1237:38407;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;7370:25;;;;;;;:::i;:::-;1237:38407;;;;7412:31;;;;;;1237:38407;;;7412:31;;1237:38407;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;1181:103:18;;;;;:::i;:::-;1237:38407:30;;;;;;;;;;;:::i;:::-;;;;;;;;;;2851:29;1237:38407;;2103:9;;1237:38407;;;;;;:::i;:::-;;;;2103:9;;;;2915:32;1237:38407;;2974:80;1237:38407;2974:80;;1237:38407;2652:95;1237:38407;;2652:95;;1237:38407;2652:95;;;1237:38407;3025:13;2652:95;;;1237:38407;3048:4;2652:95;;;1237:38407;2652:95;2974:80;;;;;;:::i;:::-;1237:38407;2964:91;;3203:46;1237:38407;3679:24;;;:::i;:::-;3737:52;;;;;:::i;:::-;-1:-1:-1;1237:38407:30;;;3844:17;1237:38407;;3844:17;1237:38407;;3876:120;3896:10;;;;;;4035:9;;;;:::i;3908:3::-;3962:6;;;2103:9;3962:6;3944:37;3962:6;;;;;:::i;:::-;3970:10;;;;:::i;:::-;;3944:37;;;:::i;:::-;1805:4;3908:3;1237:38407;3881:13;;;;1237:38407;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;507:19:2;1237:38407:30;;;;;;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;;;;;;507:55:2;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4863:10:4;;1237:38407:30;;;;;;;;;;;;;4939:32:4;;;1237:38407:30;;5026:31:4;;;;:::i;:::-;1237:38407:30;;;;;;;;;;;;;;;;4863:10:4;;5072:54;;;1237:38407:30;;;;;;;;;;;5154:47:4;;;;:::i;:::-;;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;279:74:2;1237:38407:30;;;;;;;279:74:2;1237:38407:30;-1:-1:-1;1237:38407:30;;;;;-1:-1:-1;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;1065:197:5;1237:38407:30;;;;;;;;;;;;;;;;3341:19;1237:38407;;;;;;;;;;;;;;;;;;;;;;;;;;;694:10:2;1237:38407:30;;;674:19:2;1237:38407:30;;;;;;;674:36:2;1237:38407:30;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;674:38:2;1237:38407:30;;674:38:2;:::i;:::-;1237:38407:30;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;2894:10:4;1237:38407:30;;;;;;;;;;;2923:19:4;;;1237:38407:30;;3023:20:4;;;1237:38407:30;;;;;;3004:39:4;;1237:38407:30;;3123:22:4;3136:9;1237:38407:30;3136:9:4;1237:38407:30;;;;3123:22:4;:::i;:::-;3163:9;;;1237:38407:30;;;3213:26:4;;1237:38407:30;;;;;;;;;;:::i;:::-;;;;;3291:137:4;;1237:38407:30;3023:20:4;1237:38407:30;;;3291:137:4;;1237:38407:30;;;;;3291:137:4;;;1237:38407:30;;;;3023:20:4;3291:137;;;1237:38407:30;;;;;2894:10:4;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3443:47:4;1237:38407:30;2894:10:4;3443:47;;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7847:126;7875:97;1237:38407;7847:126;;:186;;;;;1237:38407;7847:236;;;;1237:38407;7847:298;;;;1237:38407;7847:338;;;;1237:38407;;;;;;;;;;7847:338;877:25:25;862:40;;;7847:338:30;;;:298;7941:31;8099:46;;;-1:-1:-1;7847:298:30;;:236;7907:31;8037:46;;;-1:-1:-1;7847:236:30;;:186;7875:29;7989:44;;;-1:-1:-1;7847:186:30;;1237:38407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15890:9;;15939:4;;15917:10;:27;1237:38407;;16012:14;;1237:38407;16060:20;;1237:38407;16529:62;1237:38407;;;;16605:19;;16601:557;;1237:38407;17221:9;;;;;;1805:4;17221:9;;1805:4;;1237:38407;;1805:4;1237:38407;;1805:4;;:::i;:::-;17269:48;34238:9;34281:21;34346:14;;1237:38407;37554:20;;1237:38407;;37619:28;;1237:38407;37717:35;1237:38407;1805:4;3696:5:1;;;:13;:5;;;:13;;;34767:60:30;1237:38407;;34455:17;;1237:38407;;;;1805:4;;1237:38407;34806:20;;1237:38407;34767:60;;:::i;:::-;1805:4;;1237:38407;;34903:23;1237:38407;;-1:-1:-1;;1237:38407:30;;;;34899:1262;36196:9;1805:4;;;;1237:38407;;;;;36344:23;;;;36340:796;36344:23;;;1237:38407;;;;;;;;36399:36;36391:44;36399:36;;1237:38407;36459:23;;36606:9;36459:23;36523:6;;;;:::i;:::-;36606:9;:::i;36387:440::-;36663:146;1237:38407;;36663:146;1237:38407;;;36663:146;1237:38407;;;;;;;;;;;;36340:796;1805:4;36923:40;1805:4;;;;;;;36923:40;1237:38407;;1706:8:4;1237:38407:30;1706:8:4;1237:38407:30;;;1706:8:4;1237:38407:30;;;;1805:4;1237:38407;;;1558:305:4;;36923:40:30;;1237:38407;;;;;;36996:41;37111:9;36996:41;1237:38407;36996:41;;37111:9;;:::i;:::-;36340:796;;34899:1262;35015:25;;;;1237:38407;;35058:1089;;34899:1262;;;;;;35058:1089;35185:9;;;;;;1237:38407;;;;;;;35228:36;35220:44;;35216:549;;35058:1089;36004:9;;1237:38407;36060:68;36004:9;;1805:4;;36096:31;;1237:38407;36060:68;;:::i;:::-;35058:1089;;;;;;35216:549;1237:38407;35330:31;;1237:38407;35296:160;;;;;;1237:38407;;;;;;;;;;;;35296:160;;;;;;;1237:38407;35296:160;;1237:38407;35296:160;;1237:38407;;;;;;;;;;;:::i;:::-;;;;;;;;;;;35296:160;;;;;;;35216:549;-1:-1:-1;35292:451:30;;1237:38407;35616:41;;:::i;:::-;1237:38407;;35694:22;;;;;;1237:38407;;35694:22;;1237:38407;;;;;;:::i;35292:451::-;1237:38407;36060:68;35216:549;;35296:160;1237:38407;35296:160;;;:::i;:::-;1237:38407;;;35296:160;;;;1237:38407;;;;;;;;;;;;;3696:13:1;;;;;;16601:557:30;1237:38407;;;;;;;;;;;;368:118:15;;;;16725:8:30;16721:427;;16601:557;;;;;;16721:427;1805:4;38868:67;;;;1237:38407;38868:67;16824:41;;;:::i;:::-;1237:38407;;;16883:152;;16721:427;39151:66;;;1237:38407;39151:66;1237:38407;16721:427;;;;;;16883:152;16933:83;1805:4;;1237:38407;;;;;;16994:13;;1237:38407;16933:83;1237:38407;;16933:83;;;;;:::i;:::-;;;;16883:152;;;;;1237:38407;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1237:38407:30;;;;;-1:-1:-1;1237:38407:30;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;1237:38407:30;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1805:4::-;;1237:38407;;;1805:4;;1237:38407;;;;;;;;1805:4;1237:38407;;;1805:4;-1:-1:-1;1805:4:30;;;;;;1237:38407;;1805:4;;;:::o;:::-;;;;;;1237:38407;;1805:4;;;;;;;;:::i;:::-;;:::o;1237:38407::-;;;;;;;;;;:::o;:::-;;;;;;;;;;6919:295;1237:38407;7044:27;1237:38407;;7092:21;;7088:79;;6919:295;1237:38407;;6919:295;:::o;7088:79::-;-1:-1:-1;7125:42:30;7088:79;;1237:38407;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1237:38407:30;;;;:::o;:::-;;;:::o;6367:300::-;3445:249:24;6367:300:30;6498:54;;;:::i;:::-;3341:19;1237:38407;1668:13:5;;;;:::i;:::-;1752:82;:25;;;;:82;;2050:14;1882:15;;;;;;:::i;:::-;3287:193:1;;;;;;;;2120:23:5;;;;;;;:::i;:::-;3287:193:1;;;;;;;;1237:38407:30;3287:193:1;1237:38407:30;2162:233:5;1237:38407:30;1707:12:5;2162:233;;1237:38407:30;1065:197:5;1237:38407:30;;;3287:193:1;1237:38407:30;;;1707:12:5;;;1237:38407:30;1882:15:5;1237:38407:30;;;1935:23:5;1237:38407:30;;;1997:25:5;1237:38407:30;;;1935:23:5;;;1237:38407:30;;;;;1997:25:5;;;1237:38407:30;2120:23:5;1237:38407:30;;;2050:14:5;1237:38407:30;;;;;;;;;;2162:233:5;;;;;;:::i;:::-;1237:38407:30;4988:47:5;;3287:193:1;3445:249:24;;;;;3341:19:30;3445:249:24;;;;;;;;6367:300:30;:::o;1752:82:5:-;1818:15;;;;;;;:::i;:::-;3287:193:1;;1818:15:5;3287:193:1;;;;;1752:82:5;;;1237:38407:30;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;-1:-1:-1;1237:38407:30;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;1237:38407:30;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;-1:-1:-1;1237:38407:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;-1:-1:-1;1237:38407:30;;;;;;;;;;;:::o;2570:179:4:-;2712:30;1237:38407:30;;2660:37:4;2687:9;2660:37;1237:38407:30;;1706:8:4;1237:38407:30;1706:8:4;1237:38407:30;;;1706:8:4;1237:38407:30;;;;1805:4;1237:38407;;;1558:305:4;;2660:37;1237:38407:30;;;;;;;2712:30:4;;2570:179::o;1237:38407:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;:::i;1176:508:15:-;1273:405;1805:4:30;1273:405:15;;;;1176:508;1273:405;;;;;;;;;;;;;;;;;;1176:508;:::o;1273:405::-;;1805:4:30;1273:405:15;;756:488:0;902:15;;;;;;:::i;:::-;932:28;;;;;;:::i;:::-;931:29;927:68;;1043:13;;;:::i;:::-;2535:113;1237:38407:30;2535:113:0;;;1237:38407:30;2535:113:0;1237:38407:30;;;;;2786:36:0;2782:241;;-1:-1:-1;3069:2:0;1237:38407:30;;1090:2:0;1071:21;;1090:2;;1237:38407:30;;902:15:0;1237:38407:30;445:6:0;1123:26;;;;;1237:38407:30;;;;;;1090:2:0;1123:26;;;;;;:::i;:::-;1237:38407:30;1113:37:0;;1106:44;:::o;1067:170::-;1237:38407:30;1090:2:0;1237:38407:30;;;1194:42:0;;1237:38407:30;902:15:0;1237:38407:30;1194:42:0;;;445:6;1194:42;;;;;1237:38407:30;;;;;;1090:2:0;1237:38407:30;;;;;;;;;;;;;;;;1194:42:0;;;;;;;;;:::i;2782:241::-;2919:18;:22;309:8;;2978:34;902:15;1237:38407:30;2978:34:0;;;309:8;2978:34;;;309:8;;;;;1237:38407:30;309:8:0;1237:38407:30;;;309:8:0;2978:34;309:8;;902:15;1237:38407:30;309:8:0;;;;;;;;;;;;1237:38407:30;309:8:0;1237:38407:30;;;309:8:0;;927:68;976:8;;;1237:38407:30;976:8:0;:::o;1290:346:18:-;637:66;3321:69:22;1413:93:18;;1624:4;637:66;3550:68:22;1290:346:18:o;1413:93::-;1465:30;-1:-1:-1;1465:30:18;;-1:-1:-1;1465:30:18;13865:743:30;;;;;14120:19;1237:38407;14173:10;;;;;;13865:743;;;;:::o;14185:3::-;14235:26;;;;:::i;:::-;;14391:6;;;;;:::i;:::-;1237:38407;31494:9;;31543:17;;17696:13;1237:38407;17696:13;;;:::i;:::-;1237:38407;;;17735:12;;;1237:38407;17735:12;17719:13;;1237:38407;17841:23;;;1237:38407;17812:53;430:2:5;1237:38407:30;17841:23;1237:38407;430:2:5;;2525:52;17758:28:30;;;17788:20;;;;1237:38407;;;;;17875:26;;;17904:25;;;1237:38407;;;17875:26;18023:14;;1237:38407;17994:44;430:2:5;1237:38407:30;17841:23;1237:38407;430:2:5;;2525:52;17940:28:30;;;17970:20;;;;1237:38407;;;;;18082:23;;;;;;:::i;:::-;18119:27;;18115:489;;14185:3;38868:67;;17758:28;38868:67;31763:21;;;:::i;:::-;31740:20;17735:12;31740:20;;1237:38407;;;39151:66;17758:28;39151:66;1237:38407;;;;;;32074:49;1237:38407;;32074:72;32161:37;1237:38407;17841:23;32161:37;;1237:38407;;;32074:124;32201:31;17904:25;32201:31;;1237:38407;;;32074:158;1237:38407;;32074:181;1237:38407;;32074:224;32316:33;1237:38407;;;;;;1805:4;1237:38407;;1805:4;1237:38407;;1805:4;1237:38407;;1805:4;1237:38407;;;32472:17;17758:28;32472:17;;1237:38407;;;;21939:14;1237:38407;18082:23;21939:14;;22051:11;1237:38407;;;;;22051:11;;17758:28;22051:11;;;;:::i;:::-;;;;;:::i;:::-;22097:17;1237:38407;;22128:31;1237:38407;22177:23;;;22173:182;;14185:3;23385:14;;17758:28;23385:35;;1237:38407;;;;;23478:12;;17758:28;38868:67;1805:4;;;;;;23603:85;17735:12;23603:85;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;23702:326;;1237:38407;17735:12;23702:326;;;;1237:38407;23702:326;;;17735:12;23702:326;;;14185:3;17758:28;39151:66;24093:8;24089:286;;22177:23;;22460:205;;14185:3;1237:38407;;;;;;17735:12;17719:13;;1237:38407;;;;;17735:12;1237:38407;17758:28;1237:38407;;;;17758:28;1237:38407;;-1:-1:-1;1237:38407:30;;;;;-1:-1:-1;1237:38407:30;;;;1154:34:2;;;;:::i;:::-;1237:38407:30;;;1154:41:2;1237:38407:30;;32776:9;1805:4;;32767:41;32763:138;;1237:38407;18082:23;17788:20;32955:17;;1237:38407;;32951:155;;14185:3;33139:23;;1237:38407;33139:23;;17904:25;33139:23;;17841;33139;17788:20;28889:34;33139:23;;1237:38407;17904:25;1237:38407;33241:9;;1805:4;;;33211:18;;1237:38407;28889:34;:::i;:::-;1237:38407;;28933:111;;29053:96;;29451:43;1237:38407;29451:43;;:::i;:::-;1237:38407;;29504:105;;29618:106;;1237:38407;;14158:13;;29618:106;29659:54;1237:38407;17758:28;1237:38407;29659:54;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;;;;;;29659:54;29504:105;29557:41;1237:38407;17758:28;1237:38407;29557:41;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;29557:41;29053:96;29094:44;1237:38407;17758:28;1237:38407;29094:44;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;29094:44;28933:111;28992:41;1237:38407;17758:28;1237:38407;28992:41;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;28992:41;32951:155;25338:9;;;;;;;;;;25391:14;;;25439:17;18082:23;25439:17;;1237:38407;;;;;25529:48;;;:::i;:::-;25528:49;25524:146;;26327:91;;25716:37;;;;;;;17841:23;25716:37;1237:38407;38868:67;26327:91;17758:28;38868:67;1805:4;;;;1237:38407;;26327:91;17735:12;26327:91;;;;;;23603:85;26327:91;;;:::i;:::-;1237:38407;26448:14;;;:24;;17841:23;1237:38407;18082:23;26448:24;;1237:38407;;26522:44;;1237:38407;26715:1236;;;;;;;;;1237:38407;26715:1236;;;;;;17758:28;26715:1236;;;;;27989:8;;1237:38407;;;27989:31;;32951:155;27989:72;;;;;32951:155;27985:205;;;1237:38407;;23603:85;1237:38407;;;4020:413:1;;;17758:28:30;4020:413:1;25871:9:30;1805:4;;25862:43;25858:149;;-1:-1:-1;33002:93:30;;17904:25;32951:155;;25858:149;25932:60;;;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;;;;;;25932:60;27985:205;28133:41;1237:38407;28133:41;;:::i;:::-;17758:28;1237:38407;28088:87;;;;;;26327:91;28088:87;;1237:38407;23603:85;1237:38407;;;;;;;;;;;;;17904:25;1237:38407;;;;;;;;;:::i;27989:72::-;26715:1236;;28040:2;26715:1236;;;1805:4;;28024:37;27989:72;;;:31;17758:28;28001:19;;;-1:-1:-1;27989:31:30;;;25524:146;25604:51;1237:38407;17758:28;1237:38407;25604:51;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;25604:51;32763:138;32835:51;1237:38407;17758:28;1237:38407;32835:51;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;32835:51;1237:38407;;;17758:28;1237:38407;;;;;;;;;17758:28;23603:85;1237:38407;;;;;;;;;;;;;;22460:205;22512:45;;;:::i;:::-;22511:46;22507:144;;22460:205;;;;22507:144;22588:44;1237:38407;17758:28;1237:38407;22588:44;;;;;;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;22588:44;24089:286;24121:18;;;;;24171:46;1237:38407;17758:28;1237:38407;24171:46;;;;23603:85;24171:46;;1237:38407;17758:28;23603:85;1237:38407;;;;;;;;;;;;;24171:46;24117:248;24308:41;;:::i;:::-;1237:38407;;17758:28;1237:38407;24263:87;;;;;;23603:85;24263:87;;1237:38407;17788:20;23603:85;1237:38407;;;;;;;;;;;;;17904:25;1237:38407;;;;;;;;;:::i;23702:326::-;1237:38407;;-1:-1:-1;23702:326:30;;22173:182;1237:38407;;;;;;17735:12;1237:38407;17758:28;1237:38407;;;22291:21;;;:49;:21;;;:49;1237:38407;22291:49;22173:182;;;22291:49;1805:4;;22291:49;;1237:38407;;;;;;;;;;;17758:28;23603:85;1237:38407;;;;;;;;;;;;;;18115:489;486:2:5;18170:65:30;;486:2:5;;1237:38407:30;368:2:5;1237:38407:30;;;368:2:5;;17788:20:30;309:8:0;;23603:85:30;1237:38407;-1:-1:-1;1237:38407:30;;368:2:5;1237:38407:30;;430:2:5;;486;1237:38407:30;;;430:2:5;23603:85:30;4512:78:5;;1237:38407:30;430:2:5;17841:23:30;430:2:5;;17904:25:30;18365:31;;1237:38407;17841:23;430:2:5;;17841:23:30;18326:37;;1237:38407;18500:23;;486:2:5;;18082:23:30;18564:17;;1237:38407;18115:489;;;;9014:2957;;;;9218:9;9286:20;;;1237:38407;38868:67;;9428:15;;;9286:20;9428:15;;;;:::i;:::-;1237:38407;9523:160;;;;;9014:2957;1237:38407;;9713:38;9700:51;9713:38;;9855:17;;;1237:38407;;9904:68;1237:38407;9800:74;10114:178;9855:17;;;;1805:4;38868:67;1237:38407;9800:74;;;9713:38;9800:74;;;;38868:67;9800:74;;;1237:38407;;;;;;:::i;:::-;;;;;;9800:74;;;;;;;;:::i;:::-;1237:38407;38868:67;1237:38407;9904:68;;;1237:38407;9904:68;;;;1237:38407;9800:74;9904:68;;1237:38407;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;9904:68::-;10114:178;;;;;;;;;1237:38407;10114:178;39151:66;38868:67;39151:66;10357:8;10353:1612;;9696:405;9014:2957;;;;:::o;10353:1612::-;10381:23;;;;;;1237:38407;10418:228;10114:178;10418:228;;;10353:1612;1237:38407;10663:35;;1237:38407;;10899:36;1237:38407;38868:67;1237:38407;10899:36;;;;;;;1237:38407;38868:67;1736:13;;;;;;;;1237:38407;1736:13;1237:38407;;;1736:13;10899:36;10659:1296;10960:43;;-1:-1:-1;10960:43:30;;1665:13;10960:43;1665:13;;11145:9;11136:36;:18;11344:9;11145;;11136:18;;:::i;:::-;11157:15;;;1237:38407;11136:36;;:::i;:::-;38868:67;11214:14;;1237:38407;11265:6;;;;;:::i;11344:9::-;10956:999;;10353:1612;;;;;;10956:999;38868:67;11794:18;38868:67;;;10114:178;11530:17;;1805:4;11569:14;;1237:38407;11490:223;10114:178;1237:38407;;;;11612:20;;1237:38407;11654:41;;:::i;:::-;1237:38407;11490:223;38868:67;1237:38407;11490:223;;;;;:::i;:::-;;;;38868:67;39151:66;11803:9;11794:18;;:::i;:::-;:36;11815:15;;;1237:38407;;;11794:36;;:::i;:::-;11860:80;1237:38407;34238:9;;34281:21;34346:14;;37554:20;;;1237:38407;37619:28;;;1237:38407;37717:35;1237:38407;1805:4;3696:5:1;;;:13;:5;;;:13;;;34767:60:30;1237:38407;34455:17;;;1237:38407;;;;1805:4;;9286:20;34806;;1237:38407;34767:60;;:::i;:::-;1805:4;;1237:38407;;34903:23;1237:38407;;-1:-1:-1;;1237:38407:30;;;;34899:1262;36196:9;1805:4;;;;1237:38407;;;38868:67;36312:14;;1237:38407;36344:23;;;;36340:796;36344:23;;;1237:38407;;;;;36459:23;;;36606:9;36459:23;36523:6;;;;:::i;36606:9::-;10956:999;;;1237:38407;;;;;;;;;;36340:796;36923:40;1805:4;;;;;;;36923:40;1237:38407;;1706:8:4;1237:38407:30;1706:8:4;1237:38407:30;;;1706:8:4;1237:38407:30;;;;1805:4;1237:38407;;;1558:305:4;;36923:40:30;;1237:38407;;37111:9;;;1237:38407;37111:9;;;:::i;:::-;36340:796;;34899:1262;35015:25;;;1237:38407;35058:1089;;34899:1262;;;;35058:1089;35185:9;;;;36060:68;35185:9;1237:38407;36096:31;1237:38407;36004:9;;1805:4;;36096:31;;1237:38407;36060:68;;:::i;:::-;35058:1089;;;;3696:13:1;;;;;;10418:228:30;;10114:178;1237:38407;10418:228;;1237:38407;10418:228;;;9696:405;10023:63;;;1237:38407;10023:63;1237:38407;10023:63;1237:38407;10023:63;;;;1237:38407;10023:63;;;1237:38407;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10023:63;;;;;;;;:::i;:::-;10114:178;1237:38407;10011:75;9696:405;;9523:160;-1:-1:-1;9523:160:30;;;;8421:286;1237:38407;;8522:25;;1237:38407;;8545:1;8604:35;;;;;;;;;:::i;:::-;;1237:38407;;;8421:286::o;1237:38407::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;39229:413;;2052:5;1805:4;;39364:43;;;39360:90;;39585:3;1805:4;1938:2;1805:4;;1237:38407;1938:2;39229:413;:::o;39360:90::-;39427:8;;1237:38407;39427:8;:::o;12404:411::-;;;;12571:237;1237:38407;12603:17;;;1805:4;12634:14;;1237:38407;;;;;12669:24;12603:17;1237:38407;12669:24;;;1237:38407;;12707:20;;1237:38407;;;;;;;;12603:17;1237:38407;;;;;;;;;;;12571:237;12404:411::o;:::-;;1237:38407;12571:237;12404:411;12603:17;;;1805:4;12634:14;;1237:38407;;;;;12669:24;12603:17;1237:38407;12669:24;;;1237:38407;;12707:20;;1237:38407;;;;;;;;;12603:17;1237:38407;;;;;;;;;;;12571:237;12404:411::o;12987:183::-;13100:17;;;1805:4;13119:14;;1237:38407;13073:90;13100:17;1237:38407;;;;;13142:20;;1237:38407;;;;;;13073:90;12987:183::o;1557:552:0:-;;1672:1;-1:-1:-1;1650:62:0;;1861:95;445:6;;1237:38407:30;2053:49:0;;1557:552::o;1650:62::-;1689:12;1237:38407:30;1689:12:0;:::o;30060:517:30:-;30234:19;;30230:76;;30252:1;1237:38407;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;1666:3:1;1237:38407:30;;1680:15:1;;;1676:67;;30060:517:30;1237:38407;;1794:8:1;1237:38407:30;;;;;;;;;:::i;:::-;;;;1817:50:1;1237:38407:30;1817:50:1;;1237:38407:30;;1817:50:1;;;;1237:38407:30;30461:15;:33;:71;;;;;30444:88;30542:28;30060:517;:::o;30461:71::-;:15;;;30498:34;;30542:28;30060:517;:::o;1676:67:1:-;1237:38407:30;;-1:-1:-1;1676:67:1;;30230:76:30;30269:26;30252:1;30269:26;30252:1;30269:26;:::o;19492:1671::-;;;;;19661:1;19642:20;;19638:1519;;19492:1671;;;;;;:::o;19638:1519::-;19695:14;;1237:38407;;;;;19734:43;;;;;:::i;:::-;19730:495;;20242:18;;;20238:121;;20394:2;20376:20;;20372:110;;20513:15;1237:38407;;20513:15;;:::i;:::-;1237:38407;20547:35;:14;;:35;1237:38407;20547:35;1237:38407;20513:80;;;;1237:38407;20513:80;;;;;;1237:38407;;;;;;;;;;:::i;:::-;20513:80;;;;;;;;;;;;19638:1519;1237:38407;;;;20611:21;;20607:115;;20739:17;;20735:116;;20868:19;:24;20864:123;;1237:38407;20394:2;1237:38407;;;21069:77;21026:23;20547:35;21026:23;368:2:5;;1237:38407:30;;;21085:17;;1805:4;21121:14;;:24;1237:38407;;;;;309:8:0;;;;1237:38407:30;;;;;;21069:77;19638:1519;;;;;;;1237:38407;;;20864:123;20919:53;1237:38407;20547:35;1237:38407;20919:53;;;;20513:80;20919:53;;1237:38407;20547:35;1237:38407;;;;;;;;;;;;;;20919:53;20735:116;20783:53;1237:38407;20547:35;1237:38407;20783:53;;;;20513:80;20783:53;;1237:38407;20547:35;1237:38407;;;;;;;;;;;;;;20783:53;20607:115;20659:48;1237:38407;20547:35;1237:38407;20659:48;;;;20513:80;20659:48;;1237:38407;20547:35;1237:38407;;;;;;;;;;;;;;20659:48;20513:80;;;;1237:38407;20513:80;1237:38407;20513:80;;;;;;;:::i;:::-;;;;;20547:35;1237:38407;;;;;;;;20372:110;20423:44;1237:38407;;;20423:44;;;;;;;1237:38407;;;;;;;;;;;;;;;;20423:44;20238:121;20292:52;1237:38407;;;20292:52;;;;;;;1237:38407;;;;;;;;;;;;;;;;20292:52;19730:495;19801:20;;;;;;19819:2;19801:20;;19797:390;;20204:7;;;;:::o;19797:390::-;20109:35;1237:38407;20070:15;;:::i;:::-;1237:38407;20109:35;;1237:38407;;;19819:2;1237:38407;;;20070:98;;;;;19661:1;1237:38407;;;;20109:35;1237:38407;20070:98;;;;;;;1237:38407;20070:98;;;;;1237:38407;20109:35;1237:38407;;;;19819:2;1237:38407;;;;;;;;;:::i;:::-;20070:98;;;;;;;;;19797:390;;;;;;20070:98;19661:1;20070:98;;;:::i;:::-;19661:1;20070:98;;;20109:35;1237:38407;;19661:1;1237:38407;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::o;2134:396:4:-;1237:38407:30;;;;;;;;;;;;;2367:23:4;;;2363:74;;1805:4:30;1237:38407;;2509:4:4;2134:396;:::o", "linkReferences": {} }, "methodIdentifiers": { "addStake(uint32)": "0396cb60", "balanceOf(address)": "70a08231", "delegateAndRevert(address,bytes)": "850aaf62", "depositTo(address)": "b760faf9", "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)": "0042dc53", "nonceSequenceNumber(address,uint192)": "1b2e01b8", "senderCreator()": "09ccb880", "supportsInterface(bytes4)": "01ffc9a7", "unlockStake()": "bb9fe6bf", "withdrawStake(address)": "c23a5cea", "withdrawTo(address,uint256)": "205c2878" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"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\":[{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"userOpHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"factory\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"}],\"name\":\"AccountDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"BeforeExecution\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDeposit\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"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\":\"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\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getDepositInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"deposit\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"staked\",\"type\":\"bool\"},{\"internalType\":\"uint112\",\"name\":\"stake\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"unstakeDelaySec\",\"type\":\"uint32\"},{\"internalType\":\"uint48\",\"name\":\"withdrawTime\",\"type\":\"uint48\"}],\"internalType\":\"struct IStakeManager.DepositInfo\",\"name\":\"info\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparatorV4\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPackedUserOpTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"}],\"name\":\"getSenderAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation\",\"name\":\"userOp\",\"type\":\"tuple\"}],\"name\":\"getUserOpHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"userOps\",\"type\":\"tuple[]\"},{\"internalType\":\"contract IAggregator\",\"name\":\"aggregator\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct IEntryPoint.UserOpsPerAggregator[]\",\"name\":\"opsPerAggregator\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleAggregatedOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"initCode\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"accountGasLimits\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"gasFees\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"paymasterAndData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"internalType\":\"struct PackedUserOperation[]\",\"name\":\"ops\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"handleOps\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint192\",\"name\":\"key\",\"type\":\"uint192\"}],\"name\":\"incrementNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"verificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"callGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterVerificationGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"paymasterPostOpGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preVerificationGas\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"maxFeePerGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPriorityFeePerGas\",\"type\":\"uint256\"}],\"internalType\":\"struct EntryPointFilterOpsOverride08.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 EntryPointFilterOpsOverride08.UserOpInfo\",\"name\":\"opInfo\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"}],\"name\":\"innerHandleOp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualGasCost\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint192\",\"name\":\"\",\"type\":\"uint192\"}],\"name\":\"nonceSequenceNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"senderCreator\",\"outputs\":[{\"internalType\":\"contract ISenderCreator\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unlockStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"}],\"name\":\"withdrawStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"withdrawAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"custom:security-contact\":\"https://bounty.ethereum.org\",\"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.\"}},\"PostOpRevertReason(bytes32,address,uint256,bytes)\":{\"params\":{\"nonce\":\"- The nonce used in the request.\",\"revertReason\":\"- The return bytes from the reverted call to \\\"postOp\\\".\",\"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 \\\"callData\\\" call.\",\"sender\":\"- The sender of this request.\",\"userOpHash\":\"- The request unique identifier.\"}}},\"kind\":\"dev\",\"methods\":{\"addStake(uint32)\":{\"params\":{\"unstakeDelaySec\":\"- The new lock duration before the deposit can be withdrawn.\"}},\"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.\"}},\"getDepositInfo(address)\":{\"params\":{\"account\":\"- The account to query.\"},\"returns\":{\"info\":\" - Full deposit information of given account.\"}},\"getNonce(address,uint192)\":{\"params\":{\"key\":\"the high 192 bit of the nonce\",\"sender\":\"the account address\"},\"returns\":{\"nonce\":\"a full nonce to pass for next UserOp with this sender.\"}},\"getSenderAddress(bytes)\":{\"params\":{\"initCode\":\"- The constructor code to be passed into the UserOperation.\"}},\"getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))\":{\"params\":{\"userOp\":\"- The user operation to generate the request ID for.\"},\"returns\":{\"_0\":\"hash the hash of this UserOperation\"}},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"opsPerAggregator\":\"- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts).\"}},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"params\":{\"beneficiary\":\"- The address to receive the fees.\",\"ops\":\"- The operations to execute.\"}},\"incrementNonce(uint192)\":{\"params\":{\"key\":\"- the \\\"nonce key\\\" to increment the \\\"nonce sequence\\\" for.\"}},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"params\":{\"callData\":\"- The callData to execute.\",\"context\":\"- The context bytes.\",\"opInfo\":\"- The UserOpInfo struct.\"},\"returns\":{\"actualGasCost\":\"- the actual cost in eth this UserOperation paid for gas\"}},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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 andhandleAggregatedOps, to identify the offending op. Should be caught in off-chain handleOps/handleAggregatedOps 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 and handleAggregatedOps, 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() and handleAggregatedOps(), 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\":{\"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.this method cannot be used for EIP-7702 derived contracts.\"},\"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), entrypoint address, chainId and (optionally) 7702 delegate address\"},\"handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperation with Aggregators\"},\"handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)\":{\"notice\":\"Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead.\"},\"incrementNonce(uint192)\":{\"notice\":\"Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \\\"initialize\\\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key.\"},\"innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)\":{\"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.\"},\"senderCreator()\":{\"notice\":\"Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts.\"},\"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.\"}},\"notice\":\"Account-Abstraction (EIP-4337) singleton EntryPoint v0.8 implementation. Only one instance required on each chain.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/v08/EntryPointFilterOpsOverride.sol\":\"EntryPointFilterOpsOverride08\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"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-v8/contracts/core/Eip7702Support.sol\":{\"keccak256\":\"0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99\",\"dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS\"]},\"lib/account-abstraction-v8/contracts/core/Helpers.sol\":{\"keccak256\":\"0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f\",\"dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f\"]},\"lib/account-abstraction-v8/contracts/core/NonceManager.sol\":{\"keccak256\":\"0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01\",\"dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE\"]},\"lib/account-abstraction-v8/contracts/core/SenderCreator.sol\":{\"keccak256\":\"0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df\",\"dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy\"]},\"lib/account-abstraction-v8/contracts/core/StakeManager.sol\":{\"keccak256\":\"0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2\",\"dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5\"]},\"lib/account-abstraction-v8/contracts/core/UserOperationLib.sol\":{\"keccak256\":\"0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99\",\"dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccount.sol\":{\"keccak256\":\"0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319\",\"dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol\":{\"keccak256\":\"0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced\",\"dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp\"]},\"lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol\":{\"keccak256\":\"0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77\",\"dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT\"]},\"lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol\":{\"keccak256\":\"0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931\",\"dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87\"]},\"lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol\":{\"keccak256\":\"0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d\",\"dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX\"]},\"lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol\":{\"keccak256\":\"0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00\",\"dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS\"]},\"lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol\":{\"keccak256\":\"0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570\",\"dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w\"]},\"lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol\":{\"keccak256\":\"0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85\",\"dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz\"]},\"lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol\":{\"keccak256\":\"0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79\",\"dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK\"]},\"lib/account-abstraction-v8/contracts/utils/Exec.sol\":{\"keccak256\":\"0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868\",\"dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8\"]},\"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/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"src/v08/EntryPointFilterOpsOverride.sol\":{\"keccak256\":\"0x80dc6f1af24429e04e8b0afaf016de96b7552f8714bdd9562bd50b6d3f3a9d3a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0875743385ffebd388818039d5edabd57aaa9e8eb86f34666b9421cfffb5cc71\",\"dweb:/ipfs/QmPMxga55NK88KQk93S1MyDLdzWm4F9tCGb4WQDsmM84bs\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.8.28+commit.7893614a" }, "language": "Solidity", "output": { "abi": [{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "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": [{ "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": "bytes32", "name": "userOpHash", "type": "bytes32", "indexed": true }, { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "factory", "type": "address", "indexed": false }, { "internalType": "address", "name": "paymaster", "type": "address", "indexed": false }], "type": "event", "name": "AccountDeployed", "anonymous": false }, { "inputs": [], "type": "event", "name": "BeforeExecution", "anonymous": false }, { "inputs": [{ "internalType": "address", "name": "account", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalDeposit", "type": "uint256", "indexed": false }], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [{ "internalType": "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": "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": [{ "internalType": "address", "name": "account", "type": "address" }], "stateMutability": "view", "type": "function", "name": "getDepositInfo", "outputs": [{ "internalType": "struct IStakeManager.DepositInfo", "name": "info", "type": "tuple", "components": [{ "internalType": "uint256", "name": "deposit", "type": "uint256" }, { "internalType": "bool", "name": "staked", "type": "bool" }, { "internalType": "uint112", "name": "stake", "type": "uint112" }, { "internalType": "uint32", "name": "unstakeDelaySec", "type": "uint32" }, { "internalType": "uint48", "name": "withdrawTime", "type": "uint48" }] }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDomainSeparatorV4", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "getNonce", "outputs": [{ "internalType": "uint256", "name": "nonce", "type": "uint256" }] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "getPackedUserOpTypeHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "bytes", "name": "initCode", "type": "bytes" }], "stateMutability": "nonpayable", "type": "function", "name": "getSenderAddress" }, { "inputs": [{ "internalType": "struct PackedUserOperation", "name": "userOp", "type": "tuple", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }], "stateMutability": "view", "type": "function", "name": "getUserOpHash", "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] }, { "inputs": [{ "internalType": "struct IEntryPoint.UserOpsPerAggregator[]", "name": "opsPerAggregator", "type": "tuple[]", "components": [{ "internalType": "struct PackedUserOperation[]", "name": "userOps", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "contract IAggregator", "name": "aggregator", "type": "address" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleAggregatedOps" }, { "inputs": [{ "internalType": "struct PackedUserOperation[]", "name": "ops", "type": "tuple[]", "components": [{ "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "initCode", "type": "bytes" }, { "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "bytes32", "name": "accountGasLimits", "type": "bytes32" }, { "internalType": "uint256", "name": "preVerificationGas", "type": "uint256" }, { "internalType": "bytes32", "name": "gasFees", "type": "bytes32" }, { "internalType": "bytes", "name": "paymasterAndData", "type": "bytes" }, { "internalType": "bytes", "name": "signature", "type": "bytes" }] }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "handleOps" }, { "inputs": [{ "internalType": "uint192", "name": "key", "type": "uint192" }], "stateMutability": "nonpayable", "type": "function", "name": "incrementNonce" }, { "inputs": [{ "internalType": "bytes", "name": "callData", "type": "bytes" }, { "internalType": "struct EntryPointFilterOpsOverride08.UserOpInfo", "name": "opInfo", "type": "tuple", "components": [{ "internalType": "struct EntryPointFilterOpsOverride08.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" }], "stateMutability": "nonpayable", "type": "function", "name": "innerHandleOp", "outputs": [{ "internalType": "uint256", "name": "actualGasCost", "type": "uint256" }] }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint192", "name": "", "type": "uint192" }], "stateMutability": "view", "type": "function", "name": "nonceSequenceNumber", "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "senderCreator", "outputs": [{ "internalType": "contract ISenderCreator", "name": "", "type": "address" }] }, { "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "unlockStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawStake" }, { "inputs": [{ "internalType": "address payable", "name": "withdrawAddress", "type": "address" }, { "internalType": "uint256", "name": "withdrawAmount", "type": "uint256" }], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [], "stateMutability": "payable", "type": "receive" }], "devdoc": { "kind": "dev", "methods": { "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." } }, "getDepositInfo(address)": { "params": { "account": "- The account to query." }, "returns": { "info": " - Full deposit information of given account." } }, "getNonce(address,uint192)": { "params": { "key": "the high 192 bit of the nonce", "sender": "the account address" }, "returns": { "nonce": "a full nonce to pass for next UserOp with this sender." } }, "getSenderAddress(bytes)": { "params": { "initCode": "- The constructor code to be passed into the UserOperation." } }, "getUserOpHash((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes))": { "params": { "userOp": "- The user operation to generate the request ID for." }, "returns": { "_0": "hash the hash of this UserOperation" } }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "opsPerAggregator": "- The operations to execute, grouped by aggregator (or address(0) for no-aggregator accounts)." } }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "params": { "beneficiary": "- The address to receive the fees.", "ops": "- The operations to execute." } }, "incrementNonce(uint192)": { "params": { "key": "- the \"nonce key\" to increment the \"nonce sequence\" for." } }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "params": { "callData": "- The callData to execute.", "context": "- The context bytes.", "opInfo": "- The UserOpInfo struct." }, "returns": { "actualGasCost": "- the actual cost in eth this UserOperation paid for gas" } }, "supportsInterface(bytes4)": { "details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 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": { "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.this method cannot be used for EIP-7702 derived contracts." }, "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), entrypoint address, chainId and (optionally) 7702 delegate address" }, "handleAggregatedOps(((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address,bytes)[],address)": { "notice": "Execute a batch of UserOperation with Aggregators" }, "handleOps((address,uint256,bytes,bytes,bytes32,uint256,bytes32,bytes,bytes)[],address)": { "notice": "Execute a batch of UserOperations. No signature aggregator is used. If any account requires an aggregator (that is, it returned an aggregator when performing simulateValidation), then handleAggregatedOps() must be used instead." }, "incrementNonce(uint192)": { "notice": "Manually increment the nonce of the sender. This method is exposed just for completeness.. Account does NOT need to call it, neither during validation, nor elsewhere, as the EntryPoint will update the nonce regardless. Possible use-case is call it with various keys to \"initialize\" their nonces to one, so that future UserOperations will not pay extra for the first transaction with a given key." }, "innerHandleOp(bytes,((address,uint256,uint256,uint256,uint256,uint256,uint256,address,uint256,uint256),bytes32,uint256,uint256,uint256),bytes)": { "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." }, "senderCreator()": { "notice": "Retrieves the immutable SenderCreator contract which is responsible for deployment of sender contracts." }, "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": 1000000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "src/v08/EntryPointFilterOpsOverride.sol": "EntryPointFilterOpsOverride08" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "lib/account-abstraction-v8/contracts/core/Eip7702Support.sol": { "keccak256": "0x8e22fc49f3ec8dadd4ec6f6829485d3d301afced9e73da1012e903d4221d715d", "urls": ["bzz-raw://85c21152f6f1e1754dbae1b9fa85040d9d282a8badd848765845a71acf3bbd99", "dweb:/ipfs/QmdNZSjrtoV4RM6fuKKUQU73AYzALsaBwY2tz2Lxz4mNaS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/Helpers.sol": { "keccak256": "0x42b948af5fa14a96149611595df1186800c7558b2de8762e4b45a7c45c16f65e", "urls": ["bzz-raw://737a7908131ece48a5df1faaa3d0be79c42792379c27f5615dae6aa14cd68c2f", "dweb:/ipfs/QmPAxGMDxuek7XWSUVfZpvYE8bustfsjTDVDK8hmE88e1f"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/core/NonceManager.sol": { "keccak256": "0x83fc7ce846063465d394b690c377beba26806e7564c77127d8a91b77ca64597c", "urls": ["bzz-raw://7ed8c369c25b26518b1c8ca43c6c3dddf7ea07c073f2b92408743f61e655dc01", "dweb:/ipfs/QmZuWagAa78Wvi8RKD1J1E48YxxW8SJxB6aKeT3EFz72HE"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/SenderCreator.sol": { "keccak256": "0x3138a92de18e7e39c45020f0e5e7d16da622c01f3846094f7be05c2aefb098fd", "urls": ["bzz-raw://6f87883de39461c04a76e672b69c968467c4ec3258d1887ba96c989563a843df", "dweb:/ipfs/QmPyuTTqCvoaZekGEmzPHN5j8oEXKV9vLxiSCMSLQA7usy"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/StakeManager.sol": { "keccak256": "0x98b727e4093595bf57eb09d45a9a181a26fca46591fc58601e8eae894d8f931a", "urls": ["bzz-raw://99d933ae3257d8aad0d32a60f021e37dd0dcedcd94edab905ec7523f34656ef2", "dweb:/ipfs/Qme8P8tZ37cexrxjTgrLoXXgbW1nqH8rQp5SLTW99aFsi5"], "license": "GPL-3.0" }, "lib/account-abstraction-v8/contracts/core/UserOperationLib.sol": { "keccak256": "0x2d3450fa3906422b6fdbbe7f2a2a9e36d6f3751bfa9cd80af88befd6a5be78c1", "urls": ["bzz-raw://292a0ef5295d7f2016e99d2c228958f7f6de94f5bd9652d8696af15af0094a99", "dweb:/ipfs/QmVg4fhkZbUB7AopGcaVPmTdvChq7W9ga8fjrc3XaJNTM2"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccount.sol": { "keccak256": "0x1030b464b49ce80da46b5b6c9af357c2d526f308de61391db6a4ec767d33b864", "urls": ["bzz-raw://671945f8e18e7305797312b5a209506be3c9bd1d9b9b561c1e8863bccfa61319", "dweb:/ipfs/QmVanLK5Aenrb7J94doiE1C9oHwo86jvv8NrpDeNHwvnii"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAccountExecute.sol": { "keccak256": "0xc313afc1e1b6823126be317611c3a868dc69eb29df43c658464b7188890c40e0", "urls": ["bzz-raw://f3c2a7fac3764500a7e57cf4b9a610b14125edc4d87371772ec1b3407e89eced", "dweb:/ipfs/Qmc2Au3LvywAB5uaEc8ttuGVRZU4Mrgn1XWyqDa2zxtCHp"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IAggregator.sol": { "keccak256": "0xdf580eafa015b81bde436d6a5468cc92b531ada84007cef885e923f6dfc5e8bf", "urls": ["bzz-raw://99f0060626568619ac94d750eb4c0888d92ca5775a6bd957fef9847843835b77", "dweb:/ipfs/QmXJer3D9sTkEj3mmUDqpdqfGpe46Rn9G22nGrfZdP2wAT"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IEntryPoint.sol": { "keccak256": "0x3b0423737e810dd886183ed32cfed9b45edd315f5fb3e1076fc19f86791adc64", "urls": ["bzz-raw://c43081efaa2eda581b6249053281bb58cb0c4eeb6bf87efc55d95daaec2fc931", "dweb:/ipfs/QmXRN2JnyzWZNeFMHauTnDuc7jhxGY4ZkY37HTtjXKdC87"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/INonceManager.sol": { "keccak256": "0xee493ae200b8c675bdc0da66f7ac6bb883ecea33672d7d0a95526b9eecdedf87", "urls": ["bzz-raw://979784a0333ac4ef3cc53ab9323a4b7fa574d929bd511f0eed03d3b0370db22d", "dweb:/ipfs/QmeiciN5gs4upM6vfKvrRxWiDBUzMU4uJQRRkJajhim9gX"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IPaymaster.sol": { "keccak256": "0x6be37abc0760d60a41124e2e3f46185a0d3df48b32bd73174790981f76fbdae8", "urls": ["bzz-raw://c144ba15a63883c7da41fc0729a46108f7d5487dbac2da0bde00aed67f5a2f00", "dweb:/ipfs/Qmdh7MzQmCQLh7wz719xMuG2yvMUkKDVwyN44P7pLofJfS"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/ISenderCreator.sol": { "keccak256": "0x677f651d733162b80d1af7901e4f36469e362737a8353d1d0cc7bb94489e4ba4", "urls": ["bzz-raw://d6905a80acd70b444ea230b5b582164cb99aaae518bf72c88f8292df31615570", "dweb:/ipfs/QmfTKTPwJYf9pmA3T5PE5cCG8GLLDrLaq3jQqMP3pVRL6w"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/IStakeManager.sol": { "keccak256": "0xe48e904fcac02295aad07fbfa1c1d449a74bf44c04e432afef6f34d1ef726ae0", "urls": ["bzz-raw://5882b635ea6f5da9ae411485975888431de571f85d4baf35e3db1a83c1f14b85", "dweb:/ipfs/QmVSTX36Byr48y8JBmz1hCTGAAyQdTYegQbsSqdRNuSQYz"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/interfaces/PackedUserOperation.sol": { "keccak256": "0xb15188e25e45fe73097e279675b6c0beccbd4133ead2260f8f0c4ba840046800", "urls": ["bzz-raw://5d14c1edd1e95d37c26e54bb34305e2cc9dedc46eb75ec91caeb777678e8ea79", "dweb:/ipfs/QmcCL2syVtV7W3XvYx3si84MPkbEJKqEN8hjFNhAPoDDhK"], "license": "MIT" }, "lib/account-abstraction-v8/contracts/utils/Exec.sol": { "keccak256": "0x9c724ee22011193ea7f92d3c3c467ee6aa27139d3ddc225c7f1254d241e6ccdd", "urls": ["bzz-raw://96cc246fe944a212cbb9ba82065b2d380ec80954fcdb5d8d982b476bd5b72868", "dweb:/ipfs/QmZ25eFixEhukbfWGz5TBjsp7YohxUqD5i2rxhaghfvHt8"], "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/introspection/ERC165.sol": { "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa", "urls": ["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287", "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/introspection/IERC165.sol": { "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", "urls": ["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/Math.sol": { "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", "urls": ["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SafeCast.sol": { "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", "urls": ["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"], "license": "MIT" }, "lib/openzeppelin-contracts-v5.1.0/contracts/utils/math/SignedMath.sol": { "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3", "urls": ["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03", "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"], "license": "MIT" }, "src/v08/EntryPointFilterOpsOverride.sol": { "keccak256": "0x80dc6f1af24429e04e8b0afaf016de96b7552f8714bdd9562bd50b6d3f3a9d3a", "urls": ["bzz-raw://0875743385ffebd388818039d5edabd57aaa9e8eb86f34666b9421cfffb5cc71", "dweb:/ipfs/QmPMxga55NK88KQk93S1MyDLdzWm4F9tCGb4WQDsmM84bs"], "license": "GPL-3.0" } }, "version": 1 }, "id": 30 }