@podlite/schema 0.0.66 → 0.0.68

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.podlite +44 -0
  2. package/esm/ast-helpers.d.ts +25 -1
  3. package/esm/ast-helpers.js +101 -2
  4. package/esm/ast-helpers.js.map +1 -1
  5. package/esm/attribute-names.d.ts +5 -0
  6. package/esm/attribute-names.js +36 -0
  7. package/esm/attribute-names.js.map +1 -0
  8. package/esm/block-names.d.ts +1 -0
  9. package/esm/block-names.js +6 -1
  10. package/esm/block-names.js.map +1 -1
  11. package/esm/exportAny.js +2 -2
  12. package/esm/exportAny.js.map +1 -1
  13. package/esm/exportHtml.js +60 -22
  14. package/esm/exportHtml.js.map +1 -1
  15. package/esm/exportMarkdown.js +62 -52
  16. package/esm/exportMarkdown.js.map +1 -1
  17. package/esm/folded-sections.d.ts +1 -0
  18. package/esm/folded-sections.js +80 -0
  19. package/esm/folded-sections.js.map +1 -0
  20. package/esm/grammarfc.js +6099 -15834
  21. package/esm/grammarfc.js.map +1 -1
  22. package/esm/guard.d.ts +5 -0
  23. package/esm/guard.js +39 -0
  24. package/esm/guard.js.map +1 -0
  25. package/esm/helpers/corePlugins.js +9 -3
  26. package/esm/helpers/corePlugins.js.map +1 -1
  27. package/esm/helpers/html-attr.d.ts +1 -0
  28. package/esm/helpers/html-attr.js +6 -0
  29. package/esm/helpers/html-attr.js.map +1 -0
  30. package/esm/index.d.ts +6 -2
  31. package/esm/index.js +6 -2
  32. package/esm/index.js.map +1 -1
  33. package/esm/pluggableParser.d.ts +1 -1
  34. package/esm/pluggableParser.js +7 -1
  35. package/esm/pluggableParser.js.map +1 -1
  36. package/esm/plugin-data-table.js +2 -1
  37. package/esm/plugin-data-table.js.map +1 -1
  38. package/esm/plugin-tables.js +5 -2
  39. package/esm/plugin-tables.js.map +1 -1
  40. package/esm/selectors.d.ts +1 -0
  41. package/esm/selectors.js +42 -19
  42. package/esm/selectors.js.map +1 -1
  43. package/esm/types.d.ts +30 -16
  44. package/esm/version.d.ts +1 -1
  45. package/esm/version.js +1 -1
  46. package/lib/ast-helpers.d.ts +25 -1
  47. package/lib/ast-helpers.js +106 -3
  48. package/lib/attribute-names.d.ts +5 -0
  49. package/lib/attribute-names.js +41 -0
  50. package/lib/block-names.d.ts +1 -0
  51. package/lib/block-names.js +8 -2
  52. package/lib/exportAny.js +1 -1
  53. package/lib/exportHtml.js +62 -24
  54. package/lib/exportMarkdown.js +61 -51
  55. package/lib/folded-sections.d.ts +1 -0
  56. package/lib/folded-sections.js +84 -0
  57. package/lib/grammarfc.js +6099 -15834
  58. package/lib/guard.d.ts +5 -0
  59. package/lib/guard.js +47 -0
  60. package/lib/helpers/corePlugins.js +9 -3
  61. package/lib/helpers/html-attr.d.ts +1 -0
  62. package/lib/helpers/html-attr.js +10 -0
  63. package/lib/index.d.ts +6 -2
  64. package/lib/index.js +11 -1
  65. package/lib/pluggableParser.d.ts +1 -1
  66. package/lib/pluggableParser.js +8 -1
  67. package/lib/plugin-data-table.js +2 -1
  68. package/lib/plugin-tables.js +5 -2
  69. package/lib/selectors.d.ts +1 -0
  70. package/lib/selectors.js +44 -20
  71. package/lib/types.d.ts +30 -16
  72. package/lib/version.d.ts +1 -1
  73. package/lib/version.js +1 -1
  74. package/package.json +1 -1
  75. package/schema/AstTree.json +626 -405
  76. package/schema/PodliteDocument.json +626 -405
package/CHANGELOG.podlite CHANGED
@@ -2,6 +2,50 @@
2
2
 
3
3
  =head1 Upcoming
4
4
 
