@whetstone-research/doppler-sdk 1.0.20 → 1.0.22

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.
@@ -1277,6 +1277,11 @@ declare class DynamicAuction {
1277
1277
  private normalizePoolKey;
1278
1278
  }
1279
1279
 
1280
+ interface MulticurvePendingFees {
1281
+ fees0: bigint;
1282
+ fees1: bigint;
1283
+ }
1284
+
1280
1285
  /**
1281
1286
  * MulticurvePool class for interacting with V4 multicurve pools
1282
1287
  *
@@ -1319,19 +1324,24 @@ declare class MulticurvePool {
1319
1324
  */
1320
1325
  private findInitializerForPool;
1321
1326
  /**
1322
- * Collect fees from the pool and distribute to beneficiaries
1327
+ * Collect fees from a locked initializer-side pool.
1323
1328
  *
1324
- * This function can be called by any beneficiary to trigger fee collection
1325
- * and distribution. Fees are automatically distributed according to the
1326
- * configured beneficiary shares.
1329
+ * This function can be called by any account to pull pool fees into the
1330
+ * initializer. If the caller is a configured beneficiary, their pending share
1331
+ * is released as part of the same transaction.
1327
1332
  *
1328
- * @returns Object containing the amounts of fees0 and fees1 distributed, and the transaction hash
1333
+ * @returns Object containing the contract's collectFees return values and the transaction hash.
1334
+ * The returned fee amounts are newly collected pool fees, not necessarily the caller's beneficiary payout.
1329
1335
  */
1330
1336
  collectFees(): Promise<{
1331
1337
  fees0: bigint;
1332
1338
  fees1: bigint;
1333
1339
  transactionHash: Hash;
1334
1340
  }>;
1341
+ /**
1342
+ * Preview pending fees for a beneficiary on an initializer-side multicurve pool.
1343
+ */
1344
+ getPendingFees(beneficiary: Address): Promise<MulticurvePendingFees>;
1335
1345
  /**
1336
1346
  * Get the numeraire address for this pool
1337
1347
  */
@@ -1342,11 +1352,6 @@ declare class MulticurvePool {
1342
1352
  * Returns `null` when the pool is not using dynamic fees.
1343
1353
  */
1344
1354
  getFeeSchedule(): Promise<MulticurveDecayFeeSchedule | null>;
1345
- private parsePoolKey;
1346
- private parseStandardInitializerState;
1347
- private parseDopplerHookInitializerState;
1348
- private resolveLockerAddress;
1349
- private collectFeesFromContract;
1350
1355
  }
1351
1356
 
