@open-feishu-card/adapter 0.2.0 → 0.3.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.
- package/dist/index.cjs +1822 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1816 -10
- package/dist/raw-to-dsl.d.ts +60 -6
- package/dist/raw-to-dsl.d.ts.map +1 -1
- package/package.json +11 -7
- package/dist/dsl-to-raw.js +0 -325
- package/dist/dsl-to-raw.js.map +0 -1
- package/dist/emoji-data.js +0 -288
- package/dist/emoji-data.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/md-parse.js +0 -414
- package/dist/md-parse.js.map +0 -1
- package/dist/raw-to-dsl.js +0 -174
- package/dist/raw-to-dsl.js.map +0 -1
- package/dist/types.js +0 -6
- package/dist/types.js.map +0 -1
package/dist/md-parse.js
DELETED
|
@@ -1,414 +0,0 @@
|
|
|
1
|
-
import { EMOJI_KEY_TO_NAME } from './emoji-data.js';
|
|
2
|
-
function styleAttrs(s) {
|
|
3
|
-
const attributes = [];
|
|
4
|
-
if (s.bold)
|
|
5
|
-
attributes.push('bold');
|
|
6
|
-
if (s.italic)
|
|
7
|
-
attributes.push('italic');
|
|
8
|
-
if (s.strike)
|
|
9
|
-
attributes.push('strikethrough');
|
|
10
|
-
const hasColor = s.color && s.color !== 'default';
|
|
11
|
-
if (attributes.length === 0 && !hasColor)
|
|
12
|
-
return undefined;
|
|
13
|
-
const ts = {};
|
|
14
|
-
if (attributes.length)
|
|
15
|
-
ts.attributes = attributes;
|
|
16
|
-
if (hasColor)
|
|
17
|
-
ts.color = s.color;
|
|
18
|
-
return ts;
|
|
19
|
-
}
|
|
20
|
-
function makeText(content, s) {
|
|
21
|
-
const property = { content };
|
|
22
|
-
const ts = styleAttrs(s);
|
|
23
|
-
if (ts)
|
|
24
|
-
property.textStyle = ts;
|
|
25
|
-
return { tag: 'plain_text', property };
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* 把一段(可能含软换行 \n)行内文本解析成子元素数组。
|
|
29
|
-
* 逐字符扫描,维护加粗/斜体/删除线/颜色状态;状态切换或遇到特殊构造时,
|
|
30
|
-
* 把累积的纯文本冲刷为一个 plain_text 段(对称于 rebuildMarkdown 的分段模型)。
|
|
31
|
-
*/
|
|
32
|
-
export function parseInline(text) {
|
|
33
|
-
const out = [];
|
|
34
|
-
const style = { bold: false, italic: false, strike: false };
|
|
35
|
-
let buf = '';
|
|
36
|
-
const flush = () => {
|
|
37
|
-
if (buf) {
|
|
38
|
-
out.push(makeText(buf, style));
|
|
39
|
-
buf = '';
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
let i = 0;
|
|
43
|
-
const n = text.length;
|
|
44
|
-
const startsWith = (s) => text.startsWith(s, i);
|
|
45
|
-
while (i < n) {
|
|
46
|
-
const c = text[i];
|
|
47
|
-
// 软换行 → br
|
|
48
|
-
if (c === '\n') {
|
|
49
|
-
flush();
|
|
50
|
-
out.push({ tag: 'br', property: {} });
|
|
51
|
-
i += 1;
|
|
52
|
-
continue;
|
|
53
|
-
}
|
|
54
|
-
// 转义:\* \_ \` 等,原样取下一个字符
|
|
55
|
-
if (c === '\\' && i + 1 < n) {
|
|
56
|
-
buf += text[i + 1];
|
|
57
|
-
i += 2;
|
|
58
|
-
continue;
|
|
59
|
-
}
|
|
60
|
-
// :Key: emoji 短码 —— 仅当 key 在表内才成 emoji,否则原样留字面
|
|
61
|
-
// (未知 key 如 :NOTAREALKEY: 与正文裸冒号 时间:值 都保持文本)
|
|
62
|
-
if (c === ':') {
|
|
63
|
-
const mm = /^:([A-Za-z0-9_]+):/.exec(text.slice(i));
|
|
64
|
-
if (mm && EMOJI_KEY_TO_NAME[mm[1]]) {
|
|
65
|
-
flush();
|
|
66
|
-
out.push({ tag: 'emoji', property: { key: mm[1] } });
|
|
67
|
-
i += mm[0].length;
|
|
68
|
-
continue;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
// 加粗 **(先于单星判定)
|
|
72
|
-
if (startsWith('**')) {
|
|
73
|
-
flush();
|
|
74
|
-
style.bold = !style.bold;
|
|
75
|
-
i += 2;
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
// 删除线 ~~
|
|
79
|
-
if (startsWith('~~')) {
|
|
80
|
-
flush();
|
|
81
|
-
style.strike = !style.strike;
|
|
82
|
-
i += 2;
|
|
83
|
-
continue;
|
|
84
|
-
}
|
|
85
|
-
// 斜体 * 或 _(单字符;避免把 ** 的第二个星、或单词内下划线误判)
|
|
86
|
-
if ((c === '*' || c === '_')) {
|
|
87
|
-
const prev = text[i - 1];
|
|
88
|
-
const next = text[i + 1];
|
|
89
|
-
// 下划线只有在词边界处才作斜体,避免 file_name 被拆开
|
|
90
|
-
const boundaryOk = c === '*' || (!isWord(prev) || !isWord(next));
|
|
91
|
-
if (boundaryOk) {
|
|
92
|
-
flush();
|
|
93
|
-
style.italic = !style.italic;
|
|
94
|
-
i += 1;
|
|
95
|
-
continue;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
// 行内代码 `...`
|
|
99
|
-
if (c === '`') {
|
|
100
|
-
const end = text.indexOf('`', i + 1);
|
|
101
|
-
if (end !== -1) {
|
|
102
|
-
flush();
|
|
103
|
-
out.push({ tag: 'code_span', property: { content: text.slice(i + 1, end) } });
|
|
104
|
-
i = end + 1;
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// 链接 [text](url)
|
|
109
|
-
if (c === '[') {
|
|
110
|
-
const link = matchLink(text, i);
|
|
111
|
-
if (link) {
|
|
112
|
-
flush();
|
|
113
|
-
const property = { content: link.text, url: link.url };
|
|
114
|
-
const ts = styleAttrs(style);
|
|
115
|
-
if (ts)
|
|
116
|
-
property.textStyle = ts;
|
|
117
|
-
out.push({ tag: 'link', property });
|
|
118
|
-
i = link.end;
|
|
119
|
-
continue;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// <font color='x'>...</font>
|
|
123
|
-
if (startsWith('<font')) {
|
|
124
|
-
const m = /^<font\s+color=['"]?([^'">]+)['"]?\s*>/.exec(text.slice(i));
|
|
125
|
-
if (m) {
|
|
126
|
-
flush();
|
|
127
|
-
style.color = m[1];
|
|
128
|
-
i += m[0].length;
|
|
129
|
-
continue;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
if (startsWith('</font>')) {
|
|
133
|
-
flush();
|
|
134
|
-
style.color = undefined;
|
|
135
|
-
i += '</font>'.length;
|
|
136
|
-
continue;
|
|
137
|
-
}
|
|
138
|
-
// <at id=xxx></at> / <at id=all></at>
|
|
139
|
-
if (startsWith('<at')) {
|
|
140
|
-
const m = /^<at\s+id=['"]?([^'">\s]+)['"]?\s*>\s*<\/at>/.exec(text.slice(i));
|
|
141
|
-
if (m) {
|
|
142
|
-
flush();
|
|
143
|
-
if (m[1] === 'all')
|
|
144
|
-
out.push({ tag: 'at_all', property: {} });
|
|
145
|
-
else
|
|
146
|
-
out.push({ tag: 'at', property: { userID: m[1] } });
|
|
147
|
-
i += m[0].length;
|
|
148
|
-
continue;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
// <text_tag color='x'>inner</text_tag>
|
|
152
|
-
if (startsWith('<text_tag')) {
|
|
153
|
-
const m = /^<text_tag(?:\s+color=['"]?([^'">]+)['"]?)?\s*>([\s\S]*?)<\/text_tag>/.exec(text.slice(i));
|
|
154
|
-
if (m) {
|
|
155
|
-
flush();
|
|
156
|
-
const property = {
|
|
157
|
-
text: { tag: 'plain_text', property: { content: m[2] } },
|
|
158
|
-
};
|
|
159
|
-
if (m[1])
|
|
160
|
-
property.color = m[1];
|
|
161
|
-
out.push({ tag: 'text_tag', property });
|
|
162
|
-
i += m[0].length;
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
// <person id='ou_x' show_name=true show_avatar=true style='normal'></person>
|
|
167
|
-
// 飞书 markdown 内联人员:转成 person_v1,无人员表时走 PERSON_FALLBACK_* 降级。
|
|
168
|
-
if (startsWith('<person')) {
|
|
169
|
-
const m = /^<person\b([^>]*?)(?:\/>|>\s*<\/person>)/.exec(text.slice(i));
|
|
170
|
-
if (m) {
|
|
171
|
-
flush();
|
|
172
|
-
const attrs = parseHtmlAttrs(m[1]);
|
|
173
|
-
const property = {
|
|
174
|
-
userID: attrs.id || attrs.user_id || '',
|
|
175
|
-
// 标记为 markdown 内联:渲染时跟正文字号,而非独立 person 的 medium 默认
|
|
176
|
-
avatarFollowFontSize: true,
|
|
177
|
-
};
|
|
178
|
-
if (attrs.show_name != null)
|
|
179
|
-
property.showName = attrs.show_name !== 'false';
|
|
180
|
-
if (attrs.show_avatar != null)
|
|
181
|
-
property.showAvatar = attrs.show_avatar !== 'false';
|
|
182
|
-
if (attrs.size)
|
|
183
|
-
property.size = attrs.size;
|
|
184
|
-
// style=capsule → 胶囊外形;normal / 其它忽略
|
|
185
|
-
if (attrs.style === 'capsule')
|
|
186
|
-
property.pillShaped = true;
|
|
187
|
-
out.push({ tag: 'person_v1', property });
|
|
188
|
-
i += m[0].length;
|
|
189
|
-
continue;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
// <audio file_key='…' audio_id='1' show_time=true …>
|
|
193
|
-
// 公开 DSL 富文本内嵌音频 → RAW markdown_audio(与真机一致)。
|
|
194
|
-
// 官方示例多为未闭合开标签 `<audio …>`;同时兼容 `/>` 与 `></audio>`。
|
|
195
|
-
if (startsWith('<audio')) {
|
|
196
|
-
const m = /^<audio\b([^>]*?)(?:\/>|>\s*<\/audio>|>)/.exec(text.slice(i));
|
|
197
|
-
if (m) {
|
|
198
|
-
flush();
|
|
199
|
-
out.push({ tag: 'markdown_audio', property: audioAttrsToProperty(parseHtmlAttrs(m[1])) });
|
|
200
|
-
i += m[0].length;
|
|
201
|
-
continue;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
buf += c;
|
|
205
|
-
i += 1;
|
|
206
|
-
}
|
|
207
|
-
flush();
|
|
208
|
-
return out;
|
|
209
|
-
}
|
|
210
|
-
/** 解析 HTML 属性串:`id='x' show_name=true style="normal"` → { id, show_name, style } */
|
|
211
|
-
function parseHtmlAttrs(s) {
|
|
212
|
-
const out = {};
|
|
213
|
-
const re = /([A-Za-z_][\w-]*)\s*=\s*(?:'([^']*)'|"([^"]*)"|([^\s'">=]+))/g;
|
|
214
|
-
let m;
|
|
215
|
-
while ((m = re.exec(s))) {
|
|
216
|
-
out[m[1]] = m[2] ?? m[3] ?? m[4] ?? '';
|
|
217
|
-
}
|
|
218
|
-
return out;
|
|
219
|
-
}
|
|
220
|
-
/** HTML 布尔属性:缺省/非 false → true;显式 false/0 → false */
|
|
221
|
-
function attrBool(v) {
|
|
222
|
-
if (v == null)
|
|
223
|
-
return undefined;
|
|
224
|
-
return v !== 'false' && v !== '0';
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* DSL `<audio …>` 属性 → RAW markdown_audio.property。
|
|
228
|
-
* 对齐公开文档:file_key / audio_id / show_time / background_color / fill_color /
|
|
229
|
-
* fallback_url(→ url)等;渲染器读 camelCase。
|
|
230
|
-
*/
|
|
231
|
-
function audioAttrsToProperty(attrs) {
|
|
232
|
-
const property = {};
|
|
233
|
-
const fileID = attrs.file_key || attrs.fileID || attrs.file_id;
|
|
234
|
-
if (fileID)
|
|
235
|
-
property.fileID = fileID;
|
|
236
|
-
const audioID = attrs.audio_id || attrs.audioID;
|
|
237
|
-
if (audioID)
|
|
238
|
-
property.audioID = audioID;
|
|
239
|
-
const showTime = attrBool(attrs.show_time ?? attrs.showTime);
|
|
240
|
-
if (showTime != null)
|
|
241
|
-
property.showTime = showTime;
|
|
242
|
-
const showProgress = attrBool(attrs.show_progress_bar ?? attrs.showProgressBar);
|
|
243
|
-
if (showProgress != null)
|
|
244
|
-
property.showProgressBar = showProgress;
|
|
245
|
-
const disabled = attrBool(attrs.disabled);
|
|
246
|
-
if (disabled != null)
|
|
247
|
-
property.disabled = disabled;
|
|
248
|
-
const bg = attrs.background_color || attrs.backgroundColor;
|
|
249
|
-
if (bg)
|
|
250
|
-
property.backgroundColor = bg;
|
|
251
|
-
const fill = attrs.fill_color || attrs.fillColor;
|
|
252
|
-
if (fill)
|
|
253
|
-
property.fillColor = fill;
|
|
254
|
-
// 旧客户端降级链:真机 RAW 常挂 { url };无 fileID 时 resolveMediaSrc 才可能用到
|
|
255
|
-
const fallback = attrs.fallback_url || attrs.fallbackUrl;
|
|
256
|
-
if (fallback)
|
|
257
|
-
property.url = { url: fallback };
|
|
258
|
-
// style=speak|normal:预留给后续 speak 样式;不覆盖图标 style 对象字段名冲突时用 audioStyle
|
|
259
|
-
if (attrs.style === 'speak' || attrs.style === 'normal') {
|
|
260
|
-
property.audioStyle = attrs.style;
|
|
261
|
-
}
|
|
262
|
-
return property;
|
|
263
|
-
}
|
|
264
|
-
function isWord(ch) {
|
|
265
|
-
return !!ch && /[\w一-龥]/.test(ch);
|
|
266
|
-
}
|
|
267
|
-
/** 从 `[` 起匹配 [text](url),返回文本、url 与结束下标;不成立返回 null */
|
|
268
|
-
function matchLink(text, start) {
|
|
269
|
-
// 找 ] 且紧跟 (
|
|
270
|
-
let depth = 0;
|
|
271
|
-
let j = start;
|
|
272
|
-
for (; j < text.length; j++) {
|
|
273
|
-
if (text[j] === '[')
|
|
274
|
-
depth++;
|
|
275
|
-
else if (text[j] === ']') {
|
|
276
|
-
depth--;
|
|
277
|
-
if (depth === 0)
|
|
278
|
-
break;
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
if (j >= text.length || text[j + 1] !== '(')
|
|
282
|
-
return null;
|
|
283
|
-
const label = text.slice(start + 1, j);
|
|
284
|
-
const close = text.indexOf(')', j + 2);
|
|
285
|
-
if (close === -1)
|
|
286
|
-
return null;
|
|
287
|
-
const url = text.slice(j + 2, close);
|
|
288
|
-
return { text: label, url, end: close + 1 };
|
|
289
|
-
}
|
|
290
|
-
/* ------------------------------------------------------------------ *
|
|
291
|
-
* 块级解析
|
|
292
|
-
* ------------------------------------------------------------------ */
|
|
293
|
-
const RE_HEADING = /^(#{1,6})\s+(.*)$/;
|
|
294
|
-
const RE_HR = /^\s*([-*_])\1{2,}\s*$/;
|
|
295
|
-
const RE_LIST = /^(\s*)([-*+]|\d+\.)\s+(.*)$/;
|
|
296
|
-
const RE_FENCE = /^\s*```(.*)$/;
|
|
297
|
-
/**
|
|
298
|
-
* markdown 字符串 → 子元素数组(块级 + 行内)。
|
|
299
|
-
* 逐行扫描识别块构造;连续的普通文本行合并为一段,用 br 承载软换行。
|
|
300
|
-
*/
|
|
301
|
-
export function parseMarkdown(content) {
|
|
302
|
-
if (!content)
|
|
303
|
-
return [];
|
|
304
|
-
const lines = String(content).replace(/\r\n?/g, '\n').split('\n');
|
|
305
|
-
const out = [];
|
|
306
|
-
let para = [];
|
|
307
|
-
const flushPara = () => {
|
|
308
|
-
if (para.length === 0)
|
|
309
|
-
return;
|
|
310
|
-
// 段内软换行用 \n 交给 parseInline 转成 br
|
|
311
|
-
const seg = parseInline(para.join('\n'));
|
|
312
|
-
out.push(...seg);
|
|
313
|
-
para = [];
|
|
314
|
-
};
|
|
315
|
-
for (let i = 0; i < lines.length; i++) {
|
|
316
|
-
const line = lines[i];
|
|
317
|
-
// 空行:结束当前段落,并补一个 br 以还原段间距(渲染器 markdown 是单 div,靠 br 断行)
|
|
318
|
-
if (line.trim() === '') {
|
|
319
|
-
if (para.length) {
|
|
320
|
-
flushPara();
|
|
321
|
-
out.push({ tag: 'br', property: {} });
|
|
322
|
-
}
|
|
323
|
-
continue;
|
|
324
|
-
}
|
|
325
|
-
// 围栏代码块 ```lang ... ```
|
|
326
|
-
const fence = RE_FENCE.exec(line);
|
|
327
|
-
if (fence) {
|
|
328
|
-
flushPara();
|
|
329
|
-
const language = fence[1].trim();
|
|
330
|
-
const body = [];
|
|
331
|
-
i++;
|
|
332
|
-
for (; i < lines.length; i++) {
|
|
333
|
-
if (/^\s*```/.test(lines[i]))
|
|
334
|
-
break;
|
|
335
|
-
body.push(lines[i]);
|
|
336
|
-
}
|
|
337
|
-
out.push({
|
|
338
|
-
tag: 'code_block',
|
|
339
|
-
property: {
|
|
340
|
-
language,
|
|
341
|
-
contents: body.map((l) => ({ contents: [{ content: l }] })),
|
|
342
|
-
},
|
|
343
|
-
});
|
|
344
|
-
continue;
|
|
345
|
-
}
|
|
346
|
-
// 标题
|
|
347
|
-
const heading = RE_HEADING.exec(line);
|
|
348
|
-
if (heading) {
|
|
349
|
-
flushPara();
|
|
350
|
-
out.push({
|
|
351
|
-
tag: 'heading',
|
|
352
|
-
property: { level: heading[1].length, elements: parseInline(heading[2]) },
|
|
353
|
-
});
|
|
354
|
-
continue;
|
|
355
|
-
}
|
|
356
|
-
// 分割线
|
|
357
|
-
if (RE_HR.test(line)) {
|
|
358
|
-
flushPara();
|
|
359
|
-
out.push({ tag: 'hr', property: {} });
|
|
360
|
-
continue;
|
|
361
|
-
}
|
|
362
|
-
// 引用块(连续 > 行合并)
|
|
363
|
-
if (/^\s*>\s?/.test(line)) {
|
|
364
|
-
flushPara();
|
|
365
|
-
const quote = [];
|
|
366
|
-
for (; i < lines.length; i++) {
|
|
367
|
-
if (!/^\s*>\s?/.test(lines[i])) {
|
|
368
|
-
i--;
|
|
369
|
-
break;
|
|
370
|
-
}
|
|
371
|
-
quote.push(lines[i].replace(/^\s*>\s?/, ''));
|
|
372
|
-
}
|
|
373
|
-
out.push({ tag: 'blockquote', property: { elements: parseInline(quote.join('\n')) } });
|
|
374
|
-
continue;
|
|
375
|
-
}
|
|
376
|
-
// 列表(连续列表项合并;含缩进层级与有序/无序)
|
|
377
|
-
if (RE_LIST.test(line)) {
|
|
378
|
-
flushPara();
|
|
379
|
-
const items = [];
|
|
380
|
-
let counter = 0;
|
|
381
|
-
let lastOrdered;
|
|
382
|
-
for (; i < lines.length; i++) {
|
|
383
|
-
const m = RE_LIST.exec(lines[i]);
|
|
384
|
-
if (!m) {
|
|
385
|
-
i--;
|
|
386
|
-
break;
|
|
387
|
-
}
|
|
388
|
-
const indent = m[1].replace(/\t/g, ' ').length;
|
|
389
|
-
const level = Math.floor(indent / 2);
|
|
390
|
-
const ordered = /\d+\./.test(m[2]);
|
|
391
|
-
if (ordered !== lastOrdered)
|
|
392
|
-
counter = 0;
|
|
393
|
-
lastOrdered = ordered;
|
|
394
|
-
const item = {
|
|
395
|
-
type: ordered ? 'ol' : 'ul',
|
|
396
|
-
level,
|
|
397
|
-
elements: parseInline(m[3]),
|
|
398
|
-
};
|
|
399
|
-
if (ordered) {
|
|
400
|
-
counter += 1;
|
|
401
|
-
item.order = counter;
|
|
402
|
-
}
|
|
403
|
-
items.push(item);
|
|
404
|
-
}
|
|
405
|
-
out.push({ tag: 'list', property: { items } });
|
|
406
|
-
continue;
|
|
407
|
-
}
|
|
408
|
-
// 普通文本行 → 累积到当前段落
|
|
409
|
-
para.push(line);
|
|
410
|
-
}
|
|
411
|
-
flushPara();
|
|
412
|
-
return out;
|
|
413
|
-
}
|
|
414
|
-
//# sourceMappingURL=md-parse.js.map
|
package/dist/md-parse.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"md-parse.js","sourceRoot":"","sources":["../src/md-parse.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAUpD,SAAS,UAAU,CAAC,CAAc;IAChC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,CAAC,CAAC,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,CAAC,CAAC,MAAM;QAAE,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;IAClD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC3D,MAAM,EAAE,GAAc,EAAE,CAAC;IACzB,IAAI,UAAU,CAAC,MAAM;QAAE,EAAE,CAAC,UAAU,GAAG,UAAqC,CAAC;IAC7E,IAAI,QAAQ;QAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,CAAc;IAC/C,MAAM,QAAQ,GAA4B,EAAE,OAAO,EAAE,CAAC;IACtD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IACzB,IAAI,EAAE;QAAE,QAAS,CAAC,SAAS,GAAG,EAAE,CAAC;IACjC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzE,IAAI,GAAG,GAAG,EAAE,CAAC;IAEb,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,IAAI,GAAG,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAAC,GAAG,GAAG,EAAE,CAAC;QAAC,CAAC;IACxD,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IACtB,MAAM,UAAU,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB,WAAW;QACX,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAErF,yBAAyB;QACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAEtE,+CAA+C;QAC/C,6CAA6C;QAC7C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,IAAI,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnC,KAAK,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACrD,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS;YAC9B,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAE9E,SAAS;QACT,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAElF,uCAAuC;QACvC,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACzB,kCAAkC;YAClC,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;QAC9E,CAAC;QAED,aAAa;QACb,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,KAAK,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC9E,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBAAC,SAAS;YACxB,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAChC,IAAI,IAAI,EAAE,CAAC;gBACT,KAAK,EAAE,CAAC;gBACR,MAAM,QAAQ,GAA4B,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;gBAChF,MAAM,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC7B,IAAI,EAAE;oBAAE,QAAS,CAAC,SAAS,GAAG,EAAE,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACpC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;gBAAC,SAAS;YACzB,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,wCAAwC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvE,IAAI,CAAC,EAAE,CAAC;gBAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS;YAAC,CAAC;QACrE,CAAC;QACD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC;YAAC,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC;YAAC,SAAS;QAAC,CAAC;QAEjG,sCAAsC;QACtC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,8CAA8C,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;oBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;;oBACzD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS;YAC7B,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,uEAAuE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtG,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM,QAAQ,GAA4B;oBACxC,IAAI,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;iBACzD,CAAC;gBACF,IAAI,CAAC,CAAC,CAAC,CAAC;oBAAE,QAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS;YAC7B,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,6DAA6D;QAC7D,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,GAAG,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,MAAM,QAAQ,GAA4B;oBACxC,MAAM,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;oBACvC,mDAAmD;oBACnD,oBAAoB,EAAE,IAAI;iBAC3B,CAAC;gBACF,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI;oBAAE,QAAS,CAAC,QAAQ,GAAG,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC;gBAC9E,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI;oBAAE,QAAS,CAAC,UAAU,GAAG,KAAK,CAAC,WAAW,KAAK,OAAO,CAAC;gBACpF,IAAI,KAAK,CAAC,IAAI;oBAAE,QAAS,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAC5C,qCAAqC;gBACrC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;oBAAE,QAAS,CAAC,UAAU,GAAG,IAAI,CAAC;gBAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACzC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS;YAC7B,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,8CAA8C;QAC9C,oDAAoD;QACpD,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,0CAA0C,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC;gBACR,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC1F,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAAC,SAAS;YAC7B,CAAC;QACH,CAAC;QAED,GAAG,IAAI,CAAC,CAAC;QACT,CAAC,IAAI,CAAC,CAAC;IACT,CAAC;IACD,KAAK,EAAE,CAAC;IACR,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc,CAAC,CAAS;IAC/B,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,EAAE,GAAG,+DAA+D,CAAC;IAC3E,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,qDAAqD;AACrD,SAAS,QAAQ,CAAC,CAAqB;IACrC,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IAChC,OAAO,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC;AACpC,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAA6B;IACzD,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC;IAC/D,IAAI,MAAM;QAAE,QAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;IAChD,IAAI,OAAO;QAAE,QAAS,CAAC,OAAO,GAAG,OAAO,CAAC;IACzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7D,IAAI,QAAQ,IAAI,IAAI;QAAE,QAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;IAChF,IAAI,YAAY,IAAI,IAAI;QAAE,QAAS,CAAC,eAAe,GAAG,YAAY,CAAC;IACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,QAAQ,IAAI,IAAI;QAAE,QAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACpD,MAAM,EAAE,GAAG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,eAAe,CAAC;IAC3D,IAAI,EAAE;QAAE,QAAS,CAAC,eAAe,GAAG,EAAE,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,SAAS,CAAC;IACjD,IAAI,IAAI;QAAE,QAAS,CAAC,SAAS,GAAG,IAAI,CAAC;IACrC,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,CAAC;IACzD,IAAI,QAAQ;QAAE,QAAS,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;IAChD,qEAAqE;IACrE,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxD,QAAS,CAAC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;IACrC,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,MAAM,CAAC,EAAsB;IACpC,OAAO,CAAC,CAAC,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,sDAAsD;AACtD,SAAS,SAAS,CAAC,IAAY,EAAE,KAAa;IAC5C,YAAY;IACZ,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,CAAC,GAAG,KAAK,CAAC;IACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACxB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAAC,KAAK,EAAE,CAAC;YAAC,IAAI,KAAK,KAAK,CAAC;gBAAE,MAAM;QAAC,CAAC;IAChE,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED;;wEAEwE;AAExE,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,KAAK,GAAG,uBAAuB,CAAC;AACtC,MAAM,OAAO,GAAG,6BAA6B,CAAC;AAC9C,MAAM,QAAQ,GAAG,cAAc,CAAC;AAEhC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAkC;IAC9D,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClE,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAa,EAAE,CAAC;IAExB,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,iCAAiC;QACjC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACjB,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,wDAAwD;QACxD,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,SAAS,EAAE,CAAC;gBAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAAC,CAAC;YACxE,SAAS;QACX,CAAC;QAED,wBAAwB;QACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,SAAS,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAAE,MAAM;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACtB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,YAAY;gBACjB,QAAQ,EAAE;oBACR,QAAQ;oBACR,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC5D;aACF,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,KAAK;QACL,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE,CAAC;YACZ,SAAS,EAAE,CAAC;YACZ,GAAG,CAAC,IAAI,CAAC;gBACP,GAAG,EAAE,SAAS;gBACd,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;aAC1E,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,MAAM;QACN,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAAC,SAAS,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAEvF,gBAAgB;QAChB,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,SAAS,EAAE,CAAC;YACZ,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvF,SAAS;QACX,CAAC;QAED,0BAA0B;QAC1B,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvB,SAAS,EAAE,CAAC;YACZ,MAAM,KAAK,GAAkD,EAAE,CAAC;YAChE,IAAI,OAAO,GAAG,CAAC,CAAC;YAChB,IAAI,WAAgC,CAAC;YACrC,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,IAAI,CAAC,CAAC,EAAE,CAAC;oBAAC,CAAC,EAAE,CAAC;oBAAC,MAAM;gBAAC,CAAC;gBACvB,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC;gBAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACrC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,OAAO,KAAK,WAAW;oBAAE,OAAO,GAAG,CAAC,CAAC;gBACzC,WAAW,GAAG,OAAO,CAAC;gBACtB,MAAM,IAAI,GAAuE;oBAC/E,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;oBAC3B,KAAK;oBACL,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC5B,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBAAC,OAAO,IAAI,CAAC,CAAC;oBAAC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;gBAAC,CAAC;gBACpD,KAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/C,SAAS;QACX,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,SAAS,EAAE,CAAC;IACZ,OAAO,GAAG,CAAC;AACb,CAAC"}
|
package/dist/raw-to-dsl.js
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
const CAMEL_RENAME = {
|
|
2
|
-
textAlign: 'text_align',
|
|
3
|
-
textStyle: 'text_style',
|
|
4
|
-
backgroundStyle: 'background_style',
|
|
5
|
-
backgroundColor: 'background_color',
|
|
6
|
-
userID: 'user_id',
|
|
7
|
-
showAvatar: 'show_avatar',
|
|
8
|
-
showName: 'show_name',
|
|
9
|
-
hasBorder: 'has_border',
|
|
10
|
-
hoverTips: 'hover_tips',
|
|
11
|
-
pillShaped: 'pill_shaped',
|
|
12
|
-
tagStyle: 'tag_style',
|
|
13
|
-
scaleType: 'scale_type',
|
|
14
|
-
dropInvalidUserID: 'drop_invalid_user_id',
|
|
15
|
-
udIcon: 'ud_icon',
|
|
16
|
-
// video / audio
|
|
17
|
-
fileID: 'file_key',
|
|
18
|
-
coverImageID: 'image_key',
|
|
19
|
-
showTime: 'show_time',
|
|
20
|
-
enableDownload: 'enable_download',
|
|
21
|
-
audioID: 'audio_id',
|
|
22
|
-
showProgressBar: 'show_progress_bar',
|
|
23
|
-
fillColor: 'fill_color',
|
|
24
|
-
};
|
|
25
|
-
/** 已知公开 DSL 组件 tag 集合;不在此列的视为私有/未知 */
|
|
26
|
-
const KNOWN_TAGS = new Set([
|
|
27
|
-
'markdown', 'lark_md', 'div', 'column_set', 'column', 'hr', 'image', 'img',
|
|
28
|
-
'button', 'overflow', 'select_static', 'select_multi', 'input', 'date_picker',
|
|
29
|
-
'picker_time', 'picker_date', 'checker', 'chart', 'table', 'iframe', 'person',
|
|
30
|
-
'person_list', 'interactive_container', 'tag', 'text_tag', 'multi_image',
|
|
31
|
-
'plain_text', 'lark_md_inline', 'image_text', 'carousel', 'grid', 'speaking',
|
|
32
|
-
'vote', 'lottery', 'calender', 'schedule', 'share_chat', 'share_user', 'add_on',
|
|
33
|
-
'whole_text', 'cropper_image', 'highlight', 'local_file', 'file_preview',
|
|
34
|
-
'input_select', 'picker_datetime', 'picker_multi', 'rule', 'statistic', 'task',
|
|
35
|
-
'card_header', 'body', 'audio', 'video', 'markdown_audio', 'unknown',
|
|
36
|
-
]);
|
|
37
|
-
function isRecord(v) {
|
|
38
|
-
return typeof v === 'object' && v !== null && !Array.isArray(v);
|
|
39
|
-
}
|
|
40
|
-
/** 未知/私有组件自动降级:包一层 unknown 节点,原始 RAW 保留在 fallback。 */
|
|
41
|
-
export function degradeUnknown(el) {
|
|
42
|
-
const rawTag = typeof el.tag === 'string' ? el.tag : 'undefined';
|
|
43
|
-
return { tag: 'unknown', raw_tag: rawTag, fallback: el };
|
|
44
|
-
}
|
|
45
|
-
/** RAW envelope(可能是 {json_card:{card}} / {card} / 直接 card)→ DSL 卡片对象 */
|
|
46
|
-
export function rawToDsl(raw) {
|
|
47
|
-
let card = {};
|
|
48
|
-
if (isRecord(raw)) {
|
|
49
|
-
const env = isRecord(raw.json_card) ? raw.json_card : isRecord(raw.card) ? raw.card : raw;
|
|
50
|
-
if (isRecord(env))
|
|
51
|
-
card = env;
|
|
52
|
-
}
|
|
53
|
-
const out = {
|
|
54
|
-
schema: typeof card.schema === 'string' ? card.schema : '2.0',
|
|
55
|
-
};
|
|
56
|
-
if (isRecord(card.config))
|
|
57
|
-
out.config = card.config;
|
|
58
|
-
if (isRecord(card.header))
|
|
59
|
-
out.header = convertHeaderToDsl(card.header);
|
|
60
|
-
if (isRecord(card.body))
|
|
61
|
-
out.body = convertBodyToDsl(card.body);
|
|
62
|
-
else if (Array.isArray(card.elements)) {
|
|
63
|
-
// 兼容扁平 body 写法
|
|
64
|
-
out.body = { elements: card.elements.map(convertElToDsl).filter(Boolean) };
|
|
65
|
-
}
|
|
66
|
-
return out;
|
|
67
|
-
}
|
|
68
|
-
function convertHeaderToDsl(header) {
|
|
69
|
-
const property = isRecord(header.property) ? header.property : header;
|
|
70
|
-
const out = {};
|
|
71
|
-
for (const [k, v] of Object.entries(property)) {
|
|
72
|
-
if (k === 'ud_icon' || k === 'udIcon') {
|
|
73
|
-
if (isRecord(v) && typeof v.tag === 'string') {
|
|
74
|
-
out.ud_icon = convertElToDsl(v);
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
out[CAMEL_RENAME[k] ?? k] = unwrapTextLeaf(v);
|
|
79
|
-
}
|
|
80
|
-
return out;
|
|
81
|
-
}
|
|
82
|
-
function convertBodyToDsl(body) {
|
|
83
|
-
const property = isRecord(body.property) ? body.property : body;
|
|
84
|
-
const out = {};
|
|
85
|
-
for (const [k, v] of Object.entries(property)) {
|
|
86
|
-
if (k === 'elements' && Array.isArray(v)) {
|
|
87
|
-
out.elements = v.map(convertElToDsl).filter(Boolean);
|
|
88
|
-
continue;
|
|
89
|
-
}
|
|
90
|
-
if (isRecord(v) && typeof v.tag === 'string') {
|
|
91
|
-
out[CAMEL_RENAME[k] ?? k] = convertElToDsl(v);
|
|
92
|
-
continue;
|
|
93
|
-
}
|
|
94
|
-
if (Array.isArray(v)) {
|
|
95
|
-
out[CAMEL_RENAME[k] ?? k] = v.map((item) => (isRecord(item) && typeof item.tag === 'string' ? convertElToDsl(item) : item));
|
|
96
|
-
continue;
|
|
97
|
-
}
|
|
98
|
-
out[CAMEL_RENAME[k] ?? k] = unwrapBox(v);
|
|
99
|
-
}
|
|
100
|
-
return out;
|
|
101
|
-
}
|
|
102
|
-
function convertElToDsl(el) {
|
|
103
|
-
if (!isRecord(el))
|
|
104
|
-
return undefined;
|
|
105
|
-
const tag = typeof el.tag === 'string' ? el.tag : '';
|
|
106
|
-
if (!tag)
|
|
107
|
-
return undefined;
|
|
108
|
-
// 未知/私有组件:降级,保数据
|
|
109
|
-
if (!KNOWN_TAGS.has(tag))
|
|
110
|
-
return degradeUnknown(el);
|
|
111
|
-
// 有 fallback 的 RAW 节点(渲染器未知组件降级产物)原样透传
|
|
112
|
-
if ('fallback' in el && isRecord(el.fallback))
|
|
113
|
-
return el;
|
|
114
|
-
const property = isRecord(el.property) ? el.property : {};
|
|
115
|
-
const out = {};
|
|
116
|
-
if (tag !== 'plain_text')
|
|
117
|
-
out.tag = tag === 'img' ? 'image' : tag;
|
|
118
|
-
for (const [k, v] of Object.entries(property)) {
|
|
119
|
-
const key = CAMEL_RENAME[k] ?? k;
|
|
120
|
-
if (k === 'elements' && Array.isArray(v)) {
|
|
121
|
-
if (tag === 'markdown') {
|
|
122
|
-
// markdown 子元素树 → 尽力还原为 markdown 字符串
|
|
123
|
-
out.content = elementsToMarkdown(v);
|
|
124
|
-
continue;
|
|
125
|
-
}
|
|
126
|
-
out.elements = v.map(convertElToDsl).filter(Boolean);
|
|
127
|
-
continue;
|
|
128
|
-
}
|
|
129
|
-
if (k === 'columns' && Array.isArray(v)) {
|
|
130
|
-
out.columns = v.map(convertElToDsl).filter(Boolean);
|
|
131
|
-
continue;
|
|
132
|
-
}
|
|
133
|
-
if (isRecord(v) && typeof v.tag === 'string') {
|
|
134
|
-
out[key] = convertElToDsl(v);
|
|
135
|
-
continue;
|
|
136
|
-
}
|
|
137
|
-
if (Array.isArray(v)) {
|
|
138
|
-
out[key] = v.map((item) => (isRecord(item) && typeof item.tag === 'string' ? convertElToDsl(item) : item));
|
|
139
|
-
continue;
|
|
140
|
-
}
|
|
141
|
-
out[key] = unwrapBox(unwrapTextLeaf(v));
|
|
142
|
-
}
|
|
143
|
-
return out;
|
|
144
|
-
}
|
|
145
|
-
/** plain_text 叶子 → 字符串 */
|
|
146
|
-
function unwrapTextLeaf(v) {
|
|
147
|
-
if (isRecord(v) && v.tag === 'plain_text') {
|
|
148
|
-
const p = isRecord(v.property) ? v.property : {};
|
|
149
|
-
return typeof p.content === 'string' ? p.content : '';
|
|
150
|
-
}
|
|
151
|
-
return v;
|
|
152
|
-
}
|
|
153
|
-
/** {top/right/bottom/left:{type:'pixels',value}} 简写 → "t r b l" 字符串 */
|
|
154
|
-
function unwrapBox(v) {
|
|
155
|
-
if (!isRecord(v) || !isRecord(v.top) || !isRecord(v.right))
|
|
156
|
-
return v;
|
|
157
|
-
const side = (s) => (isRecord(s) && typeof s.value === 'number' ? `${s.value}px` : '0px');
|
|
158
|
-
return `${side(v.top)} ${side(v.right)} ${side(v.bottom ?? v.top)} ${side(v.left ?? v.right)}`;
|
|
159
|
-
}
|
|
160
|
-
/** markdown 子元素树 → 近似 markdown 字符串(逐叶子提取文本) */
|
|
161
|
-
function elementsToMarkdown(els) {
|
|
162
|
-
const parts = [];
|
|
163
|
-
for (const el of els) {
|
|
164
|
-
const p = (isRecord(el?.property) ? el.property : {});
|
|
165
|
-
if (typeof p.content === 'string')
|
|
166
|
-
parts.push(p.content);
|
|
167
|
-
else if (Array.isArray(p.elements))
|
|
168
|
-
parts.push(elementsToMarkdown(p.elements));
|
|
169
|
-
}
|
|
170
|
-
return parts.join('');
|
|
171
|
-
}
|
|
172
|
-
/** DSL → RAW(重导出,统一入口) */
|
|
173
|
-
export { dslToRaw } from './dsl-to-raw.js';
|
|
174
|
-
//# sourceMappingURL=raw-to-dsl.js.map
|
package/dist/raw-to-dsl.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"raw-to-dsl.js","sourceRoot":"","sources":["../src/raw-to-dsl.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
DELETED
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|