@pimlico/alto 0.0.0-main.20250408T121100 → 0.0.0-main.20250410T143243
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/rpc/estimation/gasEstimationsV06.js +5 -1
- package/esm/rpc/estimation/gasEstimationsV06.js.map +1 -1
- package/esm/rpc/estimation/gasEstimationsV07.js +9 -0
- package/esm/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/esm/types/contracts/EntryPointSimulationsV7.d.ts +8 -0
- package/esm/types/contracts/EntryPointSimulationsV7.js +11 -0
- package/esm/types/contracts/EntryPointSimulationsV7.js.map +1 -1
- package/esm/types/contracts/PimlicoEntryPointSimulations.d.ts +2 -2
- package/esm/types/contracts/PimlicoEntryPointSimulations.js +4 -2
- package/esm/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationsV06.js +5 -1
- package/lib/rpc/estimation/gasEstimationsV06.js.map +1 -1
- package/lib/rpc/estimation/gasEstimationsV07.js +9 -0
- package/lib/rpc/estimation/gasEstimationsV07.js.map +1 -1
- package/lib/types/contracts/EntryPointSimulationsV7.d.ts +8 -0
- package/lib/types/contracts/EntryPointSimulationsV7.js +11 -0
- package/lib/types/contracts/EntryPointSimulationsV7.js.map +1 -1
- package/lib/types/contracts/PimlicoEntryPointSimulations.d.ts +2 -2
- package/lib/types/contracts/PimlicoEntryPointSimulations.js +4 -2
- package/lib/types/contracts/PimlicoEntryPointSimulations.js.map +1 -1
- package/package.json +1 -1
|
@@ -34,6 +34,8 @@ exports.PimlicoEntryPointSimulationsAbi = [
|
|
|
34
34
|
];
|
|
35
35
|
exports.DETERMINISTIC_DEPLOYER_TRANSACTION = "0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222";
|
|
36
36
|
exports.pimlicoEntrypointSimulationsSalt = "0x3132333400000000000000000000000000000000000000000000000000000000";
|
|
37
|
-
exports.pimlicoEntrypointSimulationsV8DeployBytecode = "0x60808060405234607d576164118181016001600160401b038111838210176069578291610505833903905ff08015605e575f80546001600160a01b0319166001600160a01b039290921691909117905560405161048390816100828239f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63c18f522614610024575f80fd5b3461033f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361033f5760243567ffffffffffffffff811161033f573660238201121561033f57806004013561009f816103b1565b916100ad6040519384610370565b8183526024602084019260051b8201019036821161033f5760248101925b8284106102aa57845185877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610119610103856103b1565b946101116040519687610370565b8086526103b1565b015f5b8181106102995750505f5b82518110156102165760019060605f806101a473ffffffffffffffffffffffffffffffffffffffff8254166101d061015f878b61040c565b5160405193849160208301947f850aaf6200000000000000000000000000000000000000000000000000000000865260248401526040604484015260648301906103c9565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610370565b82885a935193f1156101f9575b6101e7828761040c565b526101f2818661040c565b5001610127565b503d604051906020818301016040528082525f602083013e6101dd565b836040518091602082016020835281518091526040830190602060408260051b8601019301915f905b82821061024e57505050500390f35b91936020610289827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516103c9565b960192019201859493919261023f565b80606060208093880101520161011c565b833567ffffffffffffffff811161033f5782013660438201121561033f5760248101359167ffffffffffffffff83116103435760405161031260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8701160182610370565b838152366044848601011161033f575f6020858196604483970183860137830101528152019301926100cb565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034357604052565b67ffffffffffffffff81116103435760051b60200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b80518210156104205760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea26469706673582212201f2bdb60bda2583e073b1d602640359c86c29ad81fd1f6bc04a021580e0d6f1764736f6c634300081c0033610180604052346101a3576040516100186040826101d6565b600781526020810190664552433433333760c81b82526040519161003d6040846101d6565b600183526020830191603160f81b8352610056816101f9565b6101205261006384610394565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c0826101d6565b5190206080523060c05230610160526040516100e7816101a7565b5f815260208101905f8252806020604051610101816101a7565b5f81520152600480546001600160a01b03191690555160055551600655604051615f4490816104cd823960805181614724015260a051816147e1015260c051816146f5015260e051816147730152610100518161479901526101205181611a5201526101405181611a7b0152610160518181816131ce015281816132360152818161348801528181613bb40152818161414f015281816141b6015261435a0152f35b5f80fd5b604081019081106001600160401b038211176101c257604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176101c257604052565b908151602081105f14610273575090601f815111610233576020815191015160208210610224571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116101c257600254600181811c9116801561038a575b602082101461037657601f8111610343575b50602092601f82116001146102e257928192935f926102d7575b50508160011b915f199060031b1c19161760025560ff90565b015190505f806102be565b601f1982169360025f52805f20915f5b86811061032b5750836001959610610313575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f8080610305565b919260206001819286850151815501940192016102f2565b60025f52601f60205f20910160051c810190601f830160051c015b81811061036b57506102a4565b5f815560010161035e565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610292565b908151602081105f146103bf575090601f815111610233576020815191015160208210610224571790565b6001600160401b0381116101c257600354600181811c911680156104c2575b602082101461037657601f811161048f575b50602092601f821160011461042e57928192935f92610423575b50508160011b915f199060031b1c19161760035560ff90565b015190505f8061040a565b601f1982169360035f52805f20915f5b868110610477575083600195961061045f575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f8080610451565b9192602060018192868501518155019401920161043e565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104b757506103f0565b5f81556001016104aa565b90607f16906103de56fe60806040526004361015610022575b3615610018575f80fd5b610020613caf565b005b5f3560e01c80630396cb601461020157806303d1dcaf146101fc57806309ccb880146101f75780630bd28e3b146101f25780630da82661146101ed5780630dbfc6bd146101e857806313c65a6e146101e3578063154e58dc146101de5780631b2e01b8146101d9578063205c2878146101d457806321e60b37146101cf57806322cdde4c146101ca578063263934db146101c557806330ec25d1146101c057806335567e1a146101bb57806344403473146101b65780635287ce12146101b15780635895273b146101ac57806369683cfa146101a757806370a08231146101a25780637472949c1461019d57806376ad61231461019857806384b0196e14610193578063850aaf621461018e578063b760faf914610189578063bb9fe6bf14610184578063c23a5cea1461017f578063c3bce0091461017a578063f7e426e8146101755763fe2171cb0361000e57611f50565b611f17565b611eea565b611d74565b611c09565b611bcb565b611b71565b611a1c565b6119aa565b61198a565b611924565b611711565b6116e4565b61159e565b611559565b61140c565b611373565b611231565b611219565b610fe6565b610d66565b610ccd565b610c75565b610c35565b610b9c565b610994565b610740565b6106c3565b6105d3565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043563ffffffff8116908181036104545761044f7fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916104316102f86102e16102923373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b9661029e811515611fbe565b6102cb6001890154916102c46102bb8463ffffffff9060781c1690565b63ffffffff1690565b1115612023565b60081c6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff3491166120d2565b946103048615156120df565b61031e6dffffffffffffffffffffffffffff871115612144565b546103276108bc565b908152600160208201526dffffffffffffffffffffffffffff8616604082015263ffffffff831660608201525f60808201526103803373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b78ffffffffffff0000000000000000000000000000000000000016179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b5f80fd5b9181601f840112156104545782359167ffffffffffffffff8311610454576020808501948460051b01011161045457565b73ffffffffffffffffffffffffffffffffffffffff81160361045457565b35906104b282610489565b565b60c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126104545760043567ffffffffffffffff811161045457816104fd91600401610458565b929092916024359067ffffffffffffffff8211610454577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82606092030112610454576004019060443561055081610489565b90606435906084359060a43590565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b608060406105d09360208452805160208501526020810151151582850152015191606080820152019061055f565b90565b34610454576106b56106a96105e7366104b4565b946105f69491949392936121a9565b506106296106026121c8565b61061761060f8580612237565b825190613d82565b6106218480612237565b905a91613e97565b506106326121c8565b966106a46106408480612237565b6106786040519a8b927f21e60b37000000000000000000000000000000000000000000000000000000006020850152602484016123c8565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018a528961087b565b6140c3565b604051918291826105a2565b0390f35b5f91031261045457565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206106fb6124bc565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361045457565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610454576107ca90335f52600160205260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b6107d48154612536565b9055005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761082157604052565b6107d8565b6060810190811067ffffffffffffffff82111761082157604052565b610140810190811067ffffffffffffffff82111761082157604052565b6040810190811067ffffffffffffffff82111761082157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761082157604052565b604051906104b260a08361087b565b604051906104b26101408361087b565b604051906104b26101008361087b565b604051906104b260608361087b565b604051906104b260408361087b565b67ffffffffffffffff811161082157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261094f82610909565b9161095d604051938461087b565b829481845281830111610454578281602093845f960137010152565b9080601f83011215610454578160206105d093359101610943565b34610454576102207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043567ffffffffffffffff8111610454576109e4903690600401610979565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601906101c082126104545761014060405192610a2184610805565b1261045457610a2e6108cb565b610a3860246104a7565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610a756101046104a7565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff821161045457604092610adc610ae7933690600401610979565b90610204359261257a565b82519182526020820152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff821161045457610b3c91600401610458565b9091565b9061010060e06105d093805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061055f565b3461045457610bb3610bad36610af3565b90612838565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b828210610bea57505050500390f35b91936020610c25827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851610b40565b9601920192018594939192610bdb565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610c6d6146de565b604051908152f35b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610d5d600435610d0d81610489565b73ffffffffffffffffffffffffffffffffffffffff610d2a610719565b91165f526001835260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457600435610da181610489565b602435335f525f60205260405f2091825490818311610e3f575f80808573ffffffffffffffffffffffffffffffffffffffff829589610de3846100209a6128d8565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610e396128f9565b50612928565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b90816101209103126104545790565b6102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359160243567ffffffffffffffff81116104545782610efa91600401610e9d565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc0160446101c082126104545761014060405192610f3884610805565b12610454576101a090610f496108cb565b610f52826104a7565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610f9c60e083016104a7565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b3461045457610ff436610eac565b90915f918051936110058582613d82565b61100e8161298d565b602083015273ffffffffffffffffffffffffffffffffffffffff60e061105587610100604082015160608301510160808301510160a08301510160c0830151019101510290565b9687604086015201511661107f575b604080515f8082526020820187905291810191909152606090f35b909192505a936110ab83519173ffffffffffffffffffffffffffffffffffffffff60e08401511661564d565b1561116b579060806110c2920151928391856158f7565b9390505a9003116110da57506106b5905f8080611064565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d69740000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff8211610454576105d091600401610e9d565b34610454576020610c6d61122c366111d0565b61298d565b346104545761125d61124236610af3565b80929161124d612721565b506112578261276f565b50612838565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a9576106b59161129491612824565b51604051918291602083526020830190610b40565b612088565b906105d09060e06080611300818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061055f565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c08501520151910190805173ffffffffffffffffffffffffffffffffffffffff1682526020908101518051828401520151604090910152565b346104545761138a61138436610af3565b90612b9f565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b8282106113c157505050500390f35b919360206113fc827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516112ae565b96019201920185949391926113b2565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457602060043561144981610489565b73ffffffffffffffffffffffffffffffffffffffff611466610719565b91165f526001825261149d8160405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b9181601f840112156104545782359167ffffffffffffffff8311610454576020838186019501011161045457565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126104545760043561153181610489565b916024359067ffffffffffffffff821161045457611551916004016114cc565b909160443590565b34610454575f808061156a366114fa565b939181604094929451948592833781018381520393f16115886128f9565b901561159057005b805190811561045457602001fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff6004356115ee81610489565b5f60806040516115fd81610805565b8281528260208201528260408201528260608201520152165f525f6020526106b560405f2061168965ffffffffffff60016040519361163b85610805565b80548552015460ff8116151560208501526dffffffffffffffffffffffffffff8160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526dffffffffffffffffffffffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b34610454576106b56116fd6116f8366111d0565b612c8a565b604051918291602083526020830190610b40565b346104545761171f36610eac565b9190915a928151936117318583613d82565b61173a8261298d565b60208401526040850151936117866effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612e79565b6117b186610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946117f36117ef6117c55a89898988613fad565b9860206117e6825173ffffffffffffffffffffffffffffffffffffffff1690565b91015190614d32565b1590565b6118b6575a83031161185057509261183492608061182f9360a061183b975a9560408601526060808601525a9003910135019101525a906128d8565b612edf565b6064900490565b604080519283525f6020840152820152606090f35b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b611167826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff60043561197481610489565b165f525f602052602060405f2054604051908152f35b34610454576106b56106a961199e366104b4565b959490949391936130a6565b34610454576106b56106a96119be366104b4565b946119cd9491949392936121a9565b506119d66121c8565b966106a46119e48480612237565b6106786040519a8b927f69683cfa000000000000000000000000000000000000000000000000000000006020850152602484016123c8565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611b18611a767f0000000000000000000000000000000000000000000000000000000000000000615bc3565b611a9f7f0000000000000000000000000000000000000000000000000000000000000000615ce0565b6020604051611aae828261087b565b5f815281611b26818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061055f565b90878203604089015261055f565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110611b5a57505050500390f35b835185528695509381019392810192600101611b4b565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611bab600435610489565b60243567ffffffffffffffff8111610454576100209036906004016114cc565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457610020600435611c0481610489565b6135db565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457335f525f602052600160405f2001805463ffffffff8160781c1615611d1657611c8f611c816102bb83611c75611c70611cd99660ff1690565b613662565b60781c63ffffffff1690565b65ffffffffffff42166136c7565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90806020810161044f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576100205f808080600435611db681610489565b73ffffffffffffffffffffffffffffffffffffffff6001611df43373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b0191611e90835493611e6865ffffffffffff611e54611e3a611e27896dffffffffffffffffffffffffffff9060081c1690565b6dffffffffffffffffffffffffffff1690565b97611e468915156136e5565b60981c65ffffffffffff1690565b16611e6081151561374a565b4210156137af565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611ee46128f9565b50613814565b34610454576106b5611f03611efe366111d0565b61396f565b6040519182916020835260208301906112ae565b3461045457611f31611f28366114fa565b92919091613b45565b906106b56040519283921515835260406020840152604083019061055f565b3461045457611f72611f6136610af3565b809291611f6c612b1d565b50612b9f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a9576106b591611fa991612824565b516040519182916020835260208301906112ae565b15611fc557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561202a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9061138882018092116112a957565b90600182018092116112a957565b919082018092116112a957565b156120e657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561214b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b604051906121b682610826565b60606040835f81525f60208201520152565b604051906121d582610805565b5f6080836040516121e581610842565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b9035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee181360301821215610454570190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045457016020813591019167ffffffffffffffff821161045457813603831361045457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b6105d09161232381612309846104a7565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526123b96123ad612374612359612346604087018761226a565b61012060408801526101208701916122ba565b612366606087018761226a565b9086830360608801526122ba565b6080850135608085015260a085013560a085015260c085013560c085015261239f60e086018661226a565b9085830360e08701526122ba565b9261010081019061226a565b916101008185039101526122ba565b9060806123eb6101e0929594955f855261020060208601526102008501906122f8565b94610120815161241460408701825173ffffffffffffffffffffffffffffffffffffffff169052565b60208101516060870152604081015184870152606081015160a08701528381015160c087015260a081015160e087015260c081015161010087015261247560e08201518388019073ffffffffffffffffffffffffffffffffffffffff169052565b6101008101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b6040513d5f823e3d90fd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115612531575f916124fc575090565b90506020813d602011612529575b816125176020938361087b565b8101031261045457516105d081610489565b3d915061250a565b6124b1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112a95760010190565b6040906105d093928152816020820152019061055f565b9190805193606085015194612592603f5a0260061c90565b61271060a08301518801011161269d57610b3c955f9580516125c1575b5050505a90036080820151019261448d565b6125ec916117ef916125e7855173ffffffffffffffffffffffffffffffffffffffff1690565b6143d5565b6125f8575b80806125af565b6126199194506040519061260a6143e6565b908151612622575b5050604052565b6001925f6125f1565b7f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20173ffffffffffffffffffffffffffffffffffffffff6020870151926126936020612681835173ffffffffffffffffffffffffffffffffffffffff1690565b92015195604051938493169683612563565b0390a35f80612612565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611167600482016080905f815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116108215760051b60200190565b60405190610100820182811067ffffffffffffffff82111761082157604052606060e0835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201520152565b9061277982612709565b612786604051918261087b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06127b48294612709565b01905f5b8281106127c457505050565b6020906127cf612721565b828285010152016127b8565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b9082101561281f576105d09160051b810190612237565b6127db565b805182101561281f5760209160051b010190565b6128418261276f565b915f5b8181106128515750505090565b806128626116f86001938587612808565b61286c8287612824565b526128778186612824565b5001612844565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a957565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82019182116112a957565b919082039182116112a957565b604051906128f460208361087b565b5f8252565b3d15612923573d9061290a82610909565b91612918604051938461087b565b82523d5f602084013e565b606090565b1561292f57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b6105d09061299a816148fb565b6129a26146de565b91612aa98135926129b284610489565b6020830135908015612ae557612a7d90935b6129da6129d46060830183612f3f565b90615eac565b90608081013560a0820135906129fc6129d460c08501359460e0810190612f3f565b93604051988997602089019b8c949192610100969399989794919973ffffffffffffffffffffffffffffffffffffffff61012088019b7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261087b565b51902090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612a7d612af66040850185612f3f565b908160405191823720936129c4565b60405190612b128261085f565b5f6020838281520152565b60405190612b2a82610805565b81604051612b3781610805565b5f81525f60208201525f60408201525f6060820152606060808201528152612b5d612b05565b6020820152612b6a612b05565b6040820152612b77612b05565b6060820152608060405191612b8b8361085f565b5f8352612b96612b05565b60208401520152565b612ba882612709565b91612bb6604051938461087b565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612be382612709565b015f5b818110612c2b5750505f5b818110612bfe5750505090565b80612c0f611efe6001938587612808565b612c198287612824565b52612c248186612824565b5001612bf1565b602090612c36612b1d565b82828801015201612be6565b908092918237015f815290565b60405190612c5e60408361087b565b600282527f30780000000000000000000000000000000000000000000000000000000000006020830152565b612c92612721565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c612e515760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6080612ce76121c8565b91612cf1816149c5565b612cfb8382614b27565b929091905a606087015187612d136060850185612f3f565b5f60038211612e49575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003612e30575050612db3612de5612dea9560208401516040519384927f8dd7712f0000000000000000000000000000000000000000000000000000000060208501526040602485015260648401906122f8565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261087b565b61257a565b9490955b015194612df96108db565b958652602086015260408501526060840152608083015260a08201525f60c0820152612e23612c4f565b60e08201526105d06149a0565b612e41955090612de5913691610943565b949095612dee565b508135612d1d565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b15612e8057565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b906073820291808304607314901517156112a957565b919081101561281f5760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610454570190565b356105d081610489565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610454570180359067ffffffffffffffff82116104545760200191813603831361045457565b60405190612f9f60208361087b565b5f808352366020840137565b90612fb582610909565b612fc2604051918261087b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612ff08294610909565b0190602036910137565b93929161302d9073ffffffffffffffffffffffffffffffffffffffff60409316865260606020870152606086019061055f565b930152565b91906040838203126104545782518015158103610454579260208101519067ffffffffffffffff8211610454570181601f820112156104545780519061307782610909565b92613085604051948561087b565b8284526020838301011161045457815f9260208093018386015e8301015290565b9691959392966130b46121a9565b505f5b82811061352c575050506130cb8580612237565b9261310b6130f36130ec6130e160208a01612f35565b986040810190612f3f565b3691610943565b946130fc6121c8565b90613106816149c5565b614b27565b50505073ffffffffffffffffffffffffffffffffffffffff861615613503578215613427576131b49261313c6128e5565b50915f612a7d61317d5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612ffa565b5a9060405196879283927ff7e426e80000000000000000000000000000000000000000000000000000000084528d60048501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215612531575f945f93613405575b508294809381156133e257505061321e909692919394965b856120d2565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016975b8461326388856128d8565b106133b7575a613272886120b5565b116133805791869593918a95935f8d8c8c6132d761329d6132976133109f8a906120d2565b60011c90565b9b612a7d8d6040519485937f4440347300000000000000000000000000000000000000000000000000000000602086015260248501612ffa565b835a936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612ffa565b03925af1988915612531575f905f9a613359575b5015613344575050506133368461287e565b95915b939092949591613258565b939650946133539197506120c4565b94613339565b90506133789199503d805f833e613370818361087b565b810190613032565b98905f613324565b7fe2c4d0be000000000000000000000000000000000000000000000000000000005f5260048290526024879052604483905260645ffd5b975097505092505094506133da91506133ce6108eb565b93845215156020840152565b604082015290565b97509750509650505050506133da6133f86108eb565b5f81529215156020840152565b90925061341d9194503d805f833e613370818361087b565b939093915f613200565b9061346e92505a905f612a7d61317d5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315612531575f945f946134e1575b5083946134c981945a906128d8565b9481156133e257505061321e90969291939496613218565b9093506134f99194503d805f833e613370818361087b565b939093925f6134ba565b50945050505050613512612f90565b61351a6108eb565b905f82525f6020830152604082015290565b6001906135376121c8565b613562613545838787612ef5565b916135586135538480612237565b6149c5565b6131068380612237565b5050506020810161358e61357582612f35565b73ffffffffffffffffffffffffffffffffffffffff1690565b156135d4575f91826135ae6135a38294612f35565b926040810190612f3f565b91906135bf60405180948193612c42565b03925af1506135cc6128f9565b505b016130b7565b50506135ce565b60015b6005811061365a57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff61364e348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b6001016135de565b1561366957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff82116112a957565b156136ec57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561375157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b156137b657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b1561381b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b906014116104545790601490565b909291928360141161045457831161045457601401917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec0190565b919091357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000811692601481106138f6575050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000929350829060140360031b1b161690565b604051906139358261085f565b60045473ffffffffffffffffffffffffffffffffffffffff16825260405160208361395f8361085f565b6005548352600654828401520152565b613977612b1d565b506139806121c8565b9061398a816149c5565b6139948282614b27565b509190926139a28385614d9e565b6139cc6139c760e08351015173ffffffffffffffffffffffffffffffffffffffff1690565b614fc6565b91613a076139f36139c7845173ffffffffffffffffffffffffffffffffffffffff90511690565b916139fc612b05565b506040810190612f3f565b9060148210613afc57613a29613a23613a2f936139c793613879565b906138c2565b60601c90565b9173ffffffffffffffffffffffffffffffffffffffff8616946080820151966060604084015193015192613a616108bc565b9889526020890152604088015260608701526080860152613a80613928565b9380151580613af1575b613ab2575b50613a986108bc565b948552602085015260408401526060830152608082015290565b909350613abe81614fc6565b613ae5613ac96108fa565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b6020820152925f613a8f565b506001811415613a8a565b5050613a2f5f614fc6565b60409073ffffffffffffffffffffffffffffffffffffffff6105d0959316815281602082015201916122ba565b90815181101561281f570160200190565b91925f9373ffffffffffffffffffffffffffffffffffffffff6060941691823b1561045457613bdd935f80946040518097819682957f850aaf6200000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048501613b07565b0393f19081613c95575b50610b3c575050613bf66128f9565b906004825110613c8757613c12613c0d83516128ab565b612fab565b60045b8351811015613c715780613c54613c2e60019387613b34565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613c6a613c60836128ab565b915f1a9185613b34565b5301613c15565b50610b3c91925060208082518301019101613032565b9050613c91612f90565b5f91565b80613ca35f613ca99361087b565b806106b9565b5f613be7565b6104b2336135db565b15613cbf57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b15613d2457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b613e2690613dac613d9282612f35565b73ffffffffffffffffffffffffffffffffffffffff168452565b60208101356020840152613dd96080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c0840152613e1060c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e0810190612f3f565b80929192613e3357505050565b613e4f816104b294613e4a603460e0951015613cb8565b61501a565b60a0850152608084015291613e7b73ffffffffffffffffffffffffffffffffffffffff84161515613d1d565b019073ffffffffffffffffffffffffffffffffffffffff169052565b9291613ee89082519273ffffffffffffffffffffffffffffffffffffffff60e08186511695613ed4613ecc60408b018b612f3f565b90865f615078565b015116905f91159687613f6d575b5f615515565b92613ef05750565b5f613efa9161564d565b15613f0157565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b9150613f968573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548015613fa657505f5b91613ee2565b5f03613fa0565b929094936140009083519373ffffffffffffffffffffffffffffffffffffffff60e08187511696613fec613fe460408d018d612f3f565b90868c615078565b015116905f91159889614081575b87615515565b9461400a57505050565b6140139161564d565b1561401b5750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b91506140aa8673ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b54858111156140bc57505f5b91613ffa565b85036140b6565b916140e4613553926140ea949a96979895999a6140de6121a9565b5061567f565b80612237565b821561430157614135926140fc6128e5565b50915f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215612531575f945f936142df575b508294809381156142ca57505061419e90959291939495856120d2565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016965b846141e388856128d8565b106142b4575a6141f2886120b5565b116133805791869593915f9593868b8b8e6142136132978861424c9f6120d2565b9a8b936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612ffa565b03925af1988915612531575f905f9a614295575b5015614280575050506142728461287e565b95915b9390929495916141d8565b9396509461428f9197506120c4565b94614275565b90506142ac9199503d805f833e613370818361087b565b98905f614260565b9650965050919550506133da91506133ce6108eb565b965096505095505050506133da6133f86108eb565b9092506142f79194503d805f833e613370818361087b565b939093915f614181565b9061434092505a905f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612ffa565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315612531575f945f946143b3575b50839461439b81945a906128d8565b9481156142ca57505061419e90959291939495613218565b9093506143cb9194503d805f833e613370818361087b565b939093925f61438c565b905f9283809360208451940192f190565b3d610800811161440a575b604051906020818301016040528082525f602083013e90565b506108006143f1565b6003111561441d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b9094939294600381101561441d5760609261447291835260806020840152608083019061055f565b9460408201520152565b9060206105d092818152019061055f565b929093915f935a928651926144a18461571b565b936144c360e082015173ffffffffffffffffffffffffffffffffffffffff1690565b926144d960808b0151820360608401519061573b565b01925f9273ffffffffffffffffffffffffffffffffffffffff821691826145cd5750505061451b905173ffffffffffffffffffffffffffffffffffffffff1690565b945b5a900301019182026040870151938185105f1461458357505080614542600292614413565b0361455b57816104b292956145568161585c565b61575a565b7fdeadaa51000000000000000000000000000000000000000000000000000000005f5260205ffd5b916145bc82989293846104b297039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506145c681614413565b15906157db565b97929181516145df575b50505061451d565b90919293505a916145ef87614413565b60028703614616575b50509060a061460d925a90039101519061573b565b905f80806145d7565b90929199505a9260a083015191813b15610454578792895f80948a61466d84604051998a98899788957f7c627b2100000000000000000000000000000000000000000000000000000000875202916004860161444a565b0393f190816146ca575b506146b9576111676146876143e6565b6040519182917fad7954bc0000000000000000000000000000000000000000000000000000000083526004830161447c565b60a061460d925a90039991926145f8565b80613ca35f6146d89361087b565b5f614677565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806147de575b15614746577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526147d860c08261087b565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461471d565b9290925a93835161483773ffffffffffffffffffffffffffffffffffffffff60e08301511660408701519061564d565b1561485c5790608061484e920151948591846158f7565b9390945a9003116110da5750565b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b909280927fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149560601b1683528483013701015f815290565b6149086040820182612f3f565b90916149176117ef8385615a6c565b6149995761492761492c91612f35565b615ac1565b91601482116149755750506040516147d881612a7d6020820194857fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149260601b1681520190565b816147d89261498392613887565b9190612a7d6040519384926020840196876148c1565b5050505f90565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b6149f8906149d66040820182612f3f565b916149f08135916149e683610489565b60e0810190612f3f565b939092615ae5565b8051614a015750565b611167906040519182917f220266b60000000000000000000000000000000000000000000000000000000083525f600484015260406024840152604483019061055f565b15614a4d5750565b604051907f220266b60000000000000000000000000000000000000000000000000000000082526004820152604060248201528061116760448201604090601881527f41413934206761732076616c756573206f766572666c6f77000000000000000060208201520190565b15614ac15750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9190915f915a93805192614b3b8482613d82565b614b54604051614b4a8361298d565b6020850152604052565b604084015195614b9c5f6effffffffffffffffffffffffffffff8960c08901511760608901511760808901511760a08901511761010089015117610120890151171115614a45565b614be7614bca86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040860152614bde608085013560801c90565b9085855f613fad565b96614c1d5f614c18614c0d895173ffffffffffffffffffffffffffffffffffffffff1690565b60208a015190614d32565b614ab9565b5a820311614cc65760609473ffffffffffffffffffffffffffffffffffffffff614c5f60e05a93015173ffffffffffffffffffffffffffffffffffffffff1690565b16614c8e575b60809291614c7c61183461182f60a0945a906128d8565b9660608601525a900391013501910152565b945061182f95509060a0608092614ca483615ba4565b50614c7c611834614cb687865f614807565b9a90999450505050919250614c65565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b73ffffffffffffffffffffffffffffffffffffffff165f52600160205267ffffffffffffffff614d8a8260401c60405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b91825492614d9784612536565b9055161490565b614dbc73ffffffffffffffffffffffffffffffffffffffff91615d98565b9116614f5a57614eee57614de473ffffffffffffffffffffffffffffffffffffffff91615d98565b9116614e8257614df057565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f6004830160a091815260406020820152602160408201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f650000000000000000000000000000000000000000000000000000000000000060808201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b9073ffffffffffffffffffffffffffffffffffffffff614fe4612b05565b92165f525f60205263ffffffff600160405f2001546dffffffffffffffffffffffffffff8160081c16845260781c166020830152565b9091826014116104545781359183602411610454576014810135936034116104545760609290921c92608090811c9260240135901c90565b9081602091031261045457516105d081610489565b9160206105d09381815201916122ba565b92909181615087575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff16936150ab8383615a6c565b61540c57843b6153a65760148310615340575f60206150cb6135756124bc565b604087510151604051809481937f570e1a360000000000000000000000000000000000000000000000000000000083528261510a8b8b60048401615067565b0393f1908115612531575f91615311575b5073ffffffffffffffffffffffffffffffffffffffff81169586156152a35773ffffffffffffffffffffffffffffffffffffffff16809603615235573b156151cf5750613a29613a237fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d9361518f93613879565b602083810151935160e001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a35f808080615081565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b611167826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b611167836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b615333915060203d602011615339575b61532b818361087b565b810190615052565b5f61511b565b503d615321565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152608490fd5b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b50906014811161541c5750505050565b8061543891604061542e6135756124bc565b9551015193613887565b9190833b15610454575f809461547e96604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501613b07565b0393f1801561253157615494575b808080615081565b80613ca35f6154a29361087b565b5f61548c565b6154c0604092959493956060835260608301906122f8565b9460208201520152565b60a0906105d09392815260606020820152600d60608201527f41413233207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b929160209594869261557e5f93610678615545825173ffffffffffffffffffffffffffffffffffffffff90511690565b976040519b8c930151888401957f19822f7c000000000000000000000000000000000000000000000000000000008752602485016154a8565b8285895193f15f519460203d03615645575b6040521561559c575050565b3b61560757604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152608490fd5b61560f6143e6565b906111676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484016154ca565b5f9150615590565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090815481811061499957039055600190565b5f5b82811061568d57505050565b6001906156986121c8565b6156a6613545838787612ef5565b5050506020810135906156b882610489565b73ffffffffffffffffffffffffffffffffffffffff821615615714575f91826156ef81936156e584610489565b6040810190612f3f565b9190826040519384928337810182815203925af15061570c6128f9565b505b01615681565b505061570e565b61012061010082015191015148018082105f14615736575090565b905090565b90619c40820181111561575457606491600a9103020490565b50505f90565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283525f602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b60a0906105d09392815260606020820152600d60608201527f41413333207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b925f809195939295604051968261599760e060208801519761597b8c61594e6040840151602083019c8d997f52b7512c000000000000000000000000000000000000000000000000000000008b52602485016154a8565b038d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820190528d61087b565b51015173ffffffffffffffffffffffffffffffffffffffff1690565b895193f1933d91825f833e51938151604083019687519015918215615a60575b508115615a30575b506159f25750601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601604052565b6159fa6143e6565b906111676040519283927f65c8fd4d000000000000000000000000000000000000000000000000000000008452600484016158ac565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085019101105f6159bf565b6040141591505f6159b7565b90600211615abc57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b5f806017923c73ffffffffffffffffffffffffffffffffffffffff5f51604b1c1690565b50929192159081615b9a575b50615b5d576014811015615b0a575b50506105d06128e5565b601411610454573560601c3b15615b22575f80615b00565b604051615b3060408261087b565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051615b6d60408261087b565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b155f615af1565b615bb29060e0810190612f3f565b602411610454576014013560801c90565b60ff8114615bd4576105d090615eb7565b506040515f6002548060011c91600182168015615cd6575b602084108114615ca95783855284926020840191908115615c725750600114615c1d575b506105d09250038261087b565b60025f90815291507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b848310615c5b57506105d09350015f615c10565b805482840152859350602090920191600101615c47565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168252506105d093151560051b0190505f615c10565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b92607f1692615bec565b60ff8114615cf1576105d090615eb7565b506040515f6003548060011c91600182168015615d8e575b602084108114615ca95783855284926020840191908115615c725750600114615d3957506105d09250038261087b565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b848310615d7757506105d09350015f615c10565b805482840152859350602090920191600101615d63565b92607f1692615d09565b8015615ea5575f60408051615dac81610826565b828152826020820152015265ffffffffffff8160a01c168015615e98575b615e7990615e53615de1615dec615de18660d01c90565b65ffffffffffff1690565b92615e2b73ffffffffffffffffffffffffffffffffffffffff615e0d6108eb565b9716879073ffffffffffffffffffffffffffffffffffffffff169052565b615e416020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115615e7c575b50915173ffffffffffffffffffffffffffffffffffffffff1690565b91565b51615e8f915065ffffffffffff16615de1565b4211155f615e5d565b5065ffffffffffff615dca565b505f905f90565b816040519182372090565b60ff811690601f8211615ee65760405191615ed360408461087b565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffdfea26469706673582212206b98d8f2b5de1b65293c277942baf05f04aa19ad89d362404d24fb31a999575c64736f6c634300081c0033";
|
|
38
|
-
exports.pimlicoEntrypointSimulationsV7DeployBytecode = "0x6080806040523461008557614c6f8181016001600160401b0381118382101761006f578291610400833903906000f0801561006357600080546001600160a01b0319166001600160a01b0392909216919091179055604051610375908161008b8239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe60406080815260048036101561001457600080fd5b6000803560e01c63c18f52261461002a57600080fd5b346102825782600319360112610282576001600160a01b03600435818116939084900361027e57602492833567ffffffffffffffff80821161027e573660238301121561027e57816004013591610080836102bd565b9261008d8a519485610285565b808452602095888786019260051b8401019236841161027a57898101925b8484106101fb575050505050508051946100dc6100c7876102bd565b966100d48a519889610285565b8088526102bd565b601f199790880185855b8281106101eb57505050835b8984518210156101905790878680878761014f8f8d61014360019a61011d8b60609b8a541698610315565b5190805197889485019763428557b160e11b8952850152604484015260648301906102d5565b03908101845283610285565b82885a935193f115610178575b610166828b610315565b52610171818a610315565b50016100f2565b508a513d81810189018d52808252878983013e61015c565b805187815289518189018190528792600582901b83018101918c8b01918b9085015b8287106101bf5785850386f35b9091929382806101db600193603f198a820301865288516102d5565b96019201960195929190926101b2565b606082828c0101520186906100e6565b833586811161027657820136604382011215610276578b8101356044888211610264578f5192610234601f8401601f19168e0185610285565b82845236828483010111610260578c838196948296948f940183860137830101528152019301926100ab565b8b80fd5b634e487b7160e01b8b52604186528d8bfd5b8880fd5b8680fd5b8280fd5b80fd5b90601f8019910116810190811067ffffffffffffffff8211176102a757604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116102a75760051b60200190565b919082519283825260005b848110610301575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e0565b80518210156103295760209160051b010190565b634e487b7160e01b600052603260045260246000fdfea2646970667358221220043c1216c773f941b98e08b3742e9b8ed17d65a9f0969b4a471f5f52c723da4964736f6c6343000817003360c08060405234620000fb5760016002556101608181016001600160401b03811183821017620000e557829162004b0f833903906000f08015620000d9576080523060a0526200004e62000100565b600081526020810190600082528060206200006862000100565b600081520152600380546001600160a01b031916905551600455516005556040516149ee90816200012182396080518181816141bd015261443c015260a0518181816126f3015281816127490152818161295b015281816130a601528181613655015281816136b001526138680152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b03811183821017620000e55760405256fe60806040526004361015610023575b361561001957600080fd5b61002161318e565b005b60003560e01c80630396cb60146101d357806303d1dcaf146101ce5780630bd28e3b146101c95780630da82661146101c45780630dbfc6bd146101bf5780631b2e01b8146101ba578063205c2878146101b557806321e60b37146101b057806322cdde4c146101ab578063263934db146101a657806330ec25d1146101a157806335567e1a1461019c57806344403473146101975780635287ce12146101925780635895273b1461018d57806369683cfa1461018857806370a08231146101835780637472949c1461017e57806376ad6123146101795780637f75516614610174578063b760faf91461016f578063bb9fe6bf1461016a578063c23a5cea14610165578063c3bce00914610160578063f7e426e81461015b578063fc7e286d146101565763fe2171cb0361000e576118b9565b61183a565b611801565b6117d4565b6116f3565b61160b565b6115e0565b6113cc565b611373565b611353565b611316565b611157565b61112a565b61101d565b610fd1565b610f0f565b610e94565b610d7d565b610d5d565b610c95565b610ab9565b610a56565b6109db565b61083a565b610656565b610462565b60203660031901126102fa5763ffffffff600435818116918282036102fa577fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916102d76102f59261025861023a3360018060a01b03166000526000602052604060002090565b96610246811515611909565b6001880154928360781c161115611955565b6102b16102736001600160701b039283349160081c166119d4565b9661027f8815156119e1565b61028b83891115611a22565b5491610295610766565b9283526001602084015287166001600160701b03166040830152565b63ffffffff83166060820152600060808201819052338152602081905260409020611a5f565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b9181601f840112156102fa578235916001600160401b0383116102fa576020808501948460051b0101116102fa57565b6001600160a01b038116036102fa57565b6024359061034d8261032f565b565b610104359061034d8261032f565b6044359061034d8261032f565b610124359061034d8261032f565b359061034d8261032f565b906003199060c0828401126102fa576001600160401b036004358181116102fa57846103b1916004016102ff565b949094936024359283116102fa57826060920301126102fa57600401906044356103da8161032f565b90606435906084359060a43590565b60005b8381106103fc5750506000910152565b81810151838201526020016103ec565b90602091610425815180928185528580860191016103e9565b601f01601f1916010190565b6080604061045f9360208452805160208501526020810151151582850152015191606080820152019061040c565b90565b346102fa5761047036610383565b9261047f969496929192611aec565b50610488611b0d565b966104938180611b90565b885161049e916131e3565b6104a88180611b90565b965a895180516001600160a01b03169a919991906104c960408401846124d1565b6104d39184614162565b60e001516001600160a01b03908116159a61051e936020936000938f93918f610603575b8601516040516306608bdf60e21b81529788968795600095949387939291600485016132ca565b03941690f190816105d4575b506105575761055361053a6138ff565b6040516365c8fd4d60e01b8152918291600483016132ec565b0390fd5b6105b9986105ad986105bd575b5061056d611b0d565b966105a861057b8480611b90565b61059a6040519a8b926321e60b3760e01b602085015260248401611cbc565b03601f1981018a5289610745565b6135f2565b60405191829182610431565b0390f35b6001600160a01b0316600090815260205238610564565b6105f59060203d6020116105fc575b6105ed8183610745565b8101906132bb565b503861052a565b503d6105e3565b6001600160a01b0385166000908152602081905260408120549196509291908015610637575086835b9691929350506104f7565b8790840361062c565b602435906001600160c01b03821682036102fa57565b346102fa5760203660031901126102fa576004356001600160c01b03811681036102fa573360009081526001602090815260408083206001600160c01b039094168352929052206106a78154611d87565b9055005b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176106dc57604052565b6106ab565b606081019081106001600160401b038211176106dc57604052565b604081019081106001600160401b038211176106dc57604052565b6001600160401b0381116106dc57604052565b602081019081106001600160401b038211176106dc57604052565b90601f801991011681019081106001600160401b038211176106dc57604052565b6040519061034d826106c1565b6040519061014082018281106001600160401b038211176106dc57604052565b6040519061010082018281106001600160401b038211176106dc57604052565b6040519061034d826106e1565b6040519061034d826106fc565b6001600160401b0381116106dc57601f01601f191660200190565b9291926107f4826107cd565b916108026040519384610745565b8294818452818301116102fa578281602093846000960137010152565b9080601f830112156102fa5781602061045f933591016107e8565b346102fa576102203660031901126102fa576001600160401b036004358181116102fa5761086c90369060040161081f565b366023190191906101c083126102fa576101406040519361088c856106c1565b126102fa57610899610773565b6108a1610340565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526108db61034f565b60e0820152610124356101008201526101443561012082015283526101643560208401526101843560408401526101a43560608401526101c43560808401526101e4359182116102fa5760409261093961094493369060040161081f565b906102043592611dad565b82519182526020820152f35b60206003198201126102fa57600435906001600160401b0382116102fa5761097a916004016102ff565b9091565b9061045f9160e061010091805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061040c565b346102fa576109f26109ec36610950565b90611fcb565b60405160209160208201926020835281518094526040830193602060408260051b8601019301916000955b828710610a2a5785850386f35b909192938280610a46600193603f198a8203018652885161097e565b9601920196019592919092610a1d565b346102fa5760403660031901126102fa576020610ab0600435610a788161032f565b610a80610640565b6001600160a01b0390911660009081526001845260408082206001600160c01b0390931682526020929092522090565b54604051908152f35b346102fa5760403660031901126102fa57600435610ad68161032f565b60243590600091338352826020526040832091825492838311610b625784808080868196610b5f96610b08838c612030565b9055604080516001600160a01b03831681526020810184905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a26001600160a01b03165af1610b59612050565b50612080565b80f35b60405162461bcd60e51b815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152606490fd5b90816101209103126102fa5790565b6102006003198201126102fa57600435916024356001600160401b0381116102fa5782610be591600401610ba7565b91604319016101c081126102fa5761014060405191610c03836106c1565b126102fa57610c10610773565b610c1861035d565b81526064356020820152608435604082015260a435606082015260c435608082015260e43560a08201526101043560c0820152610c5361036a565b60e0820152610144356101008201526101643561012082015281526101843560208201526101a43560408201526101c43560608201526101e435608082015290565b346102fa576060610ca536610bb6565b9190600092805191610cb783826131e3565b610cc0816120c1565b6020830152610cf083610100604082015160608301510160808301510160a08301510160c0830151019101510290565b60e0909301516001600160a01b0316610d1c575b85856040519060008252602082015260006040820152f35b610d2894505a93613d97565b905038808080610d04565b60206003198201126102fa57600435906001600160401b0382116102fa5761045f91600401610ba7565b346102fa576020610d75610d7036610d33565b6120c1565b604051908152f35b346102fa57610da9610d8e36610950565b809291610d99611ee7565b50610da382611f35565b50611fcb565b6000198201918211610dd7576105b991610dc291611fb7565b5160405191829160208352602083019061097e565b6119a1565b9061045f9060e06080610e2e816101408751908087528151908701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061040c565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c0850152015191019080516001600160a01b031682526020908101518051828401520151604090910152565b346102fa57610eab610ea536610950565b9061225a565b60405160209160208201926020835281518094526040830193602060408260051b8601019301916000955b828710610ee35785850386f35b909192938280610eff600193603f198a82030186528851610ddc565b9601920196019592919092610ed6565b346102fa5760403660031901126102fa576020600435610f2e8161032f565b610f36610640565b6001600160a01b0390911660009081526001835260408082206001600160c01b03841683526020529020546040805192901b67ffffffffffffffff1916178152f35b60606003198201126102fa57600435610f908161032f565b916024356001600160401b03928382116102fa57806023830112156102fa5781600401359384116102fa57602484830101116102fa57602401919060443590565b346102fa57610fdf36610f78565b90806040519384378201908260008095819585838097520393f1611001612050565b901561100b575080f35b805191821561101a5750602001fd5b80fd5b346102fa5760203660031901126102fa576105b9608060043561103f8161032f565b6040918291825161104f816106c1565b60009281848093528260208201528286820152826060820152015260018060a01b031681528060205220906110d865ffffffffffff6001835194611092866106c1565b80548652015460ff8116151560208601526001600160701b038160081c168486015263ffffffff8160781c16606086015260981c16608084019065ffffffffffff169052565b5191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526001600160701b03604082015116604086015263ffffffff6060820151166060860152015116910152565b346102fa576105b961114361113e36610d33565b61230d565b60405191829160208352602083019061097e565b346102fa5761116536610bb6565b9190915a9281519361117785836131e3565b611180826120c1565b60208401526040850151936111c46001600160781b038660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612443565b6111ef86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b9461121f61121b6112035a898989886134df565b89516020909a015190996001600160a01b0316613f83565b1590565b6112ca575a83031161127d57509261126092608061125b9360a0611267975a9560408601526060808601525a9003910135019101525a90612030565b61248f565b6064900490565b6040805192835260006020840152820152606090f35b60408051631101335b60e11b815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600481018490526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b346102fa5760203660031901126102fa576004356113338161032f565b60018060a01b031660005260006020526020604060002054604051908152f35b346102fa576105b96105ad61136736610383565b959490949391936125fb565b346102fa576105b96105ad61138736610383565b94611396949194939293611aec565b5061139f611b0d565b966105a86113ad8480611b90565b61059a6040519a8b926334b41e7d60e11b602085015260248401611cbc565b346102fa576113da36610bb6565b91906000925a918151926113ee84836131e3565b6113f7826120c1565b602084015260408401519461143b6001600160781b038760c08801511760608801511760808801511760a08801511761010088015117610120880151171115612443565b61146685610100604082015160608301510160808301510160a08301510160c0830151019101510290565b61147387828787866134df565b86519097906114949061121b906001600160a01b031660208a015190613f83565b611594575a840311611545576060915a60e097909701516001600160a01b0316611508575b509360806112609460a061125b956105b999956114eb99604087015260608601525a9003910135019101525a90612030565b604051938493846040919493926060820195825260208201520152565b8198506105b99692508460a061125b956115336080948a96876112609b886114eb9e51015193613d97565b9c90969a5094985095505094506114b9565b60408051631101335b60e11b8152600481018490526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600481018590526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b60203660031901126102fa576100216004356115fb8161032f565b612c80565b60009103126102fa57565b346102fa5760008060031936011261101a573381528060205260016040822001805463ffffffff8160781c169081156116c1576116869161165160ff61165f9316612cd7565b65ffffffffffff4216612d17565b825460ff65ffffffffffff60981b01191665ffffffffffff60981b609883901b1617909255565b60405165ffffffffffff91909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90602090a280f35b60405162461bcd60e51b815260206004820152600a6024820152691b9bdd081cdd185ad95960b21b6044820152606490fd5b346102fa5760203660031901126102fa576004356117108161032f565b336000908152602081905260409020610b5f906001019161177883549361176765ffffffffffff6001600160701b038760081c1696611750881515612d31565b60981c1661175f811515612d74565b421015612dc0565b8054610100600160c81b0319169055565b604080516001600160a01b03831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2600080808095819460018060a01b03165af16117ce612050565b50612e0c565b346102fa576105b96117ed6117e836610d33565b612ed1565b604051918291602083526020830190610ddc565b346102fa5761181b61181236610f78565b9291909161306a565b906105b96040519283921515835260406020840152604083019061040c565b346102fa5760203660031901126102fa576004356118578161032f565b60018060a01b0316600052600060205260a0604060002065ffffffffffff6001825492015460405192835260ff8116151560208401526001600160701b038160081c16604084015263ffffffff8160781c16606084015260981c166080820152f35b346102fa576118db6118ca36610950565b8092916118d56121d3565b5061225a565b6000198201918211610dd7576105b9916118f491611fb7565b51604051918291602083526020830190610ddc565b1561191057565b60405162461bcd60e51b815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152606490fd5b1561195c57565b60405162461bcd60e51b815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b906113888201809211610dd757565b9060018201809211610dd757565b91908201809211610dd757565b156119e857565b60405162461bcd60e51b81526020600482015260126024820152711b9bc81cdd185ad9481cdc1958da599a595960721b6044820152606490fd5b15611a2957565b60405162461bcd60e51b815260206004820152600e60248201526d7374616b65206f766572666c6f7760901b6044820152606490fd5b9065ffffffffffff6080600161034d948451815501926020810151151584546effffffffffffffffffffffffffff00604084015160081b169060ff63ffffffff60781b606086015160781b169316906cffffffffffffffffffffffffff60981b16171717845501511681549065ffffffffffff60981b9060981b169065ffffffffffff60981b1916179055565b60405190611af9826106e1565b606060408360008152600060208201520152565b60405190611b1a826106c1565b6040516101408101836001600160401b038211838310176106dc5760809160405260009283815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b90359061011e19813603018212156102fa570190565b9035601e19823603018112156102fa5701602081359101916001600160401b0382116102fa5781360383136102fa57565b908060209392818452848401376000828201840152601f01601f1916010190565b61045f91611c9d611c64611c49610120611c2285611c1588610378565b6001600160a01b03169052565b60208601356020860152611c396040870187611ba6565b9091806040880152860191611bd7565b611c566060860186611ba6565b908583036060870152611bd7565b6080840135608084015260a084013560a084015260c084013560c0840152611c8f60e0850185611ba6565b9084830360e0860152611bd7565b91611cae6101009182810190611ba6565b929091818503910152611bd7565b906080611cde6101e09295949561020060008652806020870152850190611bf8565b855180516001600160a01b0316604086015290959060208101516060860152604081015183860152606081015160a08601528281015160c086015260a081015160e086015260c081015190610100918287015260e081015191611d4e610120938489019060018060a01b03169052565b8101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b6000198114610dd75760010190565b60409061045f93928152816020820152019061040c565b9190805193606085015194611dc5603f5a0260061c90565b61271060a083015188010111611e8f5761097a956000958051611df5575b5050505a9003608082015101926139c3565b8251611e0f9261121b9290916001600160a01b03166138ed565b611e1b575b8080611de3565b909350611e266138ff565b8051611e38575b505060019238611e14565b602083810151835193909101516040516001600160a01b039094169391927f1c4fada7374c0a9ee8841fc38afe82932dc0f8e69012e927f061a8bae611a20192918291611e859183611d96565b0390a33880611e2d565b60408051631101335b60e11b8152600060048201526024810191909152600f60448201526e41413935206f7574206f662067617360881b6064820152608490fd5b6001600160401b0381116106dc5760051b60200190565b6040519061010082018281106001600160401b038211176106dc57604052606060e083600080825280602083015280604083015280848301528060808301528060a083015260c08201520152565b90611f3f82611ed0565b611f4c6040519182610745565b8281528092611f5d601f1991611ed0565b019060005b828110611f6e57505050565b602090611f79611ee7565b82828501015201611f62565b634e487b7160e01b600052603260045260246000fd5b90821015611fb25761045f9160051b810190611b90565b611f85565b8051821015611fb25760209160051b010190565b611fd482611f35565b9160005b818110611fe55750505090565b80611ff661113e6001938587611f9b565b6120008287611fb7565b5261200b8186611fb7565b5001611fd8565b600019810191908211610dd757565b600319810191908211610dd757565b91908203918211610dd757565b6040519061204a8261072a565b60008252565b3d1561207b573d90612061826107cd565b9161206f6040519384610745565b82523d6000602084013e565b606090565b1561208757565b60405162461bcd60e51b81526020600482015260126024820152716661696c656420746f20776974686472617760701b6044820152606490fd5b6120ce60408201826124d1565b908160405191823720906120e560608201826124d1565b9081604051918237209161217161210861210260e08501856124d1565b906149ad565b6040805185356001600160a01b031660208083019182528701359282019290925260608101949094526080808501969096529484013560a08085019190915284013560c0808501919091529093013560e083015261010082019290925291908290610120820190565b0391612185601f1993848101835282610745565b519020604080516020810192835230918101919091524660608201526080928301815290916121b49082610745565b51902090565b604051906121c7826106fc565b60006020838281520152565b604051906121e0826106c1565b816040516121ed816106c1565b600081526000602082015260006040820152600060608201526060608082015281526122176121ba565b60208201526122246121ba565b60408201526122316121ba565b6060820152608060405191612245836106fc565b600083526122516121ba565b60208401520152565b61226382611ed0565b916122716040519384610745565b808352601f1961228082611ed0565b0160005b8181106122ca57505060005b81811061229d5750505090565b806122ae6117e86001938587611f9b565b6122b88287611fb7565b526122c38186611fb7565b5001612290565b6020906122d56121d3565b82828801015201612284565b908092918237016000815290565b604051906122fc826106fc565b6002825261060f60f31b6020830152565b612315611ee7565b5060028054146124315760028055608061232d611b0d565b9161233781613f1a565b6123418382612aa3565b926000929192905a908760608101519161235e60608201826124d1565b60038111612428575b638dd7712f60e01b966001600160e01b031916870361240f5750506123c16123c69560208401516123ad6040519485936020850152604060248501526064840190611bf8565b90604483015203601f198101835282610745565b611dad565b9490955b0151946123d5610793565b958652602086015260408501526060840152608083015260a0820152600060c08201526124006122ef565b60e082015261045f6001600255565b61242096506123c1925036916107e8565b9490956123ca565b81359650612367565b604051633ee5aeb560e01b8152600490fd5b1561244a57565b60405162461bcd60e51b815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b90607382029180830460731490151715610dd757565b9190811015611fb25760051b81013590605e19813603018212156102fa570190565b3561045f8161032f565b903590601e19813603018212156102fa57018035906001600160401b0382116102fa576020019181360383136102fa57565b60405161250f8161072a565b60008152906000368137565b90612525826107cd565b6125326040519182610745565b8281528092612543601f19916107cd565b0190602036910137565b9392916125729060409260018060a01b0316865260606020870152606086019061040c565b930152565b81601f820112156102fa57805161258d816107cd565b9261259b6040519485610745565b818452602082840101116102fa5761045f91602080850191016103e9565b9190916040818403126102fa57805180151581036102fa579260208201516001600160401b0381116102fa5761045f9201612577565b6040513d6000823e3d90fd5b9693919496612608611aec565b5060005b8281106129ff575050506126208480611b90565b9460209161262f8387016124c7565b9461266461264c6126456040998a8101906124d1565b36916107e8565b98612655611b0d565b9061265f81613f1a565b612aa3565b506001600160a01b0393915050868316156129d6578493929190896000898b841561290b57505050506126ed945061269a61203d565b509260008a6126d08a6126c28d5a9051634440347360e01b8d8201529485936024850161254d565b03601f198101835282610745565b5a8b51631efc84dd60e31b81529788928392908c6004850161254d565b038183877f0000000000000000000000000000000000000000000000000000000000000000165af190811561286c5760009586926128ed575b50818680156128c5575050612744909b93919b959294955b866119d4565b9081907f0000000000000000000000000000000000000000000000000000000000000000169b5b846127768885612030565b1061289a575a612785886119b7565b116128715791869593918a95938e8d8f8c6127a28f9d88906119d4565b60011c9a8b8451938493634440347360e01b9085015260248401926127c69361254d565b03601f19810182526127d89082610745565b5a9151631efc84dd60e31b81529b8c9283926127f7926004850161254d565b03815a6000948591f198891561286c57600090819a612846575b50156128315750505061282384612012565b95915b93909294959161276b565b939650946128409197506119c6565b94612826565b90612864929a503d8091833e61285c8183610745565b8101906125b9565b989038612811565b6125ef565b508951637162685f60e11b81526004810191909152602481018690526044810191909152606490fd5b9998509950509392505096506128bf92506128b36107b3565b95865285019015159052565b82015290565b979b50999850505098505050506128bf91506128df6107b3565b946000865285019015159052565b909561290392503d8091833e61285c8183610745565b909438612726565b6129559450829793986126c2612938925a9b5a9151958694634440347360e01b908601526024850161254d565b5a8c51631efc84dd60e31b81529485928392908d6004850161254d565b038183887f0000000000000000000000000000000000000000000000000000000000000000165af191821561286c578580936129b5575b50508161299b86975a90612030565b9580156128c5575050612744909b93919b9592949561273e565b909195506129cd92503d8091833e61285c8183610745565b9093388061298c565b5097505050935050506129e7612503565b9060006129f26107b3565b9381855284015282015290565b600190612a0a611b0d565b612a35612a188387876124a5565b91612a2b612a268480611b90565b613f1a565b61265f8380611b90565b50505060208101612a54612a48826124c7565b6001600160a01b031690565b15612a9c57600091612a8783612a6a81946124c7565b92612a7a604091828101906124d1565b93909151809481936122e1565b03925af150612a94612050565b505b0161260c565b5050612a96565b90916000915a93805191612ab783826131e3565b612ac0816120c1565b6020830152604083015195612b046001600160781b038860c08701511760608701511760808701511760a08701511761010087015117610120870151171115612443565b612b2f84610100604082015160608301510160808301510160a08301510160c0830151019101510290565b612b3b88828686613363565b8551909890612b5c9061121b906001600160a01b0316602089015190613f83565b612c34575a830311612be5576060905a60e096909601516001600160a01b0316612baf575b61125b9360a061045f9794879460809460406112609a015260608601525a9003910135019101525a90612030565b9650509282608061125b9360a061045f97612bd384611260995101518c8786613c14565b9b909598509350949750509350612b81565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601a6044820152794141323520696e76616c6964206163636f756e74206e6f6e636560301b6064820152608490fd5b6001805b60058110612cd05750507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c46020612cbb34846146ef565b6040519081526001600160a01b0390931692a2565b8101612c84565b15612cde57565b60405162461bcd60e51b8152602060048201526011602482015270616c726561647920756e7374616b696e6760781b6044820152606490fd5b91909165ffffffffffff80809416911601918211610dd757565b15612d3857565b60405162461bcd60e51b81526020600482015260146024820152734e6f207374616b6520746f20776974686472617760601b6044820152606490fd5b15612d7b57565b60405162461bcd60e51b815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152606490fd5b15612dc757565b60405162461bcd60e51b815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152606490fd5b15612e1357565b60405162461bcd60e51b815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152606490fd5b906014116102fa5790601490565b6bffffffffffffffffffffffff199035818116939260148110612e8857505050565b60140360031b82901b16169150565b60405190612ea4826106fc565b6003546001600160a01b03168252604051602083612ec1836106fc565b6004548352600554828401520152565b612ed96121d3565b50612ee2611b0d565b90612eec81613f1a565b612ef68282612aa3565b50919092612f048385613fc3565b805160e00151612f21906001600160a01b03166140c9565b6140c9565b815151909290612f5190612f3d906001600160a01b03166140c9565b91612f466121ba565b5060408101906124d1565b906014821061302b57612f73612f6d612f7993612f1c93612e58565b90612e66565b60601c90565b9160018060a01b038616946080820151966060604084015193015192612f9d610766565b9889526020890152604088015260608701526080860152612fbc612e97565b9380151580613020575b612fee575b50612fd4610766565b948552602085015260408401526060830152608082015290565b909350612ffa816140c9565b6130146130056107c0565b6001600160a01b039093168352565b60208201529238612fcb565b506001811415612fc6565b5050612f7960006140c9565b6001600160a01b03909116815260406020820181905261045f93910191611bd7565b908151811015611fb2570160200190565b6000949385936060936001600160a01b039384169386939190853b1561318a576130cf9585916040519788968795869363428557b160e11b85527f00000000000000000000000000000000000000000000000000000000000000001660048501613037565b0393f19081613171575b5061316b5750506130e8612050565b6004815110613162576131036130fe8251612021565b61251b565b9060045b815181101561314b578061312e61312060019385613059565b516001600160f81b03191690565b61314461313a83612021565b91881a9186613059565b5301613107565b505061097a919250602080825183010191016125b9565b5061045f612503565b91909250565b8061317e61318492610717565b80611600565b386130d9565b8480fd5b61034d33612c80565b1561319e57565b60405162461bcd60e51b815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152606490fd5b613268906132006131f3826124c7565b6001600160a01b03168452565b602081013560208401526132246080820135906001600160801b038260801c921690565b6060850152604084015260a081013560c084015261325260c0820135906001600160801b038260801c921690565b61010085015261012084015260e08101906124d1565b9081156132a45761328c8260e092613287603461034d97961015613197565b61410b565b60a085015260808401526001600160a01b0316910152565b505060a081600060e0819401528260808201520152565b908160209103126102fa575190565b6132e260409295949395606083526060830190611bf8565b9460208201520152565b9060a061045f926000815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b6080820152816040820152019061040c565b60a09061045f9392815260606020820152600d60608201526c10504c8cc81c995d995c9d1959609a1b6080820152816040820152019061040c565b90939260206133ea918651936133aa60e0613384875160018060a01b031690565b9661339c61339560408601866124d1565b908d614162565b01516001600160a01b031690565b6001600160a01b039081161598600093919291908a6134a2575b8501516040516306608bdf60e21b815296879586946000949386939291600485016132ca565b0393881690f160009181613481575b506134095761055361053a6138ff565b93613412575050565b6001600160a01b0316600090815260208190526040902090815480821161343857039055565b60408051631101335b60e11b8152600060048201526024810191909152601760448201527610504c8c48191a591b89dd081c185e481c1c99599d5b99604a1b6064820152608490fd5b61349b91925060203d6020116105fc576105ed8183610745565b90386133f9565b6001600160a01b0388166000908152602081905260408120549195509190898111156134d6575085825b95919250506133c4565b86908a036134cc565b94929193602061351c918651936133aa60e0613501875160018060a01b031690565b9661339c8b8d61351460408801886124d1565b9290916143dd565b0393881690f1600091816135d1575b5061355657856135396138ff565b6040516365c8fd4d60e01b81529182916105539160048401613328565b94929361356257505050565b6001600160a01b031660009081526020819052604090209182549081831161358a5750039055565b60408051631101335b60e11b815260048101929092526024820152601760448201527610504c8c48191a591b89dd081c185e481c1c99599d5b99604a1b6064820152608490fd5b6135eb91925060203d6020116105fc576105ed8183610745565b903861352b565b91613613612a2692613619949a96979895999a61360d611aec565b50614637565b80611b90565b600092801561383e57613650935061362f61203d565b509160005a60405180968192631efc84dd60e31b83528b8b6004850161254d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af191821561286c57600094859361381d575b508294809381156137fa5750506136ae909592919394955b856119d4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169581905b846136e78885612030565b106137d0575a6136f6886119b7565b116137a657918695939160009593868b8b8e61371e6137188861373e9f6119d4565b60011c90565b9a8b936040519e8f9586948593631efc84dd60e31b85526004850161254d565b03925af198891561286c57600090819a613788575b50156137735750505061376584612012565b95915b9390929495916136dc565b939650946137829197506119c6565b94613768565b9061379e929a503d8091833e61285c8183610745565b989038613753565b50604051637162685f60e11b81526004810191909152602481018690526044810191909152606490fd5b9650965050919550506137f291506137e66107b3565b93845215156020840152565b604082015290565b965096505095505050506137f261380f6107b3565b600081529215156020840152565b90925061383491943d8091833e61285c8183610745565b9390939138613690565b50613863915a91845a60405180968192631efc84dd60e31b83528c8c6004850161254d565b0381837f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af193841561286c578580956138c9575b505083946138b181945a90612030565b9481156137fa5750506136ae909592919394956136a8565b909194506138e29295503d8091833e61285c8183610745565b9390939238806138a1565b9060009283809360208451940192f190565b3d610800808211613926575b50604051906020818301016040528082526000602083013e90565b90503861390b565b6003111561393857565b634e487b7160e01b600052602160045260246000fd5b909493929460038110156139385760609261397691835260806020840152608083019061040c565b9460408201520152565b9060a061045f926000815260606020820152601460608201527310504d4c081c1bdcdd13dc081c995d995c9d195960621b6080820152816040820152019061040c565b9093916000935a928651926139d7846146c5565b60e08501519091906001600160a01b03168080613abc57505084516001600160a01b03169050925b5a8603019360a06060820151910151019060808901918251860390818111613aa8575b50508402916040890192835194818610600014613a7e57505080613a4760029261392e565b03613a6357505061034d92508095613a5e816147d7565b614716565b9150915061034d925a9003905101905185613a5e82976147d7565b9061034d9750809a9450613a97929350809503906146ef565b50613aa18161392e565b1590614777565b6064919003600a0204909401933880613a22565b94918051613acc575b50506139ff565b613ad58561392e565b6002850315613ac557909198505a9160a087015191813b156102fa57859285600080948e613b1c84604051998a9889978895637c627b2160e01b875202916004860161394e565b0393f19081613b5a575b50613b4f57610553613b366138ff565b6040516365c8fd4d60e01b815291829160048301613980565b5a9003963880613ac5565b8061317e613b6792610717565b38613b26565b91906040838203126102fa5782516001600160401b0381116102fa57602091613b97918501612577565b92015190565b9060a061045f926000815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b6080820152816040820152019061040c565b60a09061045f9392815260606020820152600d60608201526c10504cccc81c995d995c9d1959609a1b6080820152816040820152019061040c565b939192905a815160e001516001600160a01b0316600081815260208190526040902080549792969290838910613d48576020600095869286613c739c039055015191604051998a95869485936314add44b60e21b8552600485016132ca565b03926001600160a01b031686f19384600091600096613d21575b50613cb657610553613c9d6138ff565b6040516365c8fd4d60e01b815291829160048301613b9d565b93925a900311613cc257565b60408051631101335b60e11b8152600060048201526024810191909152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b909550613d4191503d806000833e613d398183610745565b810190613b6d565b9438613c8d565b60408051631101335b60e11b8152600060048201526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b93909294915a815160e001516001600160a01b031660008181526020819052604090209195909290918054898110613ecb578990039055602001516040516314add44b60e21b8152969760009388939092849286928492613dfc9291600485016132ca565b03926001600160a01b031686f19384600091600096613eac575b50613e415785613e246138ff565b6040516365c8fd4d60e01b81529182916105539160048401613bd9565b9491925a900311613e4f5750565b60408051631101335b60e11b815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e47606482015266185cd31a5b5a5d60ca1b608482015260a490fd5b909550613ec491503d806000833e613d398183610745565b9438613e16565b60408051631101335b60e11b8152600481018b90526024810191909152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152608490fd5b613f4e90613f2b60408201826124d1565b9050613f46823592613f3c8461032f565b60e08101906124d1565b929091614819565b8051613f575750565b61055390604051918291631101335b60e11b83526000600484015260406024840152604483019061040c565b6001600160a01b0316600090815260016020908152604080832084821c845290915290208054916001600160401b0391613fbc84611d87565b9055161490565b613fcc906148d3565b6001600160a01b03929183166140865761403757613fe9906148d3565b5016613ff157565b60408051631101335b60e11b8152600060048201526024810191909152601460448201527320a0999a1039b4b3b730ba3ab9329032b93937b960611b6064820152608490fd5b60408051631101335b60e11b8152600060048201526024810191909152601760448201527f414132322065787069726564206f72206e6f74206475650000000000000000006064820152608490fd5b6084604051631101335b60e11b81526000600482015260406024820152601460448201527320a0991a1039b4b3b730ba3ab9329032b93937b960611b6064820152fd5b906140d26121ba565b9160018060a01b0316600052600060205263ffffffff6001604060002001546001600160701b038160081c16845260781c166020830152565b90806014116102fa57806024116102fa576034116102fa57803560601c916024601483013560801c92013560801c90565b908160209103126102fa575161045f8161032f565b91602061045f938181520191611bd7565b908261416d57505050565b8151516001600160a01b031692833b61438e5782516040908101518151632b870d1b60e11b8152919391906001600160a01b03906020908390816000816141b88a8a60048401614151565b0392867f00000000000000000000000000000000000000000000000000000000000000001690f191821561286c5760009261435d575b5080821696871561431157168096036142c5573b1561427957612f73612f6d7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d949361423993612e58565b6020840151935160e00151614274906001600160a01b03165b92516001600160a01b0392831681529190921660208201529081906040820190565b0390a3565b8251631101335b60e11b81526000600482015260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b8351631101335b60e11b81526000600482015260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b8551631101335b60e11b81526000600482015260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b61438091925060203d602011614387575b6143788183610745565b81019061413c565b90386141ee565b503d61436e565b60408051631101335b60e11b8152600060048201526024810191909152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b909192806143ec575b50505050565b8251516001600160a01b031693843b6145e85783516040908101518151632b870d1b60e11b8152919491906001600160a01b03906020908390816000816144378b8b60048401614151565b0392867f00000000000000000000000000000000000000000000000000000000000000001690f191821561286c576000926145c7575b5080821697881561457b571680970361452f573b156144e25750612f73612f6d7fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d94936144b993612e58565b6020840151935160e001516144d6906001600160a01b0316614252565b0390a3388080806143e6565b8351631101335b60e11b8152600481019190915260406024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b8451631101335b60e11b81526004810183905260406024820152602060448201527f4141313420696e6974436f6465206d7573742072657475726e2073656e6465726064820152608490fd5b8651631101335b60e11b81526004810185905260406024820152601b60448201527f4141313320696e6974436f6465206661696c6564206f72204f4f4700000000006064820152608490fd5b6145e191925060203d602011614387576143788183610745565b903861446d565b60408051631101335b60e11b8152600481018590526024810191909152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b60005b82811061464657505050565b600190614651611b0d565b61465f612a188387876124a5565b5050506020810135906146718261032f565b838060a01b038216156146be57600091829161468c8261032f565b8261469c604092838101906124d1565b8093519384928337810182815203925af1506146b6612050565b505b0161463a565b50506146b8565b6101206101008201519101518082146146eb574801808210156146e6575090565b905090565b5090565b60018060a01b0316600052600060205260406000208054918201809211610dd75781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519460018060a01b03946020868851169660e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519560018060a01b03956020878951169760e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208060018060a01b03855116940151604051908152a3565b9291921590816148c9575b5061488e57601481101561483d575b505061045f61203d565b6014116102fa573560601c3b15614855573880614833565b604051614861816106fc565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b505060405161489c816106fc565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b1538614824565b80156149a4576000604080516148e8816106e1565b828152826020820152015265ffffffffffff90818160a01c1691821561499a575b5061497c9061496361495860405194614921866106e1565b6001600160a01b0384168652614946602087019460d01c859065ffffffffffff169052565b65ffffffffffff166040860181905290565b65ffffffffffff1690565b421190811561497f575b5091516001600160a01b031690565b91565b51614992915065ffffffffffff16614958565b42103861496d565b915061497c614909565b50600090600090565b81604051918237209056fea26469706673582212202e03d64aad3fadfddc2af1c35d4c653eb052356d915b01199d4a4f34f83ffc9864736f6c634300081700336080806040523461001657610144908161001c8239f35b600080fdfe6080600436101561000f57600080fd5b6000803560e01c63570e1a361461002557600080fd5b3461010b57602036600319011261010b576004359167ffffffffffffffff9081841161010757366023850112156101075783600401358281116101035736602482870101116101035780601411610103576013198101928084116100ef57600b8201601f19908116603f01168301908111838210176100ef5792846024819482600c60209a968b9960405286845289840196603889018837830101525193013560601c5af190805191156100e7575b506040516001600160a01b039091168152f35b9050386100d4565b634e487b7160e01b85526041600452602485fd5b8380fd5b8280fd5b80fdfea26469706673582212200cb757f1fdb608281be803e114ca10044ba5d6804f8fe7715f297793ec636d0564736f6c63430008170033";
|
|
37
|
+
// https://github.com/pimlicolabs/contracts/blob/f38aa0532ca1c94400bce15076f0bef8558493a4/src/v08/PimlicoEntryPointSimulationsV8.sol
|
|
38
|
+
exports.pimlicoEntrypointSimulationsV8DeployBytecode = "0x60808060405234607d576163aa8181016001600160401b038111838210176069578291610505833903905ff08015605e575f80546001600160a01b0319166001600160a01b039290921691909117905560405161048390816100828239f35b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c63c18f522614610024575f80fd5b3461033f5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261033f5760043573ffffffffffffffffffffffffffffffffffffffff811680910361033f5760243567ffffffffffffffff811161033f573660238201121561033f57806004013561009f816103b1565b916100ad6040519384610370565b8183526024602084019260051b8201019036821161033f5760248101925b8284106102aa57845185877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0610119610103856103b1565b946101116040519687610370565b8086526103b1565b015f5b8181106102995750505f5b82518110156102165760019060605f806101a473ffffffffffffffffffffffffffffffffffffffff8254166101d061015f878b61040c565b5160405193849160208301947f850aaf6200000000000000000000000000000000000000000000000000000000865260248401526040604484015260648301906103c9565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101845283610370565b82885a935193f1156101f9575b6101e7828761040c565b526101f2818661040c565b5001610127565b503d604051906020818301016040528082525f602083013e6101dd565b836040518091602082016020835281518091526040830190602060408260051b8601019301915f905b82821061024e57505050500390f35b91936020610289827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516103c9565b960192019201859493919261023f565b80606060208093880101520161011c565b833567ffffffffffffffff811161033f5782013660438201121561033f5760248101359167ffffffffffffffff83116103435760405161031260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8701160182610370565b838152366044848601011161033f575f6020858196604483970183860137830101528152019301926100cb565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034357604052565b67ffffffffffffffff81116103435760051b60200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b80518210156104205760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea26469706673582212202fd86ac3350690e66e5110f6aea3875fcc1584d427a561d332b82954d658c41464736f6c634300081c0033610180604052346101a3576040516100186040826101d6565b600781526020810190664552433433333760c81b82526040519161003d6040846101d6565b600183526020830191603160f81b8352610056816101f9565b6101205261006384610394565b61014052519020918260e05251902080610100524660a0526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526100cc60c0826101d6565b5190206080523060c05230610160526040516100e7816101a7565b5f815260208101905f8252806020604051610101816101a7565b5f81520152600480546001600160a01b03191690555160055551600655604051615edd90816104cd823960805181614667015260a05181614724015260c05181614638015260e051816146b6015261010051816146dc01526101205181611a5201526101405181611a7b01526101605181818161315f015281816131c70152818161341901528181613b45015281816140e00152818161414701526142eb0152f35b5f80fd5b604081019081106001600160401b038211176101c257604052565b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176101c257604052565b908151602081105f14610273575090601f815111610233576020815191015160208210610224571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b0381116101c257600254600181811c9116801561038a575b602082101461037657601f8111610343575b50602092601f82116001146102e257928192935f926102d7575b50508160011b915f199060031b1c19161760025560ff90565b015190505f806102be565b601f1982169360025f52805f20915f5b86811061032b5750836001959610610313575b505050811b0160025560ff90565b01515f1960f88460031b161c191690555f8080610305565b919260206001819286850151815501940192016102f2565b60025f52601f60205f20910160051c810190601f830160051c015b81811061036b57506102a4565b5f815560010161035e565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610292565b908151602081105f146103bf575090601f815111610233576020815191015160208210610224571790565b6001600160401b0381116101c257600354600181811c911680156104c2575b602082101461037657601f811161048f575b50602092601f821160011461042e57928192935f92610423575b50508160011b915f199060031b1c19161760035560ff90565b015190505f8061040a565b601f1982169360035f52805f20915f5b868110610477575083600195961061045f575b505050811b0160035560ff90565b01515f1960f88460031b161c191690555f8080610451565b9192602060018192868501518155019401920161043e565b60035f52601f60205f20910160051c810190601f830160051c015b8181106104b757506103f0565b5f81556001016104aa565b90607f16906103de56fe60806040526004361015610022575b3615610018575f80fd5b610020613c40565b005b5f3560e01c80630396cb601461020157806303d1dcaf146101fc57806309ccb880146101f75780630bd28e3b146101f25780630da82661146101ed5780630dbfc6bd146101e857806313c65a6e146101e3578063154e58dc146101de5780631b2e01b8146101d9578063205c2878146101d457806321e60b37146101cf57806322cdde4c146101ca578063263934db146101c557806330ec25d1146101c057806335567e1a146101bb57806344403473146101b65780635287ce12146101b15780635895273b146101ac57806369683cfa146101a757806370a08231146101a25780637472949c1461019d57806376ad61231461019857806384b0196e14610193578063850aaf621461018e578063b760faf914610189578063bb9fe6bf14610184578063c23a5cea1461017f578063c3bce0091461017a578063f7e426e8146101755763fe2171cb0361000e57611f50565b611f17565b611eea565b611d74565b611c09565b611bcb565b611b71565b611a1c565b6119aa565b61198a565b611924565b611711565b6116e4565b61159e565b611559565b61140c565b611373565b611231565b611219565b610fe6565b610d66565b610ccd565b610c75565b610c35565b610b9c565b610994565b610740565b6106c3565b6105d3565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043563ffffffff8116908181036104545761044f7fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01916104316102f86102e16102923373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b9661029e811515611fbe565b6102cb6001890154916102c46102bb8463ffffffff9060781c1690565b63ffffffff1690565b1115612023565b60081c6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff3491166120d2565b946103048615156120df565b61031e6dffffffffffffffffffffffffffff871115612144565b546103276108bc565b908152600160208201526dffffffffffffffffffffffffffff8616604082015263ffffffff831660608201525f60808201526103803373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b78ffffffffffff0000000000000000000000000000000000000016179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b5f80fd5b9181601f840112156104545782359167ffffffffffffffff8311610454576020808501948460051b01011161045457565b73ffffffffffffffffffffffffffffffffffffffff81160361045457565b35906104b282610489565b565b60c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8201126104545760043567ffffffffffffffff811161045457816104fd91600401610458565b929092916024359067ffffffffffffffff8211610454577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82606092030112610454576004019060443561055081610489565b90606435906084359060a43590565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b608060406105d09360208452805160208501526020810151151582850152015191606080820152019061055f565b90565b34610454576106b56106a96105e7366104b4565b946105f69491949392936121a9565b506106296106026121c8565b61061761060f8580612237565b825190613d13565b6106218480612237565b905a91613e28565b506106326121c8565b966106a46106408480612237565b6106786040519a8b927f21e60b37000000000000000000000000000000000000000000000000000000006020850152602484016123c8565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018a528961087b565b614054565b604051918291826105a2565b0390f35b5f91031261045457565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206106fb6124bc565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361045457565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043577ffffffffffffffffffffffffffffffffffffffffffffffff81168103610454576107ca90335f52600160205260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b6107d48154612536565b9055005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60a0810190811067ffffffffffffffff82111761082157604052565b6107d8565b6060810190811067ffffffffffffffff82111761082157604052565b610140810190811067ffffffffffffffff82111761082157604052565b6040810190811067ffffffffffffffff82111761082157604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761082157604052565b604051906104b260a08361087b565b604051906104b26101408361087b565b604051906104b26101008361087b565b604051906104b260608361087b565b604051906104b260408361087b565b67ffffffffffffffff811161082157601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b92919261094f82610909565b9161095d604051938461087b565b829481845281830111610454578281602093845f960137010152565b9080601f83011215610454578160206105d093359101610943565b34610454576102207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760043567ffffffffffffffff8111610454576109e4903690600401610979565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601906101c082126104545761014060405192610a2184610805565b1261045457610a2e6108cb565b610a3860246104a7565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610a756101046104a7565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff821161045457604092610adc610ae7933690600401610979565b906102043592612574565b82519182526020820152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff821161045457610b3c91600401610458565b9091565b9061010060e06105d093805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061055f565b3461045457610bb3610bad36610af3565b906127c9565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b828210610bea57505050500390f35b91936020610c25827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851610b40565b9601920192018594939192610bdb565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610c6d614621565b604051908152f35b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545760206040517f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e8152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576020610d5d600435610d0d81610489565b73ffffffffffffffffffffffffffffffffffffffff610d2a610719565b91165f526001835260405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457600435610da181610489565b602435335f525f60205260405f2091825490818311610e3f575f80808573ffffffffffffffffffffffffffffffffffffffff829589610de3846100209a612869565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610e3961288a565b506128b9565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b90816101209103126104545790565b6102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359160243567ffffffffffffffff81116104545782610efa91600401610e9d565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc0160446101c082126104545761014060405192610f3884610805565b12610454576101a090610f496108cb565b610f52826104a7565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610f9c60e083016104a7565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b3461045457610ff436610eac565b90915f918051936110058582613d13565b61100e8161291e565b602083015273ffffffffffffffffffffffffffffffffffffffff60e061105587610100604082015160608301510160808301510160a08301510160c0830151019101510290565b9687604086015201511661107f575b604080515f8082526020820187905291810191909152606090f35b909192505a936110ab83519173ffffffffffffffffffffffffffffffffffffffff60e084015116615590565b1561116b579060806110c292015192839185615769565b9390505a9003116110da57506106b5905f8080611064565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d69740000000000000000000000000000000000000000000000000060848201528060a481015b0390fd5b608484604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610454576004359067ffffffffffffffff8211610454576105d091600401610e9d565b34610454576020610c6d61122c366111d0565b61291e565b346104545761125d61124236610af3565b80929161124d6126b2565b5061125782612700565b506127c9565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a9576106b591611294916127b5565b51604051918291602083526020830190610b40565b612088565b906105d09060e06080611300818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061055f565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c08501520151910190805173ffffffffffffffffffffffffffffffffffffffff1682526020908101518051828401520151604090910152565b346104545761138a61138436610af3565b90612b30565b6040518091602082016020835281518091526040830190602060408260051b8601019301915f905b8282106113c157505050500390f35b919360206113fc827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516112ae565b96019201920185949391926113b2565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457602060043561144981610489565b73ffffffffffffffffffffffffffffffffffffffff611466610719565b91165f526001825261149d8160405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b9181601f840112156104545782359167ffffffffffffffff8311610454576020838186019501011161045457565b9060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8301126104545760043561153181610489565b916024359067ffffffffffffffff821161045457611551916004016114cc565b909160443590565b34610454575f808061156a366114fa565b939181604094929451948592833781018381520393f161158861288a565b901561159057005b805190811561045457602001fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff6004356115ee81610489565b5f60806040516115fd81610805565b8281528260208201528260408201528260608201520152165f525f6020526106b560405f2061168965ffffffffffff60016040519361163b85610805565b80548552015460ff8116151560208501526dffffffffffffffffffffffffffff8160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526dffffffffffffffffffffffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b34610454576106b56116fd6116f8366111d0565b612c1b565b604051918291602083526020830190610b40565b346104545761171f36610eac565b9190915a928151936117318583613d13565b61173a8261291e565b60208401526040850151936117866effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612e0a565b6117b186610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946117f36117ef6117c55a89898988613f3e565b9860206117e6825173ffffffffffffffffffffffffffffffffffffffff1690565b91015190614c75565b1590565b6118b6575a83031161185057509261183492608061182f9360a061183b975a9560408601526060808601525a9003910135019101525a90612869565b612e70565b6064900490565b604080519283525f6020840152820152606090f35b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d697400006064820152608490fd5b611167826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104545773ffffffffffffffffffffffffffffffffffffffff60043561197481610489565b165f525f602052602060405f2054604051908152f35b34610454576106b56106a961199e366104b4565b95949094939193613037565b34610454576106b56106a96119be366104b4565b946119cd9491949392936121a9565b506119d66121c8565b966106a46119e48480612237565b6106786040519a8b927f69683cfa000000000000000000000000000000000000000000000000000000006020850152602484016123c8565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611b18611a767f0000000000000000000000000000000000000000000000000000000000000000615b5c565b611a9f7f0000000000000000000000000000000000000000000000000000000000000000615c79565b6020604051611aae828261087b565b5f815281611b26818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061055f565b90878203604089015261055f565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110611b5a57505050500390f35b835185528695509381019392810192600101611b4b565b346104545760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457611bab600435610489565b60243567ffffffffffffffff8111610454576100209036906004016114cc565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457610020600435611c0481610489565b61356c565b34610454575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261045457335f525f602052600160405f2001805463ffffffff8160781c1615611d1657611c8f611c816102bb83611c75611c70611cd99660ff1690565b6135f3565b60781c63ffffffff1690565b65ffffffffffff4216613658565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a90806020810161044f565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b346104545760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610454576100205f808080600435611db681610489565b73ffffffffffffffffffffffffffffffffffffffff6001611df43373ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b0191611e90835493611e6865ffffffffffff611e54611e3a611e27896dffffffffffffffffffffffffffff9060081c1690565b6dffffffffffffffffffffffffffff1690565b97611e46891515613676565b60981c65ffffffffffff1690565b16611e608115156136db565b421015613740565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611ee461288a565b506137a5565b34610454576106b5611f03611efe366111d0565b613900565b6040519182916020835260208301906112ae565b3461045457611f31611f28366114fa565b92919091613ad6565b906106b56040519283921515835260406020840152604083019061055f565b3461045457611f72611f6136610af3565b809291611f6c612aae565b50612b30565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a9576106b591611fa9916127b5565b516040519182916020835260208301906112ae565b15611fc557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b1561202a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9061138882018092116112a957565b90600182018092116112a957565b919082018092116112a957565b156120e657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b1561214b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b604051906121b682610826565b60606040835f81525f60208201520152565b604051906121d582610805565b5f6080836040516121e581610842565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b9035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee181360301821215610454570190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561045457016020813591019167ffffffffffffffff821161045457813603831361045457565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe093818652868601375f8582860101520116010190565b6105d09161232381612309846104a7565b73ffffffffffffffffffffffffffffffffffffffff169052565b602082013560208201526123b96123ad612374612359612346604087018761226a565b61012060408801526101208701916122ba565b612366606087018761226a565b9086830360608801526122ba565b6080850135608085015260a085013560a085015260c085013560c085015261239f60e086018661226a565b9085830360e08701526122ba565b9261010081019061226a565b916101008185039101526122ba565b9060806123eb6101e0929594955f855261020060208601526102008501906122f8565b94610120815161241460408701825173ffffffffffffffffffffffffffffffffffffffff169052565b60208101516060870152604081015184870152606081015160a08701528381015160c087015260a081015160e087015260c081015161010087015261247560e08201518388019073ffffffffffffffffffffffffffffffffffffffff169052565b6101008101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b6040513d5f823e3d90fd5b6040517f09ccb880000000000000000000000000000000000000000000000000000000008152602081600481305afa908115612531575f916124fc575090565b90506020813d602011612529575b816125176020938361087b565b8101031261045457516105d081610489565b3d915061250a565b6124b1565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146112a95760010190565b9060206105d092818152019061055f565b91909182519060608201519161258d603f5a0260061c90565b61271060a08301518501011161262e5781516125ba575b505050610b3c925a90036080830151019161440d565b916117ef916125e06125e5945173ffffffffffffffffffffffffffffffffffffffff1690565b614366565b6125f1575f80806125a4565b6111676125fc614377565b6040519182917f462c71b200000000000000000000000000000000000000000000000000000000835260048301612563565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611167600482016080905f815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116108215760051b60200190565b60405190610100820182811067ffffffffffffffff82111761082157604052606060e0835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201520152565b9061270a8261269a565b612717604051918261087b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612745829461269a565b01905f5b82811061275557505050565b6020906127606126b2565b82828501015201612749565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b908210156127b0576105d09160051b810190612237565b61276c565b80518210156127b05760209160051b010190565b6127d282612700565b915f5b8181106127e25750505090565b806127f36116f86001938587612799565b6127fd82876127b5565b5261280881866127b5565b50016127d5565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116112a957565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82019182116112a957565b919082039182116112a957565b6040519061288560208361087b565b5f8252565b3d156128b4573d9061289b82610909565b916128a9604051938461087b565b82523d5f602084013e565b606090565b156128c057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b6105d09061292b8161483e565b612933614621565b91612a3a81359261294384610489565b6020830135908015612a7657612a0e90935b61296b6129656060830183612ed0565b90615e45565b90608081013560a08201359061298d61296560c08501359460e0810190612ed0565b93604051988997602089019b8c949192610100969399989794919973ffffffffffffffffffffffffffffffffffffffff61012088019b7f29a0bca4af4be3421398da00295e58e6d7de38cb492214754cb6a47507dd6f8e895216602088015260408701526060860152608085015260a084015260c083015260e08201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261087b565b51902090604291604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b50612a0e612a876040850185612ed0565b90816040519182372093612955565b60405190612aa38261085f565b5f6020838281520152565b60405190612abb82610805565b81604051612ac881610805565b5f81525f60208201525f60408201525f6060820152606060808201528152612aee612a96565b6020820152612afb612a96565b6040820152612b08612a96565b6060820152608060405191612b1c8361085f565b5f8352612b27612a96565b60208401520152565b612b398261269a565b91612b47604051938461087b565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612b748261269a565b015f5b818110612bbc5750505f5b818110612b8f5750505090565b80612ba0611efe6001938587612799565b612baa82876127b5565b52612bb581866127b5565b5001612b82565b602090612bc7612aae565b82828801015201612b77565b908092918237015f815290565b60405190612bef60408361087b565b600282527f30780000000000000000000000000000000000000000000000000000000000006020830152565b612c236126b2565b507f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c612de25760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d6080612c786121c8565b91612c8281614908565b612c8c8382614a6a565b929091905a606087015187612ca46060850185612ed0565b5f60038211612dda575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003612dc1575050612d44612d76612d7b9560208401516040519384927f8dd7712f0000000000000000000000000000000000000000000000000000000060208501526040602485015260648401906122f8565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261087b565b612574565b9490955b015194612d8a6108db565b958652602086015260408501526060840152608083015260a08201525f60c0820152612db4612be0565b60e08201526105d06148e3565b612dd2955090612d76913691610943565b949095612d7f565b508135612cae565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b15612e1157565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152606490fd5b906073820291808304607314901517156112a957565b91908110156127b05760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa181360301821215610454570190565b356105d081610489565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610454570180359067ffffffffffffffff82116104545760200191813603831361045457565b60405190612f3060208361087b565b5f808352366020840137565b90612f4682610909565b612f53604051918261087b565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612f818294610909565b0190602036910137565b939291612fbe9073ffffffffffffffffffffffffffffffffffffffff60409316865260606020870152606086019061055f565b930152565b91906040838203126104545782518015158103610454579260208101519067ffffffffffffffff8211610454570181601f820112156104545780519061300882610909565b92613016604051948561087b565b8284526020838301011161045457815f9260208093018386015e8301015290565b9691959392966130456121a9565b505f5b8281106134bd5750505061305c8580612237565b9261309c61308461307d61307260208a01612ec6565b986040810190612ed0565b3691610943565b9461308d6121c8565b9061309781614908565b614a6a565b50505073ffffffffffffffffffffffffffffffffffffffff8616156134945782156133b857613145926130cd612876565b50915f612a0e61310e5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612f8b565b5a9060405196879283927ff7e426e80000000000000000000000000000000000000000000000000000000084528d60048501612f8b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215612531575f945f93613396575b508294809381156133735750506131af909692919394965b856120d2565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016975b846131f48885612869565b10613348575a613203886120b5565b116133115791869593918a95935f8d8c8c61326861322e6132286132a19f8a906120d2565b60011c90565b9b612a0e8d6040519485937f4440347300000000000000000000000000000000000000000000000000000000602086015260248501612f8b565b835a936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612f8b565b03925af1988915612531575f905f9a6132ea575b50156132d5575050506132c78461280f565b95915b9390929495916131e9565b939650946132e49197506120c4565b946132ca565b90506133099199503d805f833e613301818361087b565b810190612fc3565b98905f6132b5565b7fe2c4d0be000000000000000000000000000000000000000000000000000000005f5260048290526024879052604483905260645ffd5b9750975050925050945061336b915061335f6108eb565b93845215156020840152565b604082015290565b975097505096505050505061336b6133896108eb565b5f81529215156020840152565b9092506133ae9194503d805f833e613301818361087b565b939093915f613191565b906133ff92505a905f612a0e61310e5a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612f8b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315612531575f945f94613472575b50839461345a81945a90612869565b9481156133735750506131af909692919394966131a9565b90935061348a9194503d805f833e613301818361087b565b939093925f61344b565b509450505050506134a3612f21565b6134ab6108eb565b905f82525f6020830152604082015290565b6001906134c86121c8565b6134f36134d6838787612e86565b916134e96134e48480612237565b614908565b6130978380612237565b5050506020810161351f61350682612ec6565b73ffffffffffffffffffffffffffffffffffffffff1690565b15613565575f918261353f6135348294612ec6565b926040810190612ed0565b919061355060405180948193612bd3565b03925af15061355d61288a565b505b01613048565b505061355f565b60015b600581106135eb57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff6135df348573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b936040519485521692a2565b60010161356f565b156135fa57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff82116112a957565b1561367d57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b156136e257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b1561374757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b156137ac57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b906014116104545790601490565b909291928360141161045457831161045457601401917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec0190565b919091357fffffffffffffffffffffffffffffffffffffffff00000000000000000000000081169260148110613887575050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000929350829060140360031b1b161690565b604051906138c68261085f565b60045473ffffffffffffffffffffffffffffffffffffffff1682526040516020836138f08361085f565b6005548352600654828401520152565b613908612aae565b506139116121c8565b9061391b81614908565b6139258282614a6a565b509190926139338385614ce1565b61395d61395860e08351015173ffffffffffffffffffffffffffffffffffffffff1690565b614f09565b91613998613984613958845173ffffffffffffffffffffffffffffffffffffffff90511690565b9161398d612a96565b506040810190612ed0565b9060148210613a8d576139ba6139b46139c0936139589361380a565b90613853565b60601c90565b9173ffffffffffffffffffffffffffffffffffffffff86169460808201519660606040840151930151926139f26108bc565b9889526020890152604088015260608701526080860152613a116138b9565b9380151580613a82575b613a43575b50613a296108bc565b948552602085015260408401526060830152608082015290565b909350613a4f81614f09565b613a76613a5a6108fa565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b6020820152925f613a20565b506001811415613a1b565b50506139c05f614f09565b60409073ffffffffffffffffffffffffffffffffffffffff6105d0959316815281602082015201916122ba565b9081518110156127b0570160200190565b91925f9373ffffffffffffffffffffffffffffffffffffffff6060941691823b1561045457613b6e935f80946040518097819682957f850aaf6200000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048501613a98565b0393f19081613c26575b50610b3c575050613b8761288a565b906004825110613c1857613ba3613b9e835161283c565b612f3c565b60045b8351811015613c025780613be5613bbf60019387613ac5565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613bfb613bf18361283c565b915f1a9185613ac5565b5301613ba6565b50610b3c91925060208082518301019101612fc3565b9050613c22612f21565b5f91565b80613c345f613c3a9361087b565b806106b9565b5f613b78565b6104b23361356c565b15613c5057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b15613cb557565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4141393820696e76616c6964207061796d6173746572000000000000000000006044820152fd5b613db790613d3d613d2382612ec6565b73ffffffffffffffffffffffffffffffffffffffff168452565b60208101356020840152613d6a6080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c0840152613da160c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e0810190612ed0565b80929192613dc457505050565b613de0816104b294613ddb603460e0951015613c49565b614f5d565b60a0850152608084015291613e0c73ffffffffffffffffffffffffffffffffffffffff84161515613cae565b019073ffffffffffffffffffffffffffffffffffffffff169052565b9291613e799082519273ffffffffffffffffffffffffffffffffffffffff60e08186511695613e65613e5d60408b018b612ed0565b90865f614fbb565b015116905f91159687613efe575b5f615458565b92613e815750565b5f613e8b91615590565b15613e9257565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601760408201527f41413231206469646e2774207061792070726566756e6400000000000000000060608201520190565b9150613f278573ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548015613f3757505f5b91613e73565b5f03613f31565b92909493613f919083519373ffffffffffffffffffffffffffffffffffffffff60e08187511696613f7d613f7560408d018d612ed0565b90868c614fbb565b015116905f91159889614012575b87615458565b94613f9b57505050565b613fa491615590565b15613fac5750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b915061403b8673ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548581111561404d57505f5b91613f8b565b8503614047565b916140756134e49261407b949a96979895999a61406f6121a9565b506155c2565b80612237565b8215614292576140c69261408d612876565b50915f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612f8b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215612531575f945f93614270575b5082948093811561425b57505061412f90959291939495856120d2565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016965b846141748885612869565b10614245575a614183886120b5565b116133115791869593915f9593868b8b8e6141a4613228886141dd9f6120d2565b9a8b936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612f8b565b03925af1988915612531575f905f9a614226575b5015614211575050506142038461280f565b95915b939092949591614169565b939650946142209197506120c4565b94614206565b905061423d9199503d805f833e613301818361087b565b98905f6141f1565b96509650509195505061336b915061335f6108eb565b9650965050955050505061336b6133896108eb565b9092506142889194503d805f833e613301818361087b565b939093915f614112565b906142d192505a905f5a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612f8b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1928315612531575f945f94614344575b50839461432c81945a90612869565b94811561425b57505061412f909592919394956131a9565b90935061435c9194503d805f833e613301818361087b565b939093925f61431d565b905f9283809360208451940192f190565b3d610800811161439b575b604051906020818301016040528082525f602083013e90565b50610800614382565b600311156143ae57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b909493929460038110156143ae5760609261440391835260806020840152608083019061055f565b9460408201520152565b929091925f925a948251916144218361565e565b9261444360e082015173ffffffffffffffffffffffffffffffffffffffff1690565b926144596080870151820360608401519061567e565b01925f9273ffffffffffffffffffffffffffffffffffffffff8216918261452e5750505061449b905173ffffffffffffffffffffffffffffffffffffffff1690565b965b5a90030101908102946040830151908682105f146144e6576144be5f6143a4565b7fdeadaa51000000000000000000000000000000000000000000000000000000005f5260205ffd5b6104b29361451f600192898095039073ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081540180915590565b506145295f6143a4565b61569d565b999290918251614541575b50505061449d565b9198509192505a976145525f6143a4565b60a05a930191825191813b15610454578792835f80948a6145a5604051988997889687947f7c627b21000000000000000000000000000000000000000000000000000000008652029086600486016143db565b0393f1908161460d575b506145f1576111676145bf614377565b6040519182917fad7954bc00000000000000000000000000000000000000000000000000000000835260048301612563565b614604915a9003975a900390519061567e565b905f8080614539565b80613c345f61461b9361087b565b5f6145af565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480614721575b15614689577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261471b60c08261087b565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614614660565b9290925a93835161477a73ffffffffffffffffffffffffffffffffffffffff60e083015116604087015190615590565b1561479f5790608061479192015194859184615769565b9390945a9003116110da5750565b608483604051907f220266b6000000000000000000000000000000000000000000000000000000008252600482015260406024820152601e60448201527f41413331207061796d6173746572206465706f73697420746f6f206c6f7700006064820152fd5b909280927fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149560601b1683528483013701015f815290565b61484b6040820182612ed0565b909161485a6117ef83856158de565b6148dc5761486a61486f91612ec6565b615933565b91601482116148b857505060405161471b81612a0e6020820194857fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060149260601b1681520190565b8161471b926148c692613818565b9190612a0e604051938492602084019687614804565b5050505f90565b5f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d565b61493b906149196040820182612ed0565b9161493381359161492983610489565b60e0810190612ed0565b939092615a7e565b80516149445750565b611167906040519182917f220266b60000000000000000000000000000000000000000000000000000000083525f600484015260406024840152604483019061055f565b156149905750565b604051907f220266b60000000000000000000000000000000000000000000000000000000082526004820152604060248201528061116760448201604090601881527f41413934206761732076616c756573206f766572666c6f77000000000000000060208201520190565b15614a045750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601a60448201527f4141323520696e76616c6964206163636f756e74206e6f6e63650000000000006064820152608490fd5b9190915f915a93805192614a7e8482613d13565b614a97604051614a8d8361291e565b6020850152604052565b604084015195614adf5f6effffffffffffffffffffffffffffff8960c08901511760608901511760808901511760a08901511761010089015117610120890151171115614988565b614b2a614b0d86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b806040860152614b21608085013560801c90565b9085855f613f3e565b96614b605f614b5b614b50895173ffffffffffffffffffffffffffffffffffffffff1690565b60208a015190614c75565b6149fc565b5a820311614c095760609473ffffffffffffffffffffffffffffffffffffffff614ba260e05a93015173ffffffffffffffffffffffffffffffffffffffff1690565b16614bd1575b60809291614bbf61183461182f60a0945a90612869565b9660608601525a900391013501910152565b945061182f95509060a0608092614be783615b3d565b50614bbf611834614bf987865f61474a565b9a90999450505050919250614ba8565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b73ffffffffffffffffffffffffffffffffffffffff165f52600160205267ffffffffffffffff614ccd8260401c60405f209077ffffffffffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b91825492614cda84612536565b9055161490565b614cff73ffffffffffffffffffffffffffffffffffffffff91615d31565b9116614e9d57614e3157614d2773ffffffffffffffffffffffffffffffffffffffff91615d31565b9116614dc557614d3357565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f6004830160a091815260406020820152602160408201527f41413332207061796d61737465722065787069726564206f72206e6f7420647560608201527f650000000000000000000000000000000000000000000000000000000000000060808201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b6040517f220266b6000000000000000000000000000000000000000000000000000000008152806111675f60048301608091815260406020820152601460408201527f41413234207369676e6174757265206572726f7200000000000000000000000060608201520190565b9073ffffffffffffffffffffffffffffffffffffffff614f27612a96565b92165f525f60205263ffffffff600160405f2001546dffffffffffffffffffffffffffff8160081c16845260781c166020830152565b9091826014116104545781359183602411610454576014810135936034116104545760609290921c92608090811c9260240135901c90565b9081602091031261045457516105d081610489565b9160206105d09381815201916122ba565b92909181614fca575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff1693614fee83836158de565b61534f57843b6152e95760148310615283575f602061500e6135066124bc565b604087510151604051809481937f570e1a360000000000000000000000000000000000000000000000000000000083528261504d8b8b60048401614faa565b0393f1908115612531575f91615254575b5073ffffffffffffffffffffffffffffffffffffffff81169586156151e65773ffffffffffffffffffffffffffffffffffffffff16809603615178573b1561511257506139ba6139b47fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936150d29361380a565b602083810151935160e001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a35f808080614fc4565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b611167826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b611167836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b615276915060203d60201161527c575b61526e818361087b565b810190614f95565b5f61505e565b503d615264565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f4141393920696e6974436f646520746f6f20736d616c6c0000000000000000006064820152608490fd5b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b50906014811161535f5750505050565b8061537b9160406153716135066124bc565b9551015193613818565b9190833b15610454575f80946153c196604051978896879586937fc09ad0d900000000000000000000000000000000000000000000000000000000855260048501613a98565b0393f18015612531576153d7575b808080614fc4565b80613c345f6153e59361087b565b5f6153cf565b615403604092959493956060835260608301906122f8565b9460208201520152565b60a0906105d09392815260606020820152600d60608201527f41413233207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b92916020959486926154c15f93610678615488825173ffffffffffffffffffffffffffffffffffffffff90511690565b976040519b8c930151888401957f19822f7c000000000000000000000000000000000000000000000000000000008752602485016153eb565b8285895193f15f519460203d03615588575b604052156154df575050565b3b61554a57604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601960448201527f41413230206163636f756e74206e6f74206465706c6f796564000000000000006064820152608490fd5b615552614377565b906111676040519283927f65c8fd4d0000000000000000000000000000000000000000000000000000000084526004840161540d565b5f91506154d3565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f209081548181106148dc57039055600190565b5f5b8281106155d057505050565b6001906155db6121c8565b6155e96134d6838787612e86565b5050506020810135906155fb82610489565b73ffffffffffffffffffffffffffffffffffffffff821615615657575f9182615632819361562884610489565b6040810190612ed0565b9190826040519384928337810182815203925af15061564f61288a565b505b016155c4565b5050615651565b61012061010082015191015148018082105f14615679575090565b905090565b90619c40820181111561569757606491600a9103020490565b50505f90565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60a0906105d09392815260606020820152600d60608201527f41413333207265766572746564000000000000000000000000000000000000006080820152816040820152019061055f565b925f809195939295604051968261580960e06020880151976157ed8c6157c06040840151602083019c8d997f52b7512c000000000000000000000000000000000000000000000000000000008b52602485016153eb565b038d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0820190528d61087b565b51015173ffffffffffffffffffffffffffffffffffffffff1690565b895193f1933d91825f833e519381516040830196875190159182156158d2575b5081156158a2575b506158645750601f9091017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601604052565b61586c614377565b906111676040519283927f65c8fd4d0000000000000000000000000000000000000000000000000000000084526004840161571e565b9050601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa085019101105f615831565b6040141591505f615829565b9060021161592e57357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000167f77020000000000000000000000000000000000000000000000000000000000001490565b505f90565b60175f80833c5f51907fef010000000000000000000000000000000000000000000000000000000000007fffffff00000000000000000000000000000000000000000000000000000000008316036159bb57506139ba6159966105d09260181b90565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000001690565b3b15615a20576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6e6f7420616e204549502d373730322064656c656761746500000000000000006044820152606490fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f73656e64657220686173206e6f20636f646500000000000000000000000000006044820152fd5b50929192159081615b33575b50615af6576014811015615aa3575b50506105d0612876565b601411610454573560601c3b15615abb575f80615a99565b604051615ac960408261087b565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b5050604051615b0660408261087b565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b155f615a8a565b615b4b9060e0810190612ed0565b602411610454576014013560801c90565b60ff8114615b6d576105d090615e50565b506040515f6002548060011c91600182168015615c6f575b602084108114615c425783855284926020840191908115615c0b5750600114615bb6575b506105d09250038261087b565b60025f90815291507f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b848310615bf457506105d09350015f615ba9565b805482840152859350602090920191600101615be0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168252506105d093151560051b0190505f615ba9565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b92607f1692615b85565b60ff8114615c8a576105d090615e50565b506040515f6003548060011c91600182168015615d27575b602084108114615c425783855284926020840191908115615c0b5750600114615cd257506105d09250038261087b565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b848310615d1057506105d09350015f615ba9565b805482840152859350602090920191600101615cfc565b92607f1692615ca2565b8015615e3e575f60408051615d4581610826565b828152826020820152015265ffffffffffff8160a01c168015615e31575b615e1290615dec615d7a615d85615d7a8660d01c90565b65ffffffffffff1690565b92615dc473ffffffffffffffffffffffffffffffffffffffff615da66108eb565b9716879073ffffffffffffffffffffffffffffffffffffffff169052565b615dda6020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b4211908115615e15575b50915173ffffffffffffffffffffffffffffffffffffffff1690565b91565b51615e28915065ffffffffffff16615d7a565b4211155f615df6565b5065ffffffffffff615d63565b505f905f90565b816040519182372090565b60ff811690601f8211615e7f5760405191615e6c60408461087b565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffdfea2646970667358221220efa1a3d634552b128bb1a94e58118519660fd297841d1a911cb9e471a9ada99a64736f6c634300081c0033";
|
|
39
|
+
// https://github.com/pimlicolabs/contracts/blob/f38aa0532ca1c94400bce15076f0bef8558493a4/src/v07/PimlicoEntryPointSimulationsV7.sol
|
|
40
|
+
exports.pimlicoEntrypointSimulationsV7DeployBytecode = "0x60808060405234608257615a0f8181016001600160401b03811183821017606c578291610535833903906000f08015606057600080546001600160a01b0319166001600160a01b03929092169190911790556040516104ad90816100888239f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c63c18f52261461002757600080fd5b346103485760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126103485760043573ffffffffffffffffffffffffffffffffffffffff81168091036103485760243567ffffffffffffffff811161034857366023820112156103485780600401356100a2816103bd565b916100b0604051938461037c565b8183526024602084019260051b820101903682116103485760248101925b8284106102b257845185877fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061011c610106856103bd565b94610114604051968761037c565b8086526103bd565b0160005b8181106102a157505060005b825181101561021d5760019060606000806101aa73ffffffffffffffffffffffffffffffffffffffff8254166101d6610165878b610434565b5160405193849160208301947f850aaf6200000000000000000000000000000000000000000000000000000000865260248401526040604484015260648301906103d5565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810184528361037c565b82885a935193f1156101ff575b6101ed8287610434565b526101f88186610434565b500161012c565b503d604051906020818301016040528082526000602083013e6101e3565b836040518091602082016020835281518091526040830190602060408260051b8601019301916000905b82821061025657505050500390f35b91936020610291827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0600195979984950301865288516103d5565b9601920192018594939192610247565b806060602080938801015201610120565b833567ffffffffffffffff8111610348578201366043820112156103485760248101359167ffffffffffffffff831161034d5760405161031a60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116018261037c565b83815236604484860101116103485760006020858196604483970183860137830101528152019301926100ce565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761034d57604052565b67ffffffffffffffff811161034d5760051b60200190565b919082519283825260005b84811061041f5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b806020809284010151828286010152016103e0565b80518210156104485760209160051b010190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212206d2ff9b3181e26ce3c546e8761b12f507c558c4ae72efc7db3ede58913209fe664736f6c634300081c003360c080604052346100eb57600160025561021f8181016001600160401b038111838210176100d55782916157f0833903906000f080156100c9576080523060a0526100486100f0565b600081526020810190600082528060206100606100f0565b600081520152600380546001600160a01b031916905551600455516005556040516156e09081610110823960805181614fbc015260a0518181816130260152818161308f0152818161334b01528181613c7d015281816143c80152818161443001526145d30152f35b6040513d6000823e3d90fd5b634e487b7160e01b600052604160045260246000fd5b600080fd5b60408051919082016001600160401b038111838210176100d55760405256fe60806040526004361015610023575b361561001957600080fd5b610021613d7b565b005b60003560e01c80630396cb60146101d357806303d1dcaf146101ce5780630bd28e3b146101c95780630da82661146101c45780630dbfc6bd146101bf5780631b2e01b8146101ba578063205c2878146101b557806321e60b37146101b057806322cdde4c146101ab578063263934db146101a657806330ec25d1146101a157806335567e1a1461019c57806344403473146101975780635287ce12146101925780635895273b1461018d57806369683cfa1461018857806370a08231146101835780637472949c1461017e57806376ad6123146101795780637f75516614610174578063b760faf91461016f578063bb9fe6bf1461016a578063c23a5cea14610165578063c3bce00914610160578063f7e426e81461015b578063fc7e286d146101565763fe2171cb0361000e57611ee9565b611e29565b611df0565b611dc3565b611c49565b611ada565b611a91565b6117fe565b61178c565b61176c565b611703565b6114ea565b6114bd565b611373565b61132d565b6111ea565b611150565b61100e565b610fee565b610efb565b610c77565b610bda565b610b40565b610938565b6106dd565b6105d0565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d5760043563ffffffff81169081810361042d576104287fa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c019161040a6102cd6102b66102673373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b96610273811515611f57565b6102a06001890154916102996102908463ffffffff9060781c1690565b63ffffffff1690565b1115611fbc565b60081c6dffffffffffffffffffffffffffff1690565b6dffffffffffffffffffffffffffff34911661206d565b946102d986151561207a565b6102f36dffffffffffffffffffffffffffff8711156120df565b546102fc61085f565b908152600160208201526dffffffffffffffffffffffffffff8616604082015263ffffffff83166060820152600060808201526103593373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b81518155602082015160019091018054604084015160608501516080909501517fffffffffffffff0000000000000000000000000000000000000000000000000090921660ff941515949094169390931760089390931b6effffffffffffffffffffffffffff00169290921760789390931b72ffffffff000000000000000000000000000000169290921760989190911b78ffffffffffff0000000000000000000000000000000000000016179055565b6040805194855263ffffffff90911660208501523393918291820190565b0390a2005b600080fd5b9181601f8401121561042d5782359167ffffffffffffffff831161042d576020808501948460051b01011161042d57565b73ffffffffffffffffffffffffffffffffffffffff81160361042d57565b359061048c82610463565b565b60c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261042d5760043567ffffffffffffffff811161042d57816104d791600401610432565b929092916024359067ffffffffffffffff821161042d577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc8260609203011261042d576004019060443561052a81610463565b90606435906084359060a43590565b60005b83811061054c5750506000910152565b818101518382015260200161053c565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f60209361059881518092818752878088019101610539565b0116010190565b608060406105cd9360208452805160208501526020810151151582850152015191606080820152019061055c565b90565b3461042d576106b26106a66105e43661048e565b946105f3949194939293612144565b506106266105ff612165565b61061461060c85806121d5565b825190613de9565b61061e84806121d5565b905a91613f69565b5061062f612165565b966106a161063d84806121d5565b6106756040519a8b927f21e60b3700000000000000000000000000000000000000000000000000000000602085015260248401612367565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018a528961081e565b614337565b6040519182918261059f565b0390f35b6024359077ffffffffffffffffffffffffffffffffffffffffffffffff8216820361042d57565b3461042d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d5760043577ffffffffffffffffffffffffffffffffffffffffffffffff8116810361042d5761076b9033600052600160205260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b6107758154612451565b9055005b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60a0810190811067ffffffffffffffff8211176107c457604052565b610779565b6060810190811067ffffffffffffffff8211176107c457604052565b610140810190811067ffffffffffffffff8211176107c457604052565b6040810190811067ffffffffffffffff8211176107c457604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176107c457604052565b6040519061048c60a08361081e565b6040519061048c6101408361081e565b6040519061048c6101008361081e565b6040519061048c60608361081e565b6040519061048c60408361081e565b67ffffffffffffffff81116107c457601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9291926108f2826108ac565b91610900604051938461081e565b82948184528183011161042d578281602093846000960137010152565b9080601f8301121561042d578160206105cd933591016108e6565b3461042d576102207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d5760043567ffffffffffffffff811161042d5761098890369060040161091d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc3601906101c0821261042d57610140604051926109c5846107a8565b1261042d576109d261086e565b6109dc6024610481565b815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c0820152610a19610104610481565b60e0820152610124356101008201526101443561012082015282526101643560208301526101843560408301526101a43560608301526101c43560808301526101e4359067ffffffffffffffff821161042d57604092610a80610a8b93369060040161091d565b90610204359261248f565b82519182526020820152f35b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261042d576004359067ffffffffffffffff821161042d57610ae091600401610432565b9091565b9061010060e06105cd93805184526020810151602085015260408101516040850152606081015160608501526080810151608085015260a081015160a085015260c0810151151560c08501520151918160e0820152019061055c565b3461042d57610b57610b5136610a97565b906126ef565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b828210610b8f57505050500390f35b91936020610bca827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc060019597998495030186528851610ae4565b9601920192018594939192610b80565b3461042d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d576020610c6e600435610c1a81610463565b73ffffffffffffffffffffffffffffffffffffffff610c376106b6565b91166000526001835260406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b54604051908152f35b3461042d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d57600435610cb281610463565b602435336000526000602052604060002091825490818311610d5457600080808573ffffffffffffffffffffffffffffffffffffffff829589610cf8846100219a612790565b90556040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb91a2165af1610d4e6127b2565b506127e2565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f576974686472617720616d6f756e7420746f6f206c61726765000000000000006044820152fd5b908161012091031261042d5790565b6102007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261042d576004359160243567ffffffffffffffff811161042d5782610e0f91600401610db2565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc0160446101c0821261042d5761014060405192610e4d846107a8565b1261042d576101a090610e5e61086e565b610e6782610481565b81526020820135602082015260408201356040820152606082013560608201526080820135608082015260a082013560a082015260c082013560c0820152610eb160e08301610481565b60e082015261010082013561010082015261012082013561012082015283526101408101356020840152610160810135604084015261018081013560608401520135608082015290565b3461042d576060610f0b36610dc1565b9190600092805191610f1d8382613de9565b610f2681612847565b602083015273ffffffffffffffffffffffffffffffffffffffff60e0610f6d85610100604082015160608301510160808301510160a08301510160c0830151019101510290565b94015116610f8e575b85856040519060008252602082015260006040820152f35b610f9a94505a936149bc565b905038808080610f76565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261042d576004359067ffffffffffffffff821161042d576105cd91600401610db2565b3461042d57602061100661100136610fa5565b612847565b604051908152f35b3461042d5761103a61101f36610a97565b80929161102a6125ce565b5061103482612623565b506126ef565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211611086576106b291611071916126db565b51604051918291602083526020830190610ae4565b612021565b906105cd9060e060806110dd818651610140865280516101408701526020810151610160870152604081015161018087015260608101516101a0870152015160a06101c08601526101e085019061055c565b60208087015180518683015201516040850152946040810151805160608601526020015160808501526060810151805160a08601526020015160c08501520151910190805173ffffffffffffffffffffffffffffffffffffffff1682526020908101518051828401520151604090910152565b3461042d5761116761116136610a97565b90612a10565b6040518091602082016020835281518091526040830190602060408260051b8601019301916000905b82821061119f57505050500390f35b919360206111da827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc06001959799849503018652885161108b565b9601920192018594939192611190565b3461042d5760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d57602060043561122781610463565b73ffffffffffffffffffffffffffffffffffffffff6112446106b6565b91166000526001825261127f8160406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006040519260401b16178152f35b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc82011261042d576004356112e481610463565b9160243567ffffffffffffffff811161042d578260238201121561042d5780600401359267ffffffffffffffff841161042d576024848301011161042d57602401919060443590565b3461042d576000808061133f366112ae565b939181604094929451948592833781018381520393f161135d6127b2565b901561136557005b805190811561042d57602001fd5b3461042d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d5773ffffffffffffffffffffffffffffffffffffffff6004356113c381610463565b600060806040516113d3816107a8565b82815282602082015282604082015282606082015201521660005260006020526106b2604060002061146265ffffffffffff600160405193611414856107a8565b80548552015460ff8116151560208501526dffffffffffffffffffffffffffff8160081c16604085015263ffffffff8160781c16606085015260981c16608083019065ffffffffffff169052565b60405191829182919091608065ffffffffffff8160a0840195805185526020810151151560208601526dffffffffffffffffffffffffffff604082015116604086015263ffffffff6060820151166060860152015116910152565b3461042d576106b26114d66114d136610fa5565b612afe565b604051918291602083526020830190610ae4565b3461042d576114f836610dc1565b9190915a9281519361150a8583613de9565b61151382612847565b602084015260408501519361155f6effffffffffffffffffffffffffffff8660c08901511760608901511760808901511760a08901511761010089015117610120890151171115612cba565b61158a86610100604082015160608301510160808301510160a08301510160c0830151019101510290565b946115cc6115c861159e5a89898988614145565b9860206115bf825173ffffffffffffffffffffffffffffffffffffffff1690565b91015190614c80565b1590565b611695575a83031161162a57509261160d9260806116089360a0611614975a9560408601526060808601525a9003910135019101525a90612790565b612d1f565b6064900490565b6040805192835260006020840152820152606090f35b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601e60448201527f41413236206f76657220766572696669636174696f6e4761734c696d69740000606482015280608481015b0390fd5b611691826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b3461042d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d5773ffffffffffffffffffffffffffffffffffffffff60043561175381610463565b1660005260006020526020604060002054604051908152f35b3461042d576106b26106a66117803661048e565b95949094939193612ef8565b3461042d576106b26106a66117a03661048e565b946117af949194939293612144565b506117b8612165565b966106a16117c684806121d5565b6106756040519a8b927f69683cfa00000000000000000000000000000000000000000000000000000000602085015260248401612367565b3461042d5761180c36610dc1565b91906000925a918151926118208483613de9565b61182982612847565b60208401526040840151946118756effffffffffffffffffffffffffffff8760c08801511760608801511760808801511760a08801511761010088015117610120880151171115612cba565b6118a085610100604082015160608301510160808301510160a08301510160c0830151019101510290565b6118ad8782878786614145565b966118dd6115c86118d2895173ffffffffffffffffffffffffffffffffffffffff1690565b60208a015190614c80565b611a23575a8403116119b55760609173ffffffffffffffffffffffffffffffffffffffff61192360e05a99015173ffffffffffffffffffffffffffffffffffffffff1690565b16611978575b5093608061160d9460a0611608956106b2999561195b99604087015260608601525a9003910135019101525a90612790565b604051938493846040919493926060820195825260208201520152565b8198506106b29692508460a0611608956119a36080948a968761160d9b8861195b9e510151936149bc565b9c90969a509498509550509450611929565b611691826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b611691836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b60207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d57610021600435611aca81610463565b613701565b600091031261042d57565b3461042d5760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d573360005260006020526001604060002001805463ffffffff8160781c1615611beb57611b64611b5661029083611b4a611b45611bae9660ff1690565b613763565b60781c63ffffffff1690565b65ffffffffffff42166137c8565b82547fffffffffffffff000000000000ffffffffffffffffffffffffffffffffffff001678ffffffffffff00000000000000000000000000000000000000609883901b1617909255565b60405165ffffffffffff909116815233907ffa9b3c14cc825c412c9ed81b3ba365a5b459439403f18829e572ed53a4180f0a908060208101610428565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600a60248201527f6e6f74207374616b6564000000000000000000000000000000000000000000006044820152fd5b3461042d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d576100216000808080600435611c8c81610463565b73ffffffffffffffffffffffffffffffffffffffff6001611ccd3373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b0191611d69835493611d4165ffffffffffff611d2d611d13611d00896dffffffffffffffffffffffffffff9060081c1690565b6dffffffffffffffffffffffffffff1690565b97611d1f8915156137e6565b60981c65ffffffffffff1690565b16611d3981151561384b565b4210156138b0565b80547fffffffffffffff000000000000000000000000000000000000000000000000ff169055565b6040805173ffffffffffffffffffffffffffffffffffffffff831681526020810185905233917fb7c918e0e249f999e965cafeb6c664271b3f4317d296461500e71da39f0cbda391a2165af1611dbd6127b2565b50613915565b3461042d576106b2611ddc611dd736610fa5565b613a35565b60405191829160208352602083019061108b565b3461042d57611e0a611e01366112ae565b92919091613c0c565b906106b26040519283921515835260406020840152604083019061055c565b3461042d5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261042d5773ffffffffffffffffffffffffffffffffffffffff600435611e7981610463565b16600052600060205265ffffffffffff604060002060018154910154908260405193849360a0850193855260ff8116151560208601526dffffffffffffffffffffffffffff808260081c1616604086015263ffffffff808260781c1616606086015260981c161660808301520390f35b3461042d57611f0b611efa36610a97565b809291611f05612989565b50612a10565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201918211611086576106b291611f42916126db565b5160405191829160208352602083019061108b565b15611f5e57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f6d757374207370656369667920756e7374616b652064656c61790000000000006044820152fd5b15611fc357565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f63616e6e6f7420646563726561736520756e7374616b652074696d65000000006044820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b90611388820180921161108657565b906001820180921161108657565b9190820180921161108657565b1561208157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6e6f207374616b652073706563696669656400000000000000000000000000006044820152fd5b156120e657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f7374616b65206f766572666c6f770000000000000000000000000000000000006044820152fd5b60405190612151826107c9565b606060408360008152600060208201520152565b60405190612172826107a8565b6000608083604051612183816107e5565b83815283602082015283604082015283606082015283838201528360a08201528360c08201528360e0820152836101008201528361012082015281528260208201528260408201528260608201520152565b9035907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffee18136030182121561042d570190565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561042d57016020813591019167ffffffffffffffff821161042d57813603831361042d57565b601f82602094937fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0938186528686013760008582860101520116010190565b6105cd916122c2816122a884610481565b73ffffffffffffffffffffffffffffffffffffffff169052565b6020820135602082015261235861234c6123136122f86122e56040870187612208565b6101206040880152610120870191612258565b6123056060870187612208565b908683036060880152612258565b6080850135608085015260a085013560a085015260c085013560c085015261233e60e0860186612208565b9085830360e0870152612258565b92610100810190612208565b91610100818503910152612258565b90608061238b6101e092959495600085526102006020860152610200850190612297565b9461012081516123b460408701825173ffffffffffffffffffffffffffffffffffffffff169052565b60208101516060870152604081015184870152606081015160a08701528381015160c087015260a081015160e087015260c081015161010087015261241560e08201518388019073ffffffffffffffffffffffffffffffffffffffff169052565b6101008101516101408701520151610160850152602081015161018085015260408101516101a085015260608101516101c08501520151910152565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110865760010190565b9060206105cd92818152019061055c565b9190918251906060820151916124a8603f5a0260061c90565b61271060a0830151850101116125495781516124d5575b505050610ae0925a900360808301510191614747565b916115c8916124fb612500945173ffffffffffffffffffffffffffffffffffffffff1690565b614650565b61250c573880806124bf565b611691612517614662565b6040519182917f462c71b20000000000000000000000000000000000000000000000000000000083526004830161247e565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611691600482016080906000815260406020820152600f60408201527f41413935206f7574206f6620676173000000000000000000000000000000000060608201520190565b67ffffffffffffffff81116107c45760051b60200190565b60405190610100820182811067ffffffffffffffff8211176107c457604052606060e08360008152600060208201526000604082015260008382015260006080820152600060a0820152600060c08201520152565b9061262d826125b6565b61263a604051918261081e565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061266882946125b6565b019060005b82811061267957505050565b6020906126846125ce565b8282850101520161266d565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b908210156126d6576105cd9160051b8101906121d5565b612690565b80518210156126d65760209160051b010190565b6126f882612623565b9160005b8181106127095750505090565b8061271a6114d160019385876126bf565b61272482876126db565b5261272f81866126db565b50016126fc565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161108657565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820191821161108657565b9190820391821161108657565b604051906127ac60208361081e565b60008252565b3d156127dd573d906127c3826108ac565b916127d1604051938461081e565b82523d6000602084013e565b606090565b156127e957565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6661696c656420746f20776974686472617700000000000000000000000000006044820152fd5b602081013561294161285c6040840184612d7f565b908160405191823720916129156128766060860186612d7f565b90816040519182372060c086013560a087013560808801356128a461289e60e08b018b612d7f565b9061569f565b9360405198899773ffffffffffffffffffffffffffffffffffffffff60208a019c35168c94919260e0969399989794919973ffffffffffffffffffffffffffffffffffffffff61010088019b168752602087015260408601526060850152608084015260a083015260c08201520152565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261081e565b5190206040805160208101928352309181019190915246606082015261296a8160808101612915565b51902090565b6040519061297d82610802565b60006020838281520152565b60405190612996826107a8565b816040516129a3816107a8565b600081526000602082015260006040820152600060608201526060608082015281526129cd612970565b60208201526129da612970565b60408201526129e7612970565b60608201526080604051916129fb83610802565b60008352612a07612970565b60208401520152565b612a19826125b6565b91612a27604051938461081e565b8083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612a54826125b6565b0160005b818110612a9e57505060005b818110612a715750505090565b80612a82611dd760019385876126bf565b612a8c82876126db565b52612a9781866126db565b5001612a64565b602090612aa9612989565b82828801015201612a58565b908092918237016000815290565b60405190612ad260408361081e565b600282527f30780000000000000000000000000000000000000000000000000000000000006020830152565b612b066125ce565b506002805414612c9057600280556080612b1e612165565b91612b2881614bff565b612b3283826134a3565b9260009291925a9087606081015191612b4e6060860186612d7f565b909160038211612c88575b7fffffffff00000000000000000000000000000000000000000000000000000000167f8dd7712f0000000000000000000000000000000000000000000000000000000003612c6f575050612bef612c21612c269560208401516040519384927f8dd7712f000000000000000000000000000000000000000000000000000000006020850152604060248501526064840190612297565b906044830152037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261081e565b61248f565b9490955b015194612c3561087e565b958652602086015260408501526060840152608083015260a0820152600060c0820152612c60612ac3565b60e08201526105cd6001600255565b612c80955090612c219136916108e6565b949095612c2a565b508135612b59565b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b15612cc157565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f41413934206761732076616c756573206f766572666c6f7700000000000000006044820152fd5b9060738202918083046073149015171561108657565b91908110156126d65760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18136030182121561042d570190565b356105cd81610463565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18136030182121561042d570180359067ffffffffffffffff821161042d5760200191813603831361042d57565b60405190612ddf60208361081e565b6000808352366020840137565b90612df6826108ac565b612e03604051918261081e565b8281527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0612e3182946108ac565b0190602036910137565b939291612e6e9073ffffffffffffffffffffffffffffffffffffffff60409316865260606020870152606086019061055c565b930152565b81601f8201121561042d578051612e89816108ac565b92612e97604051948561081e565b8184526020828401011161042d576105cd9160208085019101610539565b91909160408184031261042d578051801515810361042d5792602082015167ffffffffffffffff811161042d576105cd9201612e73565b6040513d6000823e3d90fd5b969195939296612f06612144565b5060005b8281106133f357505050612f1e85806121d5565b92612f5e612f46612f3f612f3460208a01612d75565b986040810190612d7f565b36916108e6565b94612f4f612165565b90612f5981614bff565b6134a3565b50505073ffffffffffffffffffffffffffffffffffffffff8616156133c85760009280156132885761300c9350612f9361279d565b50916000612915612fd55a6040519283917f444034730000000000000000000000000000000000000000000000000000000060208401528a8d60248501612e3b565b5a9060405196879283927ff7e426e80000000000000000000000000000000000000000000000000000000084528d60048501612e3b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19182156131da576000948593613267575b50829480938115613243575050613077909692919394965b8561206d565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016975b846130bc8885612790565b10613218575a6130cb88612050565b116131df5791869593918a959360008d8c8c6131316130f76130f161316a9f8a9061206d565b60011c90565b9b6129158d6040519485937f4440347300000000000000000000000000000000000000000000000000000000602086015260248501612e3b565b835a936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612e3b565b03925af19889156131da57600090819a6131b4575b501561319f5750505061319184612736565b95915b9390929495916130b1565b939650946131ae91975061205f565b94613194565b906131d2929a503d8091833e6131ca818361081e565b810190612eb5565b98903861317f565b612eec565b7fe2c4d0be0000000000000000000000000000000000000000000000000000000060005260048290526024879052604483905260646000fd5b9750975050925050945061323b915061322f61088e565b93845215156020840152565b604082015290565b975097505096505050505061323b61325961088e565b600081529215156020840152565b90925061327e91943d8091833e6131ca818361081e565b9390939138613059565b506132ca915a916132f65a6040519586917f44403473000000000000000000000000000000000000000000000000000000006020840152898c60248501612e3b565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810186528561081e565b845a948a61333160405197889384937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612e3b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19384156131da578580956133a4575b5050839461338c81945a90612790565b94811561324357505061307790969291939496613071565b909194506133bd9295503d8091833e6131ca818361081e565b93909392388061337c565b509450505050506133d7612dd0565b6133df61088e565b906000825260006020830152604082015290565b6001906133fe612165565b61342961340c838787612d35565b9161341f61341a84806121d5565b614bff565b612f5983806121d5565b5050506020810161345561343c82612d75565b73ffffffffffffffffffffffffffffffffffffffff1690565b1561349c576000918261347661346b8294612d75565b926040810190612d7f565b919061348760405180948193612ab5565b03925af1506134946127b2565b505b01612f0a565b5050613496565b90916000915a938051916134b78382613de9565b6134c081612847565b602083015260408301519561350c6effffffffffffffffffffffffffffff8860c08701511760608701511760808701511760a08701511761010087015117610120870151171115612cba565b61353784610100604082015160608301510160808301510160a08301510160c0830151019101510290565b613545888286866000614145565b976135756115c861356a885173ffffffffffffffffffffffffffffffffffffffff1690565b602089015190614c80565b613694575a8303116136275760609073ffffffffffffffffffffffffffffffffffffffff6135bb60e05a98015173ffffffffffffffffffffffffffffffffffffffff1690565b166135ef575b6116089360a06105cd97948794608094604061160d9a015260608601525a9003910135019101525a90612790565b965050928260806116089360a06105cd976136158461160d995101518c878660006149bc565b9b9095985093509497505093506135c1565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611691600060048301608091815260406020820152601e60408201527f41413236206f76657220766572696669636174696f6e4761734c696d6974000060608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611691600060048301608091815260406020820152601a60408201527f4141323520696e76616c6964206163636f756e74206e6f6e636500000000000060608201520190565b60015b6005811061375b57507f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4602073ffffffffffffffffffffffffffffffffffffffff61374f3485615342565b936040519485521692a2565b600101613704565b1561376a57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f616c726561647920756e7374616b696e670000000000000000000000000000006044820152fd5b9065ffffffffffff8091169116019065ffffffffffff821161108657565b156137ed57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f4e6f207374616b6520746f2077697468647261770000000000000000000000006044820152fd5b1561385257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f6d7573742063616c6c20756e6c6f636b5374616b6528292066697273740000006044820152fd5b156138b757565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f5374616b65207769746864726177616c206973206e6f742064756500000000006044820152fd5b1561391c57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f6661696c656420746f207769746864726177207374616b6500000000000000006044820152fd5b9060141161042d5790601490565b919091357fffffffffffffffffffffffffffffffffffffffff000000000000000000000000811692601481106139bc575050565b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000929350829060140360031b1b161690565b604051906139fb82610802565b60035473ffffffffffffffffffffffffffffffffffffffff168252604051602083613a2583610802565b6004548352600554828401520152565b613a3d612989565b50613a46612165565b90613a5081614bff565b613a5a82826134a3565b50919092613a688385614cf0565b613a92613a8d60e08351015173ffffffffffffffffffffffffffffffffffffffff1690565b614e7d565b91613acd613ab9613a8d845173ffffffffffffffffffffffffffffffffffffffff90511690565b91613ac2612970565b506040810190612d7f565b9060148210613bc257613aef613ae9613af593613a8d9361397a565b90613988565b60601c90565b9173ffffffffffffffffffffffffffffffffffffffff8616946080820151966060604084015193015192613b2761085f565b9889526020890152604088015260608701526080860152613b466139ee565b9380151580613bb7575b613b78575b50613b5e61085f565b948552602085015260408401526060830152608082015290565b909350613b8481614e7d565b613bab613b8f61089d565b73ffffffffffffffffffffffffffffffffffffffff9093168352565b60208201529238613b55565b506001811415613b50565b5050613af56000614e7d565b60409073ffffffffffffffffffffffffffffffffffffffff6105cd95931681528160208201520191612258565b9081518110156126d6570160200190565b919260009373ffffffffffffffffffffffffffffffffffffffff6060941691823b1561042d57613ca693600080946040518097819682957f850aaf6200000000000000000000000000000000000000000000000000000000845273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660048501613bce565b0393f19081613d60575b50610ae0575050613cbf6127b2565b906004825110613d5157613cdb613cd68351612763565b612dec565b60045b8351811015613d3b5780613d1d613cf760019387613bfb565b517fff000000000000000000000000000000000000000000000000000000000000001690565b613d34613d2983612763565b9160001a9185613bfb565b5301613cde565b50610ae091925060208082518301019101612eb5565b9050613d5b612dd0565b600091565b80613d6f6000613d759361081e565b80611acf565b38613cb0565b61048c33613701565b15613d8b57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4141393320696e76616c6964207061796d6173746572416e64446174610000006044820152fd5b613e8d90613e13613df982612d75565b73ffffffffffffffffffffffffffffffffffffffff168452565b60208101356020840152613e406080820135906fffffffffffffffffffffffffffffffff8260801c921690565b6060850152604084015260a081013560c0840152613e7760c0820135906fffffffffffffffffffffffffffffffff8260801c921690565b61010085015261012084015260e0810190612d7f565b908115613ed657613eb18260e092613eac603461048c97961015613d84565b614ed4565b60a0850152608084015273ffffffffffffffffffffffffffffffffffffffff16910152565b505060a081600060e0819401528260808201520152565b9081602091031261042d575190565b613f1460409295949395606083526060830190612297565b9460208201520152565b60a0906105cd9392815260606020820152600d60608201527f41413233207265766572746564000000000000000000000000000000000000006080820152816040820152019061055c565b92909161402c6020600095855193613fd060e0613f9a875173ffffffffffffffffffffffffffffffffffffffff1690565b96613fb58a8c613fad6040890189612d7f565b929091614f32565b015173ffffffffffffffffffffffffffffffffffffffff1690565b918873ffffffffffffffffffffffffffffffffffffffff8194161598896140fd575b85015191604051968795869485937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613efc565b039273ffffffffffffffffffffffffffffffffffffffff881690f18591816140cc575b50614093578461405d614662565b906116916040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260048401613f1e565b93919261409e575050565b6140c89073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b5050565b6140ef91925060203d6020116140f6575b6140e7818361081e565b810190613eed565b903861404f565b503d6140dd565b93506141298773ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b54801561413c575084815b949050613ff2565b85908203614134565b949291939060206141e89186519361418960e0614176875173ffffffffffffffffffffffffffffffffffffffff1690565b96613fb58b8d613fad6040890189612d7f565b9173ffffffffffffffffffffffffffffffffffffffff600093161598896142e8575b84600091015191604051968795869485937f19822f7c00000000000000000000000000000000000000000000000000000000855260048501613efc565b039273ffffffffffffffffffffffffffffffffffffffff881690f1600091816142c7575b5061421a578561405d614662565b94929361422657505050565b6142509073ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b918254908183116142615750039055565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601760448201527f41413231206469646e2774207061792070726566756e640000000000000000006064820152608490fd5b6142e191925060203d6020116140f6576140e7818361081e565b903861420c565b92506143148673ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b548781111561432c5750600084815b949150506141ab565b846000918903614323565b9161435861341a9261435e949a96979895999a614352612144565b50615278565b806121d5565b600092801561457b576143ae935061437461279d565b509160005a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528b8b60048501612e3b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19182156131da57600094859361455a575b50829480938115614545575050614418909592919394958561206d565b8073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016965b8461445d8885612790565b1061452f575a61446c88612050565b116131df57918695939160009593868b8b8e61448e6130f1886144c79f61206d565b9a8b936040519e8f95869485937ff7e426e800000000000000000000000000000000000000000000000000000000855260048501612e3b565b03925af19889156131da57600090819a614511575b50156144fc575050506144ee84612736565b95915b939092949591614452565b9396509461450b91975061205f565b946144f1565b90614527929a503d8091833e6131ca818361081e565b9890386144dc565b96509650509195505061323b915061322f61088e565b9650965050955050505061323b61325961088e565b90925061457191943d8091833e6131ca818361081e565b93909391386143fb565b506145b9915a91845a604051809681927ff7e426e80000000000000000000000000000000000000000000000000000000083528c8c60048501612e3b565b03818373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af19384156131da5785809561462c575b5050839461461481945a90612790565b94811561454557505061441890959291939495613071565b909194506146459295503d8091833e6131ca818361081e565b939093923880614604565b9060009283809360208451940192f190565b3d6108008111614687575b604051906020818301016040528082526000602083013e90565b5061080061466d565b6003111561469a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b9094939294600381101561469a576060926146f191835260806020840152608083019061055c565b9460408201520152565b9060a06105cd926000815260606020820152601460608201527f4141353020706f73744f702072657665727465640000000000000000000000006080820152816040820152019061055c565b929091600092835a9086519261475c84615318565b9061477e60e086015173ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff81169081614861575050506147bc845173ffffffffffffffffffffffffffffffffffffffff1690565b945b5a8403019360a06060820151910151019360808901948551820390818111614850575b505090810290604089019586518381106000146148255750505050908161480c61048c959493614690565b505a9003905101905185614820829761547a565b615377565b61048c975061484b929650839a9395506001949186614845920390615342565b50614690565b6153f9565b6064919003600a02040138806147e1565b96918051614871575b50506147be565b9091985061487e84614690565b5a9160a087015190803b1561493c57918591858381958e6148d1604051988997889687947f7c627b21000000000000000000000000000000000000000000000000000000008652029086600486016146c9565b0393f19081614928575b5061491d576116916148eb614662565b6040519182917f65c8fd4d000000000000000000000000000000000000000000000000000000008352600483016146fb565b5a900396388061486a565b80613d6f866149369361081e565b386148db565b8580fd5b919060408382031261042d57825167ffffffffffffffff811161042d5760209161496b918501612e73565b92015190565b60a0906105cd9392815260606020820152600d60608201527f41413333207265766572746564000000000000000000000000000000000000006080820152816040820152019061055c565b93909294915a936149e560e08351015173ffffffffffffffffffffffffffffffffffffffff1690565b91614a108373ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002090565b8054898110614b915773ffffffffffffffffffffffffffffffffffffffff6020600096948c9694614a7a9c9d89950390550151926040519a8b96879586937f52b7512c00000000000000000000000000000000000000000000000000000000855260048501613efc565b03931686f19384600091600096614b6a575b50614ad05785614a9a614662565b906116916040519283927f65c8fd4d00000000000000000000000000000000000000000000000000000000845260048401614971565b9491925a900311614ade5750565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602760448201527f41413336206f766572207061796d6173746572566572696669636174696f6e4760648201527f61734c696d697400000000000000000000000000000000000000000000000000608482015260a490fd5b909550614b8a91503d806000833e614b82818361081e565b810190614940565b9438614a8c565b611691896040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601e60408201527f41413331207061796d6173746572206465706f73697420746f6f206c6f77000060608201520190565b614c3290614c106040820182612d7f565b91614c2a813591614c2083610463565b60e0810190612d7f565b9390926154ca565b8051614c3b5750565b611691906040519182917f220266b60000000000000000000000000000000000000000000000000000000083526000600484015260406024840152604483019061055c565b73ffffffffffffffffffffffffffffffffffffffff16600052600160205267ffffffffffffffff614cdc8260401c60406000209077ffffffffffffffffffffffffffffffffffffffffffffffff16600052602052604060002090565b91825492614ce984612451565b9055161490565b614d0e73ffffffffffffffffffffffffffffffffffffffff91615589565b9116614e1857614dab57614d3673ffffffffffffffffffffffffffffffffffffffff91615589565b5016614d3e57565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611691600060048301608091815260406020820152601460408201527f41413334207369676e6174757265206572726f7200000000000000000000000060608201520190565b6040517f220266b600000000000000000000000000000000000000000000000000000000815280611691600060048301608091815260406020820152601760408201527f414132322065787069726564206f72206e6f742064756500000000000000000060608201520190565b60846040517f220266b60000000000000000000000000000000000000000000000000000000081526000600482015260406024820152601460448201527f41413234207369676e6174757265206572726f720000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff614e9b612970565b9216600052600060205263ffffffff6001604060002001546dffffffffffffffffffffffffffff8160081c16845260781c166020830152565b90918260141161042d578135918360241161042d5760148101359360341161042d5760609290921c92608090811c9260240135901c90565b9081602091031261042d57516105cd81610463565b9160206105cd938181520191612258565b92909181614f41575b50505050565b82515173ffffffffffffffffffffffffffffffffffffffff1693843b61521257604084510151602060405180927f570e1a3600000000000000000000000000000000000000000000000000000000825281600081614fa38a8a60048401614f21565b039273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690f19081156131da576000916151e3575b5073ffffffffffffffffffffffffffffffffffffffff81169586156151755773ffffffffffffffffffffffffffffffffffffffff16809603615107573b156150a15750613aef613ae97fd51a9c61267aa6196961883ecf5ff2da6619c37dac0fa92122513fb32c032d2d936150619361397a565b602083810151935160e001516040805173ffffffffffffffffffffffffffffffffffffffff9485168152939091169183019190915290a338808080614f3b565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152602060448201527f4141313520696e6974436f6465206d757374206372656174652073656e6465726064820152608490fd5b611691826040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152602060408201527f4141313420696e6974436f6465206d7573742072657475726e2073656e64657260608201520190565b611691836040519182917f220266b600000000000000000000000000000000000000000000000000000000835260048301608091815260406020820152601b60408201527f4141313320696e6974436f6465206661696c6564206f72204f4f47000000000060608201520190565b615205915060203d60201161520b575b6151fd818361081e565b810190614f0c565b38614fed565b503d6151f3565b604080517f220266b600000000000000000000000000000000000000000000000000000000815260048101929092526024820152601f60448201527f414131302073656e64657220616c726561647920636f6e7374727563746564006064820152608490fd5b60005b82811061528757505050565b600190615292612165565b6152a061340c838787612d35565b5050506020810135906152b282610463565b73ffffffffffffffffffffffffffffffffffffffff82161561531157600091826152ea81936152e084610463565b6040810190612d7f565b60405192918391839181908437820190815203925af1506153096127b2565b505b0161527b565b505061530b565b61012061010082015191015180821461533e57480180821015615339575090565b905090565b5090565b73ffffffffffffffffffffffffffffffffffffffff166000526000602052604060002080549182018092116110865781905590565b9190917f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f6080602083015192519473ffffffffffffffffffffffffffffffffffffffff86511694602073ffffffffffffffffffffffffffffffffffffffff60e089015116970151916040519283526000602084015260408301526060820152a4565b9060807f49628fd1471006c1482da88028e9ce4dbb080b815c9b0344d39e5a8e6ec1419f91602084015193519573ffffffffffffffffffffffffffffffffffffffff87511695602073ffffffffffffffffffffffffffffffffffffffff60e08a015116980151926040519384521515602084015260408301526060820152a4565b60208101519051907f67b4fa9642f42120bf031f3051d1824b0fe25627945b27b8a6a65d5761d5482e60208073ffffffffffffffffffffffffffffffffffffffff855116940151604051908152a3565b5092919215908161557f575b506155425760148110156154ef575b50506105cd61279d565b60141161042d573560601c3b156155075738806154e5565b60405161551560408261081e565b601b81527f41413330207061796d6173746572206e6f74206465706c6f7965640000000000602082015290565b505060405161555260408261081e565b601981527f41413230206163636f756e74206e6f74206465706c6f79656400000000000000602082015290565b90503b15386154d6565b80156156965760006040805161559e816107c9565b828152826020820152015265ffffffffffff8160a01c168015615689575b61566b906156456155d36155de6155d38660d01c90565b65ffffffffffff1690565b9261561d73ffffffffffffffffffffffffffffffffffffffff6155ff61088e565b9716879073ffffffffffffffffffffffffffffffffffffffff169052565b6156336020870194859065ffffffffffff169052565b65ffffffffffff166040860181905290565b421190811561566e575b50915173ffffffffffffffffffffffffffffffffffffffff1690565b91565b51615681915065ffffffffffff166155d3565b42103861564f565b5065ffffffffffff6155bc565b50600090600090565b81604051918237209056fea264697066735822122086f2a3af7b74d96b76c88975ddedc743256b0fb9814c02fbb98df31c8e64366d64736f6c634300081c003360808060405234601557610204908161001b8239f35b600080fdfe6080600436101561000f57600080fd5b60003560e01c63570e1a361461002457600080fd5b346101c95760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101c95760043567ffffffffffffffff81116101c957366023820112156101c957806004013567ffffffffffffffff81116101c95736602482840101116101c957600092816014116101c5577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec82019167ffffffffffffffff8311610198577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81600b8401160116820182811067ffffffffffffffff82111761016b5760246020959387600c819795829560405286845289840196603889018837830101525193013560601c5af190519015610163575b60209073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b506000610142565b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b8380fd5b600080fdfea264697066735822122031c4da016ef3f5a9eaa9ca0a89b8bc033d2ed3a392badbd6c5a1f82e819ef2f264736f6c634300081c0033";
|
|
39
41
|
//# sourceMappingURL=PimlicoEntryPointSimulations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PimlicoEntryPointSimulations.js","sourceRoot":"","sources":["../../../types/contracts/PimlicoEntryPointSimulations.ts"],"names":[],"mappings":";;;AAAa,QAAA,+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;AAEY,QAAA,kCAAkC,GAC3C,kVAAkV,CAAA;AAEzU,QAAA,gCAAgC,GACzC,oEAAoE,CAAA;
|
|
1
|
+
{"version":3,"file":"PimlicoEntryPointSimulations.js","sourceRoot":"","sources":["../../../types/contracts/PimlicoEntryPointSimulations.ts"],"names":[],"mappings":";;;AAAa,QAAA,+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;AAEY,QAAA,kCAAkC,GAC3C,kVAAkV,CAAA;AAEzU,QAAA,gCAAgC,GACzC,oEAAoE,CAAA;AAExE,oIAAoI;AACvH,QAAA,4CAA4C,GACrD,k2oDAAk2oD,CAAA;AAEt2oD,oIAAoI;AACvH,QAAA,4CAA4C,GACrD,4o/CAA4o/C,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pimlico/alto",
|
|
3
|
-
"version": "0.0.0-main.
|
|
3
|
+
"version": "0.0.0-main.20250410T143243",
|
|
4
4
|
"description": "A performant and modular ERC-4337 Bundler written in Typescript",
|
|
5
5
|
"repository": "https://github.com/pimlicolabs/alto.git",
|
|
6
6
|
"author": "Pimlico",
|