telnyx 6.8.2 → 6.9.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 (43) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/client.d.mts +12 -0
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +12 -0
  5. package/client.d.ts.map +1 -1
  6. package/client.js +12 -0
  7. package/client.js.map +1 -1
  8. package/client.mjs +12 -0
  9. package/client.mjs.map +1 -1
  10. package/package.json +1 -1
  11. package/resources/index.d.mts +2 -0
  12. package/resources/index.d.mts.map +1 -1
  13. package/resources/index.d.ts +2 -0
  14. package/resources/index.d.ts.map +1 -1
  15. package/resources/index.js +6 -2
  16. package/resources/index.js.map +1 -1
  17. package/resources/index.mjs +2 -0
  18. package/resources/index.mjs.map +1 -1
  19. package/resources/voice-clones.d.mts +382 -0
  20. package/resources/voice-clones.d.mts.map +1 -0
  21. package/resources/voice-clones.d.ts +382 -0
  22. package/resources/voice-clones.d.ts.map +1 -0
  23. package/resources/voice-clones.js +117 -0
  24. package/resources/voice-clones.js.map +1 -0
  25. package/resources/voice-clones.mjs +113 -0
  26. package/resources/voice-clones.mjs.map +1 -0
  27. package/resources/voice-designs.d.mts +361 -0
  28. package/resources/voice-designs.d.mts.map +1 -0
  29. package/resources/voice-designs.d.ts +361 -0
  30. package/resources/voice-designs.d.ts.map +1 -0
  31. package/resources/voice-designs.js +131 -0
  32. package/resources/voice-designs.js.map +1 -0
  33. package/resources/voice-designs.mjs +127 -0
  34. package/resources/voice-designs.mjs.map +1 -0
  35. package/src/client.ts +64 -0
  36. package/src/resources/index.ts +26 -0
  37. package/src/resources/voice-clones.ts +497 -0
  38. package/src/resources/voice-designs.ts +482 -0
  39. package/src/version.ts +1 -1
  40. package/version.d.mts +1 -1
  41. package/version.d.ts +1 -1
  42. package/version.js +1 -1
  43. package/version.mjs +1 -1
