@mulmocast/types 0.0.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/lib/schema.js ADDED
@@ -0,0 +1,519 @@
1
+ import { z } from "zod";
2
+ import { htmlLLMProvider, provider2TTSAgent, provider2ImageAgent, provider2MovieAgent, defaultProviders, provider2SoundEffectAgent } from "./provider2agent.js";
3
+ import { currentMulmoScriptVersion } from "./const.js";
4
+ import { mulmoVideoFilterSchema } from "./schema_video_filter.js";
5
+ // Re-export video filter schema
6
+ export { mulmoVideoFilterSchema } from "./schema_video_filter.js";
7
+ export const langSchema = z.string();
8
+ const URLStringSchema = z.url();
9
+ export const localizedTextSchema = z
10
+ .object({
11
+ text: z.string(),
12
+ lang: langSchema,
13
+ // caption: z.string(),
14
+ texts: z.array(z.string()).optional(),
15
+ ttsTexts: z.array(z.string()).optional(), // TODO remove
16
+ cacheKey: z.string(),
17
+ duration: z.number().optional(), // generated // video duration time(ms)
18
+ // filename: z.string().optional(), // generated //
19
+ })
20
+ .strict();
21
+ export const multiLingualTextsSchema = z.record(langSchema, localizedTextSchema);
22
+ export const speechOptionsSchema = z
23
+ .object({
24
+ speed: z.number().optional(), // default: 1.0 for google and niji voice, elevenLabs
25
+ instruction: z.string().optional(), // for tts openai
26
+ decoration: z.string().optional(), // for kotodama. default: neutral
27
+ stability: z.number().optional(), // for elevenLabs
28
+ similarity_boost: z.number().optional(), // for elevenLabs
29
+ })
30
+ .strict();
31
+ const speakerIdSchema = z.string();
32
+ export const defaultSpeaker = "Presenter";
33
+ export const text2SpeechProviderSchema = z.enum(Object.keys(provider2TTSAgent)).default(defaultProviders.tts);
34
+ export const speakerDataSchema = z
35
+ .object({
36
+ displayName: z.record(langSchema, z.string()).optional(),
37
+ voiceId: z.string(),
38
+ isDefault: z.boolean().optional(),
39
+ speechOptions: speechOptionsSchema.optional(),
40
+ provider: text2SpeechProviderSchema.optional(),
41
+ model: z.string().optional().describe("TTS model to use for this speaker"),
42
+ })
43
+ .strict();
44
+ export const speakerSchema = speakerDataSchema.extend({
45
+ lang: z.record(langSchema, speakerDataSchema).optional(),
46
+ });
47
+ export const speakerDictionarySchema = z.record(speakerIdSchema, speakerSchema);
48
+ export const mulmoSpeechParamsSchema = z
49
+ .object({
50
+ speakers: speakerDictionarySchema,
51
+ })
52
+ .default({
53
+ speakers: {
54
+ [defaultSpeaker]: {
55
+ provider: defaultProviders.tts,
56
+ voiceId: "shimmer",
57
+ displayName: {
58
+ en: defaultSpeaker,
59
+ },
60
+ },
61
+ },
62
+ });
63
+ export const mediaSourceSchema = z.discriminatedUnion("kind", [
64
+ z.object({ kind: z.literal("url"), url: URLStringSchema }).strict(), // https://example.com/foo.pdf
65
+ z.object({ kind: z.literal("base64"), data: z.string().min(1) }).strict(), // base64
66
+ z.object({ kind: z.literal("path"), path: z.string().min(1) }).strict(), // foo.pdf
67
+ ]);
68
+ export const mediaSourceMermaidSchema = z.discriminatedUnion("kind", [
69
+ z.object({ kind: z.literal("url"), url: URLStringSchema }).strict(), // https://example.com/foo.pdf
70
+ z.object({ kind: z.literal("base64"), data: z.string().min(1) }).strict(), // base64
71
+ z.object({ kind: z.literal("text"), text: z.string().min(1) }).strict(), // plain text
72
+ z.object({ kind: z.literal("path"), path: z.string().min(1) }).strict(), // foo.pdf
73
+ ]);
74
+ // String is easier for AI, string array is easier for human
75
+ const stringOrStringArray = z.union([z.string(), z.array(z.string())]);
76
+ export const mulmoMarkdownMediaSchema = z
77
+ .object({
78
+ type: z.literal("markdown"),
79
+ markdown: stringOrStringArray,
80
+ })
81
+ .strict();
82
+ const mulmoWebMediaSchema = z
83
+ .object({
84
+ type: z.literal("web"),
85
+ url: URLStringSchema,
86
+ })
87
+ .strict();
88
+ const mulmoPdfMediaSchema = z
89
+ .object({
90
+ type: z.literal("pdf"),
91
+ source: mediaSourceSchema,
92
+ })
93
+ .strict();
94
+ export const mulmoImageMediaSchema = z
95
+ .object({
96
+ type: z.literal("image"),
97
+ source: mediaSourceSchema,
98
+ })
99
+ .strict();
100
+ const mulmoSvgMediaSchema = z
101
+ .object({
102
+ type: z.literal("svg"),
103
+ source: mediaSourceSchema,
104
+ })
105
+ .strict();
106
+ const mulmoMovieMediaSchema = z
107
+ .object({
108
+ type: z.literal("movie"),
109
+ source: mediaSourceSchema,
110
+ })
111
+ .strict();
112
+ export const mulmoTextSlideMediaSchema = z
113
+ .object({
114
+ type: z.literal("textSlide"),
115
+ slide: z.object({
116
+ title: z.string(),
117
+ subtitle: z.string().optional(),
118
+ bullets: z.array(z.string()).optional(),
119
+ }),
120
+ })
121
+ .strict();
122
+ export const mulmoCaptionParamsSchema = z
123
+ .object({
124
+ lang: langSchema.optional(),
125
+ styles: z.array(z.string()).optional().default([]), // css styles
126
+ })
127
+ .strict();
128
+ export const mulmoChartMediaSchema = z
129
+ .object({
130
+ type: z.literal("chart"),
131
+ title: z.string(),
132
+ chartData: z.record(z.string(), z.any()),
133
+ })
134
+ .strict();
135
+ export const mulmoMermaidMediaSchema = z
136
+ .object({
137
+ type: z.literal("mermaid"),
138
+ title: z.string().describe("The title of the diagram"),
139
+ code: mediaSourceMermaidSchema.describe("The code of the mermaid diagram"),
140
+ appendix: z.array(z.string()).optional().describe("The appendix of the mermaid diagram; typically, style information."),
141
+ })
142
+ .strict();
143
+ export const mulmoHtmlTailwindMediaSchema = z
144
+ .object({
145
+ type: z.literal("html_tailwind"),
146
+ html: stringOrStringArray,
147
+ })
148
+ .strict();
149
+ export const mulmoBeatReferenceMediaSchema = z
150
+ .object({
151
+ type: z.literal("beat"),
152
+ id: z.string().optional().describe("Specifies the beat to reference."),
153
+ })
154
+ .strict();
155
+ export const mulmoVoiceOverMediaSchema = z
156
+ .object({
157
+ type: z.literal("voice_over"),
158
+ startAt: z.number().optional().describe("The time to start the voice over the video in seconds."),
159
+ })
160
+ .strict();
161
+ export const mulmoVisionMediaSchema = z
162
+ .object({
163
+ type: z.literal("vision"),
164
+ style: z.string().min(1),
165
+ data: z.record(z.string(), z.any()),
166
+ })
167
+ .strict();
168
+ export const mulmoImageAssetSchema = z.union([
169
+ mulmoMarkdownMediaSchema,
170
+ mulmoWebMediaSchema,
171
+ mulmoPdfMediaSchema,
172
+ mulmoImageMediaSchema,
173
+ mulmoSvgMediaSchema,
174
+ mulmoMovieMediaSchema,
175
+ mulmoTextSlideMediaSchema,
176
+ mulmoChartMediaSchema,
177
+ mulmoMermaidMediaSchema,
178
+ mulmoHtmlTailwindMediaSchema,
179
+ mulmoBeatReferenceMediaSchema,
180
+ mulmoVoiceOverMediaSchema,
181
+ mulmoVisionMediaSchema,
182
+ ]);
183
+ const mulmoAudioMediaSchema = z
184
+ .object({
185
+ type: z.literal("audio"),
186
+ source: mediaSourceSchema,
187
+ })
188
+ .strict();
189
+ const mulmoMidiMediaSchema = z
190
+ .object({
191
+ type: z.literal("midi"),
192
+ source: z.string(), // TODO: define it later
193
+ })
194
+ .strict();
195
+ export const mulmoAudioAssetSchema = z.union([mulmoAudioMediaSchema, mulmoMidiMediaSchema]);
196
+ const imageIdSchema = z.string();
197
+ export const mulmoImagePromptMediaSchema = z
198
+ .object({
199
+ type: z.literal("imagePrompt"),
200
+ prompt: z.string().min(1),
201
+ })
202
+ .strict();
203
+ export const mulmoImageParamsImagesValueSchema = z.union([mulmoImageMediaSchema, mulmoImagePromptMediaSchema]);
204
+ export const mulmoImageParamsImagesSchema = z.record(imageIdSchema, mulmoImageParamsImagesValueSchema);
205
+ export const mulmoFillOptionSchema = z
206
+ .object({
207
+ style: z.enum(["aspectFit", "aspectFill"]).optional().default("aspectFit"),
208
+ })
209
+ .describe("How to handle aspect ratio differences between image and canvas");
210
+ export const text2ImageProviderSchema = z.enum(Object.keys(provider2ImageAgent)).optional();
211
+ // NOTE: This is for UI only. (until we figure out how to use it in mulmoImageParamsSchema)
212
+ export const mulmoOpenAIImageModelSchema = z
213
+ .object({
214
+ provider: z.literal("openai"),
215
+ model: z.enum(provider2ImageAgent["openai"].models).optional(),
216
+ quality: z.enum(["low", "medium", "high", "auto"]).optional(),
217
+ })
218
+ .strict();
219
+ // NOTE: This is for UI only. (until we figure out how to use it in mulmoImageParamsSchema)
220
+ export const mulmoGoogleImageModelSchema = z
221
+ .object({
222
+ provider: z.literal("google"),
223
+ model: z.enum(provider2ImageAgent["google"].models).optional(),
224
+ })
225
+ .strict();
226
+ export const mulmoBeatImageParamsSchema = z
227
+ .object({
228
+ provider: text2ImageProviderSchema, // has no default value (do not change it)
229
+ model: z.string().optional(), // default: provider specific
230
+ quality: z.string().optional(), // optional image quality (model specific)
231
+ style: z.string().optional(), // optional image style
232
+ moderation: z.string().optional(), // optional image style
233
+ })
234
+ .strict();
235
+ export const mulmoImageParamsSchema = mulmoBeatImageParamsSchema
236
+ .extend({
237
+ images: mulmoImageParamsImagesSchema.optional(),
238
+ })
239
+ .strict();
240
+ export const textSlideParamsSchema = z
241
+ .object({
242
+ cssStyles: stringOrStringArray,
243
+ })
244
+ .strict();
245
+ export const beatAudioParamsSchema = z
246
+ .object({
247
+ padding: z.number().optional().describe("Padding between beats"), // seconds
248
+ movieVolume: z.number().optional().default(1.0).describe("Audio volume of the imported or generated movie"),
249
+ })
250
+ .strict();
251
+ export const mulmoHtmlImageParamsSchema = z
252
+ .object({
253
+ model: z.string().optional(), // default: provider specific
254
+ })
255
+ .strict();
256
+ // Note: we can't extend beatAudioParamsSchema because it has padding as optional
257
+ export const audioParamsSchema = z
258
+ .object({
259
+ padding: z.number().optional().default(0.3).describe("Padding between beats"), // seconds
260
+ introPadding: z.number().optional().default(1.0).describe("Padding at the beginning of the audio"), // seconds
261
+ closingPadding: z.number().optional().default(0.8).describe("Padding before the last beat"), // seconds
262
+ outroPadding: z.number().optional().default(1.0).describe("Padding at the end of the audio"), // seconds
263
+ bgm: mediaSourceSchema.optional(),
264
+ bgmVolume: z.number().optional().default(0.2).describe("Volume of the background music"),
265
+ audioVolume: z.number().optional().default(1.0).describe("Volume of the audio"),
266
+ suppressSpeech: z.boolean().optional().default(false).describe("Suppress speech generation"),
267
+ })
268
+ .strict();
269
+ export const htmlPromptParamsSchema = z
270
+ .object({
271
+ systemPrompt: z.string().optional().default(""),
272
+ prompt: z.string().min(1),
273
+ data: z.any().optional(),
274
+ images: z.record(z.string(), z.any()).optional(),
275
+ })
276
+ .strict();
277
+ export const text2MovieProviderSchema = z.enum(Object.keys(provider2MovieAgent));
278
+ export const text2SoundEffectProviderSchema = z.enum(Object.keys(provider2SoundEffectAgent)).default(defaultProviders.soundEffect);
279
+ export const mulmoSoundEffectParamsSchema = z.object({
280
+ provider: text2SoundEffectProviderSchema.optional(),
281
+ model: z.string().optional(), // default: provider specific
282
+ });
283
+ export const mulmoLipSyncParamsSchema = z.object({
284
+ provider: z.string().optional(), // lip sync provider
285
+ model: z.string().optional(), // default: provider specific
286
+ });
287
+ export const mulmoTransitionSchema = z.object({
288
+ type: z.enum([
289
+ "fade",
290
+ "slideout_left",
291
+ "slideout_right",
292
+ "slideout_up",
293
+ "slideout_down",
294
+ "slidein_left",
295
+ "slidein_right",
296
+ "slidein_up",
297
+ "slidein_down",
298
+ "wipeleft",
299
+ "wiperight",
300
+ "wipeup",
301
+ "wipedown",
302
+ "wipetl",
303
+ "wipetr",
304
+ "wipebl",
305
+ "wipebr",
306
+ ]),
307
+ duration: z.number().min(0).max(2).optional().default(0.3), // transition duration in seconds
308
+ });
309
+ export const mulmoMovieParamsSchema = z.object({
310
+ provider: text2MovieProviderSchema.optional(),
311
+ model: z.string().optional(),
312
+ fillOption: mulmoFillOptionSchema.optional(), // for movie.ts
313
+ transition: mulmoTransitionSchema.optional(), // for movie.ts
314
+ filters: z.array(mulmoVideoFilterSchema).optional(), // for movie.ts
315
+ });
316
+ export const mulmoBeatSchema = z
317
+ .object({
318
+ speaker: speakerIdSchema.optional(),
319
+ text: z.string().optional().default("").describe("Text to be spoken. If empty, the audio is not generated."),
320
+ id: z.string().optional().describe("Unique identifier for the beat."),
321
+ description: z.string().optional(),
322
+ image: mulmoImageAssetSchema.optional(),
323
+ audio: mulmoAudioAssetSchema.optional(),
324
+ duration: z.number().optional().describe("Duration of the beat. Used only when the text is empty"),
325
+ imageParams: mulmoBeatImageParamsSchema.optional(), // beat specific parameters
326
+ audioParams: beatAudioParamsSchema.optional(), // beat specific parameters
327
+ movieParams: mulmoMovieParamsSchema
328
+ .extend({
329
+ speed: z.number().optional().describe("Speed of the video. 1.0 is normal speed. 0.5 is half speed. 2.0 is double speed."), // for movie.ts
330
+ })
331
+ .optional(),
332
+ soundEffectParams: mulmoSoundEffectParamsSchema.optional(),
333
+ lipSyncParams: mulmoLipSyncParamsSchema.optional(),
334
+ htmlImageParams: mulmoHtmlImageParamsSchema.optional(),
335
+ speechOptions: speechOptionsSchema.optional(),
336
+ textSlideParams: textSlideParamsSchema.optional(),
337
+ captionParams: mulmoCaptionParamsSchema.optional(),
338
+ imageNames: z.array(imageIdSchema).optional(), // list of image names to use for image generation. The default is all images in the imageParams.images.
339
+ imagePrompt: z.string().optional(),
340
+ moviePrompt: z.string().optional(),
341
+ soundEffectPrompt: z.string().optional(),
342
+ htmlPrompt: htmlPromptParamsSchema.optional(),
343
+ enableLipSync: z.boolean().optional().describe("Enable lip sync generation for this beat"),
344
+ hidden: z.boolean().optional().describe("Hide this beat from the presentation"),
345
+ })
346
+ .strict();
347
+ export const mulmoCanvasDimensionSchema = z
348
+ .object({
349
+ width: z.number(),
350
+ height: z.number(),
351
+ })
352
+ .default({ width: 1280, height: 720 });
353
+ // export const voiceMapSchema = z.record(speakerIdSchema, z.string())
354
+ export const mulmoCastCreditSchema = z
355
+ .object({
356
+ version: z.literal(currentMulmoScriptVersion),
357
+ credit: z.literal("closing").optional(),
358
+ })
359
+ .strict();
360
+ export const text2HtmlImageProviderSchema = z.enum(htmlLLMProvider).default(defaultProviders.text2Html);
361
+ // NOTE: This is UI only. (until we figure out how to use it in movieParamsSchema)
362
+ export const mulmoGoogleMovieModelSchema = z
363
+ .object({
364
+ provider: z.literal("google"),
365
+ model: z.enum(provider2MovieAgent.google.models).optional(),
366
+ })
367
+ .strict();
368
+ // NOTE: This is UI only. (until we figure out how to use it in movieParamsSchema)
369
+ export const mulmoReplicateMovieModelSchema = z
370
+ .object({
371
+ provider: z.literal("replicate"),
372
+ model: z.enum(provider2MovieAgent.replicate.models).optional(),
373
+ })
374
+ .strict();
375
+ export const mulmoPresentationStyleSchema = z.object({
376
+ $mulmocast: mulmoCastCreditSchema,
377
+ canvasSize: mulmoCanvasDimensionSchema, // has default value
378
+ speechParams: mulmoSpeechParamsSchema,
379
+ imageParams: mulmoImageParamsSchema.optional().default({
380
+ provider: defaultProviders.text2image,
381
+ images: {},
382
+ }),
383
+ movieParams: mulmoMovieParamsSchema.optional().default({
384
+ provider: defaultProviders.text2movie,
385
+ }),
386
+ soundEffectParams: mulmoSoundEffectParamsSchema.optional().default({
387
+ provider: defaultProviders.soundEffect,
388
+ }),
389
+ lipSyncParams: mulmoLipSyncParamsSchema.optional(),
390
+ htmlImageParams: mulmoHtmlImageParamsSchema
391
+ .extend({
392
+ provider: text2HtmlImageProviderSchema,
393
+ })
394
+ .optional(),
395
+ // for textSlides
396
+ textSlideParams: textSlideParamsSchema.optional(),
397
+ captionParams: mulmoCaptionParamsSchema.optional(),
398
+ audioParams: audioParamsSchema.default({
399
+ introPadding: 1.0,
400
+ padding: 0.3,
401
+ closingPadding: 0.8,
402
+ outroPadding: 1.0,
403
+ bgmVolume: 0.2,
404
+ audioVolume: 1.0,
405
+ suppressSpeech: false,
406
+ }),
407
+ });
408
+ export const mulmoReferenceSchema = z.object({
409
+ url: URLStringSchema,
410
+ title: z.string().optional(),
411
+ description: z.string().optional(),
412
+ type: z
413
+ .union([z.enum(["article", "paper", "image", "video", "audio"]), z.string()])
414
+ .optional()
415
+ .default("article"),
416
+ });
417
+ export const mulmoScriptSchema = mulmoPresentationStyleSchema
418
+ .extend({
419
+ title: z.string().optional(),
420
+ description: z.string().optional(),
421
+ references: z.array(mulmoReferenceSchema).optional(),
422
+ lang: langSchema.optional().default("en"), // optional with default value "en"
423
+ beats: z.array(mulmoBeatSchema).min(1),
424
+ // TODO: Delete it later
425
+ imagePath: z.string().optional(), // for keynote images movie ??
426
+ // for debugging
427
+ __test_invalid__: z.boolean().optional(),
428
+ })
429
+ .strict();
430
+ export const mulmoStudioBeatSchema = z
431
+ .object({
432
+ id: z.string().optional().describe("Unique identifier for the beat."),
433
+ hash: z.string().optional(),
434
+ duration: z.number().optional(),
435
+ startAt: z.number().optional(),
436
+ audioDuration: z.number().optional(),
437
+ movieDuration: z.number().optional(),
438
+ silenceDuration: z.number().optional(),
439
+ hasMovieAudio: z.boolean().optional(),
440
+ audioFile: z.string().optional(),
441
+ imageFile: z.string().optional(), // path to the image
442
+ movieFile: z.string().optional(), // path to the movie file
443
+ soundEffectFile: z.string().optional(), // path to the sound effect file
444
+ lipSyncFile: z.string().optional(), // path to the lip sync file
445
+ captionFile: z.string().optional(), // path to the caption image
446
+ htmlImageFile: z.string().optional(), // path to the html image
447
+ markdown: z.string().optional(), // markdown string (alternative to image)
448
+ html: z.string().optional(), // html string (alternative to image)
449
+ })
450
+ .strict();
451
+ export const mulmoStudioMultiLingualDataSchema = z.object({
452
+ multiLingualTexts: multiLingualTextsSchema,
453
+ cacheKey: z.string().optional(),
454
+ });
455
+ export const mulmoStudioMultiLingualArraySchema = z.array(mulmoStudioMultiLingualDataSchema).min(1);
456
+ export const mulmoStudioMultiLingualSchema = z.record(z.string(), mulmoStudioMultiLingualDataSchema);
457
+ export const mulmoStudioMultiLingualFileSchema = z.object({
458
+ version: z.literal(currentMulmoScriptVersion),
459
+ multiLingual: mulmoStudioMultiLingualSchema,
460
+ });
461
+ export const mulmoSessionStateSchema = z.object({
462
+ inSession: z.object({
463
+ audio: z.boolean(),
464
+ image: z.boolean(),
465
+ video: z.boolean(),
466
+ multiLingual: z.boolean(),
467
+ caption: z.boolean(),
468
+ pdf: z.boolean(),
469
+ markdown: z.boolean(),
470
+ html: z.boolean(),
471
+ }),
472
+ inBeatSession: z.object({
473
+ audio: z.record(z.string(), z.boolean()),
474
+ image: z.record(z.string(), z.boolean()),
475
+ movie: z.record(z.string(), z.boolean()),
476
+ multiLingual: z.record(z.string(), z.boolean()),
477
+ caption: z.record(z.string(), z.boolean()),
478
+ html: z.record(z.string(), z.boolean()),
479
+ imageReference: z.record(z.string(), z.boolean()),
480
+ soundEffect: z.record(z.string(), z.boolean()),
481
+ lipSync: z.record(z.string(), z.boolean()),
482
+ }),
483
+ });
484
+ export const mulmoStudioSchema = z
485
+ .object({
486
+ script: mulmoScriptSchema,
487
+ filename: z.string(),
488
+ beats: z.array(mulmoStudioBeatSchema).min(1),
489
+ })
490
+ .strict();
491
+ export const mulmoPromptTemplateSchema = z
492
+ .object({
493
+ title: z.string(),
494
+ description: z.string(),
495
+ systemPrompt: z.string(),
496
+ scriptName: z.string().optional(),
497
+ presentationStyle: mulmoPresentationStyleSchema.optional(),
498
+ })
499
+ .strict();
500
+ export const mulmoPromptTemplateFileSchema = mulmoPromptTemplateSchema.extend({
501
+ filename: z.string(),
502
+ });
503
+ export const mulmoStoryboardSceneSchema = z
504
+ .object({
505
+ description: z.string(),
506
+ references: z.array(mulmoReferenceSchema).optional(),
507
+ })
508
+ .describe("A detailed description of the content of the scene, not the presentation style")
509
+ .strict();
510
+ export const mulmoStoryboardSchema = z
511
+ .object({
512
+ title: z.string(),
513
+ references: z.array(mulmoReferenceSchema).optional(),
514
+ scenes: z.array(mulmoStoryboardSceneSchema),
515
+ })
516
+ .describe("A storyboard for a presentation, a story, a video, etc.")
517
+ .strict();
518
+ export const urlsSchema = z.array(z.url({ message: "Invalid URL format" }));
519
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}