5
+ =head1 0.0.68
6
+
7
+ =item a link is bound to its target on the tree, before the address is shaped for a format. A target that is not there no longer produces an address that merely looks like one: the link renders without an address, which is the form html gives a link that leads nowhere. Across the knowledge base this cut links pointing at nothing from 63 to 13
8
+
9
+ =item an identifier written with `:id` is shaped for the output the same way the address is, wherever the anchor is written. `:id<v1.2>` used to render the anchor `v1.2` against the address `#v12`, so a link to it never arrived
10
+
11
+ =item an image carries an alternative text only when the author wrote one. Every image exported to html used to carry the word `undefined` where the text goes; an alt that is absent is now left out, which html reads as «this image is part of the content», and one written as empty stays empty, which html reads as «decorative»
12
+
13
+ =item the address and the alternative text of an image are escaped in both exports, as a link already was. A quotation mark used to close the attribute, and a bracket used to end the address in markdown
14
+
15
+ =item an image `:alt` written without a value counts as not written. It used to put the word `true` where the description of the picture goes, and `:!alt` the word `false`
16
+
17
+ =item a link written without a bar keeps its address when the document is exported. Both the html and the markdown export used to put the node array itself where the address goes, so `L<#Setup>` came out pointing at `[object Object]`
18
+
19
+ =item a link whose target the author never wrote is exported as an anchor with no address, the form html gives that case, instead of one pointing at the word `undefined`. Markdown has no such form, so the text is written on its own
20
+
21
+ =item a quotation mark or an ampersand inside an attribute value is escaped in the html export. Without it a document could close the attribute and write markup of its own, and an address holding `&copy;` reached the browser as a copyright sign
22
+
23
+ =item an address holding a bracket or a space is written in angle brackets in the markdown export, the form markdown keeps for it. `man:find(1)` used to end the link at the first bracket
24
+
25
+ =item the formatting-code parser picks the closing delimiter while parsing instead of carrying a copy of two rules for every pair the language allows. The generated parser is less than half its former size and parsing is faster
26
+
27
+ =item a markup code that opens with a run of angles now has to close with a run of the same length. It used to fall back to a shorter one, so C<< C<<>> >> read as a code holding C<< <> >>; it reads as text now. All four delimiter pairs and the runs that carry a closing angle inside the content are unchanged
28
+
29
+ =item C<headingId> is reachable from the package entry, so any parser that builds a heading can apply the same rule the tree walker applies
30
+
31
+ =item the names of settings the specification gives are exported beside the block names, so the parser, the checker and the editor read one list
32
+
33
+ =item a section folded by :folded on its heading is grouped while the tree is built, so every reader of the tree sees it, not only the editor. The html export writes it as a native disclosure; markdown, which has none, writes the section out in full rather than losing the text
34
+
35
+ =item the document schema describes the tree the parser builds. An item carrying a checkbox, the terms of a definition, nineteen of the twenty-one markup codes, a semantic block holding more than one paragraph, and the entries of a table of contents were all outside it, and the check reported hundreds of errors on a sound document. The schema is generated from the types, so the types were brought to what the parser emits
36
+
37
+ =head1 0.0.67
38
+
39
+ =item a selector reads the value it is given by the same grammar that read the declaration, and compares the value as a whole. An attribute holding a list is not equal to a string, whatever the list holds and in whatever order; membership, written with the tilde form, runs over the values as declared and no longer cuts a quoted string into words; a value of one kind is not equal to a value of another
40
+
41
+ =item a block whose name carries both cases holds its body as written, and the helpers say so: the specification hands such a body to a renderer or a plug-in, so a =begin written inside it is content
42
+
43
+ =item a table cell keeps the spaces inside it when the document is converted to markdown. Each fragment of the cell used to be trimmed on its own, which ate the space between a word and a markup code and around a sign the parser split the text on; only the edges of the cell are stripped now
44
+
45
+ =item covered content keeps its cover when it is taken out of the document it was written in. A block carrying :masked and a G<> code now mark the nodes below them, and the mark travels with the node through =include, through a selector and through a table built from a covered =data block. Draft mode still shows what production hides
46
+
47
+ =item name the header columns that were parsed when C«:columns» or C«:rename» cannot match one: leading spaces from an indented body stay in the field, so the name that fails looks identical to the one in the source
48
+
5
49
  =head1 0.0.66
6
50
 
7
51
  =item an image node carries its own link
@@ -17,7 +17,31 @@ export declare const indexAnchors: (tree: unknown, style?: AnchorStyle) => Ancho
17
17
  export declare const restyleAnchors: (index: AnchorIndex | undefined, style: AnchorStyle) => AnchorIndex | undefined;
18
18
  export declare const findAnchor: (target: string, index?: AnchorIndex) => string | undefined;
19
19
  export declare const resolveFragment: (target: string, index?: AnchorIndex) => string;
20
- export declare const sameDocTarget: <T>(target: T, ctx: any, index?: AnchorIndex | undefined) => T | string;
20
+ export declare const sameDocTarget: <T>(target: T, ctx: any, index?: AnchorIndex | undefined) => T | string | undefined;
21
+ export declare const linkTarget: (node: {
22
+ meta?: unknown;
23
+ content?: unknown;
24
+ }) => string | undefined;
25
+ export declare const writtenValue: (value: unknown) => string | undefined;
26
+ export type LinkBinding = {
27
+ found: true;
28
+ document: 'self';
29
+ key: string;
30
+ via: 'heading' | 'explicit-id';
31
+ ambiguous: boolean;
32
+ } | {
33
+ found: false;
34
+ why: 'no-target';
35
+ };
36
+ export type BindingIndex = {
37
+ byKey: Map<string, {
38
+ node: object;
39
+ via: 'heading' | 'explicit-id';
40
+ }>;
41
+ ambiguous: Set<string>;
42
+ };
43
+ export declare const buildBindingIndex: (tree: unknown, style?: AnchorStyle) => BindingIndex;
44
+ export declare const bindTarget: (target: string, index?: BindingIndex) => LinkBinding;
21
45
  export declare const getSafeNodeId: (node: Node, ctx: any) => string | null;
22
46
  export declare const getExplicitNodeId: (node: any, ctx: any) => string | null;
23
47
  export declare const makeAttrs: (node: any, ctx?: import("./helpers/config").Context) => import("./helpers/config").Attr;
@@ -1,3 +1,4 @@
1
+ import { getTextContentFromNode } from '.';
1
2
  import makeAttrsPod from './helpers/config';
