@sudobility/contracts 1.13.2 → 1.14.0

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.
Files changed (26) hide show
  1. package/artifacts/contracts/Mailer.sol/Mailer.d.ts +41 -2
  2. package/artifacts/contracts/Mailer.sol/Mailer.dbg.json +1 -1
  3. package/artifacts/contracts/Mailer.sol/Mailer.json +41 -2
  4. package/artifacts/contracts/MockUSDC.sol/MockUSDC.dbg.json +1 -1
  5. package/artifacts/contracts/interfaces/IERC20.sol/IERC20.dbg.json +1 -1
  6. package/dist/evm/src/evm/evm-mailer-client.d.ts +30 -0
  7. package/dist/evm/src/evm/evm-mailer-client.d.ts.map +1 -1
  8. package/dist/evm/typechain-types/Mailer.d.ts +28 -2
  9. package/dist/evm/typechain-types/Mailer.d.ts.map +1 -1
  10. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts +31 -1
  11. package/dist/evm/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  12. package/dist/evm/typechain-types/factories/Mailer__factory.js +40 -1
  13. package/dist/evm/typechain-types/factories/Mailer__factory.js.map +1 -1
  14. package/dist/unified/src/evm/evm-mailer-client.d.ts +30 -0
  15. package/dist/unified/src/evm/evm-mailer-client.d.ts.map +1 -1
  16. package/dist/unified/src/unified/onchain-mailer-client.d.ts +32 -32
  17. package/dist/unified/src/unified/onchain-mailer-client.d.ts.map +1 -1
  18. package/dist/unified/typechain-types/Mailer.d.ts +28 -2
  19. package/dist/unified/typechain-types/Mailer.d.ts.map +1 -1
  20. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts +31 -1
  21. package/dist/unified/typechain-types/factories/Mailer__factory.d.ts.map +1 -1
  22. package/dist/unified/typechain-types/factories/Mailer__factory.js +40 -1
  23. package/dist/unified/typechain-types/factories/Mailer__factory.js.map +1 -1
  24. package/package.json +2 -2
  25. package/typechain-types/Mailer.ts +57 -0
  26. package/typechain-types/factories/Mailer__factory.ts +40 -1
