@templatical/editor 0.16.2 → 0.16.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiFeatureMenu-DfTYyExg.js → AiFeatureMenu-CcGRd1xE.js} +1 -1
- package/dist/{CloudEditor-BQyZ_nFg.js → CloudEditor-CUIWUMp5.js} +6 -6
- package/dist/{CollaboratorBar-DeP7K-zk.js → CollaboratorBar-DmxqeBYZ.js} +1 -1
- package/dist/ColorPicker-Gs4BMVog.js +474 -0
- package/dist/{CountdownToolbar-nY9H0BKd.js → CountdownToolbar-92w1YySJ.js} +2 -2
- package/dist/{ModuleBrowserModal-CkeYw1e3.js → ModuleBrowserModal-DsehjLvh.js} +4 -4
- package/dist/{ModulePreviewCanvas-BIMFyYaa.js → ModulePreviewCanvas-BBfuS8VW.js} +1 -1
- package/dist/{NumberWithSuffix-BoZyUoNz.js → NumberWithSuffix-BxSRfI8b.js} +1 -1
- package/dist/{ParagraphEditor-DGsTFMxg.js → ParagraphEditor-vgvQxicC.js} +4 -4
- package/dist/{RichTextEditorContent-BB_n8vgB.js → RichTextEditorContent-Dza2oPvh.js} +1 -1
- package/dist/{SaveModuleDialog-Cypt_qOB.js → SaveModuleDialog-DNWGCHlS.js} +2 -2
- package/dist/{SnapshotHistory-DQTH8TCS.js → SnapshotHistory-BLmnNLg1.js} +2 -2
- package/dist/{TestEmailModal-DqxrL-U9.js → TestEmailModal-D6v1hgY2.js} +2 -2
- package/dist/{TitleEditor-DoGgnrcb.js → TitleEditor-DPdzOQpq.js} +2 -2
- package/dist/{TplModal-Ca-29YDD.js → TplModal-DObT0uxf.js} +1 -1
- package/dist/{blockTypeIcons-DVJXg5si.js → blockTypeIcons-B9f5fH_5.js} +1 -1
- package/dist/bundle-stats.json +6 -6
- package/dist/cdn/chunks/{AiFeatureMenu-roPglhox.js → AiFeatureMenu-CyUCHd9I.js} +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-roPglhox.js.map → AiFeatureMenu-CyUCHd9I.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-DW_Tt7Wg.js → BlockIssueBadge-BAa_dI-c.js} +5 -5
- package/dist/cdn/chunks/{BlockIssueBadge-DW_Tt7Wg.js.map → BlockIssueBadge-BAa_dI-c.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-CX6y1k3C.js → CloudEditor-ClfgLU48.js} +159 -159
- package/dist/cdn/chunks/{CloudEditor-CX6y1k3C.js.map → CloudEditor-ClfgLU48.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-Dyrab63H.js → CollaboratorBar-DCc5SL0P.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-Dyrab63H.js.map → CollaboratorBar-DCc5SL0P.js.map} +1 -1
- package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js +471 -0
- package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js.map +1 -0
- package/dist/cdn/chunks/{CountdownBlock-Bul4tczj.js → CountdownBlock-Bj7aoBUU.js} +4 -4
- package/dist/cdn/chunks/{CountdownBlock-Bul4tczj.js.map → CountdownBlock-Bj7aoBUU.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-DYvATR0J.js → CountdownToolbar-B1oniVq1.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-DYvATR0J.js.map → CountdownToolbar-B1oniVq1.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-BhHU-hq3.js → IssuesPanel-BXLVRo-c.js} +7 -7
- package/dist/cdn/chunks/{IssuesPanel-BhHU-hq3.js.map → IssuesPanel-BXLVRo-c.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-BGd5Ryyx.js → ModuleBrowserModal-C7BkJvzf.js} +6 -6
- package/dist/cdn/chunks/{ModuleBrowserModal-BGd5Ryyx.js.map → ModuleBrowserModal-C7BkJvzf.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-Hx6SCCjB.js → ModulePreviewCanvas-BJn-ZHlC.js} +10 -10
- package/dist/cdn/chunks/{ModulePreviewCanvas-Hx6SCCjB.js.map → ModulePreviewCanvas-BJn-ZHlC.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-BImuhc9K.js → NumberWithSuffix-CkOxH3F7.js} +2 -2
- package/dist/cdn/chunks/{NumberWithSuffix-BImuhc9K.js.map → NumberWithSuffix-CkOxH3F7.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-K2vENidm.js → ParagraphEditor-4cMKKC-V.js} +146 -146
- package/dist/cdn/chunks/{ParagraphEditor-K2vENidm.js.map → ParagraphEditor-4cMKKC-V.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-B_w3u5lN.js → RichTextEditorContent-7RZe4tbj.js} +6 -6
- package/dist/cdn/chunks/{RichTextEditorContent-B_w3u5lN.js.map → RichTextEditorContent-7RZe4tbj.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-Cw-182CB.js → SaveModuleDialog-mr9A4j6G.js} +4 -4
- package/dist/cdn/chunks/{SaveModuleDialog-Cw-182CB.js.map → SaveModuleDialog-mr9A4j6G.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-CUKlo_Zj.js → TitleEditor-Cqw2jvuc.js} +8 -8
- package/dist/cdn/chunks/{TitleEditor-CUKlo_Zj.js.map → TitleEditor-Cqw2jvuc.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-Cx1FAqL6.js → blockTypeIcons-B_xRBxSU.js} +8 -8
- package/dist/cdn/chunks/{blockTypeIcons-Cx1FAqL6.js.map → blockTypeIcons-B_xRBxSU.js.map} +1 -1
- package/dist/cdn/chunks/{extensions-DSxG2wYf.js → extensions-Btyx_IMf.js} +19 -19
- package/dist/cdn/chunks/{extensions-DSxG2wYf.js.map → extensions-Btyx_IMf.js.map} +1 -1
- package/dist/cdn/chunks/{features-C-cjT_8L.js → features-Dwb5aTLg.js} +18 -16
- package/dist/cdn/chunks/features-Dwb5aTLg.js.map +1 -0
- package/dist/cdn/chunks/{icons-ay0_fN-T.js → icons-Dhqh5lYQ.js} +2 -2
- package/dist/cdn/chunks/{icons-ay0_fN-T.js.map → icons-Dhqh5lYQ.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-CkmqPdO4.js → media-library-DRodsf2D.js} +101 -101
- package/dist/cdn/chunks/{media-library-CkmqPdO4.js.map → media-library-DRodsf2D.js.map} +1 -1
- package/dist/cdn/chunks/{quality-CDNrMw2A.js → quality-A_V2Iqu_.js} +435 -435
- package/dist/cdn/chunks/{quality-CDNrMw2A.js.map → quality-A_V2Iqu_.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-JQ91A09w.js → renderer-BM_-zceB.js} +11 -11
- package/dist/cdn/chunks/{renderer-JQ91A09w.js.map → renderer-BM_-zceB.js.map} +1 -1
- package/dist/cdn/chunks/{src-Cehu7Hqx.js → src-DSomxPI-.js} +4 -4
- package/dist/cdn/chunks/{src-Cehu7Hqx.js.map → src-DSomxPI-.js.map} +1 -1
- package/dist/cdn/chunks/{styles-DBjy3lz9.js → styles--UXn88wH.js} +829 -829
- package/dist/cdn/chunks/{styles-DBjy3lz9.js.map → styles--UXn88wH.js.map} +1 -1
- package/dist/cdn/editor.js +29 -29
- package/dist/{dist-CFOQvhSC.js → color-DhoxCSMv.js} +9 -1
- package/dist/{styles-mvx3k1hf.js → styles-CPt6RYEc.js} +6 -6
- package/dist/templatical-editor.js +3 -3
- package/dist/{useEditorCore-DtZkR7Vk.js → useEditorCore-CSfeEwCj.js} +196 -202
- package/package.json +7 -7
- package/dist/ColorPicker-CXAbjTaG.js +0 -446
- package/dist/cdn/chunks/ColorPicker-BggAWrc9.js +0 -443
- package/dist/cdn/chunks/ColorPicker-BggAWrc9.js.map +0 -1
- package/dist/cdn/chunks/features-C-cjT_8L.js.map +0 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { n as e } from "./rolldown-runtime-Dqa2HsxW.js";
|
|
2
|
-
import { Bn as t,
|
|
2
|
+
import { Bn as t, Gn as n, Hn as r, Jn as i, Ln as a, Un as o, Vn as s, Wn as c, Xn as ee, Yn as te, qn as ne } from "./features-Dwb5aTLg.js";
|
|
3
3
|
//#region ../quality/src/types.ts
|
|
4
|
-
var
|
|
4
|
+
var re = {
|
|
5
5
|
altMaxLength: 125,
|
|
6
6
|
minFontSize: 14,
|
|
7
7
|
allCapsMinLength: 20,
|
|
8
8
|
minTouchTargetPx: 44
|
|
9
|
-
},
|
|
9
|
+
}, ie = [
|
|
10
10
|
"localhost",
|
|
11
11
|
"127.0.0.1",
|
|
12
12
|
"0.0.0.0",
|
|
@@ -16,54 +16,54 @@ var ne = {
|
|
|
16
16
|
];
|
|
17
17
|
//#endregion
|
|
18
18
|
//#region ../quality/src/contrast.ts
|
|
19
|
-
function
|
|
20
|
-
let n =
|
|
19
|
+
function ae(e, t) {
|
|
20
|
+
let n = l(e), r = l(t);
|
|
21
21
|
if (!n || !r) return NaN;
|
|
22
|
-
let i =
|
|
22
|
+
let i = le(n), a = le(r), o = Math.max(i, a), s = Math.min(i, a);
|
|
23
23
|
return (o + .05) / (s + .05);
|
|
24
24
|
}
|
|
25
|
-
var
|
|
26
|
-
function
|
|
25
|
+
var oe = /^#?([0-9a-f])([0-9a-f])([0-9a-f])$/i, se = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i, ce = /^#?([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})$/i;
|
|
26
|
+
function l(e) {
|
|
27
27
|
if (typeof e != "string") return null;
|
|
28
|
-
let t = e.trim(), n =
|
|
28
|
+
let t = e.trim(), n = ce.exec(t);
|
|
29
29
|
if (n) return n[4].toLowerCase() === "ff" ? {
|
|
30
30
|
r: parseInt(n[1], 16),
|
|
31
31
|
g: parseInt(n[2], 16),
|
|
32
32
|
b: parseInt(n[3], 16)
|
|
33
33
|
} : null;
|
|
34
|
-
let r =
|
|
34
|
+
let r = se.exec(t);
|
|
35
35
|
if (r) return {
|
|
36
36
|
r: parseInt(r[1], 16),
|
|
37
37
|
g: parseInt(r[2], 16),
|
|
38
38
|
b: parseInt(r[3], 16)
|
|
39
39
|
};
|
|
40
|
-
let i =
|
|
40
|
+
let i = oe.exec(t);
|
|
41
41
|
return i ? {
|
|
42
42
|
r: parseInt(i[1] + i[1], 16),
|
|
43
43
|
g: parseInt(i[2] + i[2], 16),
|
|
44
44
|
b: parseInt(i[3] + i[3], 16)
|
|
45
45
|
} : null;
|
|
46
46
|
}
|
|
47
|
-
function
|
|
48
|
-
return
|
|
47
|
+
function u(e) {
|
|
48
|
+
return l(e ?? "") !== null;
|
|
49
49
|
}
|
|
50
|
-
function
|
|
51
|
-
let r =
|
|
50
|
+
function le({ r: e, g: t, b: n }) {
|
|
51
|
+
let r = d(e / 255), i = d(t / 255), a = d(n / 255);
|
|
52
52
|
return .2126 * r + .7152 * i + .0722 * a;
|
|
53
53
|
}
|
|
54
|
-
function
|
|
54
|
+
function d(e) {
|
|
55
55
|
return e <= .03928 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4;
|
|
56
56
|
}
|
|
57
57
|
//#endregion
|
|
58
58
|
//#region ../quality/src/walk.ts
|
|
59
|
-
var
|
|
60
|
-
function
|
|
61
|
-
let n =
|
|
62
|
-
let r = e.styles?.backgroundColor, a =
|
|
59
|
+
var ue = "#ffffff", de = "#1a1a1a";
|
|
60
|
+
function f(e, t) {
|
|
61
|
+
let n = u(e.settings.backgroundColor) ? e.settings.backgroundColor.toLowerCase() : ue, r = u(e.settings.textColor) ? e.settings.textColor.toLowerCase() : de, i = (e, n) => {
|
|
62
|
+
let r = e.styles?.backgroundColor, a = u(r) ? r.toLowerCase() : n.resolvedBackgroundColor;
|
|
63
63
|
t(e, a === n.resolvedBackgroundColor ? n : {
|
|
64
64
|
...n,
|
|
65
65
|
resolvedBackgroundColor: a
|
|
66
|
-
}),
|
|
66
|
+
}), c(e) && e.children.forEach((t, r) => {
|
|
67
67
|
t.forEach((t) => i(t, {
|
|
68
68
|
parent: e,
|
|
69
69
|
section: e,
|
|
@@ -96,7 +96,7 @@ function p(e, t, n, r) {
|
|
|
96
96
|
fix: i.fix
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
f(e, (e, r) => {
|
|
100
100
|
for (let o of t) {
|
|
101
101
|
let t = n.severity(o.meta.id);
|
|
102
102
|
if (t === "off" || !o.block) continue;
|
|
@@ -114,9 +114,9 @@ function p(e, t, n, r) {
|
|
|
114
114
|
}
|
|
115
115
|
function m(e) {
|
|
116
116
|
let t = e.overrides ?? {}, n = {
|
|
117
|
-
...
|
|
117
|
+
...re,
|
|
118
118
|
...e.thresholds ?? {}
|
|
119
|
-
}, r = { nonProductionHosts: e.nonProductionHosts ??
|
|
119
|
+
}, r = { nonProductionHosts: e.nonProductionHosts ?? ie }, i = e.locale ?? "en", a = e.rules;
|
|
120
120
|
return {
|
|
121
121
|
locale: i,
|
|
122
122
|
rules: t,
|
|
@@ -225,7 +225,7 @@ var xe = {
|
|
|
225
225
|
severity: "error"
|
|
226
226
|
},
|
|
227
227
|
block(e) {
|
|
228
|
-
return !
|
|
228
|
+
return !s(e) || e.decorative === !0 || (e.alt?.trim() ?? "") !== "" || (e.src ?? "").trim() === "" ? null : { blockId: e.id };
|
|
229
229
|
}
|
|
230
230
|
}, Se = {
|
|
231
231
|
id: "a11y.img-alt-is-filename",
|
|
@@ -239,11 +239,11 @@ var xe = {
|
|
|
239
239
|
], we = {
|
|
240
240
|
meta: Se,
|
|
241
241
|
block(e) {
|
|
242
|
-
if (!
|
|
243
|
-
let
|
|
244
|
-
return
|
|
242
|
+
if (!s(e) || e.decorative === !0) return null;
|
|
243
|
+
let t = e.alt?.trim() ?? "";
|
|
244
|
+
return t === "" || !Ce.some((e) => e.test(t)) ? null : {
|
|
245
245
|
blockId: e.id,
|
|
246
|
-
params: { alt:
|
|
246
|
+
params: { alt: t }
|
|
247
247
|
};
|
|
248
248
|
}
|
|
249
249
|
}, Te = {
|
|
@@ -251,14 +251,14 @@ var xe = {
|
|
|
251
251
|
id: "a11y.img-alt-too-long",
|
|
252
252
|
severity: "warning"
|
|
253
253
|
},
|
|
254
|
-
block(e,
|
|
255
|
-
if (!
|
|
256
|
-
let
|
|
257
|
-
return
|
|
254
|
+
block(e, t, n) {
|
|
255
|
+
if (!s(e) || e.decorative === !0) return null;
|
|
256
|
+
let r = e.alt ?? "";
|
|
257
|
+
return r.length <= n.thresholds.altMaxLength ? null : {
|
|
258
258
|
blockId: e.id,
|
|
259
259
|
params: {
|
|
260
|
-
length:
|
|
261
|
-
max:
|
|
260
|
+
length: r.length,
|
|
261
|
+
max: n.thresholds.altMaxLength
|
|
262
262
|
}
|
|
263
263
|
};
|
|
264
264
|
}
|
|
@@ -268,7 +268,7 @@ var xe = {
|
|
|
268
268
|
severity: "info"
|
|
269
269
|
},
|
|
270
270
|
block(e) {
|
|
271
|
-
return !
|
|
271
|
+
return !s(e) || e.decorative !== !0 || (e.alt ?? "").trim() === "" ? null : {
|
|
272
272
|
blockId: e.id,
|
|
273
273
|
fix: {
|
|
274
274
|
description: "Clear alt text",
|
|
@@ -363,42 +363,42 @@ var xe = {
|
|
|
363
363
|
}, je = /* #__PURE__ */ Object.assign({
|
|
364
364
|
"./de.ts": De,
|
|
365
365
|
"./en.ts": ke
|
|
366
|
-
}),
|
|
366
|
+
}), Me = {};
|
|
367
367
|
for (let e in je) {
|
|
368
368
|
let t = /\.\/([^/]+)\.ts$/.exec(e);
|
|
369
369
|
if (!t) continue;
|
|
370
370
|
let n = t[1];
|
|
371
|
-
n !== "index" && (
|
|
371
|
+
n !== "index" && (Me[n] = je[e].default);
|
|
372
372
|
}
|
|
373
|
-
function
|
|
374
|
-
return
|
|
373
|
+
function _(e) {
|
|
374
|
+
return Ne;
|
|
375
375
|
}
|
|
376
|
-
function
|
|
376
|
+
function v(e) {
|
|
377
377
|
let t = /* @__PURE__ */ new Set();
|
|
378
|
-
for (let n of Object.values(
|
|
378
|
+
for (let n of Object.values(Me)) for (let r of e(n)) t.add(r);
|
|
379
379
|
return Array.from(t);
|
|
380
380
|
}
|
|
381
|
-
var
|
|
382
|
-
vagueLinkText:
|
|
383
|
-
vagueButtonLabels:
|
|
384
|
-
linkedImageActionHints:
|
|
381
|
+
var Ne = {
|
|
382
|
+
vagueLinkText: v((e) => e.vagueLinkText),
|
|
383
|
+
vagueButtonLabels: v((e) => e.vagueButtonLabels),
|
|
384
|
+
linkedImageActionHints: v((e) => e.linkedImageActionHints)
|
|
385
385
|
};
|
|
386
|
-
function
|
|
386
|
+
function y(e) {
|
|
387
387
|
return e.toLowerCase().replace(/\s+/g, " ").replace(/^[^\p{L}\p{N}]+|[^\p{L}\p{N}]+$/gu, "").trim();
|
|
388
388
|
}
|
|
389
|
-
var
|
|
389
|
+
var Pe = {
|
|
390
390
|
meta: {
|
|
391
391
|
id: "a11y.img-linked-no-context",
|
|
392
392
|
severity: "warning"
|
|
393
393
|
},
|
|
394
|
-
block(e,
|
|
395
|
-
if (!
|
|
396
|
-
let
|
|
397
|
-
if (
|
|
398
|
-
let
|
|
399
|
-
return
|
|
400
|
-
}
|
|
401
|
-
},
|
|
394
|
+
block(e, t, n) {
|
|
395
|
+
if (!s(e) || e.decorative === !0 || !e.linkUrl || e.linkUrl.trim() === "") return null;
|
|
396
|
+
let r = (e.alt ?? "").trim();
|
|
397
|
+
if (r === "") return null;
|
|
398
|
+
let i = r.toLocaleLowerCase().split(/[^\p{L}\p{N}]+/u).filter(Boolean), a = _(n.locale).linkedImageActionHints;
|
|
399
|
+
return i.some((e) => a.includes(e)) ? null : { blockId: e.id };
|
|
400
|
+
}
|
|
401
|
+
}, Fe = /* @__PURE__ */ new Map([
|
|
402
402
|
[0, 65533],
|
|
403
403
|
[128, 8364],
|
|
404
404
|
[130, 8218],
|
|
@@ -428,12 +428,12 @@ var Ne = {
|
|
|
428
428
|
[158, 382],
|
|
429
429
|
[159, 376]
|
|
430
430
|
]);
|
|
431
|
-
function
|
|
432
|
-
return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 :
|
|
431
|
+
function Ie(e) {
|
|
432
|
+
return e >= 55296 && e <= 57343 || e > 1114111 ? 65533 : Fe.get(e) ?? e;
|
|
433
433
|
}
|
|
434
434
|
//#endregion
|
|
435
435
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/internal/decode-shared.js
|
|
436
|
-
function
|
|
436
|
+
function b(e) {
|
|
437
437
|
let t = atob(e), n = t.length & -2, r = new Uint16Array(n / 2);
|
|
438
438
|
for (let e = 0, i = 0; e < n; e += 2) {
|
|
439
439
|
let n = t.charCodeAt(e), a = t.charCodeAt(e + 1);
|
|
@@ -443,71 +443,71 @@ function x(e) {
|
|
|
443
443
|
}
|
|
444
444
|
//#endregion
|
|
445
445
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/generated/decode-data-html.js
|
|
446
|
-
var Ie = /* #__PURE__ */ x("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IA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YwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"), Le = /* #__PURE__ */ x("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), S;
|
|
446
|
+
var Le = /* #__PURE__ */ b("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IAAOA12J/c8iFvaxBhAAhOVGFjZGZnbG1vcHFzdHV4owOlA6kDsAO/A8IDxgPNA9ID8gP9AwEEFAQeBCAEJQRHAEphSAA7gNAA0EBjAHUAdABlADuAyQDJQIABYWl5ALYDuQO+A/Ihb24aYXIAYwA7gMoAykAtZG8AdAAWYXIAAOA12AjdcgBhAHYAZQA7gMgAyEDlIm1lbnQAoAgiAAFhcNYD2QNjAHIAEmF0AHkAUwLhAwAAAADpA20lYWxsU3F1YXJlAACg+yVlJ3J5U21hbGxTcXVhcmUAAKCrJQABZ3D2A/kDbwBuABhhZgAA4DXYPN3zImlsb26VY3UAAAFhaQYEDgRsAFSgdSppImxkZQAAoEIi7CNpYnJpdW0AoMwhAAFjaRgEGwRyAACgMCFtAACgcyphAJdjbQBsADuAywDLQAABaXApBC0E8yF0cwCgAyLvJG5lbnRpYWxFAKBHIYACY2Zpb3MAPQQ/BEMEXQRyBHkAJGRyAADgNdgJ3WwibGVkAFMCTAQAAAAAVARtJWFsbFNxdWFyZQAAoPwlZSdyeVNtYWxsU3F1YXJlAACgqiVwA2UEAABpBAAAAABtBGYAAOA12D3dwSFsbACgACLyI2llcnRyZgCgMSFjAPIAcQQABkpUYWJjZGZnb3JzdIgEiwSOBJMElwSkBKcEqwStBLIE5QTqBGMAeQADZDuAPgA+QO0hbWFkoJMD3GNyImV2ZQAeYYABZWl5AJ0EoASjBOQhaWwiYXIAYwAcYRNkbwB0ACBhcgAA4DXYCt0AoNkicABmAADgNdg+3eUiYXRlcgADRUZHTFNUvwTIBM8E1QTZBOAEcSJ1YWwATKBlIuUhc3MAoNsidSRsbEVxdWFsAACgZyJyI2VhdGVyAACgoirlIXNzAKB3IuwkYW50RXF1YWwAoH4qaSJsZGUAAKBzImMAcgAA4DXYotwAoGsiAARBYWNmaW9zdfkE/QQFBQgFCwUTBSIFKwVSIkRjeQAqZAABY3QBBQQFZQBrAMdiXmDpIXJjJGFyAACgDCFsJWJlcnRTcGFjZQAAoAsh8AEYBQAAGwVmAACgDSHpJXpvbnRhbExpbmUAoAAlAAFjdCYFKAXyABIF8iFvayZhbQBwAEQBMQU5BW8AdwBuAEgAdQBtAPAAAAFxInVhbAAAoE8iAAdFSk9hY2RmZ21ub3N0dVMFVgVZBVwFYwVtBXAFcwV6BZAFtgXFBckFzQVjAHkAFWTsIWlnMmFjAHkAAWRjAHUAdABlADuAzQDNQAABaXlnBWwFcgBjADuAzgDOQBhkbwB0ADBhcgAAoBEhcgBhAHYAZQA7gMwAzEAAoREhYXB/BYsFAAFjZ4MFhQVyACphaSNuYXJ5SQAAoEghbABpAGUA8wD6AvQBlQUAAKUFZaAsIgABZ3KaBZ4F8iFhbACgKyLzI2VjdGlvbgCgwiJpI3NpYmxlAAABQ1SsBbEFbyJtbWEAAKBjIGkibWVzAACgYiCAAWdwdAC8Bb8FwwVvAG4ALmFmAADgNdhA3WEAmWNjAHIAAKAQIWkibGRlAChh6wHSBQAA1QVjAHkABmRsADuAzwDPQIACY2Zvc3UA4QXpBe0F8gX9BQABaXnlBegFcgBjADRhGWRyAADgNdgN3XAAZgAA4DXYQd3jAfcFAAD7BXIAAOA12KXc8iFjeQhk6yFjeQRkgANISmFjZm9zAAwGDwYSBhUGHQYhBiYGYwB5ACVkYwB5AAxk8CFwYZpjAAFleRkGHAbkIWlsNmEaZHIAAOA12A7dcABmAADgNdhC3WMAcgAA4DXYptyABUpUYWNlZmxtb3N0AD0GQAZDBl4GawZkB2gHcAd0B80H2gdjAHkACWQ7gDwAPECAAmNtbnByAEwGTwZSBlUGWwb1IXRlOWHiIWRhm2NnAACg6ifsI2FjZXRyZgCgEiFyAACgniGAAWFleQBkBmcGagbyIW9uPWHkIWlsO2EbZAABZnNvBjQHdAAABUFDREZSVFVWYXKABp4GpAbGBssG3AYDByEHwQIqBwABbnKEBowGZyVsZUJyYWNrZXQAAKDoJ/Ihb3cAoZAhQlKTBpcGYQByAACg5CHpJGdodEFycm93AKDGIWUjaWxpbmcAAKAII28A9QGqBgAAsgZiJWxlQnJhY2tldAAAoOYnbgDUAbcGAAC+BmUkZVZlY3RvcgAAoGEp5SJjdG9yQqDDIWEAcgAAoFkpbCJvb3IAAKAKI2kiZ2h0AAABQVbSBtcGciJyb3cAAKCUIeUiY3RvcgCgTikAAWVy4AbwBmUAAKGjIkFW5gbrBnIicm93AACgpCHlImN0b3IAoFopaSNhbmdsZQBCorIi+wYAAAAA/wZhAHIAAKDPKXEidWFsAACgtCJwAIABRFRWAAoHEQcYB+8kd25WZWN0b3IAoFEpZSRlVmVjdG9yAACgYCnlImN0b3JCoL8hYQByAACgWCnlImN0b3JCoLwhYQByAACgUilpAGcAaAB0AGEAcgByAG8A9wDMAnMAAANFRkdMU1Q/B0cHTgdUB1gHXwfxJXVhbEdyZWF0ZXIAoNoidSRsbEVxdWFsAACgZiJyI2VhdGVyAACgdiLlIXNzAKChKuwkYW50RXF1YWwAoH0qaSJsZGUAAKByInIAAOA12A/dZaDYIuYjdGFycm93AKDaIWkiZG90AD9hgAFucHcAege1B7kHZwAAAkxSbHKCB5QHmwerB+UhZnQAAUFSiAeNB3Iicm93AACg9SfpJGdodEFycm93AKD3J+kkZ2h0QXJyb3cAoPYn5SFmdAABYXLcAqEHaQBnAGgAdABhAHIAcgBvAPcA5wJpAGcAaAB0AGEAcgByAG8A9wDuAmYAAOA12EPdZQByAAABTFK/B8YHZSRmdEFycm93AACgmSHpJGdodEFycm93AKCYIYABY2h0ANMH1QfXB/IAWgYAoLAh8iFva0FhAKBqIgAEYWNlZmlvc3XpB+wH7gf/BwMICQgOCBEIcAAAoAUpeQAcZAABZGzyB/kHaSR1bVNwYWNlAACgXyBsI2ludHJmAACgMyFyAADgNdgQ3e4jdXNQbHVzAKATInAAZgAA4DXYRN1jAPIA/gecY4AESmFjZWZvc3R1ACEIJAgoCDUIgQiFCDsKQApHCmMAeQAKZGMidXRlAENhgAFhZXkALggxCDQI8iFvbkdh5CFpbEVhHWSAAWdzdwA7CGEIfQjhInRpdmWAAU1UVgBECEwIWQhlJWRpdW1TcGFjZQAAoAsgaABpAAABY25SCFMIawBTAHAAYQBjAOUASwhlAHIAeQBUAGgAaQDuAFQI9CFlZAABR0xnCHUIcgBlAGEAdABlAHIARwByAGUAYQB0AGUA8gDrBGUAcwBzAEwAZQBzAPMA2wdMImluZQAKYHIAAOA12BHdAAJCbnB0jAiRCJkInAhyImVhawAAoGAgwiZyZWFraW5nU3BhY2WgYGYAAKAVIUOq7CqzCMIIzQgAAOcIGwkAAAAAAAAtCQAAbwkAAIcJAACdCcAJGQoAADQKAAFvdbYIvAjuI2dydWVudACgYiJwIkNhcAAAoG0ibyh1YmxlVmVydGljYWxCYXIAAKAmIoABbHF4ANII1wjhCOUibWVudACgCSL1IWFsVKBgImkibGRlAADgQiI4A2kic3RzAACgBCJyI2VhdGVyAACjbyJFRkdMU1T1CPoIAgkJCQ0JFQlxInVhbAAAoHEidSRsbEVxdWFsAADgZyI4A3IjZWF0ZXIAAOBrIjgD5SFzcwCgeSLsJGFudEVxdWFsAOB+KjgDaSJsZGUAAKB1IvUhbXBEASAJJwnvI3duSHVtcADgTiI4A3EidWFsAADgTyI4A2UAAAFmczEJRgn0JFRyaWFuZ2xlQqLqIj0JAAAAAEIJYQByAADgzyk4A3EidWFsAACg7CJzAICibiJFR0xTVABRCVYJXAlhCWkJcSJ1YWwAAKBwInIjZWF0ZXIAAKB4IuUhc3MA4GoiOAPsJGFudEVxdWFsAOB9KjgDaSJsZGUAAKB0IuUic3RlZAABR0x1CX8J8iZlYXRlckdyZWF0ZXIA4KIqOAPlI3NzTGVzcwDgoSo4A/IjZWNlZGVzAKGAIkVTjwmVCXEidWFsAADgryo4A+wkYW50RXF1YWwAoOAiAAFlaaAJqQl2JmVyc2VFbGVtZW50AACgDCLnJWh0VHJpYW5nbGVCousitgkAAAAAuwlhAHIAAODQKTgDcSJ1YWwAAKDtIgABcXXDCeAJdSNhcmVTdQAAAWJwywnVCfMhZXRF4I8iOANxInVhbAAAoOIi5SJyc2V0ReCQIjgDcSJ1YWwAAKDjIoABYmNwAOYJ8AkNCvMhZXRF4IIi0iBxInVhbAAAoIgi4yJlZWRzgKGBIkVTVAD6CQAKBwpxInVhbAAA4LAqOAPsJGFudEVxdWFsAKDhImkibGRlAADgfyI4A+UicnNldEXggyLSIHEidWFsAACgiSJpImxkZQCAoUEiRUZUACIKJwouCnEidWFsAACgRCJ1JGxsRXF1YWwAAKBHImkibGRlAACgSSJlJXJ0aWNhbEJhcgAAoCQiYwByAADgNdip3GkAbABkAGUAO4DRANFAnWMAB0VhY2RmZ21vcHJzdHV2XgphCmgKcgp2CnoKgQqRCpYKqwqtCrsKyArNCuwhaWdSYWMAdQB0AGUAO4DTANNAAAFpeWwKcQpyAGMAO4DUANRAHmRiImxhYwBQYXIAAOA12BLdcgBhAHYAZQA7gNIA0kCAAWFlaQCHCooKjQpjAHIATGFnAGEAqWNjInJvbgCfY3AAZgAA4DXYRt3lI25DdXJseQABRFGeCqYKbyV1YmxlUXVvdGUAAKAcIHUib3RlAACgGCAAoFQqAAFjbLEKtQpyAADgNdiq3GEAcwBoADuA2ADYQGkAbAHACsUKZABlADuA1QDVQGUAcwAAoDcqbQBsADuA1gDWQGUAcgAAAUJQ0wrmCgABYXLXCtoKcgAAoD4gYQBjAAABZWvgCuIKAKDeI2UAdAAAoLQjYSVyZW50aGVzaXMAAKDcI4AEYWNmaGlsb3JzAP0KAwsFCwkLCwsMCxELIwtaC3IjdGlhbEQAAKACInkAH2RyAADgNdgT3WkApmOgY/Ujc01pbnVzsWAAAWlwFQsgC24AYwBhAHIAZQBwAGwAYQBuAOUACgVmAACgGSGAobsqZWlvACoLRQtJC+MiZWRlc4CheiJFU1QANAs5C0ALcSJ1YWwAAKCvKuwkYW50RXF1YWwAoHwiaSJsZGUAAKB+Im0AZQAAoDMgAAFkcE0LUQv1IWN0AKAPIm8jcnRpb24AYaA3ImwAAKAdIgABY2leC2ILcgAA4DXYq9yoYwACVWZvc2oLbwtzC3cLTwBUADuAIgAiQHIAAOA12BTdcABmAACgGiFjAHIAAOA12KzcAAZCRWFjZWZoaW9yc3WPC5MLlwupC7YL2AvbC90LhQyTDJoMowzhIXJyAKAQKUcAO4CuAK5AgAFjbnIAnQugC6ML9SF0ZVRhZwAAoOsncgB0oKAhbAAAoBYpgAFhZXkArwuyC7UL8iFvblhh5CFpbFZhIGR2oBwhZSJyc2UAAAFFVb8LzwsAAWxxwwvIC+UibWVudACgCyL1JGlsaWJyaXVtAKDLIXAmRXF1aWxpYnJpdW0AAKBvKXIAAKAcIW8AoWPnIWh0AARBQ0RGVFVWYewLCgwQDDIMNwxeDHwM9gIAAW5y8Av4C2clbGVCcmFja2V0AACg6SfyIW93AKGSIUJM/wsDDGEAcgAAoOUhZSRmdEFycm93AACgxCFlI2lsaW5nAACgCSNvAPUBFgwAAB4MYiVsZUJyYWNrZXQAAKDnJ24A1AEjDAAAKgxlJGVWZWN0b3IAAKBdKeUiY3RvckKgwiFhAHIAAKBVKWwib29yAACgCyMAAWVyOwxLDGUAAKGiIkFWQQxGDHIicm93AACgpiHlImN0b3IAoFspaSNhbmdsZQBCorMiVgwAAAAAWgxhAHIAAKDQKXEidWFsAACgtSJwAIABRFRWAGUMbAxzDO8kd25WZWN0b3IAoE8pZSRlVmVjdG9yAACgXCnlImN0b3JCoL4hYQByAACgVCnlImN0b3JCoMAhYQByAACgUykAAXB1iQyMDGYAAKAdIe4kZEltcGxpZXMAoHAp6SRnaHRhcnJvdwCg2yEAAWNongyhDHIAAKAbIQCgsSHsJGVEZWxheWVkAKD0KYAGSE9hY2ZoaW1vcXN0dQC/DMgMzAzQDOIM5gwKDQ0NFA0ZDU8NVA1YDQABQ2PDDMYMyCFjeSlkeQAoZEYiVGN5ACxkYyJ1dGUAWmEAorwqYWVpedgM2wzeDOEM8iFvbmBh5CFpbF5hcgBjAFxhIWRyAADgNdgW3e8hcnQAAkRMUlXvDPYM/QwEDW8kd25BcnJvdwAAoJMhZSRmdEFycm93AACgkCHpJGdodEFycm93AKCSIXAjQXJyb3cAAKCRIechbWGjY+EkbGxDaXJjbGUAoBgicABmAADgNdhK3XICHw0AAAAAIg10AACgGiLhIXJlgKGhJUlTVQAqDTINSg3uJXRlcnNlY3Rpb24AoJMidQAAAWJwNw1ADfMhZXRFoI8icSJ1YWwAAKCRIuUicnNldEWgkCJxInVhbAAAoJIibiJpb24AAKCUImMAcgAA4DXYrtxhAHIAAKDGIgACYmNtcF8Nag2ODZANc6DQImUAdABFoNAicSJ1YWwAAKCGIgABY2huDYkNZSJlZHMAgKF7IkVTVAB4DX0NhA1xInVhbAAAoLAq7CRhbnRFcXVhbACgfSJpImxkZQAAoH8iVABoAGEA9ADHCwCgESIAodEiZXOVDZ8NciJzZXQARaCDInEidWFsAACghyJlAHQAAKDRIoAFSFJTYWNmaGlvcnMAtQ27Db8NyA3ODdsN3w3+DRgOHQ4jDk8AUgBOADuA3gDeQMEhREUAoCIhAAFIY8MNxg1jAHkAC2R5ACZkAAFidcwNzQ0JYKRjgAFhZXkA1A3XDdoN8iFvbmRh5CFpbGJhImRyAADgNdgX3QABZWnjDe4N8gHoDQAA7Q3lImZvcmUAoDQiYQCYYwABY27yDfkNayNTcGFjZQAA4F8gCiDTInBhY2UAoAkg7CFkZYChPCJFRlQABw4MDhMOcSJ1YWwAAKBDInUkbGxFcXVhbAAAoEUiaSJsZGUAAKBIInAAZgAA4DXYS93pI3BsZURvdACg2yAAAWN0Jw4rDnIAAOA12K/c8iFva2Zh4QpFDlYOYA5qDgAAbg5yDgAAAAAAAAAAAAB5DnwOqA6zDgAADg8RDxYPGg8AAWNySA5ODnUAdABlADuA2gDaQHIAb6CfIeMhaXIAoEkpcgDjAVsOAABdDnkADmR2AGUAbGEAAWl5Yw5oDnIAYwA7gNsA20AjZGIibGFjAHBhcgAA4DXYGN1yAGEAdgBlADuA2QDZQOEhY3JqYQABZGl/Dp8OZQByAAABQlCFDpcOAAFhcokOiw5yAF9gYQBjAAABZWuRDpMOAKDfI2UAdAAAoLUjYSVyZW50aGVzaXMAAKDdI28AbgBQoMMi7CF1cwCgjiIAAWdwqw6uDm8AbgByYWYAAOA12EzdAARBREVUYWRwc78O0g7ZDuEOBQPqDvMOBw9yInJvdwDCoZEhyA4AAMwOYQByAACgEilvJHduQXJyb3cAAKDFIW8kd25BcnJvdwAAoJUhcSV1aWxpYnJpdW0AAKBuKWUAZQBBoKUiciJyb3cAAKClIW8AdwBuAGEAcgByAG8A9wAQA2UAcgAAAUxS+Q4AD2UkZnRBcnJvdwAAoJYh6SRnaHRBcnJvdwCglyFpAGyg0gNvAG4ApWPpIW5nbmFjAHIAAOA12LDcaSJsZGUAaGFtAGwAO4DcANxAgAREYmNkZWZvc3YALQ8xDzUPNw89D3IPdg97D4AP4SFzaACgqyJhAHIAAKDrKnkAEmThIXNobKCpIgCg5ioAAWVyQQ9DDwCgwSKAAWJ0eQBJD00Paw9hAHIAAKAWIGmgFiDjIWFsAAJCTFNUWA9cD18PZg9hAHIAAKAjIukhbmV8YGUkcGFyYXRvcgAAoFgnaSJsZGUAAKBAItQkaGluU3BhY2UAoAogcgAA4DXYGd1wAGYAAOA12E3dYwByAADgNdix3GQiYXNoAACgqiKAAmNlZm9zAI4PkQ+VD5kPng/pIXJjdGHkIWdlAKDAInIAAOA12BrdcABmAADgNdhO3WMAcgAA4DXYstwAAmZpb3OqD64Prw+0D3IAAOA12BvdnmNwAGYAAOA12E/dYwByAADgNdiz3IAEQUlVYWNmb3N1AMgPyw/OD9EP2A/gD+QP6Q/uD2MAeQAvZGMAeQAHZGMAeQAuZGMAdQB0AGUAO4DdAN1AAAFpedwP3w9yAGMAdmErZHIAAOA12BzdcABmAADgNdhQ3WMAcgAA4DXYtNxtAGwAeGEABEhhY2RlZm9z/g8BEAUQDRAQEB0QIBAkEGMAeQAWZGMidXRlAHlhAAFheQkQDBDyIW9ufWEXZG8AdAB7YfIBFRAAABwQbwBXAGkAZAB0AOgAVAhhAJZjcgAAoCghcABmAACgJCFjAHIAAOA12LXc4QtCEEkQTRAAAGcQbRByEAAAAAAAAAAAeRCKEJcQ8hD9EAAAGxEhETIROREAAD4RYwB1AHQAZQA7gOEA4UByImV2ZQADYYCiPiJFZGl1eQBWEFkQWxBgEGUQAOA+IjMDAKA/InIAYwA7gOIA4kB0AGUAO4C0ALRAMGRsAGkAZwA7gOYA5kByoGEgAOA12B7dcgBhAHYAZQA7gOAA4EAAAWVwfBCGEAABZnCAEIQQ8yF5bQCgNSHoAIMQaABhALFjAAFhcI0QWwAAAWNskRCTEHIAAWFnAACgPypkApwQAAAAALEQAKInImFkc3ajEKcQqRCuEG4AZAAAoFUqAKBcKmwib3BlAACgWCoAoFoqAKMgImVsbXJzersQvRDAEN0Q5RDtEACgpCllAACgICJzAGQAYaAhImEEzhDQENIQ1BDWENgQ2hDcEACgqCkAoKkpAKCqKQCgqykAoKwpAKCtKQCgrikAoK8pdAB2oB8iYgBkoL4iAKCdKQABcHTpEOwQaAAAoCIixWDhIXJyAKB8IwABZ3D1EPgQbwBuAAVhZgAA4DXYUt0Ao0giRWFlaW9wBxEJEQ0RDxESERQRAKBwKuMhaXIAoG8qAKBKImQAAKBLInMAJ2DyIW94ZaBIIvEADhFpAG4AZwA7gOUA5UCAAWN0eQAmESoRKxFyAADgNdi23CpgbQBwAGWgSCLxAPgBaQBsAGQAZQA7gOMA40BtAGwAO4DkAORAAAFjaUERRxFvAG4AaQBuAPQA6AFuAHQAAKARKgAITmFiY2RlZmlrbG5vcHJzdWQRaBGXEZ8RpxGrEdIR1hErEjASexKKEn0RThNbE3oTbwB0AACg7SoAAWNybBGJEWsAAAJjZXBzdBF4EX0RghHvIW5nAKBMInAjc2lsb24A9mNyImltZQAAoDUgaQBtAGWgPSJxAACgzSJ2AY0RkRFlAGUAAKC9ImUAZABnoAUjZQAAoAUjcgBrAHSgtSPiIXJrAKC2IwABb3mjEaYRbgDnAHcRMWTxIXVvAKAeIIACY21wcnQAtBG5Eb4RwRHFEeEhdXPloDUi5ABwInR5dgAAoLApcwDpAH0RbgBvAPUA6gCAAWFodwDLEcwRzhGyYwCgNiHlIWVuAKBsInIAAOA12B/dZwCAA2Nvc3R1dncA4xHyEQUSEhIhEiYSKRKAAWFpdQDpEesR7xHwAKMFcgBjAACg7yVwAACgwyKAAWRwdAD4EfwRABJvAHQAAKAAKuwhdXMAoAEqaSJtZXMAAKACKnECCxIAAAAADxLjIXVwAKAGKmEAcgAAoAUm8iNpYW5nbGUAAWR1GhIeEu8hd24AoL0lcAAAoLMlcCJsdXMAAKAEKmUA5QBCD+UAkg9hInJvdwAAoA0pgAFha28ANhJoEncSAAFjbjoSZRJrAIABbHN0AEESRxJNEm8jemVuZ2UAAKDrKXEAdQBhAHIA5QBcBPIjaWFuZ2xlgKG0JWRscgBYElwSYBLvIXduAKC+JeUhZnQAoMIlaSJnaHQAAKC4JWsAAKAjJLEBbRIAAHUSsgFxEgAAcxIAoJIlAKCRJTQAAKCTJWMAawAAoIglAAFlb38ShxJx4D0A5SD1IWl2AOBhIuUgdAAAoBAjAAJwdHd4kRKVEpsSnxJmAADgNdhT3XSgpSJvAG0AAKClIvQhaWUAoMgiAAZESFVWYmRobXB0dXayEsES0RLgEvcS+xIKExoTHxMjEygTNxMAAkxSbHK5ErsSvRK/EgCgVyUAoFQlAKBWJQCgUyUAolAlRFVkdckSyxLNEs8SAKBmJQCgaSUAoGQlAKBnJQACTFJsctgS2hLcEt4SAKBdJQCgWiUAoFwlAKBZJQCjUSVITFJobHLrEu0S7xLxEvMS9RIAoGwlAKBjJQCgYCUAoGslAKBiJQCgXyVvAHgAAKDJKQACTFJscgITBBMGEwgTAKBVJQCgUiUAoBAlAKAMJQCiACVEVWR1EhMUExYTGBMAoGUlAKBoJQCgLCUAoDQlaSJudXMAAKCfIuwhdXMAoJ4iaSJtZXMAAKCgIgACTFJsci8TMRMzEzUTAKBbJQCgWCUAoBglAKAUJQCjAiVITFJobHJCE0QTRhNIE0oTTBMAoGolAKBhJQCgXiUAoDwlAKAkJQCgHCUAAWV2UhNVE3YA5QD5AGIAYQByADuApgCmQAACY2Vpb2ITZhNqE24TcgAA4DXYt9xtAGkAAKBPIG0A5aA9IogRbAAAoVwAYmh0E3YTAKDFKfMhdWIAoMgnbAF+E4QTbABloCIgdAAAoCIgcAAAoU4iRWWJE4sTAKCuKvGgTyI8BeEMqRMAAN8TABQDFB8UAAAjFDQUAAAAAIUUAAAAAI0UAAAAANcU4xT3FPsUAACIFQAAlhWAAWNwcgCuE7ET1RP1IXRlB2GAoikiYWJjZHMAuxO/E8QTzhPSE24AZAAAoEQqciJjdXAAAKBJKgABYXXIE8sTcAAAoEsqcAAAoEcqbwB0AACgQCoA4CkiAP4AAWVv2RPcE3QAAKBBIO4ABAUAAmFlaXXlE+8T9RP4E/AB6hMAAO0TcwAAoE0qbwBuAA1hZABpAGwAO4DnAOdAcgBjAAlhcABzAHOgTCptAACgUCpvAHQAC2GAAWRtbgAIFA0UEhRpAGwAO4C4ALhAcCJ0eXYAAKCyKXQAAIGiADtlGBQZFKJAcgBkAG8A9ABiAXIAAOA12CDdgAFjZWkAKBQqFDIUeQBHZGMAawBtoBMn4SFyawCgEyfHY3IAAKPLJUVjZWZtcz8UQRRHFHcUfBSAFACgwykAocYCZWxGFEkUcQAAoFciZQBhAlAUAAAAAGAUciJyb3cAAAFsclYUWhTlIWZ0AKC6IWkiZ2h0AACguyGAAlJTYWNkAGgUaRRrFG8UcxSuYACgyCRzAHQAAKCbIukhcmMAoJoi4SFzaACgnSJuImludAAAoBAqaQBkAACg7yrjIWlyAKDCKfUhYnN1oGMmaQB0AACgYybsApMUmhS2FAAAwxRvAG4AZaA6APGgVCKrAG0CnxQAAAAAoxRhAHSgLABAYAChASJmbKcUqRTuABMNZQAAAW14rhSyFOUhbnQAoAEiZQDzANIB5wG6FAAAwBRkoEUibwB0AACgbSpuAPQAzAGAAWZyeQDIFMsUzhQA4DXYVN1vAOQA1wEAgakAO3MeAdMUcgAAoBchAAFhb9oU3hRyAHIAAKC1IXMAcwAAoBcnAAFjdeYU6hRyAADgNdi43AABYnDuFPIUZaDPKgCg0SploNAqAKDSKuQhb3QAoO8igANkZWxwcnZ3AAYVEBUbFSEVRBVlFYQV4SFycgABbHIMFQ4VAKA4KQCgNSlwAhYVAAAAABkVcgAAoN4iYwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWls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ZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg"), Re = /* #__PURE__ */ b("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg"), x;
|
|
447
447
|
(function(e) {
|
|
448
448
|
e[e.VALUE_LENGTH = 49152] = "VALUE_LENGTH", e[e.FLAG13 = 8192] = "FLAG13", e[e.BRANCH_LENGTH = 8064] = "BRANCH_LENGTH", e[e.JUMP_TABLE = 127] = "JUMP_TABLE";
|
|
449
|
-
})(
|
|
449
|
+
})(x ||= {});
|
|
450
450
|
//#endregion
|
|
451
451
|
//#region ../../node_modules/.pnpm/entities@8.0.0/node_modules/entities/dist/decode.js
|
|
452
|
-
var
|
|
452
|
+
var S;
|
|
453
453
|
(function(e) {
|
|
454
454
|
e[e.NUM = 35] = "NUM", e[e.SEMI = 59] = "SEMI", e[e.EQUALS = 61] = "EQUALS", e[e.ZERO = 48] = "ZERO", e[e.NINE = 57] = "NINE", e[e.LOWER_A = 97] = "LOWER_A", e[e.LOWER_F = 102] = "LOWER_F", e[e.LOWER_X = 120] = "LOWER_X", e[e.LOWER_Z = 122] = "LOWER_Z", e[e.UPPER_A = 65] = "UPPER_A", e[e.UPPER_F = 70] = "UPPER_F", e[e.UPPER_Z = 90] = "UPPER_Z";
|
|
455
|
-
})(
|
|
456
|
-
var
|
|
457
|
-
function
|
|
458
|
-
return e >=
|
|
459
|
-
}
|
|
460
|
-
function ze(e) {
|
|
461
|
-
return e >= C.UPPER_A && e <= C.UPPER_F || e >= C.LOWER_A && e <= C.LOWER_F;
|
|
455
|
+
})(S ||= {});
|
|
456
|
+
var ze = 32;
|
|
457
|
+
function C(e) {
|
|
458
|
+
return e >= S.ZERO && e <= S.NINE;
|
|
462
459
|
}
|
|
463
460
|
function Be(e) {
|
|
464
|
-
return e >=
|
|
461
|
+
return e >= S.UPPER_A && e <= S.UPPER_F || e >= S.LOWER_A && e <= S.LOWER_F;
|
|
465
462
|
}
|
|
466
463
|
function Ve(e) {
|
|
467
|
-
return e
|
|
464
|
+
return e >= S.UPPER_A && e <= S.UPPER_Z || e >= S.LOWER_A && e <= S.LOWER_Z || C(e);
|
|
468
465
|
}
|
|
469
|
-
|
|
466
|
+
function He(e) {
|
|
467
|
+
return e === S.EQUALS || Ve(e);
|
|
468
|
+
}
|
|
469
|
+
var w;
|
|
470
470
|
(function(e) {
|
|
471
471
|
e[e.EntityStart = 0] = "EntityStart", e[e.NumericStart = 1] = "NumericStart", e[e.NumericDecimal = 2] = "NumericDecimal", e[e.NumericHex = 3] = "NumericHex", e[e.NamedEntity = 4] = "NamedEntity";
|
|
472
|
-
})(
|
|
473
|
-
var
|
|
472
|
+
})(w ||= {});
|
|
473
|
+
var T;
|
|
474
474
|
(function(e) {
|
|
475
475
|
e[e.Legacy = 0] = "Legacy", e[e.Strict = 1] = "Strict", e[e.Attribute = 2] = "Attribute";
|
|
476
|
-
})(
|
|
477
|
-
var
|
|
476
|
+
})(T ||= {});
|
|
477
|
+
var Ue = class {
|
|
478
478
|
decodeTree;
|
|
479
479
|
emitCodePoint;
|
|
480
480
|
errors;
|
|
481
481
|
constructor(e, t, n) {
|
|
482
482
|
this.decodeTree = e, this.emitCodePoint = t, this.errors = n;
|
|
483
483
|
}
|
|
484
|
-
state =
|
|
484
|
+
state = w.EntityStart;
|
|
485
485
|
consumed = 1;
|
|
486
486
|
result = 0;
|
|
487
487
|
treeIndex = 0;
|
|
488
488
|
excess = 1;
|
|
489
|
-
decodeMode =
|
|
489
|
+
decodeMode = T.Strict;
|
|
490
490
|
runConsumed = 0;
|
|
491
491
|
startEntity(e) {
|
|
492
|
-
this.decodeMode = e, this.state =
|
|
492
|
+
this.decodeMode = e, this.state = w.EntityStart, this.result = 0, this.treeIndex = 0, this.excess = 1, this.consumed = 1, this.runConsumed = 0;
|
|
493
493
|
}
|
|
494
494
|
write(e, t) {
|
|
495
495
|
switch (this.state) {
|
|
496
|
-
case
|
|
497
|
-
case
|
|
498
|
-
case
|
|
499
|
-
case
|
|
500
|
-
case
|
|
496
|
+
case w.EntityStart: return e.charCodeAt(t) === S.NUM ? (this.state = w.NumericStart, this.consumed += 1, this.stateNumericStart(e, t + 1)) : (this.state = w.NamedEntity, this.stateNamedEntity(e, t));
|
|
497
|
+
case w.NumericStart: return this.stateNumericStart(e, t);
|
|
498
|
+
case w.NumericDecimal: return this.stateNumericDecimal(e, t);
|
|
499
|
+
case w.NumericHex: return this.stateNumericHex(e, t);
|
|
500
|
+
case w.NamedEntity: return this.stateNamedEntity(e, t);
|
|
501
501
|
}
|
|
502
502
|
}
|
|
503
503
|
stateNumericStart(e, t) {
|
|
504
|
-
return t >= e.length ? -1 : (e.charCodeAt(t) |
|
|
504
|
+
return t >= e.length ? -1 : (e.charCodeAt(t) | ze) === S.LOWER_X ? (this.state = w.NumericHex, this.consumed += 1, this.stateNumericHex(e, t + 1)) : (this.state = w.NumericDecimal, this.stateNumericDecimal(e, t));
|
|
505
505
|
}
|
|
506
506
|
stateNumericHex(e, t) {
|
|
507
507
|
for (; t < e.length;) {
|
|
508
508
|
let n = e.charCodeAt(t);
|
|
509
|
-
if (
|
|
510
|
-
let e = n <=
|
|
509
|
+
if (C(n) || Be(n)) {
|
|
510
|
+
let e = n <= S.NINE ? n - S.ZERO : (n | ze) - S.LOWER_A + 10;
|
|
511
511
|
this.result = this.result * 16 + e, this.consumed++, t++;
|
|
512
512
|
} else return this.emitNumericEntity(n, 3);
|
|
513
513
|
}
|
|
@@ -516,24 +516,24 @@ var He = class {
|
|
|
516
516
|
stateNumericDecimal(e, t) {
|
|
517
517
|
for (; t < e.length;) {
|
|
518
518
|
let n = e.charCodeAt(t);
|
|
519
|
-
if (
|
|
519
|
+
if (C(n)) this.result = this.result * 10 + (n - S.ZERO), this.consumed++, t++;
|
|
520
520
|
else return this.emitNumericEntity(n, 2);
|
|
521
521
|
}
|
|
522
522
|
return -1;
|
|
523
523
|
}
|
|
524
524
|
emitNumericEntity(e, t) {
|
|
525
525
|
if (this.consumed <= t) return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
|
|
526
|
-
if (e ===
|
|
527
|
-
else if (this.decodeMode ===
|
|
528
|
-
return this.emitCodePoint(
|
|
526
|
+
if (e === S.SEMI) this.consumed += 1;
|
|
527
|
+
else if (this.decodeMode === T.Strict) return 0;
|
|
528
|
+
return this.emitCodePoint(Ie(this.result), this.consumed), this.errors && (e !== S.SEMI && this.errors.missingSemicolonAfterCharacterReference(), this.errors.validateNumericCharacterReference(this.result)), this.consumed;
|
|
529
529
|
}
|
|
530
530
|
stateNamedEntity(e, t) {
|
|
531
|
-
let { decodeTree: n } = this, r = n[this.treeIndex], i = (r &
|
|
531
|
+
let { decodeTree: n } = this, r = n[this.treeIndex], i = (r & x.VALUE_LENGTH) >> 14;
|
|
532
532
|
for (; t < e.length;) {
|
|
533
|
-
if (i === 0 && (r &
|
|
534
|
-
let a = (r &
|
|
533
|
+
if (i === 0 && (r & x.FLAG13) !== 0) {
|
|
534
|
+
let a = (r & x.BRANCH_LENGTH) >> 7;
|
|
535
535
|
if (this.runConsumed === 0) {
|
|
536
|
-
let n = r &
|
|
536
|
+
let n = r & x.JUMP_TABLE;
|
|
537
537
|
if (e.charCodeAt(t) !== n) return this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
|
|
538
538
|
t++, this.excess++, this.runConsumed++;
|
|
539
539
|
}
|
|
@@ -543,40 +543,40 @@ var He = class {
|
|
|
543
543
|
if (e.charCodeAt(t) !== a) return this.runConsumed = 0, this.result === 0 ? 0 : this.emitNotTerminatedNamedEntity();
|
|
544
544
|
t++, this.excess++, this.runConsumed++;
|
|
545
545
|
}
|
|
546
|
-
this.runConsumed = 0, this.treeIndex += 1 + (a >> 1), r = n[this.treeIndex], i = (r &
|
|
546
|
+
this.runConsumed = 0, this.treeIndex += 1 + (a >> 1), r = n[this.treeIndex], i = (r & x.VALUE_LENGTH) >> 14;
|
|
547
547
|
}
|
|
548
548
|
if (t >= e.length) break;
|
|
549
549
|
let a = e.charCodeAt(t);
|
|
550
|
-
if (a ===
|
|
551
|
-
if (this.treeIndex =
|
|
552
|
-
if (r = n[this.treeIndex], i = (r &
|
|
553
|
-
if (a ===
|
|
554
|
-
this.decodeMode !==
|
|
550
|
+
if (a === S.SEMI && i !== 0 && (r & x.FLAG13) !== 0) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
|
|
551
|
+
if (this.treeIndex = We(n, r, this.treeIndex + Math.max(1, i), a), this.treeIndex < 0) return this.result === 0 || this.decodeMode === T.Attribute && (i === 0 || He(a)) ? 0 : this.emitNotTerminatedNamedEntity();
|
|
552
|
+
if (r = n[this.treeIndex], i = (r & x.VALUE_LENGTH) >> 14, i !== 0) {
|
|
553
|
+
if (a === S.SEMI) return this.emitNamedEntityData(this.treeIndex, i, this.consumed + this.excess);
|
|
554
|
+
this.decodeMode !== T.Strict && (r & x.FLAG13) === 0 && (this.result = this.treeIndex, this.consumed += this.excess, this.excess = 0);
|
|
555
555
|
}
|
|
556
556
|
t++, this.excess++;
|
|
557
557
|
}
|
|
558
558
|
return -1;
|
|
559
559
|
}
|
|
560
560
|
emitNotTerminatedNamedEntity() {
|
|
561
|
-
let { result: e, decodeTree: t } = this, n = (t[e] &
|
|
561
|
+
let { result: e, decodeTree: t } = this, n = (t[e] & x.VALUE_LENGTH) >> 14;
|
|
562
562
|
return this.emitNamedEntityData(e, n, this.consumed), this.errors?.missingSemicolonAfterCharacterReference(), this.consumed;
|
|
563
563
|
}
|
|
564
564
|
emitNamedEntityData(e, t, n) {
|
|
565
565
|
let { decodeTree: r } = this;
|
|
566
|
-
return this.emitCodePoint(t === 1 ? r[e] & ~(
|
|
566
|
+
return this.emitCodePoint(t === 1 ? r[e] & ~(x.VALUE_LENGTH | x.FLAG13) : r[e + 1], n), t === 3 && this.emitCodePoint(r[e + 2], n), n;
|
|
567
567
|
}
|
|
568
568
|
end() {
|
|
569
569
|
switch (this.state) {
|
|
570
|
-
case
|
|
571
|
-
case
|
|
572
|
-
case
|
|
573
|
-
case
|
|
574
|
-
case
|
|
570
|
+
case w.NamedEntity: return this.result !== 0 && (this.decodeMode !== T.Attribute || this.result === this.treeIndex) ? this.emitNotTerminatedNamedEntity() : 0;
|
|
571
|
+
case w.NumericDecimal: return this.emitNumericEntity(0, 2);
|
|
572
|
+
case w.NumericHex: return this.emitNumericEntity(0, 3);
|
|
573
|
+
case w.NumericStart: return this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed), 0;
|
|
574
|
+
case w.EntityStart: return 0;
|
|
575
575
|
}
|
|
576
576
|
}
|
|
577
577
|
};
|
|
578
|
-
function
|
|
579
|
-
let i = (t &
|
|
578
|
+
function We(e, t, n, r) {
|
|
579
|
+
let i = (t & x.BRANCH_LENGTH) >> 7, a = t & x.JUMP_TABLE;
|
|
580
580
|
if (i === 0) return a !== 0 && r === a ? n : -1;
|
|
581
581
|
if (a) {
|
|
582
582
|
let t = r - a;
|
|
@@ -593,28 +593,28 @@ function Ue(e, t, n, r) {
|
|
|
593
593
|
}
|
|
594
594
|
//#endregion
|
|
595
595
|
//#region ../../node_modules/.pnpm/htmlparser2@12.0.0/node_modules/htmlparser2/dist/Tokenizer.js
|
|
596
|
-
var
|
|
596
|
+
var E;
|
|
597
597
|
(function(e) {
|
|
598
598
|
e[e.Tab = 9] = "Tab", e[e.NewLine = 10] = "NewLine", e[e.FormFeed = 12] = "FormFeed", e[e.CarriageReturn = 13] = "CarriageReturn", e[e.Space = 32] = "Space", e[e.ExclamationMark = 33] = "ExclamationMark", e[e.Number = 35] = "Number", e[e.Amp = 38] = "Amp", e[e.SingleQuote = 39] = "SingleQuote", e[e.DoubleQuote = 34] = "DoubleQuote", e[e.Dash = 45] = "Dash", e[e.Slash = 47] = "Slash", e[e.Zero = 48] = "Zero", e[e.Nine = 57] = "Nine", e[e.Semi = 59] = "Semi", e[e.Lt = 60] = "Lt", e[e.Eq = 61] = "Eq", e[e.Gt = 62] = "Gt", e[e.Questionmark = 63] = "Questionmark", e[e.UpperA = 65] = "UpperA", e[e.LowerA = 97] = "LowerA", e[e.UpperF = 70] = "UpperF", e[e.LowerF = 102] = "LowerF", e[e.UpperZ = 90] = "UpperZ", e[e.LowerZ = 122] = "LowerZ", e[e.LowerX = 120] = "LowerX", e[e.OpeningSquareBracket = 91] = "OpeningSquareBracket";
|
|
599
|
-
})(
|
|
600
|
-
var
|
|
599
|
+
})(E ||= {});
|
|
600
|
+
var D;
|
|
601
601
|
(function(e) {
|
|
602
602
|
e[e.Text = 1] = "Text", e[e.BeforeTagName = 2] = "BeforeTagName", e[e.InTagName = 3] = "InTagName", e[e.InSelfClosingTag = 4] = "InSelfClosingTag", e[e.BeforeClosingTagName = 5] = "BeforeClosingTagName", e[e.InClosingTagName = 6] = "InClosingTagName", e[e.AfterClosingTagName = 7] = "AfterClosingTagName", e[e.BeforeAttributeName = 8] = "BeforeAttributeName", e[e.InAttributeName = 9] = "InAttributeName", e[e.AfterAttributeName = 10] = "AfterAttributeName", e[e.BeforeAttributeValue = 11] = "BeforeAttributeValue", e[e.InAttributeValueDq = 12] = "InAttributeValueDq", e[e.InAttributeValueSq = 13] = "InAttributeValueSq", e[e.InAttributeValueNq = 14] = "InAttributeValueNq", e[e.BeforeDeclaration = 15] = "BeforeDeclaration", e[e.InDeclaration = 16] = "InDeclaration", e[e.InProcessingInstruction = 17] = "InProcessingInstruction", e[e.BeforeComment = 18] = "BeforeComment", e[e.CDATASequence = 19] = "CDATASequence", e[e.DeclarationSequence = 20] = "DeclarationSequence", e[e.InSpecialComment = 21] = "InSpecialComment", e[e.InCommentLike = 22] = "InCommentLike", e[e.SpecialStartSequence = 23] = "SpecialStartSequence", e[e.InSpecialTag = 24] = "InSpecialTag", e[e.InPlainText = 25] = "InPlainText", e[e.InEntity = 26] = "InEntity";
|
|
603
|
-
})(
|
|
604
|
-
function
|
|
605
|
-
return e ===
|
|
603
|
+
})(D ||= {});
|
|
604
|
+
function O(e) {
|
|
605
|
+
return e === E.Space || e === E.NewLine || e === E.Tab || e === E.FormFeed || e === E.CarriageReturn;
|
|
606
606
|
}
|
|
607
|
-
function
|
|
608
|
-
return e ===
|
|
607
|
+
function k(e) {
|
|
608
|
+
return e === E.Slash || e === E.Gt || O(e);
|
|
609
609
|
}
|
|
610
|
-
function
|
|
611
|
-
return e >=
|
|
610
|
+
function Ge(e) {
|
|
611
|
+
return e >= E.LowerA && e <= E.LowerZ || e >= E.UpperA && e <= E.UpperZ;
|
|
612
612
|
}
|
|
613
|
-
var
|
|
613
|
+
var A;
|
|
614
614
|
(function(e) {
|
|
615
615
|
e[e.NoValue = 0] = "NoValue", e[e.Unquoted = 1] = "Unquoted", e[e.Single = 2] = "Single", e[e.Double = 3] = "Double";
|
|
616
|
-
})(
|
|
617
|
-
var
|
|
616
|
+
})(A ||= {});
|
|
617
|
+
var j = {
|
|
618
618
|
Empty: /* @__PURE__ */ new Uint8Array(),
|
|
619
619
|
Cdata: new Uint8Array([
|
|
620
620
|
67,
|
|
@@ -737,21 +737,21 @@ var M = {
|
|
|
737
737
|
109,
|
|
738
738
|
112
|
|
739
739
|
])
|
|
740
|
-
},
|
|
741
|
-
[
|
|
742
|
-
[
|
|
743
|
-
[
|
|
744
|
-
[
|
|
745
|
-
[
|
|
746
|
-
[
|
|
747
|
-
]),
|
|
740
|
+
}, Ke = /* @__PURE__ */ new Map([
|
|
741
|
+
[j.IframeEnd[2], j.IframeEnd],
|
|
742
|
+
[j.NoembedEnd[2], j.NoembedEnd],
|
|
743
|
+
[j.Plaintext[2], j.Plaintext],
|
|
744
|
+
[j.ScriptEnd[2], j.ScriptEnd],
|
|
745
|
+
[j.TitleEnd[2], j.TitleEnd],
|
|
746
|
+
[j.XmpEnd[2], j.XmpEnd]
|
|
747
|
+
]), qe = class {
|
|
748
748
|
cbs;
|
|
749
|
-
state =
|
|
749
|
+
state = D.Text;
|
|
750
750
|
buffer = "";
|
|
751
751
|
sectionStart = 0;
|
|
752
752
|
index = 0;
|
|
753
753
|
entityStart = 0;
|
|
754
|
-
baseState =
|
|
754
|
+
baseState = D.Text;
|
|
755
755
|
isSpecial = !1;
|
|
756
756
|
running = !0;
|
|
757
757
|
offset = 0;
|
|
@@ -760,10 +760,10 @@ var M = {
|
|
|
760
760
|
recognizeSelfClosing;
|
|
761
761
|
entityDecoder;
|
|
762
762
|
constructor({ xmlMode: e = !1, decodeEntities: t = !0, recognizeSelfClosing: n = e }, r) {
|
|
763
|
-
this.cbs = r, this.xmlMode = e, this.decodeEntities = t, this.recognizeSelfClosing = n, this.entityDecoder = new
|
|
763
|
+
this.cbs = r, this.xmlMode = e, this.decodeEntities = t, this.recognizeSelfClosing = n, this.entityDecoder = new Ue(e ? Re : Le, (e, t) => this.emitCodePoint(e, t));
|
|
764
764
|
}
|
|
765
765
|
reset() {
|
|
766
|
-
this.state =
|
|
766
|
+
this.state = D.Text, this.buffer = "", this.sectionStart = 0, this.index = 0, this.baseState = D.Text, this.isSpecial = !1, this.currentSequence = j.Empty, this.sequenceIndex = 0, this.running = !0, this.offset = 0;
|
|
767
767
|
}
|
|
768
768
|
write(e) {
|
|
769
769
|
this.offset += this.buffer.length, this.buffer = e, this.parse();
|
|
@@ -778,12 +778,12 @@ var M = {
|
|
|
778
778
|
this.running = !0, this.index < this.buffer.length + this.offset && this.parse();
|
|
779
779
|
}
|
|
780
780
|
stateText(e) {
|
|
781
|
-
e ===
|
|
781
|
+
e === E.Lt || !this.decodeEntities && this.fastForwardTo(E.Lt) ? (this.index > this.sectionStart && this.cbs.ontext(this.sectionStart, this.index), this.state = D.BeforeTagName, this.sectionStart = this.index) : this.decodeEntities && e === E.Amp && this.startEntity();
|
|
782
782
|
}
|
|
783
|
-
currentSequence =
|
|
783
|
+
currentSequence = j.Empty;
|
|
784
784
|
sequenceIndex = 0;
|
|
785
785
|
enterTagBody() {
|
|
786
|
-
this.currentSequence ===
|
|
786
|
+
this.currentSequence === j.Plaintext ? (this.currentSequence = j.Empty, this.state = D.InPlainText) : this.isSpecial ? (this.state = D.InSpecialTag, this.sequenceIndex = 0) : this.state = D.Text;
|
|
787
787
|
}
|
|
788
788
|
stateSpecialStartSequence(e) {
|
|
789
789
|
let t = e | 32;
|
|
@@ -793,43 +793,43 @@ var M = {
|
|
|
793
793
|
return;
|
|
794
794
|
}
|
|
795
795
|
if (this.sequenceIndex === 3) {
|
|
796
|
-
if (this.currentSequence ===
|
|
797
|
-
this.currentSequence =
|
|
796
|
+
if (this.currentSequence === j.ScriptEnd && t === j.StyleEnd[3]) {
|
|
797
|
+
this.currentSequence = j.StyleEnd, this.sequenceIndex = 4;
|
|
798
798
|
return;
|
|
799
799
|
}
|
|
800
|
-
if (this.currentSequence ===
|
|
801
|
-
this.currentSequence =
|
|
800
|
+
if (this.currentSequence === j.TitleEnd && t === j.TextareaEnd[3]) {
|
|
801
|
+
this.currentSequence = j.TextareaEnd, this.sequenceIndex = 4;
|
|
802
802
|
return;
|
|
803
803
|
}
|
|
804
|
-
} else if (this.sequenceIndex === 4 && this.currentSequence ===
|
|
805
|
-
this.currentSequence =
|
|
804
|
+
} else if (this.sequenceIndex === 4 && this.currentSequence === j.NoembedEnd && t === j.NoframesEnd[4]) {
|
|
805
|
+
this.currentSequence = j.NoframesEnd, this.sequenceIndex = 5;
|
|
806
806
|
return;
|
|
807
807
|
}
|
|
808
|
-
} else if (
|
|
809
|
-
this.sequenceIndex = 0, this.state =
|
|
808
|
+
} else if (k(e)) {
|
|
809
|
+
this.sequenceIndex = 0, this.state = D.InTagName, this.stateInTagName(e);
|
|
810
810
|
return;
|
|
811
811
|
}
|
|
812
|
-
this.isSpecial = !1, this.currentSequence =
|
|
812
|
+
this.isSpecial = !1, this.currentSequence = j.Empty, this.sequenceIndex = 0, this.state = D.InTagName, this.stateInTagName(e);
|
|
813
813
|
}
|
|
814
814
|
stateCDATASequence(e) {
|
|
815
|
-
e ===
|
|
815
|
+
e === j.Cdata[this.sequenceIndex] ? ++this.sequenceIndex === j.Cdata.length && (this.state = D.InCommentLike, this.currentSequence = j.CdataEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.sequenceIndex = 0, this.xmlMode ? (this.state = D.InDeclaration, this.stateInDeclaration(e)) : (this.state = D.InSpecialComment, this.stateInSpecialComment(e)));
|
|
816
816
|
}
|
|
817
817
|
fastForwardTo(e) {
|
|
818
818
|
for (; ++this.index < this.buffer.length + this.offset;) if (this.buffer.charCodeAt(this.index - this.offset) === e) return !0;
|
|
819
819
|
return this.index = this.buffer.length + this.offset - 1, !1;
|
|
820
820
|
}
|
|
821
821
|
emitComment(e) {
|
|
822
|
-
this.cbs.oncomment(this.sectionStart, this.index, e), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state =
|
|
822
|
+
this.cbs.oncomment(this.sectionStart, this.index, e), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = D.Text;
|
|
823
823
|
}
|
|
824
824
|
stateInCommentLike(e) {
|
|
825
|
-
!this.xmlMode && this.currentSequence ===
|
|
825
|
+
!this.xmlMode && this.currentSequence === j.CommentEnd && this.sequenceIndex <= 1 && this.index === this.sectionStart + this.sequenceIndex && e === E.Gt ? this.emitComment(this.sequenceIndex) : this.currentSequence === j.CommentEnd && this.sequenceIndex === 2 && e === E.Gt ? this.emitComment(2) : this.currentSequence === j.CommentEnd && this.sequenceIndex === this.currentSequence.length - 1 && e !== E.Gt ? this.sequenceIndex = Number(e === E.Dash) : e === this.currentSequence[this.sequenceIndex] ? ++this.sequenceIndex === this.currentSequence.length && (this.currentSequence === j.CdataEnd ? this.cbs.oncdata(this.sectionStart, this.index, 2) : this.cbs.oncomment(this.sectionStart, this.index, 3), this.sequenceIndex = 0, this.sectionStart = this.index + 1, this.state = D.Text) : this.sequenceIndex === 0 ? this.fastForwardTo(this.currentSequence[0]) && (this.sequenceIndex = 1) : e !== this.currentSequence[this.sequenceIndex - 1] && (this.sequenceIndex = 0);
|
|
826
826
|
}
|
|
827
827
|
isTagStartChar(e) {
|
|
828
|
-
return this.xmlMode ? !
|
|
828
|
+
return this.xmlMode ? !k(e) : Ge(e);
|
|
829
829
|
}
|
|
830
830
|
stateInSpecialTag(e) {
|
|
831
831
|
if (this.sequenceIndex === this.currentSequence.length) {
|
|
832
|
-
if (
|
|
832
|
+
if (k(e)) {
|
|
833
833
|
let t = this.index - this.currentSequence.length;
|
|
834
834
|
if (this.sectionStart < t) {
|
|
835
835
|
let e = this.index;
|
|
@@ -840,88 +840,88 @@ var M = {
|
|
|
840
840
|
}
|
|
841
841
|
this.sequenceIndex = 0;
|
|
842
842
|
}
|
|
843
|
-
(e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : this.sequenceIndex === 0 ? this.currentSequence ===
|
|
843
|
+
(e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : this.sequenceIndex === 0 ? this.currentSequence === j.TitleEnd || this.currentSequence === j.TextareaEnd ? this.decodeEntities && e === E.Amp && this.startEntity() : this.fastForwardTo(E.Lt) && (this.sequenceIndex = 1) : this.sequenceIndex = Number(e === E.Lt);
|
|
844
844
|
}
|
|
845
845
|
stateBeforeTagName(e) {
|
|
846
|
-
if (e ===
|
|
847
|
-
else if (e ===
|
|
846
|
+
if (e === E.ExclamationMark) this.state = D.BeforeDeclaration, this.sectionStart = this.index + 1;
|
|
847
|
+
else if (e === E.Questionmark) this.xmlMode ? (this.state = D.InProcessingInstruction, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : (this.state = D.InSpecialComment, this.sectionStart = this.index);
|
|
848
848
|
else if (this.isTagStartChar(e)) {
|
|
849
849
|
this.sectionStart = this.index;
|
|
850
|
-
let t = this.xmlMode || this.cbs.isInForeignContext?.() ? void 0 :
|
|
851
|
-
t === void 0 ? this.state =
|
|
852
|
-
} else e ===
|
|
850
|
+
let t = this.xmlMode || this.cbs.isInForeignContext?.() ? void 0 : Ke.get(e | 32);
|
|
851
|
+
t === void 0 ? this.state = D.InTagName : (this.isSpecial = !0, this.currentSequence = t, this.sequenceIndex = 3, this.state = D.SpecialStartSequence);
|
|
852
|
+
} else e === E.Slash ? this.state = D.BeforeClosingTagName : (this.state = D.Text, this.stateText(e));
|
|
853
853
|
}
|
|
854
854
|
stateInTagName(e) {
|
|
855
|
-
|
|
855
|
+
k(e) && (this.cbs.onopentagname(this.sectionStart, this.index), this.sectionStart = -1, this.state = D.BeforeAttributeName, this.stateBeforeAttributeName(e));
|
|
856
856
|
}
|
|
857
857
|
stateBeforeClosingTagName(e) {
|
|
858
|
-
|
|
858
|
+
O(e) ? this.xmlMode || (this.state = D.InSpecialComment, this.sectionStart = this.index) : e === E.Gt ? (this.state = D.Text, this.xmlMode || (this.sectionStart = this.index + 1)) : (this.state = this.isTagStartChar(e) ? D.InClosingTagName : D.InSpecialComment, this.sectionStart = this.index);
|
|
859
859
|
}
|
|
860
860
|
stateInClosingTagName(e) {
|
|
861
|
-
|
|
861
|
+
k(e) && (this.cbs.onclosetag(this.sectionStart, this.index), this.sectionStart = -1, this.state = D.AfterClosingTagName, this.stateAfterClosingTagName(e));
|
|
862
862
|
}
|
|
863
863
|
stateAfterClosingTagName(e) {
|
|
864
|
-
(e ===
|
|
864
|
+
(e === E.Gt || this.fastForwardTo(E.Gt)) && (this.state = D.Text, this.sectionStart = this.index + 1);
|
|
865
865
|
}
|
|
866
866
|
stateBeforeAttributeName(e) {
|
|
867
|
-
e ===
|
|
867
|
+
e === E.Gt ? (this.cbs.onopentagend(this.index), this.enterTagBody(), this.sectionStart = this.index + 1) : e === E.Slash ? this.state = D.InSelfClosingTag : O(e) || (this.state = D.InAttributeName, this.sectionStart = this.index);
|
|
868
868
|
}
|
|
869
869
|
stateInSelfClosingTag(e) {
|
|
870
|
-
if (e ===
|
|
870
|
+
if (e === E.Gt) {
|
|
871
871
|
if (this.cbs.onselfclosingtag(this.index), this.sectionStart = this.index + 1, !this.recognizeSelfClosing) {
|
|
872
872
|
this.enterTagBody();
|
|
873
873
|
return;
|
|
874
874
|
}
|
|
875
|
-
this.state =
|
|
876
|
-
} else
|
|
875
|
+
this.state = D.Text, this.isSpecial = !1, this.currentSequence = j.Empty;
|
|
876
|
+
} else O(e) || (this.state = D.BeforeAttributeName, this.stateBeforeAttributeName(e));
|
|
877
877
|
}
|
|
878
878
|
stateInAttributeName(e) {
|
|
879
|
-
(e ===
|
|
879
|
+
(e === E.Eq || k(e)) && (this.cbs.onattribname(this.sectionStart, this.index), this.sectionStart = this.index, this.state = D.AfterAttributeName, this.stateAfterAttributeName(e));
|
|
880
880
|
}
|
|
881
881
|
stateAfterAttributeName(e) {
|
|
882
|
-
e ===
|
|
882
|
+
e === E.Eq ? this.state = D.BeforeAttributeValue : e === E.Slash || e === E.Gt ? (this.cbs.onattribend(A.NoValue, this.sectionStart), this.sectionStart = -1, this.state = D.BeforeAttributeName, this.stateBeforeAttributeName(e)) : O(e) || (this.cbs.onattribend(A.NoValue, this.sectionStart), this.state = D.InAttributeName, this.sectionStart = this.index);
|
|
883
883
|
}
|
|
884
884
|
stateBeforeAttributeValue(e) {
|
|
885
|
-
e ===
|
|
885
|
+
e === E.DoubleQuote ? (this.state = D.InAttributeValueDq, this.sectionStart = this.index + 1) : e === E.SingleQuote ? (this.state = D.InAttributeValueSq, this.sectionStart = this.index + 1) : O(e) || (this.sectionStart = this.index, this.state = D.InAttributeValueNq, this.stateInAttributeValueNoQuotes(e));
|
|
886
886
|
}
|
|
887
887
|
handleInAttributeValue(e, t) {
|
|
888
|
-
e === t || !this.decodeEntities && this.fastForwardTo(t) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(t ===
|
|
888
|
+
e === t || !this.decodeEntities && this.fastForwardTo(t) ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(t === E.DoubleQuote ? A.Double : A.Single, this.index + 1), this.state = D.BeforeAttributeName) : this.decodeEntities && e === E.Amp && this.startEntity();
|
|
889
889
|
}
|
|
890
890
|
stateInAttributeValueDoubleQuotes(e) {
|
|
891
|
-
this.handleInAttributeValue(e,
|
|
891
|
+
this.handleInAttributeValue(e, E.DoubleQuote);
|
|
892
892
|
}
|
|
893
893
|
stateInAttributeValueSingleQuotes(e) {
|
|
894
|
-
this.handleInAttributeValue(e,
|
|
894
|
+
this.handleInAttributeValue(e, E.SingleQuote);
|
|
895
895
|
}
|
|
896
896
|
stateInAttributeValueNoQuotes(e) {
|
|
897
|
-
|
|
897
|
+
O(e) || e === E.Gt ? (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = -1, this.cbs.onattribend(A.Unquoted, this.index), this.state = D.BeforeAttributeName, this.stateBeforeAttributeName(e)) : this.decodeEntities && e === E.Amp && this.startEntity();
|
|
898
898
|
}
|
|
899
899
|
stateBeforeDeclaration(e) {
|
|
900
|
-
e ===
|
|
900
|
+
e === E.OpeningSquareBracket ? (this.state = D.CDATASequence, this.sequenceIndex = 0) : this.xmlMode ? this.state = e === E.Dash ? D.BeforeComment : D.InDeclaration : (e | 32) === j.Doctype[0] ? (this.state = D.DeclarationSequence, this.currentSequence = j.Doctype, this.sequenceIndex = 1) : e === E.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = D.Text, this.sectionStart = this.index + 1) : e === E.Dash ? this.state = D.BeforeComment : this.state = D.InSpecialComment;
|
|
901
901
|
}
|
|
902
902
|
stateDeclarationSequence(e) {
|
|
903
|
-
this.sequenceIndex === this.currentSequence.length ? (this.state =
|
|
903
|
+
this.sequenceIndex === this.currentSequence.length ? (this.state = D.InDeclaration, this.stateInDeclaration(e)) : (e | 32) === this.currentSequence[this.sequenceIndex] ? this.sequenceIndex += 1 : e === E.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = D.Text, this.sectionStart = this.index + 1) : this.state = D.InSpecialComment;
|
|
904
904
|
}
|
|
905
905
|
stateInDeclaration(e) {
|
|
906
|
-
(e ===
|
|
906
|
+
(e === E.Gt || this.fastForwardTo(E.Gt)) && (this.cbs.ondeclaration(this.sectionStart, this.index), this.state = D.Text, this.sectionStart = this.index + 1);
|
|
907
907
|
}
|
|
908
908
|
stateInProcessingInstruction(e) {
|
|
909
|
-
e ===
|
|
909
|
+
e === E.Questionmark ? this.sequenceIndex = 1 : e === E.Gt && this.sequenceIndex === 1 ? (this.cbs.onprocessinginstruction(this.sectionStart, this.index - 1), this.sequenceIndex = 0, this.state = D.Text, this.sectionStart = this.index + 1) : this.sequenceIndex = Number(this.fastForwardTo(E.Questionmark));
|
|
910
910
|
}
|
|
911
911
|
stateBeforeComment(e) {
|
|
912
|
-
e ===
|
|
912
|
+
e === E.Dash ? (this.state = D.InCommentLike, this.currentSequence = j.CommentEnd, this.sequenceIndex = 0, this.sectionStart = this.index + 1) : this.xmlMode ? this.state = D.InDeclaration : e === E.Gt ? (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = D.Text, this.sectionStart = this.index + 1) : this.state = D.InSpecialComment;
|
|
913
913
|
}
|
|
914
914
|
stateInSpecialComment(e) {
|
|
915
|
-
(e ===
|
|
915
|
+
(e === E.Gt || this.fastForwardTo(E.Gt)) && (this.cbs.oncomment(this.sectionStart, this.index, 0), this.state = D.Text, this.sectionStart = this.index + 1);
|
|
916
916
|
}
|
|
917
917
|
startEntity() {
|
|
918
|
-
this.baseState = this.state, this.state =
|
|
918
|
+
this.baseState = this.state, this.state = D.InEntity, this.entityStart = this.index, this.entityDecoder.startEntity(this.xmlMode ? T.Strict : this.baseState === D.Text || this.baseState === D.InSpecialTag ? T.Legacy : T.Attribute);
|
|
919
919
|
}
|
|
920
920
|
stateInEntity() {
|
|
921
921
|
let e = this.index - this.offset, t = this.entityDecoder.write(this.buffer, e);
|
|
922
922
|
if (t >= 0) this.state = this.baseState, t === 0 && --this.index;
|
|
923
923
|
else {
|
|
924
|
-
if (e < this.buffer.length && this.buffer.charCodeAt(e) ===
|
|
924
|
+
if (e < this.buffer.length && this.buffer.charCodeAt(e) === E.Amp) {
|
|
925
925
|
this.state = this.baseState, --this.index;
|
|
926
926
|
return;
|
|
927
927
|
}
|
|
@@ -929,7 +929,7 @@ var M = {
|
|
|
929
929
|
}
|
|
930
930
|
}
|
|
931
931
|
cleanup() {
|
|
932
|
-
this.running && this.sectionStart !== this.index && (this.state ===
|
|
932
|
+
this.running && this.sectionStart !== this.index && (this.state === D.Text || this.state === D.InPlainText || this.state === D.InSpecialTag && this.sequenceIndex === 0 ? (this.cbs.ontext(this.sectionStart, this.index), this.sectionStart = this.index) : (this.state === D.InAttributeValueDq || this.state === D.InAttributeValueSq || this.state === D.InAttributeValueNq) && (this.cbs.onattribdata(this.sectionStart, this.index), this.sectionStart = this.index));
|
|
933
933
|
}
|
|
934
934
|
shouldContinue() {
|
|
935
935
|
return this.index < this.buffer.length + this.offset && this.running;
|
|
@@ -938,82 +938,82 @@ var M = {
|
|
|
938
938
|
for (; this.shouldContinue();) {
|
|
939
939
|
let e = this.buffer.charCodeAt(this.index - this.offset);
|
|
940
940
|
switch (this.state) {
|
|
941
|
-
case
|
|
941
|
+
case D.Text:
|
|
942
942
|
this.stateText(e);
|
|
943
943
|
break;
|
|
944
|
-
case
|
|
944
|
+
case D.InPlainText:
|
|
945
945
|
this.index = this.buffer.length + this.offset - 1;
|
|
946
946
|
break;
|
|
947
|
-
case
|
|
947
|
+
case D.SpecialStartSequence:
|
|
948
948
|
this.stateSpecialStartSequence(e);
|
|
949
949
|
break;
|
|
950
|
-
case
|
|
950
|
+
case D.InSpecialTag:
|
|
951
951
|
this.stateInSpecialTag(e);
|
|
952
952
|
break;
|
|
953
|
-
case
|
|
953
|
+
case D.CDATASequence:
|
|
954
954
|
this.stateCDATASequence(e);
|
|
955
955
|
break;
|
|
956
|
-
case
|
|
956
|
+
case D.DeclarationSequence:
|
|
957
957
|
this.stateDeclarationSequence(e);
|
|
958
958
|
break;
|
|
959
|
-
case
|
|
959
|
+
case D.InAttributeValueDq:
|
|
960
960
|
this.stateInAttributeValueDoubleQuotes(e);
|
|
961
961
|
break;
|
|
962
|
-
case
|
|
962
|
+
case D.InAttributeName:
|
|
963
963
|
this.stateInAttributeName(e);
|
|
964
964
|
break;
|
|
965
|
-
case
|
|
965
|
+
case D.InCommentLike:
|
|
966
966
|
this.stateInCommentLike(e);
|
|
967
967
|
break;
|
|
968
|
-
case
|
|
968
|
+
case D.InSpecialComment:
|
|
969
969
|
this.stateInSpecialComment(e);
|
|
970
970
|
break;
|
|
971
|
-
case
|
|
971
|
+
case D.BeforeAttributeName:
|
|
972
972
|
this.stateBeforeAttributeName(e);
|
|
973
973
|
break;
|
|
974
|
-
case
|
|
974
|
+
case D.InTagName:
|
|
975
975
|
this.stateInTagName(e);
|
|
976
976
|
break;
|
|
977
|
-
case
|
|
977
|
+
case D.InClosingTagName:
|
|
978
978
|
this.stateInClosingTagName(e);
|
|
979
979
|
break;
|
|
980
|
-
case
|
|
980
|
+
case D.BeforeTagName:
|
|
981
981
|
this.stateBeforeTagName(e);
|
|
982
982
|
break;
|
|
983
|
-
case
|
|
983
|
+
case D.AfterAttributeName:
|
|
984
984
|
this.stateAfterAttributeName(e);
|
|
985
985
|
break;
|
|
986
|
-
case
|
|
986
|
+
case D.InAttributeValueSq:
|
|
987
987
|
this.stateInAttributeValueSingleQuotes(e);
|
|
988
988
|
break;
|
|
989
|
-
case
|
|
989
|
+
case D.BeforeAttributeValue:
|
|
990
990
|
this.stateBeforeAttributeValue(e);
|
|
991
991
|
break;
|
|
992
|
-
case
|
|
992
|
+
case D.BeforeClosingTagName:
|
|
993
993
|
this.stateBeforeClosingTagName(e);
|
|
994
994
|
break;
|
|
995
|
-
case
|
|
995
|
+
case D.AfterClosingTagName:
|
|
996
996
|
this.stateAfterClosingTagName(e);
|
|
997
997
|
break;
|
|
998
|
-
case
|
|
998
|
+
case D.InAttributeValueNq:
|
|
999
999
|
this.stateInAttributeValueNoQuotes(e);
|
|
1000
1000
|
break;
|
|
1001
|
-
case
|
|
1001
|
+
case D.InSelfClosingTag:
|
|
1002
1002
|
this.stateInSelfClosingTag(e);
|
|
1003
1003
|
break;
|
|
1004
|
-
case
|
|
1004
|
+
case D.InDeclaration:
|
|
1005
1005
|
this.stateInDeclaration(e);
|
|
1006
1006
|
break;
|
|
1007
|
-
case
|
|
1007
|
+
case D.BeforeDeclaration:
|
|
1008
1008
|
this.stateBeforeDeclaration(e);
|
|
1009
1009
|
break;
|
|
1010
|
-
case
|
|
1010
|
+
case D.BeforeComment:
|
|
1011
1011
|
this.stateBeforeComment(e);
|
|
1012
1012
|
break;
|
|
1013
|
-
case
|
|
1013
|
+
case D.InProcessingInstruction:
|
|
1014
1014
|
this.stateInProcessingInstruction(e);
|
|
1015
1015
|
break;
|
|
1016
|
-
case
|
|
1016
|
+
case D.InEntity:
|
|
1017
1017
|
this.stateInEntity();
|
|
1018
1018
|
break;
|
|
1019
1019
|
}
|
|
@@ -1022,59 +1022,59 @@ var M = {
|
|
|
1022
1022
|
this.cleanup();
|
|
1023
1023
|
}
|
|
1024
1024
|
finish() {
|
|
1025
|
-
this.state ===
|
|
1025
|
+
this.state === D.InEntity && (this.entityDecoder.end(), this.state = this.baseState), this.handleTrailingData(), this.cbs.onend();
|
|
1026
1026
|
}
|
|
1027
1027
|
handleTrailingCommentLikeData(e) {
|
|
1028
|
-
if (this.state !==
|
|
1029
|
-
if (this.currentSequence ===
|
|
1028
|
+
if (this.state !== D.InCommentLike) return !1;
|
|
1029
|
+
if (this.currentSequence === j.CdataEnd) if (this.xmlMode) this.sectionStart < e && this.cbs.oncdata(this.sectionStart, e, 0);
|
|
1030
1030
|
else {
|
|
1031
|
-
let t = this.sectionStart -
|
|
1031
|
+
let t = this.sectionStart - j.Cdata.length - 1;
|
|
1032
1032
|
this.cbs.oncomment(t, e, 0);
|
|
1033
1033
|
}
|
|
1034
1034
|
else {
|
|
1035
|
-
let t = this.xmlMode ? 0 : Math.min(this.sequenceIndex,
|
|
1035
|
+
let t = this.xmlMode ? 0 : Math.min(this.sequenceIndex, j.CommentEnd.length - 1);
|
|
1036
1036
|
this.cbs.oncomment(this.sectionStart, e, t);
|
|
1037
1037
|
}
|
|
1038
1038
|
return !0;
|
|
1039
1039
|
}
|
|
1040
1040
|
handleTrailingMarkupDeclaration(e) {
|
|
1041
1041
|
if (this.xmlMode) switch (this.state) {
|
|
1042
|
-
case
|
|
1043
|
-
case
|
|
1044
|
-
case
|
|
1045
|
-
case
|
|
1046
|
-
case
|
|
1042
|
+
case D.InSpecialComment:
|
|
1043
|
+
case D.BeforeComment:
|
|
1044
|
+
case D.CDATASequence:
|
|
1045
|
+
case D.DeclarationSequence:
|
|
1046
|
+
case D.InDeclaration: return this.cbs.ontext(this.sectionStart, e), !0;
|
|
1047
1047
|
default: return !1;
|
|
1048
1048
|
}
|
|
1049
1049
|
switch (this.state) {
|
|
1050
|
-
case
|
|
1051
|
-
case
|
|
1052
|
-
case
|
|
1053
|
-
case
|
|
1054
|
-
case
|
|
1055
|
-
case
|
|
1050
|
+
case D.BeforeDeclaration:
|
|
1051
|
+
case D.InSpecialComment:
|
|
1052
|
+
case D.BeforeComment:
|
|
1053
|
+
case D.CDATASequence: return this.cbs.oncomment(this.sectionStart, e, 0), !0;
|
|
1054
|
+
case D.DeclarationSequence: return this.sequenceIndex !== j.Doctype.length && this.cbs.oncomment(this.sectionStart, e, 0), !0;
|
|
1055
|
+
case D.InDeclaration: return !0;
|
|
1056
1056
|
default: return !1;
|
|
1057
1057
|
}
|
|
1058
1058
|
}
|
|
1059
1059
|
handleTrailingData() {
|
|
1060
1060
|
let e = this.buffer.length + this.offset;
|
|
1061
1061
|
if (!(this.handleTrailingCommentLikeData(e) || this.handleTrailingMarkupDeclaration(e)) && !(this.sectionStart >= e)) switch (this.state) {
|
|
1062
|
-
case
|
|
1063
|
-
case
|
|
1064
|
-
case
|
|
1065
|
-
case
|
|
1066
|
-
case
|
|
1067
|
-
case
|
|
1068
|
-
case
|
|
1069
|
-
case
|
|
1070
|
-
case
|
|
1062
|
+
case D.InTagName:
|
|
1063
|
+
case D.BeforeAttributeName:
|
|
1064
|
+
case D.BeforeAttributeValue:
|
|
1065
|
+
case D.AfterAttributeName:
|
|
1066
|
+
case D.InAttributeName:
|
|
1067
|
+
case D.InAttributeValueSq:
|
|
1068
|
+
case D.InAttributeValueDq:
|
|
1069
|
+
case D.InAttributeValueNq:
|
|
1070
|
+
case D.InClosingTagName: break;
|
|
1071
1071
|
default: this.cbs.ontext(this.sectionStart, e);
|
|
1072
1072
|
}
|
|
1073
1073
|
}
|
|
1074
1074
|
emitCodePoint(e, t) {
|
|
1075
|
-
this.baseState !==
|
|
1075
|
+
this.baseState !== D.Text && this.baseState !== D.InSpecialTag ? (this.sectionStart < this.entityStart && this.cbs.onattribdata(this.sectionStart, this.entityStart), this.sectionStart = this.entityStart + t, this.index = this.sectionStart - 1, this.cbs.onattribentity(e)) : (this.sectionStart < this.entityStart && this.cbs.ontext(this.sectionStart, this.entityStart), this.sectionStart = this.entityStart + t, this.index = this.sectionStart - 1, this.cbs.ontextentity(e, this.sectionStart));
|
|
1076
1076
|
}
|
|
1077
|
-
}, { fromCodePoint:
|
|
1077
|
+
}, { fromCodePoint: Je } = String, M = /* @__PURE__ */ new Set([
|
|
1078
1078
|
"input",
|
|
1079
1079
|
"option",
|
|
1080
1080
|
"optgroup",
|
|
@@ -1082,7 +1082,7 @@ var M = {
|
|
|
1082
1082
|
"button",
|
|
1083
1083
|
"datalist",
|
|
1084
1084
|
"textarea"
|
|
1085
|
-
]),
|
|
1085
|
+
]), N = /* @__PURE__ */ new Set(["p"]), P = /* @__PURE__ */ new Set([
|
|
1086
1086
|
"h1",
|
|
1087
1087
|
"h2",
|
|
1088
1088
|
"h3",
|
|
@@ -1090,7 +1090,7 @@ var M = {
|
|
|
1090
1090
|
"h5",
|
|
1091
1091
|
"h6",
|
|
1092
1092
|
"p"
|
|
1093
|
-
]),
|
|
1093
|
+
]), F = /* @__PURE__ */ new Set(["thead", "tbody"]), I = /* @__PURE__ */ new Set(["dd", "dt"]), L = /* @__PURE__ */ new Set(["rt", "rp"]), Ye = /* @__PURE__ */ new Map([
|
|
1094
1094
|
["tr", /* @__PURE__ */ new Set([
|
|
1095
1095
|
"tr",
|
|
1096
1096
|
"th",
|
|
@@ -1109,49 +1109,49 @@ var M = {
|
|
|
1109
1109
|
])],
|
|
1110
1110
|
["a", /* @__PURE__ */ new Set(["a"])],
|
|
1111
1111
|
["li", /* @__PURE__ */ new Set(["li"])],
|
|
1112
|
-
["p",
|
|
1113
|
-
["h1",
|
|
1114
|
-
["h2",
|
|
1115
|
-
["h3",
|
|
1116
|
-
["h4",
|
|
1117
|
-
["h5",
|
|
1118
|
-
["h6",
|
|
1119
|
-
["select",
|
|
1120
|
-
["input",
|
|
1121
|
-
["output",
|
|
1122
|
-
["button",
|
|
1123
|
-
["datalist",
|
|
1124
|
-
["textarea",
|
|
1112
|
+
["p", N],
|
|
1113
|
+
["h1", P],
|
|
1114
|
+
["h2", P],
|
|
1115
|
+
["h3", P],
|
|
1116
|
+
["h4", P],
|
|
1117
|
+
["h5", P],
|
|
1118
|
+
["h6", P],
|
|
1119
|
+
["select", M],
|
|
1120
|
+
["input", M],
|
|
1121
|
+
["output", M],
|
|
1122
|
+
["button", M],
|
|
1123
|
+
["datalist", M],
|
|
1124
|
+
["textarea", M],
|
|
1125
1125
|
["option", /* @__PURE__ */ new Set(["option"])],
|
|
1126
1126
|
["optgroup", /* @__PURE__ */ new Set(["optgroup", "option"])],
|
|
1127
|
-
["dd",
|
|
1128
|
-
["dt",
|
|
1129
|
-
["address",
|
|
1130
|
-
["article",
|
|
1131
|
-
["aside",
|
|
1132
|
-
["blockquote",
|
|
1133
|
-
["details",
|
|
1134
|
-
["div",
|
|
1135
|
-
["dl",
|
|
1136
|
-
["fieldset",
|
|
1137
|
-
["figcaption",
|
|
1138
|
-
["figure",
|
|
1139
|
-
["footer",
|
|
1140
|
-
["form",
|
|
1141
|
-
["header",
|
|
1142
|
-
["hr",
|
|
1143
|
-
["main",
|
|
1144
|
-
["nav",
|
|
1145
|
-
["ol",
|
|
1146
|
-
["pre",
|
|
1147
|
-
["section",
|
|
1148
|
-
["table",
|
|
1149
|
-
["ul",
|
|
1150
|
-
["rt",
|
|
1151
|
-
["rp",
|
|
1152
|
-
["tbody",
|
|
1153
|
-
["tfoot",
|
|
1154
|
-
]),
|
|
1127
|
+
["dd", I],
|
|
1128
|
+
["dt", I],
|
|
1129
|
+
["address", N],
|
|
1130
|
+
["article", N],
|
|
1131
|
+
["aside", N],
|
|
1132
|
+
["blockquote", N],
|
|
1133
|
+
["details", N],
|
|
1134
|
+
["div", N],
|
|
1135
|
+
["dl", N],
|
|
1136
|
+
["fieldset", N],
|
|
1137
|
+
["figcaption", N],
|
|
1138
|
+
["figure", N],
|
|
1139
|
+
["footer", N],
|
|
1140
|
+
["form", N],
|
|
1141
|
+
["header", N],
|
|
1142
|
+
["hr", N],
|
|
1143
|
+
["main", N],
|
|
1144
|
+
["nav", N],
|
|
1145
|
+
["ol", N],
|
|
1146
|
+
["pre", N],
|
|
1147
|
+
["section", N],
|
|
1148
|
+
["table", N],
|
|
1149
|
+
["ul", N],
|
|
1150
|
+
["rt", L],
|
|
1151
|
+
["rp", L],
|
|
1152
|
+
["tbody", F],
|
|
1153
|
+
["tfoot", F]
|
|
1154
|
+
]), Xe = "doctype", Ze = /* @__PURE__ */ new Set([
|
|
1155
1155
|
"area",
|
|
1156
1156
|
"base",
|
|
1157
1157
|
"basefont",
|
|
@@ -1171,7 +1171,7 @@ var M = {
|
|
|
1171
1171
|
"source",
|
|
1172
1172
|
"track",
|
|
1173
1173
|
"wbr"
|
|
1174
|
-
]),
|
|
1174
|
+
]), Qe = /* @__PURE__ */ new Set(["math", "svg"]), R = /* @__PURE__ */ new Set([
|
|
1175
1175
|
"mi",
|
|
1176
1176
|
"mo",
|
|
1177
1177
|
"mn",
|
|
@@ -1181,7 +1181,7 @@ var M = {
|
|
|
1181
1181
|
"foreignObject",
|
|
1182
1182
|
"desc",
|
|
1183
1183
|
"title"
|
|
1184
|
-
]),
|
|
1184
|
+
]), z = /* @__PURE__ */ new Map([
|
|
1185
1185
|
["altglyph", "altGlyph"],
|
|
1186
1186
|
["altglyphdef", "altGlyphDef"],
|
|
1187
1187
|
["altglyphitem", "altGlyphItem"],
|
|
@@ -1219,11 +1219,11 @@ var M = {
|
|
|
1219
1219
|
["lineargradient", "linearGradient"],
|
|
1220
1220
|
["radialgradient", "radialGradient"],
|
|
1221
1221
|
["textpath", "textPath"]
|
|
1222
|
-
]),
|
|
1222
|
+
]), B;
|
|
1223
1223
|
(function(e) {
|
|
1224
1224
|
e[e.None = 0] = "None", e[e.Svg = 1] = "Svg", e[e.MathML = 2] = "MathML";
|
|
1225
|
-
})(
|
|
1226
|
-
var
|
|
1225
|
+
})(B ||= {});
|
|
1226
|
+
var $e = /\s|\//, V = class {
|
|
1227
1227
|
options;
|
|
1228
1228
|
startIndex = 0;
|
|
1229
1229
|
endIndex = 0;
|
|
@@ -1245,27 +1245,27 @@ var Qe = /\s|\//, H = class {
|
|
|
1245
1245
|
writeIndex = 0;
|
|
1246
1246
|
ended = !1;
|
|
1247
1247
|
constructor(e, t = {}) {
|
|
1248
|
-
this.options = t, this.cbs = e ?? {}, this.htmlMode = !this.options.xmlMode, this.lowerCaseTagNames = t.lowerCaseTags ?? this.htmlMode, this.lowerCaseAttributeNames = t.lowerCaseAttributeNames ?? this.htmlMode, this.recognizeSelfClosing = t.recognizeSelfClosing ?? !this.htmlMode, this.tokenizer = new (t.Tokenizer ??
|
|
1248
|
+
this.options = t, this.cbs = e ?? {}, this.htmlMode = !this.options.xmlMode, this.lowerCaseTagNames = t.lowerCaseTags ?? this.htmlMode, this.lowerCaseAttributeNames = t.lowerCaseAttributeNames ?? this.htmlMode, this.recognizeSelfClosing = t.recognizeSelfClosing ?? !this.htmlMode, this.tokenizer = new (t.Tokenizer ?? qe)(this.options, this), this.foreignContext = [B.None], this.cbs.onparserinit?.(this);
|
|
1249
1249
|
}
|
|
1250
1250
|
ontext(e, t) {
|
|
1251
1251
|
let n = this.getSlice(e, t);
|
|
1252
1252
|
this.endIndex = t - 1, this.cbs.ontext?.(n), this.startIndex = t;
|
|
1253
1253
|
}
|
|
1254
1254
|
ontextentity(e, t) {
|
|
1255
|
-
this.endIndex = t - 1, this.cbs.ontext?.(
|
|
1255
|
+
this.endIndex = t - 1, this.cbs.ontext?.(Je(e)), this.startIndex = t;
|
|
1256
1256
|
}
|
|
1257
1257
|
isInForeignContext() {
|
|
1258
|
-
return this.foreignContext[0] !==
|
|
1258
|
+
return this.foreignContext[0] !== B.None;
|
|
1259
1259
|
}
|
|
1260
1260
|
isVoidElement(e) {
|
|
1261
|
-
return this.htmlMode &&
|
|
1261
|
+
return this.htmlMode && Ze.has(e);
|
|
1262
1262
|
}
|
|
1263
1263
|
readTagName(e, t) {
|
|
1264
1264
|
let n = this.lowerCaseTagNames ? this.getSlice(e, t).toLowerCase() : this.getSlice(e, t);
|
|
1265
1265
|
if (!(this.lowerCaseTagNames && this.htmlMode)) return n;
|
|
1266
|
-
if (this.foreignContext[0] ===
|
|
1266
|
+
if (this.foreignContext[0] === B.Svg) return z.get(n) ?? n;
|
|
1267
1267
|
if (this.foreignContext.length > 1) {
|
|
1268
|
-
let e =
|
|
1268
|
+
let e = z.get(n);
|
|
1269
1269
|
if (e !== void 0 && this.stack.includes(e)) return e;
|
|
1270
1270
|
}
|
|
1271
1271
|
return this.isInForeignContext() ? n : n === "image" ? "img" : n;
|
|
@@ -1278,9 +1278,9 @@ var Qe = /\s|\//, H = class {
|
|
|
1278
1278
|
this.tagname = "";
|
|
1279
1279
|
return;
|
|
1280
1280
|
}
|
|
1281
|
-
let t = this.htmlMode &&
|
|
1281
|
+
let t = this.htmlMode && Ye.get(e);
|
|
1282
1282
|
if (t) for (; this.stack.length > 0 && t.has(this.stack[0]);) this.popElement(!0);
|
|
1283
|
-
this.isVoidElement(e) || (this.stack.unshift(e), this.htmlMode && (e === "svg" ? this.foreignContext.unshift(
|
|
1283
|
+
this.isVoidElement(e) || (this.stack.unshift(e), this.htmlMode && (e === "svg" ? this.foreignContext.unshift(B.Svg) : e === "math" ? this.foreignContext.unshift(B.MathML) : R.has(e) && this.foreignContext.unshift(B.None))), this.cbs.onopentagname?.(e), this.cbs.onopentag && (this.attribs = {});
|
|
1284
1284
|
}
|
|
1285
1285
|
endOpenTag(e) {
|
|
1286
1286
|
this.startIndex = this.openTagStart, this.attribs &&= (this.cbs.onopentag?.(this.tagname, this.attribs, e), null), this.cbs.onclosetag && this.isVoidElement(this.tagname) && this.cbs.onclosetag(this.tagname, !0), this.tagname = "";
|
|
@@ -1306,7 +1306,7 @@ var Qe = /\s|\//, H = class {
|
|
|
1306
1306
|
}
|
|
1307
1307
|
popElement(e) {
|
|
1308
1308
|
let t = this.stack.shift();
|
|
1309
|
-
this.htmlMode && (
|
|
1309
|
+
this.htmlMode && (Qe.has(t) || R.has(t)) && this.foreignContext.shift(), this.cbs.onclosetag?.(t, e);
|
|
1310
1310
|
}
|
|
1311
1311
|
closeCurrentTag(e) {
|
|
1312
1312
|
let t = this.tagname;
|
|
@@ -1321,20 +1321,20 @@ var Qe = /\s|\//, H = class {
|
|
|
1321
1321
|
this.attribvalue += this.getSlice(e, t);
|
|
1322
1322
|
}
|
|
1323
1323
|
onattribentity(e) {
|
|
1324
|
-
this.attribvalue +=
|
|
1324
|
+
this.attribvalue += Je(e);
|
|
1325
1325
|
}
|
|
1326
1326
|
onattribend(e, t) {
|
|
1327
|
-
this.endIndex = t, this.cbs.onattribute?.(this.attribname, this.attribvalue, e ===
|
|
1327
|
+
this.endIndex = t, this.cbs.onattribute?.(this.attribname, this.attribvalue, e === A.Double ? "\"" : e === A.Single ? "'" : e === A.NoValue ? void 0 : null), this.attribs && !Object.hasOwn(this.attribs, this.attribname) && (this.attribs[this.attribname] = this.attribvalue), this.attribvalue = "";
|
|
1328
1328
|
}
|
|
1329
1329
|
getInstructionName(e) {
|
|
1330
|
-
let t = e.search(
|
|
1330
|
+
let t = e.search($e), n = t < 0 ? e : e.substr(0, t);
|
|
1331
1331
|
return this.lowerCaseTagNames && (n = n.toLowerCase()), n;
|
|
1332
1332
|
}
|
|
1333
1333
|
ondeclaration(e, t) {
|
|
1334
1334
|
this.endIndex = t;
|
|
1335
1335
|
let n = this.getSlice(e, t);
|
|
1336
1336
|
if (this.cbs.onprocessinginstruction) {
|
|
1337
|
-
let e = this.htmlMode ? this.lowerCaseTagNames ?
|
|
1337
|
+
let e = this.htmlMode ? this.lowerCaseTagNames ? Xe : n.slice(0, 7) : this.getInstructionName(n);
|
|
1338
1338
|
this.cbs.onprocessinginstruction(`!${e}`, `!${n}`);
|
|
1339
1339
|
}
|
|
1340
1340
|
this.startIndex = t + 1;
|
|
@@ -1364,7 +1364,7 @@ var Qe = /\s|\//, H = class {
|
|
|
1364
1364
|
this.cbs.onend?.();
|
|
1365
1365
|
}
|
|
1366
1366
|
reset() {
|
|
1367
|
-
this.cbs.onreset?.(), this.tokenizer.reset(), this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack.length = 0, this.startIndex = 0, this.endIndex = 0, this.cbs.onparserinit?.(this), this.buffers.length = 0, this.foreignContext.length = 0, this.foreignContext.unshift(
|
|
1367
|
+
this.cbs.onreset?.(), this.tokenizer.reset(), this.tagname = "", this.attribname = "", this.attribvalue = "", this.attribs = null, this.stack.length = 0, this.startIndex = 0, this.endIndex = 0, this.cbs.onparserinit?.(this), this.buffers.length = 0, this.foreignContext.length = 0, this.foreignContext.unshift(B.None), this.bufferOffset = 0, this.writeIndex = 0, this.ended = !1;
|
|
1368
1368
|
}
|
|
1369
1369
|
parseComplete(e) {
|
|
1370
1370
|
this.reset(), this.end(e);
|
|
@@ -1403,10 +1403,10 @@ var Qe = /\s|\//, H = class {
|
|
|
1403
1403
|
};
|
|
1404
1404
|
//#endregion
|
|
1405
1405
|
//#region ../quality/src/html-utils.ts
|
|
1406
|
-
function
|
|
1406
|
+
function H(e) {
|
|
1407
1407
|
let t = [], n = null, r = "", i = () => {
|
|
1408
1408
|
n !== null && (n.text = r.trim(), t.push(n), n = null, r = "");
|
|
1409
|
-
}, a = new
|
|
1409
|
+
}, a = new V({
|
|
1410
1410
|
onopentag(e, t) {
|
|
1411
1411
|
if (e === "a") {
|
|
1412
1412
|
i(), n = {
|
|
@@ -1429,8 +1429,8 @@ function U(e) {
|
|
|
1429
1429
|
});
|
|
1430
1430
|
return a.write(e), a.end(), i(), t;
|
|
1431
1431
|
}
|
|
1432
|
-
function
|
|
1433
|
-
let t =
|
|
1432
|
+
function et(e) {
|
|
1433
|
+
let t = tt(e).matchAll(/<\/?a\b[^<>]*>/gi), n = 0;
|
|
1434
1434
|
for (let e of t) {
|
|
1435
1435
|
if (e[0].startsWith("</")) {
|
|
1436
1436
|
n > 0 && n--;
|
|
@@ -1441,7 +1441,7 @@ function $e(e) {
|
|
|
1441
1441
|
}
|
|
1442
1442
|
return !1;
|
|
1443
1443
|
}
|
|
1444
|
-
function
|
|
1444
|
+
function tt(e) {
|
|
1445
1445
|
let t = "", n = 0;
|
|
1446
1446
|
for (; n < e.length;) {
|
|
1447
1447
|
let r = e.indexOf("<!--", n);
|
|
@@ -1456,38 +1456,38 @@ function et(e) {
|
|
|
1456
1456
|
}
|
|
1457
1457
|
return t;
|
|
1458
1458
|
}
|
|
1459
|
-
function
|
|
1460
|
-
let t = "", n = new
|
|
1459
|
+
function U(e) {
|
|
1460
|
+
let t = "", n = new V({ ontext(e) {
|
|
1461
1461
|
t += e;
|
|
1462
1462
|
} });
|
|
1463
1463
|
return n.write(e), n.end(), t.trim();
|
|
1464
1464
|
}
|
|
1465
|
-
var
|
|
1465
|
+
var nt = {
|
|
1466
1466
|
meta: {
|
|
1467
1467
|
id: "a11y.heading-empty",
|
|
1468
1468
|
severity: "error"
|
|
1469
1469
|
},
|
|
1470
1470
|
block(e) {
|
|
1471
|
-
return !
|
|
1471
|
+
return !i(e) || U(e.content ?? "") !== "" ? null : { blockId: e.id };
|
|
1472
1472
|
}
|
|
1473
|
-
},
|
|
1473
|
+
}, rt = {
|
|
1474
1474
|
id: "a11y.heading-skip-level",
|
|
1475
1475
|
severity: "error"
|
|
1476
1476
|
};
|
|
1477
|
-
function
|
|
1477
|
+
function W(e, t) {
|
|
1478
1478
|
for (let n of e) {
|
|
1479
|
-
if (
|
|
1479
|
+
if (i(n)) {
|
|
1480
1480
|
t.push(n);
|
|
1481
1481
|
continue;
|
|
1482
1482
|
}
|
|
1483
|
-
if (
|
|
1483
|
+
if (c(n)) for (let e of n.children) W(e, t);
|
|
1484
1484
|
}
|
|
1485
1485
|
}
|
|
1486
|
-
var
|
|
1487
|
-
meta:
|
|
1486
|
+
var it = {
|
|
1487
|
+
meta: rt,
|
|
1488
1488
|
template(e) {
|
|
1489
1489
|
let t = [];
|
|
1490
|
-
|
|
1490
|
+
W(e.blocks, t);
|
|
1491
1491
|
let n = [], r = 0;
|
|
1492
1492
|
for (let e of t) r !== 0 && e.level > r + 1 && n.push({
|
|
1493
1493
|
blockId: e.id,
|
|
@@ -1498,54 +1498,54 @@ var rt = {
|
|
|
1498
1498
|
}), r = e.level;
|
|
1499
1499
|
return n;
|
|
1500
1500
|
}
|
|
1501
|
-
},
|
|
1501
|
+
}, at = {
|
|
1502
1502
|
id: "a11y.heading-multiple-h1",
|
|
1503
1503
|
severity: "warning"
|
|
1504
1504
|
};
|
|
1505
|
-
function
|
|
1505
|
+
function G(e, t) {
|
|
1506
1506
|
for (let n of e) {
|
|
1507
|
-
if (
|
|
1507
|
+
if (i(n)) {
|
|
1508
1508
|
t.push(n);
|
|
1509
1509
|
continue;
|
|
1510
1510
|
}
|
|
1511
|
-
if (
|
|
1511
|
+
if (c(n)) for (let e of n.children) G(e, t);
|
|
1512
1512
|
}
|
|
1513
1513
|
}
|
|
1514
|
-
var
|
|
1515
|
-
meta:
|
|
1514
|
+
var ot = {
|
|
1515
|
+
meta: at,
|
|
1516
1516
|
template(e) {
|
|
1517
1517
|
let t = [];
|
|
1518
|
-
|
|
1518
|
+
G(e.blocks, t);
|
|
1519
1519
|
let n = t.filter((e) => e.level === 1);
|
|
1520
1520
|
return n.length <= 1 ? [] : n.slice(1).map((e) => ({ blockId: e.id }));
|
|
1521
1521
|
}
|
|
1522
|
-
},
|
|
1522
|
+
}, st = {
|
|
1523
1523
|
id: "a11y.link-empty",
|
|
1524
1524
|
severity: "error"
|
|
1525
1525
|
};
|
|
1526
|
-
function
|
|
1527
|
-
return
|
|
1526
|
+
function ct(e) {
|
|
1527
|
+
return o(e) || i(e) ? e.content : null;
|
|
1528
1528
|
}
|
|
1529
|
-
var
|
|
1530
|
-
meta:
|
|
1529
|
+
var lt = {
|
|
1530
|
+
meta: st,
|
|
1531
1531
|
block(e) {
|
|
1532
|
-
let t =
|
|
1533
|
-
return t === null || !
|
|
1532
|
+
let t = ct(e);
|
|
1533
|
+
return t === null || !H(t).find((e) => e.text === "" && !e.hasImageWithAlt) ? null : { blockId: e.id };
|
|
1534
1534
|
}
|
|
1535
|
-
},
|
|
1535
|
+
}, ut = {
|
|
1536
1536
|
id: "a11y.link-vague-text",
|
|
1537
1537
|
severity: "warning"
|
|
1538
1538
|
};
|
|
1539
|
-
function
|
|
1540
|
-
return
|
|
1539
|
+
function dt(e) {
|
|
1540
|
+
return o(e) || i(e) ? e.content : null;
|
|
1541
1541
|
}
|
|
1542
|
-
var
|
|
1543
|
-
meta:
|
|
1542
|
+
var ft = {
|
|
1543
|
+
meta: ut,
|
|
1544
1544
|
block(e, t, n) {
|
|
1545
|
-
let r =
|
|
1545
|
+
let r = dt(e);
|
|
1546
1546
|
if (r === null) return null;
|
|
1547
|
-
let i =
|
|
1548
|
-
let t =
|
|
1547
|
+
let i = _(n.locale).vagueLinkText, a = H(r).find((e) => {
|
|
1548
|
+
let t = y(e.text);
|
|
1549
1549
|
return t !== "" && i.includes(t);
|
|
1550
1550
|
});
|
|
1551
1551
|
return a ? {
|
|
@@ -1553,53 +1553,53 @@ var dt = {
|
|
|
1553
1553
|
params: { text: a.text }
|
|
1554
1554
|
} : null;
|
|
1555
1555
|
}
|
|
1556
|
-
},
|
|
1556
|
+
}, pt = {
|
|
1557
1557
|
id: "a11y.link-href-empty",
|
|
1558
1558
|
severity: "error"
|
|
1559
1559
|
};
|
|
1560
|
-
function
|
|
1561
|
-
return
|
|
1560
|
+
function mt(e) {
|
|
1561
|
+
return o(e) || i(e) ? e.content : null;
|
|
1562
1562
|
}
|
|
1563
|
-
var
|
|
1564
|
-
meta:
|
|
1563
|
+
var ht = {
|
|
1564
|
+
meta: pt,
|
|
1565
1565
|
block(e) {
|
|
1566
|
-
let t =
|
|
1567
|
-
return t === null || !
|
|
1566
|
+
let t = mt(e);
|
|
1567
|
+
return t === null || !H(t).find((e) => {
|
|
1568
1568
|
let t = e.href.trim();
|
|
1569
1569
|
return t === "" || t === "#";
|
|
1570
1570
|
}) ? null : { blockId: e.id };
|
|
1571
1571
|
}
|
|
1572
|
-
},
|
|
1572
|
+
}, gt = {
|
|
1573
1573
|
id: "a11y.link-target-blank-no-rel",
|
|
1574
1574
|
severity: "warning"
|
|
1575
1575
|
};
|
|
1576
|
-
function gt(e) {
|
|
1577
|
-
return n(e) || l(e) ? e.content : null;
|
|
1578
|
-
}
|
|
1579
1576
|
function _t(e) {
|
|
1577
|
+
return o(e) || i(e) ? e.content : null;
|
|
1578
|
+
}
|
|
1579
|
+
function vt(e) {
|
|
1580
1580
|
if (e === null) return !1;
|
|
1581
1581
|
let t = e.toLowerCase().split(/\s+/);
|
|
1582
1582
|
return t.includes("noopener") || t.includes("noreferrer");
|
|
1583
1583
|
}
|
|
1584
|
-
var
|
|
1585
|
-
meta:
|
|
1584
|
+
var yt = {
|
|
1585
|
+
meta: gt,
|
|
1586
1586
|
block(e) {
|
|
1587
|
-
let t =
|
|
1588
|
-
return t === null || !
|
|
1587
|
+
let t = _t(e);
|
|
1588
|
+
return t === null || !H(t).find((e) => e.target === "_blank" && !vt(e.rel)) ? null : {
|
|
1589
1589
|
blockId: e.id,
|
|
1590
1590
|
fix: {
|
|
1591
1591
|
description: "Add rel=\"noopener\"",
|
|
1592
1592
|
apply: (t) => {
|
|
1593
|
-
if (!
|
|
1594
|
-
let
|
|
1595
|
-
t.updateBlock(e.id, { content:
|
|
1593
|
+
if (!o(e) && !i(e)) return;
|
|
1594
|
+
let n = St(e.content ?? "");
|
|
1595
|
+
t.updateBlock(e.id, { content: n });
|
|
1596
1596
|
}
|
|
1597
1597
|
}
|
|
1598
1598
|
};
|
|
1599
1599
|
}
|
|
1600
|
-
},
|
|
1601
|
-
function
|
|
1602
|
-
let t = [], n = new RegExp(
|
|
1600
|
+
}, K = /([^\s"'>/=]+)(?:\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s"'=<>`]+)))?/g;
|
|
1601
|
+
function bt(e) {
|
|
1602
|
+
let t = [], n = new RegExp(K.source, K.flags), r;
|
|
1603
1603
|
for (; (r = n.exec(e)) !== null;) t.push({
|
|
1604
1604
|
raw: r[0],
|
|
1605
1605
|
name: r[1],
|
|
@@ -1608,13 +1608,13 @@ function yt(e) {
|
|
|
1608
1608
|
});
|
|
1609
1609
|
return t;
|
|
1610
1610
|
}
|
|
1611
|
-
function
|
|
1611
|
+
function xt(e) {
|
|
1612
1612
|
return e.some((e) => e.name.toLowerCase() === "target" && e.value !== null && e.value.toLowerCase() === "_blank");
|
|
1613
1613
|
}
|
|
1614
|
-
function
|
|
1614
|
+
function St(e) {
|
|
1615
1615
|
return e.replace(/<a\b([^>]*)>/gi, (e, t) => {
|
|
1616
|
-
let n =
|
|
1617
|
-
if (!
|
|
1616
|
+
let n = bt(t);
|
|
1617
|
+
if (!xt(n)) return e;
|
|
1618
1618
|
let r = n.find((e) => e.name.toLowerCase() === "rel");
|
|
1619
1619
|
if (r) {
|
|
1620
1620
|
let n = (r.value ?? "").toLowerCase().split(/\s+/);
|
|
@@ -1627,76 +1627,76 @@ function xt(e) {
|
|
|
1627
1627
|
}
|
|
1628
1628
|
//#endregion
|
|
1629
1629
|
//#region ../quality/src/accessibility/rules/link-nested-anchor.ts
|
|
1630
|
-
var
|
|
1630
|
+
var Ct = {
|
|
1631
1631
|
id: "a11y.link-nested-anchor",
|
|
1632
1632
|
severity: "error"
|
|
1633
1633
|
};
|
|
1634
|
-
function
|
|
1635
|
-
return
|
|
1634
|
+
function wt(e) {
|
|
1635
|
+
return o(e) || i(e) ? e.content : null;
|
|
1636
1636
|
}
|
|
1637
|
-
var
|
|
1638
|
-
meta:
|
|
1637
|
+
var Tt = {
|
|
1638
|
+
meta: Ct,
|
|
1639
1639
|
block(e) {
|
|
1640
|
-
let t =
|
|
1641
|
-
return t === null ||
|
|
1640
|
+
let t = wt(e);
|
|
1641
|
+
return t === null || !et(t) ? null : { blockId: e.id };
|
|
1642
1642
|
}
|
|
1643
|
-
},
|
|
1643
|
+
}, Et = {
|
|
1644
1644
|
meta: {
|
|
1645
1645
|
id: "a11y.text-all-caps",
|
|
1646
1646
|
severity: "warning"
|
|
1647
1647
|
},
|
|
1648
|
-
block(e, t,
|
|
1649
|
-
if (!
|
|
1650
|
-
let
|
|
1651
|
-
return
|
|
1648
|
+
block(e, t, n) {
|
|
1649
|
+
if (!o(e) && !i(e)) return null;
|
|
1650
|
+
let r = U(e.content ?? "").replace(/[^\p{L}]/gu, "");
|
|
1651
|
+
return r.length < n.thresholds.allCapsMinLength || r !== r.toLocaleUpperCase() ? null : { blockId: e.id };
|
|
1652
1652
|
}
|
|
1653
|
-
},
|
|
1653
|
+
}, Dt = {
|
|
1654
1654
|
meta: {
|
|
1655
1655
|
id: "a11y.text-low-contrast",
|
|
1656
1656
|
severity: "error"
|
|
1657
1657
|
},
|
|
1658
1658
|
block(e, t) {
|
|
1659
|
-
if (!
|
|
1659
|
+
if (!i(e)) return null;
|
|
1660
1660
|
let n = e.color ?? t.resolvedTextColor;
|
|
1661
|
-
if (!
|
|
1662
|
-
let r = ee[e.level] >= 24 ? 3 : 4.5,
|
|
1663
|
-
return Number.isNaN(
|
|
1661
|
+
if (!u(n) || !u(t.resolvedBackgroundColor)) return null;
|
|
1662
|
+
let r = ee[e.level] >= 24 ? 3 : 4.5, a = ae(n, t.resolvedBackgroundColor);
|
|
1663
|
+
return Number.isNaN(a) || a >= r ? null : {
|
|
1664
1664
|
blockId: e.id,
|
|
1665
1665
|
params: {
|
|
1666
|
-
ratio:
|
|
1666
|
+
ratio: a.toFixed(2),
|
|
1667
1667
|
required: r
|
|
1668
1668
|
}
|
|
1669
1669
|
};
|
|
1670
1670
|
}
|
|
1671
|
-
},
|
|
1671
|
+
}, Ot = {
|
|
1672
1672
|
id: "a11y.text-too-small",
|
|
1673
1673
|
severity: "warning"
|
|
1674
1674
|
};
|
|
1675
|
-
function
|
|
1676
|
-
return
|
|
1675
|
+
function kt(e) {
|
|
1676
|
+
return r(e) || ne(e) ? e.fontSize : null;
|
|
1677
1677
|
}
|
|
1678
1678
|
//#endregion
|
|
1679
1679
|
//#region ../quality/src/accessibility/index.ts
|
|
1680
|
-
var
|
|
1680
|
+
var q = [
|
|
1681
1681
|
xe,
|
|
1682
1682
|
we,
|
|
1683
1683
|
Te,
|
|
1684
1684
|
Ee,
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
wt,
|
|
1685
|
+
Pe,
|
|
1686
|
+
nt,
|
|
1687
|
+
it,
|
|
1688
|
+
ot,
|
|
1689
|
+
lt,
|
|
1690
|
+
ft,
|
|
1691
|
+
ht,
|
|
1692
|
+
yt,
|
|
1694
1693
|
Tt,
|
|
1695
1694
|
Et,
|
|
1695
|
+
Dt,
|
|
1696
1696
|
{
|
|
1697
|
-
meta:
|
|
1697
|
+
meta: Ot,
|
|
1698
1698
|
block(e, t, n) {
|
|
1699
|
-
let r =
|
|
1699
|
+
let r = kt(e);
|
|
1700
1700
|
return r === null || r >= n.thresholds.minFontSize ? null : {
|
|
1701
1701
|
blockId: e.id,
|
|
1702
1702
|
params: {
|
|
@@ -1712,9 +1712,9 @@ var kt = [
|
|
|
1712
1712
|
severity: "warning"
|
|
1713
1713
|
},
|
|
1714
1714
|
block(e, t, n) {
|
|
1715
|
-
if (!
|
|
1716
|
-
let
|
|
1717
|
-
return
|
|
1715
|
+
if (!a(e)) return null;
|
|
1716
|
+
let r = y(e.text ?? "");
|
|
1717
|
+
return r === "" || !_(n.locale).vagueButtonLabels.includes(r) ? null : {
|
|
1718
1718
|
blockId: e.id,
|
|
1719
1719
|
params: { text: e.text }
|
|
1720
1720
|
};
|
|
@@ -1726,14 +1726,14 @@ var kt = [
|
|
|
1726
1726
|
severity: "warning"
|
|
1727
1727
|
},
|
|
1728
1728
|
block(e, t, n) {
|
|
1729
|
-
if (!
|
|
1730
|
-
let
|
|
1731
|
-
if (!
|
|
1732
|
-
let
|
|
1733
|
-
return
|
|
1729
|
+
if (!a(e)) return null;
|
|
1730
|
+
let r = e.buttonPadding;
|
|
1731
|
+
if (!r) return null;
|
|
1732
|
+
let i = e.fontSize * 1.4 + r.top + r.bottom;
|
|
1733
|
+
return i >= n.thresholds.minTouchTargetPx ? null : {
|
|
1734
1734
|
blockId: e.id,
|
|
1735
1735
|
params: {
|
|
1736
|
-
height: Math.round(
|
|
1736
|
+
height: Math.round(i),
|
|
1737
1737
|
min: n.thresholds.minTouchTargetPx
|
|
1738
1738
|
}
|
|
1739
1739
|
};
|
|
@@ -1745,8 +1745,8 @@ var kt = [
|
|
|
1745
1745
|
severity: "error"
|
|
1746
1746
|
},
|
|
1747
1747
|
block(e) {
|
|
1748
|
-
if (!
|
|
1749
|
-
let t =
|
|
1748
|
+
if (!a(e)) return null;
|
|
1749
|
+
let t = ae(e.textColor, e.backgroundColor);
|
|
1750
1750
|
if (Number.isNaN(t)) return null;
|
|
1751
1751
|
let n = e.fontSize >= 24 ? 3 : 4.5;
|
|
1752
1752
|
return t >= n ? null : {
|
|
@@ -1769,7 +1769,7 @@ var kt = [
|
|
|
1769
1769
|
}
|
|
1770
1770
|
];
|
|
1771
1771
|
function At(e, t = {}) {
|
|
1772
|
-
return t.disabled === !0 || t.accessibility === !1 ? [] : p(e,
|
|
1772
|
+
return t.disabled === !0 || t.accessibility === !1 ? [] : p(e, q, fe(t.locale, t.accessibility ?? {}, q), (e, t, n) => be(e, t, n));
|
|
1773
1773
|
}
|
|
1774
1774
|
//#endregion
|
|
1775
1775
|
//#region ../quality/src/structure/messages/de.ts
|
|
@@ -1811,14 +1811,14 @@ var Lt = {
|
|
|
1811
1811
|
id: "structure.duplicate-block-id",
|
|
1812
1812
|
severity: "error"
|
|
1813
1813
|
};
|
|
1814
|
-
function
|
|
1815
|
-
for (let n of e) if (t.set(n.id, (t.get(n.id) ?? 0) + 1),
|
|
1814
|
+
function Rt(e, t) {
|
|
1815
|
+
for (let n of e) if (t.set(n.id, (t.get(n.id) ?? 0) + 1), c(n)) for (let e of n.children) Rt(e, t);
|
|
1816
1816
|
}
|
|
1817
|
-
var
|
|
1817
|
+
var zt = {
|
|
1818
1818
|
meta: Lt,
|
|
1819
1819
|
template(e) {
|
|
1820
1820
|
let t = /* @__PURE__ */ new Map();
|
|
1821
|
-
|
|
1821
|
+
Rt(e.blocks, t);
|
|
1822
1822
|
let n = [];
|
|
1823
1823
|
for (let [e, r] of t) r > 1 && n.push({
|
|
1824
1824
|
blockId: e,
|
|
@@ -1826,13 +1826,13 @@ var Rt = {
|
|
|
1826
1826
|
});
|
|
1827
1827
|
return n;
|
|
1828
1828
|
}
|
|
1829
|
-
},
|
|
1829
|
+
}, Bt = {
|
|
1830
1830
|
id: "structure.empty-column",
|
|
1831
1831
|
severity: "warning"
|
|
1832
1832
|
};
|
|
1833
|
-
function
|
|
1833
|
+
function X(e, t) {
|
|
1834
1834
|
for (let n of e) {
|
|
1835
|
-
if (!
|
|
1835
|
+
if (!c(n)) continue;
|
|
1836
1836
|
let e = n;
|
|
1837
1837
|
e.children.length > 1 && e.children.forEach((n, r) => {
|
|
1838
1838
|
n.length === 0 && t.push({
|
|
@@ -1840,14 +1840,14 @@ function Bt(e, t) {
|
|
|
1840
1840
|
params: { columnIndex: r + 1 }
|
|
1841
1841
|
});
|
|
1842
1842
|
});
|
|
1843
|
-
for (let n of e.children)
|
|
1843
|
+
for (let n of e.children) X(n, t);
|
|
1844
1844
|
}
|
|
1845
1845
|
}
|
|
1846
1846
|
var Vt = {
|
|
1847
|
-
meta:
|
|
1847
|
+
meta: Bt,
|
|
1848
1848
|
template(e) {
|
|
1849
1849
|
let t = [];
|
|
1850
|
-
return
|
|
1850
|
+
return X(e.blocks, t), t;
|
|
1851
1851
|
}
|
|
1852
1852
|
}, Ht = {
|
|
1853
1853
|
id: "structure.empty-section",
|
|
@@ -1859,7 +1859,7 @@ function Ut(e) {
|
|
|
1859
1859
|
var Wt = {
|
|
1860
1860
|
meta: Ht,
|
|
1861
1861
|
block(e) {
|
|
1862
|
-
if (!
|
|
1862
|
+
if (!c(e)) return null;
|
|
1863
1863
|
let t = e;
|
|
1864
1864
|
return Ut(t) ? {
|
|
1865
1865
|
blockId: t.id,
|
|
@@ -1877,7 +1877,7 @@ var Wt = {
|
|
|
1877
1877
|
severity: "error"
|
|
1878
1878
|
},
|
|
1879
1879
|
block(e, t) {
|
|
1880
|
-
return !
|
|
1880
|
+
return !c(e) || t.section === null ? null : {
|
|
1881
1881
|
blockId: e.id,
|
|
1882
1882
|
params: { parentId: t.section.id }
|
|
1883
1883
|
};
|
|
@@ -1892,14 +1892,14 @@ function qt(e) {
|
|
|
1892
1892
|
//#endregion
|
|
1893
1893
|
//#region ../quality/src/structure/index.ts
|
|
1894
1894
|
var Jt = [
|
|
1895
|
-
|
|
1895
|
+
zt,
|
|
1896
1896
|
Wt,
|
|
1897
1897
|
Vt,
|
|
1898
1898
|
Gt,
|
|
1899
1899
|
{
|
|
1900
1900
|
meta: Kt,
|
|
1901
1901
|
block(e) {
|
|
1902
|
-
if (!
|
|
1902
|
+
if (!c(e)) return null;
|
|
1903
1903
|
let t = e, n = qt(t.columns), r = t.children.length;
|
|
1904
1904
|
return r === n ? null : {
|
|
1905
1905
|
blockId: t.id,
|
|
@@ -1952,10 +1952,10 @@ function tn(e, t, n) {
|
|
|
1952
1952
|
//#endregion
|
|
1953
1953
|
//#region ../quality/src/url-walker.ts
|
|
1954
1954
|
function $(e) {
|
|
1955
|
-
let
|
|
1956
|
-
return
|
|
1957
|
-
if (
|
|
1958
|
-
for (let t of
|
|
1955
|
+
let c = [];
|
|
1956
|
+
return f(e, (e) => {
|
|
1957
|
+
if (i(e) || o(e) || t(e)) {
|
|
1958
|
+
for (let t of H(e.content)) c.push({
|
|
1959
1959
|
url: t.href,
|
|
1960
1960
|
blockId: e.id,
|
|
1961
1961
|
source: "anchor",
|
|
@@ -1963,8 +1963,8 @@ function $(e) {
|
|
|
1963
1963
|
});
|
|
1964
1964
|
return;
|
|
1965
1965
|
}
|
|
1966
|
-
if (
|
|
1967
|
-
|
|
1966
|
+
if (a(e)) {
|
|
1967
|
+
c.push({
|
|
1968
1968
|
url: e.url,
|
|
1969
1969
|
blockId: e.id,
|
|
1970
1970
|
source: "button",
|
|
@@ -1972,8 +1972,8 @@ function $(e) {
|
|
|
1972
1972
|
});
|
|
1973
1973
|
return;
|
|
1974
1974
|
}
|
|
1975
|
-
if (
|
|
1976
|
-
e.linkUrl && e.linkUrl !== "" &&
|
|
1975
|
+
if (s(e)) {
|
|
1976
|
+
e.linkUrl && e.linkUrl !== "" && c.push({
|
|
1977
1977
|
url: e.linkUrl,
|
|
1978
1978
|
blockId: e.id,
|
|
1979
1979
|
source: "image-link",
|
|
@@ -1981,8 +1981,8 @@ function $(e) {
|
|
|
1981
1981
|
});
|
|
1982
1982
|
return;
|
|
1983
1983
|
}
|
|
1984
|
-
if (
|
|
1985
|
-
|
|
1984
|
+
if (te(e)) {
|
|
1985
|
+
c.push({
|
|
1986
1986
|
url: e.url,
|
|
1987
1987
|
blockId: e.id,
|
|
1988
1988
|
source: "video",
|
|
@@ -1990,8 +1990,8 @@ function $(e) {
|
|
|
1990
1990
|
});
|
|
1991
1991
|
return;
|
|
1992
1992
|
}
|
|
1993
|
-
if (
|
|
1994
|
-
for (let t of e.items)
|
|
1993
|
+
if (r(e)) {
|
|
1994
|
+
for (let t of e.items) c.push({
|
|
1995
1995
|
url: t.url,
|
|
1996
1996
|
blockId: e.id,
|
|
1997
1997
|
source: "menu-item",
|
|
@@ -1999,8 +1999,8 @@ function $(e) {
|
|
|
1999
1999
|
});
|
|
2000
2000
|
return;
|
|
2001
2001
|
}
|
|
2002
|
-
if (
|
|
2003
|
-
for (let t of e.icons)
|
|
2002
|
+
if (n(e)) {
|
|
2003
|
+
for (let t of e.icons) c.push({
|
|
2004
2004
|
url: t.url,
|
|
2005
2005
|
blockId: e.id,
|
|
2006
2006
|
source: "social-icon",
|
|
@@ -2008,7 +2008,7 @@ function $(e) {
|
|
|
2008
2008
|
});
|
|
2009
2009
|
return;
|
|
2010
2010
|
}
|
|
2011
|
-
}),
|
|
2011
|
+
}), c;
|
|
2012
2012
|
}
|
|
2013
2013
|
//#endregion
|
|
2014
2014
|
//#region ../quality/src/links/rules/javascript-protocol.ts
|
|
@@ -2177,4 +2177,4 @@ var Dn = /* @__PURE__ */ e({ lintTemplate: () => En });
|
|
|
2177
2177
|
//#endregion
|
|
2178
2178
|
export { Dn as t };
|
|
2179
2179
|
|
|
2180
|
-
//# sourceMappingURL=quality-
|
|
2180
|
+
//# sourceMappingURL=quality-A_V2Iqu_.js.map
|