2
3
  export const getNodeId = (node, ctx) => {
3
4
  const conf = makeAttrsPod(node, ctx);
@@ -99,13 +100,111 @@ export const findAnchor = (target, index) => {
99
100
  return undefined;
100
101
  };
101
102
  export const resolveFragment = (target, index) => findAnchor(target, index) ?? (index?.shape || toFragment)(target);
102
- // A link inside the same document points at a heading by name, so it goes through
103
- // the rules that shaped that heading's anchor.
103
+ // Level two: the address, shaped for this format. It is asked for only once level
104
+ // one has said the link points at something. A refusal comes back as undefined, and
105
+ // a link with no address is what the reader gets — not an address to nowhere.
104
106
  export const sameDocTarget = (target, ctx, index = ctx?.__anchors) => {
105
107
  if (typeof target !== 'string' || !target.startsWith('#') || target === '#')
106
108
  return target;
109
+ const shape = index?.shape || toFragment;
110
+ const bindings = ctx?.__bindings;
111
+ if (bindings) {
112
+ const bound = bindTarget(target.slice(1), bindings);
113
+ if (!bound.found)
114
+ return undefined;
115
+ return `#${bound.via === 'heading' ? resolveFragment(bound.key, index) : shape(bound.key)}`;
116
+ }
107
117
  return `#${resolveFragment(target.slice(1), index)}`;
108
118
  };
119
+ // A link written without a bar keeps its target in the content, and by the time a
120
+ // renderer sees it the content is a node array. Only the first node is read; a
121
+ // target spread over several nodes is a separate question.
122
+ export const linkTarget = (node) => {
123
+ if (typeof node.meta === 'string')
124
+ return node.meta;
125
+ const content = node.content;
126
+ const first = Array.isArray(content) ? content[0] : content;
127
+ if (typeof first === 'string')
128
+ return first;
129
+ if (first && typeof first === 'object' && 'value' in first) {
130
+ const { value } = first;
131
+ if (typeof value === 'string')
132
+ return value;
133
+ }
134
+ return undefined;
135
+ };
136
+ // An attribute written without a value reaches the node as a boolean, which is the
137
+ // reader reporting that nothing was written rather than the author writing it. A
138
+ // number is a value the author did write, and stays.
139
+ export const writtenValue = (value) => value == null || typeof value === 'boolean' ? undefined : String(value);
140
+ // Both forms the specification describes: a section addressed by its name, and a
141
+ // block the author named with :id. The author's name wins — it was written on
142
+ // purpose, where a section name is derived from prose.
143
+ export const buildBindingIndex = (tree, style = htmlStyle) => {
144
+ const byKey = new Map();
145
+ const ambiguous = new Set();
146
+ const anchors = indexAnchors(tree, style);
147
+ const put = (key, node, via) => {
148
+ const known = byKey.get(key);
149
+ if (known === undefined) {
150
+ byKey.set(key, { node, via });
151
+ return;
152
+ }
153
+ if (known.node === node)
154
+ return;
155
+ // Two nodes claiming one name is an ambiguity whether or not they claim it the
156
+ // same way. An explicit id still wins the address; the flag says the document
157
+ // said the name twice.
158
+ ambiguous.add(key);
159
+ if (via === 'explicit-id' && known.via !== 'explicit-id')
160
+ byKey.set(key, { node, via });
161
+ };
162
+ walkNodes(tree, node => {
163
+ // The raw value the author wrote, and the form the anchor takes: getExplicitNodeId
164
+ // already turns whitespace into a hyphen, so a link written the way the id was
165
+ // written would otherwise miss it.
166
+ const written = makeAttrsPod(node, {}).exists('id') ? makeAttrsPod(node, {}).getFirstValue('id') : null;
167
+ const explicit = getExplicitNodeId(node, {});
168
+ for (const key of [written == null ? null : String(written), explicit]) {
169
+ if (key)
170
+ put(key.normalize('NFC').trim(), node, 'explicit-id');
171
+ }
172
+ if (node.name !== 'head')
173
+ return;
174
+ const name = getTextContentFromNode(node).normalize('NFC').trim();
175
+ put(name, node, 'heading');
176
+ // A heading answers to its own name and to the form an output would give it: a
177
+ // link copied out of a rendered page carries the shaped name, and the author who
178
+ // pastes it means the same section. Both keys name one node, so this is a second
179
+ // name for the target rather than resolution decided by shaping.
180
+ for (const shaped of [toFragment(name), toMarkdownFragment(name)]) {
181
+ if (shaped && shaped !== name)
182
+ put(shaped, node, 'heading');
183
+ }
184
+ // And the anchor actually handed out, which carries the number when a name
185
+ // repeats: a link written against the second «Parameters» asks for Parameters-2,
186
+ // and only the assignment knows that.
187
+ const assigned = anchors.byNode.get(node);
188
+ if (assigned)
189
+ put(assigned, node, 'heading');
190
+ });
191
+ return { byKey, ambiguous };
192
+ };
193
+ // Matching is exact: level one has to keep apart everything the tree keeps apart,
194
+ // and folding case would erase that. Measured over the knowledge base — no working
195
+ // link depended on a case-folded match.
196
+ export const bindTarget = (target, index) => {
197
+ const key = target.normalize('NFC').trim();
198
+ if (!index)
199
+ return { found: false, why: 'no-target' };
200
+ const hit = index.byKey.get(key);
201
+ if (!hit)
202
+ return { found: false, why: 'no-target' };
203
+ // Two targets of one name is a fact about the document, not a reason to refuse it
204
+ // an address: the first still answers, as it always has, and the ambiguity travels
205
+ // with the answer for whoever reports it.
206
+ return { found: true, document: 'self', key, via: hit.via, ambiguous: index.ambiguous.has(key) };
207
+ };
109
208
  export const getSafeNodeId = (node, ctx) => {
110
209
  const assigned = ctx?.__anchors?.byNode?.get(node);
111
210
  if (assigned !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../src/ast-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../src/ast-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const STANDARD_ATTRIBUTE_NAMES: readonly ["allow", "caption", "checked", "folded", "id", "lang", "nested", "numbered"];
2
+ export declare const BLOCK_ATTRIBUTE_NAMES: readonly ["colspan", "columns", "encoding", "filename", "folded-levels", "header", "key", "masked", "mime-type", "notify", "rename", "rowspan", "src"];
3
+ export declare const ATTRIBUTE_NAMES: readonly ["allow", "caption", "checked", "folded", "id", "lang", "nested", "numbered", "colspan", "columns", "encoding", "filename", "folded-levels", "header", "key", "masked", "mime-type", "notify", "rename", "rowspan", "src"];
4
+ export declare const isStandardAttributeName: (name: string) => boolean;
5
+ export declare const isKnownAttributeName: (name: string) => boolean;
@@ -0,0 +1,36 @@
1
+ // Names the specification gives a configuration option. Kept here beside the
2
+ // block names so the parser, the checker and the editor read one list rather
3
+ // than each carrying a copy of what it remembers.
4
+ // Applied uniformly to any built-in block, from the standard configuration
5
+ // options section of the specification.
6
+ export const STANDARD_ATTRIBUTE_NAMES = [
7
+ 'allow',
8
+ 'caption',
9
+ 'checked',
10
+ 'folded',
11
+ 'id',
12
+ 'lang',
13
+ 'nested',
14
+ 'numbered',
15
+ ];
16
+ // Named by the specification for a particular block: the sources a block reads,
17
+ // the shape of a table, the cover over content.
18
+ export const BLOCK_ATTRIBUTE_NAMES = [
19
+ 'colspan',
20
+ 'columns',
21
+ 'encoding',
22
+ 'filename',
23
+ 'folded-levels',
24
+ 'header',
25
+ 'key',
26
+ 'masked',
27
+ 'mime-type',
28
+ 'notify',
29
+ 'rename',
30
+ 'rowspan',
31
+ 'src',
32
+ ];
33
+ export const ATTRIBUTE_NAMES = [...STANDARD_ATTRIBUTE_NAMES, ...BLOCK_ATTRIBUTE_NAMES];
34
+ export const isStandardAttributeName = (name) => STANDARD_ATTRIBUTE_NAMES.includes(name);
35
+ export const isKnownAttributeName = (name) => ATTRIBUTE_NAMES.includes(name);
36
+ //# sourceMappingURL=attribute-names.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attribute-names.js","sourceRoot":"","sources":["../src/attribute-names.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,6EAA6E;AAC7E,kDAAkD;AAElD,2EAA2E;AAC3E,wCAAwC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,UAAU;CACF,CAAA;AAEV,gFAAgF;AAChF,gDAAgD;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,eAAe;IACf,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,KAAK;CACG,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,wBAAwB,EAAE,GAAG,qBAAqB,CAAU,CAAA;AAE/F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAW,EAAE,CAC9D,wBAA8C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export declare const BLOCK_NAMES: readonly ["boundary", "cell", "code", "comment", "data", "data-table", "defn", "formula", "head", "include", "input", "item", "markdown", "nested", "output", "para", "picture", "pod", "row", "set", "table", "toc"];
2
2
  export declare const VERBATIM_BLOCKS: readonly ["code", "comment", "data", "data-table", "formula", "input", "markdown", "output", "picture", "table"];
3
+ export declare const isNamedBlockName: (name: string) => boolean;
3
4
  export declare const isVerbatimBlock: (name: string) => boolean;
4
5
  export declare const isKnownBlockName: (name: string) => boolean;
@@ -39,6 +39,11 @@ export const VERBATIM_BLOCKS = [
39
39
  'picture',
40
40
  'table',
41
41
  ];
42
- export const isVerbatimBlock = (name) => VERBATIM_BLOCKS.includes(name);
42
+ // A name carrying both cases is a named block: the specification hands its body
43
+ // to a renderer or a parser plug-in, and without one the body degrades to
44
+ // verbatim. So a =begin written inside it is content, not structure — the same
45
+ // answer the listed names give, reached by a different road.
46
+ export const isNamedBlockName = (name) => /[a-z]/.test(name) && /[A-Z]/.test(name);
47
+ export const isVerbatimBlock = (name) => VERBATIM_BLOCKS.includes(name) || isNamedBlockName(name);
43
48
  export const isKnownBlockName = (name) => BLOCK_NAMES.includes(name);
44
49
  //# sourceMappingURL=block-names.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"block-names.js","sourceRoot":"","sources":["../src/block-names.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;CACG,CAAA;AAEV,8EAA8E;AAC9E,gFAAgF;AAChF,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;CACC,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAE/G,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,WAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"block-names.js","sourceRoot":"","sources":["../src/block-names.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,wDAAwD;AACxD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,UAAU;IACV,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,MAAM;IACN,SAAS;IACT,MAAM;IACN,SAAS;IACT,OAAO;IACP,MAAM;IACN,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,KAAK;IACL,KAAK;IACL,KAAK;IACL,OAAO;IACP,KAAK;CACG,CAAA;AAEV,8EAA8E;AAC9E,gFAAgF;AAChF,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,SAAS;IACT,MAAM;IACN,YAAY;IACZ,SAAS;IACT,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;IACT,OAAO;CACC,CAAA;AAEV,gFAAgF;AAChF,0EAA0E;AAC1E,+EAA+E;AAC/E,6DAA6D;AAC7D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AAEnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE,CACtD,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAA;AAEjF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,WAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA"}
package/esm/exportAny.js CHANGED
@@ -2,7 +2,7 @@ import { makeRule, makePlug } from './helpers/makeQuery';
2
2
  import makeInterator from './helpers/makeInterator';
3
3
  import Writer from './writer';
4
4
  import { parse } from './';
5
- import { indexAnchors } from './ast-helpers';
5
+ import { indexAnchors, buildBindingIndex } from './ast-helpers';
6
6
  export const toAny = (options = {}, plugins = []) => {
7
7
  let fns = plugins;
8
8
  // setup pod6 processor
@@ -48,7 +48,7 @@ export const toAny = (options = {}, plugins = []) => {
48
48
  newFns.reverse();
49
49
  const interator = makeInterator(newFns.map(rule => makeRule(rule.rule, rule.fn(writer, processor, tree))).reverse());
50
50
  // Every exporter needs the same anchors: assigned once, before the walk starts.
51
- const context = { __anchors: indexAnchors(tree), ...(options.context || {}) };
51
+ const context = { __anchors: indexAnchors(tree), __bindings: buildBindingIndex(tree), ...(options.context || {}) };
52
52
  writer.startWrite(tree);
53
53
  const result = interator(tree, context);
54
54
  writer.endWrite();
@@ -1 +1 @@
1
- {"version":3,"file":"exportAny.js","sourceRoot":"","sources":["../src/exportAny.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exportAny.js","sourceRoot":"","sources":["../src/exportAny.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,aAAa,MAAM,yBAAyB,CAAA;AACnD,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAS/D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,UAAmB,EAAE,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;IAC3D,IAAI,GAAG,GAAG,OAAO,CAAA;IACjB,uBAAuB;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAA;IAC5C,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAA;IAC9B,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;IACf,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;IACf,KAAK,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC,GAAG,CAAA;IAC5B,OAAO,KAAK,CAAA;IACZ,SAAS,KAAK,CAAC,IAAI,IAAG,CAAC;IAEvB,SAAS,GAAG,CAAC,GAAG,EAAE,EAAG;QACnB,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;QACxC,CAAC;QAED,IAAI,GAAG,YAAY,MAAM,EAAE,CAAC;YAC1B,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,GAAG,CAAC,GAAG,EAAE,UAAW;QAC3B,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,MAAM,WAAW,GACf,UAAU;YACV,OAAO;YACP,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;gBACb,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;YACf,CAAC,CAAC,CAAA;QACJ,MAAM,MAAM,GACV,UAAU,KAAK,OAAO,WAAW;YAC/B,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE;gBAClB,GAAG,GAAG,GAAG,GAAG,CAAC,CAAA;YACf,CAAC,CAAC;YACJ,CAAC,CAAC,WAAW,CAAA;QAEjB,4BAA4B;QAC5B,MAAM,IAAI,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;QAE3D,qDAAqD;QACrD,eAAe;QACf,IAAI,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAAA;QACxB,MAAM,CAAC,OAAO,EAAE,CAAA;QAChB,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACpH,gFAAgF;QAChF,MAAM,OAAO,GAAG,EAAE,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAA;QAClH,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACvB,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QACvC,MAAM,CAAC,QAAQ,EAAE,CAAA;QACjB,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG;YAClB,aAAa,EAAE,MAAM,CAAC,UAAU;YAChC,WAAW,EAAE,MAAM,CAAC,SAAS;YAC7B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,SAAS,EAAE,MAAM;SAClB,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,eAAe,KAAK,CAAA"}
package/esm/exportHtml.js CHANGED
@@ -3,12 +3,27 @@ import { subUse, wrapContent, emptyContent, content, setFn, handleNested, maskTe
3
3
  import { isNamedBlock } from './helpers/makeTransformer';
4
4
  import makeAttrs, { codeConfigWithDefaults } from './helpers/config';
5
5
  import { applyImageBase } from './image-base';
6
+ import { isCovered } from './guard';
6
7
  import htmlWriter from './writerHtml';
7
8
  import clean_plugin from './plugin-clean-location';
8
- import { getExplicitNodeId, getSafeNodeId, sameDocTarget } from './ast-helpers';
9
+ import { getExplicitNodeId, getSafeNodeId, linkTarget, sameDocTarget, toFragment, writtenValue } from './ast-helpers';
9
10
  import { readLinkConfig } from './helpers/link-config';
10
11
  import { decodeHTMLStrict } from 'entities';
11
- const quoteValue = (value) => value.replace(/"/g, '&quot;');
12
+ import { quoteAttribute as quoteValue } from './helpers/html-attr';
13
+ // HTML gives an anchor without href to a link whose target the author never
14
+ // wrote; an empty href would claim the current document instead. The address is
15
+ // quoted like every other attribute value: a quote inside it would otherwise
16
+ // close the attribute and let the document write markup of its own.
17
+ const hrefAttr = (node, ctx) => {
18
+ const target = linkTarget(node);
19
+ if (target === undefined)
20
+ return '';
21
+ const address = sameDocTarget(target, ctx);
22
+ // A link level one refused points at nothing, and an anchor with no href is what
23
+ // html gives that case. An address shaped from a target that was never there only
24
+ // looks like a working link.
25
+ return address === undefined ? '' : ` href="${quoteValue(String(address))}"`;
26
+ };
12
27
  const linkConfigAttrs = config => {
13
28
  const { newContext, title, lang, download } = readLinkConfig(config);
14
29
  const attrs = [];
@@ -24,15 +39,22 @@ const linkConfigAttrs = config => {
24
39
  attrs.push(` download="${quoteValue(download)}"`);
25
40
  return attrs.join('');
26
41
  };
42
+ // Shaped by the same rule the address is: an anchor keeping a dot the address drops
43
+ // is how :id<v1.2> came to render an unreachable target. Every place that writes an
44
+ // anchor goes through here, or the two sides part again.
45
+ const anchorOf = (node, ctx) => {
46
+ const written = getExplicitNodeId(node, ctx);
47
+ return written === null ? null : (ctx?.__anchors?.shape || toFragment)(written);
48
+ };
27
49
  const openTag = (tag, node, ctx, attrs = '') => {
28
- const id = getExplicitNodeId(node, ctx);
50
+ const id = anchorOf(node, ctx);
29
51
  return `<${tag}${id ? ` id="${id}"` : ''}${attrs}>`;
30
52
  };
31
53
  const rules = {
32
54
  ':text': (writer, processor) => (node, ctx, interator) => {
33
55
  // handle text with content
34
56
  if (node.value) {
35
- writer.write(ctx?.maskMode ? maskText(node.value) : node.value);
57
+ writer.write(isCovered(node, ctx) ? maskText(node.value) : node.value);
36
58
  }
37
59
  else {
38
60
  interator(node.content, ctx);
@@ -108,18 +130,12 @@ const rules = {
108
130
  'H<>': wrapContent('<sup>', '</sup>'),
109
131
  'J<>': wrapContent('<sub>', '</sub>'),
110
132
  'L<>': setFn((node, ctx) => {
111
- let { meta } = node;
112
- if (meta === null) {
113
- meta = node.content;
114
- }
115
- return wrapContent(`<a href="${sameDocTarget(meta, ctx)}"${linkConfigAttrs(codeConfigWithDefaults(node, ctx))}>`, `</a>`);
133
+ const attrs = linkConfigAttrs(codeConfigWithDefaults(node, ctx));
134
+ return wrapContent(`<a${hrefAttr(node, ctx)}${attrs}>`, `</a>`);
116
135
  }),
117
136
  'W<>': setFn((node, ctx) => {
118
- let { meta } = node;
119
- if (meta === null) {
120
- meta = node.content;
121
- }
122
- return wrapContent(`<a href="${sameDocTarget(meta, ctx)}"${linkConfigAttrs(codeConfigWithDefaults(node, ctx))} class="backlink">`, `</a>`);
137
+ const attrs = linkConfigAttrs(codeConfigWithDefaults(node, ctx));
138
+ return wrapContent(`<a${hrefAttr(node, ctx)}${attrs} class="backlink">`, `</a>`);
123
139
  }),
124
140
  /**
125
141
  * CSS rules for footnotes
@@ -205,12 +221,25 @@ const rules = {
205
221
  pod: content,
206
222
  ':code': wrapContent('<pre><code>', '</code></pre>'),
207
223
  code: handleNested(setFn((node, ctx) => wrapContent(`${openTag('pre', node, ctx)}<code>`, '</code></pre>'))),
224
+ // a folded section is a heading plus the nodes under it; the disclosure is
225
+ // native so the reader needs no script to open it
226
+ _folded_section: (writer, processor) => (node, ctx, interator) => {
227
+ const [heading, ...rest] = (node.content || []);
228
+ const open = node.foldedState === false || node.foldedState === 0 || node.foldedState === '0';
229
+ writer.writeRaw(`<details class="folded-section"${open ? ' open' : ''}>`);
230
+ writer.writeRaw('<summary class="folded-section-summary">');
231
+ if (heading)
232
+ interator([heading], ctx);
233
+ writer.writeRaw('</summary><div class="folded-section-content">');
234
+ interator(rest, ctx);
235
+ writer.writeRaw('</div></details>');
236
+ },
208
237
  data: emptyContent,
209
238
  ':verbatim': (writer, processor) => (node, ctx, interator) => {
210
239
  if (node.error) {
211
240
  writer.emit('errors', node.location);
212
241
  }
213
- if (ctx?.maskMode) {
242
+ if (isCovered(node, ctx)) {
214
243
  writer.write(maskText(node.value));
215
244
  return;
216
245
  }
@@ -238,7 +267,7 @@ const rules = {
238
267
  // block =para
239
268
  // With an :id the block owns the <p> so the anchor lands on it; without one
240
269
  // the inner paragraph renders as before.
241
- para: handleNested(setFn((node, ctx) => getExplicitNodeId(node, ctx)
270
+ para: handleNested(setFn((node, ctx) => anchorOf(node, ctx)
242
271
  ? subUse({ ':para': content }, wrapContent(openTag('p', node, ctx), '</p>'))
243
272
  : content)),
244
273
  ':para': setFn((node, ctx) => wrapContent(openTag('p', node, ctx), '</p>')),
@@ -277,7 +306,7 @@ const rules = {
277
306
  'comment:block': emptyContent,
278
307
  'boundary:block': (writer, processor) => (node, ctx) => {
279
308
  const conf = makeAttrs(node, ctx);
280
- const id = getExplicitNodeId(node, ctx);
309
+ const id = anchorOf(node, ctx);
281
310
  const idAttr = id ? ` id="${id}"` : '';
282
311
  if (conf.exists('caption')) {
283
312
  writer.writeRaw(`<hr${idAttr} title="`);
@@ -290,7 +319,7 @@ const rules = {
290
319
  },
291
320
  // The term opens the pair, so an :id on the definition lands on its <dt>.
292
321
  defn: setFn((node, ctx) => {
293
- const id = getExplicitNodeId(node, ctx);
322
+ const id = anchorOf(node, ctx);
294
323
  return id
295
324
  ? subUse({ 'term:para': wrapContent(`<dt id="${id}">`, '</dt><dd>') }, wrapContent('', '</dd>'))
296
325
  : wrapContent('', '</dd>');
@@ -382,7 +411,12 @@ const rules = {
382
411
  ':toc-list': setFn((node, ctx) => wrapContent(`<ul class="toc-list listlevel${node.level}">`, '</ul>')),
383
412
  ':toc-item': setFn((node, ctx) => wrapContent('<li class="toc-item">', '</li>')),
384
413
  ':image': (writer, processor) => (node, ctx, interator) => {
385
- writer.writeRaw(`<img src="${applyImageBase(node.src, ctx?.base)}" alt="${node.alt || ''}"/>`);
414
+ const src = quoteValue(String(applyImageBase(node.src, ctx?.base) ?? ''));
415
+ // html reads a missing alt as "this image is part of the content" and an empty
416
+ // one as "decorative", so an alternative text the author never wrote is left out
417
+ const altText = writtenValue(node.alt);
418
+ const alt = altText === undefined ? '' : ` alt="${quoteValue(altText)}"`;
419
+ writer.writeRaw(`<img src="${src}"${alt}/>`);
386
420
  },
387
421
  };
388
422
  const toHtml = opt => toAny({
@@ -421,15 +455,19 @@ const toHtml = opt => toAny({
421
455
  })
422
456
  .use(rules)
423
457
  .use('*', (writer, processor) => (node, ctx, interator, defaultFn) => {
424
- if (!node || node.type !== 'block')
458
+ if (!node)
425
459
  return defaultFn();
426
460
  if (ctx?.maskMode)
427
461
  return defaultFn();
462
+ if (ctx?.renderMode === 'draft')
463
+ return defaultFn();
464
+ if (node.guarded)
465
+ return defaultFn(node, { ...(ctx || {}), maskMode: true }, interator);
466
+ if (node.type !== 'block')
467
+ return defaultFn();
428
468
  const conf = makeAttrs(node, ctx || {});
429
469
  if (!conf.exists('masked') || !conf.getFirstValue('masked'))
430
470
  return defaultFn();
431
- if (ctx?.renderMode === 'draft')
432
- return defaultFn();
433
471
  return defaultFn(node, { ...(ctx || {}), maskMode: true }, interator);
434
472
  });
435
473
  export default toHtml;
@@ -1 +1 @@
1
- {"version":3,"file":"exportHtml.js","sourceRoot":"","sources":["../src/exportHtml.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAA;AAC/B,OAAO,EACL,MAAM,EACN,WAAW,EACX,YAAY,EACZ,OAAO,EACP,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,SAAS,EAAE,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,YAAY,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAa,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;AAEnE,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE;IAC/B,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAA;IACpE,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,IAAI,UAAU;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAA;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpE,IAAI,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACrE,IAAI,QAAQ,KAAK,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;SACzC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACxF,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACvB,CAAC,CAAA;AAED,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE;IACrD,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IACvC,OAAO,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;AACrD,CAAC,CAAA;AAED,MAAM,KAAK,GAAG;IACZ,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACvD,2BAA2B;QAC3B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACjE,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACrD,sBAAsB;QACtB,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;YAC7B,sBAAsB;YACtB,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC,MAAM,CAAC,CAAA;YACnC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC5B,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACjC,CAAC;iBAAM,CAAC;gBACN,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;IACvC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACrD,IAAI,SAAS,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;iBACxB,GAAG,CAAC,OAAO,CAAC,EAAE;gBACb,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO;oBAAE,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;gBAC9F,IAAI,OAAO,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,IAAI,OAAO;oBAAE,OAAO,gBAAgB,CAAC,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;gBACtG,OAAO,EAAE,CAAA;YACX,CAAC,CAAC;iBACD,IAAI,CAAC,EAAE,CAAC,CAAA;YACX,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvB,CAAC;IACH,CAAC;IACD,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACrD,aAAa;QACb,IAAI,QAAQ,GAAe,EAAE,IAAI,EAAE,CAAA;QACnC,IAAI,UAAU,GAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5C,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,GAAG,QAAQ,CAAA;QACvB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;YAC1C,MAAM,CAAC,WAAW,GAAG,EAAE,CAAA;QACzB,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAA;QAEvC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QACxB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IACD,KAAK,EAAE,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;IAC3C,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACrD,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;YAC/B,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAA;YAC9C,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAC5B,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1B,OAAM;QACR,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC5B,CAAC;IACD,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrC,KAAK,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrC,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACnB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;QACD,OAAO,WAAW,CAChB,YAAY,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,eAAe,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,EAC7F,MAAM,CACP,CAAA;IACH,CAAC,CAAC;IACF,KAAK,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACzB,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QACnB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;QACD,OAAO,WAAW,CAChB,YAAY,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,eAAe,CAAC,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,oBAAoB,EAC9G,MAAM,CACP,CAAA;IACH,CAAC,CAAC;IAEF;;;;;;;;;;;SAWK;IACL,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;QAC3B,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,OAAM;YACR,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAA;YAClC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAM;YACR,CAAC,CAAC,qBAAqB;YACvB,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAA;YAC1C,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBACvB,MAAM,CAAC,QAAQ,CACb,eAAe,QAAQ,CAAC,IAAI,gCAAgC,QAAQ,CAAC,OAAO,MAAM,QAAQ,CAAC,GAAG,cAAc,CAC7G,CAAA;gBACD,QAAQ,CAAC,IAAI,EAAE,CAAA;gBACf,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;YACF,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;YAC9B,mBAAmB;YACnB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAM;YACR,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAA;YAChB,CAAC;YACD,mBAAmB;YACnB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;YACxB,MAAM,OAAO,GAAG,SAAS,GAAG,EAAE,CAAA;YAC9B,MAAM,IAAI,GAAG,MAAM,GAAG,EAAE,CAAA;YACxB,MAAM,CAAC,QAAQ,CAAC,YAAY,OAAO,gCAAgC,IAAI,MAAM,GAAG,aAAa,CAAC,CAAA;YAC9F,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,MAAM,CAAC,SAAS,GAAG,EAAE,CAAA;YACvB,CAAC;YACD,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;gBACpB,GAAG;gBACH,OAAO;gBACP,IAAI;gBACJ,IAAI,EAAE,GAAG,EAAE;oBACT,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC9B,CAAC;aACF,CAAC,CAAA;QACJ,CAAC,CAAA;IACH,CAAC;IACD,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC9C,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IACD,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,CAAC;IACvC,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;IACjC,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACrD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5B,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;QACpB,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,YAAY;YACZ,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3B,CAAC;aAAM,CAAC;YACN,OAAM;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAA;QACxB,CAAC;QACD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;YACrB,KAAK;SACN,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,EAAE,YAAY;IAEnB,GAAG,EAAE,OAAO;IACZ,OAAO,EAAE,WAAW,CAAC,aAAa,EAAE,eAAe,CAAC;IACpD,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC;IAC5G,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAC3D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtC,CAAC;QACD,IAAI,GAAG,EAAE,QAAQ,EAAE,CAAC;YAClB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAClC,OAAM;QACR,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC5B,CAAC;IACD,YAAY,EAAE,YAAY;IAC1B,UAAU,EAAE,YAAY;IACxB,aAAa;IACb,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC7B,gBAAgB;QAChB,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC;YAAE,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA;QAClD,4BAA4B;QAC5B,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAA;QACnC,OAAO,YAAY,CAAA;IACrB,CAAC,CAAC;IACF,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAC5B,YAAY;QACZ,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,GAAG,CAAC,KAAK,GAAG,EAAE,CAAA;QAChD,4BAA4B;QAC5B,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAA;QACvC,OAAO,YAAY,CAAA;IACrB,CAAC,CAAC;IAEF,cAAc;IACd,4EAA4E;IAC5E,yCAAyC;IACzC,IAAI,EAAE,YAAY,CAChB,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAClB,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC,CAAC,OAAO,CACZ,CACF;IACD,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,YAAY,EAAE,MAAM,CAClB;QACE,kCAAkC;QAClC,OAAO,EAAE,OAAO;KACjB,EACD,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;QACtB,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACnC,MAAM,IAAI,GAAG,KAAK,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAC/C,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,6BAA6B,IAAI,CAAC,YAAY,UAAU,CAAC,CAAC,CAAC,EACjF,EAAE,CAAA;QACF,OAAO,WAAW,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC,CAAA;IAC1C,CAAC,CAAC,CACH;IACD,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAC3B,IAAI,CAAC,IAAI,KAAK,SAAS;QACrB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU;YAC1B,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM;gBACtB,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC;gBACtE,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CACnD;IACD,YAAY,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAC5D,4BAA4B;QAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,YAAY,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAClF,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAA;QAEzC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,yBAAyB,CAAC,CAAC,CAAA;YACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,2CAA2C,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAA;QACnH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QAC3C,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IACD,eAAe,EAAE,YAAY;IAC7B,gBAAgB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACrD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM,UAAU,CAAC,CAAA;YACvC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,MAAM,MAAM,GAAG,CAAC,CAAA;QAClC,CAAC;IACH,CAAC;IACD,0EAA0E;IAC1E,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACvC,OAAO,EAAE;YACP,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAChG,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC9B,CAAC,CAAC;IACF,WAAW,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7C,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,MAAM,EAAE,YAAY,CAClB,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EACxF,CAAC,CACF;IACD,KAAK,EAAE,YAAY,CACjB,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,EACtF,CAAC,CACF;IACD,gBAAgB;IAChB,aAAa,EAAE,YAAY,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;QAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;YAC3C,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;QACD,MAAM,QAAQ,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,CAAA;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAA;QAClC,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,CACtB,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;QAClH,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC5B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;QAC3D,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;QACjE,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,OAAO,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAAE,SAAS,EAAE,CAAA;QACnF,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC1C,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;QAClC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC1B,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QAC/B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC3B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;YAC1B,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC7B,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC7B,CAAC;QACD,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;IAC7B,CAAC,CAAC;IACF,YAAY,EAAE,YAAY;IAC1B,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACnD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAA;QAChF,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACvB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAA;QACzE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACpD,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1C,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7E,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,EAAE;YAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAA;YACzC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,EAAE,CAAA;YAC9B,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;QAC9B,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;QACtB,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,aAAa,OAAO,GAAG,CAAA;QAC7E,IAAI,OAAO,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,aAAa,OAAO,GAAG,CAAA;QAC7E,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACvE,KAAK,IAAI,sBAAsB,QAAQ,GAAG,CAAA;QAC5C,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,KAAK,GAAG,CAAC,CAAA;QACnC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,QAAQ,CAAC,KAAK,GAAG,GAAG,CAAC,CAAA;IAC9B,CAAC;IACD,MAAM;IACN,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACtD,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAA;QACxC,gBAAgB;QAChB,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;YACzC,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAA;YAC7C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACnB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAC3B,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAC3B,CAAC;IACD,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,gCAAgC,IAAI,CAAC,KAAK,IAAI,EAAE,OAAO,CAAC,CAAC;IACvG,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,OAAO,CAAC,CAAC;IAChF,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QACxD,MAAM,CAAC,QAAQ,CAAC,aAAa,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,CAAA;IAChG,CAAC;CACF,CAAA;AAED,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,CACnB,KAAK,CAAC;IACJ,MAAM,EAAE,UAAU;IAClB,GAAG,GAAG;IACN,OAAO,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,YAAY,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE;CACnG,CAAC;KACC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;IAC9B,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE;QAC9B,oCAAoC;QACpC,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;YAC5B,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,OAAO,CAAA;YACjD,OAAO,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,WAAW,EAAE,CAAA;QACnD,CAAC,CAAA;QAED,yEAAyE;QACzE,iDAAiD;QACjD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACtB,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YACrB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAClB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC1B,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC1E,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAC;KACD,GAAG,CAAC,KAAK,CAAC;KACV,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE;IACnE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,EAAE,CAAA;IACtD,IAAI,GAAG,EAAE,QAAQ;QAAE,OAAO,SAAS,EAAE,CAAA;IACrC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,CAAA;IACvC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,EAAE,CAAA;IAC/E,IAAI,GAAG,EAAE,UAAU,KAAK,OAAO;QAAE,OAAO,SAAS,EAAE,CAAA;IACnD,OAAO,SAAS,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,CAAC,CAAA;AACvE,CAAC,CAAC,CAAA;AAEN,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"exportHtml.js","sourceRoot":"","sources":["../src/exportHtml.ts"],"names":[],"mappings":"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"}