@@ -38,6 +38,7 @@ export interface MailerInterface extends Interface {
38
38
  | "delegationFee"
39
39
  | "distributeClaimableFunds"
40
40
  | "emergencyUnpause"
41
+ | "feePaused"
41
42
  | "getCustomFeePercentage"
42
43
  | "getDelegationFee"
43
44
  | "getFee"
@@ -61,6 +62,7 @@ export interface MailerInterface extends Interface {
61
62
  | "setCustomFeePercentage"
62
63
  | "setDelegationFee"
63
64
  | "setFee"
65
+ | "setFeePaused"
64
66
  | "setPermission"
65
67
  | "unpause"
66
68
  | "usdcToken"
@@ -75,6 +77,7 @@ export interface MailerInterface extends Interface {
75
77
  | "DelegationSet"
76
78
  | "EmergencyUnpaused"
77
79
  | "ExpiredSharesClaimed"
80
+ | "FeePauseToggled"
78
81
  | "FeeUpdated"
79
82
  | "FundsDistributed"
80
83
  | "MailSent"
@@ -137,6 +140,7 @@ export interface MailerInterface extends Interface {
137
140
  functionFragment: "emergencyUnpause",
138
141
  values?: undefined
139
142
  ): string;
143
+ encodeFunctionData(functionFragment: "feePaused", values?: undefined): string;
140
144
  encodeFunctionData(
141
145
  functionFragment: "getCustomFeePercentage",
142
146
  values: [AddressLike]
@@ -211,6 +215,10 @@ export interface MailerInterface extends Interface {
211
215
  functionFragment: "setFee",
212
216
  values: [BigNumberish]
213
217
  ): string;
218
+ encodeFunctionData(
219
+ functionFragment: "setFeePaused",
220
+ values: [boolean]
221
+ ): string;
214
222
  encodeFunctionData(
215
223
  functionFragment: "setPermission",
216
224
  values: [AddressLike]
@@ -263,6 +271,7 @@ export interface MailerInterface extends Interface {
263
271
  functionFragment: "emergencyUnpause",
264
272
  data: BytesLike
265
273
  ): Result;
274
+ decodeFunctionResult(functionFragment: "feePaused", data: BytesLike): Result;
266
275
  decodeFunctionResult(
267
276
  functionFragment: "getCustomFeePercentage",
268
277
  data: BytesLike
@@ -331,6 +340,10 @@ export interface MailerInterface extends Interface {
331
340
  data: BytesLike
332
341
  ): Result;
333
342
  decodeFunctionResult(functionFragment: "setFee", data: BytesLike): Result;
343
+ decodeFunctionResult(
344
+ functionFragment: "setFeePaused",
345
+ data: BytesLike
346
+ ): Result;
334
347
  decodeFunctionResult(
335
348
  functionFragment: "setPermission",
336
349
  data: BytesLike
@@ -421,6 +434,18 @@ export namespace ExpiredSharesClaimedEvent {
421
434
  export type LogDescription = TypedLogDescription<Event>;
422
435
  }
423
436
 
437
+ export namespace FeePauseToggledEvent {
438
+ export type InputTuple = [enabled: boolean];
439
+ export type OutputTuple = [enabled: boolean];
440
+ export interface OutputObject {
441
+ enabled: boolean;
442
+ }
443
+ export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
444
+ export type Filter = TypedDeferredTopicFilter<Event>;
445
+ export type Log = TypedEventLog<Event>;
446
+ export type LogDescription = TypedLogDescription<Event>;
447
+ }
448
+
424
449
  export namespace FeeUpdatedEvent {
425
450
  export type InputTuple = [oldFee: BigNumberish, newFee: BigNumberish];
426
451
  export type OutputTuple = [oldFee: bigint, newFee: bigint];
@@ -729,6 +754,8 @@ export interface Mailer extends BaseContract {
729
754
 
730
755
  emergencyUnpause: TypedContractMethod<[], [void], "nonpayable">;
731
756
 
757
+ feePaused: TypedContractMethod<[], [boolean], "view">;
758
+
732
759
  getCustomFeePercentage: TypedContractMethod<
733
760
  [account: AddressLike],
734
761
  [bigint],
@@ -852,6 +879,12 @@ export interface Mailer extends BaseContract {
852
879
 
853
880
  setFee: TypedContractMethod<[usdcAmount: BigNumberish], [void], "nonpayable">;
854
881
 
882
+ setFeePaused: TypedContractMethod<
883
+ [_feePaused: boolean],
884
+ [void],
885
+ "nonpayable"
886
+ >;
887
+
855
888
  setPermission: TypedContractMethod<
856
889
  [contractAddress: AddressLike],
857
890
  [void],
@@ -902,6 +935,9 @@ export interface Mailer extends BaseContract {
902
935
  getFunction(
903
936
  nameOrSignature: "emergencyUnpause"
904
937
  ): TypedContractMethod<[], [void], "nonpayable">;
938
+ getFunction(
939
+ nameOrSignature: "feePaused"
940
+ ): TypedContractMethod<[], [boolean], "view">;
905
941
  getFunction(
906
942
  nameOrSignature: "getCustomFeePercentage"
907
943
  ): TypedContractMethod<[account: AddressLike], [bigint], "view">;
@@ -1036,6 +1072,9 @@ export interface Mailer extends BaseContract {
1036
1072
  getFunction(
1037
1073
  nameOrSignature: "setFee"
1038
1074
  ): TypedContractMethod<[usdcAmount: BigNumberish], [void], "nonpayable">;
1075
+ getFunction(
1076
+ nameOrSignature: "setFeePaused"
1077
+ ): TypedContractMethod<[_feePaused: boolean], [void], "nonpayable">;
1039
1078
  getFunction(
1040
1079
  nameOrSignature: "setPermission"
1041
1080
  ): TypedContractMethod<[contractAddress: AddressLike], [void], "nonpayable">;
@@ -1095,6 +1134,13 @@ export interface Mailer extends BaseContract {
1095
1134
  ExpiredSharesClaimedEvent.OutputTuple,
1096
1135
  ExpiredSharesClaimedEvent.OutputObject
1097
1136
  >;
1137
+ getEvent(
1138
+ key: "FeePauseToggled"
1139
+ ): TypedContractEvent<
1140
+ FeePauseToggledEvent.InputTuple,
1141
+ FeePauseToggledEvent.OutputTuple,
1142
+ FeePauseToggledEvent.OutputObject
1143
+ >;
1098
1144
  getEvent(
1099
1145
  key: "FeeUpdated"
1100
1146
  ): TypedContractEvent<
@@ -1258,6 +1304,17 @@ export interface Mailer extends BaseContract {
1258
1304
  ExpiredSharesClaimedEvent.OutputObject
1259
1305
  >;
1260
1306
 
1307
+ "FeePauseToggled(bool)": TypedContractEvent<
1308
+ FeePauseToggledEvent.InputTuple,
1309
+ FeePauseToggledEvent.OutputTuple,
1310
+ FeePauseToggledEvent.OutputObject
1311
+ >;
1312
+ FeePauseToggled: TypedContractEvent<
1313
+ FeePauseToggledEvent.InputTuple,
1314
+ FeePauseToggledEvent.OutputTuple,
1315
+ FeePauseToggledEvent.OutputObject
1316
+ >;
1317
+
1261
1318
  "FeeUpdated(uint256,uint256)": TypedContractEvent<
1262
1319
  FeeUpdatedEvent.InputTuple,
1263
1320
  FeeUpdatedEvent.OutputTuple,
@@ -187,6 +187,19 @@ const _abi = [
187
187
  name: "ExpiredSharesClaimed",
188
188
  type: "event",
189
189
  },
190
+ {
191
+ anonymous: false,
192
+ inputs: [
193
+ {
194
+ indexed: false,
195
+ internalType: "bool",
196
+ name: "enabled",
197
+ type: "bool",
198
+ },
199
+ ],
200
+ name: "FeePauseToggled",
201
+ type: "event",
202
+ },
190
203
  {
191
204
  anonymous: false,
192
205
  inputs: [
@@ -637,6 +650,19 @@ const _abi = [
637
650
  stateMutability: "nonpayable",
638
651
  type: "function",
639
652
  },
653
+ {
654
+ inputs: [],
655
+ name: "feePaused",
656
+ outputs: [
657
+ {
658
+ internalType: "bool",
659
+ name: "",
660
+ type: "bool",
661
+ },
662
+ ],
663
+ stateMutability: "view",
664
+ type: "function",
665
+ },
640
666
  {
641
667
  inputs: [
642
668
  {
@@ -1069,6 +1095,19 @@ const _abi = [
1069
1095
  stateMutability: "nonpayable",
1070
1096
  type: "function",
1071
1097
  },
1098
+ {
1099
+ inputs: [
1100
+ {
1101
+ internalType: "bool",
1102
+ name: "_feePaused",
1103
+ type: "bool",
1104
+ },
1105
+ ],
1106
+ name: "setFeePaused",
1107
+ outputs: [],
1108
+ stateMutability: "nonpayable",
1109
+ type: "function",
1110
+ },
1072
1111
  {
1073
1112
  inputs: [
1074
1113
  {
@@ -1105,7 +1144,7 @@ const _abi = [
1105
1144
  ] as const;
1106
1145
 
1107
1146
  const _bytecode =
1108
- "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b5060405162002251380380620022518339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a0516120c162000190600039600081816103df01528181610543015281816107d30152818161087d0152818161098301528181610a2401528181610c5001528181610e4801528181610ef301528181611030015281816110c80152818161117101526114e2015260008181610250015281816108af01528181610b70015281816110fa0152818161134a015281816117ff015261198901526120c16000f3fe608060405234801561001057600080fd5b50600436106102315760003560e01c80638456cb5911610130578063b85a35d2116100b8578063d15786871161007c578063d1578687146104ee578063dbb24ff5146104f6578063e074bb4714610509578063ebf77de01461051c578063f2292f091461052f57600080fd5b8063b85a35d214610487578063bbb2fe7c1461049a578063c5f0a58f146104ad578063cd564ccd146104b6578063ced72f87146104e657600080fd5b80639ded51dd116100ff5780639ded51dd1461041c578063a3a336bf14610424578063ac637c7a14610460578063ae39279f14610473578063b187bd261461047c57600080fd5b80638456cb59146103d25780638da5cb5b146103da5780638db3c5fd14610401578063931e02381461040957600080fd5b80633ff5aecd116101be578063585450141161018257806358545014146103845780635c975abb1461039757806369fe0e2d146103a45780636a1c6e78146103b7578063720e586f146103bf57600080fd5b80633ff5aecd1461032e5780634a4e3bd51461034e5780634b0b1b8b1461035657806355bfc81c1461035e578063573321bb1461037157600080fd5b806327fe3a031161020557806327fe3a03146102e5578063285298af146102f85780632fad573e1461030b578063358cbf0a1461031e5780633f4ba83a1461032657600080fd5b80620270a41461023657806311eac8551461024b5780631f9838b51461028f57806321241dfe146102cd575b600080fd5b610249610244366004611bc0565b610538565b005b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6102bd61029d366004611be2565b600760209081526000928352604080842090915290825290205460ff1681565b6040519015158152602001610286565b6102d7624f1a0081565b604051908152602001610286565b6102496102f3366004611c6f565b610625565b6102d7610306366004611bc0565b6106ea565b610249610319366004611c6f565b610714565b6102496107c8565b610249610978565b6102d761033c366004611bc0565b60066020526000908152604090205481565b610249610a19565b610249610aba565b61024961036c366004611cfa565b610c45565b61024961037f366004611d13565b610cf8565b610249610392366004611bc0565b610db3565b6005546102bd9060ff1681565b6102496103b2366004611cfa565b610e3d565b6102d7600a81565b6102496103cd366004611bc0565b610ee8565b610249611025565b6102727f000000000000000000000000000000000000000000000000000000000000000081565b6102d7605a81565b610249610417366004611dcb565b61120b565b6001546102d7565b61044b610432366004611bc0565b6002602052600090815260409020805460019091015482565b60408051928352602083019190915201610286565b61024961046e366004611bc0565b6112ca565b6102d760005481565b60055460ff166102bd565b610249610495366004611bc0565b611433565b6102496104a8366004611e4c565b6114d7565b6102d760015481565b6104c96104c4366004611bc0565b6115f3565b604080519384526020840192909252151590820152606001610286565b6000546102d7565b6003546102d7565b610249610504366004611e76565b611640565b610249610517366004611bc0565b6116f1565b61024961052a366004611bc0565b61176e565b6102d760035481565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461058157604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156105a5576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166105cc5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d9061061a906064815260200190565b60405180910390a250565b600454600103610648576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610671576040516306d39fcd60e41b815260040160405180910390fd5b61067c8387846118cc565b848460405161068c929190611f21565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a45050600060045550505050565b6001600160a01b03811660009081526006602052604081205461070e906064611f47565b92915050565b600454600103610737576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610760576040516306d39fcd60e41b815260040160405180910390fd5b61076b8387846118cc565b848460405161077b929190611f21565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd78562591016106d5565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461081157604051635fc483c560e01b815260040160405180910390fd5b600454600103610834576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560035460000361085c5760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156108f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091c9190611f5a565b90508061093c576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109c157604051635fc483c560e01b815260040160405180910390fd5b60055460ff166109e45760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a6257604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a855760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610add576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610b135760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610b269190611f77565b421115610b465760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610be59190611f5a565b905080610c05576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c8e57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610cb2576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610d1b576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610d44576040516306d39fcd60e41b815260040160405180910390fd5b610d4f8389846118cc565b876001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26898989898888604051610d9c96959493929190611fb3565b60405180910390a350506000600455505050505050565b600454600103610dd6576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610dff576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e8657604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610eaa576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610cec565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f3157604051635fc483c560e01b815260040160405180910390fd5b600454600103610f54576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b03811660009081526002602052604081208054909103610f935760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610fa69190611f77565b4211610fc5576040516326f6703f60e11b815260040160405180910390fd5b805460008083556001830181905560038054839290610fe5908490611f77565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610c33565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461106e57604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611092576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff19166001179055600354156111e0576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611143573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111679190611f5a565b905080156111d7577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516111ca91815260200190565b60405180910390a26111dd565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b60045460010361122e576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611257576040516306d39fcd60e41b815260040160405180910390fd5b611263816000806118cc565b8282604051611273929190611f21565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044387876040516112b6929190611ff5565b60405180910390a350506000600455505050565b6004546001036112ed576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611316576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b038116156113f5576001546040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af115801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf9190611f5a565b6113dc57604051634aa23e8f60e11b815260040160405180910390fd5b80600360008282546113ee9190611f77565b9091555050505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b60055460ff1615611457576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811661147e5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461152057604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615611544576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03821661156b5760405163e6c4247b60e01b815260040160405180910390fd5b606481111561158d57604051631f3b85d360e01b815260040160405180910390fd5b611598816064611f47565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906115e79084815260200190565b60405180910390a25050565b6001600160a01b038116600090815260026020526040812080546001820154909291829161162590624f1a0090611f77565b81549093501580159061163757508242115b93959294505050565b600454600103611663576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561168c576040516306d39fcd60e41b815260040160405180910390fd5b611698816000806118cc565b336001600160a01b03167fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba3138888888888886040516116db96959493929190612009565b60405180910390a2505060006004555050505050565b6001600160a01b0381166117185760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b60055460ff166117915760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b038116600090815260026020526040812080549091036117cb5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611848573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061186c9190611f5a565b905080156118bc57836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd836040516118af91815260200190565b60405180910390a26118c6565b8183554260018401555b50505050565b336001600160a01b0384161480159061190957503360009081526007602090815260408083206001600160a01b038716845290915290205460ff16155b156119275760405163184d62c560e01b815260040160405180910390fd5b600061193584600054611a5d565b9050806000036119455750505050565b600082611958576064600a83020461195a565b815b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af11580156119d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f89190611f5a565b611a1557604051634aa23e8f60e11b815260040160405180910390fd5b828015611a2a57506001600160a01b03841615155b15611a3e57611a398483611a9e565b611a56565b8060036000828254611a509190611f77565b90915550505b5050505050565b6001600160a01b0382166000908152600660205260408120546064611a828282611f47565b611a8c9085612052565b611a969190612069565b949350505050565b611aab605a600019612069565b811115611acb57604051634eab2ea760e11b815260040160405180910390fd5b60006064611ada600a84612052565b611ae49190612069565b90506000611af28284611f47565b6001600160a01b038516600090815260026020526040812080549293508392909190611b1f908490611f77565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611b55908490611f77565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611bbb57600080fd5b919050565b600060208284031215611bd257600080fd5b611bdb82611ba4565b9392505050565b60008060408385031215611bf557600080fd5b611bfe83611ba4565b9150611c0c60208401611ba4565b90509250929050565b60008083601f840112611c2757600080fd5b50813567ffffffffffffffff811115611c3f57600080fd5b602083019150836020828501011115611c5757600080fd5b9250929050565b8015158114611c6c57600080fd5b50565b60008060008060008060a08789031215611c8857600080fd5b611c9187611ba4565b9550602087013567ffffffffffffffff811115611cad57600080fd5b611cb989828a01611c15565b9096509450611ccc905060408801611ba4565b92506060870135611cdc81611c5e565b91506080870135611cec81611c5e565b809150509295509295509295565b600060208284031215611d0c57600080fd5b5035919050565b60008060008060008060008060c0898b031215611d2f57600080fd5b611d3889611ba4565b9750602089013567ffffffffffffffff80821115611d5557600080fd5b611d618c838d01611c15565b909950975060408b0135915080821115611d7a57600080fd5b50611d878b828c01611c15565b9096509450611d9a905060608a01611ba4565b92506080890135611daa81611c5e565b915060a0890135611dba81611c5e565b809150509295985092959890939650565b600080600080600060608688031215611de357600080fd5b853567ffffffffffffffff80821115611dfb57600080fd5b611e0789838a01611c15565b90975095506020880135915080821115611e2057600080fd5b50611e2d88828901611c15565b9094509250611e40905060408701611ba4565b90509295509295909350565b60008060408385031215611e5f57600080fd5b611e6883611ba4565b946020939093013593505050565b60008060008060008060006080888a031215611e9157600080fd5b873567ffffffffffffffff80821115611ea957600080fd5b611eb58b838c01611c15565b909950975060208a0135915080821115611ece57600080fd5b611eda8b838c01611c15565b909750955060408a0135915080821115611ef357600080fd5b50611f008a828b01611c15565b9094509250611f13905060608901611ba4565b905092959891949750929550565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561070e5761070e611f31565b600060208284031215611f6c57600080fd5b8151611bdb81611c5e565b8082018082111561070e5761070e611f31565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b608081526000611fc760808301888a611f8a565b8281036020840152611fda818789611f8a565b94151560408401525050901515606090910152949350505050565b602081526000611a96602083018486611f8a565b60608152600061201d60608301888a611f8a565b8281036020840152612030818789611f8a565b90508281036040840152612045818587611f8a565b9998505050505050505050565b808202811582820484141761070e5761070e611f31565b60008261208657634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220bdb7b8067400d75405ab1fb3f11f89738859958485c40e306e1acf1686f2ff8364736f6c63430008180033";
1147
+ "0x60c0604052620186a0600055629896806001553480156200001f57600080fd5b506040516200235e3803806200235e8339810160408190526200004291620000b4565b6001600160a01b03821615806200006057506001600160a01b038116155b156200007f5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b039182166080521660a052620000ec565b80516001600160a01b0381168114620000af57600080fd5b919050565b60008060408385031215620000c857600080fd5b620000d38362000097565b9150620000e36020840162000097565b90509250929050565b60805160a0516121c762000197600039600081816104070152818161057e0152818161080e015281816108b8015281816109be01528181610a5f01528181610c8b01528181610e8301528181610f2e0152818161106b01528181611103015281816111ac0152818161151d0152611737015260008181610266015281816108ea01528181610bab0152818161113501528181611385015281816118d30152611a7201526121c76000f3fe608060405234801561001057600080fd5b50600436106102475760003560e01c80638456cb591161013b578063bbb2fe7c116100b8578063dbb24ff51161007c578063dbb24ff51461051e578063dc06300c14610531578063e074bb4714610544578063ebf77de014610557578063f2292f091461056a57600080fd5b8063bbb2fe7c146104c2578063c5f0a58f146104d5578063cd564ccd146104de578063ced72f871461050e578063d15786871461051657600080fd5b8063a3a336bf116100ff578063a3a336bf1461044c578063ac637c7a14610488578063ae39279f1461049b578063b187bd26146104a4578063b85a35d2146104af57600080fd5b80638456cb59146103fa5780638da5cb5b146104025780638db3c5fd14610429578063931e0238146104315780639ded51dd1461044457600080fd5b80634a4e3bd5116101c9578063585450141161018d57806358545014146103ac5780635c975abb146103bf57806369fe0e2d146103cc5780636a1c6e78146103df578063720e586f146103e757600080fd5b80634a4e3bd5146103645780634b0b1b8b1461036c57806350f1c94f1461037457806355bfc81c14610386578063573321bb1461039957600080fd5b8063285298af11610210578063285298af1461030e5780632fad573e14610321578063358cbf0a146103345780633f4ba83a1461033c5780633ff5aecd1461034457600080fd5b80620270a41461024c57806311eac855146102615780631f9838b5146102a557806321241dfe146102e357806327fe3a03146102fb575b600080fd5b61025f61025a366004611ca9565b610573565b005b6102887f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020015b60405180910390f35b6102d36102b3366004611ccb565b600760209081526000928352604080842090915290825290205460ff1681565b604051901515815260200161029c565b6102ed624f1a0081565b60405190815260200161029c565b61025f610309366004611d58565b610660565b6102ed61031c366004611ca9565b610725565b61025f61032f366004611d58565b61074f565b61025f610803565b61025f6109b3565b6102ed610352366004611ca9565b60066020526000908152604090205481565b61025f610a54565b61025f610af5565b6005546102d390610100900460ff1681565b61025f610394366004611de3565b610c80565b61025f6103a7366004611dfc565b610d33565b61025f6103ba366004611ca9565b610dee565b6005546102d39060ff1681565b61025f6103da366004611de3565b610e78565b6102ed600a81565b61025f6103f5366004611ca9565b610f23565b61025f611060565b6102887f000000000000000000000000000000000000000000000000000000000000000081565b6102ed605a81565b61025f61043f366004611eb4565b611246565b6001546102ed565b61047361045a366004611ca9565b6002602052600090815260409020805460019091015482565b6040805192835260208301919091520161029c565b61025f610496366004611ca9565b611305565b6102ed60005481565b60055460ff166102d3565b61025f6104bd366004611ca9565b61146e565b61025f6104d0366004611f35565b611512565b6102ed60015481565b6104f16104ec366004611ca9565b61162e565b60408051938452602084019290925215159082015260600161029c565b6000546102ed565b6003546102ed565b61025f61052c366004611f5f565b61167b565b61025f61053f36600461200a565b61172c565b61025f610552366004611ca9565b6117c5565b61025f610565366004611ca9565b611842565b6102ed60035481565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105bc57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156105e0576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166106075760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03811660008181526006602052604080822091909155517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d90610655906064815260200190565b60405180910390a250565b600454600103610683576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156106ac576040516306d39fcd60e41b815260040160405180910390fd5b6106b78387846119a0565b84846040516106c7929190612027565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6c92a5c8a1b6c49076a075d1a499458f543fd2588ea971574373865f817ce83d91015b60405180910390a45050600060045550505050565b6001600160a01b03811660009081526006602052604081205461074990606461204d565b92915050565b600454600103610772576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff161561079b576040516306d39fcd60e41b815260040160405180910390fd5b6107a68387846119a0565b84846040516107b6929190612027565b6040805191829003822084151583528315156020840152916001600160a01b0389169133917f6a00347d56e88979c493ca2baa527a6cd1009b34431c4ef1021a5c0edd7856259101610710565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461084c57604051635fc483c560e01b815260040160405180910390fd5b60045460010361086f576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556003546000036108975760405163493c1ab760e01b815260040160405180910390fd5b6003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109579190612060565b905080610977576040516312171d8360e31b815260040160405180910390fd5b6040518281527f81521279371b94892737e5e06851c322303c72e5493db1453314ea08f55cb9379060200160405180910390a150506000600455565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109fc57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610a1f5760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f0e5e3b3fb504c22cf5c42fa07d521225937514c654007e1f12646f89768d6f9490600090a1565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a9d57604051635fc483c560e01b815260040160405180910390fd5b60055460ff16610ac05760405163dcdde9dd60e01b815260040160405180910390fd5b6005805460ff191690556040517f15de7ad89d29fd1c6d2e6b1e878453569b4080edf34e0105faaa3bd52f01853090600090a1565b600454600103610b18576040516345f5ce8b60e11b815260040160405180910390fd5b60016004553360009081526002602052604081208054909103610b4e5760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610b61919061207d565b421115610b815760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c209190612060565b905080610c40576040516312171d8360e31b815260040160405180910390fd5b60405182815233907f6673747791df7fe01578fcaebe4082d6d7680f052dbdd7d2cf345f88121be421906020015b60405180910390a25050600060045550565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cc957604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610ced576040516306d39fcd60e41b815260040160405180910390fd5b600180549082905560408051828152602081018490527f83b05743f1284b2faed08b3f927951e6663e5277e09a40c939f0dfe5075af77891015b60405180910390a15050565b600454600103610d56576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610d7f576040516306d39fcd60e41b815260040160405180910390fd5b610d8a8389846119a0565b876001600160a01b0316336001600160a01b03167f4576724219bca1c695ff280c4eba3f012c99252acd6c7d90c0407f63f8e6ad26898989898888604051610dd7969594939291906120b9565b60405180910390a350506000600455505050505050565b600454600103610e11576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615610e3a576040516306d39fcd60e41b815260040160405180910390fd5b6040516000906001600160a01b038316907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed8908390a3506000600455565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ec157604051635fc483c560e01b815260040160405180910390fd5b60055460ff1615610ee5576040516306d39fcd60e41b815260040160405180910390fd5b600080549082905560408051828152602081018490527f528d9479e9f9889a87a3c30c7f7ba537e5e59c4c85a37733b16e57c62df613029101610d27565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f6c57604051635fc483c560e01b815260040160405180910390fd5b600454600103610f8f576040516345f5ce8b60e11b815260040160405180910390fd5b60016004556001600160a01b03811660009081526002602052604081208054909103610fce5760405163493c1ab760e01b815260040160405180910390fd5b624f1a008160010154610fe1919061207d565b4211611000576040516326f6703f60e11b815260040160405180910390fd5b80546000808355600183018190556003805483929061102090849061207d565b90915550506040518181526001600160a01b038416907fb4572b7f0782a4b7672a2341d00e4f1a0af99d81a3f8e959f25ff679eb31448190602001610c6e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110a957604051635fc483c560e01b815260040160405180910390fd5b60055460ff16156110cd576040516306d39fcd60e41b815260040160405180910390fd5b6005805460ff191660011790556003541561121b576003805460009182905560405163a9059cbb60e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081166004830152602482018390529192917f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561117e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111a29190612060565b90508015611212577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd8360405161120591815260200190565b60405180910390a2611218565b60038290555b50505b6040517fab35696f06e428ebc5ceba8cd17f8fed287baf43440206d1943af1ee53e6d26790600090a1565b600454600103611269576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611292576040516306d39fcd60e41b815260040160405180910390fd5b61129e816000806119a0565b82826040516112ae929190612027565b6040518091039020336001600160a01b03167ffadda1f12158473f0f6a95450c4108a36fc8aa62f3dee6a9de94c8c59947044387876040516112f19291906120fb565b60405180910390a350506000600455505050565b600454600103611328576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff1615611351576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b03811615611430576001546040516323b872dd60e01b8152336004820152306024820152604481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906323b872dd906064016020604051808303816000875af11580156113d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113fa9190612060565b61141757604051634aa23e8f60e11b815260040160405180910390fd5b8060036000828254611429919061207d565b9091555050505b6040516001600160a01b0382169033907f39e3ace752997a751bda5ecf126da84d0d23d5e61f3f56f26a6b22990d7beed890600090a3506000600455565b60055460ff1615611492576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0381166114b95760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19166001179055519092917f0ceda602a8e00ef76afe24614343eb6c034877c816b6184d641d2d8b713a0fc691a350565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461155b57604051635fc483c560e01b815260040160405180910390fd5b60055460ff161561157f576040516306d39fcd60e41b815260040160405180910390fd5b6001600160a01b0382166115a65760405163e6c4247b60e01b815260040160405180910390fd5b60648111156115c857604051631f3b85d360e01b815260040160405180910390fd5b6115d381606461204d565b6001600160a01b038316600081815260066020526040908190209290925590517fb6ddac613582447a8fcbbe869621560344bdbe26d6fea183b1e155cd223d864d906116229084815260200190565b60405180910390a25050565b6001600160a01b038116600090815260026020526040812080546001820154909291829161166090624f1a009061207d565b81549093501580159061167257508242115b93959294505050565b60045460010361169e576040516345f5ce8b60e11b815260040160405180910390fd5b600160045560055460ff16156116c7576040516306d39fcd60e41b815260040160405180910390fd5b6116d3816000806119a0565b336001600160a01b03167fe137336c26280396075fb19ebe313eb4c539c2d845386ad035d8dee029bba3138888888888886040516117169695949392919061210f565b60405180910390a2505060006004555050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461177557604051635fc483c560e01b815260040160405180910390fd5b60058054821580156101000261ff0019909216919091179091556040519081527f0bb6987e633a7af841f8c4d74c699a4aa006b854376001dd6c0412f2ec13f5c19060200160405180910390a150565b6001600160a01b0381166117ec5760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0381166000818152600760209081526040808320338085529252808320805460ff19169055519092917f5f708ef9fc37d19d88246c264788c8cdf640c9ff500bd168e941ea1421c4f6c491a350565b60055460ff166118655760405163dcdde9dd60e01b815260040160405180910390fd5b6001600160a01b0381166000908152600260205260408120805490910361189f5760405163493c1ab760e01b815260040160405180910390fd5b805460008083556001830181905560405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af115801561191c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119409190612060565b9050801561199057836001600160a01b03167f26536799ace2c3dbe12e638ec3ade6b4173dcf1289be0a58d51a5003015649bd8360405161198391815260200190565b60405180910390a261199a565b8183554260018401555b50505050565b336001600160a01b038416148015906119dd57503360009081526007602090815260408083206001600160a01b038716845290915290205460ff16155b156119fb5760405163184d62c560e01b815260040160405180910390fd5b600554610100900460ff1615611a1057505050565b6000611a1e84600054611b46565b905080600003611a2e5750505050565b600082611a41576064600a830204611a43565b815b6040516323b872dd60e01b81526001600160a01b038781166004830152306024830152604482018390529192507f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af1158015611abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ae19190612060565b611afe57604051634aa23e8f60e11b815260040160405180910390fd5b828015611b1357506001600160a01b03841615155b15611b2757611b228483611b87565b611b3f565b8060036000828254611b39919061207d565b90915550505b5050505050565b6001600160a01b0382166000908152600660205260408120546064611b6b828261204d565b611b759085612158565b611b7f919061216f565b949350505050565b611b94605a60001961216f565b811115611bb457604051634eab2ea760e11b815260040160405180910390fd5b60006064611bc3600a84612158565b611bcd919061216f565b90506000611bdb828461204d565b6001600160a01b038516600090815260026020526040812080549293508392909190611c0890849061207d565b90915550506001600160a01b03841660009081526002602052604081204260019091015560038054849290611c3e90849061207d565b909155505060408051828152602081018490526001600160a01b038616917fad83ccf4aebaf9db0cc5658b24e378a4a865a51b863e0289e3ee0e4947d97b1c910160405180910390a250505050565b80356001600160a01b0381168114611ca457600080fd5b919050565b600060208284031215611cbb57600080fd5b611cc482611c8d565b9392505050565b60008060408385031215611cde57600080fd5b611ce783611c8d565b9150611cf560208401611c8d565b90509250929050565b60008083601f840112611d1057600080fd5b50813567ffffffffffffffff811115611d2857600080fd5b602083019150836020828501011115611d4057600080fd5b9250929050565b8015158114611d5557600080fd5b50565b60008060008060008060a08789031215611d7157600080fd5b611d7a87611c8d565b9550602087013567ffffffffffffffff811115611d9657600080fd5b611da289828a01611cfe565b9096509450611db5905060408801611c8d565b92506060870135611dc581611d47565b91506080870135611dd581611d47565b809150509295509295509295565b600060208284031215611df557600080fd5b5035919050565b60008060008060008060008060c0898b031215611e1857600080fd5b611e2189611c8d565b9750602089013567ffffffffffffffff80821115611e3e57600080fd5b611e4a8c838d01611cfe565b909950975060408b0135915080821115611e6357600080fd5b50611e708b828c01611cfe565b9096509450611e83905060608a01611c8d565b92506080890135611e9381611d47565b915060a0890135611ea381611d47565b809150509295985092959890939650565b600080600080600060608688031215611ecc57600080fd5b853567ffffffffffffffff80821115611ee457600080fd5b611ef089838a01611cfe565b90975095506020880135915080821115611f0957600080fd5b50611f1688828901611cfe565b9094509250611f29905060408701611c8d565b90509295509295909350565b60008060408385031215611f4857600080fd5b611f5183611c8d565b946020939093013593505050565b60008060008060008060006080888a031215611f7a57600080fd5b873567ffffffffffffffff80821115611f9257600080fd5b611f9e8b838c01611cfe565b909950975060208a0135915080821115611fb757600080fd5b611fc38b838c01611cfe565b909750955060408a0135915080821115611fdc57600080fd5b50611fe98a828b01611cfe565b9094509250611ffc905060608901611c8d565b905092959891949750929550565b60006020828403121561201c57600080fd5b8135611cc481611d47565b8183823760009101908152919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561074957610749612037565b60006020828403121561207257600080fd5b8151611cc481611d47565b8082018082111561074957610749612037565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6080815260006120cd60808301888a612090565b82810360208401526120e0818789612090565b94151560408401525050901515606090910152949350505050565b602081526000611b7f602083018486612090565b60608152600061212360608301888a612090565b8281036020840152612136818789612090565b9050828103604084015261214b818587612090565b9998505050505050505050565b808202811582820484141761074957610749612037565b60008261218c57634e487b7160e01b600052601260045260246000fd5b50049056fea264697066735822122020d7ba132382e4622c09b92332fc3694eaf2ca7bdb2edc1b94bfd9b733c8c0b264736f6c63430008180033";
1109
1148
 
1110
1149
  type MailerConstructorParams =
1111
1150
  | [signer?: Signer]