1352
1357
  declare class RehypeDopplerHook {
@@ -3980,6 +3985,108 @@ declare function validateMarketCapParameters(marketCap: number, tokenSupply: big
3980
3985
  */
3981
3986
  declare function tickToMarketCap(params: TickToMarketCapParams): number;
3982
3987
 
3988
+ declare const feeClaimsInitializerAbi: readonly [{
3989
+ readonly type: "function";
3990
+ readonly name: "getCumulatedFees0";
3991
+ readonly inputs: readonly [{
3992
+ readonly name: "poolId";
3993
+ readonly type: "bytes32";
3994
+ readonly internalType: "PoolId";
3995
+ }];
3996
+ readonly outputs: readonly [{
3997
+ readonly name: "";
3998
+ readonly type: "uint256";
3999
+ readonly internalType: "uint256";
4000
+ }];
4001
+ readonly stateMutability: "view";
4002
+ }, {
4003
+ readonly type: "function";
4004
+ readonly name: "getCumulatedFees1";
4005
+ readonly inputs: readonly [{
4006
+ readonly name: "poolId";
4007
+ readonly type: "bytes32";
4008
+ readonly internalType: "PoolId";
4009
+ }];
4010
+ readonly outputs: readonly [{
4011
+ readonly name: "";
4012
+ readonly type: "uint256";
4013
+ readonly internalType: "uint256";
4014
+ }];
4015
+ readonly stateMutability: "view";
4016
+ }, {
4017
+ readonly type: "function";
4018
+ readonly name: "getLastCumulatedFees0";
4019
+ readonly inputs: readonly [{
4020
+ readonly name: "poolId";
4021
+ readonly type: "bytes32";
4022
+ readonly internalType: "PoolId";
4023
+ }, {
4024
+ readonly name: "user";
4025
+ readonly type: "address";
4026
+ readonly internalType: "address";
4027
+ }];
4028
+ readonly outputs: readonly [{
4029
+ readonly name: "";
4030
+ readonly type: "uint256";
4031
+ readonly internalType: "uint256";
4032
+ }];
4033
+ readonly stateMutability: "view";
4034
+ }, {
4035
+ readonly type: "function";
4036
+ readonly name: "getLastCumulatedFees1";
4037
+ readonly inputs: readonly [{
4038
+ readonly name: "poolId";
4039
+ readonly type: "bytes32";
4040
+ readonly internalType: "PoolId";
4041
+ }, {
4042
+ readonly name: "user";
4043
+ readonly type: "address";
4044
+ readonly internalType: "address";
4045
+ }];
4046
+ readonly outputs: readonly [{
4047
+ readonly name: "";
4048
+ readonly type: "uint256";
4049
+ readonly internalType: "uint256";
4050
+ }];
4051
+ readonly stateMutability: "view";
4052
+ }, {
4053
+ readonly type: "function";
4054
+ readonly name: "getShares";
4055
+ readonly inputs: readonly [{
4056
+ readonly name: "poolId";
4057
+ readonly type: "bytes32";
4058
+ readonly internalType: "PoolId";
4059
+ }, {
4060
+ readonly name: "user";
4061
+ readonly type: "address";
4062
+ readonly internalType: "address";
4063
+ }];
4064
+ readonly outputs: readonly [{
4065
+ readonly name: "";
4066
+ readonly type: "uint256";
4067
+ readonly internalType: "uint256";
4068
+ }];
4069
+ readonly stateMutability: "view";
4070
+ }, {
4071
+ readonly type: "function";
4072
+ readonly name: "collectFees";
4073
+ readonly inputs: readonly [{
4074
+ readonly name: "poolId";
4075
+ readonly type: "bytes32";
4076
+ readonly internalType: "PoolId";
4077
+ }];
4078
+ readonly outputs: readonly [{
4079
+ readonly name: "fees0";
4080
+ readonly type: "uint128";
4081
+ readonly internalType: "uint128";
4082
+ }, {
4083
+ readonly name: "fees1";
4084
+ readonly type: "uint128";
4085
+ readonly internalType: "uint128";
4086
+ }];
4087
+ readonly stateMutability: "nonpayable";
4088
+ }];
4089
+
3983
4090
  declare const _default$5: "0x60a06040523461057b57604051601f615c0338819003918201601f19168301916001600160401b0383118484101761057f578084926101c09460405283398101031261057b5780516001600160a01b038116810361057b5760208201516040830151906060840151608085015160a08601519061007e60c088016105b3565b9161008b60e089016105b3565b91610100890151946100a06101208b016105b3565b976101408b0151978815988915810361057b576101608d01516101808e01516001600160a01b0381169e919d91908f0361057b576101a001519062ffffff821680920361057b576080525f6101a06100f6610593565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201525f6101a0610154610593565b6001815260016020820152600160408201528260608201528260808201528260a0820152600160c0820152600160e082015260016101008201528261012082015282610140820152826101608201528261018082015201526120003016151560011480159061056a575b8015610559575b801561054c575b801561053f575b8015610532575b8015610522575b8015610512575b8015610502575b80156104f6575b80156104ea575b80156104de575b80156104d2575b80156104c6575b6104b35762ffffff1960165416176016558442116104a4578660020b8860020b91818303610463575b5050508484101561045457838503858111610440578a60020b5f811380159061042b575b61041c578915610408578982066103f9578c156103eb57600f8d116103eb578484116103dc5761029861029d928b81046017558b6105c1565b610658565b628000008110156103cf5762ffffff19601854169062ffffff1617601855600d55600e55600f5560105560115562ffffff6012549160181b65ffffff0000001692169065ffffffffffff1916171760125560135562ffffff63ff000000601454921560181b1692169063ffffffff1916171760145560155560018060a01b0319600c541617600c5560405161552f90816106d48239608051818181601c01528181610205015281816102a80152818161045c0152818161050c0152818161098701528181610a1e01528181610af501528181610b9201528181610c5a01528181610e8301528181610f3a0152818161103d015281816110b201528181611d2c01528181611de40152818161217801528181613b8301528181613c4d01528181613fe9015281816140f40152614be40152f35b6335278d125f526004601cfd5b638cc99b7b60e01b5f5260045ffd5b6287e39960e61b5f5260045ffd5b6388ac089760e01b5f5260045ffd5b634e487b7160e01b5f52601260045260245ffd5b6312469eb560e11b5f5260045ffd5b5061043a81610298848d6105c1565b1561025f565b634e487b7160e01b5f52601160045260245ffd5b63536a71af60e01b5f5260045ffd5b8061049b575b610483578a9182610491575b5050610483575f808061023b565b6264847d60e41b5f5260045ffd5b1390505f80610475565b50808212610469565b632ca4094f60e21b5f5260045ffd5b630732d7b560e51b5f523060045260245ffd5b50600130161515610212565b5060023016151561020b565b50600430161515610204565b506008301615156101fd565b506010301615156101f6565b50602030161515600114156101ef565b50604030161515600114156101e8565b50608030161515600114156101e1565b50610100301615156101da565b50610200301615156101d3565b50610400301615156101cc565b5061080030161515600114156101c5565b5061100030161515600114156101be565b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b604051906101c082016001600160401b0381118382101761057f57604052565b51908160020b820361057b57565b90670de0b6b3a76400008202905f19670de0b6b3a764000084099282808510940393808503948584111561057b571461065157670de0b6b3a764000082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b808202905f1983820990828083109203918083039283670de0b6b3a7640000111561057b57146106c2577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066993670de0b6b3a7640000910990828211900360ee1b910360121c170290565b5050670de0b6b3a76400009150049056fe608080604052600436101561005b575b50361561001a575f80fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361004c57005b6393c866c160e01b5f5260045ffd5b5f905f3560e01c908163182148ef146111155750806318cb1700146110f357806321d0ee701461109f578063259982e51461102a578063392e53cd1461100857806339518b5e14610feb578063514ea4bf14610f96578063575e24b414610ee357806357d775f814610ec65780636c2bbe7e14610e705780636c47a6c314610e535780636fe7e6eb14610c19578063897479cb14610bfb57806390ebab0a14610bdd57806391dd734614610b5e5780639ce110d714610b355780639f063efc14610ade578063a4dee15514610ab9578063b137392914610a98578063b356603014610a74578063b47b2fb1146109c6578063b6a8b0fa14610970578063c19d93fb14610921578063c4e833ce146107b6578063c70dfb4f14610795578063ce5494bb146104cb578063d0c52e21146104a9578063d65b4cb91461048b578063dc4c90d314610446578063dc98354e14610276578063dcf93f3214610250578063e1b4af69146101ee5763ee4644300361000f57346101eb57806003193601126101eb576020600d54604051908152f35b80fd5b50346101eb57600490610200366112dc565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303925061024491505057630a85dc2960e01b8152fd5b63570c108560e11b8152fd5b50346101eb57806003193601126101eb57602060ff60145460181c166040519015158152f35b50346101eb5760e03660031901126101eb5761029061116b565b5060a03660231901126101eb576102a561128e565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633036104375760085460ff81166104295760ff19166001176008556001600160a01b03602435908116908181036104255750600980546001600160a01b0319169190911790556044356001600160a01b038116908181036104255750600a80546001600160a01b03191691909117905560643562ffffff8116810361042157600a5461035a612061565b60b81b62ffffff60b81b169162ffffff60a01b9060a01b169065ffffffffffff60a01b19161717600a5560a43560018060a01b03811680910361042157600b80546001600160a01b031916919091179055601e6103b5612061565b60020b136104125760145460020b6103cb612061565b60020b9081156103fe570760020b6103ef57604051636e4c1aa760e11b8152602090f35b6312469eb560e11b8152600490fd5b634e487b7160e01b83526012600452602483fd5b63013840ad60e51b8152600490fd5b5080fd5b8280fd5b62dc149f60e41b8252600482fd5b63570c108560e11b8152600490fd5b50346101eb57806003193601126101eb576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50346101eb57806003193601126101eb576020600f54604051908152f35b50346101eb57806003193601126101eb5760ff60209154166040519015158152f35b50346101eb5760203660031901126101eb576104e561116b565b600c546001600160a01b031633036107865760ff825460081c161580610765575b610756577f000000000000000000000000000000000000000000000000000000000000000061059d8361057561058360405161054181611333565b610549611f3d565b815260018060a01b03871660208201528360408201526001606082015260405192839160208301611f8a565b03601f1981018352826113b4565b604051809381926348c8949160e01b8352600483016112b2565b0381836001600160a01b0387165af190811561074b57916105d785926105e2959460e09791610729575b50602080825183010191016114d8565b600695919554613282565b9161064160018060a01b0360095416926106306105fe856145cf565b948761061f8761061760018060a01b03600a54166145cf565b9a8b94614611565b600a546001600160a01b0316614611565b60a061063a611f3d565b2090614754565b5050600954600a5492976001600160a01b039182169791909316946106879250610678906001600160801b03608086901d16611472565b926001600160801b0316611472565b906001600160801b0381111561071a57506001600160801b03915b506001600160801b0381111561070b57506001600160801b03935b604080516001600160a01b0397909716875260208701919091526001600160801b03608085811d821692880192909252918216606087015285019190915290811660a08401521660c0820152f35b6001600160801b0316936106bd565b6001600160801b0316916106a2565b61074591503d8086833e61073d81836113b4565b810190611fcb565b5f6105c7565b6040513d86823e3d90fd5b63051a2a5560e51b8252600482fd5b50600454600e5411158061077a575b15610506565b50601154421015610774565b638341a67960e01b8252600482fd5b50346101eb57806003193601126101eb57602060125460020b604051908152f35b50346101eb57806003193601126101eb576020816101c0926101a06040516107dd81611362565b82815282858201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015201528060405161083b81611362565b60018152838101600181526040820160018152606083018481526080840185815260a0850186815260c08601906001825260e087019260018452610100880194600186526101208901968a88526101408a01988b8a526101a06101608c019b8d8d5261018081019d8e52019c8d526040519d8e916001835251151591015251151560408d015251151560608c015251151560808b015251151560a08a015251151560c089015251151560e08801525115156101008701525115156101208601525115156101408501525115156101608401525115156101808301525115156101a0820152f35b50346101eb57806003193601126101eb5760c064ffffffffff600154166002546003546004546005549160065493604051958652602086015260408501526060840152608083015260a0820152f35b50346101eb57600490610982366112dc565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330392506102449150505763567d91d160e01b8152fd5b50346101eb576101603660031901126101eb576109e161116b565b5060a03660231901126101eb5760603660c31901126101eb57610144356001600160401b03811161042157610a1a903690600401611195565b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610437576040610a5a610124356140d7565b82516001600160e01b03199092168252600f0b6020820152f35b50346101eb57806003193601126101eb57602060125460181c60020b604051908152f35b50346101eb57806003193601126101eb57602060145460020b604051908152f35b50346101eb57806003193601126101eb5760ff6020915460081c166040519015158152f35b50346101eb57600490610af036611225565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330393506102449250505057630a85dc2960e01b8152fd5b50346101eb57806003193601126101eb57600c546040516001600160a01b039091168152602090f35b50346101eb5760203660031901126101eb576004356001600160401b03811161042157610b8f903690600401611195565b917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361043757610bd9610bcd848461168f565b604051918291826112b2565b0390f35b50346101eb57806003193601126101eb576020601554604051908152f35b50346101eb57806003193601126101eb576020600e54604051908152f35b5034610e4057610100366003190112610e4057610c3461116b565b60a0366023190112610e4057610c4861128e565b5060e435908160020b809203610e40577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169133839003610e445762ffffff6016541691833b15610e4057604051635275965160e01b815292602435906001600160a01b038216808303610e40576004860152604435946001600160a01b038616808703610e4057602482015260643562ffffff8116808203610e40576044830152608435918260020b808403610e4057606482015260a435936001600160a01b038516808603610e4057608483015260a48201525f8160c481838d5af18015610e3557610e07575b509488979461057594610da6948a9994610dc29960405196610d5a88611333565b60405194610d678661137e565b85526020850152604084015260608301526080820152835260018060a01b03166020830152604082015285606082015260405192839160208301611f8a565b6040519485809481936348c8949160e01b8352600483016112b2565b03925af18015610dfc57610de3575b604051636fe7e6eb60e01b8152602090f35b610df6913d8091833e61073d81836113b4565b5f610dd1565b6040513d84823e3d90fd5b610da69399509461057594610e245f610dc299949a959b986113b4565b5f9a94509450949791969095610d39565b6040513d5f823e3d90fd5b5f80fd5b63570c108560e11b5f5260045ffd5b34610e40575f366003190112610e40576020601154604051908152f35b34610e4057610e7e36611225565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633039350610e449250505057630a85dc2960e01b5f5260045ffd5b34610e40575f366003190112610e40576020601354604051908152f35b34610e4057610140366003190112610e4057610efd61116b565b5060a0366023190112610e405760603660c3190112610e4057610124356001600160401b038111610e4057610f36903690600401611195565b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610e4457606062ffffff610f766120bd565b906040939293519363ffffffff60e01b1684526020840152166040820152f35b34610e40576020366003190112610e40576004355f526007602052608060405f205460ff604051918060020b83528060181c60020b6020840152600180851b038160301c16604084015260b01c166060820152f35b34610e40575f366003190112610e40576020601054604051908152f35b34610e40575f366003190112610e4057602060ff600854166040519015158152f35b34610e4057611038366111c2565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633039050610e4457306001600160a01b03909116036110905760405163259982e560e01b8152602090f35b636d1ed89b60e01b5f5260045ffd5b34610e40576110ad366111c2565b5050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031633039150610e44905057630a85dc2960e01b5f5260045ffd5b34610e40575f366003190112610e4057602062ffffff60165416604051908152f35b34610e40575f366003190112610e4057600954600a54600b546001600160a01b039283168452818316602085015260a082811c62ffffff16604086015260b89290921c60020b6060850152909116608083015290f35b600435906001600160a01b0382168203610e4057565b35906001600160a01b0382168203610e4057565b9181601f84011215610e40578235916001600160401b038311610e405760208381860195010111610e4057565b90610160600319830112610e40576004356001600160a01b0381168103610e40579160a0602319820112610e4057602491608060c319830112610e405760c49161014435906001600160401b038211610e405761122191600401611195565b9091565b906101a0600319830112610e40576004356001600160a01b0381168103610e40579160a0602319820112610e4057602491608060c319830112610e405760c4916101443591610164359161018435906001600160401b038211610e405761122191600401611195565b60c435906001600160a01b0382168203610e4057565b35908160020b8203610e4057565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b610120600319820112610e40576004356001600160a01b0381168103610e40579160a0602319830112610e405760249160c4359160e4359161010435906001600160401b038211610e405761122191600401611195565b608081019081106001600160401b0382111761134e57604052565b634e487b7160e01b5f52604160045260245ffd5b6101c081019081106001600160401b0382111761134e57604052565b60a081019081106001600160401b0382111761134e57604052565b606081019081106001600160401b0382111761134e57604052565b601f909101601f19168101906001600160401b0382119082101761134e57604052565b359062ffffff82168203610e4057565b91908260a0910312610e40576040516113ff8161137e565b608061144b81839561141081611181565b855261141e60208201611181565b602086015261142f604082016113d7565b6040860152611440606082016112a4565b606086015201611181565b910152565b600201908160021161145e57565b634e487b7160e01b5f52601160045260245ffd5b9190820180921161145e57565b9060405161148c81611333565b9154600281810b8452601882901c900b6020840152603081901c6001600160801b0316604084015260b01c60ff166060830152565b600f0b60016001607f1b0319811461145e575f0390565b9190826040910312610e40576020825192015190565b80516001600160a01b03908116835260208083015182169084015260408083015162ffffff169084015260608083015160020b9084015260809182015116910152565b9061016092611542836060936114ee565b805160020b60a0840152602081015160020b60c0840152604081015160e084015201516101008201526101406101208201525f6101408201520190565b6001600160a01b03918216815291166020820152604081019190915260600190565b9190820391821161145e57565b6001600160401b03811161134e5760051b60200190565b906115cf826115ae565b6115dc60405191826113b4565b82815280926115ed601f19916115ae565b01905f5b8281106115fd57505050565b60209060405161160c81611333565b5f81525f838201525f60408201525f6060820152828285010152016115f1565b8051156116395760200190565b634e487b7160e01b5f52603260045260245ffd5b8051600110156116395760400190565b80518210156116395760209160051b010190565b9081549060181b65ffffff000000169065ffffff0000001916179055565b919082015f61010084830312610e40576116b5604051926116af84611333565b856113e7565b938483526116c560a08201611181565b80602085015260e06116d960c084016112a4565b92836040870152013580151594858203610e40576060015260018060a01b03169060020b92611c4e5750600164ffffffffff1981541617600155606084019261173c845160020b61173761172c85614ef6565b60125460020b61209f565b614f2e565b6014549060ff8260181c165f14611c3b5761175a9160020b9061209f565b945b61176584613378565b61176e85613378565b956040519561177c87611399565b808752602087018181526118d8604089019a888c526118d0600d54956117a06136a5565b956118088c6118036117fa6117db6117d26117c96117c46117bf61480d565b614ea2565b6136c3565b60135490614e80565b60105490614ebe565b6117f46117eb60105480936115a1565b916011546115a1565b90615033565b600d5490615113565b6136d4565b8c929083811315611c2c5761186b9293508981115f14611c275750885b928d60185460020b835160020b8082135f14611c1f5750905b50818a5260145460181c60ff1615611c105761185f9150895160020b61209f565b905b5160020b90614f2e565b60020b60208701525b855160020b966020870197885160020b14155f14611c055760ff60145460181c166118c5836118a68a5160020b613378565b8b516001600160801b039491906118bf9060020b613378565b91614fcc565b1660408801526115a1565b90848861374b565b996118eb6118e68c51611450565b6115c5565b985160020b915160020b9060018060801b03905116906040519261190e84611333565b8352602083015260408201526001606082015261192a8861162c565b526119348761162c565b50805160020b915160020b90604060018060801b0391015116906040519261195b84611333565b835260208301526040820152600260608201526119778661164d565b526119818561164d565b50835b8751811015611a3457611997818961165d565b515160020b60206119a8838b61165d565b51015160020b6001600160801b0360406119c2858d61165d565b51015116836003019182600311611a2057611a1992600195949260ff92604051946119ec86611333565b855260208501526040840152166060820152611a0783611450565b90611a12828b61165d565b528861165d565b5001611984565b634e487b7160e01b89526011600452602489fd5b50611a429293969585613a82565b611a4b8261162c565b516001855260076020526040852090805162ffffff198354169062ffffff16178255611a7e602082015160020b83611671565b60408101518254606090920151600160301b600160b81b031990921660309190911b600160301b600160b01b03161760b09190911b60ff60b01b16179055611ac58261164d565b516002855260076020526040852090805162ffffff198354169062ffffff16178255611af8602082015160020b83611671565b60408101518254606090920151600160301b600160b81b031990921660309190911b600160301b600160b01b03161760b09190911b60ff60b01b16179055835b8351811015611be557611b53611b4d82611450565b8461165d565b518160030180600311611bd1579060019291875260076020526040872090805162ffffff198354169062ffffff16178255611b95602082015160020b83611671565b604081015190825490606060ff60b01b91015160b01b16918560301b8660b01b039060301b16908560301b8660b81b0319161717905501611b38565b634e487b7160e01b87526011600452602487fd5b509291505060405190611bf96020836113b4565b81525f36602083013790565b8b60408801526115a1565b611c199161335b565b90611861565b90509061183e565b611825565b50508087526020870152611874565b611c489160020b9061335b565b9461175c565b925f9250829160015b6015546003018060031161145e57811015611ddc57805f526007602052611c8060405f2061147f565b60408101516001600160801b031680611c9e575b5050600101611c57565b611d279160409160ff6014999598995460181c1691825f14611dce57805160020b925b15611db95760ff6060611ce3611cde602085015160020b95613263565b6114c1565b9201511691845193611cf485611333565b60020b845260020b6020840152600f0b838301526060820152815180938192632d35e7ed60e11b83528c60048401611531565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1918215610e3557600192611d7e925f905f92611d86575b50611d789192613282565b96613282565b93905f611c94565b611d789250611dac915060403d8111611db2575b611da481836113b4565b8101906114d8565b91611d6d565b503d611d9a565b60ff6060611ce3611cde845160020b95613263565b602081015160020b92611cc1565b5091929390947f000000000000000000000000000000000000000000000000000000000000000091611e1860018060a01b0383511630856132c4565b926020830192611e3260018060a01b0385511630846132c4565b945f8113611ed6575b5050848413611e6a575b5050505050604051916020830152604082015260408152611e676060826113b4565b90565b91516001600160a01b039283169216823b15611ed25791611ea6939185809460405196879586948593630b0d9c0960e01b85526004850161157f565b03925af18015610dfc57611ebd575b808080611e45565b611ec88280926113b4565b6101eb5780611eb5565b8480fd5b90516001600160a01b0383811692911690823b15610e4057611f1392855f809460405196879586948593630b0d9c0960e01b85526004850161157f565b03925af18015610e3557611f28575b80611e3b565b611f359195505f906113b4565b5f935f611f22565b60405190611f4a8261137e565b6009546001600160a01b039081168352600a54808216602085015260a081901c62ffffff16604085015260b81c60020b6060840152600b54166080830152565b91909160e06060610100830194611fa28482516114ee565b60208101516001600160a01b031660a0850152604081015160020b60c085015201511515910152565b602081830312610e40578051906001600160401b038211610e40570181601f82011215610e40578051906001600160401b03821161134e576040519261201b601f8401601f1916602001856113b4565b82845260208383010111610e4057815f9260208093018386015e8301015290565b600f91820b910b019060016001607f1b0319821260016001607f1b0383131761145e57565b6084358060020b8103610e405790565b60020b627fffff19811461145e575f0390565b60020b60010190627fffff8213627fffff1983121761145e57565b9060020b9060020b0190627fffff198212627fffff83131761145e57565b5f80549160ff8360081c16613254576010544210613245576120dd61480d565b64ffffffffff600154161015613234575f9260115442101580613229575b612e7e575b509060ff5f5416155f14612e105761211661480d565b9060015461212b64ffffffffff8216846115a1565b64ffffffffff1990911664ffffffffff84161760015560035460025f526007602052946121645f8051602061550383398151915261147f565b9461219c60a06121753660246113e7565b207f0000000000000000000000000000000000000000000000000000000000000000614754565b505050946121a986614841565b608435978860020b90818a14159283610e40578a6121c691614f2e565b905f916121d68d600554906136d4565b5f198a0194908a861161145e575f8f966121f26121f791613a72565b614fac565b80971115911280612e09575b15612cac575050506122249192505160020b9161221e615332565b90614ebe565b955b60018111612c165750612262908a60055561225c670de0b6b3a764000061224f89600254614ebe565b9880612c0d575b05614ef6565b9061209f565b90612c09578761227191614f2e565b9061228d8861173761172c670de0b6b3a76400005f9905614ef6565b9760145460ff8160181c165f14612bf6576122ab9060020b8a61209f565b955b8960ff60145460181c16809b811580612be6575b15612baa57505050612ba6576122d7908361209f565b945b6122e283613378565b986122ec87613378565b908b15612b9d5715612aea5760016123058c8c84615420565b91818060a01b038c1690828060a01b0316038060ff1d9081011891818060801b031661233183826150ca565b928260601b9109151516015b975b60155461234e6118e682611450565b9060018a52600760205261236460408b2061147f565b61236d8361162c565b526123778261162c565b5060028a52600760205261238d60408b2061147f565b6123968361164d565b526123a08261164d565b50895b818110612aa25750506123c1906123bb3660246113e7565b90614afa565b5060145460181c60ff1699908a156129fc576044356001600160a01b03811681036129f857612402906123f3906145cf565b6001600160801b038316611472565b6006549061241a906001600160801b038316906115a1565b916024356001600160a01b03811681036129f4579e6118e69f936124728e969461245d8c9561244b89879a506145cf565b9060801d6001600160801b0316611472565b60809190911d6001600160801b0316906115a1565b9e5b61247f3660246113e7565b906124886136a5565b958361299457505050505060020b80825260208201528260408201525b604081018051909c6125ab916125a391612591916001600160801b031615612985575b6124d33660246113e7565b906124fa6124df6136a5565b976118036117fa6117db6117d26117c96117c46117bf61480d565b88808213156129715750818111156129685750612555815b928d606060185460020b920191825160020b8082135f146129605750905b60020b90818b5260ff60145460181c165f14611c105761185f91508a5160020b61209f565b60020b60208801525b865160020b976020880198895160020b14155f14612956575060ff60145460181c166118c5836118a68a5160020b613378565b878561259e3660246113e7565b61374b565b9e8f51611450565b9b6020825160020b92015160020b9060018060801b0390511690604051926125d284611333565b835260208301526040820152600160608201526125ee8c61162c565b526125f88b61162c565b50805160020b915160020b90604060018060801b0391015116906040519261261f84611333565b8352602083015260408201526002606082015261263b8a61164d565b526126458961164d565b50875b8b518110156126f9578b602061266d83612662818561165d565b515160020b9361165d565b51015160020b8d60406126878560018060801b039361165d565b510151168360030191826003116126e5579260ff6126de938f9360019796604051946126b286611333565b8552602085015260408401521660608201526126d76126d085611450565b809361165d565b528c61165d565b5001612648565b634e487b7160e01b8d52601160045260248dfd5b50612719919293949596999a979a6127123660246113e7565b918a613a82565b6127228761162c565b5160018a52600760205260408a2090805162ffffff198354169062ffffff16178255612755602082015160020b83611671565b60408101518254606090920151600160301b600160b81b031990921660309190911b600160301b600160b01b03161760b09190911b60ff60b01b1617905561279c8761164d565b5160028a52600760205260408a2090805162ffffff198354169062ffffff161782556127cf602082015160020b83611671565b60408101518254606090920151600160301b600160b81b031990921660309190911b600160301b600160b01b03161760b09190911b60ff60b01b16179055885b6015548110156128fc578651811061285957806003018060031161284557906001918b5260076020528a60408120555b0161280f565b634e487b7160e01b8b52601160045260248bfd5b61286b61286582611450565b8961165d565b5181600301806003116128e85790600192918c52600760205260408c2090805162ffffff198354169062ffffff161782556128ad602082015160020b83611671565b604081015190825490606060ff60b01b91015160b01b16918560301b8660b01b039060301b16908560301b8660b81b0319161717905561283f565b634e487b7160e01b8c52601160045260248cfd5b5090919295507f223157ec47d7bd04fa3ed10c0a8adb38faf97b51ec856a777425a2e39253bd739450608093966040519360020b845260020b602084015260020b60408301526060820152a15b6315d7892d60e21b929190565b60408801526115a1565b905090612530565b61255590612512565b9250508b60020b808852602088015261255e565b602085015160020b85526124c8565b838111156129ad5750506129a89450614ca4565b6124a5565b92509350506129e991508c60020b84528960020b60208501526129cf8d613378565b6001600160801b0393906129e28c613378565b9115614fcc565b1660408201526124a5565b8c80fd5b8a80fd5b6024356001600160a01b03811681036129f857612a2f90612a1c906145cf565b608083901d6001600160801b0316611472565b60065490612a4b90608083901d6001600160801b0316906115a1565b916044356001600160a01b03811681036129f4579e6118e69f93612a9c8e9694612a8b8c95612a7c89879a506145cf565b906001600160801b0316611472565b6001600160801b03909116906115a1565b9e612474565b80600301806003116128e857906001918c526007602052612ae360408d20612ad2612acc84611450565b9161147f565b612adc828861165d565b528561165d565b50016123a3565b612af58b8b836153dd565b8a826001600160a01b0380831690821611612b92575b506001600160a01b038316918215612b865760601b600160601b600160e01b0316926001600160a01b03828116929190910316612b4982828661527d565b938215612b725709612b63575b808206151591040161233d565b906001019081612b56575b8880fd5b634e487b7160e01b8c52601260045260248cfd5b62bfc9218b526004601cfd5b8c935090505f612b0b565b5050869761233f565b8680fd5b91989392509081612bd5575b50612bc2575b506122d9565b612bce9196508361335b565b945f612bbc565b905060020b8460020b13155f612bb6565b508060020b8760020b12156122c1565b612c039060020b8a61335b565b956122ad565b8580fd5b89600255612256565b612c1f906136ec565b5f198101818111611a20576121f2612c3691613a72565b808c10612c44575b50612226565b612c59612c52989298615332565b918d615033565b670de0b6b3a76400000390670de0b6b3a76400008211612c9857612c8a612c919392670de0b6b3a764000092614e80565b0590614ebe565b955f612c3e565b634e487b7160e01b8a52601160045260248afd5b9192909115612d0957505083612b6e578a612cc691614f2e565b91612cd2612c52615332565b670de0b6b3a76400000390670de0b6b3a76400008211612c9857612c8a612d039392670de0b6b3a764000092614e80565b95612226565b93509350975050612d2f60125460020b670de0b6b3a76400006002540560020b9061209f565b60185460020b5f9381135f14612dfe57905b6014549260ff8460181c1692835f14612deb57612d61915160020b61209f565b915b829985610e4057612db394612d7b8e612dab96614f2e565b938315612dd857612d8f9160020b9061209f565b915b15612dc3578160020b8160020b135f14612dbc575061335b565b60020b614e5c565b955f9695612226565b905061335b565b8160020b8160020b125f14612dbc575061335b565b612de59160020b9061335b565b91612d91565b612df8915160020b61335b565b91612d63565b505f92508990612d41565b5080612203565b915060ff60145460181c168080612e67575b8115612e47575b50612e38576240000090612949565b63016ccb0760e01b5f5260045ffd5b90501580612e56575b5f612e29565b5060c4358015158114612e50575f80fd5b905060c43580159081158103610e40575090612e22565b600454600e54111561321a5760019060ff1916175f557fe8775e4a58023f399765c3455b45eebcc45ad6b99607a1163f02e1318430970c5f80a1612ed3612ecb60a06121753660246113e7565b505050614841565b601554612ee26118e682611450565b60015f52600760205290612f025f805160206154e383398151915261147f565b612f0b8361162c565b52612f158261162c565b5060025f526007602052612f355f8051602061550383398151915261147f565b612f3e8361164d565b52612f488261164d565b505f5b8181106131e9575050612f63906123bb3660246113e7565b5060145460181c60ff1690811561319e576044356001600160a01b0381168103610e4057612fce918491612fb8906001600160801b0390612fa3906145cf565b16600f0b60018060801b0392600f0b9061203c565b165b60035490612fc93660246113e7565b614ca4565b90604080519290612fdf81856113b4565b60018452601f19015f5b81811061316f575050805160020b6020820191825160020b90604060018060801b0391015116906040519261301d84611333565b835260208301526040820152600160608201526130398461162c565b526130438361162c565b505160020b901561314657608435928360020b8403610e405761308061307a613075613093948761309898509061209f565b613378565b91613378565b9061308c3660246113e7565b9184613a82565b61162c565b5160015f52600760205260405f2090805162ffffff198354169062ffffff161782556130cb602082015160020b83611671565b60408101518254606090920151600160301b600160b81b031990921660309190911b600160301b600160b01b03161760b09190911b60ff60b01b161790555f5b6015546001810180911161145e5781101561313f578061312c600192611450565b5f5260076020525f60408120550161310b565b505f612100565b608435928360020b8403610e405761308061307a6130756130939461225c886130989950612071565b60209060405161317e81611333565b5f81525f838201525f60408201525f606082015282828801015201612fe9565b6024356001600160a01b0381168103610e4057612fce9184916131e3906001600160801b03906131cd906145cf565b6001600160801b039360801d9116600f0b61203c565b16612fba565b80600301908160031161145e576001915f52600760205261321360405f20612ad2612acc84611450565b5001612f4b565b631ed9bcf960e01b5f5260045ffd5b5060ff8116156120fb565b6315d7892d60e21b92505f91508190565b630fc95b4360e01b5f5260045ffd5b636fce6c3960e01b5f5260045ffd5b6001607f1b81101561327557600f0b90565b6335278d125f526004601cfd5b6132a5906132978360801d8260801d01614ed9565b92600f0b90600f0b01614ed9565b60018060801b03169060801b1790565b90816020910312610e40575190565b6001600160a01b039182165f9081529282166020908152604093849020935163789add5560e11b815260048101949094529183916024918391165afa908115610e35575f91613311575090565b90506020813d602011613338575b8161332c602093836113b4565b81010312610e40575190565b3d915061331f565b60020b5f190190627fffff198212627fffff83131761145e57565b600291820b910b0390627fffff198212627fffff83131761145e57565b60020b908160ff1d82810118620d89e881116136925763ffffffff9192600182167001fffcb933bd6fad37aa2d162d1a59400102600160801b189160028116613676575b6004811661365a575b6008811661363e575b60108116613622575b60208116613606575b604081166135ea575b608081166135ce575b61010081166135b2575b6102008116613596575b610400811661357a575b610800811661355e575b6110008116613542575b6120008116613526575b614000811661350a575b61800081166134ee575b6201000081166134d2575b6202000081166134b7575b62040000811661349c575b6208000016613483575b5f1261347b575b0160201c90565b5f1904613474565b6b048a170391f7dc42444e8fa290910260801c9061346d565b6d2216e584f5fa1ea926041bedfe9890920260801c91613463565b916e5d6af8dedb81196699c329225ee6040260801c91613458565b916f09aa508b5b7a84e1c677de54f3e99bc90260801c9161344d565b916f31be135f97d08fd981231505542fcfa60260801c91613442565b916f70d869a156d2a1b890bb3df62baf32f70260801c91613438565b916fa9f746462d870fdf8a65dc1f90e061e50260801c9161342e565b916fd097f3bdfd2022b8845ad8f792aa58250260801c91613424565b916fe7159475a2c29b7443b29c7fa6e889d90260801c9161341a565b916ff3392b0822b70005940c7a398e4b70f30260801c91613410565b916ff987a7253ac413176f2b074cf7815e540260801c91613406565b916ffcbe86c7900a88aedcffc83b479aa3a40260801c916133fc565b916ffe5dee046a99a2a811c461f1969c30530260801c916133f2565b916fff2ea16466c96a3843ec78b326b528610260801c916133e9565b916fff973b41fa98c081472e6896dfb254c00260801c916133e0565b916fffcb9843d60f6159c9db58835c9266440260801c916133d7565b916fffe5caca7e10e4e61c3624eaa0941cd00260801c916133ce565b916ffff2e50f5f656932ef12357cf3c7fdcc0260801c916133c5565b916ffff97272373d413259a46990580e213a0260801c916133bc565b826345c3193d60e11b5f5260045260245ffd5b604051906136b282611399565b5f6040838281528260208201520152565b905f19820191821360011661145e57565b81810392915f13801582851316918412161761145e57565b801561145e575f190190565b60020b9060020b90811561371a57627fffff1981145f1983141661145e570590565b634e487b7160e01b5f52601260045260245ffd5b8181029291811591840414171561145e57565b811561371a570490565b9291909161375761480d565b613764601354809261372e565b906137726010548093611472565b9060115492838311613a46575b61378761480d565b6001810180911161145e576137a49261379f9161372e565b611472565b91808311613a3e575b50808214613a01576137e06137cf6137e6936117f46117eb60105480936115a1565b916117f46117eb60105480936115a1565b906115a1565b936015549384805b6139c0575b5061380a6020613814920194855160020b9061335b565b8560020b906136f8565b918461384b60ff60145460181c1694855f1461398657606085015160020b90818160020b125f1461397f57505b97600d5490615113565b9180613857838561372e565b1161396f575050925b5160020b9461386e856115ae565b9561387c60405197886113b4565b858752601f1961388b876115ae565b015f5b8181106139585750505f905b8682106138ab575050505050505090565b6138b5828961165d565b519060020b905260016138e76138d9846138cf858c61165d565b515160020b61209f565b606086015160020b90614f2e565b9160206138f4828b61165d565b51018360020b9052613939878a613932602061392786613921613917828761165d565b515160020b613378565b9461165d565b51015160020b613378565b9089614fcc565b6040613945838c61165d565b510190838060801b03169052019061389a565b6020906139636136a5565b82828c0101520161388e565b6139799250613741565b92613860565b9050613841565b60608501613997815160020b612071565b60020b8260020b125f146139ad57505b976117fa565b6139bb91505160020b612071565b6139a7565b945f19860186811161145e576139d590615001565b6139de87615001565b036139fb576139ef6139f5916136ec565b956136ec565b806137ee565b946137f3565b505050505050604051613a156020826113b4565b5f81525f805b818110613a2757505090565b602090613a326136a5565b82828601015201613a1b565b91505f6137ad565b83925061377f565b805115158252602080820151908301526040908101516001600160a01b0316910152565b600160ff1b811461145e575f0390565b9392916001600160a01b039182169116818103613f83575b50505f915f5b8451811015613c0d576001600160801b036040613abd838861165d565b51015116613ace575b600101613aa0565b613b7e90604060ff60145460181c16805f14613bf557613aee838961165d565b515160020b905b15613be1576020613b06848a61165d565b51015160020b5b613b2c6001600160801b0384613b23878d61165d565b51015116613263565b60ff6060613b3a878d61165d565b5101511691845193613b4b85611333565b60020b845260020b6020840152600f0b838301526060820152815180948192632d35e7ed60e11b83528860048401611531565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1918215610e3557600192613bc4575b509050613ac6565b613bdb9060403d8111611db257611da481836113b4565b50613bbc565b613beb838961165d565b515160020b613b0d565b6020613c01848a61165d565b51015160020b90613af5565b509190928051905f19820191821161145e57602091613c2b9161165d565b5101516018549060181b65ffffff000000169065ffffff0000001916176018557f0000000000000000000000000000000000000000000000000000000000000000613c8060018060a01b0385511630836132c4565b906020850194613c9a60018060a01b0387511630846132c4565b925f8113613f1c575b848413613ea7575b848112613db4575b5050828212613cc4575b5050509050565b84516001600160a01b039081169591169190823b15613db05760405195632961046560e21b87526004870152838660248183875af195861561074b57849596613d93575b505160209291613d2d916001600160a01b0316908390613d2790613a72565b91614611565b600460405180958193630476982d60e21b83525af1908115613d875750613d58575b80808392613cbd565b613d799060203d602011613d80575b613d7181836113b4565b8101906132b5565b505f613d4f565b503d613d67565b604051903d90823e3d90fd5b84613da29195929394956113b4565b613db057908392915f613d08565b8380fd5b81516001600160a01b03848116939116833b15612ba65760405190632961046560e21b82526004820152868160248183885af18015613e9c57908791613e87575b505080516001600160a01b031680613e73575b50516001600160a01b0316613e6957613e22602091613a72565b915b600460405180948193630476982d60e21b83525af1801561074b57613e4a575b80613cb3565b613e629060203d602011613d8057613d7181836113b4565b505f613e44565b5060208491613e24565b613e819084613d2785613a72565b5f613e08565b81613e91916113b4565b612c0957855f613df5565b6040513d89823e3d90fd5b86516001600160a01b038481169116813b15612ba65785613ee392889283604051809681958294630b0d9c0960e01b845230906004850161157f565b03925af18015613f1157908691613efc575b5050613cab565b81613f06916113b4565b611ed257845f613ef5565b6040513d88823e3d90fd5b81516001600160a01b03908116908416803b15610e4057825f91613f599383604051809681958294630b0d9c0960e01b845230906004850161157f565b03925af18015610e3557613f6e575b50613ca3565b613f7b9195505f906113b4565b5f935f613f68565b60405191613f9083611399565b81108252600160208301526040820152613fc860405191633cf3645360e21b8352613fbe60048401856114ee565b60a4830190613a4e565b6101206101048201525f610124820152602081610144815f60018060a01b037f0000000000000000000000000000000000000000000000000000000000000000165af18015610e355761401c575b80613a9a565b6140349060203d602011613d8057613d7181836113b4565b505f614016565b6101409290916140c391906001600160a01b0361405782611181565b1684526001600160a01b0361406e60208301611181565b16602085015262ffffff614084604083016113d7565b166040850152614096606082016112a4565b60020b60608501526001600160a01b03906140b390608001611181565b16608084015260a0830190613a4e565b6101206101008201525f6101208201520190565b60ff5f54166145c1576141299060a06140f13660246113e7565b207f00000000000000000000000000000000000000000000000000000000000000009061411e8183614754565b949290969150614841565b60145460181c60ff1680156145ae5760185460181c60020b8260020b135b60015f5260076020525f805160206154e38339815191525460020b9082156145a257818460020b12905b156144c05750505050906141ea91602060ff60145460181c16805f146144ac576141a561307560185460181c60020b612084565b604051916141b283611399565b151582526001838301526001600160a01b031660408083019190915251633cf3645360e21b815294859182919060246004840161403b565b03815f6001600160a01b0386165af18015610e3557614479575b61420e9250614754565b50509050925b60c435908115158203610e405762ffffff91610fff9182911561447057165b169116620f42408183020491010360ff60145460181c165f146143c757608082901d5f600f82900b1261438257600354614276916001600160801b031690611472565b6003555b600f82900b5f81126143285750505f805160206154c3833981519152916142ad60609260018060801b03166004546115a1565b6004555b600454600f548110156142e4575b600354906040519260020b835260208301526040820152a163b47b2fb160e01b905f90565b61010061ff00195f5416175f557f628a470bfdde264ef77cd19acfbfca22b3e4413adaf5837ec9fbc0043e35793f602061431c61480d565b604051908152a16142bf565b62ffffff919250614338906114c1565b9116620f42400391620f4240831161145e575f805160206154c38339815191529260609261437a91614372916001600160801b031661518e565b600454611472565b6004556142b1565b61438b906114c1565b62ffffff8216620f42400390620f4240821161145e576143bf916143b7916001600160801b031661518e565b6003546115a1565b60035561427a565b90600f81900b5f811261443357506003546143ec906001600160801b03831690611472565b6003555b60801d905f600f83900b1261442557505f805160206154c38339815191529161437a60609260018060801b03166004546115a1565b9061433862ffffff916114c1565b61443c906114c1565b62ffffff8316620f42400390620f4240821161145e57614468916143b7916001600160801b031661518e565b6003556143f0565b600c1c16614233565b6020833d6020116144a4575b81614492602093836113b4565b81010312610e405761420e9250614204565b3d9150614485565b6141a561307560185460181c60020b613340565b97949392976144d3575b50505050614214565b614534949750906144f0602092825f146145995761307590613340565b604051916144fd83611399565b1582526001838301526001600160a01b031660408083019190915251633cf3645360e21b815294859182919060246004840161403b565b03815f6001600160a01b0386165af18015610e3557614566575b6145589250614754565b50509050925f8080806144ca565b6020833d602011614591575b8161457f602093836113b4565b81010312610e4057614558925061454e565b3d9150614572565b61307590612084565b818460020b1390614171565b60185460181c60020b8260020b12614147565b5063b47b2fb160e01b905f90565b6001600160a01b0316806145e257504790565b6020602491604051928380926370a0823160e01b82523060048301525afa908115610e35575f91613311575090565b9091906001600160a01b038116908161469f5750505f80808093855af1156146365750565b6040516390bfb86560e01b81526001600160a01b0390911660048201525f602482018190526080604483015260a03d601f01601f191690810160648401523d6084840152903d9060a484013e808201600460a482015260c4633d2cec6f60e21b91015260e40190fd5b60205f604481949682604095865198899363a9059cbb60e01b855260018060a01b0316600485015260248401525af13d15601f3d116001855114161716928281528260208201520152156146f05750565b6040516390bfb86560e01b8152600481019190915263a9059cbb60e01b602482015260806044820152601f3d01601f191660a0810160648301523d60848301523d5f60a484013e808201600460a482015260c4633c9fd93960e21b91015260e40190fd5b919060209060405182810191825260066040820152604081526147786060826113b4565b519020604051631e2eaeaf60e01b8152600481019190915292839060249082906001600160a01b03165afa918215610e35575f926147d9575b506001600160a01b0382169160a081901c60020b9162ffffff60b883901c81169260d01c1690565b9091506020813d602011614805575b816147f5602093836113b4565b81010312610e405751905f6147b1565b3d91506147e8565b60105480421061483b5761482461482d91426115a1565b60135490613741565b6001810180911161145e5790565b50600190565b73fffd8963efd1fc6a506488495d951d51639616826401000276a21982016001600160a01b031611614ada57602081901b600160201b600160c01b0316808015610e4057693627a301d71055774c859160ff8260018060801b031060071b83811c60018060401b031060061b1783811c63ffffffff1060051b1783811c61ffff1060041b1783811c821060031b177b01c1818141808140018080c0814100004181408140c0c100414140c160221b6f8421084210842108cc6318c6db6d54be85831c1c601f161a17169160808310155f14614ace5750607e1982011c5b800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c800280607f1c8160ff1c1c80029081607f1c8260ff1c1c80029283607f1c8460ff1c1c80029485607f1c8660ff1c1c80029687607f1c8860ff1c1c80029889607f1c8a60ff1c1c80029a8b607f1c8c60ff1c1c80029c8d80607f1c9060ff1c1c600160321b90800260cd1c169d600160331b9060cc1c169c600160341b9060cb1c169b600160351b9060ca1c169a600160361b9060c91c1699600160371b9060c81c1698600160381b9060c71c1697600160391b9060c61c16966001603a1b9060c51c16956001603b1b9060c41c16946001603c1b9060c31c16936001603d1b9060c21c16926001603e1b9060c11c16916001603f1b9060c01c1690607f190160401b1717171717171717171717171717026fdb2df09e81959a81455e260799a0632f6f028f6481ab7f045a5af012a19d003aa919820160801d60020b910160801d60020b918282145f14614aaa5750905090565b6001600160a01b0390811690614abf84613378565b1611614ac9575090565b905090565b905081607f031b61491e565b6318521d4960e21b5f9081526001600160a01b0391909116600452602490fd5b91905f905f905f5b8551811015614c8d576001600160801b036040614b1f838961165d565b51015116614b30575b600101614b02565b9192614bdf604060ff60145460181c16805f14614c7557614b51868a61165d565b515160020b905b15614c61576020614b69878b61165d565b51015160020b5b8960ff6060614b9b8a6139216001600160801b0389614b8f848961165d565b51015116600f0b6114c1565b5101511691845193614bac85611333565b60020b845260020b6020840152600f0b838301526060820152815180938192632d35e7ed60e11b83528760048401611531565b03815f7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165af1918215610e3557600192614c36925f905f92614c3e575b50614c309192613282565b95613282565b929050614b28565b614c309250614c5b915060403d8111611db257611da481836113b4565b91614c25565b614c6b868a61165d565b515160020b614b70565b6020614c81878b61165d565b51015160020b90614b58565b505091909250614c9f82600654613282565b600655565b9093929193614cb16136a5565b9480614e0457505f5b6001600160a01b031680614cde5750505060020b80835260208301525f6040830152565b919250614de991614d9090606090614d829060b56001600160881b03821160071b82811c6001600160481b031060061b1782811c64ffffffffff1060051b1782811c62ffffff1060041b17600181811c9290921b9083901c62010000010260121c80830401811c80830401811c80830401811c80830401811c80830401811c80830401811c80830401901c908190048111900360301b6001600160a01b0316614841565b940193845160020b90614f2e565b92614dd1602087019460020b9182865260ff60145460181c1692835f14614df15750614dc690865160020b905160020b9061335b565b60020b808852613378565b93516001600160801b0394906129e29060020b613378565b166040830152565b614dff915160020b9061209f565b614dc6565b8160ff60145460181c165f14614e3d5750600654614e3891614e329160801d6001600160801b0316906115a1565b826152fd565b614cba565b600654614e3892614e57916001600160801b0316906115a1565b6152fd565b90670de0b6b3a7640000820291808305670de0b6b3a7640000149015171561145e57565b81810292915f8212600160ff1b82141661145e57818405149015171561145e57565b9060018201915f60018412911290801582169115161761145e57565b9190915f838201938412911290801582169115161761145e57565b9081600f0b918203614ee757565b6393dafdf160e01b5f5260045ffd5b80628000000160181c15614f11576335278d125f526004601cfd5b60020b90565b9060020b9060020b02908160020b91820361145e57565b9060ff60145460181c165f14614f7a575f8260020b125f14614f6d57614f6881614f63614f5e82611e679661335b565b612084565b6136f8565b614f17565b614f6881611e67936136f8565b5f8260020b125f14614f9357614f6881611e67936136f8565b614f6881614f63614fa782611e679661209f565b613340565b6117fa6117db6117d26117c96117c4611e6795614fc761480d565b614ebe565b90929091908015614ffb575f19810190811161145e57915b15614ff257611e6792615420565b611e67926153dd565b91614fe4565b61501c6150136150259261379f61480d565b6013549061372e565b60105490611472565b601154808211614ac9575090565b90670de0b6b3a76400008202905f19670de0b6b3a7640000840992828085109403938085039485841115610e4057146150c357670de0b6b3a764000082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b5091500490565b81810291905f1982820991838084109303928084039384600160601b1115610e40571461510a57600160601b910990828211900360a01b910360601c1790565b50505060601c90565b808202905f1983820990828083109203918083039283670de0b6b3a76400001115610e40571461517d577faccb18165bd6fe31ae1cf318dc5b51eee0e1ba569b88cd74c1773b91fac1066993670de0b6b3a7640000910990828211900360ee1b910360121c170290565b5050670de0b6b3a764000091500490565b808202905f1983820990828083109203918083039283620f42401115610e4057146151ee577fde8f6cefed634549b62c77574f722e1ac57e23f24d8fd5cb790fb65668c2613993620f4240910990828211900360fa1b910360061c170290565b5050620f424091500490565b90606082901b905f19600160601b840992828085109403938085039485841115610e4057146150c3578190600160601b900981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b91818302915f1981850993838086109503948086039586851115610e4057146152f5579082910981805f03168092046002816003021880820260020302808202600203028082026002030280820260020302808202600203028091026002030293600183805f03040190848311900302920304170290565b505091500490565b90615307916151fa565b6001600160a01b03811161532d57600160a01b811015613275576001600160a01b031690565b505f90565b615378612dab615348612ecb60a0612175611f3d565b60145460181c60ff16156153ac5760125460020b808260020b135f146153a557505b60125460181c60020b61335b565b61538a614824601154601054906115a1565b90811561371a57600160ff1b81145f1983141661145e570590565b905061536a565b60125460020b808260020b125f146153a5575061536a565b6001600160a01b03918216908216039190821161145e57565b611e67926154159290916001600160a01b038083169082161161541a575b6001600160a01b039161540e91906153c4565b16906151fa565b615474565b906153fb565b611e6792615415929091906001600160a01b038082169083161161546e575b6154676154586001600160a01b038381169085166150ca565b926001600160a01b03926153c4565b169161527d565b9061543f565b6001600160801b0381169190820361548857565b60405162461bcd60e51b81526020600482015260126024820152716c6971756964697479206f766572666c6f7760701b6044820152606490fdfe27db09392d7d230eb65a11bd84925fb8da90df8a067ca8a4fc2933b4f637262bb39221ace053465ec3453ce2b36430bd138b997ecea25c1043da0c366812b828b7c774451310d1be4108bc180d1b52823cb0ee0274a6c0081bcaf94f115fb96da164736f6c634300081a000a";
3984
4091
 
3985
4092
  declare const _default$4: "0x608060405234610444576130dd8038038061001981610754565b928339810160c0828203126104445781516001600160401b0381116104445781610044918401610779565b60208301519092906001600160401b0381116104445782610066918301610779565b92604082015190610079606084016107ca565b92610086608082016107ca565b60a08201519095906001600160401b038111610444576100a69201610779565b936001600160a01b03168015610741575f80546001600160a01b03198116831782556001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a38051906001600160401b03821161047a5760015490600182811c92168015610737575b602083101461055f5781601f8493116106c9575b50602090601f8311600114610663575f92610658575b50508160011b915f199060031b1c1916176001555b83516001600160401b03811161047a57600254600181811c9116801561064e575b602082101461055f57601f81116105eb575b50602094601f8211600114610588579481929394955f9261057d575b50508160011b915f199060031b1c1916176002555b82516001600160401b03811161047a57600354600181811c91168015610573575b602082101461055f57601f81116104fc575b506020601f821160011461049957819293945f9261048e575b50508160011b915f199060031b1c1916176003555b604051610bec808201906001600160401b0382118383101761047a5760209183916124f183393381520301905ff0801561046f5768a20d6e21d0e5255309546001600160a01b03918216911661046257801561045557630f4599e55f523360205260205f6024601c82855af160015f5114161561044857678da5cb5b6cef16e65f5260208060046018305afa601f3d1160205160601b151016610435575b68a20d6e21d0e5255308805463ffffffff60201b191664010000000017905568a20d6e21d0e525530980546001600160a01b0319169190911790558061030b575b604051611cf190816108008239f35b6001600160a01b03821691821561042857670de0b6b3a7640000820463fffffffe108260601c1761041b5768a20d6e21d0e525530880546001600160a01b031660a084901b6001600160a01b0319169081179091556103ae929061036e836107de565b80546001600160a01b031690911790555f90815283907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082a36107de565b906bff00000000000000000000008254918260581c9060015f527fb5a1de456fff688115a4f75380060c23c8532d14ff85f687cc871456d642039360205fa2600260ff821691161560011b1860011760581b16906bff000000000000000000000019161790555f806102fc565b63e5cfe9575f526004601cfd5b63ea553b345f526004601cfd5b5f806004601c82855af16102bb575b5f80fd5b63d125259c5f526004601cfd5b6339a84a7b5f526004601cfd5b63ead4d2e45f526004601cfd5b6040513d5f823e3d90fd5b634e487b7160e01b5f52604160045260245ffd5b015190505f80610208565b601f1982169060035f52805f20915f5b8181106104e4575095836001959697106104cc575b505050811b0160035561021d565b01515f1960f88460031b161c191690555f80806104be565b9192602060018192868b0151815501940192016104a9565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610555575b601f0160051c01905b81811061054a57506101ef565b5f815560010161053d565b9091508190610534565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101dd565b015190505f806101a7565b601f1982169560025f52805f20915f5b8881106105d3575083600195969798106105bb575b505050811b016002556101bc565b01515f1960f88460031b161c191690555f80806105ad565b91926020600181928685015181550194019201610598565b60025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace601f830160051c81019160208410610644575b601f0160051c01905b818110610639575061018b565b5f815560010161062c565b9091508190610623565b90607f1690610179565b015190505f80610143565b60015f9081528281209350601f198516905b8181106106b15750908460019594939210610699575b505050811b01600155610158565b01515f1960f88460031b161c191690555f808061068b565b92936020600181928786015181550195019301610675565b60015f529091507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6601f840160051c8101916020851061072d575b90601f859493920160051c01905b81811061071f575061012d565b5f8155849350600101610712565b9091508190610704565b91607f1691610119565b631e4fbdf760e01b5f525f60045260245ffd5b6040519190601f01601f191682016001600160401b0381118382101761047a57604052565b81601f82011215610444578051906001600160401b03821161047a576107a8601f8301601f1916602001610754565b928284526020838301011161044457815f9260208093018386015e8301015290565b51906001600160a01b038216820361044457565b6001600160a01b03165f90815268a20d6e21d0e5255313602052604090209056fe6080806040526004361015610667575b50361561065c575f3560e01c63e5eb36c881146103d25763f6916ddd811461038f576362fb246d811461036b57632d8a746e81146103325763c016aa52811461031f5763d10b6e0c811461022f576327ef549581146102145763f5b100ea81146101ef5763e2c7928181146101d45763cb30b46081146100a95763b7a94eb8146100a057633c10b94e5f526004601cfd5b60015f5260205ff35b60206040510160405260606003546100c081610f14565b6100e4575b50605f601f198201915f6020825180930101526020835201601f191690f35b905060405190608082019160a081016040525f8352600a600435935b5f19019360308282060185530492831561011c57600a90610100565b9250608083601f19810192030181526040519283915f9061013c85610f14565b94600181169081156101b45750600114610173575b61016d9450518092825e015f815203601f198101835282610f4c565b816100c5565b905060035f5260205f20935f5b818110610198575061016d9450830160200190610151565b8554602082890181019190915260019096019587955001610180565b602092935061016d96915060ff1916828601528015150284010190610151565b63ffffffff68a20d6e21d0e52553085460801c165f5260205ff35b63ffffffff6102086004356001600160a01b0316610f83565b5460801c165f5260205ff35b6001600160a01b03610227600435611adf565b165f5260205ff35b68a20d6e21d0e5255309546001600160a01b03163303610312576001600160a01b036044358116906024359060043581169061028061027b5f19600160201b861086020160011b611b18565b611a54565b5416928381036102ef575b505f82815268a20d6e21d0e525530c60209081526040822080546001600160a01b0319166001600160a01b03851617905568a20d6e21d0e525530d60601b600885901c018054600160ff90961695861b191693151590941b92909217909255918152f35b6102f99084611097565b5415610305578361028b565b63cfb3b9425f526004601cfd5b63ce5a776b5f526004601cfd5b6001600160a01b03610227600435611ab6565b6004356001600160a01b0361034682611ab6565b161561035e576001600160a01b039061022790611ab6565b63ceea21b65f526004601cfd5b6103856001600160a01b0360243581169060043516611097565b5415155f5260205ff35b68a20d6e21d0e5255309546001600160a01b031633036103125760243515156103c86001600160a01b0360043581169060443516611097565b5560015f5260205ff35b68a20d6e21d0e5255309546001600160a01b031633819003610312576001600160a01b036024358116916004358216916044359160643590911690841561064f5715610642576001600160a01b0361043a61027b600160201b851085025f190160011b611b18565b54168303610635578281036105fc575b5061045482610f83565b9061045e84610f83565b90825460a01c9283670de0b6b3a7640000116105ef576105989361049690670de0b6b3a763ffff19016001600160601b031682611a70565b82546104b89060a01c670de0b6b3a7640000016001600160601b031684611a70565b6104c182611b58565b6105be575b60016104f56104d487610fa4565b926104ef63ffffffff5f1981845460801c1601168092611a93565b83611b3c565b610517816105095f198701851b8501611b18565b9463ffffffff861690611b97565b63ffffffff5f19911601811b019060e08260031c685106b710e87292a98960611b019260051b1682549182821c1863ffffffff16901b1890556105928563ffffffff845460801c169361057363ffffffff600187011682611a93565b61058d61057f83610fa4565b8663ffffffff871691611b97565b611bbf565b90611c4f565b670de0b6b3a76400005f525f80516020611cc583398151915260205fa360015f5260205ff35b6105c782611b76565b5f82815268a20d6e21d0e525530c6020526040902080546001600160a01b03191690556104c6565b63f4d678b85f526004601cfd5b6106068184611097565b5461044a576001600160a01b0361061c83611adf565b1603610628578361044a565b6359c896be5f526004601cfd5b63a11481005f526004601cfd5b6340739bf05f526004601cfd5b63ea553b345f526004601cfd5b3461066357005b5f80fd5b5f3560e01c90816306fdde0314610e1c57508063095ea7b314610d7b57806310aa0ebb14610d5657806316f0115b14610d2e57806318160ddd14610d06578063207d063614610cc357806323b872dd14610c1d578063274e430b14610bf05780632a6a935d14610b7e578063313ce56714610b635780634ef41efc14610b3357806355f804b3146109c757806370a0823114610998578063715018a61461095457806389026538146109275780638da5cb5b1461090057806395d89b4114610826578063a9059cbb146107f5578063dd62ed3e146107c15763f2fde38b1461074f575f61000f565b3461066357602036600319011261066357610768610ee8565b610770611053565b6001600160a01b031680156107ae575f80546001600160a01b03198116831782556001600160a01b0316905f80516020611ca58339815191529080a3005b631e4fbdf760e01b5f525f60045260245ffd5b346106635760403660031901126106635760206107ed6107df610ee8565b6107e7610efe565b90610fed565b604051908152f35b346106635760403660031901126106635761081b610811610ee8565b60243590336110b5565b602060405160018152f35b34610663575f366003190112610663576040515f60025461084681610f14565b80845290600181169081156108dc575060011461087e575b61087a8361086e81850382610f4c565b60405191829182610ebe565b0390f35b60025f9081527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b8082106108c25750909150810160200161086e61085e565b9192600181602092548385880101520191019092916108aa565b60ff191660208086019190915291151560051b8401909101915061086e905061085e565b34610663575f366003190112610663575f546040516001600160a01b039091168152602090f35b34610663575f3660031901126106635761093f611053565b6004805460ff60a01b1916600160a01b179055005b34610663575f3660031901126106635761096c611053565b5f80546001600160a01b0319811682556001600160a01b03165f80516020611ca58339815191528280a3005b346106635760203660031901126106635760206109bb6109b6610ee8565b610f83565b5460a01c604051908152f35b34610663576020366003190112610663576004356001600160401b03811161066357366023820112156106635760048101356001600160401b03811161066357366024828401011161066357610a1b611053565b610a26600354610f14565b601f8111610ad0575b505f601f8211600114610a6b5781925f92610a5d575b50508160011b915f199060031b1c1916176003555f80f35b602492500101358280610a45565b601f1982169260035f5260205f20915f5b858110610ab557508360019510610a99575b505050811b01600355005b01602401355f19600384901b60f8161c19169055828080610a8e565b90926020600181926024878701013581550194019101610a7c565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610b29575b601f0160051c01905b818110610b1e5750610a2f565b5f8155600101610b11565b9091508190610b08565b34610663575f3660031901126106635768a20d6e21d0e5255309546040516001600160a01b039091168152602090f35b34610663575f36600319011261066357602060405160128152f35b3461066357602036600319011261066357600435801580158092036106635761081b91610baa33610f83565b91825460581c915f52337fb5a1de456fff688115a4f75380060c23c8532d14ff85f687cc871456d642039360205fa2600260ff83169216151860011b1860011790611036565b34610663576020366003190112610663576020610c13610c0e610ee8565b610fc5565b6040519015158152f35b3461066357606036600319011261066357610c36610ee8565b610c3e610efe565b60443590610c4c3384611079565b926e22d473030f116ddee9f6b43ac78ba3331480610cac575b15610ca4575f19935b60018501610c82575b5061081b93506110b5565b848411610c97578361081b9503905584610c77565b6313be252b5f526004601cfd5b835493610c6e565b506004610cb882610f83565b5460581c1615610c65565b3461066357602036600319011261066357610cdc610ee8565b610ce4611053565b600480546001600160a81b0319166001600160a01b0392909216919091179055005b34610663575f36600319011261066357602068a20d6e21d0e52553085460a01c604051908152f35b34610663575f366003190112610663576004546040516001600160a01b039091168152602090f35b34610663575f36600319011261066357602060ff60045460a01c166040519015158152f35b3461066357604036600319011261066357610d94610ee8565b6001600160a01b03811690602435908190610dc6906e22d473030f116ddee9f6b43ac78ba38514610dfa575b33611079565b555f52337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560205fa3602060405160018152f35b610e17610e0633610f83565b600460ff825460581c161790611036565b610dc0565b34610663575f366003190112610663575f600154610e3981610f14565b80845290600181169081156108dc5750600114610e605761087a8361086e81850382610f4c565b60015f9081527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6939250905b808210610ea45750909150810160200161086e61085e565b919260018160209254838588010152019101909291610e8c565b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b038216820361066357565b602435906001600160a01b038216820361066357565b90600182811c92168015610f42575b6020831014610f2e57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610f23565b601f909101601f19168101906001600160401b03821190821017610f6f57604052565b634e487b7160e01b5f52604160045260245ffd5b6001600160a01b03165f90815268a20d6e21d0e52553136020526040902090565b6001600160a01b03165f90815268a20d6e21d0e52553106020526040902090565b90610fcf82610f83565b5460581c916001600284161515931615610fe65750565b3b15159150565b906001600160a01b0381166e22d473030f116ddee9f6b43ac78ba31461101b575b61101791611079565b5490565b600461102683610f83565b5460581c1661100e5750505f1990565b805460ff60581b191660589290921b60ff60581b16919091179055565b5f546001600160a01b0316330361106657565b63118cdaa760e01b5f523360045260245ffd5b9060285260145268a20d6e21d0e525530f5f5260485f20905f602852565b9060285260145268a20d6e21d0e525530b5f5260485f20905f602852565b6004549092906001600160a01b03838116908216149081611a45575b50611a36576001600160a01b0382161561064f576110ee83610f83565b6110f783610f83565b68a20d6e21d0e5255309546001600160a01b031615610642576040519161018083016001600160401b03811184821017610f6f576040525f83525f60208401525f60808401525f60a08401525f60c08401525f60e08401525f6101008401525f6101208401525f6101408401525f610160840152805463ffffffff8160801c16604085015263ffffffff835460801c1660608501528060a01c85116105ef5760a01c8490036111af6001600160601b03821683611a70565b825460a01c8501906111ca6001600160601b03831685611a70565b670de0b6b3a76400006040860151910480820391110284526111eb86610fc5565b156119ee575b506117e9565b68a20d6e21d0e52553085463ffffffff60208501518551928382848360801c1601038060808901528360801b9060801b16908360801b191617928368a20d6e21d0e52553085501916040519260c060a085019180835260051b850101604052836040015260c0830183528261016087015260601c1661012085015283516116c9575b5050602082015161135e575b506101408101518061131a575b506101600151806112c8575b505f9081526001600160a01b0391821692909116905f80516020611cc583398151915290602090a3565b600160206040828060a01b0368a20d6e21d0e5255309541693015192603f19840193849163263c69d6835283601f198301525f825160051b6044019260231901915af19151141615610663575f61129e565b600160205f9281838060a01b0368a20d6e21d0e5255309541691015190815160051b60840190607f19830195869360631901915af19151141615610663575f611292565b9194610160829492015160208360601b91015261137a82610fa4565b9463ffffffff61138a8486611bbf565b1660e086015268a20d6e21d0e5255308549263ffffffff670de0b6b3a76400008560a01c049460201c1684811190811502176101008701526113e460608701519563ffffffff602089015188018060c08b01521690611a93565b63ffffffff68a20d6e21d0e52553085460401c169760015b1561166a575b6101208701515f9063ffffffff8b81169116146114b8576114b363ffffffff60018c01169a60e0641fffffffe0631fffffff8360031c1668a20d6e21d0e525531160601b01549260051b16161c63ffffffff165b8060081c685106b710e87292a98760611b0160018260ff161b801982541617905561148863ffffffff82168a8d611b97565b6114a863ffffffff60e08c01511663ffffffff60018c019b169083611c4f565b6101608a0151611c8e565b6113fc565b949798939291906101008801515b63ffffffff6114da5f19830160011b611b18565b1615611646575f19906001810160081c685106b710e87292a98760611b018054196001830160ff1690811c901b80156115ce575b80611524575b50505089811190811502176114c6565b600180939450811901167e1f0d1e100c1d070f090b19131c1706010e11080a1a141802121b1503160405601f6101e07a1412563212c14164235266736f7425221143267a4524367526767760fc7b2aaaaaaaba69a69a6db6db6db2cb2cb2ce739ce73def7bdeffffffff860260f81c161b60f71c1692831c63d76453e004161a179082685106b710e87292a98760611b03190160081b17910181108a8211175f03175f8080611514565b506001909c9895929c9a9794919a9693965b01805419685106b710e87292a98760611b60088e901c018211811761160857506001906115e0565b9c9295989c9a9194979a969396808d60081c685106b710e87292a98760611b018311611635575b5061150e565b508c1960ff1690811b901c8061162f565b6114b3909a999691929394959a6001810188811190811502176101008b0152611456565b60c0870151860361140257945094925094509468a20d6e21d0e52553085463ffffffff60201b61010084015160201b169163ffffffff60401b9060401b1690600160201b600160601b031916171768a20d6e21d0e5255308555f611285565b602060018860609a9699959a989497981b179101526116e782610fa4565b9461170760408801519563ffffffff895188038060a08c01521690611a93565b60015b156117d0575b5f945f1901946117208688611b3c565b63ffffffff8116905f1982018060021c685106b710e87292a98960611b019060c082549160061b1681811c60018060401b0316901b189055611767826101608c0151611c8e565b600160ff62ffffff8360081c16685106b710e87292a98760611b0192161b19815416905561179481611b58565b61179f575b5061170a565b6117a881611b76565b5f90815268a20d6e21d0e525530c6020526040812080546001600160a01b0319169055611799565b60a0870151850361171057935093509390945f80611279565b9194604086979294970151948651976020880151898110818b18028a1899888b108b8a180289146119df578a8918898c10028918908190038a52900360208901526001600160a01b03838116908316146119bd576040805163144027d3818301526001600160a01b03858116606080840191909152908516608083015260a08201528a8918898c1002891860c0820181815260059190911b820160e0908101909352602082015290810181526101408901526118a483610fa4565b956118ae83610fa4565b9763ffffffff6118be8584611bbf565b1660e08b015260608a01519a81811090821802188a019560015b15611977575b878b6119228163ffffffff808f8f9061191660e0928461190d5f9b5f1960408701510190816040880152611b3c565b16988991611b97565b01511691169083611c4f565b6101408c01516020815183815201905261193b81611b58565b611946575b506118d8565b61194f81611b76565b5f90815268a20d6e21d0e525530c6020526040812080546001600160a01b0319169055611940565b9960010199868b036118de579398955093986119a492975063ffffffff9196508060608701521683611a93565b6119b863ffffffff60408501511682611a93565b6111f7565b94929786819895939897929710908218021860608401510160608401526111f7565b505094929750945094916111f7565b670de0b6b3a7640000906001600160a01b0388811690881614611a23575b04606084015180820391110260208401525f6111f1565b6040850151855190036060860152611a0c565b632e13674560e01b5f5260045ffd5b60ff915060a01c16155f6110d1565b63ffffffff165f5268a20d6e21d0e525530a60205260405f2090565b80546001600160a01b031660a09290921b6001600160a01b031916919091179055565b805463ffffffff60801b191660809290921b63ffffffff60801b16919091179055565b6001600160a01b0390611ada9061027b90600160201b8110025f190160011b611b18565b541690565b6001600160a01b03611af082611ab6565b161561035e575f90815268a20d6e21d0e525530c60205260409020546001600160a01b031690565b60e08160031c685106b710e87292a98960611b01549160051b161c63ffffffff1690565b60e0908260031c9060601b01549160051b161c63ffffffff1690565b8060081c68a20d6e21d0e525530d60601b01549060ff161c60011690565b60018160081c68a20d6e21d0e525530d60601b019160ff161b198154169055565b60e0909291928360031c9060601b019260051b1682549182821c1863ffffffff16901b189055565b805460601c63ffffffff1692918315611bd6575050565b68a20d6e21d0e5255308805463ffffffff19811663ffffffff918216600101918216908117909255835463ffffffff60601b191660609190911b63ffffffff60601b16179092559092508290611c2b82611a54565b80546001600160a01b0319166001600160a01b039092169190911790551561066357565b5f1901908160021c685106b710e87292a98960611b019260c084549360061b169163ffffffff169060201b1782821c1860018060401b0316901b189055565b9060209082519060081b8284015117815201905256fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa164736f6c634300081a000a608034607857601f610bec38819003918201601f19168301916001600160401b03831184841017607c57808492602094604052833981010312607857516001600160a01b03811690819003607857683602298b8c10b0123180546001600160a01b031916919091179055604051610b5b90816100918239f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60808060405260043610156101c5575b5036156101ba575f3560e01c63263c69d681146101405763144027d381146100cf57630f4599e51461004857633c10b94e5f526004601cfd5b683602298b8c10b01231546001600160a01b0316806100ab575b50683602298b8c10b01230546001600160a01b03811661009e576001600160a01b0319163317683602298b8c10b012305560015f908152602090f35b63bf656a465f526004601cfd5b6004356001600160a01b0316036100c2575f610062565b63c59ec47a5f526004601cfd5b683602298b8c10b01230546001600160a01b03163303610133576004356024359060443591602483810193600481013560051b0101925b8381036101165760015f5260205ff35b803582845f80516020610b2f8339815191525f80a4602001610106565b63363cb3125f526004601cfd5b683602298b8c10b01230546001600160a01b0316330361013357600435602481810191600481013560051b0101905b81810361017f5760015f5260205ff35b8035600881901c6001600160581b03169060018116801560609290921c91820291025f80516020610b2f8339815191525f80a460200161016f565b346101c157005b5f80fd5b5f3560e01c90816301ffc9a71461098a5750806306fdde031461091f578063081812fc146108c8578063095ea7b31461084657806318160ddd146107fa57806323b872dd146107e6578063243598791461078f57806342842e0e1461071c5780636352211e146106ed5780636cef16e61461062157806370a08231146105c45780638da5cb5b1461059457806395d89b411461052957806397e5311c146104fd578063a22cb46514610471578063b88d4fde14610387578063c87b56dd1461030b5763e985e9c514610297575f61000f565b346101c15760403660031901126101c1576102b06109fe565b60205f6044601c6102bf610a14565b6102c7610ad0565b604080516362fb246d87526001600160a01b039889168852979092169091525afa601f3d1116156103035760405260205f516040519015158152f35b3d5f823e3d90fd5b346101c15760203660031901126101c15760043561032881610afa565b505f806024601c610337610ad0565b6040519563cb30b46085526020525afa15610303576103839060205f803e60205f51823e805160205f5101602083013e6040815182015f602082015201604052604051918291826109d4565b0390f35b60803660031901126101c15761039b6109fe565b6103a3610a14565b60443591606435916001600160401b0383116101c157366023840112156101c1576004830135926001600160401b0384116101c15736602485830101116101c1576103ef858385610a64565b813b6103f757005b83602094602460a49360405198899763150b7a028952338a8a015260018060a01b0316604089015260608801526080808801528260a08801520160c086013701905f601c8401915af115610463575b5163757a42ff60e11b0161045657005b63d1a57ed65f526004601cfd5b3d15610446573d5f823e3d90fd5b346101c15760403660031901126101c15761048a6109fe565b6024358015158091036101c15760205f6064601c826104a7610ad0565b9660018060a01b0316966040519663f6916ddd8352888752604052336060525af160015f511416156103035750337f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160206040a3005b346101c1575f3660031901126101c1576020610517610ad0565b6040516001600160a01b039091168152f35b346101c1575f3660031901126101c157610541610ad0565b5f806024601c604051946395d89b418452836020525afa15610303576103839060205f803e60205f51823e805160205f5101602083013e6040815182015f602082015201604052604051918291826109d4565b346101c1575f3660031901126101c157683602298b8c10b01232546040516001600160a01b039091168152602090f35b346101c15760203660031901126101c1576001600160a01b036105e56109fe565b1660205f6044601c6105f5610ad0565b6040519563f5b100ea85528552836040525afa601f3d1116156103035760405260205f51604051908152f35b346101c1575f3660031901126101c157610639610ad0565b683602298b8c10b012325460205f6004601c60018060a01b03851695638da5cb5b84525afa9081601f3d1116600c5160601c0291156106d6575b506001600160a01b031690818103610691575b602060405160018152f35b683602298b8c10b0123280546001600160a01b031916831790557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a38080610686565b60601b6001600160601b0319166101c15782610673565b346101c15760203660031901126101c15760206001600160a01b03610713600435610afa565b16604051908152f35b61072536610a2a565b91610731838383610a64565b813b61073957005b60a460209260405194859363150b7a028552338686015260018060a01b0316604085015260608401526080808401525f60a08401525f3681375f601c8401915af115610463575163757a42ff60e11b0161045657005b346101c15760203660031901126101c1576107a8610ad0565b60205f6044601c6040519463c016aa5284526004358552836040525afa601f3d1116156103035760408190525f516001600160a01b03168152602090f35b6107f86107f236610a2a565b91610a64565b005b346101c1575f3660031901126101c157610812610ad0565b60205f6044601c6040519463e2c792818452838552836040525afa601f3d1116156103035760405260205f51604051908152f35b60403660031901126101c15761085a6109fe565b60243590610866610ad0565b9060018060a01b03169060205f6064601c6040519463d10b6e0c8452868552876040523360605234905af1601f3d1116156103035750600c5160601c7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9255f80a4005b346101c15760203660031901126101c1576108e1610ad0565b60205f6044601c604051946327ef549584526004358552836040525afa601f3d1116156103035760408190525f516001600160a01b03168152602090f35b346101c1575f3660031901126101c157610937610ad0565b5f806024601c604051946306fdde038452836020525afa15610303576103839060205f803e60205f51823e805160205f5101602083013e6040815182015f602082015201604052604051918291826109d4565b346101c15760203660031901126101c157600435906001600160e01b0319821682036101c15760209160e01c635b5e139f8114906301ffc9a76380ac58cd82149114171715158152f35b602060409281835280519182918282860152018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101c157565b602435906001600160a01b03821682036101c157565b60609060031901126101c1576004356001600160a01b03811681036101c157906024356001600160a01b03811681036101c1579060443590565b9060846020610a71610ad0565b6040805163e5eb36c881526001600160a01b03968716848201819052959096169086018190526060860187905233608087015294928391601c83019034905af16001825114161561030357505f80516020610b2f8339815191525f80a4565b683602298b8c10b01230546001600160a01b0316908115610aed57565b635b2a47ae5f526004601cfd5b60205f6044601c610b09610ad0565b60405195632d8a746e85528552836040525afa601f3d111615610303576040525f519056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa164736f6c634300081a000a";
@@ -10630,4 +10737,4 @@ declare const rehypeDopplerHookMigratorAbi: readonly [{
10630
10737
 
10631
10738
  declare const VERSION = "1.0.0";
10632
10739
 
10633
- export { ADDRESSES, BASIS_POINTS, type BaseAuctionBuilder, type BeneficiaryData, CHAIN_IDS, type ChainAddresses, type CreateDynamicAuctionParams, type CreateMulticurveParams, type CreateOpeningAuctionParams, type CreateParams, type CreateStaticAuctionParams, DAY_SECONDS, DEAD_ADDRESS, DECAY_MAX_START_FEE, DEFAULT_AIRLOCK_BENEFICIARY_SHARES, DEFAULT_AUCTION_DURATION, DEFAULT_EPOCH_LENGTH, DEFAULT_LOCK_DURATION, DEFAULT_MULTICURVE_LOWER_TICKS, DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES, DEFAULT_MULTICURVE_NUM_POSITIONS, DEFAULT_MULTICURVE_UPPER_TICKS, DEFAULT_OPENING_AUCTION_DURATION, DEFAULT_OPENING_AUCTION_FEE, DEFAULT_OPENING_AUCTION_INCENTIVE_SHARE_BPS, DEFAULT_OPENING_AUCTION_MIN_ACCEPTABLE_TICK_TOKEN0, DEFAULT_OPENING_AUCTION_MIN_ACCEPTABLE_TICK_TOKEN1, DEFAULT_OPENING_AUCTION_MIN_LIQUIDITY, DEFAULT_OPENING_AUCTION_SHARE_TO_AUCTION_BPS, DEFAULT_OPENING_DOPPLER_DURATION, DEFAULT_OPENING_DOPPLER_EPOCH_LENGTH, DEFAULT_OPENING_DOPPLER_FEE, DEFAULT_OPENING_DOPPLER_NUM_PD_SLUGS, DEFAULT_OPENING_DOPPLER_TICK_SPACING, DEFAULT_PD_SLUGS, DEFAULT_V3_END_TICK, DEFAULT_V3_FEE, DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD, DEFAULT_V3_INITIAL_SUPPLY, DEFAULT_V3_INITIAL_VOTING_DELAY, DEFAULT_V3_INITIAL_VOTING_PERIOD, DEFAULT_V3_MAX_SHARE_TO_BE_SOLD, DEFAULT_V3_NUM_POSITIONS, DEFAULT_V3_NUM_TOKENS_TO_SELL, DEFAULT_V3_PRE_MINT, DEFAULT_V3_START_TICK, DEFAULT_V3_VESTING_DURATION, DEFAULT_V3_YEARLY_MINT_RATE, DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD, DEFAULT_V4_INITIAL_VOTING_DELAY, DEFAULT_V4_INITIAL_VOTING_PERIOD, DEFAULT_V4_YEARLY_MINT_RATE, _default$1 as DERC2080Bytecode, _default$2 as DERC20Bytecode, DOPPLER_FLAGS, DOPPLER_MAX_TICK_SPACING, DYNAMIC_FEE_FLAG, Derc20, Derc20V2, _default$5 as DopplerBytecode, _default$4 as DopplerDN404Bytecode, DopplerERC20V1, type DopplerERC20V1TokenConfig, DopplerFactory, type DopplerHookMigrationConfig, DopplerSDK, type DopplerSDKConfig, DynamicAuction, DynamicAuctionBuilder, type DynamicAuctionConfig, type DynamicAuctionMarketCapConfig, type DynamicMarketCapRange, Eth, FEE_AMOUNT_MASK, FEE_TIERS, FLAG_MASK, type FeeTier, type GovernanceLaunchpad, type GovernanceOption, type HookInfo, INT24_MAX, INT24_MIN, LAUNCHPAD_ENABLED_CHAIN_IDS, type LaunchpadEnabledChainId, type LockablePoolState, LockablePoolStatus, type LockableV3InitializerParams, MAX_SQRT_RATIO, MAX_TICK, MIN_SQRT_RATIO, MIN_TICK, type MarketCapConfig, type MarketCapRange, type MarketCapValidationResult, type MigrationConfig, type MigrationEncoder, type ModuleAddressOverrides, MulticurveBuilder, type MulticurveBundleExactInResult, type MulticurveBundleExactOutResult, type MulticurveDecayFeeSchedule, type MulticurveInitializerConfig, type MulticurveMarketCapCurvesConfig, type MulticurveMarketCapPreset, type MulticurveMarketCapRangeCurve, MulticurvePool, type MulticurvePoolState, NO_OP_ENABLED_CHAIN_IDS, type NoOpEnabledChainId, OPENING_AUCTION_FLAGS, OPENING_AUCTION_PHASE_ACTIVE, OPENING_AUCTION_PHASE_CLOSED, OPENING_AUCTION_PHASE_NOT_STARTED, OPENING_AUCTION_PHASE_SETTLED, OPENING_AUCTION_STATUS_ACTIVE, OPENING_AUCTION_STATUS_DOPPLER_ACTIVE, OPENING_AUCTION_STATUS_EXITED, OPENING_AUCTION_STATUS_UNINITIALIZED, OpeningAuction, type OpeningAuctionAuctionSettledEvent, type OpeningAuctionBidArgs, type OpeningAuctionBidConstraints, type OpeningAuctionBidLookupArgs, OpeningAuctionBidManager, type OpeningAuctionBidManagerConfig, type OpeningAuctionBidPlacedEvent, type OpeningAuctionBidPositionInfo, type OpeningAuctionBidQuote, type OpeningAuctionBidSimulationResult, type OpeningAuctionBidStatus, type OpeningAuctionBidValidationResult, type OpeningAuctionBidWithdrawnEvent, OpeningAuctionBuilder, _default$3 as OpeningAuctionBytecode, type OpeningAuctionClaimAllIncentivesPreview, type OpeningAuctionClaimAllIncentivesResult, type OpeningAuctionClaimIncentivesSimulationResult, type OpeningAuctionCompleteResult, type OpeningAuctionConfig, type OpeningAuctionCreateResult, type OpeningAuctionDopplerConfig, type OpeningAuctionEstimatedClearingTickUpdatedEvent, type OpeningAuctionIncentiveData, type OpeningAuctionIncentivesClaimedEvent, OpeningAuctionLifecycle, type OpeningAuctionModifyLiquidityParams, type OpeningAuctionModifyLiquiditySimulationResult, type OpeningAuctionModuleAddressOverrides, type OpeningAuctionMoveBidArgs, type OpeningAuctionMoveBidResult, type OpeningAuctionMoveBidSimulationResult, type OpeningAuctionOwnerBidInfo, type OpeningAuctionOwnerBidStatus, OpeningAuctionPhase, type OpeningAuctionPhaseChangedEvent, type OpeningAuctionPosition, OpeningAuctionPositionManager, type OpeningAuctionQuoteFromTokenAmountArgs, type OpeningAuctionQuoteFromTokenAmountResult, type OpeningAuctionSettlementData, type OpeningAuctionState, OpeningAuctionStatus, type OpeningAuctionWatchBidPlacedOptions, type OpeningAuctionWatchBidStatusOptions, type OpeningAuctionWatchBidWithdrawnOptions, type OpeningAuctionWatchEstimatedClearingTickOptions, type OpeningAuctionWatchIncentivesClaimedOptions, type OpeningAuctionWatchPhaseChangeOptions, type OpeningAuctionWatchSettlementOptions, type OpeningAuctionWithdrawFullBidArgs, type OpeningAuctionWithdrawFullBidResult, type OpeningAuctionWithdrawFullBidSimulationResult, type PoolInfo, type ProceedsSplitConfig, Q96, type QuoteResult, Quoter, RehypeDopplerHook, type RehypeDopplerHookConfig, RehypeDopplerHookMigrator, type RehypeDopplerHookMigratorConfig, type RehypeFeeDistributionInfo, RehypeFeeRoutingMode, type ResolvedOpeningAuctionDopplerConfig, SECONDS_PER_DAY, SECONDS_PER_YEAR, SUPPORTED_CHAIN_IDS, type SaleConfig, _default as StateViewBytecode, StaticAuction, StaticAuctionBuilder, type StaticAuctionMarketCapConfig, type StaticPoolConfig, type StreamableFeesConfig, type SupportedChain, type SupportedChainId, type SupportedChainKey, type SupportedPublicClient, TICK_SPACINGS, type TokenAddressHookConfig, type TokenAddressMiningParams, type TokenAddressMiningResult, type TokenConfig, type TokenVariant, TopUpDistributor, type TopUpParams, type TopUpSimulationResult, type TopUpTransaction, type UniswapV2MigrationConfig, type UniswapV2SplitMigrationConfig, type UniswapV4MigrationConfig, type UniswapV4SplitMigrationConfig, V3_FEE_TIERS, type V4PoolKey, V4_MAX_FEE, VALID_FEE_TIERS, VERSION, type VestingAllocationConfig, type VestingConfig, type VestingScheduleConfig, WAD, ZERO_ADDRESS, airlockAbi, applyTickOffsets, bundlerAbi, calculateFDV, calculateGamma, calculateMarketCap, calculateTickRange, calculateTokensToSell, computeOptimalGamma, computePoolId, createAirlockBeneficiary, decayMulticurveInitializerHookAbi, decodeBalanceDelta, derc20Abi, derc20V2Abi, dopplerERC20V1Abi, dopplerHookAbi, dopplerHookInitializerAbi, dopplerLensAbi, encodeRehypeDopplerHookMigratorCalldata, estimatePriceAtEpoch, estimateSlippage, formatTickAsPrice, getAddresses, getAirlockBeneficiary, getAirlockOwner, getAmount0ForLiquidity, getAmount1ForLiquidity, getLiquidityForAmount0, getLiquidityForAmount1, getMaxTickRounded, getNearestUsableTick, getSqrtRatioAtTick, getTickAtSqrtRatio, isLaunchpadEnabledChain, isNoOpEnabledChain, isSupportedChainId, isToken0Expected, isToken1, lockableUniswapV3InitializerAbi, marketCapToTickForMulticurve, marketCapToTicksForDynamicAuction, marketCapToTicksForMulticurve, marketCapToTicksForStaticAuction, marketCapToTokenPrice, mineTokenAddress, normalizePoolKey, openingAuctionAbi, openingAuctionInitializerAbi, openingAuctionPositionManagerAbi, poolManagerAbi, priceToSqrtPriceX96, priceToTick, quoterV2Abi, ratioToTick, rehypeDopplerHookAbi, rehypeDopplerHookMigratorAbi, resolveGasEstimate, sqrtPriceX96ToPrice, streamableFeesLockerAbi, streamableFeesLockerV2Abi, tickToMarketCap, tickToPrice, tokenPriceToRatio, topUpDistributorAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, validateMarketCapParameters, weth9Abi };
10740
+ export { ADDRESSES, BASIS_POINTS, type BaseAuctionBuilder, type BeneficiaryData, CHAIN_IDS, type ChainAddresses, type CreateDynamicAuctionParams, type CreateMulticurveParams, type CreateOpeningAuctionParams, type CreateParams, type CreateStaticAuctionParams, DAY_SECONDS, DEAD_ADDRESS, DECAY_MAX_START_FEE, DEFAULT_AIRLOCK_BENEFICIARY_SHARES, DEFAULT_AUCTION_DURATION, DEFAULT_EPOCH_LENGTH, DEFAULT_LOCK_DURATION, DEFAULT_MULTICURVE_LOWER_TICKS, DEFAULT_MULTICURVE_MAX_SUPPLY_SHARES, DEFAULT_MULTICURVE_NUM_POSITIONS, DEFAULT_MULTICURVE_UPPER_TICKS, DEFAULT_OPENING_AUCTION_DURATION, DEFAULT_OPENING_AUCTION_FEE, DEFAULT_OPENING_AUCTION_INCENTIVE_SHARE_BPS, DEFAULT_OPENING_AUCTION_MIN_ACCEPTABLE_TICK_TOKEN0, DEFAULT_OPENING_AUCTION_MIN_ACCEPTABLE_TICK_TOKEN1, DEFAULT_OPENING_AUCTION_MIN_LIQUIDITY, DEFAULT_OPENING_AUCTION_SHARE_TO_AUCTION_BPS, DEFAULT_OPENING_DOPPLER_DURATION, DEFAULT_OPENING_DOPPLER_EPOCH_LENGTH, DEFAULT_OPENING_DOPPLER_FEE, DEFAULT_OPENING_DOPPLER_NUM_PD_SLUGS, DEFAULT_OPENING_DOPPLER_TICK_SPACING, DEFAULT_PD_SLUGS, DEFAULT_V3_END_TICK, DEFAULT_V3_FEE, DEFAULT_V3_INITIAL_PROPOSAL_THRESHOLD, DEFAULT_V3_INITIAL_SUPPLY, DEFAULT_V3_INITIAL_VOTING_DELAY, DEFAULT_V3_INITIAL_VOTING_PERIOD, DEFAULT_V3_MAX_SHARE_TO_BE_SOLD, DEFAULT_V3_NUM_POSITIONS, DEFAULT_V3_NUM_TOKENS_TO_SELL, DEFAULT_V3_PRE_MINT, DEFAULT_V3_START_TICK, DEFAULT_V3_VESTING_DURATION, DEFAULT_V3_YEARLY_MINT_RATE, DEFAULT_V4_INITIAL_PROPOSAL_THRESHOLD, DEFAULT_V4_INITIAL_VOTING_DELAY, DEFAULT_V4_INITIAL_VOTING_PERIOD, DEFAULT_V4_YEARLY_MINT_RATE, _default$1 as DERC2080Bytecode, _default$2 as DERC20Bytecode, DOPPLER_FLAGS, DOPPLER_MAX_TICK_SPACING, DYNAMIC_FEE_FLAG, Derc20, Derc20V2, _default$5 as DopplerBytecode, _default$4 as DopplerDN404Bytecode, DopplerERC20V1, type DopplerERC20V1TokenConfig, DopplerFactory, type DopplerHookMigrationConfig, DopplerSDK, type DopplerSDKConfig, DynamicAuction, DynamicAuctionBuilder, type DynamicAuctionConfig, type DynamicAuctionMarketCapConfig, type DynamicMarketCapRange, Eth, FEE_AMOUNT_MASK, FEE_TIERS, FLAG_MASK, type FeeTier, type GovernanceLaunchpad, type GovernanceOption, type HookInfo, INT24_MAX, INT24_MIN, LAUNCHPAD_ENABLED_CHAIN_IDS, type LaunchpadEnabledChainId, type LockablePoolState, LockablePoolStatus, type LockableV3InitializerParams, MAX_SQRT_RATIO, MAX_TICK, MIN_SQRT_RATIO, MIN_TICK, type MarketCapConfig, type MarketCapRange, type MarketCapValidationResult, type MigrationConfig, type MigrationEncoder, type ModuleAddressOverrides, MulticurveBuilder, type MulticurveBundleExactInResult, type MulticurveBundleExactOutResult, type MulticurveDecayFeeSchedule, type MulticurveInitializerConfig, type MulticurveMarketCapCurvesConfig, type MulticurveMarketCapPreset, type MulticurveMarketCapRangeCurve, type MulticurvePendingFees, MulticurvePool, type MulticurvePoolState, NO_OP_ENABLED_CHAIN_IDS, type NoOpEnabledChainId, OPENING_AUCTION_FLAGS, OPENING_AUCTION_PHASE_ACTIVE, OPENING_AUCTION_PHASE_CLOSED, OPENING_AUCTION_PHASE_NOT_STARTED, OPENING_AUCTION_PHASE_SETTLED, OPENING_AUCTION_STATUS_ACTIVE, OPENING_AUCTION_STATUS_DOPPLER_ACTIVE, OPENING_AUCTION_STATUS_EXITED, OPENING_AUCTION_STATUS_UNINITIALIZED, OpeningAuction, type OpeningAuctionAuctionSettledEvent, type OpeningAuctionBidArgs, type OpeningAuctionBidConstraints, type OpeningAuctionBidLookupArgs, OpeningAuctionBidManager, type OpeningAuctionBidManagerConfig, type OpeningAuctionBidPlacedEvent, type OpeningAuctionBidPositionInfo, type OpeningAuctionBidQuote, type OpeningAuctionBidSimulationResult, type OpeningAuctionBidStatus, type OpeningAuctionBidValidationResult, type OpeningAuctionBidWithdrawnEvent, OpeningAuctionBuilder, _default$3 as OpeningAuctionBytecode, type OpeningAuctionClaimAllIncentivesPreview, type OpeningAuctionClaimAllIncentivesResult, type OpeningAuctionClaimIncentivesSimulationResult, type OpeningAuctionCompleteResult, type OpeningAuctionConfig, type OpeningAuctionCreateResult, type OpeningAuctionDopplerConfig, type OpeningAuctionEstimatedClearingTickUpdatedEvent, type OpeningAuctionIncentiveData, type OpeningAuctionIncentivesClaimedEvent, OpeningAuctionLifecycle, type OpeningAuctionModifyLiquidityParams, type OpeningAuctionModifyLiquiditySimulationResult, type OpeningAuctionModuleAddressOverrides, type OpeningAuctionMoveBidArgs, type OpeningAuctionMoveBidResult, type OpeningAuctionMoveBidSimulationResult, type OpeningAuctionOwnerBidInfo, type OpeningAuctionOwnerBidStatus, OpeningAuctionPhase, type OpeningAuctionPhaseChangedEvent, type OpeningAuctionPosition, OpeningAuctionPositionManager, type OpeningAuctionQuoteFromTokenAmountArgs, type OpeningAuctionQuoteFromTokenAmountResult, type OpeningAuctionSettlementData, type OpeningAuctionState, OpeningAuctionStatus, type OpeningAuctionWatchBidPlacedOptions, type OpeningAuctionWatchBidStatusOptions, type OpeningAuctionWatchBidWithdrawnOptions, type OpeningAuctionWatchEstimatedClearingTickOptions, type OpeningAuctionWatchIncentivesClaimedOptions, type OpeningAuctionWatchPhaseChangeOptions, type OpeningAuctionWatchSettlementOptions, type OpeningAuctionWithdrawFullBidArgs, type OpeningAuctionWithdrawFullBidResult, type OpeningAuctionWithdrawFullBidSimulationResult, type PoolInfo, type ProceedsSplitConfig, Q96, type QuoteResult, Quoter, RehypeDopplerHook, type RehypeDopplerHookConfig, RehypeDopplerHookMigrator, type RehypeDopplerHookMigratorConfig, type RehypeFeeDistributionInfo, RehypeFeeRoutingMode, type ResolvedOpeningAuctionDopplerConfig, SECONDS_PER_DAY, SECONDS_PER_YEAR, SUPPORTED_CHAIN_IDS, type SaleConfig, _default as StateViewBytecode, StaticAuction, StaticAuctionBuilder, type StaticAuctionMarketCapConfig, type StaticPoolConfig, type StreamableFeesConfig, type SupportedChain, type SupportedChainId, type SupportedChainKey, type SupportedPublicClient, TICK_SPACINGS, type TokenAddressHookConfig, type TokenAddressMiningParams, type TokenAddressMiningResult, type TokenConfig, type TokenVariant, TopUpDistributor, type TopUpParams, type TopUpSimulationResult, type TopUpTransaction, type UniswapV2MigrationConfig, type UniswapV2SplitMigrationConfig, type UniswapV4MigrationConfig, type UniswapV4SplitMigrationConfig, V3_FEE_TIERS, type V4PoolKey, V4_MAX_FEE, VALID_FEE_TIERS, VERSION, type VestingAllocationConfig, type VestingConfig, type VestingScheduleConfig, WAD, ZERO_ADDRESS, airlockAbi, applyTickOffsets, bundlerAbi, calculateFDV, calculateGamma, calculateMarketCap, calculateTickRange, calculateTokensToSell, computeOptimalGamma, computePoolId, createAirlockBeneficiary, decayMulticurveInitializerHookAbi, decodeBalanceDelta, derc20Abi, derc20V2Abi, dopplerERC20V1Abi, dopplerHookAbi, dopplerHookInitializerAbi, dopplerLensAbi, encodeRehypeDopplerHookMigratorCalldata, estimatePriceAtEpoch, estimateSlippage, feeClaimsInitializerAbi, formatTickAsPrice, getAddresses, getAirlockBeneficiary, getAirlockOwner, getAmount0ForLiquidity, getAmount1ForLiquidity, getLiquidityForAmount0, getLiquidityForAmount1, getMaxTickRounded, getNearestUsableTick, getSqrtRatioAtTick, getTickAtSqrtRatio, isLaunchpadEnabledChain, isNoOpEnabledChain, isSupportedChainId, isToken0Expected, isToken1, lockableUniswapV3InitializerAbi, marketCapToTickForMulticurve, marketCapToTicksForDynamicAuction, marketCapToTicksForMulticurve, marketCapToTicksForStaticAuction, marketCapToTokenPrice, mineTokenAddress, normalizePoolKey, openingAuctionAbi, openingAuctionInitializerAbi, openingAuctionPositionManagerAbi, poolManagerAbi, priceToSqrtPriceX96, priceToTick, quoterV2Abi, ratioToTick, rehypeDopplerHookAbi, rehypeDopplerHookMigratorAbi, resolveGasEstimate, sqrtPriceX96ToPrice, streamableFeesLockerAbi, streamableFeesLockerV2Abi, tickToMarketCap, tickToPrice, tokenPriceToRatio, topUpDistributorAbi, uniswapV2Router02Abi, uniswapV3InitializerAbi, uniswapV3PoolAbi, uniswapV4InitializerAbi, v2MigratorAbi, v3MigratorAbi, v4MigratorAbi, v4MulticurveInitializerAbi, v4MulticurveMigratorAbi, v4QuoterAbi, validateMarketCapParameters, weth9Abi };