@towns-protocol/generated 0.0.228 → 0.0.229

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.
@@ -27,7 +27,7 @@ import type {
27
27
  PromiseOrValue,
28
28
  } from "./common";
29
29
 
30
- export declare namespace DropClaimLib {
30
+ export declare namespace DropGroup {
31
31
  export type ClaimConditionStruct = {
32
32
  currency: PromiseOrValue<string>;
33
33
  startTimestamp: PromiseOrValue<BigNumberish>;
@@ -55,7 +55,9 @@ export declare namespace DropClaimLib {
55
55
  supplyClaimed: BigNumber;
56
56
  merkleRoot: string;
57
57
  };
58
+ }
58
59
 
60
+ export declare namespace DropClaim {
59
61
  export type ClaimStruct = {
60
62
  conditionId: PromiseOrValue<BigNumberish>;
61
63
  account: PromiseOrValue<string>;
@@ -107,12 +109,12 @@ export interface IDropFacetInterface extends utils.Interface {
107
109
 
108
110
  encodeFunctionData(
109
111
  functionFragment: "addClaimCondition",
110
- values: [DropClaimLib.ClaimConditionStruct]
112
+ values: [DropGroup.ClaimConditionStruct]
111
113
  ): string;
112
114
  encodeFunctionData(
113
115
  functionFragment: "claimAndStake",
114
116
  values: [
115
- DropClaimLib.ClaimStruct,
117
+ DropClaim.ClaimStruct,
116
118
  PromiseOrValue<string>,
117
119
  PromiseOrValue<BigNumberish>,
118
120
  PromiseOrValue<BytesLike>
@@ -120,7 +122,7 @@ export interface IDropFacetInterface extends utils.Interface {
120
122
  ): string;
121
123
  encodeFunctionData(
122
124
  functionFragment: "claimWithPenalty",
123
- values: [DropClaimLib.ClaimStruct, PromiseOrValue<BigNumberish>]
125
+ values: [DropClaim.ClaimStruct, PromiseOrValue<BigNumberish>]
124
126
  ): string;
125
127
  encodeFunctionData(
126
128
  functionFragment: "getActiveClaimConditionId",
@@ -144,7 +146,7 @@ export interface IDropFacetInterface extends utils.Interface {
144
146
  ): string;
145
147
  encodeFunctionData(
146
148
  functionFragment: "setClaimConditions",
147
- values: [DropClaimLib.ClaimConditionStruct[]]
149
+ values: [DropGroup.ClaimConditionStruct[]]
148
150
  ): string;
149
151
 
150
152
  decodeFunctionResult(
@@ -207,10 +209,10 @@ export interface IDropFacetInterface extends utils.Interface {
207
209
 
208
210
  export interface DropFacet_ClaimConditionAddedEventObject {
209
211
  conditionId: BigNumber;
210
- condition: DropClaimLib.ClaimConditionStructOutput;
212
+ condition: DropGroup.ClaimConditionStructOutput;
211
213
  }
212
214
  export type DropFacet_ClaimConditionAddedEvent = TypedEvent<
213
- [BigNumber, DropClaimLib.ClaimConditionStructOutput],
215
+ [BigNumber, DropGroup.ClaimConditionStructOutput],
214
216
  DropFacet_ClaimConditionAddedEventObject
215
217
  >;
216
218
 
@@ -219,10 +221,10 @@ export type DropFacet_ClaimConditionAddedEventFilter =
219
221
 
220
222
  export interface DropFacet_ClaimConditionsUpdatedEventObject {
221
223
  conditionId: BigNumber;
222
- conditions: DropClaimLib.ClaimConditionStructOutput[];
224
+ conditions: DropGroup.ClaimConditionStructOutput[];
223
225
  }
224
226
  export type DropFacet_ClaimConditionsUpdatedEvent = TypedEvent<
225
- [BigNumber, DropClaimLib.ClaimConditionStructOutput[]],
227
+ [BigNumber, DropGroup.ClaimConditionStructOutput[]],
226
228
  DropFacet_ClaimConditionsUpdatedEventObject
227
229
  >;
228
230
 
@@ -285,12 +287,12 @@ export interface IDropFacet extends BaseContract {
285
287
 
286
288
  functions: {
287
289
  addClaimCondition(
288
- condition: DropClaimLib.ClaimConditionStruct,
290
+ condition: DropGroup.ClaimConditionStruct,
289
291
  overrides?: Overrides & { from?: PromiseOrValue<string> }
290
292
  ): Promise<ContractTransaction>;
291
293
 
292
294
  claimAndStake(
293
- claim: DropClaimLib.ClaimStruct,
295
+ req: DropClaim.ClaimStruct,
294
296
  delegatee: PromiseOrValue<string>,
295
297
  deadline: PromiseOrValue<BigNumberish>,
296
298
  signature: PromiseOrValue<BytesLike>,
@@ -298,7 +300,7 @@ export interface IDropFacet extends BaseContract {
298
300
  ): Promise<ContractTransaction>;
299
301
 
300
302
  claimWithPenalty(
301
- claim: DropClaimLib.ClaimStruct,
303
+ req: DropClaim.ClaimStruct,
302
304
  expectedPenaltyBps: PromiseOrValue<BigNumberish>,
303
305
  overrides?: Overrides & { from?: PromiseOrValue<string> }
304
306
  ): Promise<ContractTransaction>;
@@ -308,11 +310,11 @@ export interface IDropFacet extends BaseContract {
308
310
  getClaimConditionById(
309
311
  conditionId: PromiseOrValue<BigNumberish>,
310
312
  overrides?: CallOverrides
311
- ): Promise<[DropClaimLib.ClaimConditionStructOutput]>;
313
+ ): Promise<[DropGroup.ClaimConditionStructOutput]>;
312
314
 
313
315
  getClaimConditions(
314
316
  overrides?: CallOverrides
315
- ): Promise<[DropClaimLib.ClaimConditionStructOutput[]]>;
317
+ ): Promise<[DropGroup.ClaimConditionStructOutput[]]>;
316
318
 
317
319
  getDepositIdByWallet(
318
320
  account: PromiseOrValue<string>,
@@ -327,18 +329,18 @@ export interface IDropFacet extends BaseContract {
327
329
  ): Promise<[BigNumber]>;
328
330
 
329
331
  setClaimConditions(
330
- conditions: DropClaimLib.ClaimConditionStruct[],
332
+ conditions: DropGroup.ClaimConditionStruct[],
331
333
  overrides?: Overrides & { from?: PromiseOrValue<string> }
332
334
  ): Promise<ContractTransaction>;
333
335
  };
334
336
 
335
337
  addClaimCondition(
336
- condition: DropClaimLib.ClaimConditionStruct,
338
+ condition: DropGroup.ClaimConditionStruct,
337
339
  overrides?: Overrides & { from?: PromiseOrValue<string> }
338
340
  ): Promise<ContractTransaction>;
339
341
 
340
342
  claimAndStake(
341
- claim: DropClaimLib.ClaimStruct,
343
+ req: DropClaim.ClaimStruct,
342
344
  delegatee: PromiseOrValue<string>,
343
345
  deadline: PromiseOrValue<BigNumberish>,
344
346
  signature: PromiseOrValue<BytesLike>,
@@ -346,7 +348,7 @@ export interface IDropFacet extends BaseContract {
346
348
  ): Promise<ContractTransaction>;
347
349
 
348
350
  claimWithPenalty(
349
- claim: DropClaimLib.ClaimStruct,
351
+ req: DropClaim.ClaimStruct,
350
352
  expectedPenaltyBps: PromiseOrValue<BigNumberish>,
351
353
  overrides?: Overrides & { from?: PromiseOrValue<string> }
352
354
  ): Promise<ContractTransaction>;
@@ -356,11 +358,11 @@ export interface IDropFacet extends BaseContract {
356
358
  getClaimConditionById(
357
359
  conditionId: PromiseOrValue<BigNumberish>,
358
360
  overrides?: CallOverrides
359
- ): Promise<DropClaimLib.ClaimConditionStructOutput>;
361
+ ): Promise<DropGroup.ClaimConditionStructOutput>;
360
362
 
361
363
  getClaimConditions(
362
364
  overrides?: CallOverrides
363
- ): Promise<DropClaimLib.ClaimConditionStructOutput[]>;
365
+ ): Promise<DropGroup.ClaimConditionStructOutput[]>;
364
366
 
365
367
  getDepositIdByWallet(
366
368
  account: PromiseOrValue<string>,
@@ -375,18 +377,18 @@ export interface IDropFacet extends BaseContract {
375
377
  ): Promise<BigNumber>;
376
378
 
377
379
  setClaimConditions(
378
- conditions: DropClaimLib.ClaimConditionStruct[],
380
+ conditions: DropGroup.ClaimConditionStruct[],
379
381
  overrides?: Overrides & { from?: PromiseOrValue<string> }
380
382
  ): Promise<ContractTransaction>;
381
383
 
382
384
  callStatic: {
383
385
  addClaimCondition(
384
- condition: DropClaimLib.ClaimConditionStruct,
386
+ condition: DropGroup.ClaimConditionStruct,
385
387
  overrides?: CallOverrides
386
388
  ): Promise<void>;
387
389
 
388
390
  claimAndStake(
389
- claim: DropClaimLib.ClaimStruct,
391
+ req: DropClaim.ClaimStruct,
390
392
  delegatee: PromiseOrValue<string>,
391
393
  deadline: PromiseOrValue<BigNumberish>,
392
394
  signature: PromiseOrValue<BytesLike>,
@@ -394,7 +396,7 @@ export interface IDropFacet extends BaseContract {
394
396
  ): Promise<BigNumber>;
395
397
 
396
398
  claimWithPenalty(
397
- claim: DropClaimLib.ClaimStruct,
399
+ req: DropClaim.ClaimStruct,
398
400
  expectedPenaltyBps: PromiseOrValue<BigNumberish>,
399
401
  overrides?: CallOverrides
400
402
  ): Promise<BigNumber>;
@@ -404,11 +406,11 @@ export interface IDropFacet extends BaseContract {
404
406
  getClaimConditionById(
405
407
  conditionId: PromiseOrValue<BigNumberish>,
406
408
  overrides?: CallOverrides
407
- ): Promise<DropClaimLib.ClaimConditionStructOutput>;
409
+ ): Promise<DropGroup.ClaimConditionStructOutput>;
408
410
 
409
411
  getClaimConditions(
410
412
  overrides?: CallOverrides
411
- ): Promise<DropClaimLib.ClaimConditionStructOutput[]>;
413
+ ): Promise<DropGroup.ClaimConditionStructOutput[]>;
412
414
 
413
415
  getDepositIdByWallet(
414
416
  account: PromiseOrValue<string>,
@@ -423,7 +425,7 @@ export interface IDropFacet extends BaseContract {
423
425
  ): Promise<BigNumber>;
424
426
 
425
427
  setClaimConditions(
426
- conditions: DropClaimLib.ClaimConditionStruct[],
428
+ conditions: DropGroup.ClaimConditionStruct[],
427
429
  overrides?: CallOverrides
428
430
  ): Promise<void>;
429
431
  };
@@ -476,12 +478,12 @@ export interface IDropFacet extends BaseContract {
476
478
 
477
479
  estimateGas: {
478
480
  addClaimCondition(
479
- condition: DropClaimLib.ClaimConditionStruct,
481
+ condition: DropGroup.ClaimConditionStruct,
480
482
  overrides?: Overrides & { from?: PromiseOrValue<string> }
481
483
  ): Promise<BigNumber>;
482
484
 
483
485
  claimAndStake(
484
- claim: DropClaimLib.ClaimStruct,
486
+ req: DropClaim.ClaimStruct,
485
487
  delegatee: PromiseOrValue<string>,
486
488
  deadline: PromiseOrValue<BigNumberish>,
487
489
  signature: PromiseOrValue<BytesLike>,
@@ -489,7 +491,7 @@ export interface IDropFacet extends BaseContract {
489
491
  ): Promise<BigNumber>;
490
492
 
491
493
  claimWithPenalty(
492
- claim: DropClaimLib.ClaimStruct,
494
+ req: DropClaim.ClaimStruct,
493
495
  expectedPenaltyBps: PromiseOrValue<BigNumberish>,
494
496
  overrides?: Overrides & { from?: PromiseOrValue<string> }
495
497
  ): Promise<BigNumber>;
@@ -516,19 +518,19 @@ export interface IDropFacet extends BaseContract {
516
518
  ): Promise<BigNumber>;
517
519
 
518
520
  setClaimConditions(
519
- conditions: DropClaimLib.ClaimConditionStruct[],
521
+ conditions: DropGroup.ClaimConditionStruct[],
520
522
  overrides?: Overrides & { from?: PromiseOrValue<string> }
521
523
  ): Promise<BigNumber>;
522
524
  };
523
525
 
524
526
  populateTransaction: {
525
527
  addClaimCondition(
526
- condition: DropClaimLib.ClaimConditionStruct,
528
+ condition: DropGroup.ClaimConditionStruct,
527
529
  overrides?: Overrides & { from?: PromiseOrValue<string> }
528
530
  ): Promise<PopulatedTransaction>;
529
531
 
530
532
  claimAndStake(
531
- claim: DropClaimLib.ClaimStruct,
533
+ req: DropClaim.ClaimStruct,
532
534
  delegatee: PromiseOrValue<string>,
533
535
  deadline: PromiseOrValue<BigNumberish>,
534
536
  signature: PromiseOrValue<BytesLike>,
@@ -536,7 +538,7 @@ export interface IDropFacet extends BaseContract {
536
538
  ): Promise<PopulatedTransaction>;
537
539
 
538
540
  claimWithPenalty(
539
- claim: DropClaimLib.ClaimStruct,
541
+ req: DropClaim.ClaimStruct,
540
542
  expectedPenaltyBps: PromiseOrValue<BigNumberish>,
541
543
  overrides?: Overrides & { from?: PromiseOrValue<string> }
542
544
  ): Promise<PopulatedTransaction>;
@@ -567,7 +569,7 @@ export interface IDropFacet extends BaseContract {
567
569
  ): Promise<PopulatedTransaction>;
568
570
 
569
571
  setClaimConditions(
570
- conditions: DropClaimLib.ClaimConditionStruct[],
572
+ conditions: DropGroup.ClaimConditionStruct[],
571
573
  overrides?: Overrides & { from?: PromiseOrValue<string> }
572
574
  ): Promise<PopulatedTransaction>;
573
575
  };
@@ -27,7 +27,7 @@ const _abi = [
27
27
  {
28
28
  name: "condition",
29
29
  type: "tuple",
30
- internalType: "struct DropClaimLib.ClaimCondition",
30
+ internalType: "struct DropGroup.ClaimCondition",
31
31
  components: [
32
32
  {
33
33
  name: "currency",
@@ -75,9 +75,9 @@ const _abi = [
75
75
  name: "claimAndStake",
76
76
  inputs: [
77
77
  {
78
- name: "claim",
78
+ name: "req",
79
79
  type: "tuple",
80
- internalType: "struct DropClaimLib.Claim",
80
+ internalType: "struct DropClaim.Claim",
81
81
  components: [
82
82
  {
83
83
  name: "conditionId",
@@ -124,7 +124,7 @@ const _abi = [
124
124
  ],
125
125
  outputs: [
126
126
  {
127
- name: "",
127
+ name: "amount",
128
128
  type: "uint256",
129
129
  internalType: "uint256",
130
130
  },
@@ -136,9 +136,9 @@ const _abi = [
136
136
  name: "claimWithPenalty",
137
137
  inputs: [
138
138
  {
139
- name: "claim",
139
+ name: "req",
140
140
  type: "tuple",
141
- internalType: "struct DropClaimLib.Claim",
141
+ internalType: "struct DropClaim.Claim",
142
142
  components: [
143
143
  {
144
144
  name: "conditionId",
@@ -209,7 +209,7 @@ const _abi = [
209
209
  {
210
210
  name: "condition",
211
211
  type: "tuple",
212
- internalType: "struct DropClaimLib.ClaimCondition",
212
+ internalType: "struct DropGroup.ClaimCondition",
213
213
  components: [
214
214
  {
215
215
  name: "currency",
@@ -259,7 +259,7 @@ const _abi = [
259
259
  {
260
260
  name: "",
261
261
  type: "tuple[]",
262
- internalType: "struct DropClaimLib.ClaimCondition[]",
262
+ internalType: "struct DropGroup.ClaimCondition[]",
263
263
  components: [
264
264
  {
265
265
  name: "currency",
@@ -356,7 +356,7 @@ const _abi = [
356
356
  {
357
357
  name: "conditions",
358
358
  type: "tuple[]",
359
- internalType: "struct DropClaimLib.ClaimCondition[]",
359
+ internalType: "struct DropGroup.ClaimCondition[]",
360
360
  components: [
361
361
  {
362
362
  name: "currency",
@@ -413,7 +413,7 @@ const _abi = [
413
413
  name: "condition",
414
414
  type: "tuple",
415
415
  indexed: false,
416
- internalType: "struct DropClaimLib.ClaimCondition",
416
+ internalType: "struct DropGroup.ClaimCondition",
417
417
  components: [
418
418
  {
419
419
  name: "currency",
@@ -469,7 +469,7 @@ const _abi = [
469
469
  name: "conditions",
470
470
  type: "tuple[]",
471
471
  indexed: false,
472
- internalType: "struct DropClaimLib.ClaimCondition[]",
472
+ internalType: "struct DropGroup.ClaimCondition[]",
473
473
  components: [
474
474
  {
475
475
  name: "currency",
@@ -686,11 +686,6 @@ const _abi = [
686
686
  name: "DropFacet__NoActiveClaimCondition",
687
687
  inputs: [],
688
688
  },
689
- {
690
- type: "error",
691
- name: "DropFacet__PointsMustBeGreaterThanZero",
692
- inputs: [],
693
- },
694
689
  {
695
690
  type: "error",
696
691
  name: "DropFacet__QuantityMustBeGreaterThanZero",
@@ -766,7 +761,7 @@ const _abi = [
766
761
  ] as const;
767
762
 
768
763
  const _bytecode =
769
- "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b612677806100ca5f395ff3fe608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806381045e3611610072578063c68907de11610058578063c68907de14610166578063c9ac93681461016e578063fff9637414610181575f5ffd5b806381045e361461013e578063a1550b2f14610151575f5ffd5b806364843393116100a257806364843393146100f85780636f8934f41461010b5780637a05557c1461012b575f5ffd5b806314c9fcbc146100bd57806333d42dc6146100d2575b5f5ffd5b6100d06100cb366004611de6565b610194565b005b6100e56100e0366004611e01565b61022c565b6040519081526020015b60405180910390f35b6100d0610106366004611e2b565b610291565b61011e610119366004611e44565b610332565b6040516100ef9190611e5b565b6100e5610139366004611e01565b61045d565b6100e561014c366004611eff565b610494565b61015961061a565b6040516100ef9190611f4e565b6100e561064a565b6100d061017c366004612002565b610674565b6100e561018f366004612073565b610715565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff166101f7576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102207f9251dd0600000000000000000000000000000000000000000000000000000000610956565b61022981610aab565b50565b5f61028782847feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005b5f9283526001016020908152604080842073ffffffffffffffffffffffffffffffffffffffff9093168452919052902090565b5490505b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610308576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b6102297feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0082610ad5565b604080515f80825260208201819052818301819052606082018190526080820181905260a0820181905260c08201529081905261039c827feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005b5f9182526002016020526040902090565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015292915050565b5f61048982847feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00610254565b600101549392505050565b5f806104c184357feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0061038b565b90505f6104ff85356104d96040880160208901611de6565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00610254565b905061050c828287610d87565b610517828686611046565b92506105248282856110da565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf7006105646105586040880160208901611de6565b829060608901356110fa565b82546105979073ffffffffffffffffffffffffffffffffffffffff163061059160408a0160208b01611de6565b87611116565b6105a76040870160208801611de6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16875f01357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018760405161060991815260200190565b60405180910390a450505092915050565b60606106457feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab006111af565b905090565b5f6106457feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab006113da565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff1633146106e6576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024016102ff565b6107117feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab008383611549565b5050565b5f8061074287357feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0061038b565b90505f61075a88356104d960408b0160208c01611de6565b905061076782828a610d87565b610776828260408b01356110da565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf7006107b66107aa60408b0160208c01611de6565b829060608c01356110fa565b6107e57feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab008460408c01356117fb565b5f7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff1663e69f949561083060408d0135611895565b8b8d60200160208101906108449190611de6565b8e60200160208101906108579190611de6565b8d8d8d6040518863ffffffff1660e01b815260040161087c9796959493929190612124565b6020604051808303815f875af1158015610898573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108bc91906121e3565b6001840181905590506108d560408b0160208c01611de6565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168b5f01357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea78d6040013560405161093b91815260200190565b60405180910390a45050506040909601359695505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff16610a2a577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610a5c565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b6102297feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00826118b6565b815465ffffffffffff7401000000000000000000000000000000000000000082048116917a0100000000000000000000000000000000000000000000000000009004165f610b238284612227565b905065ffffffffffff821615610cb0576040805160e0810182525f80825260208201819052918101829052606081018290526080810182905260a0810182905260c08101919091525065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201165f90815260028087016020908152604092839020835160e081018552815473ffffffffffffffffffffffffffffffffffffffff8116825264ffffffffff7401000000000000000000000000000000000000000082048116838601527901000000000000000000000000000000000000000000000000008204168287015261ffff7e01000000000000000000000000000000000000000000000000000000000000909104166060820152600182015460808201529281015460a08401526003015460c08301529091610c6d91908701908701612257565b64ffffffffff16816020015164ffffffffff1610610cae57610cae7f7b10269c0000000000000000000000000000000000000000000000000000000061193c565b505b610cca610cc06020860186611de6565b8560800135611944565b65ffffffffffff81165f90815260028601602052604090208490610cee828261228a565b50610cfc9050826001612227565b855479ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000065ffffffffffff92831602178655604051908216907fb2d7f7a48138c995ec7024ac4e176fad4415d42377559f3178e3830941b0484190610d78908790612493565b60405180910390a25050505050565b6003830154610db957610db97ff235dd010000000000000000000000000000000000000000000000000000000061193c565b80604001355f03610ded57610ded7fdf4e56a50000000000000000000000000000000000000000000000000000000061193c565b80606001355f03610e2157610e217f14574b490000000000000000000000000000000000000000000000000000000061193c565b825473ffffffffffffffffffffffffffffffffffffffff16610e6657610e667fe211c34c0000000000000000000000000000000000000000000000000000000061193c565b826001015481604001358460020154610e7f91906124a1565b1115610eae57610eae7fb0b4e6d40000000000000000000000000000000000000000000000000000000061193c565b825474010000000000000000000000000000000000000000900464ffffffffff16421015610eff57610eff7f4b3950d80000000000000000000000000000000000000000000000000000000061193c565b8254790100000000000000000000000000000000000000000000000000900464ffffffffff1615801590610f5857508254790100000000000000000000000000000000000000000000000000900464ffffffffff164210155b15610f8657610f867fd87c5b1d0000000000000000000000000000000000000000000000000000000061193c565b815415610fb657610fb67f7f76444f0000000000000000000000000000000000000000000000000000000061193c565b5f610ff0610fca6040840160208501611de6565b604080515f92835281860135602090815260608088013584528420845290922091905290565b6003850154909150611013908261100a60808601866124b4565b90929091611a00565b611040576110407f592fca340000000000000000000000000000000000000000000000000000000061193c565b50505050565b82545f9061ffff7e01000000000000000000000000000000000000000000000000000000000000909104811690831681146110a4576110a47f70566c000000000000000000000000000000000000000000000000000000000061193c565b6040840135915061ffff8116156110d2575f6110c885604001358361ffff16611a38565b6040860135039250505b509392505050565b80836002015f8282546110ed91906124a1565b9091555050815401905550565b611105838383611ae9565b600290920180549290920390915550565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160315611040573073ffffffffffffffffffffffffffffffffffffffff84160361118d5761118873ffffffffffffffffffffffffffffffffffffffff85168383611b5f565b611040565b61104073ffffffffffffffffffffffffffffffffffffffff8516848484611bb2565b80546060907a010000000000000000000000000000000000000000000000000000900465ffffffffffff1667ffffffffffffffff8111156111f2576111f261251f565b60405190808252806020026020018201604052801561127657816020015b6040805160e0810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816112105790505b5090505f5b82547a010000000000000000000000000000000000000000000000000000900465ffffffffffff168110156113d457825460028401905f906112de90849074010000000000000000000000000000000000000000900465ffffffffffff166124a1565b815260208082019290925260409081015f20815160e081018352815473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff908116958301959095527901000000000000000000000000000000000000000000000000008104909416928101929092527e0100000000000000000000000000000000000000000000000000000000000090920461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015282518390839081106113c1576113c161254c565b602090810291909101015260010161127b565b50919050565b80545f9065ffffffffffff7401000000000000000000000000000000000000000082048116917a01000000000000000000000000000000000000000000000000000090041680830361144f5761144f7f44d5f0940000000000000000000000000000000000000000000000000000000061193c565b65ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8383010116805b8365ffffffffffff168110611517575f8181526002870160205260409020805464ffffffffff79010000000000000000000000000000000000000000000000000082048116917401000000000000000000000000000000000000000090041642108015906114f357508015806114f357508042105b156115045750909695505050505050565b50508061151090612579565b905061147e565b506115417f44d5f0940000000000000000000000000000000000000000000000000000000061193c565b505050919050565b825465ffffffffffff7401000000000000000000000000000000000000000082048116917a010000000000000000000000000000000000000000000000000000900481169061159884846124a1565b11156115c7576115c77fae4eeeb10000000000000000000000000000000000000000000000000000000061193c565b825f80805b8365ffffffffffff1681101561170357368888838181106115ef576115ef61254c565b905060e00201905080602001602081019061160a9190612257565b64ffffffffff168465ffffffffffff1610611648576116487f7b10269c0000000000000000000000000000000000000000000000000000000061193c565b5f60028b01816116608565ffffffffffff8c166124a1565b81526020019081526020015f2090505f8160020154905082608001358111156116ac576116ac7fae4eeeb10000000000000000000000000000000000000000000000000000000061193c565b6116b68284611c14565b6116c66040840160208501612257565b64ffffffffff1695506116dd6080840135866124a1565b94506116f56116ef6020850185611de6565b86611944565b5050508060010190506115cc565b50875465ffffffffffff8085167a010000000000000000000000000000000000000000000000000000810279ffffffffffffffffffffffffffffffffffffffffffffffffffff909316929092178a55851611156117af5765ffffffffffff83165b8465ffffffffffff168110156117ad5765ffffffffffff861681015f9081526002808b016020526040822082815560018082018490559181018390556003019190915501611764565b505b8465ffffffffffff167ff91c9c864018770f197086e7e64354d3a54259e85887953cbbe7d02ba32aba8e88886040516117e99291906125ad565b60405180910390a25050505050505050565b815483546040517f095ea7b300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff91821660048201526024810184905291169063095ea7b3906044016020604051808303815f875af1158015611871573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061104091906125ee565b5f6c0100000000000000000000000082106118b2576118b2611d91565b5090565b73ffffffffffffffffffffffffffffffffffffffff81166118fa576118fa7fe3224c780000000000000000000000000000000000000000000000000000000061193c565b81547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff91909116179055565b805f5260045ffd5b6040517f70a0823100000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff8316906370a0823190602401602060405180830381865afa1580156119ac573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906119d091906121e3565b811115610711576107117f42e1bedf0000000000000000000000000000000000000000000000000000000061193c565b5f8315611a30578360051b8501855b803580851160051b94855260209485185260405f209301818110611a0f5750505b501492915050565b5f612710821115611acb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f303060448201527f300000000000000000000000000000000000000000000000000000000000000060648201526084016102ff565b612710611ad8838561260d565b611ae29190612624565b9392505050565b5f5f611af6858585611d9e565b915091508115611b58576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8516600482015260248101829052604481018490526064016102ff565b5050505050565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f511416611ba857803d853b151710611ba8576390b8ec185f526004601cfd5b505f603452505050565b60405181606052826040528360601b602c526f23b872dd000000000000000000000000600c5260205f6064601c5f895af18060015f511416611c0657803d873b151710611c0657637939f4245f526004601cfd5b505f60605260405250505050565b611c246040820160208301612257565b825464ffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff909116178255611c7e6060820160408301612257565b825464ffffffffff91909116790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff9091161782556080810135600183015560c08101356003830155611cee6020820182611de6565b82547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff91909116178255611d3e608082016060830161265c565b825461ffff919091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790915550565b6335278d125f526004601cfd5b5f82815260208490526040902080548281109182611dbc5783820381555b50935093915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610229575f5ffd5b5f60208284031215611df6575f5ffd5b8135611ae281611dc5565b5f5f60408385031215611e12575f5ffd5b8235611e1d81611dc5565b946020939093013593505050565b5f60e0828403128015611e3c575f5ffd5b509092915050565b5f60208284031215611e54575f5ffd5b5035919050565b60e0810161028b828473ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b5f60a082840312156113d4575f5ffd5b61ffff81168114610229575f5ffd5b8035611efa81611ee0565b919050565b5f5f60408385031215611f10575f5ffd5b823567ffffffffffffffff811115611f26575f5ffd5b611f3285828601611ed0565b9250506020830135611f4381611ee0565b809150509250929050565b602080825282518282018190525f918401906040840190835b81811015611ff757611fe183855173ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6020939093019260e09290920191600101611f67565b509095945050505050565b5f5f60208385031215612013575f5ffd5b823567ffffffffffffffff811115612029575f5ffd5b8301601f81018513612039575f5ffd5b803567ffffffffffffffff81111561204f575f5ffd5b85602060e083028401011115612063575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f60808688031215612087575f5ffd5b853567ffffffffffffffff81111561209d575f5ffd5b6120a988828901611ed0565b95505060208601356120ba81611dc5565b935060408601359250606086013567ffffffffffffffff8111156120dc575f5ffd5b8601601f810188136120ec575f5ffd5b803567ffffffffffffffff811115612102575f5ffd5b886020828401011115612113575f5ffd5b959894975092955050506020019190565b6bffffffffffffffffffffffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015273ffffffffffffffffffffffffffffffffffffffff8616604082015273ffffffffffffffffffffffffffffffffffffffff8516606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019695505050505050565b5f602082840312156121f3575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b65ffffffffffff818116838216019081111561028b5761028b6121fa565b64ffffffffff81168114610229575f5ffd5b5f60208284031215612267575f5ffd5b8135611ae281612245565b5f813561028b81612245565b5f813561028b81611ee0565b813561229581611dc5565b73ffffffffffffffffffffffffffffffffffffffff81167fffffffffffffffffffffffff00000000000000000000000000000000000000008354161782555060208201356122e281612245565b81547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b78ffffffffff00000000000000000000000000000000000000001617815561238861233960408401612272565b82547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c89190911b7dffffffffff0000000000000000000000000000000000000000000000000016178255565b6123e66123976060840161227e565b82547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016178255565b6080820135600182015560a0820135600282015560c090910135600390910155565b803561241381611dc5565b73ffffffffffffffffffffffffffffffffffffffff168252602081013561243981612245565b64ffffffffff166020830152604081013561245381612245565b64ffffffffff16604083015261246b60608201611eef565b61ffff1660608301526080818101359083015260a0808201359083015260c090810135910152565b60e0810161028b8284612408565b8082018082111561028b5761028b6121fa565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124e7575f5ffd5b83018035915067ffffffffffffffff821115612501575f5ffd5b6020019150600581901b3603821315612518575f5ffd5b9250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81612587576125876121fa565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b602080825281018290525f8360408301825b858110156125e4576125d18284612408565b60e09283019291909101906001016125bf565b5095945050505050565b5f602082840312156125fe575f5ffd5b81518015158114611ae2575f5ffd5b808202811582820484141761028b5761028b6121fa565b5f82612657577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f6020828403121561266c575f5ffd5b8135611ae281611ee056";
764
+ "0x6080604052348015600e575f5ffd5b5060156019565b60bd565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef520008054640100000000900460ff16156064576040516366008a2d60e01b815260040160405180910390fd5b805463ffffffff908116101560ba57805463ffffffff191663ffffffff90811782556040519081527fe9c9b456cb2994b80aeef036cf59d26e9617df80f816a6ee5a5b4166e07e2f5c9060200160405180910390a15b50565b6124ea806100ca5f395ff3fe608060405234801561000f575f5ffd5b50600436106100b9575f3560e01c806381045e3611610072578063c68907de11610058578063c68907de146101b6578063c9ac9368146101be578063fff96374146101d1575f5ffd5b806381045e361461018e578063a1550b2f146101a1575f5ffd5b806364843393116100a257806364843393146100f85780636f8934f41461010b5780637a05557c1461012b575f5ffd5b806314c9fcbc146100bd57806333d42dc6146100d2575b5f5ffd5b6100d06100cb366004611c72565b6101e4565b005b6100e56100e0366004611c8d565b61027c565b6040519081526020015b60405180910390f35b6100d0610106366004611cb7565b6102d1565b61011e610119366004611cd0565b610351565b6040516100ef9190611ce7565b6100e5610139366004611c8d565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff949094168352929052206001015490565b6100e561019c366004611d91565b61047b565b6101a9610614565b6040516100ef9190611de0565b6100e5610623565b6100d06101cc366004611e94565b61062c565b6100e56101df366004611f05565b6106ac565b7f59b501c3653afc186af7d48dda36cf6732bd21629a6295693664240a6ef5200054640100000000900460ff16610247576040517f77a399b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6102707f9251dd060000000000000000000000000000000000000000000000000000000061090f565b61027981610a64565b50565b5f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020908152604080832073ffffffffffffffffffffffffffffffffffffffff861684529091529020545b92915050565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff163314610348576040517f65f490650000000000000000000000000000000000000000000000000000000081523360048201526024015b60405180910390fd5b61027981610a6d565b604080515f80825260208201819052818301819052606082018190526080820181905260a0820181905260c0820152908190526103ba825f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c082015292915050565b81355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040808220600181015490916104e69190860135907e01000000000000000000000000000000000000000000000000000000000000900461ffff1685610cca565b91506104f28183610d2a565b6004810154610502908590610ef7565b61051d6105156040860160208701611c72565b829084610f4b565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf70061055d6105516040870160208801611c72565b82906060880135610fbf565b6105926105706040870160208801611c72565b600184015473ffffffffffffffffffffffffffffffffffffffff169085610fdb565b6105a26040860160208701611c72565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16865f01357f970af01ab25e63f8131277859b2c17e9a07c2eb257e6db87449000d91c0f84018660405161060491815260200190565b60405180910390a4505092915050565b606061061e61102e565b905090565b5f61061e61128a565b7f4675fa8241f86f37157864d3d49b85ad4b164352c516da28e1678a90470ae3005473ffffffffffffffffffffffffffffffffffffffff16331461069e576040517f65f4906500000000000000000000000000000000000000000000000000000000815233600482015260240161033f565b6106a88282611445565b5050565b84355f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0160205260409081902090860135906106eb8183610d2a565b60048101546106fb908890610ef7565b61070e6105156040890160208a01611c72565b7f25a22d57af6f735dc617e9781981413da3bc5a71376b4237270a04c144aaf70061074e61074260408a0160208b01611c72565b829060608b0135610fbf565b60018201546107739073ffffffffffffffffffffffffffffffffffffffff168461171b565b5f7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff1663e69f94956107ba86611760565b8a6107cb60408e0160208f01611c72565b8d60200160208101906107de9190611c72565b8c8c8c6040518863ffffffff1660e01b81526004016108039796959493929190611fb6565b6020604051808303815f875af115801561081f573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108439190612075565b90505f838161085860408d0160208e01611c72565b73ffffffffffffffffffffffffffffffffffffffff16815260208082019290925260409081015f2060018101859055925061089891908c01908c01611c72565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff168b5f01357ff08f338c8905e343697a35fef11af2f611a36658016e0653521354c865373ea7886040516108fa91815260200190565b60405180910390a45050505095945050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b00602052604090205460ff166109e3577fffffffff0000000000000000000000000000000000000000000000000000000081165f9081527f81088bbc801e045ea3e7620779ab349988f58afbdfba10dff983df3f33522b006020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610a15565b6040517ff2cfeefa00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517fffffffff000000000000000000000000000000000000000000000000000000008216907f78f84e5b1c5c05be2b5ad3800781dd404d6d6c6302bc755c0fe20f58a33a7f22905f90a250565b61027981611781565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005465ffffffffffff7401000000000000000000000000000000000000000082048116917a0100000000000000000000000000000000000000000000000000009004165f610adb82846120b9565b905065ffffffffffff821615610bae5765ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8201165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab01602052604081206001019050610b5760408601602087016120e9565b815464ffffffffff9182167401000000000000000000000000000000000000000090910490911610610bac57610bac7f7b10269c0000000000000000000000000000000000000000000000000000000061182b565b505b610bc8610bbe6020860186611c72565b8560800135611833565b83610c048265ffffffffffff165f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902090565b600101610c11828261211c565b50610c1f90508260016120b9565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805479ffffffffffffffffffffffffffffffffffffffffffffffffffff167a01000000000000000000000000000000000000000000000000000065ffffffffffff93841602179055604051908216907fb2d7f7a48138c995ec7024ac4e176fad4415d42377559f3178e3830941b0484190610cbc908790612325565b60405180910390a250505050565b5f8161ffff168361ffff1614610d0357610d037f70566c000000000000000000000000000000000000000000000000000000000061182b565b61ffff831615610d22575f610d1c858561ffff16611883565b90940393505b509192915050565b60048201546001830190610d6157610d617ff235dd010000000000000000000000000000000000000000000000000000000061182b565b815f03610d9157610d917fdf4e56a50000000000000000000000000000000000000000000000000000000061182b565b805473ffffffffffffffffffffffffffffffffffffffff16610dd657610dd67fe211c34c0000000000000000000000000000000000000000000000000000000061182b565b8060010154828260020154610deb9190612333565b1115610e1a57610e1a7fb0b4e6d40000000000000000000000000000000000000000000000000000000061182b565b805474010000000000000000000000000000000000000000900464ffffffffff16421015610e6b57610e6b7f4b3950d80000000000000000000000000000000000000000000000000000000061182b565b8054790100000000000000000000000000000000000000000000000000900464ffffffffff1615801590610ec457508054790100000000000000000000000000000000000000000000000000900464ffffffffff164210155b15610ef257610ef27fd87c5b1d0000000000000000000000000000000000000000000000000000000061182b565b505050565b5f610f0183611934565b9050610f1e8282610f156080870187612346565b90929091611972565b610ef257610ef27f592fca340000000000000000000000000000000000000000000000000000000061182b565b73ffffffffffffffffffffffffffffffffffffffff82165f908152602084905260409020805415610f9f57610f9f7f7f76444f0000000000000000000000000000000000000000000000000000000061182b565b81846001016002015f828254610fb59190612333565b9091555050555050565b610fca8383836119aa565b600290920180549290920390915550565b81601452806034526fa9059cbb0000000000000000000000005f5260205f604460105f875af18060015f51141661102457803d853b151710611024576390b8ec185f526004601cfd5b505f603452505050565b60605f5f61109d7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff1667ffffffffffffffff8111156110c2576110c26123b1565b60405190808252806020026020018201604052801561114657816020015b6040805160e0810182525f8082526020808301829052928201819052606082018190526080820181905260a0820181905260c082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816110e05790505b5092505f5b8165ffffffffffff16811015611284576111a26111708265ffffffffffff8616612333565b5f9081527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab016020526040902060010190565b6040805160e081018252825473ffffffffffffffffffffffffffffffffffffffff8116825274010000000000000000000000000000000000000000810464ffffffffff9081166020840152790100000000000000000000000000000000000000000000000000820416928201929092527e0100000000000000000000000000000000000000000000000000000000000090910461ffff16606082015260018201546080820152600282015460a082015260039091015460c08201528451859083908110611271576112716123de565b602090810291909101015260010161114b565b50505090565b5f5f5f6112f87feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005474010000000000000000000000000000000000000000810465ffffffffffff908116927a0100000000000000000000000000000000000000000000000000009092041690565b915091508065ffffffffffff165f03611334576113347f44d5f0940000000000000000000000000000000000000000000000000000000061182b565b65ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8383010116805b8365ffffffffffff16811061141b575f8181527feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0160205260409020600101805464ffffffffff79010000000000000000000000000000000000000000000000000082048116917401000000000000000000000000000000000000000090041642108015906113f857508015806113f857508042105b1561140857509095945050505050565b5050806114149061240b565b9050611363565b506112847f44d5f0940000000000000000000000000000000000000000000000000000000061182b565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab00805465ffffffffffff7401000000000000000000000000000000000000000082048116917a01000000000000000000000000000000000000000000000000000090048116906114b58584612333565b11156114e4576114e47fae4eeeb10000000000000000000000000000000000000000000000000000000061182b565b835f80805b8365ffffffffffff16811015611620573689898381811061150c5761150c6123de565b905060e00201905080602001602081019061152791906120e9565b64ffffffffff168465ffffffffffff1610611565576115657f7b10269c0000000000000000000000000000000000000000000000000000000061182b565b5f600189018161157d8565ffffffffffff8c16612333565b815260208101919091526040015f20600381015490915060808301358111156115c9576115c97fae4eeeb10000000000000000000000000000000000000000000000000000000061182b565b6115d38284611a20565b6115e360408401602085016120e9565b64ffffffffff1695506115fa608084013586612333565b945061161261160c6020850185611c72565b86611833565b5050508060010190506114e9565b50855465ffffffffffff8085167a010000000000000000000000000000000000000000000000000000810279ffffffffffffffffffffffffffffffffffffffffffffffffffff909316929092178855851611156116cf5765ffffffffffff83165b8465ffffffffffff168110156116cd5765ffffffffffff861681015f90815260018089016020526040822080820183905560028101839055600381018390556004019190915501611681565b505b8465ffffffffffff167ff91c9c864018770f197086e7e64354d3a54259e85887953cbbe7d02ba32aba8e898960405161170992919061243f565b60405180910390a25050505050505050565b6106a87feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab005473ffffffffffffffffffffffffffffffffffffffff848116911683611ba1565b5f6c01000000000000000000000000821061177d5761177d611bea565b5090565b73ffffffffffffffffffffffffffffffffffffffff81166117c5576117c57fe3224c780000000000000000000000000000000000000000000000000000000061182b565b7feda6a1e2ce6f1639b6d3066254ca87a2daf51c4f0ad5038d408bbab6cc2cab0080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b805f5260045ffd5b61185373ffffffffffffffffffffffffffffffffffffffff831630611bf7565b8111156106a8576106a87f42e1bedf0000000000000000000000000000000000000000000000000000000061182b565b5f612710821115611916576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f426173697320706f696e74732063616e6e6f74206578636565642031305f303060448201527f3000000000000000000000000000000000000000000000000000000000000000606482015260840161033f565b6127106119238385612480565b61192d9190612497565b9392505050565b5f806119466040840160208501611c72565b604080515f92835281860135602090815260609687013583529583208352949091209390525090919050565b5f83156119a2578360051b8501855b803580851160051b94855260209485185260405f2093018181106119815750505b501492915050565b5f5f6119b7858585611c2a565b915091508115611a19576040517fe450d38c00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602481018290526044810184905260640161033f565b5050505050565b60018201611a3460408301602084016120e9565b815464ffffffffff9190911674010000000000000000000000000000000000000000027fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff909116178155611a8e60608301604084016120e9565b815464ffffffffff91909116790100000000000000000000000000000000000000000000000000027fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff9091161781556080820135600182015560c08201356003820155611afe6020830183611c72565b81547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff91909116178155611b4e60808301606084016124cf565b815461ffff919091167e01000000000000000000000000000000000000000000000000000000000000027dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091161790555050565b81601452806034526f095ea7b30000000000000000000000005f5260205f604460105f875af18060015f51141661102457803d853b15171061102457633e3f8f735f526004601cfd5b6335278d125f526004601cfd5b5f816014526f70a082310000000000000000000000005f5260208060246010865afa601f3d111660205102905092915050565b5f82815260208490526040902080548281109182611c485783820381555b50935093915050565b73ffffffffffffffffffffffffffffffffffffffff81168114610279575f5ffd5b5f60208284031215611c82575f5ffd5b813561192d81611c51565b5f5f60408385031215611c9e575f5ffd5b8235611ca981611c51565b946020939093013593505050565b5f60e0828403128015611cc8575f5ffd5b509092915050565b5f60208284031215611ce0575f5ffd5b5035919050565b60e081016102cb828473ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b5f60a08284031215611d6c575f5ffd5b50919050565b61ffff81168114610279575f5ffd5b8035611d8c81611d72565b919050565b5f5f60408385031215611da2575f5ffd5b823567ffffffffffffffff811115611db8575f5ffd5b611dc485828601611d5c565b9250506020830135611dd581611d72565b809150509250929050565b602080825282518282018190525f918401906040840190835b81811015611e8957611e7383855173ffffffffffffffffffffffffffffffffffffffff815116825264ffffffffff602082015116602083015264ffffffffff604082015116604083015261ffff60608201511660608301526080810151608083015260a081015160a083015260c081015160c08301525050565b6020939093019260e09290920191600101611df9565b509095945050505050565b5f5f60208385031215611ea5575f5ffd5b823567ffffffffffffffff811115611ebb575f5ffd5b8301601f81018513611ecb575f5ffd5b803567ffffffffffffffff811115611ee1575f5ffd5b85602060e083028401011115611ef5575f5ffd5b6020919091019590945092505050565b5f5f5f5f5f60808688031215611f19575f5ffd5b853567ffffffffffffffff811115611f2f575f5ffd5b611f3b88828901611d5c565b9550506020860135611f4c81611c51565b935060408601359250606086013567ffffffffffffffff811115611f6e575f5ffd5b8601601f81018813611f7e575f5ffd5b803567ffffffffffffffff811115611f94575f5ffd5b886020828401011115611fa5575f5ffd5b959894975092955050506020019190565b6bffffffffffffffffffffffff8816815273ffffffffffffffffffffffffffffffffffffffff8716602082015273ffffffffffffffffffffffffffffffffffffffff8616604082015273ffffffffffffffffffffffffffffffffffffffff8516606082015283608082015260c060a08201528160c0820152818360e08301375f81830160e090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01601019695505050505050565b5f60208284031215612085575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b65ffffffffffff81811683821601908111156102cb576102cb61208c565b64ffffffffff81168114610279575f5ffd5b5f602082840312156120f9575f5ffd5b813561192d816120d7565b5f81356102cb816120d7565b5f81356102cb81611d72565b813561212781611c51565b73ffffffffffffffffffffffffffffffffffffffff81167fffffffffffffffffffffffff0000000000000000000000000000000000000000835416178255506020820135612174816120d7565b81547fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b78ffffffffff00000000000000000000000000000000000000001617815561221a6121cb60408401612104565b82547fffff0000000000ffffffffffffffffffffffffffffffffffffffffffffffffff1660c89190911b7dffffffffff0000000000000000000000000000000000000000000000000016178255565b61227861222960608401612110565b82547dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f09190911b7fffff00000000000000000000000000000000000000000000000000000000000016178255565b6080820135600182015560a0820135600282015560c090910135600390910155565b80356122a581611c51565b73ffffffffffffffffffffffffffffffffffffffff16825260208101356122cb816120d7565b64ffffffffff16602083015260408101356122e5816120d7565b64ffffffffff1660408301526122fd60608201611d81565b61ffff1660608301526080818101359083015260a0808201359083015260c090810135910152565b60e081016102cb828461229a565b808201808211156102cb576102cb61208c565b5f5f83357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612379575f5ffd5b83018035915067ffffffffffffffff821115612393575f5ffd5b6020019150600581901b36038213156123aa575f5ffd5b9250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f816124195761241961208c565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b602080825281018290525f8360408301825b8581101561247657612463828461229a565b60e0928301929190910190600101612451565b5095945050505050565b80820281158282048414176102cb576102cb61208c565b5f826124ca577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f602082840312156124df575f5ffd5b813561192d81611d7256";
770
765
 
771
766
  type DropFacetConstructorParams =
772
767
  | [signer?: Signer]