@metadaoproject/futarchy 0.7.0-alpha.4 → 0.7.0-alpha.6

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 (38) hide show
  1. package/dist/v0.6/types/index.d.ts +2 -1
  2. package/dist/v0.7/BidWallClient.d.ts +357 -0
  3. package/dist/v0.7/BidWallClient.js +131 -0
  4. package/dist/v0.7/BidWallClient.js.map +1 -0
  5. package/dist/v0.7/ConditionalVaultClient.d.ts +169 -169
  6. package/dist/v0.7/FutarchyClient.d.ts +570 -570
  7. package/dist/v0.7/LaunchpadClient.d.ts +536 -372
  8. package/dist/v0.7/LaunchpadClient.js +83 -10
  9. package/dist/v0.7/LaunchpadClient.js.map +1 -1
  10. package/dist/v0.7/PriceBasedPerformancePackageClient.d.ts +171 -171
  11. package/dist/v0.7/constants.d.ts +2 -0
  12. package/dist/v0.7/constants.js +4 -1
  13. package/dist/v0.7/constants.js.map +1 -1
  14. package/dist/v0.7/index.d.ts +1 -0
  15. package/dist/v0.7/index.js +1 -0
  16. package/dist/v0.7/index.js.map +1 -1
  17. package/dist/v0.7/types/bid_wall.d.ts +733 -0
  18. package/dist/v0.7/types/bid_wall.js +733 -0
  19. package/dist/v0.7/types/bid_wall.js.map +1 -0
  20. package/dist/v0.7/types/conditional_vault.d.ts +525 -516
  21. package/dist/v0.7/types/conditional_vault.js +595 -586
  22. package/dist/v0.7/types/conditional_vault.js.map +1 -1
  23. package/dist/v0.7/types/futarchy.d.ts +1709 -1487
  24. package/dist/v0.7/types/futarchy.js +1881 -1659
  25. package/dist/v0.7/types/futarchy.js.map +1 -1
  26. package/dist/v0.7/types/index.d.ts +15 -2
  27. package/dist/v0.7/types/index.js +2 -0
  28. package/dist/v0.7/types/index.js.map +1 -1
  29. package/dist/v0.7/types/launchpad_v7.d.ts +1131 -779
  30. package/dist/v0.7/types/launchpad_v7.js +1195 -843
  31. package/dist/v0.7/types/launchpad_v7.js.map +1 -1
  32. package/dist/v0.7/types/price_based_performance_package.d.ts +543 -485
  33. package/dist/v0.7/types/price_based_performance_package.js +640 -582
  34. package/dist/v0.7/types/price_based_performance_package.js.map +1 -1
  35. package/dist/v0.7/utils/pda.d.ts +6 -0
  36. package/dist/v0.7/utils/pda.js +9 -1
  37. package/dist/v0.7/utils/pda.js.map +1 -1
  38. package/package.json +1 -1
@@ -69,7 +69,8 @@ export type SpotSwapEvent = IdlEvents<FutarchyProgram>["SpotSwapEvent"];
69
69
  export type ConditionalSwapEvent = IdlEvents<FutarchyProgram>["ConditionalSwapEvent"];
70
70
  export type ProvideLiquidityEvent = IdlEvents<FutarchyProgram>["ProvideLiquidityEvent"];
71
71
  export type WithdrawLiquidityEvent = IdlEvents<FutarchyProgram>["WithdrawLiquidityEvent"];
72
- export type FutarchyEvent = CollectFeesEvent | InitializeDaoEvent | UpdateDaoEvent | InitializeProposalEvent | StakeToProposalEvent | UnstakeFromProposalEvent | LaunchProposalEvent | FinalizeProposalEvent | SpotSwapEvent | ConditionalSwapEvent | ProvideLiquidityEvent | WithdrawLiquidityEvent;
72
+ export type SponsorProposalEvent = IdlEvents<FutarchyProgram>["SponsorProposalEvent"];
73
+ export type FutarchyEvent = CollectFeesEvent | InitializeDaoEvent | UpdateDaoEvent | InitializeProposalEvent | StakeToProposalEvent | UnstakeFromProposalEvent | LaunchProposalEvent | FinalizeProposalEvent | SpotSwapEvent | ConditionalSwapEvent | ProvideLiquidityEvent | WithdrawLiquidityEvent | SponsorProposalEvent;
73
74
  export type v0_6_0_CollectFeesEvent = IdlEvents<v0_6_0_Futarchy>["CollectFeesEvent"];
