postext 1.22.2 → 1.23.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/__tests__/bundle.test.js +1 -1
- package/dist/__tests__/codeBlocks.test.d.ts +2 -0
- package/dist/__tests__/codeBlocks.test.d.ts.map +1 -0
- package/dist/__tests__/codeBlocks.test.js +550 -0
- package/dist/__tests__/codeBlocks.test.js.map +1 -0
- package/dist/__tests__/exports.test.js +19 -0
- package/dist/__tests__/exports.test.js.map +1 -1
- package/dist/__tests__/hardBreaks.test.d.ts +2 -0
- package/dist/__tests__/hardBreaks.test.d.ts.map +1 -0
- package/dist/__tests__/hardBreaks.test.js +226 -0
- package/dist/__tests__/hardBreaks.test.js.map +1 -0
- package/dist/__tests__/headingInlineMarks.test.js +1 -1
- package/dist/__tests__/headingLetterSpacing.test.js +1 -1
- package/dist/__tests__/headingLetterSpacing.test.js.map +1 -1
- package/dist/__tests__/lineNumbers.test.d.ts +2 -0
- package/dist/__tests__/lineNumbers.test.d.ts.map +1 -0
- package/dist/__tests__/lineNumbers.test.js +304 -0
- package/dist/__tests__/lineNumbers.test.js.map +1 -0
- package/dist/__tests__/mathSizeMigration.test.js +2 -2
- package/dist/__tests__/paragraphDropCap.test.d.ts +2 -0
- package/dist/__tests__/paragraphDropCap.test.d.ts.map +1 -0
- package/dist/__tests__/paragraphDropCap.test.js +442 -0
- package/dist/__tests__/paragraphDropCap.test.js.map +1 -0
- package/dist/__tests__/paragraphStyleIndent.test.js +26 -2
- package/dist/__tests__/paragraphStyleIndent.test.js.map +1 -1
- package/dist/__tests__/pipeline/calloutInlineResourceGap.test.js +1 -1
- package/dist/__tests__/pipeline/calloutSplitMinLinesChild.test.js +1 -1
- package/dist/__tests__/pipeline/colonListRoom.test.js +1 -1
- package/dist/__tests__/pipeline/compoundBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/dashBreaks.test.js +1 -1
- package/dist/__tests__/pipeline/headingSplitOrphans.test.js +1 -1
- package/dist/__tests__/pipeline/inlineFigureSpace.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphContainerTail.test.js +1 -1
- package/dist/__tests__/pipeline/paragraphStyleFaces.test.js +7 -1
- package/dist/__tests__/pipeline/paragraphStyleFaces.test.js.map +1 -1
- package/dist/__tests__/pipeline/raggedOptimal.test.js +1 -1
- package/dist/__tests__/tabStops.test.d.ts +2 -0
- package/dist/__tests__/tabStops.test.d.ts.map +1 -0
- package/dist/__tests__/tabStops.test.js +394 -0
- package/dist/__tests__/tabStops.test.js.map +1 -0
- package/dist/__tests__/verseLines.test.d.ts +2 -0
- package/dist/__tests__/verseLines.test.d.ts.map +1 -0
- package/dist/__tests__/verseLines.test.js +375 -0
- package/dist/__tests__/verseLines.test.js.map +1 -0
- package/dist/bundle/configVersion.d.ts +77 -7
- package/dist/bundle/configVersion.d.ts.map +1 -1
- package/dist/bundle/configVersion.js +239 -5
- package/dist/bundle/configVersion.js.map +1 -1
- package/dist/bundle/index.d.ts +1 -1
- package/dist/bundle/index.d.ts.map +1 -1
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/index.js.map +1 -1
- package/dist/canvas-backend/blockRender.d.ts.map +1 -1
- package/dist/canvas-backend/blockRender.js +39 -5
- package/dist/canvas-backend/blockRender.js.map +1 -1
- package/dist/canvas-backend/index.d.ts.map +1 -1
- package/dist/canvas-backend/index.js +3 -0
- package/dist/canvas-backend/index.js.map +1 -1
- package/dist/cjkMarks.js +1 -1
- package/dist/cjkMarks.js.map +1 -1
- package/dist/code/highlight.d.ts +34 -0
- package/dist/code/highlight.d.ts.map +1 -0
- package/dist/code/highlight.js +406 -0
- package/dist/code/highlight.js.map +1 -0
- package/dist/configWarnings.d.ts.map +1 -1
- package/dist/configWarnings.js +192 -3
- package/dist/configWarnings.js.map +1 -1
- package/dist/defaults/bodyText.d.ts.map +1 -1
- package/dist/defaults/bodyText.js +25 -0
- package/dist/defaults/bodyText.js.map +1 -1
- package/dist/defaults/calloutStyles.d.ts.map +1 -1
- package/dist/defaults/calloutStyles.js +7 -0
- package/dist/defaults/calloutStyles.js.map +1 -1
- package/dist/defaults/codeStyle.d.ts +29 -0
- package/dist/defaults/codeStyle.d.ts.map +1 -0
- package/dist/defaults/codeStyle.js +284 -0
- package/dist/defaults/codeStyle.js.map +1 -0
- package/dist/defaults/dropCap.d.ts +49 -0
- package/dist/defaults/dropCap.d.ts.map +1 -0
- package/dist/defaults/dropCap.js +66 -0
- package/dist/defaults/dropCap.js.map +1 -0
- package/dist/defaults/headings.d.ts +1 -1
- package/dist/defaults/headings.d.ts.map +1 -1
- package/dist/defaults/headings.js +11 -0
- package/dist/defaults/headings.js.map +1 -1
- package/dist/defaults/index.d.ts +3 -0
- package/dist/defaults/index.d.ts.map +1 -1
- package/dist/defaults/index.js +19 -0
- package/dist/defaults/index.js.map +1 -1
- package/dist/defaults/lineNumbers.d.ts +19 -0
- package/dist/defaults/lineNumbers.d.ts.map +1 -0
- package/dist/defaults/lineNumbers.js +101 -0
- package/dist/defaults/lineNumbers.js.map +1 -0
- package/dist/defaults/paragraphStyles.d.ts.map +1 -1
- package/dist/defaults/paragraphStyles.js +20 -0
- package/dist/defaults/paragraphStyles.js.map +1 -1
- package/dist/defaults/tabStops.d.ts +29 -0
- package/dist/defaults/tabStops.d.ts.map +1 -0
- package/dist/defaults/tabStops.js +94 -0
- package/dist/defaults/tabStops.js.map +1 -0
- package/dist/defaults/verse.d.ts +10 -0
- package/dist/defaults/verse.d.ts.map +1 -0
- package/dist/defaults/verse.js +52 -0
- package/dist/defaults/verse.js.map +1 -0
- package/dist/fonts/usage.d.ts +7 -0
- package/dist/fonts/usage.d.ts.map +1 -1
- package/dist/fonts/usage.js +71 -0
- package/dist/fonts/usage.js.map +1 -1
- package/dist/html-backend.d.ts.map +1 -1
- package/dist/html-backend.js +85 -11
- package/dist/html-backend.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/measure/bidiLines.js +2 -2
- package/dist/measure/bidiLines.js.map +1 -1
- package/dist/measure/cache.js +2 -2
- package/dist/measure/cache.js.map +1 -1
- package/dist/measure/cjkCompose.d.ts.map +1 -1
- package/dist/measure/cjkCompose.js +5 -5
- package/dist/measure/cjkCompose.js.map +1 -1
- package/dist/measure/hardBreaks.d.ts +46 -0
- package/dist/measure/hardBreaks.d.ts.map +1 -0
- package/dist/measure/hardBreaks.js +216 -0
- package/dist/measure/hardBreaks.js.map +1 -0
- package/dist/measure/index.d.ts +1 -0
- package/dist/measure/index.d.ts.map +1 -1
- package/dist/measure/index.js +1 -0
- package/dist/measure/index.js.map +1 -1
- package/dist/measure/leader.d.ts +20 -0
- package/dist/measure/leader.d.ts.map +1 -0
- package/dist/measure/leader.js +46 -0
- package/dist/measure/leader.js.map +1 -0
- package/dist/measure/links.js +1 -1
- package/dist/measure/links.js.map +1 -1
- package/dist/measure/plain.d.ts.map +1 -1
- package/dist/measure/plain.js +18 -25
- package/dist/measure/plain.js.map +1 -1
- package/dist/measure/rich.d.ts +19 -0
- package/dist/measure/rich.d.ts.map +1 -1
- package/dist/measure/rich.js +211 -38
- package/dist/measure/rich.js.map +1 -1
- package/dist/measure/tabs.d.ts +103 -0
- package/dist/measure/tabs.d.ts.map +1 -0
- package/dist/measure/tabs.js +123 -0
- package/dist/measure/tabs.js.map +1 -0
- package/dist/measure/types.d.ts +26 -2
- package/dist/measure/types.d.ts.map +1 -1
- package/dist/measure/types.js +23 -3
- package/dist/measure/types.js.map +1 -1
- package/dist/parse/blockParser.d.ts +13 -6
- package/dist/parse/blockParser.d.ts.map +1 -1
- package/dist/parse/blockParser.js +457 -87
- package/dist/parse/blockParser.js.map +1 -1
- package/dist/parse/codeFence.d.ts +18 -0
- package/dist/parse/codeFence.d.ts.map +1 -0
- package/dist/parse/codeFence.js +52 -0
- package/dist/parse/codeFence.js.map +1 -0
- package/dist/parse/index.d.ts +1 -1
- package/dist/parse/index.d.ts.map +1 -1
- package/dist/parse/index.js.map +1 -1
- package/dist/parse/indexMarks.d.ts +3 -1
- package/dist/parse/indexMarks.d.ts.map +1 -1
- package/dist/parse/indexMarks.js +22 -2
- package/dist/parse/indexMarks.js.map +1 -1
- package/dist/parse/inlineFormatting.d.ts +50 -0
- package/dist/parse/inlineFormatting.d.ts.map +1 -1
- package/dist/parse/inlineFormatting.js +94 -0
- package/dist/parse/inlineFormatting.js.map +1 -1
- package/dist/parse/sourceMapping.d.ts.map +1 -1
- package/dist/parse/sourceMapping.js +65 -1
- package/dist/parse/sourceMapping.js.map +1 -1
- package/dist/parse/types.d.ts +144 -9
- package/dist/parse/types.d.ts.map +1 -1
- package/dist/pipeline/build.d.ts.map +1 -1
- package/dist/pipeline/build.js +143 -18
- package/dist/pipeline/build.js.map +1 -1
- package/dist/pipeline/buildBlockKind.d.ts.map +1 -1
- package/dist/pipeline/buildBlockKind.js +60 -1
- package/dist/pipeline/buildBlockKind.js.map +1 -1
- package/dist/pipeline/buildHelpers.d.ts +3 -0
- package/dist/pipeline/buildHelpers.d.ts.map +1 -1
- package/dist/pipeline/buildHelpers.js +7 -2
- package/dist/pipeline/buildHelpers.js.map +1 -1
- package/dist/pipeline/calloutLayout.d.ts.map +1 -1
- package/dist/pipeline/calloutLayout.js +33 -2
- package/dist/pipeline/calloutLayout.js.map +1 -1
- package/dist/pipeline/chips.d.ts.map +1 -1
- package/dist/pipeline/chips.js +4 -0
- package/dist/pipeline/chips.js.map +1 -1
- package/dist/pipeline/codeBlocks.d.ts +38 -0
- package/dist/pipeline/codeBlocks.d.ts.map +1 -0
- package/dist/pipeline/codeBlocks.js +146 -0
- package/dist/pipeline/codeBlocks.js.map +1 -0
- package/dist/pipeline/codeInline.d.ts +22 -0
- package/dist/pipeline/codeInline.d.ts.map +1 -0
- package/dist/pipeline/codeInline.js +93 -0
- package/dist/pipeline/codeInline.js.map +1 -0
- package/dist/pipeline/codeLines.d.ts +91 -0
- package/dist/pipeline/codeLines.d.ts.map +1 -0
- package/dist/pipeline/codeLines.js +399 -0
- package/dist/pipeline/codeLines.js.map +1 -0
- package/dist/pipeline/config.d.ts.map +1 -1
- package/dist/pipeline/config.js +8 -1
- package/dist/pipeline/config.js.map +1 -1
- package/dist/pipeline/contentWarnings.d.ts +9 -0
- package/dist/pipeline/contentWarnings.d.ts.map +1 -1
- package/dist/pipeline/contentWarnings.js +60 -2
- package/dist/pipeline/contentWarnings.js.map +1 -1
- package/dist/pipeline/continuation.d.ts.map +1 -1
- package/dist/pipeline/continuation.js +9 -2
- package/dist/pipeline/continuation.js.map +1 -1
- package/dist/pipeline/dropCap.d.ts +128 -0
- package/dist/pipeline/dropCap.d.ts.map +1 -0
- package/dist/pipeline/dropCap.js +412 -0
- package/dist/pipeline/dropCap.js.map +1 -0
- package/dist/pipeline/hardBreaks.d.ts +19 -0
- package/dist/pipeline/hardBreaks.d.ts.map +1 -0
- package/dist/pipeline/hardBreaks.js +36 -0
- package/dist/pipeline/hardBreaks.js.map +1 -0
- package/dist/pipeline/headerFooter.d.ts.map +1 -1
- package/dist/pipeline/headerFooter.js +4 -1
- package/dist/pipeline/headerFooter.js.map +1 -1
- package/dist/pipeline/lineNumbers.d.ts +37 -0
- package/dist/pipeline/lineNumbers.d.ts.map +1 -0
- package/dist/pipeline/lineNumbers.js +441 -0
- package/dist/pipeline/lineNumbers.js.map +1 -0
- package/dist/pipeline/measureContentBlock.d.ts +31 -5
- package/dist/pipeline/measureContentBlock.d.ts.map +1 -1
- package/dist/pipeline/measureContentBlock.js +274 -68
- package/dist/pipeline/measureContentBlock.js.map +1 -1
- package/dist/pipeline/partPalette.d.ts +1 -1
- package/dist/pipeline/partPalette.d.ts.map +1 -1
- package/dist/pipeline/partPalette.js +24 -2
- package/dist/pipeline/partPalette.js.map +1 -1
- package/dist/pipeline/styles.d.ts +18 -2
- package/dist/pipeline/styles.d.ts.map +1 -1
- package/dist/pipeline/styles.js +15 -3
- package/dist/pipeline/styles.js.map +1 -1
- package/dist/pipeline/tabs.d.ts +35 -0
- package/dist/pipeline/tabs.d.ts.map +1 -0
- package/dist/pipeline/tabs.js +99 -0
- package/dist/pipeline/tabs.js.map +1 -0
- package/dist/pipeline/toc.d.ts.map +1 -1
- package/dist/pipeline/toc.js +3 -38
- package/dist/pipeline/toc.js.map +1 -1
- package/dist/pipeline/verseLines.d.ts +78 -0
- package/dist/pipeline/verseLines.d.ts.map +1 -0
- package/dist/pipeline/verseLines.js +245 -0
- package/dist/pipeline/verseLines.js.map +1 -0
- package/dist/preflight.d.ts.map +1 -1
- package/dist/preflight.js +1 -0
- package/dist/preflight.js.map +1 -1
- package/dist/types.d.ts +560 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/vdt.d.ts +240 -7
- package/dist/vdt.d.ts.map +1 -1
- package/dist/vdt.js +6 -0
- package/dist/vdt.js.map +1 -1
- package/dist/word/docxRead.d.ts.map +1 -1
- package/dist/word/docxRead.js +15 -0
- package/dist/word/docxRead.js.map +1 -1
- package/dist/word/inline.d.ts +6 -1
- package/dist/word/inline.d.ts.map +1 -1
- package/dist/word/inline.js +35 -1
- package/dist/word/inline.js.map +1 -1
- package/dist/word/model.d.ts +14 -0
- package/dist/word/model.d.ts.map +1 -1
- package/dist/word/model.js.map +1 -1
- package/dist/word/template.d.ts +12 -3
- package/dist/word/template.d.ts.map +1 -1
- package/dist/word/template.js +13 -3
- package/dist/word/template.js.map +1 -1
- package/dist/word/toDocx.d.ts.map +1 -1
- package/dist/word/toDocx.js +52 -8
- package/dist/word/toDocx.js.map +1 -1
- package/dist/word/toMarkdown.d.ts +5 -1
- package/dist/word/toMarkdown.d.ts.map +1 -1
- package/dist/word/toMarkdown.js +117 -6
- package/dist/word/toMarkdown.js.map +1 -1
- package/dist/word/word.test.js +124 -2
- package/dist/word/word.test.js.map +1 -1
- package/dist/worker/fonts.d.ts +2 -1
- package/dist/worker/fonts.d.ts.map +1 -1
- package/dist/worker/fonts.js +6 -2
- package/dist/worker/fonts.js.map +1 -1
- package/package.json +1 -1
package/dist/word/toDocx.js
CHANGED
|
@@ -5,10 +5,11 @@
|
|
|
5
5
|
// matter) is kept verbatim in the *Postext Markup* styles. The template
|
|
6
6
|
// travels inside the file, so the re-import maps every style back.
|
|
7
7
|
import { strToU8, zipSync } from 'fflate';
|
|
8
|
-
import { parseInline } from './inline';
|
|
8
|
+
import { LINE_BREAK, parseInline } from './inline';
|
|
9
9
|
import { calloutStylesOf, chipStylesOf, CHAPTER_STYLE, MARKUP_CHAR_STYLE, MARKUP_STYLE, } from './template';
|
|
10
10
|
import { TEMPLATE_XML_NS, TEMPLATE_XML_ROOT } from './docxRead';
|
|
11
11
|
import { escapeAttr, escapeXml } from './xml';
|
|
12
|
+
import { closesCodeFence, codeFenceOpen } from '../parse/codeFence';
|
|
12
13
|
export const DEFAULT_STYLE_NAMES = {
|
|
13
14
|
callout: 'Callout: __name__',
|
|
14
15
|
calloutTitle: 'Callout: __name__: title',
|
|
@@ -35,6 +36,12 @@ function attrPairs(blob) {
|
|
|
35
36
|
out.push([m[1], m[2] ?? m[3] ?? m[4] ?? true]);
|
|
36
37
|
return out;
|
|
37
38
|
}
|
|
39
|
+
/** A paragraph's lines as one text: joined with a space, or with a line
|
|
40
|
+
* feed after a line that ends in a backslash, a forced line break (#620)
|
|
41
|
+
* `parseInline` reads. */
|
|
42
|
+
function joinLines(parts) {
|
|
43
|
+
return parts.reduce((text, part, k) => (k === 0 ? part : `${text}${parts[k - 1].endsWith('\\') ? '\n' : ' '}${part}`), '');
|
|
44
|
+
}
|
|
38
45
|
function isBlank(line) {
|
|
39
46
|
return line.trim() === '';
|
|
40
47
|
}
|
|
@@ -43,7 +50,7 @@ function isBlank(line) {
|
|
|
43
50
|
function startsBlock(trimmed, raw) {
|
|
44
51
|
return HEADING_RE.test(trimmed) || trimmed.startsWith('>') || FENCE_RE.test(trimmed) || CLOSE_RE.test(trimmed)
|
|
45
52
|
|| TASK_RE.test(raw) || ORDERED_RE.test(raw) || BULLET_RE.test(raw) || RESOURCE_RE.test(trimmed)
|
|
46
|
-
|| MATH_SINGLE_RE.test(trimmed) || MATH_FENCE_RE.test(trimmed) || NOTE_DEF_RE.test(trimmed);
|
|
53
|
+
|| MATH_SINGLE_RE.test(trimmed) || MATH_FENCE_RE.test(trimmed) || NOTE_DEF_RE.test(trimmed) || codeFenceOpen(raw) !== undefined;
|
|
47
54
|
}
|
|
48
55
|
function parseChapter(markdown, listRunBase) {
|
|
49
56
|
const lines = markdown.replace(/\r\n?/g, '\n').split('\n');
|
|
@@ -93,6 +100,19 @@ function parseChapter(markdown, listRunBase) {
|
|
|
93
100
|
i++;
|
|
94
101
|
continue;
|
|
95
102
|
}
|
|
103
|
+
// A code listing (#624): written verbatim, fences and all, in the
|
|
104
|
+
// Postext Markup style (no Word mapping of code yet).
|
|
105
|
+
const code = codeFenceOpen(raw);
|
|
106
|
+
if (code) {
|
|
107
|
+
endList();
|
|
108
|
+
pushBlock({ kind: 'markup', text: raw });
|
|
109
|
+
i++;
|
|
110
|
+
while (i < lines.length && !closesCodeFence(lines[i], code.marker))
|
|
111
|
+
blocks.push({ kind: 'markup', text: lines[i++] });
|
|
112
|
+
if (i < lines.length)
|
|
113
|
+
blocks.push({ kind: 'markup', text: lines[i++] });
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
96
116
|
const fence = FENCE_RE.exec(t);
|
|
97
117
|
if (fence) {
|
|
98
118
|
endList();
|
|
@@ -206,7 +226,7 @@ function parseChapter(markdown, listRunBase) {
|
|
|
206
226
|
const parts = [];
|
|
207
227
|
while (i < lines.length && lines[i].trim().startsWith('>'))
|
|
208
228
|
parts.push(lines[i++].trim().replace(/^>\s?/, ''));
|
|
209
|
-
pushBlock({ kind: 'para', text: parts
|
|
229
|
+
pushBlock({ kind: 'para', text: joinLines(parts).trim(), role: { kind: 'quote' } });
|
|
210
230
|
continue;
|
|
211
231
|
}
|
|
212
232
|
const task = TASK_RE.exec(raw);
|
|
@@ -239,7 +259,7 @@ function parseChapter(markdown, listRunBase) {
|
|
|
239
259
|
i++;
|
|
240
260
|
while (i < lines.length && !isBlank(lines[i]) && !startsBlock(lines[i].trim(), lines[i]))
|
|
241
261
|
parts.push(lines[i++].trim());
|
|
242
|
-
const text = parts
|
|
262
|
+
const text = joinLines(parts);
|
|
243
263
|
const def = NOTE_DEF_RE.exec(text);
|
|
244
264
|
if (def) {
|
|
245
265
|
const id = def[1];
|
|
@@ -264,6 +284,28 @@ function twips(d, base = 10) {
|
|
|
264
284
|
const hp = halfPoints(d, base);
|
|
265
285
|
return hp !== undefined ? hp * 10 : undefined;
|
|
266
286
|
}
|
|
287
|
+
/** A paragraph style's tab stops as Word's `w:tabs` (#622): the stops at a
|
|
288
|
+
* length (`'end'` and percentages need the page Word sets the text on, and
|
|
289
|
+
* are left out), their leaders as Word's nearest. */
|
|
290
|
+
function tabsXml(stops, fontSize) {
|
|
291
|
+
if (!stops || stops.length === 0)
|
|
292
|
+
return '';
|
|
293
|
+
const base = fontSize?.unit === 'pt' ? fontSize.value : 10;
|
|
294
|
+
const val = { start: 'left', end: 'right', center: 'center', decimal: 'decimal' };
|
|
295
|
+
const leaders = { '.': 'dot', '. ': 'dot', '…': 'dot', '-': 'hyphen', '_': 'underscore', rule: 'underscore', '·': 'middleDot' };
|
|
296
|
+
const tabs = [];
|
|
297
|
+
for (const st of stops) {
|
|
298
|
+
const p = st.position;
|
|
299
|
+
if (typeof p !== 'object' || !p)
|
|
300
|
+
continue;
|
|
301
|
+
const pt = p.unit === 'pt' ? p.value : p.unit === 'px' ? p.value * 0.75 : p.unit === 'mm' ? p.value * 2.8346 : p.unit === 'cm' ? p.value * 28.346 : p.unit === 'in' ? p.value * 72 : p.value * base;
|
|
302
|
+
if (!(pt > 0) || pt > 1584)
|
|
303
|
+
continue;
|
|
304
|
+
const leader = st.leader ? leaders[st.leader] : undefined;
|
|
305
|
+
tabs.push(`<w:tab w:val="${val[st.align ?? 'start'] ?? 'left'}"${leader ? ` w:leader="${leader}"` : ''} w:pos="${Math.round(pt * 20)}"/>`);
|
|
306
|
+
}
|
|
307
|
+
return tabs.length > 0 ? `<w:tabs>${tabs.join('')}</w:tabs>` : '';
|
|
308
|
+
}
|
|
267
309
|
const hex = (c) => (c?.hex && /^#[0-9a-fA-F]{6}$/.test(c.hex) ? c.hex.slice(1).toUpperCase() : undefined);
|
|
268
310
|
class Styles {
|
|
269
311
|
template;
|
|
@@ -372,7 +414,8 @@ class Styles {
|
|
|
372
414
|
if (sz)
|
|
373
415
|
rPr += `<w:sz w:val="${sz}"/>`;
|
|
374
416
|
const jc = ps?.textAlign === 'center' ? 'center' : ps?.textAlign === 'right' || ps?.textAlign === 'end' ? 'right' : ps?.textAlign === 'justify' ? 'both' : ps?.textAlign ? 'left' : undefined;
|
|
375
|
-
// Schema order: ind before jc.
|
|
417
|
+
// Schema order: tabs, then ind before jc.
|
|
418
|
+
pPr += tabsXml(ps?.tabStops, ps?.fontSize);
|
|
376
419
|
const ind = twips(ps?.indent);
|
|
377
420
|
if (ind)
|
|
378
421
|
pPr += `<w:ind w:left="${ind}"/>`;
|
|
@@ -436,11 +479,12 @@ class Styles {
|
|
|
436
479
|
// ---------------------------------------------------------------------------
|
|
437
480
|
const W_NS = 'xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"';
|
|
438
481
|
function textXml(text) {
|
|
439
|
-
// Tabs and newlines inside a verbatim run
|
|
440
|
-
|
|
482
|
+
// Tabs and newlines inside a verbatim run, and the forced line breaks of
|
|
483
|
+
// a paragraph (#620).
|
|
484
|
+
return text.split(/(\t|\n|\u2028)/).map((piece) => {
|
|
441
485
|
if (piece === '\t')
|
|
442
486
|
return '<w:tab/>';
|
|
443
|
-
if (piece === '\n')
|
|
487
|
+
if (piece === '\n' || piece === LINE_BREAK)
|
|
444
488
|
return '<w:br/>';
|
|
445
489
|
return piece ? `<w:t xml:space="preserve">${escapeXml(piece)}</w:t>` : '';
|
|
446
490
|
}).join('');
|
package/dist/word/toDocx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toDocx.js","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"toDocx.js","sourceRoot":"","sources":["../../src/word/toDocx.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qEAAqE;AACrE,6EAA6E;AAC7E,4EAA4E;AAC5E,wEAAwE;AACxE,mEAAmE;AAEnE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAkB,MAAM,UAAU,CAAC;AACnE,OAAO,EACL,eAAe,EACf,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,YAAY,GAIb,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAgBpE,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,OAAO,EAAE,mBAAmB;IAC5B,YAAY,EAAE,0BAA0B;IACxC,IAAI,EAAE,gBAAgB;CACvB,CAAC;AA8BF,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,QAAQ,GAAG,iDAAiD,CAAC;AACnE,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAClF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACnE,MAAM,OAAO,GAAG,mCAAmC,CAAC;AACpD,MAAM,UAAU,GAAG,8BAA8B,CAAC;AAClD,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,WAAW,GAAG,oCAAoC,CAAC;AACzD,MAAM,WAAW,GAAG,kCAAkC,CAAC;AACvD,MAAM,cAAc,GAAG,0BAA0B,CAAC;AAClD,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,qEAAqE;AACrE,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAG,kEAAkE,CAAC;IAC9E,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IAC5E,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;2BAE2B;AAC3B,SAAS,SAAS,CAAC,KAAwB;IACzC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAC9H,CAAC;AAED,SAAS,OAAO,CAAC,IAAY;IAC3B,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;+CAC+C;AAC/C,SAAS,WAAW,CAAC,OAAe,EAAE,GAAW;IAC/C,OAAO,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;WACzG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;WAC7F,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC;AACpI,CAAC;AAQD,SAAS,YAAY,CAAC,QAAgB,EAAE,WAA0B;IAChE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAc,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,0BAA0B;IAC1B,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC;QACnE,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC;YAChF,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC;IACH,CAAC;IAED;kEAC8D;IAC9D,MAAM,KAAK,GAAkE,EAAE,CAAC;IAChF,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAE,CAAC,IAAK,CAAC;QACvF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC,CAAC;IACF,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;IACjB,IAAI,iBAAiB,GAAkB,IAAI,CAAC;IAC5C,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;IAEzB,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,SAAS,GAAG,EAAE,CAAC;QACf,OAAO,GAAG,CAAC,CAAC,CAAC;IACf,CAAC,CAAC;IAEF,kEAAkE;IAClE,mEAAmE;IACnE,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,MAAM,SAAS,GAAG,CAAC,CAAU,EAAQ,EAAE;QACrC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAClI,WAAW,GAAG,KAAK,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC;YACnB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,EAAE,CAAC;YACV,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,MAAM,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC;YACxH,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzC,CAAC,EAAE,CAAC;gBACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC;gBAChH,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;oBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC;gBACzE,SAAS;YACX,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzC,CAAC,EAAE,CAAC;gBACJ,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtD,IAAI,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,EAAE,CAAC;gBAC5G,gEAAgE;gBAChE,gEAAgE;gBAChE,oDAAoD;gBACpD,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,IAAI,MAAM,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7B,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;wBAAE,SAAS;oBACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,IAAI,EAAE,KAAK,KAAK,CAAC;4BAAE,MAAM;wBACzB,SAAS;oBACX,CAAC;oBACD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;wBACtB,MAAM,GAAG,KAAK,CAAC;wBACf,KAAK,EAAE,CAAC;wBACR,SAAS;oBACX,CAAC;oBACD,IAAI,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC;wBAAE,MAAM,GAAG,KAAK,CAAC;gBACjD,CAAC;gBACD,MAAM,QAAQ,GAAG,iBAAiB,KAAK,KAAK,IAAI,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC;gBAClF,IAAI,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1E,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACX,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAgB,IAAI,KAAK,SAAS;gBAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,EAAE,CAAC,CAAC,CAAwB,IAAI,EAAE,EAAE;gBACrG,CAAC,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACvG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;YACvD,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;YACV,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;YACxB,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;gBAClB,iBAAiB,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5E,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;YAClC,CAAC;;gBAAM,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAChD,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,EAAE,CAAC;YACV,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,CAAC;YACV,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YACzC,CAAC,EAAE,CAAC;YACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC;YACrH,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAE,EAAE,CAAC,CAAC;YACzE,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;YACV,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YACvB,IAAI,KAAyB,CAAC;YAC9B,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACnC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;gBAC7C,qDAAqD;gBACrD,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,mEAAmE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC7H,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACb,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChG,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YACD,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7F,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;YACV,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;YACjH,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;YACpF,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,IAAI,IAAI,OAAO,IAAI,MAAM,CAAC;QACvC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC;YACnD,OAAO,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAE,GAAG,CAAC,GAAG,GAAG;gBAAE,SAAS,CAAC,GAAG,EAAE,CAAC;YACvF,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;YAC5C,SAAS,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,MAAO,CAAC,CAAC,CAAE,CAAC,CAAC,IAAI,EAAE;gBACpE,KAAK;gBACL,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,EAAE,IAAI,EAAE;gBACZ,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;YACH,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,kEAAkE;QAClE,OAAO,EAAE,CAAC;QACV,MAAM,KAAK,GAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC,EAAE,CAAC;QACJ,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC,CAAE,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5H,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;YAC7D,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,SAAS;QACX,CAAC;QACD,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC;AAkBD,MAAM,UAAU,GAAG,CAAC,CAAoC,EAAE,CAAoC,EAAW,EAAE,CACzG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE1C,MAAM,eAAe,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,WAAW,KAAK,EAAE,CAAC;AAEtE,SAAS,UAAU,CAAC,CAAwB,EAAE,IAAI,GAAG,EAAE;IACrD,IAAI,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;IACpM,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7D,CAAC;AAED,SAAS,KAAK,CAAC,CAAwB,EAAE,IAAI,GAAG,EAAE;IAChD,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/B,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED;;sDAEsD;AACtD,SAAS,OAAO,CAAC,KAAqC,EAAE,QAA+B;IACrF,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,IAAI,GAAG,QAAQ,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,GAAG,GAA2B,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAC1G,MAAM,OAAO,GAA2B,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC;IACxJ,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;QACtB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC;YAAE,SAAS;QAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;QACpM,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI;YAAE,SAAS;QACrC,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,cAAc,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7I,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AACpE,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAyB,EAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEtJ,MAAM,MAAM;IAMU;IAAgC;IAA+B;IAL1E,IAAI,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpC,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IACpC,UAAU,GAAoC,EAAE,CAAC;IACjD,UAAU,GAAoC,EAAE,CAAC;IAE1D,YAAoB,QAAsB,EAAU,MAAqB,EAAU,KAAqB;QAApF,aAAQ,GAAR,QAAQ,CAAc;QAAU,WAAM,GAAN,MAAM,CAAe;QAAU,UAAK,GAAL,KAAK,CAAgB;QACtG,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC7B,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,2DAA2D,EAAE,GAAG,EAAE,gBAAgB,QAAQ,KAAK,EAAE,CAAC,CAAC;QACtL,MAAM,KAAK,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,qCAAqC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,yCAAyC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,sBAAsB,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACpR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,qCAAqC,EAAE,GAAG,EAAE,iCAAiC,EAAE,CAAC,CAAC;QACrL,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,6CAA6C,EAAE,CAAC,CAAC;QACtK,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,yDAAyD,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC3M,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,oCAAoC,EAAE,CAAC,CAAC;QAClJ,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,gDAAgD,EAAE,CAAC,CAAC;QAC7I,MAAM,IAAI,GAAG,8GAA8G,CAAC;QAC5H,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,+EAA+E,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QAChM,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,qBAAqB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,IAAI,uDAAuD,EAAE,CAAC,CAAC;QAC5J,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,iIAAiI,EAAE,GAAG,EAAE,sDAAsD,EAAE,CAAC,CAAC;QACtS,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrD,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1D,CAAC;IAEO,MAAM,CAAC,GAAa;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC;QACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;YAAE,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACrG,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,6DAA6D;IACrD,YAAY,CAA8C,GAAsB,EAAE,MAAS;QACjG,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,IAAI,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC;gBAAE,OAAO,IAAI,CAAC;QACpF,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,QAAQ,CAA8C,IAAY,EAAE,IAAe,EAAE,MAAS,EAAE,GAAsB;QAC5H,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,GAAI,CAAC,EAAE,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAClD,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC;gBAAE,OAAO,IAAI,CAAC;YAClH,IAAI,GAAG,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,SAAS,CAAC,MAAuB,EAAE,YAA0B,EAAE,IAAqD;QAClH,mEAAmE;QACnE,gEAAgE;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACnC,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,MAAuB,EAAE,YAA0B,EAAE,IAAiC;QAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxI,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACnC,OAAO,GAAG,CAAC,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,KAAc;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACvF,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACrE,OAAO,UAAU,KAAK,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,OAAO,IAAI,CAAC,SAAS,CACnB,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EACvD,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,EAC/D,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,KAAK,EAAE,EAAE,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,IAAI,IAAI,KAAK,EAAE,GAAG,EAAE;YACjF,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IAAI,EAAE,EAAE,UAAU;gBAAE,GAAG,IAAI,sBAAsB,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACvH,IAAI,EAAE,EAAE,MAAM;gBAAE,GAAG,IAAI,QAAQ,CAAC;YAChC,IAAI,EAAE,EAAE,SAAS;gBAAE,GAAG,IAAI,gBAAgB,CAAC;YAC3C,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC;gBAAE,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC;YACxC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;YACpC,IAAI,EAAE;gBAAE,GAAG,IAAI,gBAAgB,EAAE,KAAK,CAAC;YACvC,MAAM,EAAE,GAAG,EAAE,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,OAAO,IAAI,EAAE,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9L,0CAA0C;YAC1C,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;YAC9B,IAAI,GAAG;gBAAE,GAAG,IAAI,kBAAkB,GAAG,KAAK,CAAC;YAC3C,IAAI,EAAE;gBAAE,GAAG,IAAI,gBAAgB,EAAE,KAAK,CAAC;YACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,KAAK,GAAG,KAAK;QACjC,MAAM,EAAE,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACnE,MAAM,KAAK,GAAG,EAAE,EAAE,IAAI,IAAI,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAG,CAAC,EAAE,EAAE,iBAAiB,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC;QAC7F,OAAO,IAAI,CAAC,SAAS,CACnB,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAClE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,EACvF,GAAG,EAAE,CAAC,CAAC;YACL,OAAO,EAAE,QAAQ;YACjB,GAAG,EAAE,+HAA+H,IAAI,wCAAwC;YAChL,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAC3B,CAAC,CACH,CAAC;IACJ,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,IAAI;QACF,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;QACjE,MAAM,IAAI,GAAG,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,IAAI,QAAQ,CAAC;QAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;YAClH,GAAG,EAAE,+CAA+C,IAAI,KAAK;SAC9D,CAAC,CAAC,CAAC;IACN,CAAC;IAED,GAAG;QACD,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,IAAI,oBAAoB,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC;YAC5G,GAAG,IAAI,kBAAkB,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACjD,IAAI,CAAC,CAAC,OAAO;gBAAE,GAAG,IAAI,qBAAqB,CAAC,CAAC,OAAO,KAAK,CAAC;YAC1D,IAAI,IAAI,KAAK,WAAW;gBAAE,GAAG,IAAI,0BAA0B,CAAC;YAC5D,GAAG,IAAI,cAAc,CAAC;YACtB,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,KAAK,WAAW;gBAAE,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC;YACpE,IAAI,CAAC,CAAC,GAAG;gBAAE,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,UAAU,CAAC;YAC5C,GAAG,IAAI,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,IAAI,GAAG,sJAAsJ,CAAC;AAEpK,SAAS,OAAO,CAAC,IAAY;IAC3B,yEAAyE;IACzE,sBAAsB;IACtB,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAChD,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,UAAU,CAAC;QACtC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,UAAU;YAAE,OAAO,SAAS,CAAC;QAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,6BAA6B,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5E,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AASD,SAAS,OAAO,CAAC,IAAiB,EAAE,GAAe;IACjD,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACnB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;gBACnD,KAAK,IAAI,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;gBACpE,CAAC,EAAE,CAAC;YACN,CAAC;YACD,GAAG,IAAI,sBAAsB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,KAAK,gBAAgB,CAAC;YACzF,CAAC,GAAG,CAAC,CAAC;YACN,SAAS;QACX,CAAC;QACD,GAAG,IAAI,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtB,CAAC,EAAE,CAAC;IACN,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,MAAM,CAAC,CAAY,EAAE,GAAe,EAAE,SAAkB;IAC/D,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,EAAE,KAAK,SAAS;YAAE,OAAO,8DAA8D,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC;QAC3H,OAAO,uFAAuF,EAAE,WAAW,CAAC;IAC9G,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACvB,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,IAAI,KAAK;QAAE,GAAG,IAAI,oBAAoB,KAAK,KAAK,CAAC;IACjD,IAAI,CAAC,CAAC,IAAI;QAAE,GAAG,IAAI,QAAQ,CAAC;IAC5B,IAAI,CAAC,CAAC,MAAM;QAAE,GAAG,IAAI,QAAQ,CAAC;IAC9B,IAAI,CAAC,CAAC,SAAS;QAAE,GAAG,IAAI,gBAAgB,CAAC;IACzC,IAAI,CAAC,CAAC,MAAM;QAAE,GAAG,IAAI,uBAAuB,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC;IAClG,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;AAC9E,CAAC;AAED,SAAS,YAAY,CAAC,OAAe,EAAE,OAAe,EAAE,QAAQ,GAAG,EAAE;IACnE,OAAO,gCAAgC,OAAO,MAAM,QAAQ,WAAW,OAAO,QAAQ,CAAC;AACzF,CAAC;AAED;qEACqE;AACrE,MAAM,SAAS;IACL,IAAI,GAA8D,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACpF,IAAI,GAAG,IAAI,GAAG,EAA2C,CAAC;IAElE,MAAM;QACJ,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,MAAc;QAChD,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC/B,GAAG,CAAC,IAAI,EAAE,CAAC;YACX,OAAO,GAAG,CAAC,KAAK,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC;QAChD,kDAAkD;QAClD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAE,GAAG,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+DAA+D;IAC/D,KAAK,CAAC,GAAW,EAAE,KAAa;QAC9B,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAE,GAAG,KAAK;gBAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,GAAG;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,GAAW,EAAE,IAAY,EAAU,EAAE,CAC7D,kBAAkB,CAAC,0CAA0C,GAAG,wBAAwB,UAAU,CAAC,IAAI,CAAC,mDAAmD,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,qCAAqC,CAAC;QAChN,IAAI,GAAG,GAAG,kFAAkF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC;QACpK,GAAG,IAAI,4EAA4E,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC;QACrL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACzB,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,QAAQ,KAAK,CAAC;YAC5E,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;gBAAE,GAAG,IAAI,0BAA0B,CAAC,CAAC,IAAI,6BAA6B,CAAC,CAAC,KAAK,qBAAqB,CAAC;YACpJ,GAAG,IAAI,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,OAAO,uEAAuE,IAAI,IAAI,GAAG,gBAAgB,CAAC;IAC5G,CAAC;CACF;AAED,SAAS,SAAS,CAAC,IAAU,EAAE,MAAc;IAC3C,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,KAAK,YAAY;YACf,OAAO,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,KAAK,SAAS;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC/D,KAAK,OAAO;YACV,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB;YACE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,aAAa,CAAC,QAAkC,EAAE,QAAwB;IACxF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,IAAI,mBAAmB,CAAC,CAAC;IACrG,MAAM,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IACxC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;QACtC,IAAI,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,EAAE,GAAG,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,MAAM,WAAW,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAE7B,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,IAAI,QAAQ,CAAC,IAAI;YAAE,IAAI,IAAI,YAAY,CAAC,gBAAgB,EAAE,QAAQ,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClG,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,GAAG,GAAe,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,OAAO,GAAG,KAAK,EAAe,EAAE,CAC5D,WAAW,CAAC,IAAI,EAAE;YAChB,OAAO;YACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;gBACf,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,OAAO,KAAK,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CAAC,CAAC;QACL,MAAM,SAAS,GAAG,CAAC,IAAiB,EAAQ,EAAE;YAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;oBAAE,SAAS;gBAC1D,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1D,SAAS,CAAC,IAAI,CAAC,qBAAqB,MAAM,oLAAoL,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC7Q,CAAC;QACH,CAAC,CAAC;QACF,sEAAsE;QACtE,4CAA4C;QAC5C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBAAE,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,kCAAkC,CAAC;oBAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACpI,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;gBACf,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBACrC,IAAI,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBAAE,MAAM;oBAC3F,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1I,MAAM;gBACR,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBACf,0DAA0D;oBAC1D,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC/C,MAAM,IAAI,GAAG,KAAK;wBAChB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;wBAC1F,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBACzB,IAAI,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;oBAC3E,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5B,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,IAAI,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;oBACpE,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM,CAAC,CAAC,CAAC;oBACZ,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC5B,SAAS,CAAC,IAAI,CAAC,CAAC;oBAChB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBAChC,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC3F,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACnF,IAAI,IAAI,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,2BAA2B,CAAC,CAAC,KAAK,GAAG,CAAC,sBAAsB,KAAK,eAAe,CAAC,CAAC;oBAClI,MAAM;gBACR,CAAC;gBACD;oBACE,MAAM;YACV,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,IAAI;QAAE,IAAI,GAAG,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE7C,MAAM,QAAQ,GAAiB;QAC7B,GAAG,QAAQ,CAAC,QAAQ;QACpB,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE;QACrE,UAAU,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE;KACtE,CAAC;IAEF,MAAM,IAAI,GAAG,+NAA+N,CAAC;IAC7O,MAAM,WAAW,GAAG,sEAAsE,IAAI,YAAY,IAAI,GAAG,IAAI,wBAAwB,CAAC;IAC9I,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IAC5C,MAAM,SAAS,GAAG,oEAAoE,IAAI,oKAAoK,UAAU,CAAC,IAAI,CAAC,4DAA4D,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC;IACpW,MAAM,YAAY,GAAG,uEAAuE,IAAI,2VAA2V,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC;IAC9d,MAAM,WAAW,GAAG,sEAAsE,IAAI,uPAAuP,CAAC;IACtV,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,qBAAqB,EAAE,kGAAkG,UAAU,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7N,MAAM,OAAO,GAAG,20BAA20B,QAAQ,kBAAkB,CAAC;IACt3B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,4SAA4S,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,8CAA8C,GAAG,iEAAiE,GAAG,yCAAyC,CAAC;IACnnB,MAAM,GAAG,GAAG,sMAAsM,CAAC;IACnN,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IACvF,MAAM,IAAI,GAAG,2DAA2D,iBAAiB,WAAW,eAAe,KAAK,SAAS,CAAC,YAAY,CAAC,KAAK,iBAAiB,GAAG,CAAC;IACzK,MAAM,SAAS,GAAG,8OAA8O,eAAe,wCAAwC,CAAC;IACxT,MAAM,QAAQ,GAAG,wSAAwS,CAAC;IAC1T,MAAM,YAAY,GAAG,6yCAA6yC,CAAC;IACn0C,MAAM,OAAO,GAAG,8kBAA8kB,CAAC;IAE/lB,OAAO,OAAO,CAAC;QACb,qBAAqB,EAAE,OAAO,CAAC,YAAY,CAAC;QAC5C,aAAa,EAAE,OAAO,CAAC,OAAO,CAAC;QAC/B,mBAAmB,EAAE,OAAO,CAAC,IAAI,CAAC;QAClC,kBAAkB,EAAE,OAAO,CAAC,GAAG,CAAC;QAChC,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC;QACzC,iBAAiB,EAAE,OAAO,CAAC,SAAS,CAAC;QACrC,oBAAoB,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC9C,oBAAoB,EAAE,OAAO,CAAC,YAAY,CAAC;QAC3C,mBAAmB,EAAE,OAAO,CAAC,WAAW,CAAC;QACzC,8BAA8B,EAAE,OAAO,CAAC,OAAO,CAAC;QAChD,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC;QACpC,0BAA0B,EAAE,OAAO,CAAC,SAAS,CAAC;QAC9C,gCAAgC,EAAE,OAAO,CAAC,QAAQ,CAAC;KACpD,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PostextConfig, TableModel } from '../types';
|
|
2
|
-
import type { WordBlock, WordDocument, WordMedia, WordTable } from './model';
|
|
2
|
+
import type { WordBlock, WordDocument, WordMedia, WordParagraph, WordTable, WordTabStop } from './model';
|
|
3
3
|
import { type CharacterTarget, type ParagraphTarget, type WordTemplate } from './template';
|
|
4
4
|
export type ChapterMode = 'single' | 'split';
|
|
5
5
|
export interface ImportedPicture {
|
|
@@ -38,6 +38,10 @@ export interface ImportSettings {
|
|
|
38
38
|
/** Title of text before the first chapter break. */
|
|
39
39
|
untitledChapter: string;
|
|
40
40
|
}
|
|
41
|
+
/** The tab stops a Word paragraph has (#622): its style chain's, base
|
|
42
|
+
* first, then its own; a `clear` removes the stop at its position. Sorted,
|
|
43
|
+
* the alignments Postext sets only. */
|
|
44
|
+
export declare function paragraphTabs(doc: WordDocument, p: WordParagraph): WordTabStop[];
|
|
41
45
|
/** The target of a paragraph style: the template's, else a guess. */
|
|
42
46
|
export declare function paragraphTargetOf(doc: WordDocument, styleId: string, template: WordTemplate, config: PostextConfig): ParagraphTarget;
|
|
43
47
|
/** The target of a character style: the template's, else a guess. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toMarkdown.d.ts","sourceRoot":"","sources":["../../src/word/toMarkdown.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"toMarkdown.d.ts","sourceRoot":"","sources":["../../src/word/toMarkdown.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAa,UAAU,EAAE,MAAM,UAAU,CAAC;AAErE,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAsB,SAAS,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAC1I,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,oEAAoE;IACpE,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,0EAA0E;IAC1E,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB;4DACwD;IACxD,QAAQ,EAAE,WAAW,CAAC;IACtB,kDAAkD;IAClD,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,oDAAoD;IACpD,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;wCAEwC;AACxC,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,GAAG,WAAW,EAAE,CAehF;AAgBD,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,eAAe,CAKpI;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,GAAG,eAAe,CAGjI;AAID,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAmkBD;;4CAE4C;AAC5C,wBAAgB,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,MAAM,GAAG,UAAU,CAiD1F;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,GAAG,YAAY,CAEvF"}
|
package/dist/word/toMarkdown.js
CHANGED
|
@@ -2,8 +2,44 @@
|
|
|
2
2
|
// template says (heading, paragraph style, callout, quote, caption…), runs
|
|
3
3
|
// become inline marks, Word lists become Postext lists, notes become
|
|
4
4
|
// footnotes, pictures and tables become resources placed where they were.
|
|
5
|
-
import { guardLineStart, renderInline, WORD_JOINER } from './inline';
|
|
5
|
+
import { guardLineStart, LINE_BREAK, renderInline, WORD_JOINER } from './inline';
|
|
6
6
|
import { guessCharacterTarget, guessParagraphTarget, lookup, } from './template';
|
|
7
|
+
/** The tab stops a Word paragraph has (#622): its style chain's, base
|
|
8
|
+
* first, then its own; a `clear` removes the stop at its position. Sorted,
|
|
9
|
+
* the alignments Postext sets only. */
|
|
10
|
+
export function paragraphTabs(doc, p) {
|
|
11
|
+
const chain = [];
|
|
12
|
+
let s = doc.styles.get(p.styleId || doc.defaultParagraphStyle);
|
|
13
|
+
for (let guard = 0; s && guard < 12; guard++) {
|
|
14
|
+
chain.unshift(s);
|
|
15
|
+
s = s.basedOn ? doc.styles.get(s.basedOn) : undefined;
|
|
16
|
+
}
|
|
17
|
+
const at = new Map();
|
|
18
|
+
for (const list of [...chain.map((x) => x.tabs), p.tabs]) {
|
|
19
|
+
for (const t of list ?? []) {
|
|
20
|
+
if (t.val === 'clear')
|
|
21
|
+
at.delete(t.pos);
|
|
22
|
+
else
|
|
23
|
+
at.set(t.pos, t);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return [...at.values()].filter((t) => TAB_ALIGN[t.val] !== undefined).sort((a, b) => a.pos - b.pos);
|
|
27
|
+
}
|
|
28
|
+
const TAB_ALIGN = { left: 'start', start: 'start', right: 'end', end: 'end', center: 'center', decimal: 'decimal' };
|
|
29
|
+
const TAB_LEADER = { dot: '.', hyphen: '-', middleDot: '·', underscore: 'rule', heavy: 'rule' };
|
|
30
|
+
/** `:tab`, with the attributes of the Word stop it goes to (#622). */
|
|
31
|
+
function tabDirective(stop) {
|
|
32
|
+
if (!stop)
|
|
33
|
+
return ':tab';
|
|
34
|
+
const attrs = [`at=${Math.round((stop.pos / 20) * 10) / 10}pt`];
|
|
35
|
+
const align = TAB_ALIGN[stop.val];
|
|
36
|
+
if (align && align !== 'start')
|
|
37
|
+
attrs.push(`align=${align}`);
|
|
38
|
+
const leader = stop.leader ? TAB_LEADER[stop.leader] : undefined;
|
|
39
|
+
if (leader)
|
|
40
|
+
attrs.push(`leader="${leader}"`);
|
|
41
|
+
return `:tab{${attrs.join(' ')}}`;
|
|
42
|
+
}
|
|
7
43
|
/** The target of a paragraph style: the template's, else a guess. */
|
|
8
44
|
export function paragraphTargetOf(doc, styleId, template, config) {
|
|
9
45
|
const id = styleId || doc.defaultParagraphStyle;
|
|
@@ -104,9 +140,11 @@ class Converter {
|
|
|
104
140
|
this.group = null;
|
|
105
141
|
if (g.chunks.length === 0 && !g.title)
|
|
106
142
|
return;
|
|
143
|
+
const verseAttrs = [...(g.key ? [`style=${attrValue(g.key)}`] : []), ...(g.layoutLines ? ['layout=lines'] : [])];
|
|
107
144
|
const attrs = g.kind === 'callout'
|
|
108
145
|
? `{type=${attrValue(g.key)}${g.title ? ` title=${attrValue(g.title)}` : ''}}`
|
|
109
|
-
: `{
|
|
146
|
+
: g.kind === 'verse' ? (verseAttrs.length ? `{${verseAttrs.join(' ')}}` : '')
|
|
147
|
+
: `{style=${attrValue(g.key)}}`;
|
|
110
148
|
const inner = joinChunks(g.chunks);
|
|
111
149
|
this.chunks.push({ kind: 'block', text: `:::${g.kind}${attrs}${inner ? `\n${inner}` : ''}\n:::` });
|
|
112
150
|
this.list = [];
|
|
@@ -146,6 +184,9 @@ class Converter {
|
|
|
146
184
|
* with Shift+Enter) and at page breaks. Notes are numbered here. */
|
|
147
185
|
inlineRuns(runs, opts) {
|
|
148
186
|
const lines = [[]];
|
|
187
|
+
// Tabs since the start of the line (#622): the n-th goes to the n-th
|
|
188
|
+
// stop the paragraph has.
|
|
189
|
+
let tabsOnLine = 0;
|
|
149
190
|
const images = [];
|
|
150
191
|
const displayMath = [];
|
|
151
192
|
let pageBreak = false;
|
|
@@ -162,9 +203,19 @@ class Converter {
|
|
|
162
203
|
break;
|
|
163
204
|
}
|
|
164
205
|
case 'tab':
|
|
165
|
-
|
|
206
|
+
// A tab at the start of a line of verse indents it (#620); in
|
|
207
|
+
// body text it is a tab (#622), to the stop Word set for it.
|
|
208
|
+
if (opts.verse)
|
|
209
|
+
cur().push({ text: '\t' });
|
|
210
|
+
else if (opts.heading || opts.inCell || opts.inNote)
|
|
211
|
+
cur().push({ text: ' ' });
|
|
212
|
+
else
|
|
213
|
+
cur().push({ text: ` ${tabDirective(opts.tabs?.[tabsOnLine])} `, raw: true });
|
|
214
|
+
tabsOnLine++;
|
|
166
215
|
break;
|
|
167
216
|
case 'break':
|
|
217
|
+
if (r.kind === 'line')
|
|
218
|
+
tabsOnLine = 0;
|
|
168
219
|
if (r.kind === 'page')
|
|
169
220
|
pageBreak = true;
|
|
170
221
|
if (r.kind === 'line' && opts.heading)
|
|
@@ -173,6 +224,9 @@ class Converter {
|
|
|
173
224
|
lines.push([]);
|
|
174
225
|
else if (r.kind === 'line' && opts.inCell && !opts.inNote)
|
|
175
226
|
cur().push({ text: '\n', raw: true });
|
|
227
|
+
// A forced line break inside the paragraph (#620).
|
|
228
|
+
else if (r.kind === 'line' && !opts.inCell && this.s.template.options.lineBreaks === 'break')
|
|
229
|
+
cur().push({ text: LINE_BREAK });
|
|
176
230
|
else
|
|
177
231
|
cur().push({ text: ' ' });
|
|
178
232
|
break;
|
|
@@ -363,6 +417,24 @@ class Converter {
|
|
|
363
417
|
this.list.push({ ilvl, indent, width: marker.length });
|
|
364
418
|
return { indent: ' '.repeat(indent), marker };
|
|
365
419
|
}
|
|
420
|
+
/** A line of verse (#620): its leading tabs and spaces kept as its
|
|
421
|
+
* indent, the rest rendered; a line that would read as a stepped line
|
|
422
|
+
* (`+ …`) keeps its plus sign. */
|
|
423
|
+
verseLine(runs) {
|
|
424
|
+
const rest = runs.map((r) => ({ ...r }));
|
|
425
|
+
let lead = '';
|
|
426
|
+
while (rest.length > 0 && !rest[0].raw && rest[0].note === undefined && /^[ \t]/.test(rest[0].text)) {
|
|
427
|
+
const ws = /^[ \t]+/.exec(rest[0].text)[0];
|
|
428
|
+
lead += ws;
|
|
429
|
+
rest[0].text = rest[0].text.slice(ws.length);
|
|
430
|
+
if (!rest[0].text)
|
|
431
|
+
rest.shift();
|
|
432
|
+
}
|
|
433
|
+
const text = this.render(rest.map((r) => (r.raw ? r : { ...r, text: r.text.replace(/\t/g, ' ') })));
|
|
434
|
+
if (!text)
|
|
435
|
+
return '';
|
|
436
|
+
return lead + (/^\+\s/.test(text) ? `\\${text}` : text);
|
|
437
|
+
}
|
|
366
438
|
isManualHeading(p, text) {
|
|
367
439
|
if (!this.s.template.options.manualHeadings || p.list)
|
|
368
440
|
return false;
|
|
@@ -425,8 +497,46 @@ class Converter {
|
|
|
425
497
|
this.out({ kind: 'block', text: `${'#'.repeat(level)} ${text}` });
|
|
426
498
|
return;
|
|
427
499
|
}
|
|
500
|
+
// A poem (#620): each line typed with Shift+Enter a line of verse, its
|
|
501
|
+
// leading tabs and spaces its indent; a paragraph of lines a stanza,
|
|
502
|
+
// one-line paragraphs in a row one stanza, an empty paragraph a
|
|
503
|
+
// stanza break.
|
|
504
|
+
if (target.kind === 'verse') {
|
|
505
|
+
this.flushCaption();
|
|
506
|
+
const key = target.style ?? '';
|
|
507
|
+
if (!(this.group?.kind === 'verse' && this.group.key === key))
|
|
508
|
+
this.openGroup('verse', key);
|
|
509
|
+
const g = this.group;
|
|
510
|
+
const { lines, images, displayMath } = this.inlineRuns(p.runs, { splitLines: true, verse: true });
|
|
511
|
+
const verse = lines.map((l) => this.verseLine(l)).filter((l) => l.trim() !== '');
|
|
512
|
+
if (verse.length === 0) {
|
|
513
|
+
g.stanzaBreak = true;
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
if (verse.some((l) => l.includes('||') || /\s\\\\\s/.test(l)))
|
|
517
|
+
g.layoutLines = true;
|
|
518
|
+
const last = g.chunks[g.chunks.length - 1];
|
|
519
|
+
if (verse.length === 1 && last && g.runOn && !g.stanzaBreak)
|
|
520
|
+
last.text += `\n${verse[0]}`;
|
|
521
|
+
else
|
|
522
|
+
g.chunks.push({ kind: 'block', text: verse.join('\n') });
|
|
523
|
+
g.runOn = verse.length === 1;
|
|
524
|
+
g.stanzaBreak = false;
|
|
525
|
+
}
|
|
526
|
+
if (images.length > 0 || displayMath.length > 0) {
|
|
527
|
+
this.closeGroup();
|
|
528
|
+
for (const tex of displayMath)
|
|
529
|
+
this.out({ kind: 'block', text: `$$${tex}$$` });
|
|
530
|
+
this.emitImages(images);
|
|
531
|
+
}
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
428
534
|
const splitLines = this.s.template.options.lineBreaks === 'paragraph' && !p.list;
|
|
429
|
-
|
|
535
|
+
// Word's stops, unless the paragraph goes to a style of the book that
|
|
536
|
+
// sets its own (a Sandbox export coming back).
|
|
537
|
+
const styleId = target.kind === 'paragraphs' ? target.style : undefined;
|
|
538
|
+
const own = (styleId !== undefined ? this.s.config.paragraphStyles?.find((st) => st.id === styleId)?.tabStops : undefined) ?? this.s.config.bodyText?.tabStops;
|
|
539
|
+
const { lines, images, pageBreak, displayMath } = this.inlineRuns(p.runs, { splitLines, ...(own?.length ? {} : { tabs: paragraphTabs(this.doc, p) }) });
|
|
430
540
|
const rendered = lines.map((l) => this.render(l)).filter(Boolean);
|
|
431
541
|
if (target.kind === 'caption') {
|
|
432
542
|
const text = stripCaptionLabel(rendered.join(' '));
|
|
@@ -468,12 +578,13 @@ class Converter {
|
|
|
468
578
|
this.flushCaption();
|
|
469
579
|
if (rendered.length) {
|
|
470
580
|
if (p.list) {
|
|
581
|
+
// A list item is one line: its forced breaks are `\\` (#620).
|
|
471
582
|
const { indent, marker } = this.listMarker(p);
|
|
472
|
-
this.out({ kind: 'list', text: indent + marker + rendered.join(' ') });
|
|
583
|
+
this.out({ kind: 'list', text: indent + marker + rendered.join(' ').replace(/\\\n/g, ' \\\\ ') });
|
|
473
584
|
}
|
|
474
585
|
else if (target.kind === 'quote') {
|
|
475
586
|
for (const line of rendered)
|
|
476
|
-
this.out({ kind: 'block', text: `> ${line}` });
|
|
587
|
+
this.out({ kind: 'block', text: `> ${line.replace(/\n/g, '\n> ')}` });
|
|
477
588
|
}
|
|
478
589
|
else {
|
|
479
590
|
for (const line of rendered)
|