@pimlico/alto 0.0.0-main.20250329T153456 → 0.0.0-main.20250331T140733
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/executor/executor.d.ts +1 -1
- package/esm/executor/executor.js +37 -5
- package/esm/executor/executor.js.map +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/executor/executor.d.ts +1 -1
- package/lib/executor/executor.js +36 -4
- package/lib/executor/executor.js.map +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/package.json +1 -1
|
@@ -31,6 +31,6 @@ export const PimlicoEntryPointSimulationsAbi = [
|
|
|
31
31
|
];
|
|
32
32
|
export const DETERMINISTIC_DEPLOYER_TRANSACTION = "0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222";
|
|
33
33
|
export const pimlicoEntrypointSimulationsSalt = "0x3132333400000000000000000000000000000000000000000000000000000000";
|
|
34
|
-
export const pimlicoEntrypointSimulationsV8DeployBytecode = "0x60808060405234607d5761686a8181016001600160401b038111838210176069578291610505833903905ff08015605e575f80546001600160a01b0319166001600160a01b039290921691909117905560405161048390816100828239f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63c18f522614610024575f80fd5b3461033f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361033f5760243567ffffffffffffffff811161033f573660238201121561033f57806004013561009f816103b1565b916100ad6040519384610370565b8183526024602084019260051b8201019036821161033f5760248101925b8284106102aa57845185877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610119610103856103b1565b946101116040519687610370565b8086526103b1565b015f5b8181106102995750505f5b82518110156102165760019060605f806101a473ffffffffffffffffffffffffffffffffffffffff8254166101d061015f878b61040c565b5160405193849160208301947f850aaf6200000000000000000000000000000000000000000000000000000000865260248401526040604484015260648301906103c9565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610370565b82885a935193f1156101f9575b6101e7828761040c565b526101f2818661040c565b5001610127565b503d604051906020818301016040528082525f602083013e6101dd565b836040518091602082016020835281518091526040830190602060408260051b8601019301915f905b82821061024e57505050500390f35b91936020610289827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516103c9565b960192019201859493919261023f565b80606060208093880101520161011c565b833567ffffffffffffffff811161033f5782013660438201121561033f5760248101359167ffffffffffffffff83116103435760405161031260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8701160182610370565b838152366044848601011161033f575f6020858196604483970183860137830101528152019301926100cb565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034357604052565b67ffffffffffffffff81116103435760051b60200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b80518210156104205760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea264697066735822122065c8c80f566bf0b1239a50b6c473d9794f851f987a32795b3bd3bfe8a9fb88ff64736f6c634300081c00336101a06040523461020a57604051610018604082610229565b600781526020810190664552433433333760c81b82526040519161003d604084610229565b600183526020830191603160f81b83526100568161024c565b61012052610063846103e7565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c082610229565b5190206080523060c0526040516104018082016001600160401b038111838210176101f6578291616469833903905ff080156101eb576101605230610180526040516101178161020e565b5f815260208101905f82528060206040516101318161020e565b5f81520152600480546001600160a01b03191690555160055551600655604051615f4990816105208239608051816146c7015260a05181614784015260c05181614698015260e051816147160152610100518161473c01526101205181611a6a01526101405181611a9301526101605181818161070d015281816150c3015261541401526101805181818161316c015281816131d40152818161342b01528181613b57015281816140f20152818161415901526142fd0152f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b604081019081106001600160401b038211176101f657604052565b601f909101601f19168101906001600160401b038211908210176101f657604052565b908151602081105f146102c6575090601f815111610286576020815191015160208210610277571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116101f657600254600181811c911680156103dd575b60208210146103c957601f8111610396575b50602092601f821160011461033557928192935f9261032a575b50508160011b915f199060031b1c19161760025560ff90565b015190505f80610311565b601f1982169360025f52805f20915f5b86811061037e5750836001959610610366575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f8080610358565b91926020600181928685015181550194019201610345565b60025f52601f60205f20910160051c810190601f830160051c015b8181106103be57506102f7565b5f81556001016103b1565b634e487b7160e01b5f52602260045260245ffd5b90607f16906102e5565b908151602081105f14610412575090601f815111610286576020815191015160208210610277571790565b6001600160401b0381116101f657600354600181811c91168015610515575b60208210146103c957601f81116104e2575b50602092601f821160011461048157928192935f92610476575b50508160011b915f199060031b1c19161760035560ff90565b015190505f8061045d565b601f1982169360035f52805f20915f5b8681106104ca57508360019596106104b2575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f80806104a4565b91926020600181928685015181550194019201610491565b60035f52601f60205f20910160051c810190601f830160051c015b81811061050a5750610443565b5f81556001016104fd565b90607f169061043156fe60806040526004361015610022575b3615610018575f80fd5b610020613c52565b005b5f3560e01c80630396cb601461020157806303d1dcaf146101fc57806309ccb880146101f75780630bd28e3b146101f25780630da82661146101ed5780630dbfc6bd146101e857806313c65a6e146101e3578063154e58dc146101de5780631b2e01b8146101d9578063205c2878146101d457806321e60b37146101cf57806322cdde4c146101ca578063263934db146101c557806330ec25d1146101c057806335567e1a146101bb57806344403473146101b65780635287ce12146101b15780635895273b146101ac57806369683cfa146101a757806370a08231146101a25780637472949c1461019d57806376ad61231461019857806384b0196e14610193578063850aaf621461018e578063b760faf914610189578063bb9fe6bf14610184578063c23a5cea1461017f578063c3bce0091461017a578063f7e426e8146101755763fe2171cb0361000e57611f68565b611f2f565b611f02565b611d8c565b611c21565b611be3565b611b89565b611a34565b6119c2565b6119a2565b61193c565b611729565b6116fc565b6115b6565b611571565b611424565b61138b565b611249565b611231565b610ffe565b610d7e565b610ce5565b610c8d565b610c4d565b610bb4565b6109ac565b610758565b6106c3565b6105d3565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043563ffffffff8116908181036104545761044f7fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916104316102f86102e16102923373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b9661029e811515611fd6565b6102cb6001890154916102c46102bb8463ffffffff9060781c1690565b63ffffffff1690565b111561203b565b60081c6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff3491166120ea565b946103048615156120f7565b61031e6dffffffffffffffffffffffffffff87111561215c565b546103276108d4565b908152600160208201526dffffffffffffffffffffffffffff8616604082015263ffffffff831660608201525f60808201526103803373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b78ffffffffffff0000000000000000000000000000000000000016179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b5f80fd5b9181601f840112156104545782359167ffffffffffffffff8311610454576020808501948460051b01011161045457565b73ffffffffffffffffffffffffffffffffffffffff81160361045457565b35906104b282610489565b565b60c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126104545760043567ffffffffffffffff811161045457816104fd91600401610458565b929092916024359067ffffffffffffffff8211610454577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82606092030112610454576004019060443561055081610489565b90606435906084359060a43590565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b608060406105d09360208452805160208501526020810151151582850152015191606080820152019061055f565b90565b34610454576106b56106a96105e7366104b4565b946105f69491949392936121c1565b506106296106026121e0565b61061761060f858061224f565b825190613d25565b610621848061224f565b905a91613e3a565b506106326121e0565b966106a4610640848061224f565b6106786040519a8b927f21e60b37000000000000000000000000000000000000000000000000000000006020850152602484016123e0565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018a5289610893565b614066565b604051918291826105a2565b0390f35b5f91031261045457565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361045457565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610454576107e290335f52600160205260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b6107ec81546124c9565b9055005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761083957604052565b6107f0565b6060810190811067ffffffffffffffff82111761083957604052565b610140810190811067ffffffffffffffff82111761083957604052565b6040810190811067ffffffffffffffff82111761083957604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761083957604052565b604051906104b260a083610893565b604051906104b261014083610893565b604051906104b261010083610893565b604051906104b2606083610893565b604051906104b2604083610893565b67ffffffffffffffff811161083957601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261096782610921565b916109756040519384610893565b829481845281830111610454578281602093845f960137010152565b9080601f83011215610454578160206105d09335910161095b565b34610454576102207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043567ffffffffffffffff8111610454576109fc903690600401610991565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601906101c082126104545761014060405192610a398461081d565b1261045457610a466108e3565b610a5060246104a7565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610a8d6101046104a7565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff821161045457604092610af4610aff933690600401610991565b90610204359261250d565b82519182526020820152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff821161045457610b5491600401610458565b9091565b9061010060e06105d093805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061055f565b3461045457610bcb610bc536610b0b565b906127cb565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b828210610c0257505050500390f35b91936020610c3d827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851610b58565b9601920192018594939192610bf3565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610c85614681565b604051908152f35b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610d75600435610d2581610489565b73ffffffffffffffffffffffffffffffffffffffff610d42610731565b91165f526001835260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457600435610db981610489565b602435335f525f60205260405f2091825490818311610e57575f80808573ffffffffffffffffffffffffffffffffffffffff829589610dfb846100209a61286b565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610e5161288c565b506128bb565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b90816101209103126104545790565b6102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359160243567ffffffffffffffff81116104545782610f1291600401610eb5565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc0160446101c082126104545761014060405192610f508461081d565b12610454576101a090610f616108e3565b610f6a826104a7565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610fb460e083016104a7565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b346104545761100c36610ec4565b90915f9180519361101d8582613d25565b61102681612920565b602083015273ffffffffffffffffffffffffffffffffffffffff60e061106d87610100604082015160608301510160808301510160a08301510160c0830151019101510290565b96876040860152015116611097575b604080515f8082526020820187905291810191909152606090f35b909192505a936110c383519173ffffffffffffffffffffffffffffffffffffffff60e084015116615652565b15611183579060806110da920151928391856158fc565b9390505a9003116110f257506106b5905f808061107c565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d69740000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff8211610454576105d091600401610eb5565b34610454576020610c85611244366111e8565b612920565b346104545761127561125a36610b0b565b8092916112656126b4565b5061126f82612702565b506127cb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112c1576106b5916112ac916127b7565b51604051918291602083526020830190610b58565b6120a0565b906105d09060e06080611318818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061055f565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c08501520151910190805173ffffffffffffffffffffffffffffffffffffffff1682526020908101518051828401520151604090910152565b34610454576113a261139c36610b0b565b90612b32565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b8282106113d957505050500390f35b91936020611414827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516112c6565b96019201920185949391926113ca565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457602060043561146181610489565b73ffffffffffffffffffffffffffffffffffffffff61147e610731565b91165f52600182526114b58160405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b9181601f840112156104545782359167ffffffffffffffff8311610454576020838186019501011161045457565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126104545760043561154981610489565b916024359067ffffffffffffffff821161045457611569916004016114e4565b909160443590565b34610454575f808061158236611512565b939181604094929451948592833781018381520393f16115a061288c565b90156115a857005b805190811561045457602001fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff60043561160681610489565b5f60806040516116158161081d565b8281528260208201528260408201528260608201520152165f525f6020526106b560405f206116a165ffffffffffff6001604051936116538561081d565b80548552015460ff8116151560208501526dffffffffffffffffffffffffffff8160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526dffffffffffffffffffffffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b34610454576106b5611715611710366111e8565b612c1d565b604051918291602083526020830190610b58565b346104545761173736610ec4565b9190915a928151936117498583613d25565b61175282612920565b602084015260408501519361179e6effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612e0c565b6117c986610100604082015160608301510160808301510160a08301510160c0830151019101510290565b9461180b6118076117dd5a89898988613f50565b9860206117fe825173ffffffffffffffffffffffffffffffffffffffff1690565b91015190614cd5565b1590565b6118ce575a83031161186857509261184c9260806118479360a0611853975a9560408601526060808601525a9003910135019101525a9061286b565b612e72565b6064900490565b604080519283525f6020840152820152606090f35b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b61117f826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff60043561198c81610489565b165f525f602052602060405f2054604051908152f35b34610454576106b56106a96119b6366104b4565b95949094939193613044565b34610454576106b56106a96119d6366104b4565b946119e59491949392936121c1565b506119ee6121e0565b966106a46119fc848061224f565b6106786040519a8b927f69683cfa000000000000000000000000000000000000000000000000000000006020850152602484016123e0565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611b30611a8e7f0000000000000000000000000000000000000000000000000000000000000000615bc8565b611ab77f0000000000000000000000000000000000000000000000000000000000000000615ce5565b6020604051611ac68282610893565b5f815281611b3e818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061055f565b90878203604089015261055f565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110611b7257505050500390f35b835185528695509381019392810192600101611b63565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611bc3600435610489565b60243567ffffffffffffffff8111610454576100209036906004016114e4565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457610020600435611c1c81610489565b61357e565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457335f525f602052600160405f2001805463ffffffff8160781c1615611d2e57611ca7611c996102bb83611c8d611c88611cf19660ff1690565b613605565b60781c63ffffffff1690565b65ffffffffffff421661366a565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90806020810161044f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576100205f808080600435611dce81610489565b73ffffffffffffffffffffffffffffffffffffffff6001611e0c3373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b0191611ea8835493611e8065ffffffffffff611e6c611e52611e3f896dffffffffffffffffffffffffffff9060081c1690565b6dffffffffffffffffffffffffffff1690565b97611e5e891515613688565b60981c65ffffffffffff1690565b16611e788115156136ed565b421015613752565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611efc61288c565b506137b7565b34610454576106b5611f1b611f16366111e8565b613912565b6040519182916020835260208301906112c6565b3461045457611f49611f4036611512565b92919091613ae8565b906106b56040519283921515835260406020840152604083019061055f565b3461045457611f8a611f7936610b0b565b809291611f84612ab0565b50612b32565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112c1576106b591611fc1916127b7565b516040519182916020835260208301906112c6565b15611fdd57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561204257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9061138882018092116112c157565b90600182018092116112c157565b919082018092116112c157565b156120fe57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561216357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b604051906121ce8261083e565b60606040835f81525f60208201520152565b604051906121ed8261081d565b5f6080836040516121fd8161085a565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b9035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee181360301821215610454570190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045457016020813591019167ffffffffffffffff821161045457813603831361045457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b6105d09161233b81612321846104a7565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526123d16123c561238c61237161235e6040870187612282565b61012060408801526101208701916122d2565b61237e6060870187612282565b9086830360608801526122d2565b6080850135608085015260a085013560a085015260c085013560c08501526123b760e0860186612282565b9085830360e08701526122d2565b92610100810190612282565b916101008185039101526122d2565b9060806124036101e0929594955f85526102006020860152610200850190612310565b94610120815161242c60408701825173ffffffffffffffffffffffffffffffffffffffff169052565b60208101516060870152604081015184870152606081015160a08701528381015160c087015260a081015160e087015260c081015161010087015261248d60e08201518388019073ffffffffffffffffffffffffffffffffffffffff169052565b6101008101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112c15760010190565b6040906105d093928152816020820152019061055f565b9190805193606085015194612525603f5a0260061c90565b61271060a08301518801011161263057610b54955f958051612554575b5050505a900360808201510192614430565b61257f916118079161257a855173ffffffffffffffffffffffffffffffffffffffff1690565b614378565b61258b575b8080612542565b6125ac9194506040519061259d614389565b9081516125b5575b5050604052565b6001925f612584565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff6020870151926126266020612614835173ffffffffffffffffffffffffffffffffffffffff1690565b920151956040519384931696836124f6565b0390a35f806125a5565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f600482016080905f815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116108395760051b60200190565b60405190610100820182811067ffffffffffffffff82111761083957604052606060e0835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201520152565b9061270c8261269c565b6127196040519182610893565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612747829461269c565b01905f5b82811061275757505050565b6020906127626126b4565b8282850101520161274b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b908210156127b2576105d09160051b81019061224f565b61276e565b80518210156127b25760209160051b010190565b6127d482612702565b915f5b8181106127e45750505090565b806127f5611710600193858761279b565b6127ff82876127b7565b5261280a81866127b7565b50016127d7565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112c157565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82019182116112c157565b919082039182116112c157565b60405190612887602083610893565b5f8252565b3d156128b6573d9061289d82610921565b916128ab6040519384610893565b82523d5f602084013e565b606090565b156128c257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b6105d09061292d8161489e565b612935614681565b91612a3c81359261294584610489565b6020830135908015612a7857612a1090935b61296d6129676060830183612ed2565b90615eb1565b90608081013560a08201359061298f61296760c08501359460e0810190612ed2565b93604051988997602089019b8c949192610100969399989794919973ffffffffffffffffffffffffffffffffffffffff61012088019b7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610893565b51902090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612a10612a896040850185612ed2565b90816040519182372093612957565b60405190612aa582610877565b5f6020838281520152565b60405190612abd8261081d565b81604051612aca8161081d565b5f81525f60208201525f60408201525f6060820152606060808201528152612af0612a98565b6020820152612afd612a98565b6040820152612b0a612a98565b6060820152608060405191612b1e83610877565b5f8352612b29612a98565b60208401520152565b612b3b8261269c565b91612b496040519384610893565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612b768261269c565b015f5b818110612bbe5750505f5b818110612b915750505090565b80612ba2611f16600193858761279b565b612bac82876127b7565b52612bb781866127b7565b5001612b84565b602090612bc9612ab0565b82828801015201612b79565b908092918237015f815290565b60405190612bf1604083610893565b600282527f30780000000000000000000000000000000000000000000000000000000000006020830152565b612c256126b4565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c612de45760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6080612c7a6121e0565b91612c8481614968565b612c8e8382614aca565b929091905a606087015187612ca66060850185612ed2565b5f60038211612ddc575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003612dc3575050612d46612d78612d7d9560208401516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000006020850152604060248501526064840190612310565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610893565b61250d565b9490955b015194612d8c6108f3565b958652602086015260408501526060840152608083015260a08201525f60c0820152612db6612be2565b60e08201526105d0614943565b612dd4955090612d7891369161095b565b949095612d81565b508135612cb0565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b15612e1357565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b906073820291808304607314901517156112c157565b91908110156127b25760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610454570190565b356105d081610489565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610454570180359067ffffffffffffffff82116104545760200191813603831361045457565b60405190612f32602083610893565b5f808352366020840137565b90612f4882610921565b612f556040519182610893565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612f838294610921565b0190602036910137565b939291612fc09073ffffffffffffffffffffffffffffffffffffffff60409316865260606020870152606086019061055f565b930152565b91906040838203126104545782518015158103610454579260208101519067ffffffffffffffff8211610454570181601f820112156104545780519061300a82610921565b926130186040519485610893565b8284526020838301011161045457815f9260208093018386015e8301015290565b6040513d5f823e3d90fd5b9691959392966130526121c1565b505f5b8281106134cf57505050613069858061224f565b926130a961309161308a61307f60208a01612ec8565b986040810190612ed2565b369161095b565b9461309a6121e0565b906130a481614968565b614aca565b50505073ffffffffffffffffffffffffffffffffffffffff8616156134a65782156133ca57613152926130da612878565b50915f612a1061311b5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612f8d565b5a9060405196879283927ff7e426e80000000000000000000000000000000000000000000000000000000084528d60048501612f8d565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af191821561331e575f945f936133a8575b508294809381156133855750506131bc909692919394965b856120ea565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016975b84613201888561286b565b1061335a575a613210886120cd565b116133235791869593918a95935f8d8c8c61327561323b6132356132ae9f8a906120ea565b60011c90565b9b612a108d6040519485937f4440347300000000000000000000000000000000000000000000000000000000602086015260248501612f8d565b835a936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612f8d565b03925af198891561331e575f905f9a6132f7575b50156132e2575050506132d484612811565b95915b9390929495916131f6565b939650946132f19197506120dc565b946132d7565b90506133169199503d805f833e61330e8183610893565b810190612fc5565b98905f6132c2565b613039565b7fe2c4d0be000000000000000000000000000000000000000000000000000000005f5260048290526024879052604483905260645ffd5b9750975050925050945061337d9150613371610903565b93845215156020840152565b604082015290565b975097505096505050505061337d61339b610903565b5f81529215156020840152565b9092506133c09194503d805f833e61330e8183610893565b939093915f61319e565b9061341192505a905f612a1061311b5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612f8d565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af192831561331e575f945f94613484575b50839461346c81945a9061286b565b9481156133855750506131bc909692919394966131b6565b90935061349c9194503d805f833e61330e8183610893565b939093925f61345d565b509450505050506134b5612f23565b6134bd610903565b905f82525f6020830152604082015290565b6001906134da6121e0565b6135056134e8838787612e88565b916134fb6134f6848061224f565b614968565b6130a4838061224f565b5050506020810161353161351882612ec8565b73ffffffffffffffffffffffffffffffffffffffff1690565b15613577575f91826135516135468294612ec8565b926040810190612ed2565b919061356260405180948193612bd5565b03925af15061356f61288c565b505b01613055565b5050613571565b60015b600581106135fd57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6135f1348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b600101613581565b1561360c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff82116112c157565b1561368f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b156136f457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561375957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b156137be57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b906014116104545790601490565b909291928360141161045457831161045457601401917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec0190565b919091357fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081169260148110613899575050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000929350829060140360031b1b161690565b604051906138d882610877565b60045473ffffffffffffffffffffffffffffffffffffffff16825260405160208361390283610877565b6005548352600654828401520152565b61391a612ab0565b506139236121e0565b9061392d81614968565b6139378282614aca565b509190926139458385614d41565b61396f61396a60e08351015173ffffffffffffffffffffffffffffffffffffffff1690565b614f69565b916139aa61399661396a845173ffffffffffffffffffffffffffffffffffffffff90511690565b9161399f612a98565b506040810190612ed2565b9060148210613a9f576139cc6139c66139d29361396a9361381c565b90613865565b60601c90565b9173ffffffffffffffffffffffffffffffffffffffff8616946080820151966060604084015193015192613a046108d4565b9889526020890152604088015260608701526080860152613a236138cb565b9380151580613a94575b613a55575b50613a3b6108d4565b948552602085015260408401526060830152608082015290565b909350613a6181614f69565b613a88613a6c610912565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b6020820152925f613a32565b506001811415613a2d565b50506139d25f614f69565b60409073ffffffffffffffffffffffffffffffffffffffff6105d0959316815281602082015201916122d2565b9081518110156127b2570160200190565b91925f9373ffffffffffffffffffffffffffffffffffffffff6060941691823b1561045457613b80935f80946040518097819682957f850aaf6200000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048501613aaa565b0393f19081613c38575b50610b54575050613b9961288c565b906004825110613c2a57613bb5613bb0835161283e565b612f3e565b60045b8351811015613c145780613bf7613bd160019387613ad7565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613c0d613c038361283e565b915f1a9185613ad7565b5301613bb8565b50610b5491925060208082518301019101612fc5565b9050613c34612f23565b5f91565b80613c465f613c4c93610893565b806106b9565b5f613b8a565b6104b23361357e565b15613c6257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b15613cc757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b613dc990613d4f613d3582612ec8565b73ffffffffffffffffffffffffffffffffffffffff168452565b60208101356020840152613d7c6080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c0840152613db360c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e0810190612ed2565b80929192613dd657505050565b613df2816104b294613ded603460e0951015613c5b565b614fbd565b60a0850152608084015291613e1e73ffffffffffffffffffffffffffffffffffffffff84161515613cc0565b019073ffffffffffffffffffffffffffffffffffffffff169052565b9291613e8b9082519273ffffffffffffffffffffffffffffffffffffffff60e08186511695613e77613e6f60408b018b612ed2565b90865f61501b565b015116905f91159687613f10575b5f61551a565b92613e935750565b5f613e9d91615652565b15613ea457565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f5f60048301608091815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b9150613f398573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548015613f4957505f5b91613e85565b5f03613f43565b92909493613fa39083519373ffffffffffffffffffffffffffffffffffffffff60e08187511696613f8f613f8760408d018d612ed2565b90868c61501b565b015116905f91159889614024575b8761551a565b94613fad57505050565b613fb691615652565b15613fbe5750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b915061404d8673ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548581111561405f57505f5b91613f9d565b8503614059565b916140876134f69261408d949a96979895999a6140816121c1565b50615684565b8061224f565b82156142a4576140d89261409f612878565b50915f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612f8d565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af191821561331e575f945f93614282575b5082948093811561426d57505061414190959291939495856120ea565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016965b84614186888561286b565b10614257575a614195886120cd565b116133235791869593915f9593868b8b8e6141b6613235886141ef9f6120ea565b9a8b936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612f8d565b03925af198891561331e575f905f9a614238575b50156142235750505061421584612811565b95915b93909294959161417b565b939650946142329197506120dc565b94614218565b905061424f9199503d805f833e61330e8183610893565b98905f614203565b96509650509195505061337d9150613371610903565b9650965050955050505061337d61339b610903565b90925061429a9194503d805f833e61330e8183610893565b939093915f614124565b906142e392505a905f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612f8d565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af192831561331e575f945f94614356575b50839461433e81945a9061286b565b94811561426d575050614141909592919394956131b6565b90935061436e9194503d805f833e61330e8183610893565b939093925f61432f565b905f9283809360208451940192f190565b3d61080081116143ad575b604051906020818301016040528082525f602083013e90565b50610800614394565b600311156143c057565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b909493929460038110156143c05760609261441591835260806020840152608083019061055f565b9460408201520152565b9060206105d092818152019061055f565b929093915f935a9286519261444484615720565b9361446660e082015173ffffffffffffffffffffffffffffffffffffffff1690565b9261447c60808b01518203606084015190615740565b01925f9273ffffffffffffffffffffffffffffffffffffffff82169182614570575050506144be905173ffffffffffffffffffffffffffffffffffffffff1690565b945b5a900301019182026040870151938185105f14614526575050806144e56002926143b6565b036144fe57816104b292956144f981615861565b61575f565b7fdeadaa51000000000000000000000000000000000000000000000000000000005f5260205ffd5b9161455f82989293846104b297039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b50614569816143b6565b15906157e0565b9792918151614582575b5050506144c0565b90919293505a91614592876143b6565b600287036145b9575b50509060a06145b0925a900391015190615740565b905f808061457a565b90929199505a9260a083015191813b15610454578792895f80948a61461084604051998a98899788957f7c627b210000000000000000000000000000000000000000000000000000000087520291600486016143ed565b0393f1908161466d575b5061465c5761117f61462a614389565b6040519182917fad7954bc0000000000000000000000000000000000000000000000000000000083526004830161441f565b60a06145b0925a900399919261459b565b80613c465f61467b93610893565b5f61461a565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480614781575b156146e9577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261477b60c082610893565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146146c0565b9290925a9383516147da73ffffffffffffffffffffffffffffffffffffffff60e083015116604087015190615652565b156147ff579060806147f1920151948591846158fc565b9390945a9003116110f25750565b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b909280927fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149560601b1683528483013701015f815290565b6148ab6040820182612ed2565b90916148ba6118078385615a71565b61493c576148ca6148cf91612ec8565b615ac6565b916014821161491857505060405161477b81612a106020820194857fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149260601b1681520190565b8161477b926149269261382a565b9190612a10604051938492602084019687614864565b5050505f90565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b61499b906149796040820182612ed2565b9161499381359161498983610489565b60e0810190612ed2565b939092615aea565b80516149a45750565b61117f906040519182917f220266b60000000000000000000000000000000000000000000000000000000083525f600484015260406024840152604483019061055f565b156149f05750565b604051907f220266b60000000000000000000000000000000000000000000000000000000082526004820152604060248201528061117f60448201604090601881527f41413934206761732076616c756573206f766572666c6f77000000000000000060208201520190565b15614a645750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9190915f915a93805192614ade8482613d25565b614af7604051614aed83612920565b6020850152604052565b604084015195614b3f5f6effffffffffffffffffffffffffffff8960c08901511760608901511760808901511760a089015117610100890151176101208901511711156149e8565b614b8a614b6d86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040860152614b81608085013560801c90565b9085855f613f50565b96614bc05f614bbb614bb0895173ffffffffffffffffffffffffffffffffffffffff1690565b60208a015190614cd5565b614a5c565b5a820311614c695760609473ffffffffffffffffffffffffffffffffffffffff614c0260e05a93015173ffffffffffffffffffffffffffffffffffffffff1690565b16614c31575b60809291614c1f61184c61184760a0945a9061286b565b9660608601525a900391013501910152565b945061184795509060a0608092614c4783615ba9565b50614c1f61184c614c5987865f6147aa565b9a90999450505050919250614c08565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f5f60048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b73ffffffffffffffffffffffffffffffffffffffff165f52600160205267ffffffffffffffff614d2d8260401c60405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b91825492614d3a846124c9565b9055161490565b614d5f73ffffffffffffffffffffffffffffffffffffffff91615d9d565b9116614efd57614e9157614d8773ffffffffffffffffffffffffffffffffffffffff91615d9d565b9116614e2557614d9357565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f5f6004830160a091815260406020820152602160408201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f650000000000000000000000000000000000000000000000000000000000000060808201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f5f60048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f5f60048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b6040517f220266b60000000000000000000000000000000000000000000000000000000081528061117f5f60048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b9073ffffffffffffffffffffffffffffffffffffffff614f87612a98565b92165f525f60205263ffffffff600160405f2001546dffffffffffffffffffffffffffff8160081c16845260781c166020830152565b9091826014116104545781359183602411610454576014810135936034116104545760609290921c92608090811c9260240135901c90565b9081602091031261045457516105d081610489565b9160206105d09381815201916122d2565b9290918161502a575b50505050565b82519361504b855173ffffffffffffffffffffffffffffffffffffffff1690565b946150568484615a71565b6153e45750843b61537e576014831061531857604084510151602060405180927f570e1a36000000000000000000000000000000000000000000000000000000008252815f816150aa8a8a6004840161500a565b039273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690f190811561331e575f916152e9575b5073ffffffffffffffffffffffffffffffffffffffff811695861561527b5773ffffffffffffffffffffffffffffffffffffffff1680960361520d573b156151a757506139cc6139c67fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936151679361381c565b602083810151935160e001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a35f808080615024565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b61117f826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b61117f836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b61530b915060203d602011615311575b6153038183610893565b810190614ff5565b5f6150f3565b503d6152f9565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152608490fd5b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b93505090601481116153f65750505050565b8061543d91604073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169501519361382a565b9190833b15610454575f809461548396604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501613aaa565b0393f1801561331e57615499575b808080615024565b80613c465f6154a793610893565b5f615491565b6154c560409295949395606083526060830190612310565b9460208201520152565b60a0906105d09392815260606020820152600d60608201527f41413233207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b92916020959486926155835f9361067861554a825173ffffffffffffffffffffffffffffffffffffffff90511690565b976040519b8c930151888401957f19822f7c000000000000000000000000000000000000000000000000000000008752602485016154ad565b8285895193f15f519460203d0361564a575b604052156155a1575050565b3b61560c57604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152608490fd5b615614614389565b9061117f6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484016154cf565b5f9150615595565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090815481811061493c57039055600190565b5f5b82811061569257505050565b60019061569d6121e0565b6156ab6134e8838787612e88565b5050506020810135906156bd82610489565b73ffffffffffffffffffffffffffffffffffffffff821615615719575f91826156f481936156ea84610489565b6040810190612ed2565b9190826040519384928337810182815203925af15061571161288c565b505b01615686565b5050615713565b61012061010082015191015148018082105f1461573b575090565b905090565b90619c40820181111561575957606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b60a0906105d09392815260606020820152600d60608201527f41413333207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b925f809195939295604051968261599c60e06020880151976159808c6159536040840151602083019c8d997f52b7512c000000000000000000000000000000000000000000000000000000008b52602485016154ad565b038d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820190528d610893565b51015173ffffffffffffffffffffffffffffffffffffffff1690565b895193f1933d91825f833e51938151604083019687519015918215615a65575b508115615a35575b506159f75750601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601604052565b6159ff614389565b9061117f6040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484016158b1565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085019101105f6159c4565b6040141591505f6159bc565b90600211615ac157357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b5f806017923c73ffffffffffffffffffffffffffffffffffffffff5f51604b1c1690565b50929192159081615b9f575b50615b62576014811015615b0f575b50506105d0612878565b601411610454573560601c3b15615b27575f80615b05565b604051615b35604082610893565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051615b72604082610893565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b155f615af6565b615bb79060e0810190612ed2565b602411610454576014013560801c90565b60ff8114615bd9576105d090615ebc565b506040515f6002548060011c91600182168015615cdb575b602084108114615cae5783855284926020840191908115615c775750600114615c22575b506105d092500382610893565b60025f90815291507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b848310615c6057506105d09350015f615c15565b805482840152859350602090920191600101615c4c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168252506105d093151560051b0190505f615c15565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b92607f1692615bf1565b60ff8114615cf6576105d090615ebc565b506040515f6003548060011c91600182168015615d93575b602084108114615cae5783855284926020840191908115615c775750600114615d3e57506105d092500382610893565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b848310615d7c57506105d09350015f615c15565b805482840152859350602090920191600101615d68565b92607f1692615d0e565b8015615eaa575f60408051615db18161083e565b828152826020820152015265ffffffffffff8160a01c168015615e9d575b615e7e90615e58615de6615df1615de68660d01c90565b65ffffffffffff1690565b92615e3073ffffffffffffffffffffffffffffffffffffffff615e12610903565b9716879073ffffffffffffffffffffffffffffffffffffffff169052565b615e466020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115615e81575b50915173ffffffffffffffffffffffffffffffffffffffff1690565b91565b51615e94915065ffffffffffff16615de6565b4211155f615e62565b5065ffffffffffff615dcf565b505f905f90565b816040519182372090565b60ff811690601f8211615eeb5760405191615ed8604084610893565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212204f5935f7e44d3ebd89b5fb2ffb22a5611b10efc95ed81dc8c9de23942b790ec564736f6c634300081c003360a08060405234602257336080526103da90816100278239608051816101f30152f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c8063570e1a3614610217578063b0d691fe146101a95763c09ad0d91461003a575f80fd5b346101a55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a55760043573ffffffffffffffffffffffffffffffffffffffff811681036101a55760243567ffffffffffffffff81116101a557366023820112156101a5575f916100bd83923690602481600401359101610302565b9082602083519301915af1156100cf57005b3d610800811161019c575b60c460405160208382010160405282815260208101925f843e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f6040519485937f65c8fd4d0000000000000000000000000000000000000000000000000000000085525f6004860152606060248601528260648601527f4141313320454950373730322073656e64657220696e6974206661696c656400608486015260a060448601525180918160a48701528686015e5f85828601015201168101030190fd5b506108006100da565b5f80fd5b346101a5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101a55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101a55760043567ffffffffffffffff81116101a557366023820112156101a55780600401359067ffffffffffffffff82116101a55736602483830101116101a5575f91806014116101a5576020916102c35f927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36910160388401610302565b90826024858451940192013560601c5af16102fa575b60209073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b505f516102d9565b92919267ffffffffffffffff821161037757604051917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f8401160116830183811067ffffffffffffffff821117610377576040528294818452818301116101a5578281602093845f960137010152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffdfea2646970667358221220025ae851c71d81effd5bfee64691cb18e6b0231c0b135bb59bdeea56669d985364736f6c634300081c0033";
|
|
34
|
+
export const pimlicoEntrypointSimulationsV8DeployBytecode = "0x60808060405234607d576164118181016001600160401b038111838210176069578291610505833903905ff08015605e575f80546001600160a01b0319166001600160a01b039290921691909117905560405161048390816100828239f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63c18f522614610024575f80fd5b3461033f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361033f5760243567ffffffffffffffff811161033f573660238201121561033f57806004013561009f816103b1565b916100ad6040519384610370565b8183526024602084019260051b8201019036821161033f5760248101925b8284106102aa57845185877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610119610103856103b1565b946101116040519687610370565b8086526103b1565b015f5b8181106102995750505f5b82518110156102165760019060605f806101a473ffffffffffffffffffffffffffffffffffffffff8254166101d061015f878b61040c565b5160405193849160208301947f850aaf6200000000000000000000000000000000000000000000000000000000865260248401526040604484015260648301906103c9565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610370565b82885a935193f1156101f9575b6101e7828761040c565b526101f2818661040c565b5001610127565b503d604051906020818301016040528082525f602083013e6101dd565b836040518091602082016020835281518091526040830190602060408260051b8601019301915f905b82821061024e57505050500390f35b91936020610289827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516103c9565b960192019201859493919261023f565b80606060208093880101520161011c565b833567ffffffffffffffff811161033f5782013660438201121561033f5760248101359167ffffffffffffffff83116103435760405161031260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8701160182610370565b838152366044848601011161033f575f6020858196604483970183860137830101528152019301926100cb565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034357604052565b67ffffffffffffffff81116103435760051b60200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b80518210156104205760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea26469706673582212201f2bdb60bda2583e073b1d602640359c86c29ad81fd1f6bc04a021580e0d6f1764736f6c634300081c0033610180604052346101a3576040516100186040826101d6565b600781526020810190664552433433333760c81b82526040519161003d6040846101d6565b600183526020830191603160f81b8352610056816101f9565b6101205261006384610394565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c0826101d6565b5190206080523060c05230610160526040516100e7816101a7565b5f815260208101905f8252806020604051610101816101a7565b5f81520152600480546001600160a01b03191690555160055551600655604051615f4490816104cd823960805181614724015260a051816147e1015260c051816146f5015260e051816147730152610100518161479901526101205181611a5201526101405181611a7b0152610160518181816131ce015281816132360152818161348801528181613bb40152818161414f015281816141b6015261435a0152f35b5f80fd5b604081019081106001600160401b038211176101c257604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176101c257604052565b908151602081105f14610273575090601f815111610233576020815191015160208210610224571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116101c257600254600181811c9116801561038a575b602082101461037657601f8111610343575b50602092601f82116001146102e257928192935f926102d7575b50508160011b915f199060031b1c19161760025560ff90565b015190505f806102be565b601f1982169360025f52805f20915f5b86811061032b5750836001959610610313575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f8080610305565b919260206001819286850151815501940192016102f2565b60025f52601f60205f20910160051c810190601f830160051c015b81811061036b57506102a4565b5f815560010161035e565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610292565b908151602081105f146103bf575090601f815111610233576020815191015160208210610224571790565b6001600160401b0381116101c257600354600181811c911680156104c2575b602082101461037657601f811161048f575b50602092601f821160011461042e57928192935f92610423575b50508160011b915f199060031b1c19161760035560ff90565b015190505f8061040a565b601f1982169360035f52805f20915f5b868110610477575083600195961061045f575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f8080610451565b9192602060018192868501518155019401920161043e565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104b757506103f0565b5f81556001016104aa565b90607f16906103de56fe60806040526004361015610022575b3615610018575f80fd5b610020613caf565b005b5f3560e01c80630396cb601461020157806303d1dcaf146101fc57806309ccb880146101f75780630bd28e3b146101f25780630da82661146101ed5780630dbfc6bd146101e857806313c65a6e146101e3578063154e58dc146101de5780631b2e01b8146101d9578063205c2878146101d457806321e60b37146101cf57806322cdde4c146101ca578063263934db146101c557806330ec25d1146101c057806335567e1a146101bb57806344403473146101b65780635287ce12146101b15780635895273b146101ac57806369683cfa146101a757806370a08231146101a25780637472949c1461019d57806376ad61231461019857806384b0196e14610193578063850aaf621461018e578063b760faf914610189578063bb9fe6bf14610184578063c23a5cea1461017f578063c3bce0091461017a578063f7e426e8146101755763fe2171cb0361000e57611f50565b611f17565b611eea565b611d74565b611c09565b611bcb565b611b71565b611a1c565b6119aa565b61198a565b611924565b611711565b6116e4565b61159e565b611559565b61140c565b611373565b611231565b611219565b610fe6565b610d66565b610ccd565b610c75565b610c35565b610b9c565b610994565b610740565b6106c3565b6105d3565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043563ffffffff8116908181036104545761044f7fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916104316102f86102e16102923373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b9661029e811515611fbe565b6102cb6001890154916102c46102bb8463ffffffff9060781c1690565b63ffffffff1690565b1115612023565b60081c6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff3491166120d2565b946103048615156120df565b61031e6dffffffffffffffffffffffffffff871115612144565b546103276108bc565b908152600160208201526dffffffffffffffffffffffffffff8616604082015263ffffffff831660608201525f60808201526103803373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b78ffffffffffff0000000000000000000000000000000000000016179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b5f80fd5b9181601f840112156104545782359167ffffffffffffffff8311610454576020808501948460051b01011161045457565b73ffffffffffffffffffffffffffffffffffffffff81160361045457565b35906104b282610489565b565b60c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126104545760043567ffffffffffffffff811161045457816104fd91600401610458565b929092916024359067ffffffffffffffff8211610454577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82606092030112610454576004019060443561055081610489565b90606435906084359060a43590565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b608060406105d09360208452805160208501526020810151151582850152015191606080820152019061055f565b90565b34610454576106b56106a96105e7366104b4565b946105f69491949392936121a9565b506106296106026121c8565b61061761060f8580612237565b825190613d82565b6106218480612237565b905a91613e97565b506106326121c8565b966106a46106408480612237565b6106786040519a8b927f21e60b37000000000000000000000000000000000000000000000000000000006020850152602484016123c8565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018a528961087b565b6140c3565b604051918291826105a2565b0390f35b5f91031261045457565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206106fb6124bc565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361045457565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610454576107ca90335f52600160205260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b6107d48154612536565b9055005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761082157604052565b6107d8565b6060810190811067ffffffffffffffff82111761082157604052565b610140810190811067ffffffffffffffff82111761082157604052565b6040810190811067ffffffffffffffff82111761082157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761082157604052565b604051906104b260a08361087b565b604051906104b26101408361087b565b604051906104b26101008361087b565b604051906104b260608361087b565b604051906104b260408361087b565b67ffffffffffffffff811161082157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261094f82610909565b9161095d604051938461087b565b829481845281830111610454578281602093845f960137010152565b9080601f83011215610454578160206105d093359101610943565b34610454576102207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043567ffffffffffffffff8111610454576109e4903690600401610979565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601906101c082126104545761014060405192610a2184610805565b1261045457610a2e6108cb565b610a3860246104a7565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610a756101046104a7565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff821161045457604092610adc610ae7933690600401610979565b90610204359261257a565b82519182526020820152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff821161045457610b3c91600401610458565b9091565b9061010060e06105d093805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061055f565b3461045457610bb3610bad36610af3565b90612838565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b828210610bea57505050500390f35b91936020610c25827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851610b40565b9601920192018594939192610bdb565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610c6d6146de565b604051908152f35b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610d5d600435610d0d81610489565b73ffffffffffffffffffffffffffffffffffffffff610d2a610719565b91165f526001835260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457600435610da181610489565b602435335f525f60205260405f2091825490818311610e3f575f80808573ffffffffffffffffffffffffffffffffffffffff829589610de3846100209a6128d8565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610e396128f9565b50612928565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b90816101209103126104545790565b6102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359160243567ffffffffffffffff81116104545782610efa91600401610e9d565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc0160446101c082126104545761014060405192610f3884610805565b12610454576101a090610f496108cb565b610f52826104a7565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610f9c60e083016104a7565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b3461045457610ff436610eac565b90915f918051936110058582613d82565b61100e8161298d565b602083015273ffffffffffffffffffffffffffffffffffffffff60e061105587610100604082015160608301510160808301510160a08301510160c0830151019101510290565b9687604086015201511661107f575b604080515f8082526020820187905291810191909152606090f35b909192505a936110ab83519173ffffffffffffffffffffffffffffffffffffffff60e08401511661564d565b1561116b579060806110c2920151928391856158f7565b9390505a9003116110da57506106b5905f8080611064565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d69740000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff8211610454576105d091600401610e9d565b34610454576020610c6d61122c366111d0565b61298d565b346104545761125d61124236610af3565b80929161124d612721565b506112578261276f565b50612838565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a9576106b59161129491612824565b51604051918291602083526020830190610b40565b612088565b906105d09060e06080611300818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061055f565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c08501520151910190805173ffffffffffffffffffffffffffffffffffffffff1682526020908101518051828401520151604090910152565b346104545761138a61138436610af3565b90612b9f565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b8282106113c157505050500390f35b919360206113fc827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516112ae565b96019201920185949391926113b2565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457602060043561144981610489565b73ffffffffffffffffffffffffffffffffffffffff611466610719565b91165f526001825261149d8160405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b9181601f840112156104545782359167ffffffffffffffff8311610454576020838186019501011161045457565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126104545760043561153181610489565b916024359067ffffffffffffffff821161045457611551916004016114cc565b909160443590565b34610454575f808061156a366114fa565b939181604094929451948592833781018381520393f16115886128f9565b901561159057005b805190811561045457602001fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff6004356115ee81610489565b5f60806040516115fd81610805565b8281528260208201528260408201528260608201520152165f525f6020526106b560405f2061168965ffffffffffff60016040519361163b85610805565b80548552015460ff8116151560208501526dffffffffffffffffffffffffffff8160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526dffffffffffffffffffffffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b34610454576106b56116fd6116f8366111d0565b612c8a565b604051918291602083526020830190610b40565b346104545761171f36610eac565b9190915a928151936117318583613d82565b61173a8261298d565b60208401526040850151936117866effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612e79565b6117b186610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946117f36117ef6117c55a89898988613fad565b9860206117e6825173ffffffffffffffffffffffffffffffffffffffff1690565b91015190614d32565b1590565b6118b6575a83031161185057509261183492608061182f9360a061183b975a9560408601526060808601525a9003910135019101525a906128d8565b612edf565b6064900490565b604080519283525f6020840152820152606090f35b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b611167826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff60043561197481610489565b165f525f602052602060405f2054604051908152f35b34610454576106b56106a961199e366104b4565b959490949391936130a6565b34610454576106b56106a96119be366104b4565b946119cd9491949392936121a9565b506119d66121c8565b966106a46119e48480612237565b6106786040519a8b927f69683cfa000000000000000000000000000000000000000000000000000000006020850152602484016123c8565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611b18611a767f0000000000000000000000000000000000000000000000000000000000000000615bc3565b611a9f7f0000000000000000000000000000000000000000000000000000000000000000615ce0565b6020604051611aae828261087b565b5f815281611b26818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061055f565b90878203604089015261055f565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110611b5a57505050500390f35b835185528695509381019392810192600101611b4b565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611bab600435610489565b60243567ffffffffffffffff8111610454576100209036906004016114cc565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457610020600435611c0481610489565b6135db565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457335f525f602052600160405f2001805463ffffffff8160781c1615611d1657611c8f611c816102bb83611c75611c70611cd99660ff1690565b613662565b60781c63ffffffff1690565b65ffffffffffff42166136c7565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90806020810161044f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576100205f808080600435611db681610489565b73ffffffffffffffffffffffffffffffffffffffff6001611df43373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b0191611e90835493611e6865ffffffffffff611e54611e3a611e27896dffffffffffffffffffffffffffff9060081c1690565b6dffffffffffffffffffffffffffff1690565b97611e468915156136e5565b60981c65ffffffffffff1690565b16611e6081151561374a565b4210156137af565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611ee46128f9565b50613814565b34610454576106b5611f03611efe366111d0565b61396f565b6040519182916020835260208301906112ae565b3461045457611f31611f28366114fa565b92919091613b45565b906106b56040519283921515835260406020840152604083019061055f565b3461045457611f72611f6136610af3565b809291611f6c612b1d565b50612b9f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a9576106b591611fa991612824565b516040519182916020835260208301906112ae565b15611fc557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561202a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9061138882018092116112a957565b90600182018092116112a957565b919082018092116112a957565b156120e657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561214b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b604051906121b682610826565b60606040835f81525f60208201520152565b604051906121d582610805565b5f6080836040516121e581610842565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b9035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee181360301821215610454570190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045457016020813591019167ffffffffffffffff821161045457813603831361045457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b6105d09161232381612309846104a7565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526123b96123ad612374612359612346604087018761226a565b61012060408801526101208701916122ba565b612366606087018761226a565b9086830360608801526122ba565b6080850135608085015260a085013560a085015260c085013560c085015261239f60e086018661226a565b9085830360e08701526122ba565b9261010081019061226a565b916101008185039101526122ba565b9060806123eb6101e0929594955f855261020060208601526102008501906122f8565b94610120815161241460408701825173ffffffffffffffffffffffffffffffffffffffff169052565b60208101516060870152604081015184870152606081015160a08701528381015160c087015260a081015160e087015260c081015161010087015261247560e08201518388019073ffffffffffffffffffffffffffffffffffffffff169052565b6101008101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b6040513d5f823e3d90fd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115612531575f916124fc575090565b90506020813d602011612529575b816125176020938361087b565b8101031261045457516105d081610489565b3d915061250a565b6124b1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112a95760010190565b6040906105d093928152816020820152019061055f565b9190805193606085015194612592603f5a0260061c90565b61271060a08301518801011161269d57610b3c955f9580516125c1575b5050505a90036080820151019261448d565b6125ec916117ef916125e7855173ffffffffffffffffffffffffffffffffffffffff1690565b6143d5565b6125f8575b80806125af565b6126199194506040519061260a6143e6565b908151612622575b5050604052565b6001925f6125f1565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff6020870151926126936020612681835173ffffffffffffffffffffffffffffffffffffffff1690565b92015195604051938493169683612563565b0390a35f80612612565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611167600482016080905f815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116108215760051b60200190565b60405190610100820182811067ffffffffffffffff82111761082157604052606060e0835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201520152565b9061277982612709565b612786604051918261087b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06127b48294612709565b01905f5b8281106127c457505050565b6020906127cf612721565b828285010152016127b8565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9082101561281f576105d09160051b810190612237565b6127db565b805182101561281f5760209160051b010190565b6128418261276f565b915f5b8181106128515750505090565b806128626116f86001938587612808565b61286c8287612824565b526128778186612824565b5001612844565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a957565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82019182116112a957565b919082039182116112a957565b604051906128f460208361087b565b5f8252565b3d15612923573d9061290a82610909565b91612918604051938461087b565b82523d5f602084013e565b606090565b1561292f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b6105d09061299a816148fb565b6129a26146de565b91612aa98135926129b284610489565b6020830135908015612ae557612a7d90935b6129da6129d46060830183612f3f565b90615eac565b90608081013560a0820135906129fc6129d460c08501359460e0810190612f3f565b93604051988997602089019b8c949192610100969399989794919973ffffffffffffffffffffffffffffffffffffffff61012088019b7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261087b565b51902090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612a7d612af66040850185612f3f565b908160405191823720936129c4565b60405190612b128261085f565b5f6020838281520152565b60405190612b2a82610805565b81604051612b3781610805565b5f81525f60208201525f60408201525f6060820152606060808201528152612b5d612b05565b6020820152612b6a612b05565b6040820152612b77612b05565b6060820152608060405191612b8b8361085f565b5f8352612b96612b05565b60208401520152565b612ba882612709565b91612bb6604051938461087b565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612be382612709565b015f5b818110612c2b5750505f5b818110612bfe5750505090565b80612c0f611efe6001938587612808565b612c198287612824565b52612c248186612824565b5001612bf1565b602090612c36612b1d565b82828801015201612be6565b908092918237015f815290565b60405190612c5e60408361087b565b600282527f30780000000000000000000000000000000000000000000000000000000000006020830152565b612c92612721565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c612e515760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6080612ce76121c8565b91612cf1816149c5565b612cfb8382614b27565b929091905a606087015187612d136060850185612f3f565b5f60038211612e49575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003612e30575050612db3612de5612dea9560208401516040519384927f8dd7712f0000000000000000000000000000000000000000000000000000000060208501526040602485015260648401906122f8565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261087b565b61257a565b9490955b015194612df96108db565b958652602086015260408501526060840152608083015260a08201525f60c0820152612e23612c4f565b60e08201526105d06149a0565b612e41955090612de5913691610943565b949095612dee565b508135612d1d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b15612e8057565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b906073820291808304607314901517156112a957565b919081101561281f5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610454570190565b356105d081610489565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610454570180359067ffffffffffffffff82116104545760200191813603831361045457565b60405190612f9f60208361087b565b5f808352366020840137565b90612fb582610909565b612fc2604051918261087b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612ff08294610909565b0190602036910137565b93929161302d9073ffffffffffffffffffffffffffffffffffffffff60409316865260606020870152606086019061055f565b930152565b91906040838203126104545782518015158103610454579260208101519067ffffffffffffffff8211610454570181601f820112156104545780519061307782610909565b92613085604051948561087b565b8284526020838301011161045457815f9260208093018386015e8301015290565b9691959392966130b46121a9565b505f5b82811061352c575050506130cb8580612237565b9261310b6130f36130ec6130e160208a01612f35565b986040810190612f3f565b3691610943565b946130fc6121c8565b90613106816149c5565b614b27565b50505073ffffffffffffffffffffffffffffffffffffffff861615613503578215613427576131b49261313c6128e5565b50915f612a7d61317d5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612ffa565b5a9060405196879283927ff7e426e80000000000000000000000000000000000000000000000000000000084528d60048501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215612531575f945f93613405575b508294809381156133e257505061321e909692919394965b856120d2565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016975b8461326388856128d8565b106133b7575a613272886120b5565b116133805791869593918a95935f8d8c8c6132d761329d6132976133109f8a906120d2565b60011c90565b9b612a7d8d6040519485937f4440347300000000000000000000000000000000000000000000000000000000602086015260248501612ffa565b835a936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612ffa565b03925af1988915612531575f905f9a613359575b5015613344575050506133368461287e565b95915b939092949591613258565b939650946133539197506120c4565b94613339565b90506133789199503d805f833e613370818361087b565b810190613032565b98905f613324565b7fe2c4d0be000000000000000000000000000000000000000000000000000000005f5260048290526024879052604483905260645ffd5b975097505092505094506133da91506133ce6108eb565b93845215156020840152565b604082015290565b97509750509650505050506133da6133f86108eb565b5f81529215156020840152565b90925061341d9194503d805f833e613370818361087b565b939093915f613200565b9061346e92505a905f612a7d61317d5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315612531575f945f946134e1575b5083946134c981945a906128d8565b9481156133e257505061321e90969291939496613218565b9093506134f99194503d805f833e613370818361087b565b939093925f6134ba565b50945050505050613512612f90565b61351a6108eb565b905f82525f6020830152604082015290565b6001906135376121c8565b613562613545838787612ef5565b916135586135538480612237565b6149c5565b6131068380612237565b5050506020810161358e61357582612f35565b73ffffffffffffffffffffffffffffffffffffffff1690565b156135d4575f91826135ae6135a38294612f35565b926040810190612f3f565b91906135bf60405180948193612c42565b03925af1506135cc6128f9565b505b016130b7565b50506135ce565b60015b6005811061365a57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff61364e348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b6001016135de565b1561366957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff82116112a957565b156136ec57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561375157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b156137b657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b1561381b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b906014116104545790601490565b909291928360141161045457831161045457601401917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec0190565b919091357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000811692601481106138f6575050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000929350829060140360031b1b161690565b604051906139358261085f565b60045473ffffffffffffffffffffffffffffffffffffffff16825260405160208361395f8361085f565b6005548352600654828401520152565b613977612b1d565b506139806121c8565b9061398a816149c5565b6139948282614b27565b509190926139a28385614d9e565b6139cc6139c760e08351015173ffffffffffffffffffffffffffffffffffffffff1690565b614fc6565b91613a076139f36139c7845173ffffffffffffffffffffffffffffffffffffffff90511690565b916139fc612b05565b506040810190612f3f565b9060148210613afc57613a29613a23613a2f936139c793613879565b906138c2565b60601c90565b9173ffffffffffffffffffffffffffffffffffffffff8616946080820151966060604084015193015192613a616108bc565b9889526020890152604088015260608701526080860152613a80613928565b9380151580613af1575b613ab2575b50613a986108bc565b948552602085015260408401526060830152608082015290565b909350613abe81614fc6565b613ae5613ac96108fa565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b6020820152925f613a8f565b506001811415613a8a565b5050613a2f5f614fc6565b60409073ffffffffffffffffffffffffffffffffffffffff6105d0959316815281602082015201916122ba565b90815181101561281f570160200190565b91925f9373ffffffffffffffffffffffffffffffffffffffff6060941691823b1561045457613bdd935f80946040518097819682957f850aaf6200000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048501613b07565b0393f19081613c95575b50610b3c575050613bf66128f9565b906004825110613c8757613c12613c0d83516128ab565b612fab565b60045b8351811015613c715780613c54613c2e60019387613b34565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613c6a613c60836128ab565b915f1a9185613b34565b5301613c15565b50610b3c91925060208082518301019101613032565b9050613c91612f90565b5f91565b80613ca35f613ca99361087b565b806106b9565b5f613be7565b6104b2336135db565b15613cbf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b15613d2457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b613e2690613dac613d9282612f35565b73ffffffffffffffffffffffffffffffffffffffff168452565b60208101356020840152613dd96080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c0840152613e1060c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e0810190612f3f565b80929192613e3357505050565b613e4f816104b294613e4a603460e0951015613cb8565b61501a565b60a0850152608084015291613e7b73ffffffffffffffffffffffffffffffffffffffff84161515613d1d565b019073ffffffffffffffffffffffffffffffffffffffff169052565b9291613ee89082519273ffffffffffffffffffffffffffffffffffffffff60e08186511695613ed4613ecc60408b018b612f3f565b90865f615078565b015116905f91159687613f6d575b5f615515565b92613ef05750565b5f613efa9161564d565b15613f0157565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b9150613f968573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548015613fa657505f5b91613ee2565b5f03613fa0565b929094936140009083519373ffffffffffffffffffffffffffffffffffffffff60e08187511696613fec613fe460408d018d612f3f565b90868c615078565b015116905f91159889614081575b87615515565b9461400a57505050565b6140139161564d565b1561401b5750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b91506140aa8673ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b54858111156140bc57505f5b91613ffa565b85036140b6565b916140e4613553926140ea949a96979895999a6140de6121a9565b5061567f565b80612237565b821561430157614135926140fc6128e5565b50915f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215612531575f945f936142df575b508294809381156142ca57505061419e90959291939495856120d2565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016965b846141e388856128d8565b106142b4575a6141f2886120b5565b116133805791869593915f9593868b8b8e6142136132978861424c9f6120d2565b9a8b936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612ffa565b03925af1988915612531575f905f9a614295575b5015614280575050506142728461287e565b95915b9390929495916141d8565b9396509461428f9197506120c4565b94614275565b90506142ac9199503d805f833e613370818361087b565b98905f614260565b9650965050919550506133da91506133ce6108eb565b965096505095505050506133da6133f86108eb565b9092506142f79194503d805f833e613370818361087b565b939093915f614181565b9061434092505a905f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315612531575f945f946143b3575b50839461439b81945a906128d8565b9481156142ca57505061419e90959291939495613218565b9093506143cb9194503d805f833e613370818361087b565b939093925f61438c565b905f9283809360208451940192f190565b3d610800811161440a575b604051906020818301016040528082525f602083013e90565b506108006143f1565b6003111561441d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9094939294600381101561441d5760609261447291835260806020840152608083019061055f565b9460408201520152565b9060206105d092818152019061055f565b929093915f935a928651926144a18461571b565b936144c360e082015173ffffffffffffffffffffffffffffffffffffffff1690565b926144d960808b0151820360608401519061573b565b01925f9273ffffffffffffffffffffffffffffffffffffffff821691826145cd5750505061451b905173ffffffffffffffffffffffffffffffffffffffff1690565b945b5a900301019182026040870151938185105f1461458357505080614542600292614413565b0361455b57816104b292956145568161585c565b61575a565b7fdeadaa51000000000000000000000000000000000000000000000000000000005f5260205ffd5b916145bc82989293846104b297039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506145c681614413565b15906157db565b97929181516145df575b50505061451d565b90919293505a916145ef87614413565b60028703614616575b50509060a061460d925a90039101519061573b565b905f80806145d7565b90929199505a9260a083015191813b15610454578792895f80948a61466d84604051998a98899788957f7c627b2100000000000000000000000000000000000000000000000000000000875202916004860161444a565b0393f190816146ca575b506146b9576111676146876143e6565b6040519182917fad7954bc0000000000000000000000000000000000000000000000000000000083526004830161447c565b60a061460d925a90039991926145f8565b80613ca35f6146d89361087b565b5f614677565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806147de575b15614746577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526147d860c08261087b565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461471d565b9290925a93835161483773ffffffffffffffffffffffffffffffffffffffff60e08301511660408701519061564d565b1561485c5790608061484e920151948591846158f7565b9390945a9003116110da5750565b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b909280927fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149560601b1683528483013701015f815290565b6149086040820182612f3f565b90916149176117ef8385615a6c565b6149995761492761492c91612f35565b615ac1565b91601482116149755750506040516147d881612a7d6020820194857fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149260601b1681520190565b816147d89261498392613887565b9190612a7d6040519384926020840196876148c1565b5050505f90565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b6149f8906149d66040820182612f3f565b916149f08135916149e683610489565b60e0810190612f3f565b939092615ae5565b8051614a015750565b611167906040519182917f220266b60000000000000000000000000000000000000000000000000000000083525f600484015260406024840152604483019061055f565b15614a4d5750565b604051907f220266b60000000000000000000000000000000000000000000000000000000082526004820152604060248201528061116760448201604090601881527f41413934206761732076616c756573206f766572666c6f77000000000000000060208201520190565b15614ac15750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9190915f915a93805192614b3b8482613d82565b614b54604051614b4a8361298d565b6020850152604052565b604084015195614b9c5f6effffffffffffffffffffffffffffff8960c08901511760608901511760808901511760a08901511761010089015117610120890151171115614a45565b614be7614bca86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040860152614bde608085013560801c90565b9085855f613fad565b96614c1d5f614c18614c0d895173ffffffffffffffffffffffffffffffffffffffff1690565b60208a015190614d32565b614ab9565b5a820311614cc65760609473ffffffffffffffffffffffffffffffffffffffff614c5f60e05a93015173ffffffffffffffffffffffffffffffffffffffff1690565b16614c8e575b60809291614c7c61183461182f60a0945a906128d8565b9660608601525a900391013501910152565b945061182f95509060a0608092614ca483615ba4565b50614c7c611834614cb687865f614807565b9a90999450505050919250614c65565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b73ffffffffffffffffffffffffffffffffffffffff165f52600160205267ffffffffffffffff614d8a8260401c60405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b91825492614d9784612536565b9055161490565b614dbc73ffffffffffffffffffffffffffffffffffffffff91615d98565b9116614f5a57614eee57614de473ffffffffffffffffffffffffffffffffffffffff91615d98565b9116614e8257614df057565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f6004830160a091815260406020820152602160408201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f650000000000000000000000000000000000000000000000000000000000000060808201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b9073ffffffffffffffffffffffffffffffffffffffff614fe4612b05565b92165f525f60205263ffffffff600160405f2001546dffffffffffffffffffffffffffff8160081c16845260781c166020830152565b9091826014116104545781359183602411610454576014810135936034116104545760609290921c92608090811c9260240135901c90565b9081602091031261045457516105d081610489565b9160206105d09381815201916122ba565b92909181615087575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff16936150ab8383615a6c565b61540c57843b6153a65760148310615340575f60206150cb6135756124bc565b604087510151604051809481937f570e1a360000000000000000000000000000000000000000000000000000000083528261510a8b8b60048401615067565b0393f1908115612531575f91615311575b5073ffffffffffffffffffffffffffffffffffffffff81169586156152a35773ffffffffffffffffffffffffffffffffffffffff16809603615235573b156151cf5750613a29613a237fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361518f93613879565b602083810151935160e001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a35f808080615081565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b611167826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b611167836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b615333915060203d602011615339575b61532b818361087b565b810190615052565b5f61511b565b503d615321565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152608490fd5b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b50906014811161541c5750505050565b8061543891604061542e6135756124bc565b9551015193613887565b9190833b15610454575f809461547e96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501613b07565b0393f1801561253157615494575b808080615081565b80613ca35f6154a29361087b565b5f61548c565b6154c0604092959493956060835260608301906122f8565b9460208201520152565b60a0906105d09392815260606020820152600d60608201527f41413233207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b929160209594869261557e5f93610678615545825173ffffffffffffffffffffffffffffffffffffffff90511690565b976040519b8c930151888401957f19822f7c000000000000000000000000000000000000000000000000000000008752602485016154a8565b8285895193f15f519460203d03615645575b6040521561559c575050565b3b61560757604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152608490fd5b61560f6143e6565b906111676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484016154ca565b5f9150615590565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090815481811061499957039055600190565b5f5b82811061568d57505050565b6001906156986121c8565b6156a6613545838787612ef5565b5050506020810135906156b882610489565b73ffffffffffffffffffffffffffffffffffffffff821615615714575f91826156ef81936156e584610489565b6040810190612f3f565b9190826040519384928337810182815203925af15061570c6128f9565b505b01615681565b505061570e565b61012061010082015191015148018082105f14615736575090565b905090565b90619c40820181111561575457606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b60a0906105d09392815260606020820152600d60608201527f41413333207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b925f809195939295604051968261599760e060208801519761597b8c61594e6040840151602083019c8d997f52b7512c000000000000000000000000000000000000000000000000000000008b52602485016154a8565b038d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820190528d61087b565b51015173ffffffffffffffffffffffffffffffffffffffff1690565b895193f1933d91825f833e51938151604083019687519015918215615a60575b508115615a30575b506159f25750601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601604052565b6159fa6143e6565b906111676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484016158ac565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085019101105f6159bf565b6040141591505f6159b7565b90600211615abc57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b5f806017923c73ffffffffffffffffffffffffffffffffffffffff5f51604b1c1690565b50929192159081615b9a575b50615b5d576014811015615b0a575b50506105d06128e5565b601411610454573560601c3b15615b22575f80615b00565b604051615b3060408261087b565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051615b6d60408261087b565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b155f615af1565b615bb29060e0810190612f3f565b602411610454576014013560801c90565b60ff8114615bd4576105d090615eb7565b506040515f6002548060011c91600182168015615cd6575b602084108114615ca95783855284926020840191908115615c725750600114615c1d575b506105d09250038261087b565b60025f90815291507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b848310615c5b57506105d09350015f615c10565b805482840152859350602090920191600101615c47565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168252506105d093151560051b0190505f615c10565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b92607f1692615bec565b60ff8114615cf1576105d090615eb7565b506040515f6003548060011c91600182168015615d8e575b602084108114615ca95783855284926020840191908115615c725750600114615d3957506105d09250038261087b565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b848310615d7757506105d09350015f615c10565b805482840152859350602090920191600101615d63565b92607f1692615d09565b8015615ea5575f60408051615dac81610826565b828152826020820152015265ffffffffffff8160a01c168015615e98575b615e7990615e53615de1615dec615de18660d01c90565b65ffffffffffff1690565b92615e2b73ffffffffffffffffffffffffffffffffffffffff615e0d6108eb565b9716879073ffffffffffffffffffffffffffffffffffffffff169052565b615e416020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115615e7c575b50915173ffffffffffffffffffffffffffffffffffffffff1690565b91565b51615e8f915065ffffffffffff16615de1565b4211155f615e5d565b5065ffffffffffff615dca565b505f905f90565b816040519182372090565b60ff811690601f8211615ee65760405191615ed360408461087b565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212206b98d8f2b5de1b65293c277942baf05f04aa19ad89d362404d24fb31a999575c64736f6c634300081c0033";
|
|
35
35
|
export const pimlicoEntrypointSimulationsV7DeployBytecode = "0x6080806040523461008557614c6f8181016001600160401b0381118382101761006f578291610400833903906000f0801561006357600080546001600160a01b0319166001600160a01b0392909216919091179055604051610375908161008b8239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60406080815260048036101561001457600080fd5b6000803560e01c63c18f52261461002a57600080fd5b346102825782600319360112610282576001600160a01b03600435818116939084900361027e57602492833567ffffffffffffffff80821161027e573660238301121561027e57816004013591610080836102bd565b9261008d8a519485610285565b808452602095888786019260051b8401019236841161027a57898101925b8484106101fb575050505050508051946100dc6100c7876102bd565b966100d48a519889610285565b8088526102bd565b601f199790880185855b8281106101eb57505050835b8984518210156101905790878680878761014f8f8d61014360019a61011d8b60609b8a541698610315565b5190805197889485019763428557b160e11b8952850152604484015260648301906102d5565b03908101845283610285565b82885a935193f115610178575b610166828b610315565b52610171818a610315565b50016100f2565b508a513d81810189018d52808252878983013e61015c565b805187815289518189018190528792600582901b83018101918c8b01918b9085015b8287106101bf5785850386f35b9091929382806101db600193603f198a820301865288516102d5565b96019201960195929190926101b2565b606082828c0101520186906100e6565b833586811161027657820136604382011215610276578b8101356044888211610264578f5192610234601f8401601f19168e0185610285565b82845236828483010111610260578c838196948296948f940183860137830101528152019301926100ab565b8b80fd5b634e487b7160e01b8b52604186528d8bfd5b8880fd5b8680fd5b8280fd5b80fd5b90601f8019910116810190811067ffffffffffffffff8211176102a757604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116102a75760051b60200190565b919082519283825260005b848110610301575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e0565b80518210156103295760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220043c1216c773f941b98e08b3742e9b8ed17d65a9f0969b4a471f5f52c723da4964736f6c6343000817003360c08060405234620000fb5760016002556101608181016001600160401b03811183821017620000e557829162004b0f833903906000f08015620000d9576080523060a0526200004e62000100565b600081526020810190600082528060206200006862000100565b600081520152600380546001600160a01b031916905551600455516005556040516149ee90816200012182396080518181816141bd015261443c015260a0518181816126f3015281816127490152818161295b015281816130a601528181613655015281816136b001526138680152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b03811183821017620000e55760405256fe60806040526004361015610023575b361561001957600080fd5b61002161318e565b005b60003560e01c80630396cb60146101d357806303d1dcaf146101ce5780630bd28e3b146101c95780630da82661146101c45780630dbfc6bd146101bf5780631b2e01b8146101ba578063205c2878146101b557806321e60b37146101b057806322cdde4c146101ab578063263934db146101a657806330ec25d1146101a157806335567e1a1461019c57806344403473146101975780635287ce12146101925780635895273b1461018d57806369683cfa1461018857806370a08231146101835780637472949c1461017e57806376ad6123146101795780637f75516614610174578063b760faf91461016f578063bb9fe6bf1461016a578063c23a5cea14610165578063c3bce00914610160578063f7e426e81461015b578063fc7e286d146101565763fe2171cb0361000e576118b9565b61183a565b611801565b6117d4565b6116f3565b61160b565b6115e0565b6113cc565b611373565b611353565b611316565b611157565b61112a565b61101d565b610fd1565b610f0f565b610e94565b610d7d565b610d5d565b610c95565b610ab9565b610a56565b6109db565b61083a565b610656565b610462565b60203660031901126102fa5763ffffffff600435818116918282036102fa577fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102d76102f59261025861023a3360018060a01b03166000526000602052604060002090565b96610246811515611909565b6001880154928360781c161115611955565b6102b16102736001600160701b039283349160081c166119d4565b9661027f8815156119e1565b61028b83891115611a22565b5491610295610766565b9283526001602084015287166001600160701b03166040830152565b63ffffffff83166060820152600060808201819052338152602081905260409020611a5f565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b9181601f840112156102fa578235916001600160401b0383116102fa576020808501948460051b0101116102fa57565b6001600160a01b038116036102fa57565b6024359061034d8261032f565b565b610104359061034d8261032f565b6044359061034d8261032f565b610124359061034d8261032f565b359061034d8261032f565b906003199060c0828401126102fa576001600160401b036004358181116102fa57846103b1916004016102ff565b949094936024359283116102fa57826060920301126102fa57600401906044356103da8161032f565b90606435906084359060a43590565b60005b8381106103fc5750506000910152565b81810151838201526020016103ec565b90602091610425815180928185528580860191016103e9565b601f01601f1916010190565b6080604061045f9360208452805160208501526020810151151582850152015191606080820152019061040c565b90565b346102fa5761047036610383565b9261047f969496929192611aec565b50610488611b0d565b966104938180611b90565b885161049e916131e3565b6104a88180611b90565b965a895180516001600160a01b03169a919991906104c960408401846124d1565b6104d39184614162565b60e001516001600160a01b03908116159a61051e936020936000938f93918f610603575b8601516040516306608bdf60e21b81529788968795600095949387939291600485016132ca565b03941690f190816105d4575b506105575761055361053a6138ff565b6040516365c8fd4d60e01b8152918291600483016132ec565b0390fd5b6105b9986105ad986105bd575b5061056d611b0d565b966105a861057b8480611b90565b61059a6040519a8b926321e60b3760e01b602085015260248401611cbc565b03601f1981018a5289610745565b6135f2565b60405191829182610431565b0390f35b6001600160a01b0316600090815260205238610564565b6105f59060203d6020116105fc575b6105ed8183610745565b8101906132bb565b503861052a565b503d6105e3565b6001600160a01b0385166000908152602081905260408120549196509291908015610637575086835b9691929350506104f7565b8790840361062c565b602435906001600160c01b03821682036102fa57565b346102fa5760203660031901126102fa576004356001600160c01b03811681036102fa573360009081526001602090815260408083206001600160c01b039094168352929052206106a78154611d87565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176106dc57604052565b6106ab565b606081019081106001600160401b038211176106dc57604052565b604081019081106001600160401b038211176106dc57604052565b6001600160401b0381116106dc57604052565b602081019081106001600160401b038211176106dc57604052565b90601f801991011681019081106001600160401b038211176106dc57604052565b6040519061034d826106c1565b6040519061014082018281106001600160401b038211176106dc57604052565b6040519061010082018281106001600160401b038211176106dc57604052565b6040519061034d826106e1565b6040519061034d826106fc565b6001600160401b0381116106dc57601f01601f191660200190565b9291926107f4826107cd565b916108026040519384610745565b8294818452818301116102fa578281602093846000960137010152565b9080601f830112156102fa5781602061045f933591016107e8565b346102fa576102203660031901126102fa576001600160401b036004358181116102fa5761086c90369060040161081f565b366023190191906101c083126102fa576101406040519361088c856106c1565b126102fa57610899610773565b6108a1610340565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526108db61034f565b60e0820152610124356101008201526101443561012082015283526101643560208401526101843560408401526101a43560608401526101c43560808401526101e4359182116102fa5760409261093961094493369060040161081f565b906102043592611dad565b82519182526020820152f35b60206003198201126102fa57600435906001600160401b0382116102fa5761097a916004016102ff565b9091565b9061045f9160e061010091805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061040c565b346102fa576109f26109ec36610950565b90611fcb565b60405160209160208201926020835281518094526040830193602060408260051b8601019301916000955b828710610a2a5785850386f35b909192938280610a46600193603f198a8203018652885161097e565b9601920196019592919092610a1d565b346102fa5760403660031901126102fa576020610ab0600435610a788161032f565b610a80610640565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b346102fa5760403660031901126102fa57600435610ad68161032f565b60243590600091338352826020526040832091825492838311610b625784808080868196610b5f96610b08838c612030565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610b59612050565b50612080565b80f35b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b90816101209103126102fa5790565b6102006003198201126102fa57600435916024356001600160401b0381116102fa5782610be591600401610ba7565b91604319016101c081126102fa5761014060405191610c03836106c1565b126102fa57610c10610773565b610c1861035d565b81526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610c5361036a565b60e0820152610144356101008201526101643561012082015281526101843560208201526101a43560408201526101c43560608201526101e435608082015290565b346102fa576060610ca536610bb6565b9190600092805191610cb783826131e3565b610cc0816120c1565b6020830152610cf083610100604082015160608301510160808301510160a08301510160c0830151019101510290565b60e0909301516001600160a01b0316610d1c575b85856040519060008252602082015260006040820152f35b610d2894505a93613d97565b905038808080610d04565b60206003198201126102fa57600435906001600160401b0382116102fa5761045f91600401610ba7565b346102fa576020610d75610d7036610d33565b6120c1565b604051908152f35b346102fa57610da9610d8e36610950565b809291610d99611ee7565b50610da382611f35565b50611fcb565b6000198201918211610dd7576105b991610dc291611fb7565b5160405191829160208352602083019061097e565b6119a1565b9061045f9060e06080610e2e816101408751908087528151908701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061040c565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b346102fa57610eab610ea536610950565b9061225a565b60405160209160208201926020835281518094526040830193602060408260051b8601019301916000955b828710610ee35785850386f35b909192938280610eff600193603f198a82030186528851610ddc565b9601920196019592919092610ed6565b346102fa5760403660031901126102fa576020600435610f2e8161032f565b610f36610640565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b60606003198201126102fa57600435610f908161032f565b916024356001600160401b03928382116102fa57806023830112156102fa5781600401359384116102fa57602484830101116102fa57602401919060443590565b346102fa57610fdf36610f78565b90806040519384378201908260008095819585838097520393f1611001612050565b901561100b575080f35b805191821561101a5750602001fd5b80fd5b346102fa5760203660031901126102fa576105b9608060043561103f8161032f565b6040918291825161104f816106c1565b60009281848093528260208201528286820152826060820152015260018060a01b031681528060205220906110d865ffffffffffff6001835194611092866106c1565b80548652015460ff8116151560208601526001600160701b038160081c168486015263ffffffff8160781c16606086015260981c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346102fa576105b961114361113e36610d33565b61230d565b60405191829160208352602083019061097e565b346102fa5761116536610bb6565b9190915a9281519361117785836131e3565b611180826120c1565b60208401526040850151936111c46001600160781b038660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612443565b6111ef86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b9461121f61121b6112035a898989886134df565b89516020909a015190996001600160a01b0316613f83565b1590565b6112ca575a83031161127d57509261126092608061125b9360a0611267975a9560408601526060808601525a9003910135019101525a90612030565b61248f565b6064900490565b6040805192835260006020840152820152606090f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b346102fa5760203660031901126102fa576004356113338161032f565b60018060a01b031660005260006020526020604060002054604051908152f35b346102fa576105b96105ad61136736610383565b959490949391936125fb565b346102fa576105b96105ad61138736610383565b94611396949194939293611aec565b5061139f611b0d565b966105a86113ad8480611b90565b61059a6040519a8b926334b41e7d60e11b602085015260248401611cbc565b346102fa576113da36610bb6565b91906000925a918151926113ee84836131e3565b6113f7826120c1565b602084015260408401519461143b6001600160781b038760c08801511760608801511760808801511760a08801511761010088015117610120880151171115612443565b61146685610100604082015160608301510160808301510160a08301510160c0830151019101510290565b61147387828787866134df565b86519097906114949061121b906001600160a01b031660208a015190613f83565b611594575a840311611545576060915a60e097909701516001600160a01b0316611508575b509360806112609460a061125b956105b999956114eb99604087015260608601525a9003910135019101525a90612030565b604051938493846040919493926060820195825260208201520152565b8198506105b99692508460a061125b956115336080948a96876112609b886114eb9e51015193613d97565b9c90969a5094985095505094506114b9565b60408051631101335b60e11b8152600481018490526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b60203660031901126102fa576100216004356115fb8161032f565b612c80565b60009103126102fa57565b346102fa5760008060031936011261101a573381528060205260016040822001805463ffffffff8160781c169081156116c1576116869161165160ff61165f9316612cd7565b65ffffffffffff4216612d17565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346102fa5760203660031901126102fa576004356117108161032f565b336000908152602081905260409020610b5f906001019161177883549361176765ffffffffffff6001600160701b038760081c1696611750881515612d31565b60981c1661175f811515612d74565b421015612dc0565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080808095819460018060a01b03165af16117ce612050565b50612e0c565b346102fa576105b96117ed6117e836610d33565b612ed1565b604051918291602083526020830190610ddc565b346102fa5761181b61181236610f78565b9291909161306a565b906105b96040519283921515835260406020840152604083019061040c565b346102fa5760203660031901126102fa576004356118578161032f565b60018060a01b0316600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526001600160701b038160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b346102fa576118db6118ca36610950565b8092916118d56121d3565b5061225a565b6000198201918211610dd7576105b9916118f491611fb7565b51604051918291602083526020830190610ddc565b1561191057565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b1561195c57565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b906113888201809211610dd757565b9060018201809211610dd757565b91908201809211610dd757565b156119e857565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b15611a2957565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b9065ffffffffffff6080600161034d948451815501926020810151151584546effffffffffffffffffffffffffff00604084015160081b169060ff63ffffffff60781b606086015160781b169316906cffffffffffffffffffffffffff60981b16171717845501511681549065ffffffffffff60981b9060981b169065ffffffffffff60981b1916179055565b60405190611af9826106e1565b606060408360008152600060208201520152565b60405190611b1a826106c1565b6040516101408101836001600160401b038211838310176106dc5760809160405260009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b90359061011e19813603018212156102fa570190565b9035601e19823603018112156102fa5701602081359101916001600160401b0382116102fa5781360383136102fa57565b908060209392818452848401376000828201840152601f01601f1916010190565b61045f91611c9d611c64611c49610120611c2285611c1588610378565b6001600160a01b03169052565b60208601356020860152611c396040870187611ba6565b9091806040880152860191611bd7565b611c566060860186611ba6565b908583036060870152611bd7565b6080840135608084015260a084013560a084015260c084013560c0840152611c8f60e0850185611ba6565b9084830360e0860152611bd7565b91611cae6101009182810190611ba6565b929091818503910152611bd7565b906080611cde6101e09295949561020060008652806020870152850190611bf8565b855180516001600160a01b0316604086015290959060208101516060860152604081015183860152606081015160a08601528281015160c086015260a081015160e086015260c081015190610100918287015260e081015191611d4e610120938489019060018060a01b03169052565b8101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b6000198114610dd75760010190565b60409061045f93928152816020820152019061040c565b9190805193606085015194611dc5603f5a0260061c90565b61271060a083015188010111611e8f5761097a956000958051611df5575b5050505a9003608082015101926139c3565b8251611e0f9261121b9290916001600160a01b03166138ed565b611e1b575b8080611de3565b909350611e266138ff565b8051611e38575b505060019238611e14565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20192918291611e859183611d96565b0390a33880611e2d565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b6001600160401b0381116106dc5760051b60200190565b6040519061010082018281106001600160401b038211176106dc57604052606060e083600080825280602083015280604083015280848301528060808301528060a083015260c08201520152565b90611f3f82611ed0565b611f4c6040519182610745565b8281528092611f5d601f1991611ed0565b019060005b828110611f6e57505050565b602090611f79611ee7565b82828501015201611f62565b634e487b7160e01b600052603260045260246000fd5b90821015611fb25761045f9160051b810190611b90565b611f85565b8051821015611fb25760209160051b010190565b611fd482611f35565b9160005b818110611fe55750505090565b80611ff661113e6001938587611f9b565b6120008287611fb7565b5261200b8186611fb7565b5001611fd8565b600019810191908211610dd757565b600319810191908211610dd757565b91908203918211610dd757565b6040519061204a8261072a565b60008252565b3d1561207b573d90612061826107cd565b9161206f6040519384610745565b82523d6000602084013e565b606090565b1561208757565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6120ce60408201826124d1565b908160405191823720906120e560608201826124d1565b9081604051918237209161217161210861210260e08501856124d1565b906149ad565b6040805185356001600160a01b031660208083019182528701359282019290925260608101949094526080808501969096529484013560a08085019190915284013560c0808501919091529093013560e083015261010082019290925291908290610120820190565b0391612185601f1993848101835282610745565b519020604080516020810192835230918101919091524660608201526080928301815290916121b49082610745565b51902090565b604051906121c7826106fc565b60006020838281520152565b604051906121e0826106c1565b816040516121ed816106c1565b600081526000602082015260006040820152600060608201526060608082015281526122176121ba565b60208201526122246121ba565b60408201526122316121ba565b6060820152608060405191612245836106fc565b600083526122516121ba565b60208401520152565b61226382611ed0565b916122716040519384610745565b808352601f1961228082611ed0565b0160005b8181106122ca57505060005b81811061229d5750505090565b806122ae6117e86001938587611f9b565b6122b88287611fb7565b526122c38186611fb7565b5001612290565b6020906122d56121d3565b82828801015201612284565b908092918237016000815290565b604051906122fc826106fc565b6002825261060f60f31b6020830152565b612315611ee7565b5060028054146124315760028055608061232d611b0d565b9161233781613f1a565b6123418382612aa3565b926000929192905a908760608101519161235e60608201826124d1565b60038111612428575b638dd7712f60e01b966001600160e01b031916870361240f5750506123c16123c69560208401516123ad6040519485936020850152604060248501526064840190611bf8565b90604483015203601f198101835282610745565b611dad565b9490955b0151946123d5610793565b958652602086015260408501526060840152608083015260a0820152600060c08201526124006122ef565b60e082015261045f6001600255565b61242096506123c1925036916107e8565b9490956123ca565b81359650612367565b604051633ee5aeb560e01b8152600490fd5b1561244a57565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610dd757565b9190811015611fb25760051b81013590605e19813603018212156102fa570190565b3561045f8161032f565b903590601e19813603018212156102fa57018035906001600160401b0382116102fa576020019181360383136102fa57565b60405161250f8161072a565b60008152906000368137565b90612525826107cd565b6125326040519182610745565b8281528092612543601f19916107cd565b0190602036910137565b9392916125729060409260018060a01b0316865260606020870152606086019061040c565b930152565b81601f820112156102fa57805161258d816107cd565b9261259b6040519485610745565b818452602082840101116102fa5761045f91602080850191016103e9565b9190916040818403126102fa57805180151581036102fa579260208201516001600160401b0381116102fa5761045f9201612577565b6040513d6000823e3d90fd5b9693919496612608611aec565b5060005b8281106129ff575050506126208480611b90565b9460209161262f8387016124c7565b9461266461264c6126456040998a8101906124d1565b36916107e8565b98612655611b0d565b9061265f81613f1a565b612aa3565b506001600160a01b0393915050868316156129d6578493929190896000898b841561290b57505050506126ed945061269a61203d565b509260008a6126d08a6126c28d5a9051634440347360e01b8d8201529485936024850161254d565b03601f198101835282610745565b5a8b51631efc84dd60e31b81529788928392908c6004850161254d565b038183877f0000000000000000000000000000000000000000000000000000000000000000165af190811561286c5760009586926128ed575b50818680156128c5575050612744909b93919b959294955b866119d4565b9081907f0000000000000000000000000000000000000000000000000000000000000000169b5b846127768885612030565b1061289a575a612785886119b7565b116128715791869593918a95938e8d8f8c6127a28f9d88906119d4565b60011c9a8b8451938493634440347360e01b9085015260248401926127c69361254d565b03601f19810182526127d89082610745565b5a9151631efc84dd60e31b81529b8c9283926127f7926004850161254d565b03815a6000948591f198891561286c57600090819a612846575b50156128315750505061282384612012565b95915b93909294959161276b565b939650946128409197506119c6565b94612826565b90612864929a503d8091833e61285c8183610745565b8101906125b9565b989038612811565b6125ef565b508951637162685f60e11b81526004810191909152602481018690526044810191909152606490fd5b9998509950509392505096506128bf92506128b36107b3565b95865285019015159052565b82015290565b979b50999850505098505050506128bf91506128df6107b3565b946000865285019015159052565b909561290392503d8091833e61285c8183610745565b909438612726565b6129559450829793986126c2612938925a9b5a9151958694634440347360e01b908601526024850161254d565b5a8c51631efc84dd60e31b81529485928392908d6004850161254d565b038183887f0000000000000000000000000000000000000000000000000000000000000000165af191821561286c578580936129b5575b50508161299b86975a90612030565b9580156128c5575050612744909b93919b9592949561273e565b909195506129cd92503d8091833e61285c8183610745565b9093388061298c565b5097505050935050506129e7612503565b9060006129f26107b3565b9381855284015282015290565b600190612a0a611b0d565b612a35612a188387876124a5565b91612a2b612a268480611b90565b613f1a565b61265f8380611b90565b50505060208101612a54612a48826124c7565b6001600160a01b031690565b15612a9c57600091612a8783612a6a81946124c7565b92612a7a604091828101906124d1565b93909151809481936122e1565b03925af150612a94612050565b505b0161260c565b5050612a96565b90916000915a93805191612ab783826131e3565b612ac0816120c1565b6020830152604083015195612b046001600160781b038860c08701511760608701511760808701511760a08701511761010087015117610120870151171115612443565b612b2f84610100604082015160608301510160808301510160a08301510160c0830151019101510290565b612b3b88828686613363565b8551909890612b5c9061121b906001600160a01b0316602089015190613f83565b612c34575a830311612be5576060905a60e096909601516001600160a01b0316612baf575b61125b9360a061045f9794879460809460406112609a015260608601525a9003910135019101525a90612030565b9650509282608061125b9360a061045f97612bd384611260995101518c8786613c14565b9b909598509350949750509350612b81565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b6001805b60058110612cd05750507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c46020612cbb34846146ef565b6040519081526001600160a01b0390931692a2565b8101612c84565b15612cde57565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b91909165ffffffffffff80809416911601918211610dd757565b15612d3857565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b15612d7b57565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b15612dc757565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b15612e1357565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116102fa5790601490565b6bffffffffffffffffffffffff199035818116939260148110612e8857505050565b60140360031b82901b16169150565b60405190612ea4826106fc565b6003546001600160a01b03168252604051602083612ec1836106fc565b6004548352600554828401520152565b612ed96121d3565b50612ee2611b0d565b90612eec81613f1a565b612ef68282612aa3565b50919092612f048385613fc3565b805160e00151612f21906001600160a01b03166140c9565b6140c9565b815151909290612f5190612f3d906001600160a01b03166140c9565b91612f466121ba565b5060408101906124d1565b906014821061302b57612f73612f6d612f7993612f1c93612e58565b90612e66565b60601c90565b9160018060a01b038616946080820151966060604084015193015192612f9d610766565b9889526020890152604088015260608701526080860152612fbc612e97565b9380151580613020575b612fee575b50612fd4610766565b948552602085015260408401526060830152608082015290565b909350612ffa816140c9565b6130146130056107c0565b6001600160a01b039093168352565b60208201529238612fcb565b506001811415612fc6565b5050612f7960006140c9565b6001600160a01b03909116815260406020820181905261045f93910191611bd7565b908151811015611fb2570160200190565b6000949385936060936001600160a01b039384169386939190853b1561318a576130cf9585916040519788968795869363428557b160e11b85527f00000000000000000000000000000000000000000000000000000000000000001660048501613037565b0393f19081613171575b5061316b5750506130e8612050565b6004815110613162576131036130fe8251612021565b61251b565b9060045b815181101561314b578061312e61312060019385613059565b516001600160f81b03191690565b61314461313a83612021565b91881a9186613059565b5301613107565b505061097a919250602080825183010191016125b9565b5061045f612503565b91909250565b8061317e61318492610717565b80611600565b386130d9565b8480fd5b61034d33612c80565b1561319e57565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b613268906132006131f3826124c7565b6001600160a01b03168452565b602081013560208401526132246080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261325260c0820135906001600160801b038260801c921690565b61010085015261012084015260e08101906124d1565b9081156132a45761328c8260e092613287603461034d97961015613197565b61410b565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b908160209103126102fa575190565b6132e260409295949395606083526060830190611bf8565b9460208201520152565b9060a061045f926000815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b6080820152816040820152019061040c565b60a09061045f9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b6080820152816040820152019061040c565b90939260206133ea918651936133aa60e0613384875160018060a01b031690565b9661339c61339560408601866124d1565b908d614162565b01516001600160a01b031690565b6001600160a01b039081161598600093919291908a6134a2575b8501516040516306608bdf60e21b815296879586946000949386939291600485016132ca565b0393881690f160009181613481575b506134095761055361053a6138ff565b93613412575050565b6001600160a01b0316600090815260208190526040902090815480821161343857039055565b60408051631101335b60e11b8152600060048201526024810191909152601760448201527610504c8c48191a591b89dd081c185e481c1c99599d5b99604a1b6064820152608490fd5b61349b91925060203d6020116105fc576105ed8183610745565b90386133f9565b6001600160a01b0388166000908152602081905260408120549195509190898111156134d6575085825b95919250506133c4565b86908a036134cc565b94929193602061351c918651936133aa60e0613501875160018060a01b031690565b9661339c8b8d61351460408801886124d1565b9290916143dd565b0393881690f1600091816135d1575b5061355657856135396138ff565b6040516365c8fd4d60e01b81529182916105539160048401613328565b94929361356257505050565b6001600160a01b031660009081526020819052604090209182549081831161358a5750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527610504c8c48191a591b89dd081c185e481c1c99599d5b99604a1b6064820152608490fd5b6135eb91925060203d6020116105fc576105ed8183610745565b903861352b565b91613613612a2692613619949a96979895999a61360d611aec565b50614637565b80611b90565b600092801561383e57613650935061362f61203d565b509160005a60405180968192631efc84dd60e31b83528b8b6004850161254d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561286c57600094859361381d575b508294809381156137fa5750506136ae909592919394955b856119d4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169581905b846136e78885612030565b106137d0575a6136f6886119b7565b116137a657918695939160009593868b8b8e61371e6137188861373e9f6119d4565b60011c90565b9a8b936040519e8f9586948593631efc84dd60e31b85526004850161254d565b03925af198891561286c57600090819a613788575b50156137735750505061376584612012565b95915b9390929495916136dc565b939650946137829197506119c6565b94613768565b9061379e929a503d8091833e61285c8183610745565b989038613753565b50604051637162685f60e11b81526004810191909152602481018690526044810191909152606490fd5b9650965050919550506137f291506137e66107b3565b93845215156020840152565b604082015290565b965096505095505050506137f261380f6107b3565b600081529215156020840152565b90925061383491943d8091833e61285c8183610745565b9390939138613690565b50613863915a91845a60405180968192631efc84dd60e31b83528c8c6004850161254d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af193841561286c578580956138c9575b505083946138b181945a90612030565b9481156137fa5750506136ae909592919394956136a8565b909194506138e29295503d8091833e61285c8183610745565b9390939238806138a1565b9060009283809360208451940192f190565b3d610800808211613926575b50604051906020818301016040528082526000602083013e90565b90503861390b565b6003111561393857565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156139385760609261397691835260806020840152608083019061040c565b9460408201520152565b9060a061045f926000815260606020820152601460608201527310504d4c081c1bdcdd13dc081c995d995c9d195960621b6080820152816040820152019061040c565b9093916000935a928651926139d7846146c5565b60e08501519091906001600160a01b03168080613abc57505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111613aa8575b50508402916040890192835194818610600014613a7e57505080613a4760029261392e565b03613a6357505061034d92508095613a5e816147d7565b614716565b9150915061034d925a9003905101905185613a5e82976147d7565b9061034d9750809a9450613a97929350809503906146ef565b50613aa18161392e565b1590614777565b6064919003600a0204909401933880613a22565b94918051613acc575b50506139ff565b613ad58561392e565b6002850315613ac557909198505a9160a087015191813b156102fa57859285600080948e613b1c84604051998a9889978895637c627b2160e01b875202916004860161394e565b0393f19081613b5a575b50613b4f57610553613b366138ff565b6040516365c8fd4d60e01b815291829160048301613980565b5a9003963880613ac5565b8061317e613b6792610717565b38613b26565b91906040838203126102fa5782516001600160401b0381116102fa57602091613b97918501612577565b92015190565b9060a061045f926000815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b6080820152816040820152019061040c565b60a09061045f9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b6080820152816040820152019061040c565b939192905a815160e001516001600160a01b0316600081815260208190526040902080549792969290838910613d48576020600095869286613c739c039055015191604051998a95869485936314add44b60e21b8552600485016132ca565b03926001600160a01b031686f19384600091600096613d21575b50613cb657610553613c9d6138ff565b6040516365c8fd4d60e01b815291829160048301613b9d565b93925a900311613cc257565b60408051631101335b60e11b8152600060048201526024810191909152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b909550613d4191503d806000833e613d398183610745565b810190613b6d565b9438613c8d565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b93909294915a815160e001516001600160a01b031660008181526020819052604090209195909290918054898110613ecb578990039055602001516040516314add44b60e21b8152969760009388939092849286928492613dfc9291600485016132ca565b03926001600160a01b031686f19384600091600096613eac575b50613e415785613e246138ff565b6040516365c8fd4d60e01b81529182916105539160048401613bd9565b9491925a900311613e4f5750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b909550613ec491503d806000833e613d398183610745565b9438613e16565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b613f4e90613f2b60408201826124d1565b9050613f46823592613f3c8461032f565b60e08101906124d1565b929091614819565b8051613f575750565b61055390604051918291631101335b60e11b83526000600484015260406024840152604483019061040c565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613fbc84611d87565b9055161490565b613fcc906148d3565b6001600160a01b03929183166140865761403757613fe9906148d3565b5016613ff157565b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b6084604051631101335b60e11b81526000600482015260406024820152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152fd5b906140d26121ba565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b90806014116102fa57806024116102fa576034116102fa57803560601c916024601483013560801c92013560801c90565b908160209103126102fa575161045f8161032f565b91602061045f938181520191611bd7565b908261416d57505050565b8151516001600160a01b031692833b61438e5782516040908101518151632b870d1b60e11b8152919391906001600160a01b03906020908390816000816141b88a8a60048401614151565b0392867f00000000000000000000000000000000000000000000000000000000000000001690f191821561286c5760009261435d575b5080821696871561431157168096036142c5573b1561427957612f73612f6d7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d949361423993612e58565b6020840151935160e00151614274906001600160a01b03165b92516001600160a01b0392831681529190921660208201529081906040820190565b0390a3565b8251631101335b60e11b81526000600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b8351631101335b60e11b81526000600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b8551631101335b60e11b81526000600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b61438091925060203d602011614387575b6143788183610745565b81019061413c565b90386141ee565b503d61436e565b60408051631101335b60e11b8152600060048201526024810191909152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b909192806143ec575b50505050565b8251516001600160a01b031693843b6145e85783516040908101518151632b870d1b60e11b8152919491906001600160a01b03906020908390816000816144378b8b60048401614151565b0392867f00000000000000000000000000000000000000000000000000000000000000001690f191821561286c576000926145c7575b5080821697881561457b571680970361452f573b156144e25750612f73612f6d7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d94936144b993612e58565b6020840151935160e001516144d6906001600160a01b0316614252565b0390a3388080806143e6565b8351631101335b60e11b8152600481019190915260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b8451631101335b60e11b81526004810183905260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b8651631101335b60e11b81526004810185905260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b6145e191925060203d602011614387576143788183610745565b903861446d565b60408051631101335b60e11b8152600481018590526024810191909152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b60005b82811061464657505050565b600190614651611b0d565b61465f612a188387876124a5565b5050506020810135906146718261032f565b838060a01b038216156146be57600091829161468c8261032f565b8261469c604092838101906124d1565b8093519384928337810182815203925af1506146b6612050565b505b0161463a565b50506146b8565b6101206101008201519101518082146146eb574801808210156146e6575090565b905090565b5090565b60018060a01b0316600052600060205260406000208054918201809211610dd75781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b03946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b03956020878951169760e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b9291921590816148c9575b5061488e57601481101561483d575b505061045f61203d565b6014116102fa573560601c3b15614855573880614833565b604051614861816106fc565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b505060405161489c816106fc565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538614824565b80156149a4576000604080516148e8816106e1565b828152826020820152015265ffffffffffff90818160a01c1691821561499a575b5061497c9061496361495860405194614921866106e1565b6001600160a01b0384168652614946602087019460d01c859065ffffffffffff169052565b65ffffffffffff166040860181905290565b65ffffffffffff1690565b421190811561497f575b5091516001600160a01b031690565b91565b51614992915065ffffffffffff16614958565b42103861496d565b915061497c614909565b50600090600090565b81604051918237209056fea26469706673582212202e03d64aad3fadfddc2af1c35d4c653eb052356d915b01199d4a4f34f83ffc9864736f6c634300081700336080806040523461001657610144908161001c8239f35b600080fdfe6080600436101561000f57600080fd5b6000803560e01c63570e1a361461002557600080fd5b3461010b57602036600319011261010b576004359167ffffffffffffffff9081841161010757366023850112156101075783600401358281116101035736602482870101116101035780601411610103576013198101928084116100ef57600b8201601f19908116603f01168301908111838210176100ef5792846024819482600c60209a968b9960405286845289840196603889018837830101525193013560601c5af190805191156100e7575b506040516001600160a01b039091168152f35b9050386100d4565b634e487b7160e01b85526041600452602485fd5b8380fd5b8280fd5b80fdfea26469706673582212200cb757f1fdb608281be803e114ca10044ba5d6804f8fe7715f297793ec636d0564736f6c63430008170033";
|
|
36
36
|
//# sourceMappingURL=PimlicoEntryPointSimulations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PimlicoEntryPointSimulations.js","sourceRoot":"","sources":["../../../types/contracts/PimlicoEntryPointSimulations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC3C;QACI,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACtB;IACD;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAC3C,kVAAkV,CAAA;AAEtV,MAAM,CAAC,MAAM,gCAAgC,GACzC,oEAAoE,CAAA;AAExE,MAAM,CAAC,MAAM,4CAA4C,GACrD,
|
|
1
|
+
{"version":3,"file":"PimlicoEntryPointSimulations.js","sourceRoot":"","sources":["../../../types/contracts/PimlicoEntryPointSimulations.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC3C;QACI,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,aAAa;KACtB;IACD;QACI,MAAM,EAAE;YACJ;gBACI,YAAY,EAAE,iBAAiB;gBAC/B,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,SAAS;aAClB;YACD;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE;YACL;gBACI,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;aAClB;SACJ;QACD,eAAe,EAAE,YAAY;QAC7B,IAAI,EAAE,UAAU;KACnB;CACJ,CAAA;AAED,MAAM,CAAC,MAAM,kCAAkC,GAC3C,kVAAkV,CAAA;AAEtV,MAAM,CAAC,MAAM,gCAAgC,GACzC,oEAAoE,CAAA;AAExE,MAAM,CAAC,MAAM,4CAA4C,GACrD,gjpDAAgjpD,CAAA;AAEpjpD,MAAM,CAAC,MAAM,4CAA4C,GACrD,kuwCAAkuwC,CAAA"}
|
|
@@ -4,7 +4,7 @@ import type { Address, BundleResult, UserOperation, GasPriceParameters, UserOper
|
|
|
4
4
|
import type { Logger, Metrics } from "../utils/index.js";
|
|
5
5
|
import { type Account } from "viem";
|
|
6
6
|
import type { AltoConfig } from "../createConfig.js";
|
|
7
|
-
import type
|
|
7
|
+
import { type SignedAuthorizationList } from "viem/experimental";
|
|
8
8
|
type HandleOpsTxParams = {
|
|
9
9
|
gas: bigint;
|
|
10
10
|
account: Account;
|
package/lib/executor/executor.js
CHANGED
|
@@ -58,12 +58,38 @@ class Executor {
|
|
|
58
58
|
userOps,
|
|
59
59
|
beneficiary: txParam.account.address
|
|
60
60
|
});
|
|
61
|
-
|
|
61
|
+
// Add authorization state overrides.
|
|
62
|
+
let stateOverride = [];
|
|
63
|
+
for (const opInfo of txParam.userOps) {
|
|
64
|
+
const { userOp } = opInfo;
|
|
65
|
+
if (userOp.eip7702Auth) {
|
|
66
|
+
const delegate = "address" in userOp.eip7702Auth
|
|
67
|
+
? userOp.eip7702Auth.address
|
|
68
|
+
: userOp.eip7702Auth.contractAddress;
|
|
69
|
+
stateOverride.push({
|
|
70
|
+
address: userOp.sender,
|
|
71
|
+
code: (0, viem_1.concat)(["0xef0100", delegate])
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (this.config.balanceOverride) {
|
|
76
|
+
stateOverride = undefined;
|
|
77
|
+
}
|
|
78
|
+
const gas = await this.config.publicClient.estimateGas({
|
|
62
79
|
to: entryPoint,
|
|
63
80
|
data: handleOpsCalldata,
|
|
64
81
|
...txParam,
|
|
65
|
-
...gasOpts
|
|
82
|
+
...gasOpts,
|
|
83
|
+
stateOverride
|
|
66
84
|
});
|
|
85
|
+
const request = {
|
|
86
|
+
to: entryPoint,
|
|
87
|
+
data: handleOpsCalldata,
|
|
88
|
+
from: txParam.account.address,
|
|
89
|
+
...txParam,
|
|
90
|
+
...gasOpts,
|
|
91
|
+
gas
|
|
92
|
+
};
|
|
67
93
|
request.gas = (0, utils_1.scaleBigIntByPercent)(request.gas, this.config.executorGasMultiplier);
|
|
68
94
|
let attempts = 0;
|
|
69
95
|
let transactionHash;
|
|
@@ -97,8 +123,14 @@ class Executor {
|
|
|
97
123
|
address: account.address,
|
|
98
124
|
blockTag: "latest"
|
|
99
125
|
});
|
|
100
|
-
|
|
101
|
-
|
|
126
|
+
if (request.maxFeePerGas &&
|
|
127
|
+
request.maxPriorityFeePerGas) {
|
|
128
|
+
request.maxFeePerGas = (0, utils_1.scaleBigIntByPercent)(request.maxFeePerGas, 150n);
|
|
129
|
+
request.maxPriorityFeePerGas = (0, utils_1.scaleBigIntByPercent)(request.maxPriorityFeePerGas, 150n);
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
request.gas = (0, utils_1.scaleBigIntByPercent)(request.gas, 150n);
|
|
133
|
+
}
|
|
102
134
|
}
|
|
103
135
|
}
|
|
104
136
|
const error = e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../executor/executor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,uCAA6E;AAC7E,qDAAsC;AACtC,+
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../executor/executor.ts"],"names":[],"mappings":"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"}
|