74
75
  export type v0_6_0_InitializeDaoEvent = IdlEvents<v0_6_0_Futarchy>["InitializeDaoEvent"];
75
76
  export type v0_6_0_UpdateDaoEvent = IdlEvents<v0_6_0_Futarchy>["UpdateDaoEvent"];
@@ -0,0 +1,357 @@
1
+ import { AnchorProvider, Program } from "@coral-xyz/anchor";
2
+ import { AccountInfo, PublicKey } from "@solana/web3.js";
3
+ import { BidWallProgram, BidWall } from "../v0.7/types/index.js";
4
+ import BN from "bn.js";
5
+ export type CreateBidWallClientParams = {
6
+ provider: AnchorProvider;
7
+ bidWallProgramId?: PublicKey;
8
+ };
9
+ export declare class BidWallClient {
10
+ readonly provider: AnchorProvider;
11
+ readonly bidWallProgram: Program<BidWallProgram>;
12
+ readonly programId: PublicKey;
13
+ constructor(provider: AnchorProvider, bidWallProgramId: PublicKey);
14
+ static createClient(createBidWallClientParams: CreateBidWallClientParams): BidWallClient;
15
+ fetchBidWall(bidWall: PublicKey): Promise<BidWall | null>;
16
+ deserializeBidWall(accountInfo: AccountInfo<Buffer>): Promise<BidWall>;
17
+ initializeBidWallIx({ amount, durationSeconds, initialAmmQuoteReserves, daoTreasury, authority, baseMint, creator, nonce, feeRecipient, quoteMint, payer, }: {
18
+ amount: number;
19
+ durationSeconds: number;
20
+ initialAmmQuoteReserves: number;
21
+ daoTreasury: PublicKey;
22
+ creator?: PublicKey;
23
+ nonce?: BN;
24
+ authority?: PublicKey;
25
+ baseMint: PublicKey;
26
+ feeRecipient: PublicKey;
27
+ quoteMint?: PublicKey;
28
+ payer?: PublicKey;
29
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<BidWallProgram, {
30
+ name: "initializeBidWall";
31
+ accounts: [{
32
+ "name": "bidWall";
33
+ "isMut": true;
34
+ "isSigner": false;
35
+ }, {
36
+ "name": "payer";
37
+ "isMut": true;
38
+ "isSigner": true;
39
+ }, {
40
+ "name": "feeRecipient";
41
+ "isMut": false;
42
+ "isSigner": false;
43
+ }, {
44
+ "name": "creator";
45
+ "isMut": false;
46
+ "isSigner": true;
47
+ }, {
48
+ "name": "authority";
49
+ "isMut": false;
50
+ "isSigner": false;
51
+ }, {
52
+ "name": "bidWallQuoteTokenAccount";
53
+ "isMut": true;
54
+ "isSigner": false;
55
+ }, {
56
+ "name": "creatorQuoteTokenAccount";
57
+ "isMut": true;
58
+ "isSigner": false;
59
+ }, {
60
+ "name": "daoTreasury";
61
+ "isMut": false;
62
+ "isSigner": false;
63
+ }, {
64
+ "name": "baseMint";
65
+ "isMut": false;
66
+ "isSigner": false;
67
+ }, {
68
+ "name": "quoteMint";
69
+ "isMut": false;
70
+ "isSigner": false;
71
+ }, {
72
+ "name": "tokenProgram";
73
+ "isMut": false;
74
+ "isSigner": false;
75
+ }, {
76
+ "name": "associatedTokenProgram";
77
+ "isMut": false;
78
+ "isSigner": false;
79
+ }, {
80
+ "name": "systemProgram";
81
+ "isMut": false;
82
+ "isSigner": false;
83
+ }, {
84
+ "name": "eventAuthority";
85
+ "isMut": false;
86
+ "isSigner": false;
87
+ }, {
88
+ "name": "program";
89
+ "isMut": false;
90
+ "isSigner": false;
91
+ }];
92
+ args: [{
93
+ "name": "args";
94
+ "type": {
95
+ "defined": "InitializeBidWallArgs";
96
+ };
97
+ }];
98
+ } & {
99
+ name: "initializeBidWall";
100
+ }>;
101
+ sellTokensIx({ amount, bidWall, baseMint, daoTreasury, quoteMint, user, }: {
102
+ amount: number;
103
+ bidWall: PublicKey;
104
+ baseMint: PublicKey;
105
+ daoTreasury: PublicKey;
106
+ quoteMint: PublicKey;
107
+ user: PublicKey;
108
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<BidWallProgram, {
109
+ name: "sellTokens";
110
+ accounts: [{
111
+ "name": "bidWall";
112
+ "isMut": true;
113
+ "isSigner": false;
114
+ }, {
115
+ "name": "user";
116
+ "isMut": true;
117
+ "isSigner": true;
118
+ }, {
119
+ "name": "userTokenAccount";
120
+ "isMut": true;
121
+ "isSigner": false;
122
+ }, {
123
+ "name": "userQuoteTokenAccount";
124
+ "isMut": true;
125
+ "isSigner": false;
126
+ }, {
127
+ "name": "bidWallQuoteTokenAccount";
128
+ "isMut": true;
129
+ "isSigner": false;
130
+ }, {
131
+ "name": "daoTreasury";
132
+ "isMut": false;
133
+ "isSigner": false;
134
+ }, {
135
+ "name": "daoTreasuryQuoteTokenAccount";
136
+ "isMut": false;
137
+ "isSigner": false;
138
+ }, {
139
+ "name": "baseMint";
140
+ "isMut": true;
141
+ "isSigner": false;
142
+ }, {
143
+ "name": "quoteMint";
144
+ "isMut": false;
145
+ "isSigner": false;
146
+ }, {
147
+ "name": "tokenProgram";
148
+ "isMut": false;
149
+ "isSigner": false;
150
+ }, {
151
+ "name": "systemProgram";
152
+ "isMut": false;
153
+ "isSigner": false;
154
+ }, {
155
+ "name": "eventAuthority";
156
+ "isMut": false;
157
+ "isSigner": false;
158
+ }, {
159
+ "name": "program";
160
+ "isMut": false;
161
+ "isSigner": false;
162
+ }];
163
+ args: [{
164
+ "name": "args";
165
+ "type": {
166
+ "defined": "SellTokensArgs";
167
+ };
168
+ }];
169
+ } & {
170
+ name: "sellTokens";
171
+ }>;
172
+ collectFeesIx({ bidWall, feeRecipient, quoteMint, }: {
173
+ bidWall: PublicKey;
174
+ feeRecipient: PublicKey;
175
+ quoteMint: PublicKey;
176
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<BidWallProgram, {
177
+ name: "collectFees";
178
+ accounts: [{
179
+ "name": "bidWall";
180
+ "isMut": true;
181
+ "isSigner": false;
182
+ }, {
183
+ "name": "bidWallQuoteTokenAccount";
184
+ "isMut": true;
185
+ "isSigner": false;
186
+ }, {
187
+ "name": "feeRecipient";
188
+ "isMut": false;
189
+ "isSigner": false;
190
+ }, {
191
+ "name": "feeRecipientQuoteTokenAccount";
192
+ "isMut": true;
193
+ "isSigner": false;
194
+ }, {
195
+ "name": "quoteMint";
196
+ "isMut": false;
197
+ "isSigner": false;
198
+ }, {
199
+ "name": "tokenProgram";
200
+ "isMut": false;
201
+ "isSigner": false;
202
+ }, {
203
+ "name": "systemProgram";
204
+ "isMut": false;
205
+ "isSigner": false;
206
+ }, {
207
+ "name": "eventAuthority";
208
+ "isMut": false;
209
+ "isSigner": false;
210
+ }, {
211
+ "name": "program";
212
+ "isMut": false;
213
+ "isSigner": false;
214
+ }];
215
+ args: [];
216
+ } & {
217
+ name: "collectFees";
218
+ }>;
219
+ closeBidWallIx({ bidWall, authority, baseMint, feeRecipient, quoteMint, payer, }: {
220
+ bidWall: PublicKey;
221
+ authority: PublicKey;
222
+ baseMint: PublicKey;
223
+ feeRecipient: PublicKey;
224
+ quoteMint: PublicKey;
225
+ payer: PublicKey;
226
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<BidWallProgram, {
227
+ name: "closeBidWall";
228
+ accounts: [{
229
+ "name": "bidWall";
230
+ "isMut": true;
231
+ "isSigner": false;
232
+ }, {
233
+ "name": "payer";
234
+ "isMut": true;
235
+ "isSigner": true;
236
+ }, {
237
+ "name": "authority";
238
+ "isMut": false;
239
+ "isSigner": false;
240
+ }, {
241
+ "name": "feeRecipient";
242
+ "isMut": false;
243
+ "isSigner": false;
244
+ }, {
245
+ "name": "bidWallQuoteTokenAccount";
246
+ "isMut": true;
247
+ "isSigner": false;
248
+ }, {
249
+ "name": "authorityQuoteTokenAccount";
250
+ "isMut": true;
251
+ "isSigner": false;
252
+ }, {
253
+ "name": "feeRecipientQuoteTokenAccount";
254
+ "isMut": true;
255
+ "isSigner": false;
256
+ }, {
257
+ "name": "baseMint";
258
+ "isMut": false;
259
+ "isSigner": false;
260
+ }, {
261
+ "name": "quoteMint";
262
+ "isMut": false;
263
+ "isSigner": false;
264
+ }, {
265
+ "name": "tokenProgram";
266
+ "isMut": false;
267
+ "isSigner": false;
268
+ }, {
269
+ "name": "systemProgram";
270
+ "isMut": false;
271
+ "isSigner": false;
272
+ }, {
273
+ "name": "eventAuthority";
274
+ "isMut": false;
275
+ "isSigner": false;
276
+ }, {
277
+ "name": "program";
278
+ "isMut": false;
279
+ "isSigner": false;
280
+ }];
281
+ args: [];
282
+ } & {
283
+ name: "closeBidWall";
284
+ }>;
285
+ cancelBidWallIx({ bidWall, authority, baseMint, feeRecipient, quoteMint, payer, }: {
286
+ bidWall: PublicKey;
287
+ authority: PublicKey;
288
+ baseMint: PublicKey;
289
+ feeRecipient: PublicKey;
290
+ quoteMint: PublicKey;
291
+ payer: PublicKey;
292
+ }): import("@coral-xyz/anchor/dist/cjs/program/namespace/methods.js").MethodsBuilder<BidWallProgram, {
293
+ name: "cancelBidWall";
294
+ accounts: [{
295
+ "name": "bidWall";
296
+ "isMut": true;
297
+ "isSigner": false;
298
+ }, {
299
+ "name": "payer";
300
+ "isMut": true;
301
+ "isSigner": true;
302
+ }, {
303
+ "name": "authority";
304
+ "isMut": false;
305
+ "isSigner": true;
306
+ }, {
307
+ "name": "feeRecipient";
308
+ "isMut": false;
309
+ "isSigner": false;
310
+ }, {
311
+ "name": "bidWallQuoteTokenAccount";
312
+ "isMut": true;
313
+ "isSigner": false;
314
+ }, {
315
+ "name": "authorityQuoteTokenAccount";
316
+ "isMut": true;
317
+ "isSigner": false;
318
+ }, {
319
+ "name": "feeRecipientQuoteTokenAccount";
320
+ "isMut": true;
321
+ "isSigner": false;
322
+ }, {
323
+ "name": "baseMint";
324
+ "isMut": false;
325
+ "isSigner": false;
326
+ }, {
327
+ "name": "quoteMint";
328
+ "isMut": false;
329
+ "isSigner": false;
330
+ }, {
331
+ "name": "tokenProgram";
332
+ "isMut": false;
333
+ "isSigner": false;
334
+ }, {
335
+ "name": "systemProgram";
336
+ "isMut": false;
337
+ "isSigner": false;
338
+ }, {
339
+ "name": "eventAuthority";
340
+ "isMut": false;
341
+ "isSigner": false;
342
+ }, {
343
+ "name": "program";
344
+ "isMut": false;
345
+ "isSigner": false;
346
+ }];
347
+ args: [];
348
+ } & {
349
+ name: "cancelBidWall";
350
+ }>;
351
+ getBidWallAddress({ baseMint, creator, nonce, }: {
352
+ baseMint: PublicKey;
353
+ creator: PublicKey;
354
+ nonce: BN;
355
+ }): PublicKey;
356
+ getEventAuthorityAddress(): PublicKey;
357
+ }
@@ -0,0 +1,131 @@
1
+ import { Program } from "@coral-xyz/anchor";
2
+ import { PublicKey, SystemProgram } from "@solana/web3.js";
3
+ import { MAINNET_USDC, BID_WALL_PROGRAM_ID } from "../v0.7/constants.js";
4
+ import { BidWallIDL } from "../v0.7/types/index.js";
5
+ import BN from "bn.js";
6
+ import { ASSOCIATED_TOKEN_PROGRAM_ID, getAssociatedTokenAddressSync, TOKEN_PROGRAM_ID, } from "@solana/spl-token";
7
+ import { getBidWallAddr, getEventAuthorityAddr } from "../v0.7/utils/pda.js";
8
+ export class BidWallClient {
9
+ provider;
10
+ bidWallProgram;
11
+ programId;
12
+ constructor(provider, bidWallProgramId) {
13
+ this.provider = provider;
14
+ this.programId = bidWallProgramId;
15
+ this.bidWallProgram = new Program(BidWallIDL, bidWallProgramId, provider);
16
+ }
17
+ static createClient(createBidWallClientParams) {
18
+ let { provider, bidWallProgramId } = createBidWallClientParams;
19
+ return new BidWallClient(provider, bidWallProgramId || BID_WALL_PROGRAM_ID);
20
+ }
21
+ async fetchBidWall(bidWall) {
22
+ return this.bidWallProgram.account.bidWall.fetchNullable(bidWall);
23
+ }
24
+ async deserializeBidWall(accountInfo) {
25
+ return this.bidWallProgram.coder.accounts.decode("bidWall", accountInfo.data);
26
+ }
27
+ initializeBidWallIx({ amount, durationSeconds, initialAmmQuoteReserves, daoTreasury, authority, baseMint, creator = this.provider.publicKey, nonce = new BN(0), feeRecipient, quoteMint = MAINNET_USDC, payer = this.provider.publicKey, }) {
28
+ const [bidWall] = getBidWallAddr({ creator, baseMint, nonce });
29
+ const bidWallQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, bidWall, true);
30
+ const creatorQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, creator, true);
31
+ return this.bidWallProgram.methods
32
+ .initializeBidWall({
33
+ amount: new BN(amount),
34
+ nonce,
35
+ durationSeconds,
36
+ initialAmmQuoteReserves: new BN(initialAmmQuoteReserves),
37
+ })
38
+ .accounts({
39
+ bidWall,
40
+ payer,
41
+ bidWallQuoteTokenAccount,
42
+ creator,
43
+ creatorQuoteTokenAccount,
44
+ authority: authority ?? creator,
45
+ baseMint,
46
+ quoteMint,
47
+ feeRecipient,
48
+ daoTreasury,
49
+ tokenProgram: TOKEN_PROGRAM_ID,
50
+ associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,
51
+ systemProgram: SystemProgram.programId,
52
+ });
53
+ }
54
+ sellTokensIx({ amount, bidWall, baseMint, daoTreasury, quoteMint = MAINNET_USDC, user = this.provider.publicKey, }) {
55
+ const bidWallQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, bidWall, true);
56
+ const userTokenAccount = getAssociatedTokenAddressSync(baseMint, user, true);
57
+ const userQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, user, true);
58
+ const daoTreasuryQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, daoTreasury, true);
59
+ return this.bidWallProgram.methods
60
+ .sellTokens({ amountIn: new BN(amount) })
61
+ .accounts({
62
+ bidWall,
63
+ user,
64
+ userTokenAccount,
65
+ userQuoteTokenAccount,
66
+ bidWallQuoteTokenAccount,
67
+ baseMint,
68
+ quoteMint,
69
+ daoTreasury,
70
+ daoTreasuryQuoteTokenAccount,
71
+ tokenProgram: TOKEN_PROGRAM_ID,
72
+ systemProgram: SystemProgram.programId,
73
+ });
74
+ }
75
+ collectFeesIx({ bidWall, feeRecipient, quoteMint = MAINNET_USDC, }) {
76
+ const bidWallQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, bidWall, true);
77
+ const feeRecipientQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, feeRecipient, true);
78
+ return this.bidWallProgram.methods.collectFees().accounts({
79
+ bidWall,
80
+ bidWallQuoteTokenAccount,
81
+ feeRecipient,
82
+ feeRecipientQuoteTokenAccount,
83
+ quoteMint,
84
+ tokenProgram: TOKEN_PROGRAM_ID,
85
+ systemProgram: SystemProgram.programId,
86
+ });
87
+ }
88
+ closeBidWallIx({ bidWall, authority, baseMint, feeRecipient = PublicKey.default, quoteMint = MAINNET_USDC, payer = this.provider.publicKey, }) {
89
+ const bidWallQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, bidWall, true);
90
+ const authorityQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, authority, true);
91
+ const feeRecipientQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, feeRecipient, true);
92
+ return this.bidWallProgram.methods.closeBidWall().accounts({
93
+ bidWall,
94
+ payer,
95
+ authority,
96
+ feeRecipient,
97
+ bidWallQuoteTokenAccount,
98
+ authorityQuoteTokenAccount,
99
+ feeRecipientQuoteTokenAccount,
100
+ baseMint,
101
+ quoteMint,
102
+ tokenProgram: TOKEN_PROGRAM_ID,
103
+ systemProgram: SystemProgram.programId,
104
+ });
105
+ }
106
+ cancelBidWallIx({ bidWall, authority, baseMint, feeRecipient = PublicKey.default, quoteMint = MAINNET_USDC, payer = this.provider.publicKey, }) {
107
+ const bidWallQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, bidWall, true);
108
+ const authorityQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, authority, true);
109
+ const feeRecipientQuoteTokenAccount = getAssociatedTokenAddressSync(quoteMint, feeRecipient, true);
110
+ return this.bidWallProgram.methods.cancelBidWall().accounts({
111
+ bidWall,
112
+ payer,
113
+ authority,
114
+ feeRecipient,
115
+ bidWallQuoteTokenAccount,
116
+ authorityQuoteTokenAccount,
117
+ feeRecipientQuoteTokenAccount,
118
+ baseMint,
119
+ quoteMint,
120
+ tokenProgram: TOKEN_PROGRAM_ID,
121
+ systemProgram: SystemProgram.programId,
122
+ });
123
+ }
124
+ getBidWallAddress({ baseMint, creator, nonce, }) {
125
+ return getBidWallAddr({ baseMint, creator, nonce })[0];
126
+ }
127
+ getEventAuthorityAddress() {
128
+ return getEventAuthorityAddr(this.programId)[0];
129
+ }
130
+ }
131
+ //# sourceMappingURL=BidWallClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BidWallClient.js","sourceRoot":"","sources":["../../src/v0.7/BidWallClient.ts"],"names":[],"mappings":"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"}