@@ -0,0 +1,361 @@
1
+ import { APIResource } from "../core/resource.mjs";
2
+ import { APIPromise } from "../core/api-promise.mjs";
3
+ import { DefaultFlatPagination, type DefaultFlatPaginationParams, PagePromise } from "../core/pagination.mjs";
4
+ import { RequestOptions } from "../internal/request-options.mjs";
5
+ /**
6
+ * Create and manage AI-generated voice designs using natural language prompts.
7
+ */
8
+ export declare class VoiceDesigns extends APIResource {
9
+ /**
10
+ * Creates a new voice design (version 1) when `voice_design_id` is omitted. When
11
+ * `voice_design_id` is provided, adds a new version to the existing design
12
+ * instead. A design can have at most 50 versions.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * const voiceDesign = await client.voiceDesigns.create({
17
+ * prompt: 'Speak in a warm, friendly tone',
18
+ * text: 'Hello, welcome to our service.',
19
+ * });
20
+ * ```
21
+ */
22
+ create(body: VoiceDesignCreateParams, options?: RequestOptions): APIPromise<VoiceDesignCreateResponse>;
23
+ /**
24
+ * Returns the latest version of a voice design, or a specific version when
25
+ * `?version=N` is provided. The `id` parameter accepts either a UUID or the design
26
+ * name.
27
+ *
28
+ * @example
29
+ * ```ts
30
+ * const voiceDesign = await client.voiceDesigns.retrieve(
31
+ * 'id',
32
+ * );
33
+ * ```
34
+ */
35
+ retrieve(id: string, query?: VoiceDesignRetrieveParams | null | undefined, options?: RequestOptions): APIPromise<VoiceDesignRetrieveResponse>;
36
+ /**
37
+ * Returns a paginated list of voice designs belonging to the authenticated
38
+ * account.
39
+ *
40
+ * @example
41
+ * ```ts
42
+ * // Automatically fetches more pages as needed.
43
+ * for await (const voiceDesignListResponse of client.voiceDesigns.list()) {
44
+ * // ...
45
+ * }
46
+ * ```
47
+ */
48
+ list(query?: VoiceDesignListParams | null | undefined, options?: RequestOptions): PagePromise<VoiceDesignListResponsesDefaultFlatPagination, VoiceDesignListResponse>;
49
+ /**
50
+ * Permanently deletes a voice design and all of its versions. This action cannot
51
+ * be undone.
52
+ *
53
+ * @example
54
+ * ```ts
55
+ * await client.voiceDesigns.delete('id');
56
+ * ```
57
+ */
58
+ delete(id: string, options?: RequestOptions): APIPromise<void>;
59
+ /**
60
+ * Permanently deletes a specific version of a voice design. The version number
61
+ * must be a positive integer.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * await client.voiceDesigns.deleteVersion(1, { id: 'id' });
66
+ * ```
67
+ */
68
+ deleteVersion(version: number, params: VoiceDesignDeleteVersionParams, options?: RequestOptions): APIPromise<void>;
69
+ /**
70
+ * Downloads the WAV audio sample for the voice design. Returns the latest
71
+ * version's sample by default, or a specific version when `?version=N` is
72
+ * provided. The `id` parameter accepts either a UUID or the design name.
73
+ *
74
+ * @example
75
+ * ```ts
76
+ * const response = await client.voiceDesigns.downloadSample(
77
+ * 'id',
78
+ * );
79
+ *
80
+ * const content = await response.blob();
81
+ * console.log(content);
82
+ * ```
83
+ */
84
+ downloadSample(id: string, query?: VoiceDesignDownloadSampleParams | null | undefined, options?: RequestOptions): APIPromise<Response>;
85
+ /**
86
+ * Updates the name of a voice design. All versions retain their other properties.
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * const response = await client.voiceDesigns.rename('id', {
91
+ * name: 'updated-narrator',
92
+ * });
93
+ * ```
94
+ */
95
+ rename(id: string, body: VoiceDesignRenameParams, options?: RequestOptions): APIPromise<VoiceDesignRenameResponse>;
96
+ }
97
+ export type VoiceDesignListResponsesDefaultFlatPagination = DefaultFlatPagination<VoiceDesignListResponse>;
98
+ /**
99
+ * Response envelope for a single voice design with full version detail.
100
+ */
101
+ export interface VoiceDesignCreateResponse {
102
+ /**
103
+ * A voice design object with full version detail.
104
+ */
105
+ data?: VoiceDesignCreateResponse.Data;
106
+ }
107
+ export declare namespace VoiceDesignCreateResponse {
108
+ /**
109
+ * A voice design object with full version detail.
110
+ */
111
+ interface Data {
112
+ /**
113
+ * Unique identifier for the voice design.
114
+ */
115
+ id?: string;
116
+ /**
117
+ * Timestamp when the voice design was first created.
118
+ */
119
+ created_at?: string;
120
+ /**
121
+ * Name of the voice design.
122
+ */
123
+ name?: string;
124
+ /**
125
+ * Natural language prompt used to define the voice style for this version.
126
+ */
127
+ prompt?: string;
128
+ /**
129
+ * Identifies the resource type.
130
+ */
131
+ record_type?: 'voice_design';
132
+ /**
133
+ * Sample text used to synthesize this version.
134
+ */
135
+ text?: string;
136
+ /**
137
+ * Timestamp when the voice design was last updated.
138
+ */
139
+ updated_at?: string;
140
+ /**
141
+ * Version number of this voice design.
142
+ */
143
+ version?: number;
144
+ /**
145
+ * Timestamp when this specific version was created.
146
+ */
147
+ version_created_at?: string;
148
+ /**
149
+ * Size of the voice sample audio in bytes.
150
+ */
151
+ voice_sample_size?: number;
152
+ }
153
+ }
154
+ /**
155
+ * Response envelope for a single voice design with full version detail.
156
+ */
157
+ export interface VoiceDesignRetrieveResponse {
158
+ /**
159
+ * A voice design object with full version detail.
160
+ */
161
+ data?: VoiceDesignRetrieveResponse.Data;
162
+ }
163
+ export declare namespace VoiceDesignRetrieveResponse {
164
+ /**
165
+ * A voice design object with full version detail.
166
+ */
167
+ interface Data {
168
+ /**
169
+ * Unique identifier for the voice design.
170
+ */
171
+ id?: string;
172
+ /**
173
+ * Timestamp when the voice design was first created.
174
+ */
175
+ created_at?: string;
176
+ /**
177
+ * Name of the voice design.
178
+ */
179
+ name?: string;
180
+ /**
181
+ * Natural language prompt used to define the voice style for this version.
182
+ */
183
+ prompt?: string;
184
+ /**
185
+ * Identifies the resource type.
186
+ */
187
+ record_type?: 'voice_design';
188
+ /**
189
+ * Sample text used to synthesize this version.
190
+ */
191
+ text?: string;
192
+ /**
193
+ * Timestamp when the voice design was last updated.
194
+ */
195
+ updated_at?: string;
196
+ /**
197
+ * Version number of this voice design.
198
+ */
199
+ version?: number;
200
+ /**
201
+ * Timestamp when this specific version was created.
202
+ */
203
+ version_created_at?: string;
204
+ /**
205
+ * Size of the voice sample audio in bytes.
206
+ */
207
+ voice_sample_size?: number;
208
+ }
209
+ }
210
+ /**
211
+ * A summarized voice design object (without version-specific fields).
212
+ */
213
+ export interface VoiceDesignListResponse {
214
+ /**
215
+ * Unique identifier for the voice design.
216
+ */
217
+ id?: string;
218
+ /**
219
+ * Timestamp when the voice design was first created.
220
+ */
221
+ created_at?: string;
222
+ /**
223
+ * Name of the voice design.
224
+ */
225
+ name?: string;
226
+ /**
227
+ * Identifies the resource type.
228
+ */
229
+ record_type?: 'voice_design';
230
+ /**
231
+ * Timestamp when the voice design was last updated.
232
+ */
233
+ updated_at?: string;
234
+ }
235
+ /**
236
+ * Response envelope for a voice design after a rename operation (no
237
+ * version-specific fields).
238
+ */
239
+ export interface VoiceDesignRenameResponse {
240
+ /**
241
+ * A summarized voice design object (without version-specific fields).
242
+ */
243
+ data?: VoiceDesignRenameResponse.Data;
244
+ }
245
+ export declare namespace VoiceDesignRenameResponse {
246
+ /**
247
+ * A summarized voice design object (without version-specific fields).
248
+ */
249
+ interface Data {
250
+ /**
251
+ * Unique identifier for the voice design.
252
+ */
253
+ id?: string;
254
+ /**
255
+ * Timestamp when the voice design was first created.
256
+ */
257
+ created_at?: string;
258
+ /**
259
+ * Name of the voice design.
260
+ */
261
+ name?: string;
262
+ /**
263
+ * Identifies the resource type.
264
+ */
265
+ record_type?: 'voice_design';
266
+ /**
267
+ * Timestamp when the voice design was last updated.
268
+ */
269
+ updated_at?: string;
270
+ }
271
+ }
272
+ export interface VoiceDesignCreateParams {
273
+ /**
274
+ * Natural language description of the voice style, e.g. 'Speak in a warm, friendly
275
+ * tone with a slight British accent'.
276
+ */
277
+ prompt: string;
278
+ /**
279
+ * Sample text to synthesize for this voice design.
280
+ */
281
+ text: string;
282
+ /**
283
+ * Language for synthesis. Supported values: Auto, Chinese, English, Japanese,
284
+ * Korean, German, French, Russian, Portuguese, Spanish, Italian. Defaults to Auto.
285
+ */
286
+ language?: string;
287
+ /**
288
+ * Maximum number of tokens to generate. Default: 2048.
289
+ */
290
+ max_new_tokens?: number;
291
+ /**
292
+ * Name for the voice design. Required when creating a new design
293
+ * (`voice_design_id` is not provided); ignored when adding a version. Cannot be a
294
+ * UUID.
295
+ */
296
+ name?: string;
297
+ /**
298
+ * Repetition penalty to reduce repeated patterns in generated audio. Default:
299
+ * 1.05.
300
+ */
301
+ repetition_penalty?: number;
302
+ /**
303
+ * Sampling temperature controlling randomness. Higher values produce more varied
304
+ * output. Default: 0.9.
305
+ */
306
+ temperature?: number;
307
+ /**
308
+ * Top-k sampling parameter — limits the token vocabulary considered at each step.
309
+ * Default: 50.
310
+ */
311
+ top_k?: number;
312
+ /**
313
+ * Top-p (nucleus) sampling parameter — cumulative probability cutoff for token
314
+ * selection. Default: 1.0.
315
+ */
316
+ top_p?: number;
317
+ /**
318
+ * ID of an existing voice design to add a new version to. When provided, a new
319
+ * version is created instead of a new design.
320
+ */
321
+ voice_design_id?: string;
322
+ }
323
+ export interface VoiceDesignRetrieveParams {
324
+ /**
325
+ * Specific version number to retrieve. Defaults to the latest version.
326
+ */
327
+ version?: number;
328
+ }
329
+ export interface VoiceDesignListParams extends DefaultFlatPaginationParams {
330
+ /**
331
+ * Case-insensitive substring filter on the name field.
332
+ */
333
+ 'filter[name]'?: string;
334
+ /**
335
+ * Sort order. Prefix with `-` for descending. Defaults to `-created_at`.
336
+ */
337
+ sort?: 'name' | '-name' | 'created_at' | '-created_at';
338
+ }
339
+ export interface VoiceDesignDeleteVersionParams {
340
+ /**
341
+ * The voice design UUID or name.
342
+ */
343
+ id: string;
344
+ }
345
+ export interface VoiceDesignDownloadSampleParams {
346
+ /**
347
+ * Specific version number to download the sample for. Defaults to the latest
348
+ * version.
349
+ */
350
+ version?: number;
351
+ }
352
+ export interface VoiceDesignRenameParams {
353
+ /**
354
+ * New name for the voice design.
355
+ */
356
+ name: string;
357
+ }
358
+ export declare namespace VoiceDesigns {
359
+ export { type VoiceDesignCreateResponse as VoiceDesignCreateResponse, type VoiceDesignRetrieveResponse as VoiceDesignRetrieveResponse, type VoiceDesignListResponse as VoiceDesignListResponse, type VoiceDesignRenameResponse as VoiceDesignRenameResponse, type VoiceDesignListResponsesDefaultFlatPagination as VoiceDesignListResponsesDefaultFlatPagination, type VoiceDesignCreateParams as VoiceDesignCreateParams, type VoiceDesignRetrieveParams as VoiceDesignRetrieveParams, type VoiceDesignListParams as VoiceDesignListParams, type VoiceDesignDeleteVersionParams as VoiceDesignDeleteVersionParams, type VoiceDesignDownloadSampleParams as VoiceDesignDownloadSampleParams, type VoiceDesignRenameParams as VoiceDesignRenameParams, };
360
+ }
361
+ //# sourceMappingURL=voice-designs.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"voice-designs.d.mts","sourceRoot":"","sources":["../src/resources/voice-designs.ts"],"names":[],"mappings":"OAEO,EAAE,WAAW,EAAE;OACf,EAAE,UAAU,EAAE;OACd,EAAE,qBAAqB,EAAE,KAAK,2BAA2B,EAAE,WAAW,EAAE;OAExE,EAAE,cAAc,EAAE;AAGzB;;GAEG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,yBAAyB,CAAC;IAItG;;;;;;;;;;;OAWG;IACH,QAAQ,CACN,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,yBAAyB,GAAG,IAAI,GAAG,SAAc,EACxD,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,2BAA2B,CAAC;IAI1C;;;;;;;;;;;OAWG;IACH,IAAI,CACF,KAAK,GAAE,qBAAqB,GAAG,IAAI,GAAG,SAAc,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,WAAW,CAAC,6CAA6C,EAAE,uBAAuB,CAAC;IAOtF;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC;IAO9D;;;;;;;;OAQG;IACH,aAAa,CACX,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,8BAA8B,EACtC,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,IAAI,CAAC;IAQnB;;;;;;;;;;;;;;OAcG;IACH,cAAc,CACZ,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,+BAA+B,GAAG,IAAI,GAAG,SAAc,EAC9D,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,QAAQ,CAAC;IASvB;;;;;;;;;OASG;IACH,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,uBAAuB,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,UAAU,CAAC,yBAAyB,CAAC;CAGzC;AAED,MAAM,MAAM,6CAA6C,GAAG,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;AAE3G;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,yBAAyB,CAAC,IAAI,CAAC;CACvC;AAED,yBAAiB,yBAAyB,CAAC;IACzC;;OAEG;IACH,UAAiB,IAAI;QACnB;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,WAAW,CAAC,EAAE,cAAc,CAAC;QAE7B;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;WAEG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAE5B;;WAEG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C;;OAEG;IACH,IAAI,CAAC,EAAE,2BAA2B,CAAC,IAAI,CAAC;CACzC;AAED,yBAAiB,2BAA2B,CAAC;IAC3C;;OAEG;IACH,UAAiB,IAAI;QACnB;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,MAAM,CAAC,EAAE,MAAM,CAAC;QAEhB;;WAEG;QACH,WAAW,CAAC,EAAE,cAAc,CAAC;QAE7B;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QAEjB;;WAEG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAE5B;;WAEG;QACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B;CACF;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC;IAE7B;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,yBAAyB,CAAC,IAAI,CAAC;CACvC;AAED,yBAAiB,yBAAyB,CAAC;IACzC;;OAEG;IACH,UAAiB,IAAI;QACnB;;WAEG;QACH,EAAE,CAAC,EAAE,MAAM,CAAC;QAEZ;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB;;WAEG;QACH,IAAI,CAAC,EAAE,MAAM,CAAC;QAEd;;WAEG;QACH,WAAW,CAAC,EAAE,cAAc,CAAC;QAE7B;;WAEG;QACH,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CACF;AAED,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAsB,SAAQ,2BAA2B;IACxE;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,YAAY,GAAG,aAAa,CAAC;CACxD;AAED,MAAM,WAAW,8BAA8B;IAC7C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,+BAA+B;IAC9C;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,OAAO,EACL,KAAK,yBAAyB,IAAI,yBAAyB,EAC3D,KAAK,2BAA2B,IAAI,2BAA2B,EAC/D,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,yBAAyB,IAAI,yBAAyB,EAC3D,KAAK,6CAA6C,IAAI,6CAA6C,EACnG,KAAK,uBAAuB,IAAI,uBAAuB,EACvD,KAAK,yBAAyB,IAAI,yBAAyB,EAC3D,KAAK,qBAAqB,IAAI,qBAAqB,EACnD,KAAK,8BAA8B,IAAI,8BAA8B,EACrE,KAAK,+BAA+B,IAAI,+BAA+B,EACvE,KAAK,uBAAuB,IAAI,uBAAuB,GACxD,CAAC;CACH"}