@baiyibai-antora/extensions 1.9.2 → 1.11.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/CHANGELOG.adoc +23 -0
- package/dist/extensions/autoterm/index.d.ts +59 -0
- package/dist/extensions/autoterm/index.d.ts.map +1 -1
- package/dist/extensions/autoterm/index.js +183 -30
- package/dist/extensions/autoterm/index.js.map +1 -1
- package/package.json +1 -1
- package/resources/autoterm-legacy-pdf.rb +13 -11
package/CHANGELOG.adoc
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
|
|
4
4
|
All notable changes to this project will be documented in this file.
|
|
5
5
|
|
|
6
|
+
== [1.11.0] - 2026-08-18
|
|
7
|
+
|
|
8
|
+
=== Fixed
|
|
9
|
+
|
|
10
|
+
* autoterm: include:: directives inside an unsatisfied conditional block are no longer resolved. Include collection previously ran on the raw page text, so a guarded template include leaked its index terms into the scan and the generated Index linked to targets that never rendered
|
|
11
|
+
* autoterm: partials are no longer scanned directly; a partial contributes only through the includes that pull it in, so a partial whose only inclusion sits inside an unsatisfied guard, or that no page includes, contributes nothing. Terms from legitimately included partials now also receive Index entries attributed to the including page
|
|
12
|
+
|
|
13
|
+
=== Changed
|
|
14
|
+
|
|
15
|
+
* autoterm: conditional blocks are evaluated against real attribute state by default, the component-version's compiled attributes overlaid with the page header's entries; `scan_ignore_conditionals` now forces suppression for the named attributes even when set
|
|
16
|
+
|
|
17
|
+
== [1.10.0] - 2026-08-18
|
|
18
|
+
|
|
19
|
+
=== Fixed
|
|
20
|
+
|
|
21
|
+
* autoterm-legacy-pdf: the letter guard reserves room for the letter and its actual first entry instead of a one-line approximation, so a lone letter never lands at a page bottom with its entry pushed overleaf
|
|
22
|
+
* autoterm: generated partials are injected into the host page's own module instead of a hardcoded ROOT, so a Terminology or Index page in any module resolves its include; the disk write follows the same module
|
|
23
|
+
* autoterm: `terminology_file` accepts the component-qualified form `component:module:partial$file.adoc`; a qualified reference never falls back across components, and an ambiguous unqualified reference logs the matching candidates
|
|
24
|
+
|
|
25
|
+
=== Added
|
|
26
|
+
|
|
27
|
+
* autoterm: `scan_ignore_conditionals` names conditional attributes whose `ifdef::` blocks are skipped during scanning, keeping terms inside unrendered conditional content out of the Index; per-component entries extend the playbook list
|
|
28
|
+
|
|
6
29
|
== [1.9.2] - 2026-08-18
|
|
7
30
|
|
|
8
31
|
=== Fixed
|
|
@@ -49,6 +49,10 @@
|
|
|
49
49
|
* # Attribution line rendered above the Terminology content outside
|
|
50
50
|
* # the PDF build. AsciiDoc inline markup allowed; empty disables.
|
|
51
51
|
* attribution: 'Generated by https://gitlab.com/baiyibai-antora/baiyibai-extensions[autoterm].'
|
|
52
|
+
* # Conditional blocks are evaluated against the component's
|
|
53
|
+
* # compiled attributes plus the page header; this list additionally
|
|
54
|
+
* # forces suppression of ifdef:: blocks for the named attributes.
|
|
55
|
+
* scan_ignore_conditionals: []
|
|
52
56
|
* # Terms whose shared definition is suppressed; local definitions
|
|
53
57
|
* # still apply. One term per entry, matching the full term or the
|
|
54
58
|
* # abbreviation, case-insensitively.
|
|
@@ -84,6 +88,7 @@ interface AutotermConfig {
|
|
|
84
88
|
letter_style: 'combined' | 'separate';
|
|
85
89
|
attribution: string;
|
|
86
90
|
write_to_disk: boolean;
|
|
91
|
+
scan_ignore_conditionals: string[];
|
|
87
92
|
ignore_shared_definition: string[];
|
|
88
93
|
exclude_terminology: string[];
|
|
89
94
|
suppress_events: boolean;
|
|
@@ -105,6 +110,12 @@ interface AntoraLogger {
|
|
|
105
110
|
warn?: (msg: string) => void;
|
|
106
111
|
error?: (msg: string) => void;
|
|
107
112
|
}
|
|
113
|
+
interface Logger {
|
|
114
|
+
debug: (msg: string) => void;
|
|
115
|
+
info: (msg: string) => void;
|
|
116
|
+
warn: (msg: string) => void;
|
|
117
|
+
error: (msg: string) => void;
|
|
118
|
+
}
|
|
108
119
|
interface ExtensionEntry {
|
|
109
120
|
require?: string;
|
|
110
121
|
autoterm?: Partial<AutotermConfig>;
|
|
@@ -138,12 +149,24 @@ interface VirtualFile {
|
|
|
138
149
|
src: VirtualFileSrc;
|
|
139
150
|
contents: Buffer | Uint8Array;
|
|
140
151
|
}
|
|
152
|
+
interface ComponentVersionEntry {
|
|
153
|
+
name?: string;
|
|
154
|
+
version?: string;
|
|
155
|
+
asciidoc?: {
|
|
156
|
+
attributes?: Record<string, unknown>;
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
interface ComponentEntry {
|
|
160
|
+
name: string;
|
|
161
|
+
versions: ComponentVersionEntry[];
|
|
162
|
+
}
|
|
141
163
|
interface ContentCatalog {
|
|
142
164
|
getFiles: () => VirtualFile[];
|
|
143
165
|
addFile: (file: {
|
|
144
166
|
contents: Buffer;
|
|
145
167
|
src: VirtualFileSrc;
|
|
146
168
|
}) => void;
|
|
169
|
+
getComponents?: () => ComponentEntry[];
|
|
147
170
|
}
|
|
148
171
|
interface ContentAggregateItem {
|
|
149
172
|
name: string;
|
|
@@ -185,6 +208,23 @@ export declare function mergeTerminology(shared: Map<string, TermDefinition>, lo
|
|
|
185
208
|
merged: Map<string, TermDefinition>;
|
|
186
209
|
overridden: string[];
|
|
187
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* Blank conditional blocks whose condition does not hold, evaluated against
|
|
213
|
+
* real attribute state instead of an ignore list. An ifdef:: block survives
|
|
214
|
+
* when its attribute expression is satisfied and no listed attribute forces
|
|
215
|
+
* suppression; an ifndef:: block survives when its expression is NOT
|
|
216
|
+
* satisfied. ifeval:: content is kept, since expressions are not evaluated.
|
|
217
|
+
* Multi-attribute expressions follow Asciidoctor: '+' requires all, ','
|
|
218
|
+
* requires any. Line count is preserved. Suppression happens before include
|
|
219
|
+
* collection, so an include inside an unsatisfied block is never resolved.
|
|
220
|
+
*/
|
|
221
|
+
export declare function suppressUnsetConditionals(text: string, isDefined: (attr: string) => boolean, forceIgnore?: string[]): string;
|
|
222
|
+
/**
|
|
223
|
+
* Attributes defined in a raw page header: `:name: value` entries define,
|
|
224
|
+
* `:!name:` and `:name!:` entries unset. Scanning stops at the first
|
|
225
|
+
* non-empty line that is neither a title nor an attribute entry.
|
|
226
|
+
*/
|
|
227
|
+
export declare function pageHeaderAttributes(sourceText: string): Map<string, boolean>;
|
|
188
228
|
/**
|
|
189
229
|
* Blank the content of listing and literal blocks (---- and .... fences).
|
|
190
230
|
* Asciidoctor does not process index terms in verbatim context, so the
|
|
@@ -226,5 +266,24 @@ export declare function pageTitle(sourceText: string): string;
|
|
|
226
266
|
/** Read a :name: value from a raw page header, or null. */
|
|
227
267
|
export declare function pageAttribute(sourceText: string, name: string): string | null;
|
|
228
268
|
export declare function register(this: Registry, context?: Registry): void;
|
|
269
|
+
/**
|
|
270
|
+
* Parse a definitions reference of the form
|
|
271
|
+
* [version@][component:]module:partial$relative, or a bare relative path.
|
|
272
|
+
* Absent parts return null and match any value.
|
|
273
|
+
*/
|
|
274
|
+
export declare function parseDefinitionsRef(ref: string): {
|
|
275
|
+
version: string | null;
|
|
276
|
+
component: string | null;
|
|
277
|
+
module: string | null;
|
|
278
|
+
relative: string;
|
|
279
|
+
};
|
|
280
|
+
/**
|
|
281
|
+
* Inject a generated partial into the catalog, replacing an existing entry's
|
|
282
|
+
* contents when a file with that name was already loaded. When write_to_disk
|
|
283
|
+
* is enabled and the component has a local worktree, write the file there
|
|
284
|
+
* too; components loaded from a remote source skip the disk write,
|
|
285
|
+
* mirroring trademark-it.
|
|
286
|
+
*/
|
|
287
|
+
export declare function injectPartial(contentCatalog: ContentCatalog, componentFiles: VirtualFile[], component: string, version: string, module: string, relative: string, content: string, writeToDisk: boolean, logger: Logger): void;
|
|
229
288
|
export {};
|
|
230
289
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,10 @@
|
|
|
50
50
|
* # Attribution line rendered above the Terminology content outside
|
|
51
51
|
* # the PDF build. AsciiDoc inline markup allowed; empty disables.
|
|
52
52
|
* attribution: 'Generated by https://gitlab.com/baiyibai-antora/baiyibai-extensions[autoterm].'
|
|
53
|
+
* # Conditional blocks are evaluated against the component's
|
|
54
|
+
* # compiled attributes plus the page header; this list additionally
|
|
55
|
+
* # forces suppression of ifdef:: blocks for the named attributes.
|
|
56
|
+
* scan_ignore_conditionals: []
|
|
53
57
|
* # Terms whose shared definition is suppressed; local definitions
|
|
54
58
|
* # still apply. One term per entry, matching the full term or the
|
|
55
59
|
* # abbreviation, case-insensitively.
|
|
@@ -111,6 +115,8 @@ exports.termMatcher = termMatcher;
|
|
|
111
115
|
exports.suppressSharedDefinitions = suppressSharedDefinitions;
|
|
112
116
|
exports.parseTerminologyTable = parseTerminologyTable;
|
|
113
117
|
exports.mergeTerminology = mergeTerminology;
|
|
118
|
+
exports.suppressUnsetConditionals = suppressUnsetConditionals;
|
|
119
|
+
exports.pageHeaderAttributes = pageHeaderAttributes;
|
|
114
120
|
exports.stripVerbatimBlocks = stripVerbatimBlocks;
|
|
115
121
|
exports.scanIndexterms = scanIndexterms;
|
|
116
122
|
exports.buildTerminologyEntries = buildTerminologyEntries;
|
|
@@ -119,6 +125,8 @@ exports.generateIndexPartial = generateIndexPartial;
|
|
|
119
125
|
exports.pageTitle = pageTitle;
|
|
120
126
|
exports.pageAttribute = pageAttribute;
|
|
121
127
|
exports.register = register;
|
|
128
|
+
exports.parseDefinitionsRef = parseDefinitionsRef;
|
|
129
|
+
exports.injectPartial = injectPartial;
|
|
122
130
|
const log_time_1 = require("../../lib/log-time");
|
|
123
131
|
const index_1 = require("../trademark-it/index");
|
|
124
132
|
const fs = __importStar(require("node:fs"));
|
|
@@ -291,6 +299,81 @@ function mergeTerminology(shared, local) {
|
|
|
291
299
|
// ((Full Term (Abbr) )) — the trailing space before the closing marks keeps
|
|
292
300
|
// the stock PDF index intact, but the scanner accepts both spellings.
|
|
293
301
|
// ---------------------------------------------------------------------------
|
|
302
|
+
/**
|
|
303
|
+
* Blank conditional blocks whose condition does not hold, evaluated against
|
|
304
|
+
* real attribute state instead of an ignore list. An ifdef:: block survives
|
|
305
|
+
* when its attribute expression is satisfied and no listed attribute forces
|
|
306
|
+
* suppression; an ifndef:: block survives when its expression is NOT
|
|
307
|
+
* satisfied. ifeval:: content is kept, since expressions are not evaluated.
|
|
308
|
+
* Multi-attribute expressions follow Asciidoctor: '+' requires all, ','
|
|
309
|
+
* requires any. Line count is preserved. Suppression happens before include
|
|
310
|
+
* collection, so an include inside an unsatisfied block is never resolved.
|
|
311
|
+
*/
|
|
312
|
+
function suppressUnsetConditionals(text, isDefined, forceIgnore = []) {
|
|
313
|
+
const forced = new Set(forceIgnore.map((a) => a.toLowerCase()));
|
|
314
|
+
const satisfied = (expr) => {
|
|
315
|
+
if (expr.includes('+')) {
|
|
316
|
+
return expr.split('+').map((a) => a.trim()).filter(Boolean).every(isDefined);
|
|
317
|
+
}
|
|
318
|
+
return expr.split(',').map((a) => a.trim()).filter(Boolean).some(isDefined);
|
|
319
|
+
};
|
|
320
|
+
const forcedHit = (expr) => expr.split(/[+,]/).map((a) => a.trim().toLowerCase()).filter(Boolean).some((a) => forced.has(a));
|
|
321
|
+
const out = [];
|
|
322
|
+
const suppressStack = [];
|
|
323
|
+
for (const line of text.split('\n')) {
|
|
324
|
+
const trimmed = line.trimStart();
|
|
325
|
+
if (/^endif::/.test(trimmed)) {
|
|
326
|
+
if (suppressStack.length > 0)
|
|
327
|
+
suppressStack.pop();
|
|
328
|
+
out.push('');
|
|
329
|
+
continue;
|
|
330
|
+
}
|
|
331
|
+
const m = trimmed.match(/^(ifdef|ifndef|ifeval)::([^\[]*)\[([\s\S]*)\]\s*$/);
|
|
332
|
+
if (m) {
|
|
333
|
+
const directive = m[1];
|
|
334
|
+
const expr = m[2];
|
|
335
|
+
const body = m[3];
|
|
336
|
+
let suppress = false;
|
|
337
|
+
if (directive === 'ifdef')
|
|
338
|
+
suppress = !satisfied(expr) || forcedHit(expr);
|
|
339
|
+
if (directive === 'ifndef')
|
|
340
|
+
suppress = satisfied(expr);
|
|
341
|
+
if (body === '') {
|
|
342
|
+
suppressStack.push(suppress);
|
|
343
|
+
out.push('');
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
const active = suppressStack.every((s) => !s) && !suppress;
|
|
347
|
+
out.push(active ? body : '');
|
|
348
|
+
}
|
|
349
|
+
continue;
|
|
350
|
+
}
|
|
351
|
+
if (/^(ifdef|ifndef|ifeval)::/.test(trimmed)) {
|
|
352
|
+
out.push('');
|
|
353
|
+
continue;
|
|
354
|
+
}
|
|
355
|
+
out.push(suppressStack.some((s) => s) ? '' : line);
|
|
356
|
+
}
|
|
357
|
+
return out.join('\n');
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Attributes defined in a raw page header: `:name: value` entries define,
|
|
361
|
+
* `:!name:` and `:name!:` entries unset. Scanning stops at the first
|
|
362
|
+
* non-empty line that is neither a title nor an attribute entry.
|
|
363
|
+
*/
|
|
364
|
+
function pageHeaderAttributes(sourceText) {
|
|
365
|
+
const result = new Map();
|
|
366
|
+
for (const line of sourceText.split('\n')) {
|
|
367
|
+
const t = line.trim();
|
|
368
|
+
if (t === '' || t.startsWith('= ') || t.startsWith('//'))
|
|
369
|
+
continue;
|
|
370
|
+
const m = t.match(/^:(!?)([^:!\s]+)(!?):/);
|
|
371
|
+
if (!m)
|
|
372
|
+
break;
|
|
373
|
+
result.set(m[2], !(m[1] === '!' || m[3] === '!'));
|
|
374
|
+
}
|
|
375
|
+
return result;
|
|
376
|
+
}
|
|
294
377
|
/**
|
|
295
378
|
* Blank the content of listing and literal blocks (---- and .... fences).
|
|
296
379
|
* Asciidoctor does not process index terms in verbatim context, so the
|
|
@@ -514,6 +597,7 @@ function register(context) {
|
|
|
514
597
|
letter_style: 'combined',
|
|
515
598
|
attribution: 'Generated by https://gitlab.com/baiyibai-antora/baiyibai-extensions[autoterm].',
|
|
516
599
|
write_to_disk: false,
|
|
600
|
+
scan_ignore_conditionals: [],
|
|
517
601
|
ignore_shared_definition: [],
|
|
518
602
|
exclude_terminology: [],
|
|
519
603
|
suppress_events: false,
|
|
@@ -544,6 +628,7 @@ function register(context) {
|
|
|
544
628
|
letter_style: pick(raw, ['letter_style', 'letterStyle'], cfg.letter_style) === 'separate' ? 'separate' : 'combined',
|
|
545
629
|
attribution: String(pick(raw, ['attribution'], cfg.attribution)),
|
|
546
630
|
write_to_disk: toBool(pick(raw, ['write_to_disk', 'writeToDisk', 'writetodisk'], cfg.write_to_disk), cfg.write_to_disk),
|
|
631
|
+
scan_ignore_conditionals: toStringArray(pick(raw, ['scan_ignore_conditionals', 'scanIgnoreConditionals'], cfg.scan_ignore_conditionals)),
|
|
547
632
|
ignore_shared_definition: toStringArray(pick(raw, ['ignore_shared_definition', 'ignoreSharedDefinition'], cfg.ignore_shared_definition)),
|
|
548
633
|
exclude_terminology: toStringArray(pick(raw, ['exclude_terminology', 'excludeTerminology'], cfg.exclude_terminology)),
|
|
549
634
|
suppress_events: toBool(pick(raw, ['suppress_events', 'suppressEvents'], cfg.suppress_events), cfg.suppress_events),
|
|
@@ -617,6 +702,10 @@ function register(context) {
|
|
|
617
702
|
: cfg.letter_style;
|
|
618
703
|
const compWriteToDisk = toBool(compExt['write_to_disk'] ?? compExt['writeToDisk'], cfg.write_to_disk);
|
|
619
704
|
// Per-component lists extend the global lists, mirroring trademark-it.
|
|
705
|
+
const compIgnoreConditionals = [
|
|
706
|
+
...cfg.scan_ignore_conditionals,
|
|
707
|
+
...toStringArray(compExt['scan_ignore_conditionals'] ?? compExt['scanIgnoreConditionals']),
|
|
708
|
+
];
|
|
620
709
|
const compIgnoreShared = [
|
|
621
710
|
...cfg.ignore_shared_definition,
|
|
622
711
|
...toStringArray(compExt['ignore_shared_definition'] ?? compExt['ignoreSharedDefinition']),
|
|
@@ -636,35 +725,59 @@ function register(context) {
|
|
|
636
725
|
f.src.family === 'partial' &&
|
|
637
726
|
(f.src.relative === name || f.src.basename === name));
|
|
638
727
|
};
|
|
639
|
-
// Scan pages
|
|
728
|
+
// Scan pages only. A partial contributes exclusively through the
|
|
729
|
+
// includes that pull it in, so its terms carry the including page's
|
|
730
|
+
// conditional context and attribution; a partial whose only inclusion
|
|
731
|
+
// sits inside an unsatisfied guard, or that no page includes at all,
|
|
732
|
+
// contributes nothing, matching what Asciidoctor renders.
|
|
640
733
|
const excluded = new Set([cfg.terminology_partial, cfg.index_partial, compLocalFile]);
|
|
641
|
-
const scanFiles = files.filter((f) =>
|
|
734
|
+
const scanFiles = files.filter((f) => f.src.family === 'page' &&
|
|
642
735
|
!excluded.has(f.src.relative ?? '') &&
|
|
643
736
|
!excluded.has(f.src.basename ?? ''));
|
|
644
|
-
// Pre-populate the include-resolution visited set with
|
|
645
|
-
//
|
|
737
|
+
// Pre-populate the include-resolution visited set with the scanned
|
|
738
|
+
// pages and the excluded data partials, so resolved includes are
|
|
646
739
|
// neither double-counted nor pulled from the generated partials.
|
|
740
|
+
// Content partials stay unvisited so includes resolve them.
|
|
647
741
|
const includeVisited = new Set();
|
|
648
742
|
for (const f of files) {
|
|
649
743
|
if (f.src.family !== 'page' && f.src.family !== 'partial')
|
|
650
744
|
continue;
|
|
651
745
|
const key = `${f.src.component}@${f.src.version}:${f.src.module}:${f.src.family}$${f.src.relative}`;
|
|
652
|
-
if (scanFiles.includes(f))
|
|
746
|
+
if (f.src.family === 'page' && scanFiles.includes(f))
|
|
653
747
|
includeVisited.add(key);
|
|
654
748
|
if (excluded.has(f.src.relative ?? '') || excluded.has(f.src.basename ?? ''))
|
|
655
749
|
includeVisited.add(key);
|
|
656
750
|
}
|
|
751
|
+
// Effective attribute state for conditional evaluation: the
|
|
752
|
+
// component-version's compiled asciidoc attributes, overlaid per page
|
|
753
|
+
// with its own header entries. Conditionals are evaluated by default;
|
|
754
|
+
// scan_ignore_conditionals additionally forces suppression.
|
|
755
|
+
const componentAttrs = (contentCatalog.getComponents?.() ?? [])
|
|
756
|
+
.find((c) => c.name === component)?.versions
|
|
757
|
+
.find((v) => (v.version ?? v.name) === version)?.asciidoc?.attributes ?? {};
|
|
657
758
|
const allTerms = [];
|
|
658
759
|
const occurrenceMap = new Map();
|
|
659
760
|
for (const f of scanFiles) {
|
|
660
|
-
|
|
761
|
+
const raw = f.contents.toString('utf8');
|
|
762
|
+
const headerAttrs = f.src.family === 'page' ? pageHeaderAttributes(raw) : new Map();
|
|
763
|
+
const isDefined = (attr) => {
|
|
764
|
+
if (headerAttrs.has(attr))
|
|
765
|
+
return headerAttrs.get(attr) === true;
|
|
766
|
+
const v = componentAttrs[attr];
|
|
767
|
+
return v !== undefined && v !== null && v !== false;
|
|
768
|
+
};
|
|
769
|
+
const stripConditionals = (t) => suppressUnsetConditionals(t, isDefined, compIgnoreConditionals);
|
|
770
|
+
// Suppress unsatisfied conditional blocks BEFORE resolving includes,
|
|
771
|
+
// so an include guarded by an unset attribute is never resolved and
|
|
772
|
+
// its terms never leak into the scan.
|
|
773
|
+
let text = stripConditionals(raw);
|
|
661
774
|
// Resolve include:: directives on pages so terms living in
|
|
662
775
|
// transcluded content, such as a reference page carried by another
|
|
663
776
|
// component, are collected and attributed to the including page.
|
|
664
777
|
if (f.src.family === 'page') {
|
|
665
778
|
const extra = (0, index_1.collectIncludeText)(text, contentCatalog, component, version, f.src.module ?? 'ROOT', includeVisited);
|
|
666
779
|
if (extra)
|
|
667
|
-
text = `${text}\n${extra}`;
|
|
780
|
+
text = `${text}\n${stripConditionals(extra)}`;
|
|
668
781
|
}
|
|
669
782
|
const terms = scanIndexterms(text);
|
|
670
783
|
allTerms.push(...terms);
|
|
@@ -733,13 +846,13 @@ function register(context) {
|
|
|
733
846
|
: allTerms;
|
|
734
847
|
const entries = buildTerminologyEntries(terminologyTerms, definitions);
|
|
735
848
|
const content = generateTerminologyPartial(entries, cols, style, cfg.attribution);
|
|
736
|
-
injectPartial(contentCatalog, files, component, version, cfg.terminology_partial, content, compWriteToDisk, logger);
|
|
849
|
+
injectPartial(contentCatalog, files, component, version, terminologyHost.src.module ?? 'ROOT', cfg.terminology_partial, content, compWriteToDisk, logger);
|
|
737
850
|
}
|
|
738
851
|
if (indexHost) {
|
|
739
852
|
const hostText = indexHost.contents.toString('utf8');
|
|
740
853
|
const cols = pageAttribute(hostText, 'autoterm-index-cols') ?? compIndexCols;
|
|
741
854
|
const content = generateIndexPartial([...occurrenceMap.values()], cols);
|
|
742
|
-
injectPartial(contentCatalog, files, component, version, cfg.index_partial, content, compWriteToDisk, logger);
|
|
855
|
+
injectPartial(contentCatalog, files, component, version, indexHost.src.module ?? 'ROOT', cfg.index_partial, content, compWriteToDisk, logger);
|
|
743
856
|
}
|
|
744
857
|
}
|
|
745
858
|
}
|
|
@@ -750,22 +863,59 @@ function register(context) {
|
|
|
750
863
|
// Helpers
|
|
751
864
|
// ---------------------------------------------------------------------------
|
|
752
865
|
/**
|
|
753
|
-
*
|
|
754
|
-
*
|
|
755
|
-
*
|
|
866
|
+
* Parse a definitions reference of the form
|
|
867
|
+
* [version@][component:]module:partial$relative, or a bare relative path.
|
|
868
|
+
* Absent parts return null and match any value.
|
|
869
|
+
*/
|
|
870
|
+
function parseDefinitionsRef(ref) {
|
|
871
|
+
let rest = ref.trim();
|
|
872
|
+
let version = null;
|
|
873
|
+
const at = rest.indexOf('@');
|
|
874
|
+
if (at >= 0) {
|
|
875
|
+
version = rest.slice(0, at);
|
|
876
|
+
rest = rest.slice(at + 1);
|
|
877
|
+
}
|
|
878
|
+
const dollar = rest.indexOf('partial$');
|
|
879
|
+
if (dollar < 0)
|
|
880
|
+
return { version, component: null, module: null, relative: rest };
|
|
881
|
+
const relative = rest.slice(dollar + 'partial$'.length);
|
|
882
|
+
const prefix = rest.slice(0, dollar).replace(/:$/, '');
|
|
883
|
+
const parts = prefix ? prefix.split(':') : [];
|
|
884
|
+
if (parts.length >= 2) {
|
|
885
|
+
return { version, component: parts[0] || null, module: parts[1] || null, relative };
|
|
886
|
+
}
|
|
887
|
+
if (parts.length === 1) {
|
|
888
|
+
return { version, component: null, module: parts[0] || null, relative };
|
|
889
|
+
}
|
|
890
|
+
return { version, component: null, module: null, relative };
|
|
891
|
+
}
|
|
892
|
+
/**
|
|
893
|
+
* Locate the shared definitions file: structured resource-ID match with
|
|
894
|
+
* optional component, module, and version qualification, then filesystem
|
|
895
|
+
* path, then basename fallback. A component-qualified reference never falls
|
|
896
|
+
* back across components, so a same-named file in another component cannot
|
|
897
|
+
* shadow the shared table.
|
|
756
898
|
*/
|
|
757
899
|
function resolveDefinitionsFile(ref, contentCatalog, playbook, logger) {
|
|
758
|
-
const
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
900
|
+
const parsed = parseDefinitionsRef(ref);
|
|
901
|
+
const candidates = contentCatalog.getFiles().filter((f) => f.src.family === 'partial' &&
|
|
902
|
+
f.src.relative === parsed.relative &&
|
|
903
|
+
(parsed.component === null || f.src.component === parsed.component) &&
|
|
904
|
+
(parsed.module === null || f.src.module === parsed.module) &&
|
|
905
|
+
(parsed.version === null || f.src.version === parsed.version));
|
|
906
|
+
if (candidates.length > 0) {
|
|
907
|
+
if (candidates.length > 1) {
|
|
908
|
+
const list = candidates.map((f) => `${f.src.component}@${f.src.version}:${f.src.module}:partial$${f.src.relative}`).join(', ');
|
|
909
|
+
logger.warn(`autoterm: terminology_file "${ref}" matches ${candidates.length} partials (${list}); using the first. Qualify the reference with the component name to disambiguate.`);
|
|
910
|
+
}
|
|
911
|
+
const catalogFile = candidates[0];
|
|
912
|
+
logger.debug(`autoterm: definitions resolved from catalog (${catalogFile.src.component}:${catalogFile.src.path})`);
|
|
767
913
|
return catalogFile.contents.toString('utf8');
|
|
768
914
|
}
|
|
915
|
+
if (parsed.component !== null) {
|
|
916
|
+
logger.error(`autoterm: terminology_file "${ref}" not found in component ${parsed.component}; no fallback is attempted for a component-qualified reference`);
|
|
917
|
+
return null;
|
|
918
|
+
}
|
|
769
919
|
const fsPath = ref.startsWith('/') ? ref : `${playbook.dir}/${ref}`;
|
|
770
920
|
if (fs.existsSync(fsPath)) {
|
|
771
921
|
logger.debug(`autoterm: definitions resolved from filesystem (${fsPath})`);
|
|
@@ -786,13 +936,16 @@ function resolveDefinitionsFile(ref, contentCatalog, playbook, logger) {
|
|
|
786
936
|
* too; components loaded from a remote source skip the disk write,
|
|
787
937
|
* mirroring trademark-it.
|
|
788
938
|
*/
|
|
789
|
-
function injectPartial(contentCatalog, componentFiles, component, version, relative, content, writeToDisk, logger) {
|
|
939
|
+
function injectPartial(contentCatalog, componentFiles, component, version, module, relative, content, writeToDisk, logger) {
|
|
790
940
|
const contents = Buffer.from(content, 'utf8');
|
|
791
|
-
|
|
792
|
-
|
|
941
|
+
// The host page's include resolves partial$ in its own module, so the
|
|
942
|
+
// generated partial must live in the host page's module, never a
|
|
943
|
+
// hardcoded ROOT.
|
|
944
|
+
const existing = componentFiles.find((f) => f.src.family === 'partial' && f.src.module === module &&
|
|
945
|
+
(f.src.relative === relative || f.src.path === `modules/${module}/partials/${relative}`));
|
|
793
946
|
if (existing) {
|
|
794
947
|
existing.contents = contents;
|
|
795
|
-
logger.debug(`autoterm: updated partial$${relative} in ${component}@${version}`);
|
|
948
|
+
logger.debug(`autoterm: updated ${module}:partial$${relative} in ${component}@${version}`);
|
|
796
949
|
}
|
|
797
950
|
else {
|
|
798
951
|
const basename = relative.split('/').pop() ?? relative;
|
|
@@ -802,10 +955,10 @@ function injectPartial(contentCatalog, componentFiles, component, version, relat
|
|
|
802
955
|
src: {
|
|
803
956
|
component,
|
|
804
957
|
version,
|
|
805
|
-
module
|
|
958
|
+
module,
|
|
806
959
|
family: 'partial',
|
|
807
960
|
relative,
|
|
808
|
-
path: `modules/
|
|
961
|
+
path: `modules/${module}/partials/${relative}`,
|
|
809
962
|
basename,
|
|
810
963
|
stem: basename.replace(/\.[^.]+$/, ''),
|
|
811
964
|
extname: basename.includes('.') ? `.${basename.split('.').pop()}` : '',
|
|
@@ -813,10 +966,10 @@ function injectPartial(contentCatalog, componentFiles, component, version, relat
|
|
|
813
966
|
origin: undefined,
|
|
814
967
|
},
|
|
815
968
|
});
|
|
816
|
-
logger.debug(`autoterm: injected partial$${relative} into ${component}@${version}`);
|
|
969
|
+
logger.debug(`autoterm: injected ${module}:partial$${relative} into ${component}@${version}`);
|
|
817
970
|
}
|
|
818
971
|
catch {
|
|
819
|
-
logger.warn(`autoterm: could not inject partial$${relative} into ${component}@${version}`);
|
|
972
|
+
logger.warn(`autoterm: could not inject ${module}:partial$${relative} into ${component}@${version}`);
|
|
820
973
|
}
|
|
821
974
|
}
|
|
822
975
|
if (!writeToDisk)
|
|
@@ -825,7 +978,7 @@ function injectPartial(contentCatalog, componentFiles, component, version, relat
|
|
|
825
978
|
const worktree = originFile?.src.origin?.worktree;
|
|
826
979
|
const startPath = originFile?.src.origin?.startPath ?? '';
|
|
827
980
|
if (worktree) {
|
|
828
|
-
const diskPath = path.join(worktree, startPath, 'modules',
|
|
981
|
+
const diskPath = path.join(worktree, startPath, 'modules', module, 'partials', relative);
|
|
829
982
|
try {
|
|
830
983
|
fs.mkdirSync(path.dirname(diskPath), { recursive: true });
|
|
831
984
|
fs.writeFileSync(diskPath, content, 'utf8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/autoterm/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyKH,kCAMC;AAOD,8DAYC;AAiBD,sDA8CC;AAOD,4CAWC;AAsBD,8DAqDC;AAOD,oDAUC;AAQD,kDAkBC;AAED,wCAiDC;AAyBD,0DAuBC;AAKD,gEA6DC;AAUD,oDAuCC;AAOD,8BAGC;AAGD,sCAIC;AAWD,4BAsTC;AAWD,kDAsBC;AA8DD,sCAiEC;AA/kCD,iDAA8C;AAC9C,iDAA4E;AAC5E,4CAAgC;AAChC,gDAAkC;AAwHlC,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AAE9E,IAAI,SAAS,GAAG,IAAI,CAAC;AAErB,SAAS,QAAQ,CAAC,OAAe;IAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,IAAA,mBAAQ,GAAE,8CAA8C,OAAO,SAAS,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,UAAU,CAAC,UAAyB;IAC3C,OAAO;QACL,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,IAAI,UAAU,EAAE,KAAK;gBAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;gBAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC,CAAC,CAAC;QAChH,IAAI,EAAG,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,IAAI,UAAU,EAAE,IAAI;gBAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAAG,CAAC,CAAC,CAAC;QAChH,IAAI,EAAG,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,UAAU,EAAE,IAAI;YAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC;QAC5F,KAAK,EAAE,CAAC,CAAS,EAAE,EAAE,GAAG,IAAI,UAAU,EAAE,KAAK;YAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;YAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E,SAAS,MAAM,CAAC,CAAU,EAAE,GAAY;IACtC,IAAI,CAAC,KAAK,IAAI;QAAG,OAAO,IAAI,CAAC;IAC7B,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,EAAG,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,aAAa,CAAC,CAAU;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE;QAAE,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChG,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,SAAgB,WAAW,CAAC,IAAc;IACxC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,IAAwB,EAAE,EAAE;QAClC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QACjE,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACtG,CAAC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CACvC,MAAmC,EACnC,IAAc;IAEd,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC;QAChC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAAE,SAAS;QACvF,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,IAAI,CAAI,GAAwC,EAAE,IAAc,EAAE,GAAM;IAC/E,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,CAAC,CAAM,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,EAAE;AACF,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,8EAA8E;AAE9E,SAAgB,qBAAqB,CAAC,YAAoB;IACxD,MAAM,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEtD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAEhC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC5E,IAAI,SAAS;QAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;IAEzD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,MAAM;YAAE,SAAS;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,+DAA+D;YAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YAC5D,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAoB,EAAE,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,uBAAuB;IACvB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;YACxB,QAAQ;YACR,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;YACnC,UAAU,EAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAC9B,MAAmC,EACnC,KAAkC;IAElC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAChC,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,oEAAoE;AACpE,4EAA4E;AAC5E,sEAAsE;AACtE,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,SAAgB,yBAAyB,CACvC,IAAY,EACZ,SAAoC,EACpC,cAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEhE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE;QAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE,CAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEnG,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,aAAa,GAAc,EAAE,CAAC;IACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;gBAAE,aAAa,CAAC,GAAG,EAAE,CAAC;YAClD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAClB,IAAI,QAAQ,GAAG,KAAK,CAAC;YACrB,IAAI,SAAS,KAAK,OAAO;gBAAG,QAAQ,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,SAAS,KAAK,QAAQ;gBAAE,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;YAEvD,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7B,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;gBAC3D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,0BAA0B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,UAAkB;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,SAAS;QACnE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC;YAAE,MAAM;QACd,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,OAAO,KAAK,KAAK;gBAAE,KAAK,GAAG,IAAI,CAAC;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxD,KAAK,GAAG,OAAO,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACb,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED,SAAgB,cAAc,CAAC,UAAkB,EAAE,qBAA+B,EAAE;IAClF,oEAAoE;IACpE,sEAAsE;IACtE,0CAA0C;IAC1C,MAAM,IAAI,GAAG,mBAAmB,CAAC,IAAA,uBAAe,EAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;SAC9E,OAAO,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAgB,EAAE,CAAC;IAE9B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QACxD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC,CAAC;IAEF,4EAA4E;IAC5E,MAAM,WAAW,GAAG,yBAAyB,CAAC;IAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,KAAa,EAAE,EAAE;QAC5D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,qEAAqE;IACrE,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,SAAS,GAAG,qBAAqB,CAAC;IACxC,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,KAAK,GAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACjD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACjD,IAAI,KAAK,GAAG,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC;YAC5D,KAAK,IAAI,GAAG,CAAC;YACb,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,2BAA2B,CAAC;IAC5C,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAaD,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CACrC,KAAkB,EAClB,WAAwC;IAExC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,KAAK;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAuB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;QAC7D,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU;YAAE,SAAS;QAErC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC;QAC/B,MAAM,IAAI,GAAI,CAAC,CAAC,IAAI;YAClB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrD,CAAC,CAAC,UAAU,CAAC;QAEf,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9G,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wEAAwE;AACxE,+DAA+D;AAC/D,2EAA2E;AAC3E,SAAgB,0BAA0B,CACxC,OAA2B,EAC3B,IAAI,GAAG,OAAO,EACd,cAAuC,UAAU,EACjD,WAAW,GAAG,EAAE;IAEhB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,6CAA6C,CAAC,CAAC;IAExE,wEAAwE;IACxE,+CAA+C;IAC/C,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CACR,gCAAgC,IAAI,yBAAyB,EAC7D,MAAM,CACP,CAAC;IAEF,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,aAAa,CAAC;QAEjD,yEAAyE;QACzE,iEAAiE;QACjE,IAAI,SAAS,IAAI,aAAa,KAAK,EAAE,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAE7B,IAAI,SAAS,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAED,IAAI,SAAS,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAUD,SAAgB,oBAAoB,CAAC,WAA8B,EAAE,IAAI,GAAG,OAAO;IACjF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC5C,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CACtF,CAAC;IAEF,MAAM,KAAK,GAAa;QACtB,6CAA6C;QAC7C,4BAA4B;QAC5B,0BAA0B,IAAI,yBAAyB;QACvD,MAAM;KACP,CAAC;IAEF,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK;aACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;aACxF,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,IAAI,GAAG,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACjC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC3B,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,uDAAuD;AACvD,SAAgB,SAAS,CAAC,UAAkB;IAC1C,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9B,CAAC;AAED,2DAA2D;AAC3D,SAAgB,aAAa,CAAC,UAAkB,EAAE,IAAY;IAC5D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,YAAY,EAAE,GAAG,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,CAAC;AAED,SAAS,eAAe,CAAC,UAAkB,EAAE,WAAmB;IAC9D,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,8BAA8B,WAAW,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClH,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,SAAgB,QAAQ,CAAiB,OAAkB;IACzD,MAAM,GAAG,GAAa,OAAO,IAAI,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEjF,IAAI,GAAG,GAAmB;QACxB,OAAO,EAAc,IAAI;QACzB,KAAK,EAAgB,IAAI;QACzB,gBAAgB,EAAK,qCAAqC;QAC1D,UAAU,EAAW,wBAAwB;QAC7C,mBAAmB,EAAE,4BAA4B;QACjD,aAAa,EAAQ,sBAAsB;QAC3C,gBAAgB,EAAK,OAAO;QAC5B,UAAU,EAAW,OAAO;QAC5B,YAAY,EAAS,UAAU;QAC/B,WAAW,EAAU,gFAAgF;QACrG,aAAa,EAAQ,KAAK;QAC1B,wBAAwB,EAAE,EAAE;QAC5B,wBAAwB,EAAE,EAAE;QAC5B,mBAAmB,EAAE,EAAE;QACvB,eAAe,EAAM,KAAK;KAC3B,CAAC;IAEF,wEAAwE;IACxE,wEAAwE;IACxE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmC,CAAC;IAEhE,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACrD,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC;YACrC,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,KAAgC,CAAC,CAAC;YACrF,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC/C,MAAM,QAAQ,GACZ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC/C,IAAI,EAAE,CAAC;QAEV,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QAEtF,GAAG,GAAG;YACJ,OAAO,EAAc,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAgB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;YACvE,gBAAgB,EAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACrG,UAAU,EAAW,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;YAC9G,aAAa,EAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;YAC5F,gBAAgB,EAAK,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACrG,UAAU,EAAW,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACnF,YAAY,EAAS,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;YAC1H,WAAW,EAAU,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;YACxE,aAAa,EAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC;YAC7H,wBAAwB,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACxI,wBAAwB,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,0BAA0B,EAAE,wBAAwB,CAAC,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC;YACxI,mBAAmB,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACrH,eAAe,EAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,eAAe,CAAC;SACxH,CAAC;QAEF,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;QACtB,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,EAAE;QACnE,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAC5C,OAAO;QACT,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAE/B,0EAA0E;QAC1E,oDAAoD;QACpD,0EAA0E;QAC1E,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,gBAAgB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClG,MAAM,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAA0B,CAAC;QAC7G,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,CAAC,gBAAgB,iDAAiD,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,KAAK,CAAC,oBAAoB,iBAAiB,CAAC,IAAI,qBAAqB,CAAC,CAAC;QAChF,CAAC;QAED,0EAA0E;QAC1E,0EAA0E;QAC1E,0EAA0E;QAC1E,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO;gBAAE,SAAS;YACjD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YAC7E,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5B,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC;QAED,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC;YACtD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,CAClE,CAAC;gBACF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;gBAE3D,IAAI,eAAwC,CAAC;gBAC7C,IAAI,SAAkC,CAAC;gBACvC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACzC,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,mBAAmB,CAAC;wBAAE,eAAe,GAAG,CAAC,CAAC;oBAC5F,IAAI,CAAC,SAAS,IAAI,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,aAAa,CAAC;wBAAE,SAAS,GAAG,CAAC,CAAC;gBAC5E,CAAC;gBACD,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnC,MAAM,CAAC,KAAK,CAAC,aAAa,SAAS,IAAI,OAAO,mDAAmD,CAAC,CAAC;oBACnG,SAAS;gBACX,CAAC;gBAED,sEAAsE;gBACtE,wCAAwC;gBACxC,MAAM,OAAO,GAA4B,YAAY,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC3F,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;oBACtC,MAAM,CAAC,KAAK,CAAC,aAAa,SAAS,IAAI,OAAO,6BAA6B,CAAC,CAAC;oBAC7E,SAAS;gBACX,CAAC;gBACD,MAAM,aAAa,GAAM,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAW;oBAClG,CAAC,CAAC,OAAO,OAAO,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAW;wBAC3E,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;gBACnB,MAAM,YAAY,GAAO,OAAO,OAAO,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAW,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACxI,MAAM,aAAa,GAAM,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAW,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;gBACtH,MAAM,eAAe,GAAI,OAAO,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAmB;oBACnF,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAmB;wBAC9D,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;gBACrB,MAAM,eAAe,GAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;gBACvG,uEAAuE;gBACvE,MAAM,sBAAsB,GAAG;oBAC7B,GAAG,GAAG,CAAC,wBAAwB;oBAC/B,GAAG,aAAa,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;iBAC3F,CAAC;gBACF,MAAM,gBAAgB,GAAG;oBACvB,GAAG,GAAG,CAAC,wBAAwB;oBAC/B,GAAG,aAAa,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,OAAO,CAAC,wBAAwB,CAAC,CAAC;iBAC3F,CAAC;gBACF,MAAM,sBAAsB,GAAG;oBAC7B,GAAG,GAAG,CAAC,mBAAmB;oBAC1B,GAAG,aAAa,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;iBAClF,CAAC;gBAEF,oEAAoE;gBACpE,2CAA2C;gBAC3C,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE;oBAClD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;oBAC1D,MAAM,IAAI,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAW;wBACxF,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa;4BACpC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;oBACnB,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,CACnC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,GAAG;wBACtD,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;wBAC1B,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CACvD,CAAC;gBACJ,CAAC,CAAC;gBAEF,iEAAiE;gBACjE,oEAAoE;gBACpE,sEAAsE;gBACtE,qEAAqE;gBACrE,0DAA0D;gBAC1D,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;gBACtF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;oBACvB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;oBACnC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CACtC,CAAC;gBAEF,mEAAmE;gBACnE,iEAAiE;gBACjE,iEAAiE;gBACjE,4DAA4D;gBAC5D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;gBACzC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;wBAAE,SAAS;oBACpE,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;oBACpG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC9E,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;wBAAE,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxG,CAAC;gBAED,4DAA4D;gBAC5D,sEAAsE;gBACtE,sEAAsE;gBACtE,4DAA4D;gBAC5D,MAAM,cAAc,GAClB,CAAC,cAAc,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC;qBACrC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,QAAQ;qBAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,IAAI,EAAE,CAAC;gBAEhF,MAAM,QAAQ,GAAgB,EAAE,CAAC;gBACjC,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2B,CAAC;gBACzD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACxC,MAAM,WAAW,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,EAAmB,CAAC;oBACrG,MAAM,SAAS,GAAG,CAAC,IAAY,EAAW,EAAE;wBAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC;4BAAE,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;wBACjE,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;wBAC/B,OAAO,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC;oBACtD,CAAC,CAAC;oBACF,MAAM,iBAAiB,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;oBAEzG,qEAAqE;oBACrE,oEAAoE;oBACpE,sCAAsC;oBACtC,IAAI,IAAI,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;oBAElC,2DAA2D;oBAC3D,mEAAmE;oBACnE,iEAAiE;oBACjE,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;wBAC5B,MAAM,KAAK,GAAG,IAAA,0BAAkB,EAC9B,IAAI,EACJ,cAAqE,EACrE,SAAS,EACT,OAAO,EACP,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,EACtB,cAAc,CACf,CAAC;wBACF,IAAI,KAAK;4BAAE,IAAI,GAAG,GAAG,IAAI,KAAK,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC3D,CAAC;oBAED,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;oBACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;oBAExB,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;wBAAE,SAAS;oBACtC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;oBACxD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;wBACtC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI;4BACxC,OAAO;4BACP,OAAO;4BACP,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;4BACxC,KAAK,EAAE,EAAE;yBACV,CAAC;wBACF,MAAM,GAAG,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;wBACtF,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACnF,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;wBACtB,CAAC;wBACD,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;oBACzB,QAAQ,CAAC,GAAG,SAAS,IAAI,OAAO,MAAM,aAAa,CAAC,IAAI,yBAAyB,CAAC,CAAC;gBACrF,CAAC;gBAED,qEAAqE;gBACrE,iEAAiE;gBACjE,gEAAgE;gBAChE,sEAAsE;gBACtE,mCAAmC;gBACnC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC/C,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;oBACjC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC5B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACnC,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC;wBAAE,SAAS;oBAClC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9B,IAAI,IAAI,KAAK,SAAS;wBAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC3E,CAAC;gBAED,IAAI,WAAW,GAAG,yBAAyB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;gBACjF,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa,EAAE,EAAE;oBAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACvC,IAAI,CAAC,KAAK;wBAAE,OAAO;oBACnB,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;oBACrE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;oBACpE,WAAW,GAAG,MAAM,CAAC;oBACrB,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACpF,MAAM,CAAC,IAAI,CAAC,aAAa,SAAS,IAAI,OAAO,aAAa,KAAK,CAAC,IAAI,qBAAqB,KAAK,IAAI,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;gBAC7H,CAAC,CAAC;gBACF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnD,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,EAAE,eAAe,IAAI,IAAI,CAAC,CAAC;gBACrE,CAAC;gBACD,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEtC,uBAAuB;gBACvB,IAAI,eAAe,EAAE,CAAC;oBACpB,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBAC3D,MAAM,IAAI,GAAI,aAAa,CAAC,QAAQ,EAAE,2BAA2B,CAAC,IAAI,YAAY,CAAC;oBACnF,MAAM,KAAK,GAAG,aAAa,CAAC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU;wBACxF,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,uBAAuB,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU;4BAC9E,CAAC,CAAC,eAAe,CAAC;oBACpB,MAAM,uBAAuB,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;oBACpE,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,MAAM,GAAG,CAAC;wBACxD,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;wBACrD,CAAC,CAAC,QAAQ,CAAC;oBACb,MAAM,OAAO,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;oBACvE,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;oBAClF,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,GAAG,CAAC,mBAAmB,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;gBAC5J,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACrD,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,qBAAqB,CAAC,IAAI,aAAa,CAAC;oBAC7E,MAAM,OAAO,GAAG,oBAAoB,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;oBACxE,aAAa,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;gBAChJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAG7C,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACtB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtF,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC1E,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,SAAS,sBAAsB,CAC7B,GAAW,EACX,cAA8B,EAC9B,QAAkB,EAClB,MAAc;IAEd,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;QAClC,CAAC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS,CAAC;QACnE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;QAC1D,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAC9D,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,YAAY,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/H,MAAM,CAAC,IAAI,CAAC,+BAA+B,GAAG,aAAa,UAAU,CAAC,MAAM,cAAc,IAAI,oFAAoF,CAAC,CAAC;QACtL,CAAC;QACD,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,gDAAgD,WAAW,CAAC,GAAG,CAAC,SAAS,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QACnH,OAAO,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,4BAA4B,MAAM,CAAC,SAAS,gEAAgE,CAAC,CAAC;QAC7J,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC;IACpE,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,mDAAmD,MAAM,GAAG,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;IACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,CAC7C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,CACjE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,wDAAwD,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;QAC3F,OAAO,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,cAA8B,EAC9B,cAA6B,EAC7B,SAAiB,EACjB,OAAe,EACf,MAAc,EACd,QAAgB,EAChB,OAAe,EACf,WAAoB,EACpB,MAAc;IAEd,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC9C,sEAAsE;IACtE,iEAAiE;IACjE,kBAAkB;IAClB,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM;QAC1D,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,MAAM,aAAa,QAAQ,EAAE,CAAC,CAC3F,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,qBAAqB,MAAM,YAAY,QAAQ,OAAO,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;IAC7F,CAAC;SAAM,CAAC;QACN,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC;QACvD,IAAI,CAAC;YACH,cAAc,CAAC,OAAO,CAAC;gBACrB,QAAQ;gBACR,GAAG,EAAE;oBACH,SAAS;oBACT,OAAO;oBACP,MAAM;oBACN,MAAM,EAAK,SAAS;oBACpB,QAAQ;oBACR,IAAI,EAAO,WAAW,MAAM,aAAa,QAAQ,EAAE;oBACnD,QAAQ;oBACR,IAAI,EAAO,QAAQ,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;oBAC3C,OAAO,EAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE;oBACxE,SAAS,EAAE,eAAe;oBAC1B,MAAM,EAAK,SAAS;iBACrB;aACF,CAAC,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,sBAAsB,MAAM,YAAY,QAAQ,SAAS,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;QAChG,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,8BAA8B,MAAM,YAAY,QAAQ,SAAS,SAAS,IAAI,OAAO,EAAE,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW;QAAE,OAAO;IAEzB,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAI,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IACnD,MAAM,SAAS,GAAG,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACzF,IAAI,CAAC;YACH,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC5C,MAAM,CAAC,KAAK,CAAC,oCAAoC,QAAQ,GAAG,CAAC,CAAC;QAChE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,8CAA8C,QAAQ,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,KAAK,CAAC,uCAAuC,SAAS,IAAI,OAAO,sBAAsB,CAAC,CAAC;IAClG,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -48,7 +48,7 @@ class AutotermLegacyPdfConverter < (Asciidoctor::Converter.for 'pdf')
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
line_metrics = calc_line_metrics @base_line_height
|
|
51
|
-
|
|
51
|
+
letter_height = height_of_typeset_text 'A'
|
|
52
52
|
term_width = bounds.width * 0.15
|
|
53
53
|
term_column_width = term_width - 8
|
|
54
54
|
|
|
@@ -56,13 +56,24 @@ class AutotermLegacyPdfConverter < (Asciidoctor::Converter.for 'pdf')
|
|
|
56
56
|
entries.each do |label, body|
|
|
57
57
|
letter = label[0].to_s.upcase
|
|
58
58
|
|
|
59
|
+
# height_of measures on its own default line-height basis while the
|
|
60
|
+
# typeset below uses line_metrics, and the two disagree by a small fixed
|
|
61
|
+
# amount per line. Padding the page-break comparisons by one line's
|
|
62
|
+
# leading keeps them conservative on the real rendering basis.
|
|
63
|
+
label_height = height_of label, width: term_column_width
|
|
64
|
+
body_height = body.empty? ? 0 : (height_of body, width: bounds.width - term_width)
|
|
65
|
+
entry_height = [label_height, body_height].max
|
|
66
|
+
|
|
59
67
|
if letter != current_letter
|
|
60
68
|
unless current_letter.nil?
|
|
61
69
|
@theme.prose_margin_bottom > cursor ? bounds.move_past_bottom : (move_down @theme.prose_margin_bottom)
|
|
62
70
|
end
|
|
63
71
|
current_letter = letter
|
|
64
72
|
|
|
65
|
-
|
|
73
|
+
# Reserve room for the letter and its actual first entry, so a lone
|
|
74
|
+
# letter never lands at a page bottom with its entry pushed overleaf.
|
|
75
|
+
space_needed_for_letter_and_first_entry = @theme.description_list_term_spacing + letter_height + entry_height + line_metrics.padding_top + line_metrics.padding_bottom
|
|
76
|
+
bounds.move_past_bottom if space_needed_for_letter_and_first_entry > cursor
|
|
66
77
|
|
|
67
78
|
ink_prose letter,
|
|
68
79
|
align: :left,
|
|
@@ -71,15 +82,6 @@ class AutotermLegacyPdfConverter < (Asciidoctor::Converter.for 'pdf')
|
|
|
71
82
|
style: :bold
|
|
72
83
|
end
|
|
73
84
|
|
|
74
|
-
label_height = height_of label, width: term_column_width
|
|
75
|
-
body_height = body.empty? ? 0 : (height_of body, width: bounds.width - term_width)
|
|
76
|
-
entry_height = [label_height, body_height].max
|
|
77
|
-
# height_of measures on its own default line-height basis while the
|
|
78
|
-
# typeset below uses line_metrics, and the two disagree by a small fixed
|
|
79
|
-
# amount per line. Over a long table the disagreement erodes the
|
|
80
|
-
# pre-check's margin until Prawn silently spills a label to the next
|
|
81
|
-
# page. Padding the comparison by one line's leading keeps the check
|
|
82
|
-
# conservative on the real rendering basis.
|
|
83
85
|
bounds.move_past_bottom if (entry_height + line_metrics.padding_top + line_metrics.padding_bottom) > cursor
|
|
84
86
|
|
|
85
87
|
start_cursor = cursor
|